O PLC H5U da Sinamics oferece uma estrutura de programa bastante completa e de fácil entendimento, especialmente útil para o controle de servomotores através da interface EtherCAT. Esta solução é altamente competitiva em termos de custo-benefício, especialmente quando se trata de sistemas que utilizam servomotores em rede.
A seguir, apresentaremos uma estrutura básica de programa para o PLC H5U, que pode ser adaptada para diversos outros modelos de PLCs da indústria, como os da Mitsubishi, Delta, Yonghong e Shinje.
Controle de Cilindros
Os cilindros pneumáticos são componentes essenciais em muitos sistemas automatizados. A estrutura de programa inclui funcionalidades para estender, retrair e acionar alarmes nos cilindros.
// Lógica para estender o cilindro
SE (Sinal_Iniciar_Extensao) ENTÃO
Comando_Cilindro := 1; // 1 indica extensão do cilindro
Flag_Alarme := 0; // Limpa a flag de alarme
FIM_SE
// Lógica para retrair o cilindro
SE (Sinal_Iniciar_Retração) ENTÃO
Comando_Cilindro := 0; // 0 indica retração do cilindro
Flag_Alarme := 0;
FIM_SE
// Lógica de alarme para cilindros
SE (Sensor_Abnormalidade) ENTÃO
Flag_Alarme := 1; // Ativa a flag de alarme
Comando_Cilindro := 0; // Retração do cilindro em caso de falha
FIM_SE
Controle de Eixos
O controle de eixos é crucial para muitos sistemas de automação. Este exemplo abrange várias funções importantes, incluindo comunicação, inicialização, ativação, jog, posicionamento absoluto, pressionamanto, alarmes, reset de falhas, paradas, paradas de emergência, retorno à origem, ensaios de posições e configuração de velocidades iniciais.
Comunicação e Inicialização
// Lógica de inicialização de comunicação
SE (Comunicação_Iniciada_Com_Sucesso) ENTÃO
Status_Comunicacao_Eixo := 1; // Define status de comunicação como sucesso
FIM_SE
// Lógica de inicialização pronta
SE (Status_Comunicacao_Eixo = 1 E Hardware_Eixo_Inicializado) ENTÃO
Eixo_Pronto := 1; // Define eixo como pronto
FIM_SE
Ativação e Jog
// Lógica de ativação do eixo
SE (Sinal_Ativar E Eixo_Pronto) ENTÃO
Eixo_Ativado := 1; // Ativa o eixo
FIM_SE
// Lógica de jog positivo
SE (Sinal_Jog_Positivo E Eixo_Ativado) ENTÃO
Velocidade_Eixo := Velocidade_Jog; // Define a velocidade de jog
Direcao_Eixo := 1; // Movimenta para frente
FIM_SE
// Lógica de jog negativo
SE (Sinal_Jog_Negativo E Eixo_Ativado) ENTÃO
Velocidade_Eixo := -Velocidade_Jog; // Define a velocidade de jog inversa
Direcao_Eixo := 0; // Movimenta para trás
FIM_SE
Posicionamento Absoluto e Outras Funções
// Lógica de posicionamento absoluto
SE (Posicao_Absoluta_Definida E Eixo_Ativado) ENTÃO
Mover_Eixo_Para(Posicao_Absoluta); // Move o eixo para a posição definida
FIM_SE
// Lógica de pressionamento (supondo relação com posição do eixo)
SE (Posicao_Eixo >= Posicao_Inicio_Pressao E Posicao_Eixo <= Posicao_Fim_Pressao) ENTÃO
Comando_Pressionamento := 1; // Aciona o pressionamento
FIM_SE
// Lógica de alarme
SE (Sensor_Erro_Eixo) ENTÃO
Alarme_Eixo := 1; // Ativa alarme no eixo
Eixo_Ativado := 0; // Desativa o eixo em caso de erro
FIM_SE
A estrutura de programa para o PLC H5U da Sinamics é bem organizada e claramente documentada, tornando-a uma excelente referência tanto para iniciantes quanto para engenheiros experientes. Além disso, ela pode ser facilmente adaptada para outros modelos de PLCs da indústria, proporcionando um ponto de partida sólido para a criação de sistemas de automação eficientes.