Programação e Configuração de Sistemas de Automação Industrial
Sebenta UC02953 — Sistemas de Automação Industrial
1. Pirâmide de Automação e Industry 4.0
1.1 Níveis da Automação (ISA-95)
A pirâmide de automação industrial (modelo ISA-95 / IEC 62264) organiza os sistemas de informação e controlo em 5 níveis hierárquicos:
Nível 0 — Campo (Field Level): - Dispositivos físicos: sensores (temperatura, pressão, caudal, posição), actuadores (válvulas, cilindros, motores) - Tecnologias de comunicação: 4–20 mA (analógico), HART, IO-Link, AS-i, DI/DO digitais
Nível 1 — Controlo Básico: - PLC (Programmable Logic Controller), DCS (Distributed Control System), PAC - Executa o controlo em tempo real (scan time típico: 1–20 ms) - Comunicação com campo: PROFIBUS, DeviceNet, CANopen, IO-Link Master
Nível 2 — Supervisão: - SCADA (Supervisory Control and Data Acquisition), HMI local - Monitorização e supervisão do processo; controlo de operadores
Nível 3 — Gestão de Produção: - MES (Manufacturing Execution System): ordens de produção, OEE, qualidade
Nível 4 — Gestão Empresarial: - ERP (Enterprise Resource Planning): finanças, logística, RH, clientes
2. Programação PLC — IEC 61131-3 Avançado
2.1 Structured Text (ST)
ST é a linguagem mais versátil da IEC 61131-3. Semelhante ao Pascal/C. Adequada para algoritmos complexos, cálculos matemáticos e controlo de processos.
Estruturas de controlo:
(* IF-THEN-ELSE *)
IF temp > 90.0 THEN
alarm_high := TRUE;
heater_output := 0.0;
ELSIF temp < 20.0 THEN
alarm_low := TRUE;
heater_output := 100.0;
ELSE
alarm_high := FALSE;
alarm_low := FALSE;
END_IF;
(* WHILE loop *)
WHILE index < 10 DO
array[index] := index * 2;
index := index + 1;
END_WHILE;
(* FOR loop *)
FOR i := 0 TO 9 BY 1 DO
sum := sum + data[i];
END_FOR;
average := sum / 10;
(* CASE OF *)
CASE machine_state OF
0: output := 'PARADO';
1: output := 'A AQUECER';
2: output := 'EM PRODUÇÃO';
3: output := 'A ARREFECER';
ELSE
output := 'ERRO';
END_CASE;
2.2 Tipos de Dados e Estruturas
Tipos de dados base: - BOOL (1 bit): TRUE/FALSE - INT (16 bit): -32768 a +32767 - UINT (16 bit): 0 a 65535 - DINT (32 bit): inteiro longo com sinal - REAL (32 bit): ponto flutuante IEEE 754 - TIME: duration (ex.: T#5s, T#100ms) - STRING[80]: cadeia de caracteres até 80 caracteres
Tipos compostos:
(* TYPE para estrutura de dados *)
TYPE Motor_Data:
STRUCT
running: BOOL;
fault: BOOL;
speed_rpm: REAL;
current_A: REAL;
temp_C: REAL;
run_hours: DINT;
END_STRUCT;
END_TYPE;
(* Uso *)
VAR
pump_motor: Motor_Data;
END_VAR
pump_motor.speed_rpm := 1450.0;
2.3 Blocos de Função (FB) Personalizados
Os Function Blocks (FB) encapsulam funcionalidades reutilizáveis com memória interna:
FUNCTION_BLOCK FB_PID_Controller
VAR_INPUT
setpoint: REAL;
measured: REAL;
Kp, Ti, Td: REAL;
dt: REAL; (* período de amostragem em s *)
enable: BOOL;
END_VAR
VAR_OUTPUT
output: REAL;
error_abs: REAL;
END_VAR
VAR
integral: REAL;
last_error: REAL;
END_VAR
IF enable THEN
error_abs := setpoint - measured;
integral := integral + error_abs * dt;
(* Anti-windup: limitar a integral *)
integral := MIN(100.0, MAX(-100.0, integral));
output := Kp * (error_abs + (1/Ti)*integral + Td*(error_abs-last_error)/dt);
output := MIN(100.0, MAX(0.0, output));
last_error := error_abs;
ELSE
output := 0.0;
integral := 0.0;
END_IF;
END_FUNCTION_BLOCK
2.4 SFC (Sequential Function Chart) Detalhado
O SFC é baseado nas Redes de Petri. Componentes: - Steps (passos): representados por quadrados; cada passo tem acções associadas - Transitions (transições): representadas por traços horizontais com a condição booleana - Divergência/convergência: OR (fluxo alternativo) ou AND (fluxo paralelo)
Acções num passo SFC:
- N (Non-stored): acção activa enquanto o passo é activo
- S (Set): activa a acção permanentemente
- R (Reset): desactiva a acção permanentemente
- P (Pulse): activa a acção por 1 ciclo quando o passo torna activo
- L (Limited): activa a acção por um tempo limitado (Time Limit)
3. HMI — Design e Implementação
3.1 Tipos de HMI
| Tipo | Processamento | Custo | Aplicação |
|---|---|---|---|
| Painel local (Basic Panel) | No painel | Baixo | Máquinas simples, linha de produção |
| PC-based HMI | No PC industrial | Médio | Processos complexos, SCADA local |
| Web-based HMI | No servidor | Baixo (cliente) | Acesso remoto, fábricas distribuídas |
| Thin client | No servidor | Baixo (cliente) | Visualização apenas, sem controlo |
| Mobile HMI | No dispositivo | Variável | Manutenção, rondas |
3.2 Gestão de Alarmes ISA-18.2
A norma ISA-18.2 (ANSI/ISA-18.2-2016) define as melhores práticas para gestão de alarmes:
Classificação de prioridade de alarme: - Prioridade 1 (Crítica): risco imediato para segurança, ambiente ou activo → resposta imediata - Prioridade 2 (Alta): potencial dano a curto prazo → resposta rápida (minutos) - Prioridade 3 (Média): supervisão activa necessária → resposta em horas - Prioridade 4 (Baixa): informação; monitorizar tendência
Métricas de qualidade de alarmes: - Alarm flood: > 10 alarmes/10 minutos é inaceitável - Standing alarms: alarmes que nunca se resolvem — indicam problema de processo ou mal configurados - Chattering alarms: um alarme activa/desactiva repetidamente sem ação do operador
4. SCADA e OPC UA
4.1 OPC UA (Unified Architecture)
O OPC UA é o standard aberto da OPC Foundation para comunicação entre sistemas de automação:
Vantagens do OPC UA: - Plataforma independente: Linux, Windows, embedded - Segurança integrada: autenticação, autorização, encriptação (TLS) - Modelo de informação: dados com semântica (não apenas valores crus) - Publisher-Subscriber: versão pub/sub para IIoT e MQTT
Servidor OPC UA — configuração básica: 1. Definir o URL do endpoint (ex.: opc.tcp://192.168.1.100:4840) 2. Configurar a segurança: None, Sign, SignAndEncrypt 3. Criar nodes de dados (variáveis, métodos) 4. Configurar permissões de acesso (utilizadores e roles)
4.2 Historiadores de Dados (Historian)
Sistemas de historização armazenam dados de processo com marca temporal e os disponibilizam para análise retrospectiva:
- OSIsoft PI: o mais usado na indústria de processo; compressão de dados muito eficiente
- Ignition Historian: baseado em SQL; fácil integração com ERP
- WinCC OA: Siemens; integração nativa com Simatic
Compressão de dados: - Exception Report: só guarda um valor quando muda mais de X% (economia de 80–95% vs. armazenamento a taxa constante) - Swinging door: interpolação linear entre pontos
5. Comunicação Industrial — Detalhes
5.1 Modbus TCP — Mapeamento de Registos
O Modbus TCP é uma extensão do Modbus RTU que encapsula as mensagens Modbus num frame TCP/IP:
Tabelas de endereçamento Modbus: | Área | Endereço decimal | Função de leitura | Função de escrita | Tipo | |------|-----------------|-------------------|-------------------|------| | Coils | 1–9999 (00001–09999) | FC01 | FC05, FC15 | Bit read/write | | Discrete Inputs | 10001–19999 | FC02 | — | Bit read only | | Input Registers | 30001–39999 | FC04 | — | Word (16bit) read only | | Holding Registers | 40001–49999 | FC03 | FC06, FC16 | Word (16bit) read/write |
Exemplo de leitura Modbus TCP (frame):
Transaction ID: 0x0001
Protocol ID: 0x0000
Length: 0x0006
Unit ID: 0x01
Function Code: 0x03 (Read Holding Registers)
Start Address: 0x006B (107 = holding register 40108)
Quantity: 0x0003 (3 registos)
5.2 PROFINET — Configuração
O PROFINET usa TCP/IP e UDP como transporte: - RT (Real-Time): ciclo 1–10 ms; prioridade via IEEE 802.1Q VLAN - IRT (Isochronous Real-Time): ciclo 250 µs–1 ms; hardware dedicado
Configuração em TIA Portal: 1. Adicionar dispositivo de campo no Network View 2. Atribuir endereço IP e nome de dispositivo PROFINET 3. Configurar I/O modules (slot, dados a transferir) 4. Definir o I-Device de I/O (actualização de diagnóstico) 5. Compilar e fazer download para o PLC
6. Cibersegurança Industrial
6.1 IEC 62443 — Visão Geral
A norma IEC 62443 é a principal referência para cibersegurança de sistemas de automação e controlo industrial (IACS):
Estrutura: - Parte 1: Conceitos gerais - Parte 2: Políticas e procedimentos - Parte 3: Requisitos para sistemas - Parte 4: Requisitos para componentes
Security Levels (SL): - SL 1: Protecção contra ataques não intencionais (erros de utilizador) - SL 2: Protecção contra ataques simples intencionais (script kiddies) - SL 3: Protecção contra ataques sofisticados com recursos moderados - SL 4: Protecção contra ataques de estados-nação (APT)
6.2 Medidas de Segurança Práticas para PLCs
- Segmentação de rede: separar rede OT (operational technology) da rede IT; usar firewall industrial (Fortinet, Cisco, Tofino)
- Gestão de credenciais: palavra-passe forte no PLC (diferente do padrão de fábrica)
- Controlo de portas USB: desabilitar ou monitorizar portas USB nos PLCs
- Patch management: actualizações de firmware do PLC em ambientes controlados
- Backup de programas: guardar versões de programa com data e versão; armazenar offline
- Auditoria de acessos: registar quem acedeu ao PLC e quando (log de eventos)
Sebenta elaborada para a UC02953 do curso TMIM — Aulify Platform Versão 1.0 — 2026