Capítulo 4 — Fundamentos da Linguagem Ladder
1 Fundamentos da Linguagem Ladder
A linguagem Ladder é a forma mais difundida de programação de CLPs na automação industrial. Sua representação gráfica foi inspirada nos circuitos de comando com relés, contatores, botoeiras e sensores, o que facilita a transição do raciocínio elétrico tradicional para a lógica programável.
1.1 Introdução
Nos sistemas de comando elétrico convencionais, a lógica de funcionamento de uma máquina era construída com relés, contatores, temporizadores e contatos auxiliares. Essa solução funcionava bem, mas apresentava dificuldades quando era necessário alterar a lógica de controle, ampliar o sistema ou realizar manutenção em painéis mais complexos.
A linguagem Ladder surgiu justamente para aproximar o universo dos CLPs do raciocínio já dominado por técnicos e eletricistas. Em vez de programar com instruções abstratas desde o início, o profissional encontra uma representação gráfica que lembra um diagrama de comando elétrico. Por isso, aprender Ladder significa, em grande parte, reinterpretar a lógica de contatos dentro do ambiente de programação de um controlador programável.
Em termos didáticos, a linguagem Ladder é uma excelente porta de entrada para o estudo de CLPs, porque preserva a ideia de continuidade lógica, de energização de saídas e de encadeamento de condições. Ao mesmo tempo, permite maior flexibilidade, reaproveitamento de sinais, diagnóstico e expansão do sistema de automação.
1.2 Origem e importância da linguagem Ladder
A linguagem Ladder foi desenvolvida para que técnicos habituados com esquemas elétricos pudessem programar CLPs sem abandonar completamente a lógica dos circuitos de relés. Seu nome vem da palavra inglesa ladder, que significa escada, pois sua estrutura lembra dois trilhos verticais unidos por degraus horizontais.
Historicamente, a lógica de relés era muito usada em comandos industriais para partidas de motores, intertravamentos, alarmes e sequências simples. Quando os CLPs começaram a substituir painéis eletromecânicos, tornou-se necessário criar uma forma de programação compatível com esse modo de pensar. Assim, a linguagem Ladder tornou-se a principal linguagem gráfica da automação discreta.
Sua importância permanece atual por vários motivos:
- facilita a leitura por técnicos de manutenção;
- aproxima programação e comando elétrico;
- simplifica o diagnóstico de falhas;
- permite rápida implementação de lógicas discretas;
- é amplamente suportada por fabricantes e ambientes de programação.
1.3 Relação entre Ladder e comandos elétricos
Em um diagrama de comando elétrico tradicional, a energização de uma bobina depende da combinação de contatos em série e em paralelo. Em Ladder, a lógica é semelhante: contatos representam condições de entrada ou estados internos, enquanto bobinas representam saídas ou variáveis internas acionadas quando há continuidade lógica no degrau.
Essa semelhança não significa que Ladder seja apenas um desenho elétrico. Na prática, trata-se de uma linguagem de programação executada ciclicamente pelo CLP. Ainda assim, a analogia com a elétrica é extremamente útil no ensino técnico, especialmente para interpretar:
- botoeiras de liga e desliga;
- sensores fim de curso;
- intertravamentos;
- selagem;
- permissivos de segurança;
- acionamento de motores e sinalizações.
1.4 Estrutura básica do diagrama Ladder
1.5 Barramentos
O diagrama Ladder é organizado entre duas linhas verticais chamadas barramentos. Tradicionalmente, interpreta-se que o barramento da esquerda representa o lado da alimentação lógica e o da direita o retorno. Em termos didáticos, diz-se que a lógica “flui” da esquerda para a direita.
Essa representação ajuda o aluno a responder uma pergunta central: existe caminho lógico completo até a saída?
Quando existe esse caminho, a bobina ou instrução de saída ao final do degrau pode ser ativada.
1.6 Rungs
Cada linha horizontal do diagrama é chamada de rung, ou degrau. Um rung contém uma lógica específica, normalmente associada a uma ação ou decisão do sistema.
Exemplos típicos de um rung:
- acionar uma lâmpada quando uma botoeira for pressionada;
- manter um motor ligado por selo;
- desligar uma saída em condição de falha;
- comandar uma memória interna;
- habilitar um temporizador.
Cada rung deve ser lido como uma unidade lógica. Em geral, o CLP avalia os rungs de cima para baixo e, dentro de cada um, da esquerda para a direita.
1.7 Fluxo lógico
Embora o CLP não trabalhe com corrente elétrica real dentro do programa da mesma forma que em um circuito físico, a interpretação didática do Ladder considera um fluxo lógico da esquerda para a direita.
Quando os contatos estabelecem continuidade, o fluxo chega à bobina. Quando um contato interrompe a lógica, não há continuidade e a bobina não é ativada.
Essa ideia de fluxo lógico é muito importante para a leitura e interpretação do programa. O estudante deve se acostumar a perguntar:
- quais condições precisam estar verdadeiras?
- existe caminho lógico até a bobina?
- qual contato está interrompendo o degrau?
1.8 Continuidade lógica
A continuidade lógica é a condição em que existe um caminho completo entre o barramento esquerdo e a instrução de saída no final do rung.
Em um circuito simples com dois contatos normalmente abertos em série, a continuidade só existe se os dois estiverem ativos ao mesmo tempo. Já em contatos em paralelo, basta um dos caminhos estar fechado para que a continuidade exista.
Essa interpretação conecta diretamente a linguagem Ladder às funções lógicas fundamentais:
- série representa, em muitos casos, a função lógica E;
- paralelo representa, em muitos casos, a função lógica OU;
- contatos normalmente fechados representam a negação lógica da variável associada.
1.9 Elementos básicos da linguagem Ladder
1.10 Contato normalmente aberto
O contato normalmente aberto, quando associado a uma entrada ou variável, conduz a lógica quando essa variável está em estado verdadeiro.
Exemplo conceitual: se a entrada de uma botoeira estiver ativada, o contato normalmente aberto correspondente permite a continuidade lógica.
1.11 Contato normalmente fechado
O contato normalmente fechado conduz a lógica quando a variável associada está em estado falso.
Esse ponto exige atenção. Em Ladder, o símbolo não representa apenas o tipo físico do dispositivo de campo, mas a forma como a variável será interpretada no programa. Assim, um sensor físico pode estar ligado de modo que, no programa, seja tratado por contato normalmente aberto ou normalmente fechado, dependendo da lógica desejada.
1.12 Bobina
A bobina representa a ação realizada quando o rung possui continuidade lógica. Essa ação pode ser:
- ativar uma saída física;
- gravar uma memória interna;
- acionar uma variável auxiliar;
- comandar instruções especiais em alguns ambientes.
Quando há continuidade até a bobina, sua variável associada assume estado verdadeiro. Quando a continuidade deixa de existir, a variável volta ao estado falso, exceto em casos de instruções específicas, como retenção por set/reset.
1.13 Exemplo industrial 1 — Lâmpada comandada por uma botoeira
Considere um sistema simples em que uma lâmpada deve acender enquanto a botoeira de comando estiver pressionada.
1.13.1 Situação prática
Em uma bancada didática, o operador pressiona uma botoeira e uma lâmpada de sinalização acende. Ao soltar a botoeira, a lâmpada apaga.
1.13.2 Variáveis
I0.0: botoeira de comando;Q0.0: lâmpada.
1.13.3 Interpretação lógica
Quando I0.0 = 1, existe continuidade lógica e a saída Q0.0 é ativada.
1.13.4 Representação textual do rung
Contato normalmente aberto de I0.0 acionando a bobina Q0.0.
1.13.5 Leitura didática
Se a botoeira estiver pressionada, a lâmpada acende. Se a botoeira não estiver pressionada, a lâmpada permanece apagada.
1.14 Exemplo industrial 2 — Circuito liga
Considere agora que uma máquina possui uma botoeira de liga e uma saída que deve ser energizada apenas quando a botoeira for pressionada.
1.14.1 Variáveis
I0.0: botão liga;Q0.0: contator do motor.
1.14.2 Lógica
Um contato normalmente aberto de I0.0 comanda a bobina Q0.0.
1.14.3 Interpretação
Enquanto o botão estiver acionado, a saída fica ligada. Esse exemplo é útil como introdução, mas ainda não representa um comando industrial completo, pois normalmente é necessário manter a máquina ligada após o pulso inicial.
1.15 Exemplo industrial 3 — Circuito desliga com contato normalmente fechado
Agora considere uma condição de parada que interrompe a lógica quando acionada.
1.15.1 Variáveis
I0.0: condição de habilitação;I0.1: botão de parada;Q0.0: saída.
1.15.2 Lógica conceitual
A saída Q0.0 só permanece ativa se:
- a habilitação estiver verdadeira;
- o botão de parada não estiver pressionado.
1.15.3 Leitura do rung
- contato normalmente aberto de
I0.0; - em série com contato normalmente fechado de
I0.1; - acionando a bobina
Q0.0.
1.15.4 Interpretação
A lógica só chega à saída se a condição de habilitação existir e o comando de parada não for acionado.
1.16 Exemplo industrial 4 — Partida com selo
Um dos circuitos mais importantes na formação técnica é o selo, também chamado de auto-retenção. Ele é amplamente usado em partidas de motores e sistemas de comando.
1.16.1 Situação prática
Um operador pressiona o botão de liga para iniciar uma esteira. Após soltar o botão, a esteira deve continuar funcionando. O desligamento ocorre apenas quando o botão de parada é pressionado.
1.16.2 Variáveis
I0.0: botão liga;I0.1: botão desliga;Q0.0: contator do motor.
1.16.3 Estrutura lógica
A lógica contém:
- um contato normalmente fechado de
I0.1em série; - um ramo em paralelo com:
- contato normalmente aberto de
I0.0; - contato normalmente aberto de
Q0.0;
- contato normalmente aberto de
- bobina
Q0.0ao final.
1.16.4 Funcionamento passo a passo
- Inicialmente,
Q0.0está desligada. - O operador pressiona
I0.0. - A lógica encontra continuidade e energiza
Q0.0. - O contato auxiliar lógico de
Q0.0fecha. - Mesmo após soltar
I0.0, a continuidade permanece pelo ramo de selo. - Quando
I0.1é pressionado, o contato normalmente fechado abre. - A continuidade é interrompida e
Q0.0desliga.
1.16.5 Comentário didático
Esse exemplo mostra claramente como a linguagem Ladder reaproveita a lógica tradicional dos comandos elétricos, mas dentro do CLP.
1.17 Repetição de contatos
Uma diferença importante entre comandos elétricos físicos e programação Ladder é que, no software, uma mesma variável pode aparecer em vários pontos do programa por meio de múltiplos contatos.
Por exemplo, a saída de um motor pode aparecer:
- em um rung de selo;
- em um intertravamento;
- em um alarme;
- em uma lógica de supervisão.
Isso é extremamente útil e reduz a necessidade de componentes físicos auxiliares. Porém, exige organização e clareza no programa.
1.18 Repetição de bobinas
Embora alguns ambientes permitam repetir a mesma bobina em mais de um rung, essa prática geralmente deve ser evitada em programas didáticos e industriais básicos, pois pode gerar ambiguidades de leitura e comportamento inesperado.
Em cursos introdutórios, recomenda-se:
- usar uma única bobina por variável;
- criar memórias internas quando necessário;
- organizar a lógica de forma clara.
1.19 Endereçamento básico
Cada fabricante possui convenções próprias para entradas, saídas, memórias, temporizadores e contadores. Apesar disso, a lógica de funcionamento da linguagem Ladder permanece semelhante.
Exemplos de notação que podem aparecer em diferentes plataformas:
- entradas como
I0.0,E0.0ou%I0.0; - saídas como
Q0.0,S0.0ou%Q0.0; - memórias internas como
M0.0.
Do ponto de vista pedagógico, o mais importante no início não é decorar a notação de cada fabricante, mas compreender a função lógica de cada elemento.
1.20 Varredura do programa
O CLP executa o programa de forma cíclica. Em termos simplificados, ele:
- lê o estado das entradas;
- executa a lógica do programa;
- atualiza as saídas;
- reinicia o ciclo.
Esse processo é chamado de varredura.
No Ladder, a execução costuma ser interpretada como:
- de cima para baixo;
- da esquerda para a direita em cada rung.
Esse conceito é importante porque a ordem dos rungs pode influenciar o comportamento do programa, principalmente em lógicas com memórias, set/reset e comandos encadeados.
1.21 Boas práticas iniciais em Ladder
No início do estudo, é recomendável que o aluno adote algumas boas práticas:
- manter nomes claros para entradas e saídas;
- evitar excesso de cruzamentos lógicos complexos no mesmo rung;
- dividir a lógica em partes menores;
- comentar o programa quando possível;
- evitar repetição indevida de bobinas;
- sempre relacionar o programa com o funcionamento real da máquina.
1.22 Aplicações industriais típicas
A linguagem Ladder é muito usada em aplicações como:
- partida e parada de motores;
- comandos de esteiras;
- sistemas de bombeamento;
- controle de sinalização;
- intertravamentos elétricos;
- sequências simples de automação;
- alarmes e permissivos.
Por isso, dominar seus fundamentos é indispensável para quem atua em eletrotécnica e automação industrial.
1.23 Exercício resolvido 1
1.23.1 Enunciado
Deseja-se acionar uma lâmpada Q0.0 por meio de uma botoeira I0.0. A lâmpada deve permanecer acesa apenas enquanto a botoeira estiver pressionada.
1.23.2 Solução comentada
A lógica é composta por:
- um contato normalmente aberto de
I0.0; - uma bobina
Q0.0.
Quando I0.0 = 1, há continuidade lógica e a bobina é energizada. Quando I0.0 = 0, a continuidade é interrompida e a bobina desliga.
1.23.3 Interpretação
Trata-se do exemplo mais simples de leitura em Ladder, ideal para introduzir a noção de continuidade lógica.
1.24 Exercício resolvido 2
1.24.1 Enunciado
Um motor Q0.0 deve ser acionado por um botão de liga I0.0 e desligado por um botão de desliga I0.1. Após pressionar liga, o motor deve continuar funcionando até que desliga seja acionado.
1.24.2 Solução comentada
A lógica utiliza selo:
- contato normalmente fechado de
I0.1; - em série com um ramo paralelo contendo:
- contato normalmente aberto de
I0.0; - contato normalmente aberto de
Q0.0;
- contato normalmente aberto de
- bobina
Q0.0.
1.24.3 Funcionamento
O botão de liga fornece o pulso inicial. A própria saída mantém o caminho lógico por meio do contato auxiliar de Q0.0. O botão de desliga interrompe o circuito lógico.
1.24.4 Resultado
O programa reproduz a lógica clássica de partida com retenção.
1.25 Exercícios propostos
Elabore a lógica Ladder para acender uma lâmpada apenas quando dois sensores estiverem ativos simultaneamente.
Elabore a lógica Ladder para acionar uma lâmpada quando qualquer um entre dois botões for pressionado.
Projete um circuito Ladder em que uma saída seja ativada apenas se uma condição de habilitação estiver presente e uma condição de falha não estiver ativa.
Descreva em palavras a lógica de um sistema com botão liga, botão desliga e selo para acionamento de uma bomba.
Explique por que o conceito de continuidade lógica é fundamental para a leitura de um programa Ladder.
Explique a diferença entre contato normalmente aberto e contato normalmente fechado no contexto da linguagem Ladder.
Pesquise no software utilizado em laboratório como são representados os endereços de entrada, saída e memória interna.
1.26 Sugestão de prática em simulador
Para consolidar o conteúdo deste capítulo, recomenda-se implementar em simuladores como CADeSimu, PLCIOsim ou CODESYS os seguintes exercícios:
- acionamento direto de uma lâmpada por botoeira;
- lógica com dois contatos em série;
- lógica com dois contatos em paralelo;
- partida com selo;
- desligamento por contato normalmente fechado.
Ao testar a lógica no simulador, o aluno deve observar cuidadosamente:
- quando existe continuidade lógica;
- quando a bobina é energizada;
- como o selo mantém a saída ativa;
- como a parada interrompe o funcionamento.
1.27 Síntese do capítulo
Neste capítulo foram apresentados os fundamentos da linguagem Ladder, com foco em sua relação com a lógica de contatos e os comandos elétricos industriais. Foram discutidos os barramentos, os rungs, o fluxo lógico, a continuidade, os contatos, as bobinas e a leitura básica de programas. Também foram explorados exemplos clássicos, como acionamento de lâmpada e partida com selo.
Com essa base, o estudante já pode interpretar e construir programas simples em Ladder, compreendendo que a linguagem não é apenas um desenho, mas uma forma estruturada de programar sistemas de automação industrial.
1.28 Para avançar
No próximo capítulo, o estudo pode evoluir para elementos mais elaborados da programação em CLP, como:
- temporizadores;
- contadores;
- memórias internas;
- detecção de borda;
- intertravamentos mais complexos.
Esses recursos ampliam significativamente o poder de controle dos programas em Ladder.