Automação

Lógica Ladder

Um programa Ladder é uma pilha ordenada de degraus lida a cada varredura: contatos em série são E, ramos em paralelo são OU, e a bobina escreve a imagem de processo no ato em que o degrau é resolvido, então os degraus seguintes já enxergam o valor novo. Esta ferramenta verifica o programa estruturalmente — todas as combinações de entrada, saídas de temporizador tratadas como variáveis livres sob restrição — e o roda numa bancada com relógio, varredura a varredura.

Calcule agora

Grátis e sem cadastro. Roda no seu navegador — nada do que você digita sai desta página.

Quando usar

Ao escrever ou revisar a lógica do CLP antes de descarregar: comando de partida e parada com selo, transição estrela-triângulo com TON, contador de peças, retenção por Set/Reset. É especialmente útil para os defeitos que compilam sem reclamação — a mesma bobina escrita em dois degraus, parada NF de campo lida por contato NF, emergência num ramo paralelo, degrau que lê bobina escrita mais abaixo.

Um programa Ladder é ordenado, e a ordem é comportamento

Em Ladder, contato e bobina não são peças físicas: são referências a símbolos de uma tabela que amarra o endereço de campo à lógica. Cada degrau tem uma rede série/paralelo e uma ou mais saídas, e o CLP resolve os degraus de cima para baixo a cada varredura. A bobina escreve a imagem de processo no ato, então o degrau de baixo já lê o valor novo; o de cima só o lê na varredura seguinte. É por isso que a mesma lógica pode mudar de comportamento só por trocar um degrau de lugar — e é por isso que a ferramenta confere a ordem explicitamente.

Um degrau de selo é a imagem em software de um circuito de comando com contatores: o mesmo K1 = (S1 + K1) · S0 · EMG desenhado com contatos e bobinas reais é verificado no simulador de lógica de relés. As saídas que esses degraus acionam costumam ser as partidas de um centro de controle de motores, cujas gavetas, disjuntores e contatores são dimensionados no dimensionamento de CCM e gavetas.

O que a verificação estrutural cobre

A ferramenta confere a tabela de símbolos (não declarado, tag ou endereço repetido), a forma de cada degrau (sem saída, sem contato, ramo em curto, contradição, contato repetido), as escritas (um símbolo, uma bobina; bobina simples misturada com SET/RESET; SET sem RESET; temporizador ou contador acionado duas vezes), a polaridade de campo das entradas contra a forma como são lidas, e o alcance da emergência. Depois varre todas as combinações de entradas e de saídas de temporizador/contador — até 12 variáveis — para apontar saída sempre ligada ou nunca acionada, entrada sem efeito e programa que cicla entre varreduras.

Emergência e polaridade de campo

A emergência tem de ser NF no campo (ISO 13850 §4.3.4, IEC 60204-1 §10.7.4) e lida por contato NA nos degraus que energizam saídas. Então a ferramenta segue a dominância: acionar a emergência força cada saída física a 0, por série, paralelo e bobinas intermediárias, na ordem de varredura? Emergência em ramo paralelo, chave de bypass sobre ela ou saída que a emergência nunca alcança reprovam o programa. Saída retida por SET/RESET sai como não avaliada, porque o Ladder sozinho não diz se um SET ativo a re-energiza na varredura seguinte.

A bancada: temporizadores e contadores com relógio

O veredito responde “o programa pode algum dia fazer isso”; a bancada responde “o que acontece a partir daqui”. Ela varre o programa contra um relógio virtual — 10 ms por varredura por padrão — rodando de verdade os temporizadores TON, TOF, TP e RTO e os contadores CTU, CTD e CTUD, mostrando o fluxo de energia degrau a degrau. Entradas podem ser comutadas e bits de memória forçados; bit forçado que uma bobina reescreve dura uma varredura, exatamente como no CLP.

De onde vêm as entradas e saídas

