Está en la página 1de 17

Sistemas de Supervisão

Anderson Pereira

Pedro Henrique
Tema

Modelamento por Redes de Petri:


Controlador de Posicionamento de
Eixos em Máquinas CNC
Objetivo

 O objetivo da modelagem é de simular o


funcionamento do controlador de posicionamento
de uma máquina CNC de três eixos, levando em
consideração a instrução inicial (simulação da
programação G a partir de posições que
representem tais variáveis), os sensores e
encoders responsáveis pelo sinal de
realimentação do controle em malha fechada e o
acionamento dos servomotores, que realizam o
movimento dos eixos da máquina.
Objetivo

 Não serão modelados demais controles, como


velocidade de rotação, velocidade dos motores e
avanço incremental de usinagem. Segue-se como
padrão na simulação a interpolação linear, não
abordando assim as interpolações circulares e
coordenadas polares.
Funcionamento
 MODELAMENTO EM REDE DE PETRI COLORIDA (CPN
TOOLS)
 As redes de Petri coloridas possibilitam utilizar variáveis de
diversos tipos (cores). Essas variáveis funcionam como fichas
e podem influenciar funções, determinando limites e
sequências lógicas que melhor representem o funcionamento
da rede modelada.
 Para modelar uma máquina CNC de três eixos foram
utilizadas as variáveis, cores e funções da tabela 01. O
funcionamento de cada eixo é modelado individualmente,
mas de forma análoga entre si. Portanto, as variáveis e
funções para cada eixo são similares, diferenciando-se
apenas para determinar o eixo que as englobam.
Tabela de funcionamento (Variáveis,
cores e funções utilizadas na modelagem.)
Variáveis Eixo X Eixo Y Eixo Z Cor
Posição posicao_x posicao_y posicao_z INT
Pulsos do pulso_x pulso_y pulso_z INT
encoder

Quantidade de cont_puls_x cont_pulso_y cont_pulso_z INT


Pulsos
Distância do dist_x dist_y Dist_z INT
Percurso
Sentido Horário hor_x hor_y hor_z STRING
dos Servos
Sentido Anti- a_hor_x a_hor_y a_hor_z STRING
Horário dos
Servos
Desligar Servos des_x des_y des_z STRING
Atividade na maquinax maquinay maquinaz STRING
Máquina
Tabela de Configuração dos Eixos

Configuração dos Eixos


Atualizar Posição fun atu_x(dist_x,posicao_x)=if(dist_x>0) then(posicao_x+1)
else if(dist_x<0) then(posicao_x-1)
else (posicao_x);
Comparação fun comp_x(entrada,posicao_x)= entrada-posicao_x;

Definir Ação fun acao_x(hor_x,a_hor_x,des_x,dist_x)= if(dist_x>0)


then(hor_x)
else if(dist_x<0) then(a_hor_x)
else (des_x);
Definir Estado da fun estado_x(dist_x,final,ligado)= if(dist_x=0) then (final)
Máquina else (ligado);

Contar Pulsos do Fun incr_x(dist_x,pulso_x,cont_pulso_x)=if(dist_x>0)


encoder then(cont_pulso_x+pulso_x)
else if(dist_x<0) then(cont_pulso_x+pulso_x)
else (cont_pulso_x+0);
Processo de Set da Posição
 O processo de set da posição é feito utilizando as variáveis de
posição (posicao_x, posicao_y e posicao_z) e a atualização da
posição pela função de atualização (atu_x, atu_y e atu_z). A
representação dessa etapa pode ser observada nesta figura:

Figura 1: Set de posição inicial e atualização de posição


Seleção dos Eixos e das Posições
Desejadas.
 A etapa seguinte se dá pela seleção dos eixos e das posições
desejadas. Para tal utiliza-se um lugar com a cor “INICIO” do tipo inteiro
para as entradas (variável entrada) e um segundo estado com cor
“EIXO” do tipo string para definir os eixo de operação (variável eixo). O
valor da variável “entrada” se dá pelas fichas presentes no lugar
“Entrada de Dados” e a definição dos eixos pela limitação das transições
às strings que representam os três eixos(“x”, ”y” e ”z”). Tal seleção está
representada a seguir.
Transição “Definir Açao”

 Após a definição das entradas e da posição atual de cada eixo o


próximo passo é a comparação e consequentemente a definição
da ação a ser executada. Tal cálculo é feito pela função de
comparação (comp_x, comp_y e comp_z), que define se a
distância a ser percorrida (dist_x, dist_y e dist_z) é da esquerda
para direita (positiva), da direita para esquerda (negativa), ou se
o eixo já se encontra na posição desejada (nulo). Para cada
situação tem-se ações específicas relacionadas. Tais ações são
definidas pela função de ação (acao_x, acao_y e acao_z). A
parte da rede que modela esses processos pode ser visto na
figura a seguir.
Figura:Transição “Definir Açao”
Contagem de Pulsos do Encoder.

 O último estado a ser modelado e que está interligado


diretamente com o controle de movimento é a contagem dos
pulsos do encoder de cada eixo. A distância percorrida e a
quantidade de pulsos gerados pelo encoder estão ligados pela
relação 1/p. Ou seja, em um encoder de 2400 pulsos por
revolução, este número faz referência a 1mm de movimento do
eixo.
Contagem de Pulsos do Encoder.

 Na modelagem apresentada neste trabalho considera-se os


encoders com 2400 pulsos por revolução (1mm de percurso). As
funções responsáveis (incr_x, incr_y e incr_z) tem como
variáveis as distâncias restantes para as posições desejadas, a
quantidade de pulsos de cada encoder (pulso_x, pulso_y e
pulso_z) e o valor do contador (em relação à função de
incremento), dado pela variável “cont_pulso”. Para cada
atualiazação de posição são adicionados 2400 pulsos à
contagem no lugar “Quantidade de pulsos”, como representado
na figura 5.
Figura: Contagem de Pulsos do Encoder.
Conclusão

 Com esse trabalho pode-se analisar


individualmente cada eixo, levando em
consideração o princípio de funcionamento da
máquina CNC em uma interpolação linear.
 Observando o modelamento entende-se assim,
de forma mais clara, a sistemática e os princiais
fatores que influenciam o controle dessas
máquinas, tais como sinal de entrada, set de
posição, sinal dos encoders, entre outros.
Conclusão

 Além do sistema de controle de movimento,


poderia ainda ser explanado o sistema de
controle de velocidade de rotação e a
interpolação circular dos eixos, ficando tais
fatores como possíveis melhorias para uma
modelagem mais completa de um CNC.
FIM

También podría gustarte