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
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.
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.
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".
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.
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.
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.
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.
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.