IEC 104: guia completo para telecontrole e automação elétrica
Entenda a arquitetura IEC 60870-5-104, TCP porta 2404, APCI, ASDU, quadros I/S/U, endereçamento, causas de transmissão, comandos, tempo e comissionamento.
IEC 104: APDU, I/S/U e parâmetros que controlam a sessão
Como ler esta figura
APCI / Control Field
Controla formato I/S/U, estado lógico e numeração N(S)/N(R).
Na implementação: Sequência travada, ACK atrasado ou TESTFR repetitivo deve ser correlacionado com timers e janelas, não só com TCP.
I-format
Transporta ASDU e usa números de envio e recebimento para acompanhar a sequência.
Na implementação: Compare N(S) e N(R) nos dois sentidos para encontrar a primeira divergência ou ACK ausente.
S-format
Confirma recepção sem transportar uma ASDU.
Na implementação: É diretamente relacionado ao controle de fluxo e ao limiar w/t2.
U-format
Executa STARTDT, STOPDT e TESTFR para controlar/testar a transferência.
Na implementação: STARTDT não é comando de processo; é habilitação da transferência de dados IEC 104.
ASDU
Type ID, VSQ, COT, CA e IOA dão significado às medidas, estados, eventos e comandos.
Na implementação: TCP saudável com CA/IOA/COT errados continua sendo uma integração quebrada.
t0, t1, t2, t3, k e w
Definem estabelecimento, confirmações, ociosidade e janelas de mensagens.
Na implementação: Dimensione usando RTT real, carga e requisitos da aplicação; não copie defaults entre fabricantes sem validar.
Camadas de evidência no IEC 104
| Camada | Pergunta | Evidência |
|---|---|---|
| IP/TCP | há caminho e sessão até a porta configurada? | SYN/SYN-ACK, rota, RST e retransmissões |
| APCI | a transferência está habilitada e confirmada? | STARTDT, I/S/U, N(S) e N(R) |
| ASDU | tipo, causa e endereços coincidem? | Type ID, COT, CA e IOA |
| Processo | o valor ou comando produziu o efeito correto? | SOE, retorno de posição e grandeza de campo |
| Recuperação | o sistema recompõe estado e eventos? | GI, backlog, timestamps e normalização |
Uma camada verde não valida automaticamente as camadas seguintes.
O IEC 104 conecta centros de controle a estações remotas
IEC 60870-5-104 é um companion standard de telecontrole que transporta a semântica de aplicação da família IEC 60870-5 sobre perfis de rede TCP/IP. Em uma arquitetura típica, a estação controladora é o cliente que inicia a conexão e o equipamento controlado, front-end, gateway ou RTU atua como servidor. A porta TCP 2404 é a referência convencional, mas endereço, porta e sentido da conexão precisam constar da matriz de fluxos da instalação.
O protocolo leva estados, medições, totalizações, eventos, comandos, interrogações e sincronização. Ele não substitui a engenharia do ponto: cada variável ainda precisa de tipo, endereço, qualidade, escala, origem temporal e comportamento esperado. Uma sessão TCP estabelecida prova somente transporte; interoperabilidade exige que ambos os lados interpretem a mesma ASDU da mesma forma.
TCP e aplicação possuem estados próprios
A conexão começa com o handshake TCP. Depois, o IEC 104 usa U-frames STARTDT para habilitar transferência de dados. STOPDT suspende essa transferência sem necessariamente derrubar o TCP, e TESTFR verifica atividade quando não há tráfego útil. Diagnóstico correto separa SYN, retransmissão, RST e janela TCP dos estados STARTDT, números de sequência e confirmações do IEC 104.
Firewalls devem permitir o fluxo iniciado pelo cliente e o retorno da sessão, mas uma regra aberta não corrige NAT incorreto, rota assimétrica ou servidor ouvindo em interface diferente. Capture nos dois lados quando possível. O primeiro ponto onde o fluxo deixa de coincidir com a matriz de comunicação delimita a falha antes de qualquer alteração em temporizadores.
APDU reúne controle e dados de aplicação
Toda APDU começa pelo APCI, que contém o byte inicial 0x68, o comprimento e quatro octetos de controle. Quando a APDU é um I-frame, após o APCI vem a ASDU. S-frames carregam confirmação de recepção sem dados de aplicação; U-frames controlam STARTDT, STOPDT e TESTFR. Essa separação permite reconhecer se a falha está no estado da sessão ou no conteúdo do ponto.
Números N(S) e N(R) avançam em I-frames e sustentam entrega ordenada no nível de aplicação. Um salto, confirmação estacionada ou repetição precisa ser correlacionado a perda, filas e comportamento do par. Não trate o número bruto de controle como inteiro comum: ele é codificado nos octetos de controle com o bit menos significativo reservado ao tipo do frame.
A ASDU responde o que, por que e onde
Type Identification informa a classe de informação ou comando. VSQ indica quantidade de objetos e se os endereços são sequenciais. Cause of Transmission explica o motivo, como espontâneo, periódico, resposta a interrogação ou ativação. Common Address seleciona a estação lógica; Information Object Address identifica o ponto. Esses campos formam a chave semântica que deve coincidir com o cadastro do SCADA.
Uma medição recebida no endereço esperado ainda pode estar errada se o Type ID, a escala ou os descritores de qualidade divergirem. O mapeamento deve registrar direção, CA, IOA, Type ID, unidade, faixa, qualidade, timestamp e tratamento de exceção. Gateway que converte IEC 61850, DNP3 ou protocolo proprietário precisa manter essa tabela sob controle de versão.
Aquisição combina espontâneo, interrogação e tempo
Eventos podem chegar espontaneamente, enquanto a General Interrogation recompõe o estado corrente após partida ou reconexão. A GI não substitui o fluxo de eventos: ela fornece fotografia, não necessariamente a sequência histórica. O teste de recuperação deve verificar o que ocorre com eventos acumulados, qual informação chega primeiro e como o SCADA distingue estado atual de ocorrência anterior.
Tipos com CP56Time2a podem transportar data e hora com milissegundos. A presença do campo não garante que a origem esteja sincronizada. Registre se o timestamp nasce no IED, RTU ou gateway, valide horário, verão, qualidade e comportamento em perda da fonte. Para SOE, compare evento elétrico, relógio de origem, captura e registro do centro.
Comando é uma transação operacional
Comandos simples, duplos e setpoints usam Type IDs próprios e causas de transmissão para ativação, confirmação e término. Quando Select Before Operate é adotado, seleção e execução precisam se referir ao mesmo objeto dentro da janela permitida. Confirmação positiva indica aceitação da etapa protocolar; não prova que disjuntor, chave ou lógica concluiu a atuação.
O aceite deve incluir comando permitido, bloqueio por intertravamento, objeto inexistente, seleção expirada, dupla operação e perda durante a transação. A evidência final cruza captura, log do front-end, SOE do IED e retorno de posição. Segurança operacional exige origem autorizada, rastreabilidade e política clara para comando direto.
Temporizadores e janelas precisam refletir a rede
t0 limita estabelecimento, t1 supervisiona confirmação, t2 antecipa reconhecimento quando não se atinge a janela e t3 detecta ociosidade. k limita I-frames enviados sem confirmação; w define quando o receptor deve confirmar. Valores coerentes dependem de latência, jitter, perda, processamento e carga. Aumentar t1 para mascarar retransmissão TCP apenas prolonga a percepção da falha.
Meça caso normal, pico e contingência antes do ajuste. Observe N(S), N(R), S-frames, RTT e filas. O par precisa ter configurações interoperáveis e margens documentadas. Teste perda breve, interrupção superior a t1, ociosidade maior que t3, restart de uma ponta e reconexão com backlog.
Comissionamento deve provar normal, falha e recuperação
O roteiro começa por IP, rota, porta, sentido da conexão e STARTDT. Depois valida GI, espontâneos, qualidades, timestamps, comandos e término. Para cada etapa, registre estímulo, APDU esperada, resposta, efeito no banco e evidência física. Casos negativos são essenciais: CA/IOA incorreto, Type ID não suportado, COT negativa e interrupção no meio do comando.
O baseline final inclui captura de referência, mapa de pontos, matriz de fluxos, timers, janelas, versão do equipamento e critérios de alarme. Reiniciar antes de preservar PCAP, contadores e logs destrói a linha do tempo. O canal só está aceito quando retorna de uma falha controlada sem perder significado, ordem e segurança operacional.
Referências técnicas e normas
As explicações do Portal são autorais. Normas e fontes oficiais são priorizadas; materiais acadêmicos e documentação pública de fabricantes complementam a implementação e não substituem a edição normativa aplicável ao projeto.
- IEC 60870-5-104:2006+AMD1:2016 CSV — Network access for IEC 60870-5-101 — IEC. Companion standard consolidado do IEC 104; inclui o corrigendum publicado em 2023.
- IEC 60870-5-101:2003+AMD1:2015 CSV — Basic telecontrol tasks — IEC. Companion standard consolidado do IEC 101 para telecontrole serial.
- IEC 60870-5-1:1990 — Transmission frame formats — IEC. Formatos de quadro e requisitos de integridade usados pela família IEC 60870-5.
- IEC 60870-5-2:1992 — Link transmission procedures — IEC. Procedimentos de transmissão da camada de enlace, especialmente pertinentes ao IEC 101.
- IEC 60870-5-3:1992 — General structure of application data — IEC. Regras para estruturar unidades de dados de aplicação.
- IEC 60870-5-5:1995 — Basic application functions — IEC. Funções básicas de aplicação, incluindo aquisição, comandos e sincronização.
- IEC 60870-5-6:2006 — Guidelines for conformance testing — IEC. Método para ensaios de conformidade dos companion standards IEC 60870-5.
- IEC TS 60870-5-601:2015 — Conformance test cases for IEC 101 — IEC. Casos de ensaio de conformidade para implementações IEC 101.
- IEC TS 60870-5-604:2016 — Conformance test cases for IEC 104 — IEC. Casos de ensaio positivos e negativos para implementações IEC 104.
- IEC TS 60870-5-7:2025 — Security extensions for IEC 101/104 — IEC. Extensões de segurança alinhadas à série IEC 62351 para autenticação, integridade e RBAC.
Continue estudando
Os próximos conteúdos foram escolhidos para formar uma sequência técnica, relacionando fundamento, configuração, diagnóstico e aplicação.