flowchart TD
A[IEC 61131] --> B[Conceitos gerais]
A --> C[Aspectos de hardware]
A --> D[Comunicação e integração]
A --> E[IEC 61131-3]
E --> E1[Elementos comuns]
E --> E2[Tipos de dados]
E --> E3[Organização do programa]
E --> E4[Linguagens de programação]
Capítulo 3 — Norma IEC 61131-3 e Linguagens de Programação de CLPs
Este capítulo apresenta a norma IEC 61131-3, destacando sua importância para a padronização da programação de CLPs. O foco está nas linguagens definidas pela norma, com ênfase em Ladder Diagram (LD), a linguagem mais difundida na indústria.
1 Introdução
Quando diferentes fabricantes desenvolvem seus próprios controladores lógicos programáveis, surge um problema prático: cada equipamento pode adotar convenções, comandos e formas de programação diferentes. Isso dificulta a formação de técnicos, a manutenção de sistemas e a migração entre plataformas.
A norma IEC 61131 foi criada para reduzir esse problema, estabelecendo diretrizes para os Controladores Lógicos Programáveis (CLPs). Dentro desse conjunto de normas, a IEC 61131-3 é a parte responsável pelas linguagens de programação e por elementos comuns de software usados em automação industrial.
Do ponto de vista do estudante do curso técnico, essa norma é importante porque ajuda a entender que, embora existam diferenças entre marcas como Siemens, Allen-Bradley, WEG, Schneider, Altus e outras, há uma base conceitual comum. Essa base permite aprender os princípios gerais da programação de CLPs antes de lidar com particularidades de cada fabricante.
2 Contexto histórico
Os primeiros CLPs surgiram para substituir painéis de relés em aplicações industriais. Com a expansão de seu uso, diferentes fabricantes passaram a oferecer soluções próprias, muitas vezes pouco compatíveis entre si. Isso gerava dificuldades em:
- treinar operadores e programadores;
- reaproveitar programas;
- padronizar projetos;
- documentar sistemas de automação;
- integrar equipamentos de fabricantes diferentes.
A criação da família de normas IEC 61131 buscou organizar esse cenário. A parte 3 da norma passou a definir uma referência para as linguagens de programação dos CLPs, tornando o desenvolvimento de software mais estruturado e mais próximo de boas práticas de engenharia.
3 Estrutura geral da IEC 61131
A IEC 61131 é uma família de normas voltada aos CLPs. De forma simplificada, ela trata de aspectos como:
- terminologia;
- requisitos de hardware;
- testes;
- comunicação;
- programação.
Neste capítulo, nosso interesse principal está na parte 3, que trata das linguagens de programação.
4 O que a IEC 61131-3 define
A IEC 61131-3 estabelece uma base comum para a programação de CLPs. Em termos didáticos, ela organiza três grandes grupos de elementos:
4.1 Elementos comuns
A norma define conceitos que aparecem em praticamente qualquer ambiente de programação de CLP, como:
- variáveis de entrada, saída e memória;
- nomes simbólicos;
- blocos de funções;
- programas e funções;
- organização básica do software.
Isso permite escrever programas de forma mais clara. Por exemplo, em vez de trabalhar apenas com um endereço físico como I0.0, o programador pode utilizar um nome como Sensor_Nivel_Alto, facilitando leitura e manutenção.
4.2 Tipos de dados
A norma também define tipos de dados usados nos programas, como valores binários, inteiros, reais, temporizadores e outros elementos necessários para o tratamento das informações do processo.
Do ponto de vista introdutório, é suficiente perceber que o CLP não trabalha apenas com estados ligados e desligados. Ele também pode manipular:
- números inteiros;
- valores analógicos;
- tempos;
- contagens;
- palavras e bytes;
- dados estruturados.
4.3 Linguagens de programação
A contribuição mais conhecida da IEC 61131-3 é a definição de linguagens de programação para CLPs. Essas linguagens permitem representar a lógica de controle de formas diferentes, conforme a aplicação e o perfil do programador.
5 Linguagens definidas pela norma
A IEC 61131-3 consagrou cinco linguagens clássicas no ensino e na prática industrial:
- IL — Instruction List
- ST — Structured Text
- FBD — Function Block Diagram
- SFC — Sequential Function Chart
- LD — Ladder Diagram
A seguir, veremos o papel de cada uma.
5.1 IL — Instruction List
A Instruction List (IL), ou Lista de Instruções, é uma linguagem textual de baixo nível, semelhante à lógica de instruções sequenciais encontrada em linguagens próximas de assembly.
Ela foi importante historicamente por permitir programas compactos e diretos, mas tende a ser menos amigável para iniciantes. Em materiais mais atuais, seu uso é muito menos frequente no ensino introdutório.
Exemplo conceitual:
LD Start
ANDN Stop
ST Motor
Nesse exemplo, o CLP carrega o estado de Start, faz uma operação lógica com a negação de Stop e grava o resultado em Motor.
5.2 ST — Structured Text
A Structured Text (ST), ou Texto Estruturado, é uma linguagem textual de alto nível. Sua sintaxe lembra linguagens como Pascal e outras linguagens estruturadas.
Ela é muito útil em aplicações que exigem:
- cálculos;
- manipulação de dados;
- decisões complexas;
- rotinas repetitivas;
- tratamento de tabelas e algoritmos.
Exemplo conceitual:
IF Start AND NOT Stop THEN
Motor := TRUE;
ELSE
Motor := FALSE;
END_IF;
Esse tipo de linguagem é muito adequado quando a lógica deixa de ser apenas combinacional e passa a exigir processamento mais elaborado.
5.3 FBD — Function Block Diagram
A Function Block Diagram (FBD), ou Diagrama de Blocos de Funções, representa a lógica por meio de blocos interligados.
É uma linguagem bastante intuitiva para quem já teve contato com:
- eletrônica digital;
- diagramas funcionais;
- controle por blocos;
- processamento de sinais.
No FBD, funções como AND, OR, temporizadores, contadores, comparadores e blocos matemáticos podem ser conectados graficamente para formar a lógica do sistema.
Ela é muito útil quando se deseja visualizar o fluxo funcional de sinais entre blocos.
5.4 SFC — Sequential Function Chart
A Sequential Function Chart (SFC), ou Diagrama Funcional Sequencial, é uma linguagem gráfica voltada ao sequenciamento de etapas.
Ela é especialmente adequada para processos que ocorrem em sequência, como:
- enchimento, mistura e descarga;
- avanço e retorno de cilindros;
- esteiras com etapas de transporte;
- máquinas com ciclos bem definidos.
Seus elementos principais são:
- etapas;
- transições;
- ações.
O SFC é particularmente importante para o estudo de automatismos sequenciais e dialoga diretamente com abordagens como GRAFCET, que será aprofundado na segunda parte da apostila.
5.5 LD — Ladder Diagram
A Ladder Diagram (LD), ou Linguagem Ladder, é a linguagem gráfica mais tradicional da automação industrial. Ela foi inspirada nos esquemas de relés e contatos usados nos comandos elétricos clássicos.
Sua estrutura lembra uma escada:
- duas barras verticais laterais;
- linhas horizontais chamadas de rungs;
- contatos e bobinas organizados da esquerda para a direita.
A leitura do programa em Ladder é facilitada para técnicos e eletricistas porque ela preserva um raciocínio semelhante ao dos circuitos de comando com contatos auxiliares, botoeiras, relés e contatores.
6 Por que Ladder é a linguagem mais usada na indústria
Embora a norma apresente várias linguagens, a Ladder continua sendo a mais difundida em muitos ambientes industriais. Isso ocorre por várias razões:
6.1 Proximidade com comandos elétricos
Em cursos técnicos, o aluno geralmente aprende primeiro circuitos de comando com contatos NA, NF, bobinas, selagem e intertravamentos. A Ladder aproveita essa mesma lógica, tornando a transição para o CLP mais natural.
6.2 Facilidade de manutenção
Na manutenção industrial, rapidez de diagnóstico é essencial. Um programa em Ladder costuma permitir leitura rápida de estados lógicos, facilitando a identificação de falhas em sensores, atuadores e permissivos.
6.3 Forte presença em máquinas discretas
Muitas máquinas industriais trabalham com lógica discreta: ligar, desligar, avançar, recuar, contar, temporizar, intertravar. Nesses casos, a Ladder atende muito bem.
6.4 Aceitação ampla no mercado
Grande parte dos fabricantes oferece ambientes de programação fortemente orientados a Ladder, especialmente para aplicações industriais clássicas.
7 Comparação didática entre as linguagens
| Linguagem | Tipo | Melhor aplicação | Observação didática |
|---|---|---|---|
| IL | Textual | Instruções simples e históricas | Menos amigável para iniciantes |
| ST | Textual | Cálculos, algoritmos e decisões complexas | Boa para lógica mais avançada |
| FBD | Gráfica | Blocos funcionais e processamento de sinais | Visual e modular |
| SFC | Gráfica | Sequências de operação | Excelente para processos por etapas |
| LD | Gráfica | Comandos discretos e automação clássica | Mais próxima da formação técnica em eletrotécnica |
8 Exemplo industrial de escolha de linguagem
Considere uma máquina de mistura com as seguintes funções:
- ligar bomba de enchimento;
- detectar nível alto;
- acionar motor agitador por 30 segundos;
- abrir válvula de descarga;
- reiniciar o ciclo quando houver comando do operador.
Nesse caso, diferentes linguagens poderiam ser usadas com enfoques distintos:
- LD para intertravamentos, selagem e comandos discretos;
- SFC para representar as etapas do processo;
- FBD para combinar blocos de temporização e comparação;
- ST para cálculos ou regras mais complexas;
- IL apenas em contextos históricos ou específicos.
Isso mostra que as linguagens não são rivais. Em muitos ambientes modernos, elas coexistem e podem até ser usadas de forma complementar.
9 Exemplo resolvido
9.1 Situação-problema
Deseja-se comandar um motor por meio de duas entradas:
Start: botão de partida;Stop: botão de parada.
A saída Motor deve permanecer ligada após o acionamento, até que o botão de parada seja pressionado.
9.2 Interpretação em diferentes linguagens
9.2.1 Em Ladder
A solução típica utiliza selagem, com um contato da própria saída em paralelo ao botão de partida.
Representação conceitual:
|----[ Start ]----+----[/ Stop ]----------( Motor )
| |
|----[ Motor ]----+
9.2.2 Em Structured Text
IF Stop THEN
Motor := FALSE;
ELSIF Start OR Motor THEN
Motor := TRUE;
END_IF;
9.2.3 Em FBD
Pode-se representar a lógica por meio de um bloco OR para a selagem, combinado com a condição de parada.
9.3 Comentário didático
Este exemplo mostra que o mesmo problema de automação pode ser descrito de diferentes formas. A escolha da linguagem depende do contexto, mas para o técnico que vem de comandos elétricos, a Ladder tende a ser a representação mais intuitiva.
10 Boas práticas ao estudar a IEC 61131-3
Para o estudante iniciante, vale adotar algumas orientações:
- compreender primeiro a lógica do processo;
- identificar entradas, saídas e memórias;
- escolher a linguagem mais adequada ao problema;
- evitar decorar comandos sem entender a função;
- relacionar sempre o programa com a planta industrial.
Na formação técnica, isso significa que o estudo da norma não deve ser tratado como um assunto puramente teórico. O foco precisa estar na aplicação prática em motores, sensores, válvulas, esteiras e dispositivos de comando.
11 Relação com simuladores e softwares
Sempre que possível, o estudo deste capítulo pode ser reforçado com ferramentas como:
- CODESYS;
- PLCIOsim;
- simuladores didáticos de Ladder;
- ambientes de fabricantes.
Essas ferramentas ajudam o aluno a perceber que a norma organiza conceitos gerais, mesmo quando a interface visual muda de uma plataforma para outra.
12 Síntese do capítulo
A norma IEC 61131-3 é fundamental para a programação de CLPs porque estabelece uma referência comum para linguagens e elementos de software usados em automação industrial. Entre as linguagens definidas pela norma, destacam-se IL, ST, FBD, SFC e LD.
No contexto do curso técnico em eletrotécnica, a Ladder merece atenção especial por sua forte ligação com os comandos elétricos tradicionais e por sua grande presença na prática industrial. Ao mesmo tempo, é importante compreender que outras linguagens podem ser mais adequadas em aplicações sequenciais, matemáticas ou funcionais.
13 Exercício resolvido
13.1 Questão
Associe cada situação industrial à linguagem mais adequada entre LD, ST, FBD e SFC:
- Controle de partida e parada com intertravamento.
- Sequência automática de enchimento, mistura e descarga.
- Cálculo de média de três sensores analógicos.
- Interligação de temporizadores, comparadores e blocos lógicos.
13.2 Resolução
- LD — porque envolve lógica discreta e intertravamentos clássicos.
- SFC — porque o processo é claramente sequencial, por etapas.
- ST — porque há tratamento numérico e cálculo.
- FBD — porque a lógica por blocos é direta e visual.
14 Exercícios propostos
- Explique com suas palavras por que a IEC 61131-3 é importante para a automação industrial.
- Diferencie IL e ST quanto ao nível de abstração.
- Indique uma aplicação industrial mais adequada para o uso de SFC.
- Justifique por que a Ladder é tão presente na indústria.
- Pesquise no software de programação disponível em seu laboratório quais linguagens da IEC 61131-3 são suportadas.
- Reescreva uma lógica simples de partida e parada em duas formas: Ladder e Structured Text.
15 Para revisar
- A IEC 61131 é uma família de normas para CLPs.
- A IEC 61131-3 trata das linguagens de programação.
- As linguagens clássicas são IL, ST, FBD, SFC e LD.
- Ladder é a linguagem mais difundida em aplicações industriais discretas.
- A escolha da linguagem depende do tipo de problema a ser resolvido.
16 Preparação para o próximo capítulo
No próximo capítulo, o estudo da Linguagem Ladder será aprofundado. Serão analisados os conceitos de continuidade lógica, contatos NA e NF, bobinas, selagem, relés internos, detecção de borda e estruturas típicas de programação em CLP.