Partilhar: Classroom Teams 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

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:

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:

PLC introduziu:

1.4 Arquitectura

Componentes essenciais:

CPU (Central Processing Unit):

Módulos I/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:

Modular:

Distribuído (Distributed I/O):

De segurança (Safety PLC):

2.2 Marcas dominantes

Europa:

Américas:

Ásia:

Em Portugal: Siemens domina, com forte presença de Schneider Electric.

2.3 I/O digitais

Entradas digitais (DI):

Saídas digitais (DO):

2.4 I/O analógicos

Entradas analógicas (AI):

Saídas analógicas (AO):

2.5 Módulos especiais

Contagem rápida (HSC — High Speed Counter):

Módulos de movimento (Motion Control):

Módulos de comunicação:

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:

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:

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

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:

Em ladder (sem suporte nativo):

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:

6.3 Profibus DP

Mais antigo mas ainda muito usado:

6.4 Modbus

Modbus RTU:

Modbus TCP:

Standard em retrofit e equipamentos diversos.

6.5 EtherNet/IP

Standard Allen-Bradley / Rockwell:

6.6 EtherCAT

Standard Beckhoff:

6.7 OPC UA

OPC Unified Architecture:

6.8 MQTT

Protocolo IoT:

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:

7.2 Forçar valores (Force)

Para teste, pode-se forçar I/Os a valores específicos:

Cuidados:

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:

Onde guardar:

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:

I/Os:

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:

Configuração:

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