UC02940 · PLC — Programação industrial
Há um pacote premium desta unidade: um PowerPoint editável de 100 ou mais diapositivos, um manual em PDF e dois testes com correção. Esta sebenta continua gratuita.
Introdução
O PLC (Programmable Logic Controller) é o cérebro de praticamente toda a automação industrial moderna. Substituiu lógica de relés desde os anos 1980 pela sua flexibilidade, fiabilidade e capacidade de comunicação.
Esta unidade (50h, a mais longa do Bloco 5) cobre:
- Hardware do PLC (CPU, I/O, comunicação).
- Linguagens IEC 61131-3 (ladder, GRAFCET, ST).
- Programação prática com Siemens TIA Portal (standard europeu).
- Comunicação industrial (Profinet, Profibus, Modbus).
- Diagnóstico e manutenção.
- Aplicação a casos reais.
O técnico de manutenção industrial moderno não pode ignorar o PLC — está presente em todas as máquinas industriais e a sua intervenção é frequente.
1. Princípios e arquitectura
1.1 O que é um PLC
PLC = Programmable Logic Controller (controlador lógico programável).
Computador industrial dedicado que:
- Lê entradas (sensores, botoeiras, sensores de fim-de-curso, etc.).
- Executa lógica programada (em código).
- Comanda saídas (electroválvulas, contactores, motores, displays).
- Repete continuamente o ciclo (5-50 ms tipicamente).
1.2 Ciclo de scan
PLC executa ciclicamente:
1. LER todas as entradas (snapshot).
2. EXECUTAR programa (do início ao fim).
3. ATUALIZAR todas as saídas (output update).
4. Gestão de comunicações, diagnóstico interno.
5. Voltar a 1.
Tempo de ciclo: 5-50 ms para PLCs modernos. Determinístico (sempre o mesmo intervalo, independentemente do que está a acontecer).
Implicação: PLC não responde instantaneamente — há latência máxima = tempo de ciclo. Para sinais críticos rápidos, usar interrupções (hardware ou software).
1.3 Vs lógica de relés
Antes do PLC, automação fazia-se com lógica de relés:
- Cada lógica = combinação física de relés.
- Modificar = re-cablar.
- Diagnóstico = seguir cabo a cabo.
- Custo = elevado em sistemas grandes.
PLC introduziu:
- Lógica em software (modificável).
- Diagnóstico online (monitorizar I/O em tempo real).
- Comunicação com outros sistemas.
- Modularidade e expansibilidade.
- Custo mais baixo em sistemas grandes.
1.4 Arquitectura
Componentes essenciais:
CPU (Central Processing Unit):
- Microprocessador.
- Memória RAM (programa e dados em execução).
- Memória flash (programa armazenado).
- Bateria/super-capacitor para reloj e dados retentivos.
Módulos I/O:
- Digitais (DI/DO): 24V CC tipicamente.
- Analógicos (AI/AO): 0-10V, 4-20mA, Pt100, termopar.
- Especiais: contadores rápidos, módulos de movimento, comunicação.
Fonte de alimentação: tipicamente 24V CC, alimentada da rede 230V CA via fonte chaveada externa.
Comunicação: porta Ethernet (Profinet, EtherNet/IP) e/ou portas série (RS-232, RS-485).
Bus interno: comunicação entre CPU e módulos (backplane).
2. Hardware do PLC
2.1 Tipos de PLC
Compacto:
- CPU + I/Os básicos num único bloco.
- 10-100 I/Os.
- PMEs, máquinas simples-médias.
- Exemplos: Siemens S7-1200, Schneider M221, Allen-Bradley Micro800.
Modular:
- CPU separada; módulos I/O adicionados em rack.
- 100-2000+ I/Os.
- Indústria média-pesada.
- Exemplos: Siemens S7-1500, Allen-Bradley CompactLogix, Schneider M580.
Distribuído (Distributed I/O):
- I/Os remotos via fieldbus (Profinet, Profibus).
- Vantagem: cablagem reduzida em fábricas grandes.
- Exemplos: Siemens ET 200SP, Beckhoff EK1100.
De segurança (Safety PLC):
- Certificado SIL3/PLe (IEC 61508 / ISO 13849).
- Para funções de segurança (paragem de emergência, bi-manual).
- Exemplos: Siemens S7-1500F, Allen-Bradley GuardLogix, Pilz PSS.
2.2 Marcas dominantes
Europa:
- Siemens (S7-1200, S7-1500): standard europeu, dominante.
- Schneider Electric (Modicon M221/M580, EcoStruxure): forte presença.
- Beckhoff (TwinCAT em CX-series): standard em automação avançada.
- B&R (Bernecker + Rainer): austríacos.
Américas:
- Allen-Bradley / Rockwell (CompactLogix, ControlLogix): dominante nos EUA.
- GE / Emerson.
Ásia:
- Mitsubishi (FX, Q, iQ-R): dominante no Japão.
- Omron.
- Delta: PLCs económicos populares.
Em Portugal: Siemens domina, com forte presença de Schneider Electric.
2.3 I/O digitais
Entradas digitais (DI):
- 24V CC tipicamente.
- PNP standard europeu (sensor liga +24V à entrada).
- NPN alternativo (sensor liga 0V à entrada).
- Filtragem interna para anti-bouncing.
- Isolamento galvânico (opto-isolador).
Saídas digitais (DO):
- Transistor: 24V CC, 0,5A típico. Rápida (< 1ms). Para electroválvulas, lâmpadas LED.
- Relé: contacto seco, até 2A, 230V CA. Mais lenta (10ms). Para cargas maiores ou tensões altas.
- Triac: para cargas CA.
2.4 I/O analógicos
Entradas analógicas (AI):
- 0-10V, ±10V, 4-20mA, 0-20mA.
- Para temperaturas: directamente Pt100, termopar (com módulo específico).
- Resolução: 12 bits (4096 níveis) básico, 16 bits (65536) precisão.
- Tempo de conversão: 1-100 ms.
Saídas analógicas (AO):
- 0-10V, 4-20mA.
- Para válvulas proporcionais, variadores de frequência, SSR.
- Resolução 12-16 bits.
2.5 Módulos especiais
Contagem rápida (HSC — High Speed Counter):
- Contadores para sinais rápidos (> 10 kHz).
- Encoders, contadores de produção.
Módulos de movimento (Motion Control):
- Comando de servomotores via Profinet/EtherCAT.
- Posicionamento, velocidade, binário.
Módulos de comunicação:
- Profibus DP.
- Modbus RTU.
- Gateways HART.
- Outros fieldbus.
2.6 Selecção de PLC
Critérios:
- Número de I/Os (com margem de expansão 20-30%).
- Tipo de I/Os (digitais, analógicos, especiais).
- Velocidade necessária (tempo de ciclo, contadores rápidos).
- Comunicação (Profinet, Modbus, etc.).
- Programação (linguagens suportadas).
- Marca (compatibilidade com restante instalação).
- Suporte e disponibilidade de peças.
- Custo.
3. Linguagens IEC 61131-3
3.1 Norma
IEC 61131-3 define 5 linguagens standard para PLCs:
- LAD (Ladder Diagram) — gráfica, baseada em diagramas eléctricos.
- FBD (Function Block Diagram) — gráfica, blocos funcionais.
- STL/IL (Statement List / Instruction List) — texto, baixo nível.
- ST/SCL (Structured Text) — texto, alto nível (tipo Pascal).
- SFC (Sequential Function Chart) — gráfica, máquinas de estado.
Cada PLC moderno suporta várias destas linguagens — programador escolhe conforme problema.
3.2 Quando usar cada
| Linguagem | Pontos fortes | Quando usar |
|---|---|---|
| LAD | Visual, baseada em relés | Lógica binária simples, manutenção |
| FBD | Blocos reutilizáveis | Blocos complexos (PID, contadores), processo |
| STL | Optimização baixo nível | Performance crítica, código compacto |
| ST/SCL | Algoritmos avançados | Cálculos, strings, loops |
| SFC | Sequências claras | Automação sequencial, GRAFCET |
Boas práticas:
- LAD para lógica de input/output básica.
- FBD para blocos de controlo (PID).
- SCL para algoritmos complexos.
- SFC para sequências multi-estado.
Programa real combina várias — chama-se "linguagem mista".
4. Ladder logic (LAD)
4.1 Símbolos básicos
─┤├─ Contacto Normalmente Aberto (NO)
─┤NOT├─ Contacto Normalmente Fechado (NC)
─( )─ Bobina (saída)
─( S )─ Set (latched on, mantém-se após pulso)
─( R )─ Reset (latched off)
─( P )─ Edge positive (transição 0→1)
─( N )─ Edge negative (transição 1→0)
4.2 Network típico
Cada network = linha horizontal com:
- Lado esquerdo: rail vertical (corrente eléctrica).
- Símbolos representando condições (contactos).
- Lado direito: bobina (saída).
| I0.0 (botão) I0.1 (sensor) Q0.0 (motor)
|──┤├─────────────┤├─────────────────────────( )──|
Trad.: Se I0.0 está activo (botão premido) E I0.1 está activo (sensor) → Q0.0 activa (motor liga).
4.3 Operadores lógicos
AND (série):
| I0.0 I0.1 I0.2 Q0.0
|──┤├────┤├────┤├────────────────────( )──|
Q0.0 = I0.0 AND I0.1 AND I0.2.
OR (paralelo):
| I0.0 Q0.0
|──┤├──┬───────────────────────────────( )──|
| │ |
| I0.1 │
|──┤├──┘ |
Q0.0 = I0.0 OR I0.1.
Combinado:
| I0.0 I0.1 Q0.0
|──┤├────┤├──┬──────────────────────( )──|
| │ |
| I0.2 │
|──┤├─────────┘
Q0.0 = (I0.0 AND I0.1) OR I0.2.
4.4 Auto-retenção
Padrão clássico (START / STOP):
| I0.0 (START) I0.1 (STOP, NC) Q0.0
|──┤├──┬─────────┤NOT├──────────────────────( )──|
| │ |
| Q0.0 │
|──┤├────┘ (auto-retenção)
- Premir START + STOP não premido → Q0.0 activa.
- Q0.0 contacta sobre si próprio (auto-retenção).
- Soltar START: Q0.0 mantém-se via Q0.0.
- Premir STOP: corta a linha → Q0.0 desactiva.
4.5 Temporizadores
TON (Timer On Delay): bobina activa após X tempo de input activo.
| I0.0
|──┤├─────────────────────────IN─T1─PT=T#5s──Q──┐
| │
| T1.Q │
| ──┤├─( Q0.0 )
I0.0 activo durante 5 segundos → T1.Q activa → Q0.0 activa. Se I0.0 desactivar antes de 5s, T1 reseta.
TOF (Timer Off Delay): bobina mantém-se X tempo após input desactivar.
TP (Pulse Timer): gera pulso de duração fixa.
4.6 Contadores
CTU (Count Up): incrementa em cada borda positiva.
| I0.0
|──┤├──CU─────CTR1─PV=10─Q──Q0.0
| I0.1
|──┤├──R (reset)
Cada pulso em I0.0 incrementa contador. Quando atinge 10, Q.Q activa.
CTD: count down. CTUD: bidireccional.
4.7 Comparadores
| MW0 > 100
|──╔═══╗──────────( Q0.0 )──|
| ║ > ║ |
| ╚═══╝
Se MW0 (Memory Word 0) > 100, Q0.0 activa.
4.8 Operações matemáticas
| I0.0
|──┤├──ADD──IN1=MW0─IN2=MW2─OUT=MW4
Quando I0.0 activo, MW4 = MW0 + MW2.
Operações: ADD, SUB, MUL, DIV, MOV, ABS, etc.
5. GRAFCET / SFC
5.1 Conceito
GRAFCET (Graphe Fonctionnel de Commande Etape-Transition) — norma IEC 60848.
Diagrama de estados sequencial:
- Estados (etapas) numerados representam situação da máquina.
- Transições representam passagem entre estados, com condições.
- Acções associadas a cada estado.
Apenas 1 estado activo de cada vez em sequência simples (ou múltiplos em ramos paralelos).
5.2 Símbolos
Etapa inicial (estado 0):
╔══╗
║ 0║
╚══╝
Duplo quadrado indica estado inicial (activo ao arrancar).
Etapa normal:
┌──┐
│ 1│
└──┘
Transição:
┌──┐
│ 1│
└─┬┘
│
─── condição (ex: B1 + START)
│
┌─▼┐
│ 2│
└──┘
Acção associada ao estado:
┌──┐ ┌─────────────┐
│ 1├──┤ EV_A = 1 │
└──┘ └─────────────┘
5.3 Exemplo
Sequência A+ B+ A− B− (2 cilindros):
╔══╗
║ 0║ Repouso (nada activo)
╚═╤╝
│
│ Trans: START + B2A + B4B (recolhidos)
▼
┌──┐ ┌────────────┐
│ 1├──┤ EV_A+ │
└─┬┘ └────────────┘
│ Trans: B1A (A avançado)
▼
┌──┐ ┌────────────┐
│ 2├──┤ EV_A+, EV_B+│
└─┬┘ └────────────┘
│ Trans: B3B (B avançado)
▼
┌──┐ ┌────────────┐
│ 3├──┤ EV_B+, EV_A−│ (recuo A em biestável)
└─┬┘ └────────────┘
│ Trans: B2A
▼
┌──┐ ┌────────────┐
│ 4├──┤ EV_A−, EV_B−│
└─┬┘ └────────────┘
│ Trans: B4B
▼
(volta a 0)
5.4 Convergência e divergência
Divergência paralela (vários ramos activos):
┌──┐
│ 5│
└─┬┘
│
═════╪════ (linha dupla = paralelismo)
│ │
┌─┴─┐ ┌─┴─┐
│6.1│ │6.2│ (activos simultaneamente)
└─┬─┘ └─┬─┘
│ │
═════╪═════
│
┌─▼─┐
│ 7│ (só activa quando 6.1 e 6.2 terminam)
└──┘
Divergência selectiva (apenas 1 ramo activa, conforme condição):
┌──┐
│ 5│
└─┬┘
│
────┼──── (linha simples = selecção)
/ \
cond_A cond_B
│ │
┌─┴─┐ ┌─┴─┐
│6.A│ │6.B│ (apenas um activa)
└───┘ └───┘
5.5 Implementação em PLC
Suporte nativo:
- Siemens TIA Portal: linguagem GRAPH (S7-GRAPH).
- Schneider EcoStruxure: SFC.
- Beckhoff TwinCAT: SFC.
- CodeSys: SFC.
Em ladder (sem suporte nativo):
- 1 memória por estado (M0.0 para estado 0, M0.1 para estado 1, etc.).
- Transições com SET/RESET.
- Acções dependem do estado activo.
5.6 Tratamento de emergência
GRAFCET pode ser forçado a estado de emergência independentemente do estado actual:
| I_emergency
|──┤├──FORCE("Estado_Emergência")
Em estado de emergência: actuadores desactivados, alarme acende, ciclo congelado.
6. Comunicações industriais
6.1 Hierarquia
ERP / MES / Cloud (Empresa) ← Ethernet IT
↓
SCADA / HMI (Supervisão) ← Ethernet industrial
↓
PLC / DCS (Controlo) ← Profinet / EtherNet IP
↓
I/O remotos + instrumentação ← Profibus DP / PA, HART, IO-Link
6.2 Profinet
Standard Siemens, dominante na Europa:
- Ethernet industrial (100 Mbit/s ou 1 Gbit/s).
- Topologias flexíveis (estrela, linha, anel).
- IO Real-Time (RT): tempo real soft (1-10 ms).
- IO Isochronous Real-Time (IRT): tempo real estrito (~1 ms, jitter < 1 µs). Para servomotores.
- PROFIsafe: para sinais de segurança.
6.3 Profibus DP
Mais antigo mas ainda muito usado:
- RS-485, até 12 Mbit/s.
- Configuração mestre-escravo.
- Até 126 endereços.
- Cabo blindado dedicado.
6.4 Modbus
Modbus RTU:
- RS-485 ou RS-232.
- Simples, universal, suporte amplo.
- Velocidade: 9600 a 115200 bps.
Modbus TCP:
- Ethernet sobre TCP/IP.
- Velocidade mais alta.
- Compatível com infraestrutura IT.
Standard em retrofit e equipamentos diversos.
6.5 EtherNet/IP
Standard Allen-Bradley / Rockwell:
- Ethernet industrial.
- CIP (Common Industrial Protocol).
- Dominante nos EUA.
6.6 EtherCAT
Standard Beckhoff:
- Ethernet ultra-rápido (< 100 µs ciclo).
- Padrão em servomotores, controlo de movimento de precisão.
6.7 OPC UA
OPC Unified Architecture:
- Não é fieldbus.
- Middleware para integração de sistemas.
- Cifra, autenticação, agnóstico de plataforma.
- Standard para conectar PLCs a SCADA, MES, cloud.
6.8 MQTT
Protocolo IoT:
- Publish-subscribe.
- Leve, eficiente.
- Para sensores enviarem dados à cloud.
6.9 Comparação
| Protocolo | Velocidade | Aplicação | Standard |
|---|---|---|---|
| Profinet | 100 Mbit/s+ | Geral europeia | IEC 61158 |
| Profibus DP | 12 Mbit/s | I/O remotos antigos | IEC 61158 |
| EtherNet/IP | 100 Mbit/s+ | Geral americana | IEC 61158 |
| EtherCAT | 100 Mbit/s | Movimento | IEC 61158 |
| Modbus TCP | 100 Mbit/s | Universal simples | – |
| Modbus RTU | 115 kbps | Retrofit | – |
7. Diagnóstico e manutenção
7.1 Diagnóstico online
PLCs modernos permitem monitorização em tempo real:
Siemens TIA Portal:
- Monitor: valores de cada variável visível instantaneamente.
- Watch Table: agrupar variáveis de interesse.
- Trace: gravação de sinais ao longo do tempo (osciloscópio digital).
- Cross-references: localizar onde cada variável é usada.
- Diagnostic Buffer: log interno de eventos (erros, restarts, alarmes).
- Hardware Diagnostics: estado de cada módulo, comunicação.
7.2 Forçar valores (Force)
Para teste, pode-se forçar I/Os a valores específicos:
- Entradas: simular sensor activo/inactivo.
- Saídas: activar contactor sem programa.
Cuidados:
- Pode mover máquinas se forçares saídas.
- Pode mascarar bugs se esquecer force activo.
- Indicação visual clara no TIA Portal quando há force.
- Limpar forces após teste.
7.3 Avarias comuns
| Sintoma | Causa provável |
|---|---|
| PLC não comunica | Cabo Ethernet, IP errado, switch industrial, hardware avariado |
| Programa não executa | CPU em STOP (luz vermelha), programa não baixado |
| Entrada lê estado errado | Sensor avariado, cabo cortado, conexão solta |
| Saída não actua | Bobina queimada, fusível, módulo de saída avariado |
| Comunicação intermitente | Cabo, switch, EMI, configuração |
| PLC reset frequente | Tensão instável, sobrecarga numa saída |
7.4 Backup do programa
Crítico para recuperação rápida em caso de avaria:
O que guardar:
- Programa fonte (código no TIA Portal).
- Configuração de hardware (rack, módulos, endereços).
- Receitas e parâmetros (do HMI e PLC).
- Mapas de I/O (etiquetas, descrições).
- Documentação (esquemas, manuais).
Onde guardar:
- PC do programador (com restrições de acesso).
- Servidor da empresa.
- Cloud (cifrada).
- Cartão SD local no PLC (alguns modelos).
Frequência: após cada modificação significativa.
7.5 Substituição de PLC
Quando PLC avaria, substituir em vez de reparar (mais rápido):
- Comprar PLC equivalente (mesmo modelo se possível).
- Configurar IP e parâmetros.
- Baixar programa do backup.
- Validar I/Os (cada um manualmente).
- Teste funcional completo.
Tempo total: 2-8h se backup estiver actualizado.
Sem backup: dias a semanas para re-programar (com risco de bugs novos).
8. Casos práticos
8.1 Comando de cilindro com 2 sensores
Componentes:
- Cilindro duplo efeito + 2 fim-de-curso (B1, B2).
- Botoeiras START + STOP.
- Lâmpada sinalização.
- PLC compacto S7-1212C.
I/Os:
- I0.0: START.
- I0.1: STOP/E (NC).
- I0.2: B2 (recolhido).
- I0.3: B1 (avançado).
- Q0.0: EV avanço.
- Q0.1: Lâmpada.
Programa em ladder:
| // Network 1: Avanço com auto-retenção
| I0.0 I0.1 I0.2 M0.0
|──┤├────┤NC├───┤├──────────────────────────( S )──|
| START STOP B2 (recolhido) |
|
| // Network 2: Reset quando atinge B1 ou STOP
| I0.3 M0.0
|──┤├──┐
| ├─────────────────────( R )──|
| I0.1 │
|──┤├──┘
| STOP
|
| // Network 3: Saída avanço
| M0.0 Q0.0
|──┤├───────────────────────( )──|
|
| // Network 4: Sinalização
| M0.0 Q0.1
|──┤├───────────────────────( )──|
8.2 Controlo PID de temperatura
Componentes:
- Pt100 + transmissor 4-20 mA.
- Resistência eléctrica 5 kW + SSR.
- PLC S7-1200 + módulo SM 1231.
Configuração:
- AI 0: temperatura (0-150 °C).
- AO 0: comando SSR (0-100%).
- Setpoint: 80 °C.
- Bloco PID PLC com auto-tuning.
Programa: instanciar bloco PID, configurar parâmetros, conectar entrada/saída/setpoint.
8.3 Sequência multi-cilindro em GRAFCET
Sequência A+ B+ A− B− já mostrada acima. Implementar em S7-GRAPH ou ladder com memórias.
Apêndice A · Atalhos TIA Portal
| Tecla | Função |
|---|---|
| F2 | Add network |
| F3 | Add NO contact |
| F4 | Add NC contact |
| F5 | Add coil |
| F7 | Add box (timer, counter) |
| Ctrl+I | Insert empty line |
| Ctrl+M | Insert empty network |
| Ctrl+1 | Comment block |
| F9 | Online monitoring |
Apêndice B · Glossário
- PLC — Programmable Logic Controller.
- DCS — Distributed Control System.
- HMI — Human-Machine Interface.
- SCADA — Supervisory Control and Data Acquisition.
- CPU — Central Processing Unit.
- I/O — Inputs and Outputs.
- DI/DO — Digital Input/Output.
- AI/AO — Analog Input/Output.
- HSC — High Speed Counter.
- OB — Organization Block (Siemens).
- FB — Function Block.
- FC — Function.
- DB — Data Block.
- LAD, FBD, STL, ST, SFC — linguagens IEC 61131-3.
- GRAFCET — Graphe Fonctionnel de Commande Etape-Transition.
- OPC UA — middleware standard de integração.
Apêndice C · Recursos
- Siemens TIA Portal Trial: download gratuito siemens.com (30 dias).
- Versão básica gratuita: TIA Portal V18 Step 7 Basic (para S7-1200).
- Simulação: PLCSIM Advanced (simula PLC + HMI).
- Cursos: SIEMENS SITRAIN, Festo Didactic.
- YouTube: canais Siemens Industry Online Support, RealPars.
- Livros:
- "Automating Manufacturing Systems with PLCs" — Hugh Jack (gratuito online).
- "Programmable Logic Controllers" — Frank Petruzella.