Ficha 01 · Princípios, hardware, ladder
- Hardware
- Ladder
- Lógica
- Casos
Parte I · Princípios
Exercício 1 · Ciclo de scan (10 pts)
a) Descreve o ciclo de scan de um PLC. b) Que tempo típico de ciclo? c) Implicações para sinais críticos rápidos?
a) Ciclo de scan: 1. Ler entradas: snapshot de todas as entradas físicas. 2. Executar programa: processar lógica do início ao fim com snapshot. 3. Actualizar saídas: gravar resultados nas saídas físicas. 4. Gestão interna: comunicação, diagnóstico, watchdog. 5. Voltar a 1.
b) Tempo típico: 5-50 ms para PLCs modernos. Determinístico (sempre similar, independente de carga).
c) Implicações: - Latência máxima entre input e output = tempo de ciclo. - Para sinais críticos rápidos (> 100 Hz): - Interrupções de hardware: PLC executa rotina específica fora do ciclo normal. - Módulos de I/O rápidos: HSC (High Speed Counter) para contagens > 10 kHz. - Servomotores: comando via Profinet IRT com ciclo de 1 ms.
Exercício 2 · Selecção PLC (15 pts)
Para cada aplicação, selecciona PLC e justifica:
a) Pequena máquina de embalagem: 5 sensores, 3 motores, 1 ecrã pequeno. b) Linha de produção média: 80 I/Os digitais, 20 analógicos, vários servomotores. c) Sistema de segurança em prensa industrial. d) Retrofit de máquina antiga com PLC obsoleto.
a) Pequena máquina: - Siemens S7-1212C DC/DC/DC: 8 DI + 6 DO + 2 AI, expansão até 24 I/Os. - Compacto, custo ~280 €. - Ou Schneider M221, Allen-Bradley Micro820. - HMI: Siemens KTP400 (~250 €).
b) Linha média 80 + 20 I/Os: - Siemens S7-1500 ou S7-1200 com expansão: - S7-1500 1511C: CPU + módulos I/O via backplane. - Custo CPU: 800-1500 €. - Módulos I/O adicionais: ~150-300 € cada (16 I/Os). - Total: ~3000-5000 €. - Para servomotores: módulos Profinet IRT. - HMI: KTP700 ou Comfort Panel.
c) Segurança prensa: - PLC de segurança certificado SIL3 / PLe: - Siemens S7-1500F. - Allen-Bradley GuardLogix. - Pilz PSS (dedicado para segurança). - Programa em linguagem certificada. - Auditoria por organismo notificado se Anexo IV. - Custo: 2-5× PLC standard.
d) Retrofit PLC antigo: - Modbus ou Profibus se quiser compatibilidade com infraestrutura. - Considerar S7-1200 (Siemens, fácil migração) ou similar. - Manter cabos existentes se possível (poupa muito tempo). - Documentar tudo (esquemas, programa antigo se acessível).
Parte II · Ladder básico
Exercício 3 · Programa start/stop (15 pts)
Programa em ladder (notação Siemens) para: - Motor liga com botão START (NO). - Motor pára com botão STOP (NC). - Lâmpada verde acende quando motor liga. - Lâmpada vermelha acende se relé térmico dispara.
I/O: I0.0=START, I0.1=STOP (NC), I0.2=Relé térmico (NC), Q0.0=motor (contactor), Q0.1=lâmpada verde, Q0.2=lâmpada vermelha.
Programa em ladder:
| // Network 1: Comando do motor com auto-retenção
| I0.0 I0.1 I0.2 Q0.0
|──┤├─────┤├──────────┤├─────────────────────────( )──|
| START STOP Térmico |
| |
| Q0.0
|──┤├──┘ (auto-retenção)
| // Network 2: Lâmpada verde "motor a funcionar"
| Q0.0 Q0.1
|──┤├────────────────────────────────────────────( )──|
|
| // Network 3: Lâmpada vermelha "alarme térmico"
| I0.2 Q0.2
|──┤NOT├──────────────────────────────────────────( )──|
| (Quando NC do térmico abre, I0.2 vai a 0, |
| NOT(I0.2)=1, lâmpada acende)
Explicação: - Network 1: motor activa quando START premido + STOP não premido + térmico não disparou. Q0.0 mantém-se via auto-retenção. - Network 2: lâmpada verde acompanha Q0.0. - Network 3: lâmpada vermelha acende quando relé térmico dispara (I0.2 vai a 0, NOT = 1).
Notas: - STOP NC: cabo cortado também activa STOP (fail-safe). - Relé térmico NC: idem. - Em caso de queda de tensão: Q0.0 desactiva → motor pára (segurança). - Operador deve resetar manualmente (re-premir START) após qualquer paragem.
Exercício 4 · Temporização (15 pts)
Programa para: - Premir START → cilindro avança. - Quando atinge fim (B1) → espera 2 segundos. - Após 2s → cilindro recua. - Quando recolhe completamente (B2) → ciclo termina, aguarda próximo START.
Programa:
| // Network 1: Iniciar avanço
| I0.0 I0.1 I0.2 M0.0 (avanço)
|──┤├─────┤NC├─────────┤├──────────────────────( S )──|
| START STOP B2 (recolhido) |
| // Network 2: Parar avanço quando atinge B1
| I0.3 M0.0
|──┤├──────────────────────────────────────────( R )──|
| B1
|
| // Network 3: Saída avanço enquanto M0.0 = 1
| M0.0 Q0.0
|──┤├──────────────────────────────────────────( )──|
|
| // Network 4: Iniciar temporizador 2s quando B1 activo
| I0.3 T1
|──┤├──────────────────────────IN───PT=T#2s────Q──┐
| B1 │
| │
| // Network 5: Activar recuo após temporização
| T1.Q │ M0.1 (recuo)
|──┤├──────────────────────────────────────────────┴─( S )──|
|
| // Network 6: Reset recuo quando atinge B2
| I0.2 M0.1
|──┤├──────────────────────────────────────────( R )──|
| B2
|
| // Network 7: Saída recuo (em biestável)
| M0.1 Q0.1
|──┤├──────────────────────────────────────────( )──|
|
| // Network 8: STOP/Emergência reseta tudo
| I0.1
|──┤NOT├──┐ (NC do STOP — se premido, sinal vai a 0)
| │
| ├──────────────────────( R M0.0 )──|
| │ ( R M0.1 )──|
| │ ( R T1 )──|
Sequência: 1. START premido (com B2 activo) → SET M0.0. 2. Q0.0 = 1 → cilindro avança. 3. B1 activa → RESET M0.0 → Q0.0 = 0. 4. B1 inicia T1 (2s). 5. Após T1.Q → SET M0.1 → Q0.1 = 1 → cilindro recua. 6. B2 activa → RESET M0.1 → Q0.1 = 0. 7. Sistema em repouso, pronto para próximo START.
Em válvula monostável (1 solenoide + mola): basta gerir Q0.0 (avanço). Em queda de Q0.0, mola devolve cilindro automaticamente. Network 7 não seria necessário.
Parte III · GRAFCET
Exercício 5 · Sequência multi-cilindro (15 pts)
Sequência A+ B+ A− B−.
a) Desenha GRAFCET. b) Lista I/Os necessários. c) Em alternativa a GRAFCET, esboça ladder equivalente.
a) GRAFCET:
╔══╗
║ 0║ Inicial. Cilindros recolhidos.
╚═╤╝
│ Trans: START AND B2A AND B4B
▼
┌──┐ ┌─────────┐
│ 1├─┤ EV_A+ │
└─┬┘ └─────────┘
│ Trans: B1A
▼
┌──┐ ┌─────────────────┐
│ 2├─┤ EV_A+; EV_B+ │ (A mantém + B avança)
└─┬┘ └─────────────────┘
│ Trans: B3B
▼
┌──┐ ┌─────────────────┐
│ 3├─┤ EV_A−; EV_B+ │ (A recua + B mantém)
└─┬┘ └─────────────────┘
│ Trans: B2A
▼
┌──┐ ┌─────────┐
│ 4├─┤ EV_B− │ (B recua)
└─┬┘ └─────────┘
│ Trans: B4B
▼
(volta a 0)
b) I/Os:
| Endereço | Função |
|---|---|
| I0.0 | START |
| I0.1 | STOP/Emergência (NC) |
| I0.2 | B1A (cilindro A avançado) |
| I0.3 | B2A (cilindro A recolhido) |
| I0.4 | B3B (cilindro B avançado) |
| I0.5 | B4B (cilindro B recolhido) |
| Q0.0 | EV_A+ (avanço A) |
| Q0.1 | EV_A− (recuo A — biestável) ou desliga Q0.0 (monostável) |
| Q0.2 | EV_B+ (avanço B) |
| Q0.3 | EV_B− (recuo B) |
c) Ladder equivalente (usando memórias):
// 1 memória por estado
// M10.0 = estado 0 (inicial)
// M10.1 = estado 1 (A+)
// M10.2 = estado 2 (A+ B+)
// M10.3 = estado 3 (A− B+)
// M10.4 = estado 4 (B−)
| // Inicialização (M10.0 = 1 ao arranque)
| FirstScan M10.0
|──┤├──────────────────────────────────────────────( S )──|
| // Transição 0→1: START AND B2A AND B4B
| M10.0 I0.0 I0.3 I0.5 M10.0
|──┤├─────┤├──────┤├──────┤├────────────────────( R )──|
| START B2A B4B M10.1
| ( S )──|
| // Transição 1→2: B1A
| M10.1 I0.2 M10.1
|──┤├─────┤├────────────────────────────────────( R )──|
| B1A M10.2
| ( S )──|
| // Transição 2→3: B3B
| M10.2 I0.4 M10.2
|──┤├─────┤├────────────────────────────────────( R )──|
| B3B M10.3
| ( S )──|
| // Transição 3→4: B2A
| M10.3 I0.3 M10.3
|──┤├─────┤├────────────────────────────────────( R )──|
| B2A M10.4
| ( S )──|
| // Transição 4→0: B4B
| M10.4 I0.5 M10.4
|──┤├─────┤├────────────────────────────────────( R )──|
| B4B M10.0
| ( S )──|
| // Acções por estado
| // EV_A+ activo em estados 1 e 2
| M10.1 Q0.0
|──┤├──┐ ( )──|
| M10.2 │
|──┤├──┘
|
| // EV_A− activo em estado 3 (em biestável)
| M10.3 Q0.1
|──┤├────────────────────────────────────────────( )──|
|
| // EV_B+ activo em estados 2 e 3
| M10.2 Q0.2
|──┤├──┐ ( )──|
| M10.3 │
|──┤├──┘
|
| // EV_B− activo em estado 4
| M10.4 Q0.3
|──┤├────────────────────────────────────────────( )──|
| // Tratamento de emergência: STOP reseta tudo, vai a M10.0
| I0.1
|──┤NOT├──┐
| │
| ├─( R M10.1 )──( R M10.2 )──( R M10.3 )──( R M10.4 )──|
| │
| └─( S M10.0 )──|
Comparação: - GRAFCET: 8 linhas, muito visual. - Ladder: ~30 networks, mais complexo mas funcional.
Por isso GRAFCET / SFC é preferido para sequências.
Parte IV · Comunicação
Exercício 6 · Profinet (10 pts)
a) Que vantagens de Profinet vs Profibus? b) Como configurar IP num PLC Siemens? c) Que tipologia de rede usar (estrela, linha, anel)?
a) Profinet vs Profibus:
| Aspecto | Profinet | Profibus DP |
|---|---|---|
| Velocidade | 100 Mbit/s+ | 12 Mbit/s |
| Topologia | Estrela, linha, anel | Linha (daisy chain) |
| Cabo | Ethernet (CAT5e/6) | RS-485 |
| Distância por segmento | 100 m | 100-1200 m conforme velocidade |
| Endereçamento | IP | Endereço 0-126 |
| Diagnóstico | Avançado, web servers | Limitado |
| Integração IT | Nativa | Requer gateway |
Profinet é mais moderno e standard em novas instalações Siemens.
b) Configurar IP num PLC Siemens (S7-1500 ou S7-1200):
- Hardware Configuration no TIA Portal:
- Definir IP do PLC (ex: 192.168.0.1).
- Definir subnet mask (255.255.255.0).
-
Definir gateway se aplicável.
-
Atribuição inicial:
- PLC novo: usar "Set IP address" no TIA Portal via interface PC-PLC directa.
-
Ou via cartão SD com configuração pré-feita.
-
Verificação:
- Ping ao PLC do PC.
- Conexão via TIA Portal.
c) Topologia:
- Estrela (cada PLC/HMI ligado a um switch central):
- Pro: falha de um cabo não afecta os outros.
- Contra: cabo extra por cada dispositivo.
-
Standard para escritórios e PLCs centrais.
-
Linha (daisy chain):
- Pro: cabo curto, simples.
- Contra: falha numa secção desliga tudo a jusante.
-
Usada em I/Os remotos (Siemens ET 200SP).
-
Anel (ring) com MRP (Media Redundancy Protocol):
- Pro: redundância — falha numa secção, dados circulam no outro sentido.
- Contra: configuração mais complexa.
- Standard em aplicações críticas (linha 24/7).
Para fábrica média: - Esqueleto principal: anel com switches industriais (Scalance, Hirschmann). - Ramificações: estrela a partir do anel. - I/Os remotos: linha local em cada zona.
Investimento em switches industriais redundantes paga-se em fiabilidade.
Parte V · Diagnóstico
Exercício 7 · TIA Portal online (10 pts)
a) Como conectar PC ao PLC? b) Como ver valores em tempo real? c) Quando usar "Force"? d) Como interpretar erros no Diagnostic Buffer?
a) Conectar PC ao PLC:
Pré-requisitos: - TIA Portal instalado. - Cabo Ethernet. - PC e PLC na mesma subnet.
Procedimento: 1. Conectar cabo Ethernet PC ↔ PLC (directo ou via switch). 2. Configurar IP do PC para estar na mesma subnet do PLC (ex: PC=192.168.0.10, PLC=192.168.0.1). 3. No TIA Portal, abrir projecto. 4. Go Online (Ctrl+K) — TIA Portal procura PLC. 5. Aceitar credenciais (password se configurada). 6. Aparece indicação "Online" verde.
b) Ver valores em tempo real:
- No bloco de programa, premir Monitor (Ctrl+Shift+M):
- Cada contacto/bobina mostra estado (verde activo, cinza inactivo).
-
Linhas de "corrente" visíveis.
-
Watch Table (Add new watch table):
- Adicionar variáveis de interesse.
- Ver valores actualizados em tempo real.
-
Útil para variáveis não-visuais (contadores, valores analógicos).
-
Trace (View → Trace):
- Gravar sinais ao longo do tempo (1-1000 ms resolução).
- Equivalente a osciloscópio.
- Útil para sinais transientes que não se vêem no Monitor.
c) Quando usar Force:
Force entrada: simular sinal sem actuar sensor físico. - Útil para testar lógica quando sensor não é acessível. - Cuidado: PLC ignora estado real do sensor.
Force saída: activar bobina ignorando programa. - PERIGOSO: pode mover máquinas! - Útil para teste de actuadores em desenvolvimento. - Apenas em ambiente controlado.
Boas práticas: - Avisar colegas antes de fazer force. - Garantir segurança (LOTO se necessário). - Limpar force imediatamente após teste. - Indicação clara no TIA Portal quando há force activo. - Nunca esquecer force activo (causa comportamento confuso).
d) Diagnostic Buffer:
Log interno do PLC com eventos. Acedido em Online & Diagnostics.
Tipos de evento: - Verde: informação (start, stop). - Amarelo: avisos. - Vermelho: erros.
Erros típicos: - CPU goes to STOP: erro de programa, divisão por zero, watchdog. - Module fault: módulo I/O em falha. - Communication error: perda de comunicação Profinet. - Battery low: bateria do PLC fraca. - Diagnostic from station: I/O remoto reporta problema.
Acção: - Identificar erro mais recente que parou produção. - Consultar causa provável + acção recomendada no help. - Resolver problema (substituir módulo, corrigir cabo, etc.). - Limpar buffer após resolução.
Exercício 8 · Backup (10 pts)
a) Que dados guardar como backup? b) Frequência? c) Onde guardar? d) Como restaurar em caso de avaria do PLC?
a) Dados a guardar:
- Programa fonte completo (.ap18 ou versão do TIA Portal).
- Configuração de hardware (rack, módulos, endereços IP).
- Mapas de I/O (etiquetas, descrições, comentários).
- Receitas e parâmetros (do PLC e do HMI).
- Dados retentivos (DBs, M-memory marcadas como retentive).
- Documentação (esquemas eléctricos, manuais, lista de peças).
- Versões anteriores (manter histórico de alterações).
b) Frequência:
- Após cada modificação significativa (mesmo pequena).
- Pelo menos mensalmente mesmo sem alterações (para confirmar funcionamento dos backups).
- Antes de qualquer intervenção arriscada.
c) Onde guardar (regra 3-2-1):
- 3 cópias dos dados.
- Em 2 tipos diferentes de mídia.
- 1 cópia offsite.
Exemplo prático: 1. PC do programador (acesso diário). 2. Servidor da empresa (backup automatizado nightly). 3. Cloud (Google Drive, Dropbox, OneDrive — cifrado). 4. Bonus: cartão SD no próprio PLC (Siemens S7-1200/1500 suportam).
Segurança: - Cifragem dos backups (especialmente cloud). - Controlo de acesso (apenas pessoal autorizado). - Versioning (manter histórico, não substituir).
d) Restauro em caso de avaria:
Cenário: PLC queimou; substituir.
Procedimento:
- Comprar PLC equivalente (mesma referência idealmente; ou compatível).
- Substituir fisicamente:
- LOTO.
- Desligar cabos com cuidado (etiquetar).
- Instalar novo PLC.
- Configurar IP inicial:
- Conectar PC com TIA Portal.
- Atribuir IP correcto.
- Baixar configuração de hardware do backup.
- Baixar programa fonte.
- Baixar receitas e parâmetros (HMI também se aplicável).
- Verificar I/Os:
- Cada entrada activa correctamente.
- Cada saída comuta correctamente.
- Teste funcional completo (sem carga primeiro).
- Documentar: substituição registada, número de série do PLC novo.
Tempo: 2-8 horas se backup estiver actualizado e bem documentado.
Sem backup: dias a semanas de re-programação. Risco enorme de introduzir bugs novos.
Lição: investir em backup é investir em disponibilidade futura.