Os símbolos da tabela são endereços da imagem de processo, e numa planta real muitos deles chegam por rede de campo, não por cartão de E/S local: E/S remota e inversores numa rede PROFIBUS DP, partidas de motor em DeviceNet ou instrumentos de campo em Ethernet-APL. Esta ferramenta não modela a rede — o ciclo do barramento soma-se ao tempo de resposta, além da varredura —, por isso esses segmentos são dimensionados nas ferramentas próprias. Os sinais de campo ligados fio a fio — parada, emergência, contatos de sobrecarga — entram na lista de cabos do projeto.

O que esta ferramenta não cobre

JMP/LBL, MCR, sub-rotinas e blocos de função de usuário, laços FOR, instruções de comparação e matemática, blocos de função de segurança certificados e endereçamento indireto ficam fora. O veredito estrutural ignora presets, tempo de varredura da CPU e retardo dos dispositivos de campo. A ferramenta não determina Performance Level (ISO 13849-1) nem SIL (IEC 62061), e “sem apontamentos” significa que nenhuma das verificações implementadas disparou. Para circuitos de comando com contatores, use a ferramenta de lógica de relés.

Fórmulas e fundamentos

Rede do degrau série: A · B | paralelo: A + B | contato NF: /A = ¬A | borda de subida: ↑A = A ∧ ¬A(varredura anterior)

A rede é uma árvore série/paralelo de contatos, com até 12 níveis de aninhamento; o arranjo em ponte não é representável (nem compilado pelo Siemens LAD ou pelo Studio 5000). Contatos e bobinas são referências a um símbolo declarado, de classe I, Q, M, T ou C.

Semântica da varredura lê entradas → resolve degraus 1…N em ordem → escreve saídas

A bobina escreve a imagem de processo no ato: os degraus abaixo enxergam o valor novo na mesma varredura. Contato que lê símbolo escrito num degrau posterior enxerga o valor da varredura anterior — um atraso de uma varredura, apontado como leitura antes da escrita.

Restrições de temporizador e contador (análise estrutural) TON: Q ⇒ IN | TOF: IN ⇒ Q | reset ⇒ ¬Q

No veredito, a saída de cada temporizador e contador é varrida como variável livre restringida pela semântica do bloco. As combinações que violam a restrição não são fisicamente alcançáveis e são descartadas. A pergunta respondida é "existe algum instante em que o programa faz X", não "quando".

Temporizadores na bancada TON: ET = min(PT, ET + Δt) enquanto IN, senão ET = 0; Q = (ET ≥ PT)

Na bancada os blocos rodam contra um relógio virtual com passo Δt = tempo de varredura. O TOF mantém Q por PT depois que IN cai; o TP dá um pulso de PT na borda de subida de IN; o RTO acumula e segura quando IN cai, e só o reset zera.

Contadores na bancada CTU: CV = CV + 1 em ↑CU, Q = (CV ≥ PV) | CTD: CV = CV − 1 em ↑CD, Q = (CV ≤ 0)

A contagem acontece na borda de subida da entrada de contagem. O reset zera o CTU e recarrega o PV no CTD.

Alcance da emergência (dominância) série dominada ⇔ algum filho dominado | paralelo dominado ⇔ todos os filhos dominados

Símbolo declarado como emergência domina; contato NA sobre símbolo dominado domina; bobina escrita por degrau dominado passa a dominar, seguindo bobinas intermediárias na ordem de varredura. Contato de borda nunca domina (pulso de uma varredura não segura saída em zero). Saída escrita por SET/RESET sai como não avaliada.

Estabilização entre varreduras estado(k) = estado(k − p): p = 1 estável, p > 1 cíclico

O programa é varrido repetidamente com entradas constantes até um estado se repetir. Período 1 é ponto fixo; período maior significa saídas piscando na taxa de varredura da CPU. Sem repetição em 64 varreduras é erro.

