A envasadora passou em todos os testes da bancada. No primeiro dia de
produção, uma garrafa balançou embaixo do bico: saiu transbordando, e a caixa foi fechada
com cinco.
O programa que confia no sensor limpo, e o ESP32 ligado direto no 24 V.
2 · o porquê
Sensor de verdade pisca na borda, e pino de microcontrolador não é borne de CLP.
3 · a correção
Memórias que seguram o ciclo, e uma interface entre o 24 V e o 3,3 V.
4 · a prova
A máquina inteira no simulador, e a escolha de cada ligação.
antes do erro
Uma máquina com tudo que veio antes
Uma esteira leva garrafas vazias. Quando uma chega embaixo do bico, o
sensor B1 vê, a esteira para, a válvula Y1 enche por 3 s, e a esteira leva
a garrafa cheia embora. A cada 6 garrafas cheias a caixa fecha: tudo para e acende
H1 até o operador trocar a caixa e apertar S2. Os números são desta aula.
borne
no campo
o que é
de qual aula
I0.0
S0 · NF
parar
02 · NF no fio, NA no programa
I0.1
S1 · NA
partir
02 · selo
I0.2
B1 · PNP NA
garrafa embaixo do bico
01 · o comum do lado certo
I0.3
S2 · NA
caixa trocada
03 · reset que solta
Q0.0
K1
esteira
01 · relé de interface, se a bobina for de rede
Q0.1
Y1
válvula de enchimento
03 · TON
Q0.2
H1
caixa cheia
03 · CTU
E o que fica fora do programa, como em toda máquina: a parada de emergência
corta pelo circuito de segurança, e as partes móveis têm proteção — as aulas N1 e N2 valem aqui inteiras.
09a A garrafa que balançou
sensor real × sensor de bancada · memória de ciclo · contar o que terminou
1 · o erro
O programa da bancada é curto e lê bem — cada linha pergunta direto pro sensor:
linha 1 ──┬──┤ ├ S1 ──┬──┤ ├ S0 ─────────────────( ) M0.0 em marcha
└──┤ ├ M0.0 ┘
linha 2 ──┤ ├ M0.0 ──┤ ├ B1 ─────────────────────[TON T0 3 s]
linha 3 ──┤ ├ M0.0 ──┤ ├ B1 ──┤/├ T0 ─────────────( ) Y1 válvula
linha 4 ──┤ ├ M0.0 ──┤/├ C0 ──┬──┤/├ B1 ──┬───────( ) K1 esteira
└──┤ ├ T0 ──┘
linha 5 ──┤ ├ B1 ──────────────────────────────[CTU C0 6]
linha 6 ──┤ ├ S2 ──────────────────────────────( R ) C0
linha 7 ──┤ ├ C0 ──────────────────────────────( ) H1 caixa cheia
Na bancada, com o B1 numa chave, funciona perfeito: seis garrafas, caixa cheia,
troca, recomeça. Na linha, a garrafa chega com um tranco, balança embaixo do bico e,
por um instante, sai da frente do sensor.
2 · o porquê
O programa trata o B1 como se ele dissesse “tem garrafa”. O que ele diz é “tem
alguma coisa na frente agora, nesta varredura”. Um balanço de um décimo de segundo são
duas varreduras de B1 = 0 — e cada linha que pergunta pro B1 reage:
B1 cai por um instante, no meio do enchimento
linha 2 o TON perde a entrada → o tempo volta a zero
linha 3 a válvula fecha
linha 4 ┤/├ B1 fecha → a esteira dá um tranco
B1 volta
linha 2 o TON começa de novo → mais 3 s → a garrafa transborda
linha 5 uma subida nova do B1 → C0 conta a mesma garrafa duas vezes
São as duas aulas 03 juntas: o TON que zera quando a entrada abre, e o contador que
soma cada subida. Nenhum dos dois está com defeito. A máquina é que ficou dependendo de
um sinal que ninguém garantiu que é limpo.
3 · a correção
O sensor decide quando começa. Depois disso, quem manda no ciclo é uma memória
— ela não pisca:
linha 1 em marcha, com selo ( ) M0.0
linha 2 ──┤ ├ M0.0 ──┤ ├ B1 ──┤/├ M0.2 ──┤/├ C0 ────────────( S ) M0.1 enchendo
linha 3 ──┤ ├ M0.1 ──────────────────────────────────────[TON T0 3 s]
linha 4 ──┤ ├ T0 ─────────────────────────────────┬───────( S ) M0.2 essa já encheu
└───────( R ) M0.1
linha 5 ──┤ ├ K1 ──┤/├ B1 ───────────────────────────────( R ) M0.2 a esteira levou
linha 6 ──┤ ├ T0 ────────────────────────────────────────[CTU C0 6] conta a cheia
linha 7 ──┤ ├ S2 ────────────────────────────────────────( R ) C0
linha 8 ──┤ ├ M0.0 ──┤/├ M0.1 ──┤/├ C0 ──┬──┤/├ B1 ───┬───( ) K1 esteira
└──┤ ├ M0.2 ─┘
linha 9 ──┤ ├ M0.1 ──┤ ├ M0.0 ───────────────────────────( ) Y1 válvula
linha 10 ──┤ ├ C0 ────────────────────────────────────────( ) H1
M0.1 enchendoliga com a garrafa, e só desliga quando o tempo acaba. O
TON olha pra memória, não pro sensor: o balanço não zera nada.
M0.2 essa já encheuimpede de encher a mesma garrafa de novo enquanto
ela ainda está na frente do sensor. Só solta quando a esteira está andando e o
B1 some — um balanço com a esteira parada não conta.
o contador conta o fima subida do T0 acontece uma vez por garrafa
cheia, não importa quantas vezes o B1 pisque.
O jeito geral de pensar: o sensor dispara o passo, a memória sustenta o passo. É
a mesma sequência de etapas da aula 06, desenhada em Ladder.
4 · a prova
Toque em S1. Ligue o B1 (garrafa chegou) e, no meio do enchimento, desligue e ligue
de novo — é o balanço. No ①, olhe o TON voltar a zero e o C0 contar dois. No
②, o enchimento segue, e o C0 só conta quando o T0 fecha. Desligue o B1 com a
esteira andando pra mandar a garrafa embora.
o sensor que pisca na borda de uma peça que balança é tropeço clássico de
passagem da bancada pra linha, montado para esta aula; a envasadora e os números dela
são desta aula. Eu ainda não tenho um CLP físico: a prova roda no simulador do
site.
09b O ESP32 que queimou no primeiro sensor
OpenPLC · endereços %IX e %QX · interface de 24 V pra 3,3 V
1 · o erro
Sem CLP físico, dá pra rodar o mesmo Ladder num ESP32. O OpenPLC Editor,
gratuito e de código aberto, escreve o programa nas linguagens da IEC 61131-3 e manda pra
placa pela USB. O programa sobe, o LED de teste acende. Aí vem o sensor da envasadora:
PNP de 24 V, fio preto direto no pino de entrada. A placa não liga mais.
2 · o porquê
O pino do ESP32 trabalha em 3,3 V e não aguenta mais que isso. O borne de um CLP
é outra coisa: atrás dele tem acoplador óptico, resistor, filtro e proteção — é por isso
que a aula 01 podia ligar 24 V direto nele. O pino do microcontrolador vai direto no
chip. Os mesmos 24 V que acendem o bit do CLP entram no ESP32 com mais de sete vezes a
tensão dele.
E na saída, o contrário: o pino entrega pouca corrente, em 3,3 V. Não puxa bobina de
contator de 24 V, muito menos de 220 V.
3 · a correção
na entradaum módulo de entrada isolado, de 24 V pra 3,3 V, com
acoplador óptico: o sensor acende o LED de um lado, o ESP32 lê o receptor do outro. É
o que o CLP já tem por dentro.
na saídaum transistor comandando um relé de interface, com o diodo na
bobina — o mesmo relé de interface da aula 01. O contato do relé é que comanda o
contator.
os endereçosno OpenPLC, cada variável do programa ganha uma
localização da norma: %IX0.0 é a entrada 0, %QX0.0 a saída 0,
%IW0 uma entrada analógica. Qual pino da placa é cada endereço, o editor
mostra quando você escolhe a placa — confira ali, não num desenho da internet.
O roteiro que eu vou seguir quando montar — ainda não montei:
instalar o OpenPLC Editor e criar um projeto com um programa em Ladder;
copiar o programa ② desta aula, com as localizações da tabela;
escolher a placa ESP32 e anotar qual pino o editor dá pra cada endereço;
mandar pela USB e testar só com botões de 3,3 V e LEDs, sem nada de 24 V;
só então pôr os módulos de entrada isolados e os relés de interface.
ESP32 com OpenPLC é pra aprender, não pra máquina. Não tem certificação
industrial, não tem a imunidade a ruído de um CLP, e a placa trava se a fonte oscilar.
E nunca, em hipótese nenhuma, a parada de emergência ou qualquer função de segurança
passa por ele — nem por um CLP comum, como a aula N1 mostrou.
4 · a prova
Escolha o que vai entre o sensor e o ESP32, e entre o ESP32 e o contator:
o sensor PNP de 24 V vai no ESP32
o pino do ESP32 comanda o contator de 24 V
o OpenPLC Editor e as localizações %IX, %QX e %IW são do projeto OpenPLC,
que segue a IEC 61131-3; os 3,3 V são a tensão dos pinos do ESP32. Eu ainda não montei
o OpenPLC num ESP32: esta parte é o roteiro, não o relato de uma montagem.
sua vez · o projeto final
Faltou garrafa
A envasadora corrigida já está no simulador, e a esteira já tem um contato
esperando a falta (┤/├ M0.3). Falta o resto: se a esteira andar 10 s sem
chegar garrafa, ela para e acende H2, “faltou garrafa”. O S1 apaga o H2 e a
esteira volta. Toque em ✎ editar o programa — há quatro linhas em branco — e confira:
são dez situações, com o relógio correndo.
uma dica, se travar
“Andando e sem garrafa, por 10 s” é um TON com dois contatos: ┤ ├ do Q0.0 e
┤/├ do B1 (I0.2). O bit dele liga a falta com um (S) na
M0.3, porque a falta tem que ficar mesmo depois que a esteira parou. O S1 dá
o (R). E o H2 é uma bobina da M0.3.
para levar
Sensor de verdade pisca. O sensor dispara o passo; uma memória
sustenta o passo até ele terminar — e o contador conta o que terminou, não o que o sensor
viu. Microcontrolador não é CLP: entre o 24 V e o pino vai uma interface isolada, e a
segurança nunca passa por ele.
o fim do caminho
Da aula 00 até aqui: o ciclo de varredura, a ligação dos bornes, o NF que
entra como NA, o tempo e a conta, o contator que demora pra abrir, o sinal analógico, as
outras linguagens, a rede e as marcas. Cada uma com um erro que acontece de verdade. A bancada Ladder livre continua aberta pra você montar as suas
máquinas, e a NR-12 completa fica pra consulta.
CLP do zero · aula 09 · simulado no navegador — ainda sem CLP físico