AUTOMAÇÃO E PROGRAMAÇÃO DE CLPS
Programação de CLPs
Linguagens de Programação de CLPs
Introdução às Linguagens de Programação para CLPs: Ladder, Texto Estruturado e Blocos Funcionais
Os Controladores Lógicos Programáveis (CLPs) utilizam diversas linguagens de programação para desenvolver os programas que controlam processos industriais. As principais linguagens de programação para CLPs são a Ladder (LD), o Texto Estruturado (ST) e os Blocos Funcionais (FBD). Cada uma dessas linguagens oferece diferentes abordagens para resolver problemas de controle, e a escolha da linguagem pode depender da aplicação específica, da experiência do programador e das preferências do setor.
1. Ladder (LD):
o Descrição: A linguagem Ladder, também conhecida como Diagrama de Escada, é uma das linguagens mais antigas e amplamente utilizadas para programação de CLPs. Foi desenvolvida para ser similar aos esquemas elétricos tradicionais, facilitando a transição para técnicos e engenheiros eletricistas.
o Estrutura: Consiste em uma série de "degraus" que representam instruções de controle, conectados por "trilhos" verticais que simbolizam a alimentação elétrica. Cada degrau contém elementos como contatos, bobinas, temporizadores e contadores.
2. Texto Estruturado (ST):
o Descrição: O Texto Estruturado é uma linguagem de alto nível, similar a linguagens de programação convencionais como Pascal ou C. Permite a escrita de código estruturado e lógico utilizando instruções textuais.
o Estrutura: Utiliza blocos de código com variáveis, loops, condicionais e funções, permitindo a implementação de lógica complexa de forma clara e eficiente.
3. Blocos Funcionais (FBD):
o Descrição: A linguagem de Blocos Funcionais utiliza uma abordagem gráfica para a programação de CLPs, onde a lógica de controle é representada por blocos funcionais conectados por linhas que indicam o fluxo de dados.
o Estrutura: Cada bloco funcional realiza uma função específica (por exemplo, operações lógicas, aritméticas ou de temporização) e pode ser interligado a outros blocos para formar a lógica do controle.
Vantagens e Desvantagens de Cada Linguagem
1. Ladder (LD):
o Vantagens:
§ Facilidade de entendimento e uso para técnicos com formação em eletricidade e manutenção.
§ Boa visualização de processos sequenciais e lógica combinacional.
§ Amplamente suportada por diferentes fabricantes de CLPs.
o Desvantagens:
§ Pode se tornar complexa e difícil de manter em programas grandes e com lógica
complexa.
§ Menos eficiente para operações matemáticas avançadas e manipulação de dados.
2. Texto Estruturado (ST):
o Vantagens:
§ Flexibilidade e poder para desenvolver lógica complexa e algoritmos sofisticados.
§ Facilita a reutilização de código e a modularidade.
§ Adequado para programadores com experiência em linguagens de programação convencionais.
o Desvantagens:
§ Pode ser difícil de entender e depurar para técnicos sem formação em programação.
§ Menos intuitivo para visualizar processos sequenciais e lógicas simples.
3. Blocos Funcionais (FBD):
o Vantagens:
§ Interface gráfica intuitiva que facilita a visualização e a compreensão da lógica de controle.
§ Ideal para processos contínuos e operações paralelas.
§ Fácil de modificar e expandir.
o Desvantagens:
§ Pode se tornar confusa em programas muito grandes com muitos blocos interconectados.
§ Limitada pela complexidade dos blocos funcionais disponíveis e pela necessidade de criar blocos personalizados para lógica específica.
Exemplos Práticos de Cada Linguagem
1. Ladder (LD):
o Exemplo: Controle de um motor utilizando um botão de partida e um botão de parada.
[ ] ----[ ]---- ( )
Start Stop Motor
Texto Estruturado (ST):
IF StartButton = TRUE THEN
Motor := TRUE;
END_IF;
IF StopButton = TRUE THEN
Motor := FALSE;
END_IF;
Blocos Funcionais (FBD):
[StartButton] ----| |-----| |----- (Motor)
| |
| [StopButton] |
|-----|/|-------|
Cada linguagem de programação de CLPs tem suas próprias vantagens e desvantagens, e a escolha da linguagem pode depender do contexto da aplicação e da experiência do programador. A linguagem Ladder é amplamente utilizada e intuitiva para técnicos eletricistas, o Texto Estruturado oferece flexibilidade e poder para lógica complexa, enquanto os Blocos Funcionais fornecem uma abordagem gráfica intuitiva para processos contínuos e paralelos.
Estrutura de um Programa em Ladder
Elementos Básicos da Linguagem Ladder
A linguagem Ladder (Ladder Logic ou Diagrama de Escada) é uma representação gráfica usada para desenvolver programas de controle para CLPs. Sua aparência e estrutura são semelhantes aos esquemas elétricos de circuitos de relés, facilitando a compreensão para técnicos e engenheiros. Os elementos básicos da linguagem Ladder incluem:
1.
Trilhos Verticais:
o Representam a alimentação elétrica, com o trilho esquerdo como o "positivo" e o trilho direito como o "negativo" ou o retorno.
2. Contatos:
o Contatos normalmente abertos (NO): Representados por dois parênteses verticais (| |), eles permitem a passagem do sinal quando ativados.
o Contatos normalmente fechados (NC): Representados por dois parênteses com uma linha transversal (|/|), eles bloqueiam a passagem do sinal quando ativados e permitem quando desativados.
3. Bobinas:
o Bobinas (Coils): Representadas por um par de parênteses horizontais (( )), são usadas para ativar ou desativar saídas como motores, válvulas e lâmpadas.
4. Temporizadores e Contadores:
o Temporizadores (Timers): Utilizados para criar atrasos temporais. Podem ser temporizadores de retardo na energização (TON) ou de retardo na desenergização (TOF).
o Contadores (Counters): Utilizados para contar eventos ou pulsos. Podem ser contadores ascendentes (CTU) ou descendentes (CTD).
5. Funções Lógicas:
o AND, OR, NOT: Implementadas pela combinação de contatos e bobinas para criar lógica de controle.
Criação de Diagramas Ladder
A criação de um diagrama Ladder envolve a disposição dos elementos mencionados acima para representar a lógica de controle desejada. O processo pode ser dividido em várias etapas:
1. Definição dos Requisitos:
o Identifique as entradas (sensores, botões) e saídas (motores, lâmpadas) do sistema.
o Determine a lógica de controle necessária para atender aos requisitos do processo.
2. Desenho do Diagrama:
o Inicie com os trilhos verticais representando a alimentação.
o Adicione contatos e bobinas conforme a lógica de controle definida.
o Utilize temporizadores e contadores conforme necessário para implementar atrasos e contagens.
o Combine elementos lógicos para criar a funcionalidade desejada.
3. Exemplo Prático:
o Controle de um motor com partida e parada:
|---[StartButton]---| |---[StopButton]---|/|---(Motor)---|
Simulação e Teste de Programas em Ladder
A simulação e o teste são etapas cruciais no desenvolvimento de programas em Ladder para garantir que a lógica funcione conforme o esperado antes de implementar no hardware real.
1. Simulação:
o Utilize o software de programação do CLP para simular o programa Ladder.
o Verifique o comportamento do programa em um ambiente virtual, observando as mudanças de estado das entradas e saídas.
o Realize ajustes conforme necessário para corrigir qualquer
erro lógico identificado durante a simulação.
2. Teste no Hardware:
o Após a simulação bem-sucedida, transfira o programa para o CLP real.
o Conecte os dispositivos de entrada e saída ao CLP.
o Teste o programa no ambiente de operação real, verificando o funcionamento correto de todo o sistema.
o Realize ajustes finais no programa para otimizar a performance e garantir a robustez do controle.
Exemplos de Testes e Verificações:
A estrutura de um programa em Ladder permite a criação de lógica de controle robusta e eficiente para aplicações industriais. A familiaridade com os elementos básicos, a habilidade de criar diagramas claros e a realização de simulações e testes rigorosos são fundamentais para o sucesso na automação de processos com CLPs.
Funções e Instruções Avançadas em Ladder
Utilização de Temporizadores e Contadores
Temporizadores e contadores são elementos essenciais em programas Ladder, permitindo o controle preciso de eventos baseados em tempo e em contagem de ocorrências.
1. Temporizadores (Timers):
o Temporizador de Retardo na Energização (TON): Atraso no acionamento de uma saída após uma entrada ser ativada.
|---[StartButton]---(TON, T1, 5s)---(Motor)---|
Nesse exemplo, o motor (Motor) será ativado 5 segundos após o botão de partida (StartButton) ser pressionado.
o Temporizador de Retardo na Desenergização (TOF): Atraso na desativação de uma saída após uma entrada ser desativada.
|---[StartButton]---(TOF, T2, 10s)---(Light)---|
Aqui, a luz (Light) permanecerá acesa por 10 segundos após o botão de partida (StartButton) ser liberado.
o Temporizador de Pulso (TP): Gera um pulso de duração fixa quando a entrada é ativada.
|---[StartButton]---(TP, T3, 3s)---(Buzzer)---|
O alarme (Buzzer) será acionado por 3 segundos quando o botão de partida (StartButton) for pressionado.
1. Contadores (Counters):
o Contador Ascendente (CTU): Conta o número de eventos de uma entrada.
|---[PulseInput]---(CTU, C1, 10)---(Output)---|
A saída (Output) será ativada após 10 pulsos do (PulseInput).
o Contador Descendente (CTD): Conta regressivamente até zero, a
partir de um valor inicial.
|---[PulseInput]---(CTD, C2, 5)---(Output)---|
A saída (Output) será ativada quando o contador (C2) atingir zero após 5 pulsos.
Instruções de Controle e Comparações
Além de temporizadores e contadores, os programas Ladder utilizam instruções de controle e comparações para tomar decisões baseadas em condições específicas.
1. Instruções de Controle:
o Set (S): Liga uma saída independentemente das condições subsequentes.
|---[Condition]---(S, Motor)---|
o Reset (R): Desliga uma saída independentemente das condições subsequentes.
|---[Condition]---(R, Motor)---|
Instruções de Comparação:
o Maior que (GT): Verifica se um valor é maior que outro.
|---[Value1 > Value2]---(Output)---|
o Menor que (LT): Verifica se um valor é menor que outro.
|---[Value1 < Value2]---(Output)---|
o Igual a (EQ): Verifica se dois valores são iguais.
|---[Value1 == Value2]---(Output)---|
Exemplos de Programas Complexos Utilizando Funções Avançadas
1. Controle de Esteira Transportadora com Temporizador e Contador:
o Objetivo: Acionar uma esteira transportadora que liga após 5 segundos quando um sensor detecta uma peça e desliga após 10 peças passarem pelo sensor.
|---[Sensor]---(TON, T1, 5s)---(CTU, C1, 10)---(Motor)---|
|---[C1 >= 10]---(R, Motor)---|
Sistema de Iluminação Automática com Temporizador:
|---[MotionSensor]---(TP, T1, 30s)---(Lights)---|
Controle de Nível de Tanque com Comparação:
|---[Level < MinLevel]---(S, Pump)---|
|---[Level >= MaxLevel]---(R, Pump)---|
Sistema de Alarme de Segurança:
|---[DoorOpen]---(TON, T1, 10s)---(Alarm)---|
Esses exemplos ilustram como as funções e instruções avançadas em Ladder podem ser utilizadas para criar programas de controle eficientes e robustos. A utilização adequada de temporizadores, contadores, instruções de controle e comparações permite a automação de processos complexos e a implementação de lógicas de controle sofisticadas em ambientes industriais.