Normas e métodos

  • IEC 61131-3 — linguagem Ladder (LD) e notação (exibida também com os mnemônicos Siemens LAD e Rockwell Studio 5000)
  • ISO 13850 §4.1.1 — a emergência tem de atuar em toda saída perigosa e não pode ser anulada
  • ISO 13850 §4.3.4 e IEC 60204-1 §10.7.4 — dispositivo de emergência com abertura positiva (NF no campo)
  • IEC 60204-1 §9.2.2 — todo comando de máquina precisa de função de parada
  • IEC 60204-1 §9.4.2.1 — leitura invertida de dispositivo NF de campo falha para o lado inseguro
  • ISO 13849-1 e IEC 62061 — PL e SIL não determinados (fora do escopo declarado)

Valores típicos de referência

Grandeza Faixa típica Observação
Variáveis de varredura da análise exaustiva até 12 (entradas de campo lidas + saídas de temporizador/contador lidas) 4096 combinações; acima disso não há afirmação sobre saída sempre ligada, inalcançável ou entrada sem efeito
Linhas emitidas na tabela de estados até 8 variáveis (256 linhas) —
Varreduras para estabilizar 64 —
Limites do programa 100 degraus · 200 símbolos · 40 elementos por degrau · 12 níveis de aninhamento —
Tempo de varredura da bancada 10 ms por padrão, de 1 a 10000 ms —
Blocos de temporização TON · TOF · TP · RTO (preset em ms) —
Blocos de contagem CTU · CTD · CTUD (preset PV) —
Contatos e bobinas — IEC / Siemens LAD / Studio 5000 NA --| |-- XIC · NF --|/|-- XIO · bobina --( )-- OTE · set (S) OTL · reset (R) OTU —

Exemplo resolvido

Partida estrela-triângulo com selo, transição por TON e emergência

Entradas

S1 partida (%I0.0)
NA no campo lida por contato NA
S0 parada, EMG emergência, FT1 sobrecarga (%I0.1–%I0.3)
NF no campo lidas por contato NA
Degrau D1 — comando de marcha M-MARCHA
(S1 + M-MARCHA) · S0 · EMG · FT1 selo
Degrau D2 — temporizador T-TRANS (TON)
5000 ms, acionado por M-MARCHA
Degraus D3 / D4 — contatores de estrela / triângulo
M-MARCHA · /T-TRANS | M-MARCHA · T-TRANS · /K-ESTRELA —
Tempo de varredura da bancada
10 ms

Resultados

Veredito
OK 0 erros, 0 alertas, 3 informações
Variáveis de varredura
5 4 entradas + saída do T-TRANS → 32 combinações
Combinações viáveis
17 de 32 15 descartadas pelo TON (Q ⇒ IN)
Repouso
estável em 1 varredura todas as saídas em 0
Pulso em S1 em t = 10 ms
M-MARCHA = 1, K-ESTRELA = 1 selado, temporizador contando
Transição em t = 5,00 s (ET = PT)
K-ESTRELA = 0, K-TRIANGULO = 1 mesma varredura, sem sobreposição
EMG aberta
todas as saídas = 0 na varredura seguinte, ET volta a 0

O veredito traz três informações: S0 e EMG são NF no campo e lidas por contato NA (a leitura segura pretendida), 15 das 32 combinações são inalcançáveis porque um TON não pode estar concluído com a entrada em 0, e o tempo está fora da análise estrutural. A bancada cobre essa lacuna: o contator de estrela cai e o de triângulo entra na mesma varredura, em 5,00 s, porque o D4 lê o K-ESTRELA escrito no D3 logo acima — sem atraso de varredura. Abrir a EMG derruba o comando de marcha e, por ele, os dois contatores, numa varredura.

Fazer o seu cálculo Crie uma conta grátis e tenha isto com os seus dados em segundos.

