Recentemente, durante o desenvolvimento de um sistema de controle para equipamento de embalagem, implementei uma solução de corte rastreador utilizando o PLC Siemens Smart200. Neste artigo, compartilho uma solução de controle de corte com velocidade variável, implementada diretamente no PLC, com monitoramento através de uma tela touch Wielan. A solução foi testada com motores passo a passo e está pronta para integração com servomotores.
A configuração básica do hardware utiliza o módulo ST40 do Smart200, equipado com duas saídas de pulsos de alta velocidade de 100kHz. A saída Q0.0 está conectada ao driver do servomotor para sinal de pulsos, enquanto a entrada I0.0 recebe o feedback do encoder rotativo. É importante ressaltar que o sinal do encoder deve ser processado por um conversor diferencial para evitar interferências - um problema que enfrentei inicialmente com sensores NPN padrão.
O algoritmo central baseia-se no ajuste dinâmico da frequência dos pulsos para manter a sincronização. A seguir, apresetno o código fundamental para o cálculo da velocidade:
// Cálculo da velocidade para corte rastreador
LD SM0.0
MOVW MD100, MW200 // Velocidade linear do material
MOVW MW200, MW202
-I MD110, MW202 // Diferença de fase atual
*R 0.5, MD202 // Coeficiente proporcional
MOVR MD202, MD204 // Correção de velocidade dinâmica
+R MD100, MD204 // Frequência de saída resultante
MOVR MD204, AQW0 // Saída de pulsos
Este código implementa uma compensação de velocidade dinâmica. MD100 contém a velocidade base do material, enquanto MD110 recebe a diferença de posição real do encoder. O ajuste da frequência de saída utiliza uma simplificação do algoritmo PID, onde o coeficiente proporcional deve ser ajustado conforme a inércia mecânica do sistema, recomendando-se iniciar com 0.3.
A sincronização de posição é o elemento crucial do sistema de corte rastreador. Utilizamos o contador de alta velocidade HSC0 para capturar os sinais do encoder, combinado com interrupções para correções em tempo real:
// Inicialização do contador de alta velocidade
HDEF 0, 9 // Modo 9 (fase A/B quadratura)
HSC 0 // Habilitar HSC0
// Associação de interrupção
ATCH INT_POSICAO:INT0, 12 // Disparar quando valor atual = valor pré-definido
ENI // Habilitar interrupções
// Programa de interrupção INT0
LD SM0.0
MOVD HC0, MD300 // Registrar valor atual do contador
MOVD MD304, SMD38 // Atualizar valor de comparação
HSC 0 // Recarregar configuração
A estratégia utilizada é a contagem circular, onde a interrupção é disparada sempre que o valor pré-definido é atingido, atualizando os parâmetros. O valor MD304 deve ser calculado com base no perímetro do modelo de corte - por exemplo, para um diâmetro de 200mm, o valor seria 628 (200*π) considerando o equivalente em pulsos.
Para o monitoramento na tela touch Weilan, crie uma tela com gráficos em tempo real vinculados a MD100 (velocidade definida) e MD204 (saída atual), além de uma janela de alarme para diferenças de fase. É fundamental ajustar o intervalo de comunicação para menos de 100ms para evitar atrasos na atualização dos dados.
Durante a fase de teste, concentre-se nos seguintes pontos críticos:
- Verificar se a variação da diferença de fase está dentro de ±5 pulsos em velocidades de 200mm/s
- Avaliar se há superação (overshoot) durante paradas bruscas (acima de 20 pulsos requer redução do coeficiante proporcional)
- Confirmar a ausência de erro acumulado após operação contínua por 1 hora
Um problema peculiar que enfrentei foi o tremor ocasional do servomotor após a habilitação. A solução foi islar o sinal de habilitação do PLC ao servomotor através de um relé, reforçando a importância de separar os cabos de sinais fracos e fortes.
Embora esta solução seja uma estrutura básica, ajustes nos parâmetros permitem sua aplicação em 90% dos cenários de corte rastreador em esteiras planas. A próxima etapa é a otimização da curva de corte para transições mais suaves.