Módulo 09 — Aplicações Práticas
Aqui você vai juntar tudo que aprendeu: Ladder + temporizadores + contadores + permissivas + falhas. A ideia é sair com 3 aplicações completas (padrão industrial) e um jeito “profissional” de organizar tags e redes para comissionamento.
Objetivos
- Montar um controle de motor com partida atrasada (TON) e pós-ventilação (TOF).
- Montar um lote por contagem (CTU) com bloqueio e reset.
- Montar um alarme com retenção (falha latched) e reset seguro.
- Usar padrão de organização: comando interno + saída física.
1) Tags do projeto prático (sugestão)
Use nomes claros. Ajuste endereços conforme seu hardware. Aqui usamos o padrão I/Q/M e alguns DBs para parâmetros.
2) Aplicação 1 — Motor com partida atrasada (TON) + pós-ventilação (TOF)
Cenário: ao dar Start, o motor liga após 3s (TON). Ao desligar o motor, o ventilador fica ligado mais 10s (TOF). Tudo com Stop + térmico como permissivas.
Network A — Selagem do comando (M_MotorCmd)
--|/|----| |----+----| |---------( )--
I_Stop I_TermicoOK | I_Start M_MotorCmd
|
+----| |------+
M_MotorCmd
Network B — TON (partida atrasada)
--| |--------------[ TON T_Partida ]---- M_MotorCmd PT = DB10.T_Partida_s
Network C — Saída do motor (Q_Motor)
--| |-------------------------( )-- T_Partida.Q Q_Motor
Network D — TOF (pós-ventilação)
--| |--------------[ TOF T_Fan ]-------- Q_Motor PT = DB10.T_Fan_s --| |-------------------------( )-- T_Fan.Q Q_Ventilador
3) Aplicação 2 — Lote por contagem (CTU) com bloqueio
Cenário: contar peças (sensor) até PV do lote. Ao atingir PV, aciona Q_FimLote e bloqueia a partida do motor.
Network E — Gerar pulso por borda (R_TRIG)
--| |----[R_TRIG P_Peca]----( )--------- I_SensorPeca P_Peca.Q M_PulsoPeca
Network F — CTU (contador de peças)
--| |----------------[ CTU C_Lote ]-----
M_PulsoPeca PV = DB10.PV_Lote
R = I_LoadLote (ou I_ResetFalha, conforme seu padrão)
Network G — Fim de lote + bloqueio
--| |-------------------------( )-- C_Lote.Q Q_FimLote
Onde inserir o bloqueio (na Network A)
--|/|----| |----|/|----+----| |----( )--
I_Stop I_TermicoOK Q_FimLote | I_Start M_MotorCmd
|
+----| |------+
M_MotorCmd
4) Aplicação 3 — Falha com retenção (alarme latched) e reset seguro
Cenário: se o térmico desarmar, grava uma falha (fica “travada”) até o operador resetar. O alarme aciona uma saída (sirene/lâmpada) e bloqueia motor.
Network H — Detectar falha térmico
--|/|-------------------------( )-- I_TermicoOK M_FalhaTermico
Network I — Latch do alarme (Set/Reset)
--| |-------------------------(S)-- M_FalhaTermico M_AlarmeLatched --| |-------------------------(R)-- I_ResetFalha M_AlarmeLatched
Network J — Saída de alarme e bloqueio
--| |-------------------------( )-- M_AlarmeLatched Q_Alarme
5) Roteiro de testes (comissionamento)
- 1) Monitorar I_Start/I_Stop/I_TermicoOK online (status).
- 2) Testar motor: Start sela → após TON liga Q_Motor → Stop derruba.
- 3) Testar ventilador: desligar motor → TOF mantém Q_Ventilador por T_Fan_s.
- 4) Testar lote: gerar pulsos no sensor → CV sobe → ao PV, Q_FimLote liga.
- 5) Confirmar bloqueio: com Q_FimLote=1, motor não deve selar.
- 6) Testar falha: simular térmico abrindo → alarme latched → motor bloqueado → reset com segurança.
- 7) Confirmar: sem forces ativos e CLP em RUN.
6) Exercícios (para você praticar)
Exercício 1 — Ajuste por DB
Crie DB10 com PV_Lote, T_Partida_s e T_Fan_s e substitua valores fixos pelos parâmetros.
Exercício 2 — Reset condicionado
Faça o reset do alarme latched só funcionar se I_TermicoOK=1 e I_Stop=1.
Exercício 3 — Contagem por turno
Crie um totalizador (DINT em DB) que some peças por pulso e zere ao iniciar turno.