UC02940 · PLC — Programação industrial
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: 1. Lê entradas (sensores, botoeiras, sensores de fim-de-curso, etc.). 2. Executa lógica programada (em código). 3. Comanda saídas (electroválvulas, contactores, motores, displays). 4. 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: 1. Número de I/Os (com margem de expansão 20-30%). 2. Tipo de I/Os (digitais, analógicos, especiais). 3. Velocidade necessária (tempo de ciclo, contadores rápidos). 4. Comunicação (Profinet, Modbus, etc.). 5. Programação (linguagens suportadas). 6. Marca (compatibilidade com restante instalação). 7. Suporte e disponibilidade de peças. 8. 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.