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

Programação e Configuração de Sistemas de Automação Industrial

UC02953 — Realizar a programação e a configuração de sistemas de automação industrial
25h · 2.25 pontos crédito Curso: T. Mecatrónica ↗ Referencial oficial SNQ
Índice

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:

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

  1. Segmentação de rede: separar rede OT (operational technology) da rede IT; usar firewall industrial (Fortinet, Cisco, Tofino)
  2. Gestão de credenciais: palavra-passe forte no PLC (diferente do padrão de fábrica)
  3. Controlo de portas USB: desabilitar ou monitorizar portas USB nos PLCs
  4. Patch management: actualizações de firmware do PLC em ambientes controlados
  5. Backup de programas: guardar versões de programa com data e versão; armazenar offline
  6. 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