Partilhar: WhatsApp
aulify · Sebenta
UC · Unidade de Competência · UC02940

UC02940 · PLC — Programação industrial

Siemens TIA Portal, ladder, GRAFCET, comunicações
50h · 4.5 pontos crédito Curso: T. Mecatrónica ↗ Referencial oficial SNQ
Índice

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:

  1. LAD (Ladder Diagram) — gráfica, baseada em diagramas eléctricos.
  2. FBD (Function Block Diagram) — gráfica, blocos funcionais.
  3. STL/IL (Statement List / Instruction List) — texto, baixo nível.
  4. ST/SCL (Structured Text) — texto, alto nível (tipo Pascal).
  5. 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)

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):

  1. Comprar PLC equivalente (mesmo modelo se possível).
  2. Configurar IP e parâmetros.
  3. Baixar programa do backup.
  4. Validar I/Os (cada um manualmente).
  5. 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


Apêndice C · Recursos