Erros comuns

  • Ler parada ou emergência NF de campo por contato NF num degrau que energiza saída. A cadeia passa a habilitar só com o sinal em 0 — botoeira apertada, fio partido ou borne solto. Para parada e emergência é erro; sem papel declarado é alerta.
  • Declarar a emergência como NA no campo. A ISO 13850 §4.3.4 e a IEC 60204-1 §10.7.4 exigem abertura positiva; fio partido deixaria a emergência sem efeito. É erro.
  • Escrever a mesma bobina em dois degraus. Os editores de fabricante compilam com aviso e vale a última escrita da varredura, o que faz o comportamento depender da ordem dos degraus. Aqui é erro, assim como misturar bobina simples com SET/RESET no mesmo símbolo.
  • Selar um comando sem nenhuma condição em série, K1 = S1 + K1. Nada o desliga; a IEC 60204-1 §9.2.2 exige função de parada. É erro independentemente da notação — o mesmo comando escrito com SET é reprovado como SET sem RESET.
  • Pôr a emergência num ramo paralelo, ou uma chave de bypass em paralelo com ela. Basta o outro ramo fechar para a saída seguir energizada: a emergência não alcança aquela saída, e bypass sobre ela é erro pela ISO 13850 §4.1.1.
  • Ler uma bobina escrita mais abaixo no programa. O valor chega com uma varredura de atraso; se a emergência só alcança uma saída por essa bobina, a saída fica ligada uma varredura inteira depois de a emergência ser acionada.
  • Deixar temporizador sem preset. Com PT ausente ou zero o bloco comuta na primeira varredura e o retardo não existe.

Perguntas frequentes

Por que ler a emergência NF com contato NA (XIC)?

Porque o dispositivo NF de campo fica em 1 no repouso. Lido por contato NA, o degrau só habilita com o sinal em 1, então apertar a botoeira, romper o fio ou soltar o borne derrubam o comando. Lido por contato NF, o degrau só habilitaria em 0 — justamente nos estados de falha —, o que é inversão para o lado inseguro.

Bobina duplicada é mesmo erro? Meu CLP compila.

Compila, e vale a última escrita da varredura. Isso faz a saída depender da ordem dos degraus, o que um memorial assinado não pode sustentar. A ferramenta trata isso como regra de projeto: junte as condições numa rede só ou acumule em bits de memória e escreva a saída num único degrau. Pares SET/RESET são isentos.

Como a ferramenta trata temporizadores se o veredito não simula tempo?

Na análise estrutural a saída de cada temporizador é uma variável livre restringida pelo bloco — um TON não pode estar concluído com a entrada em 0. Isso responde se o programa pode fazer algo em algum momento, para qualquer preset. A bancada roda os temporizadores contra um relógio para mostrar quando.

Como ela confere se a emergência alcança todas as saídas?

Por dominância: acionar a emergência tem de forçar cada saída física a 0, seguindo série, paralelo e cadeias de bobina intermediária na ordem de varredura. Emergência em ramo paralelo não domina, contato de borda não conta, e saídas retidas por SET/RESET saem como não avaliadas.

Ela aceita a notação Siemens LAD e Studio 5000?

A notação é atributo do projeto: nomes IEC 61131-3, símbolos Siemens LAD ou mnemônicos Studio 5000 (XIC, XIO, OTE, OTL, OTU, ONS). Ela muda os rótulos na tela e no memorial, nunca a avaliação.

O que fica fora do escopo?

JMP/LBL, MCR, sub-rotinas e blocos de função de usuário, laços FOR, instruções de comparação e matemática, blocos certificados de segurança e endereçamento indireto. Ela não determina Performance Level da ISO 13849-1 nem SIL da IEC 62061.

Glossário

Degrau
Uma linha do programa Ladder — uma rede de contatos e uma ou mais saídas.
Imagem de processo
Cópia em memória de entradas e saídas que os degraus leem e escrevem durante a varredura.
Selo
Contato NA da própria bobina em paralelo com a condição de partida, mantendo a bobina ligada.
TON
Temporizador de retardo na energização — a saída Q vai a 1 quando a entrada IN fica em 1 pelo tempo PT.
Bobina duplicada
O mesmo símbolo escrito por mais de uma instrução de bobina; vale a última escrita da varredura.
Leitura antes da escrita
Contato que lê um símbolo cuja bobina está num degrau posterior e enxerga o valor da varredura anterior.