I, S e U frames no IEC 104: sequência, confirmação e estado da sessão
Entenda o papel de I-frames, S-frames e U-frames, os números N(S)/N(R), STARTDT, STOPDT, TESTFR, janelas k/w e como diagnosticar travamentos.
Papel operacional dos frames IEC 104
| Frame | Transporta ASDU? | Estado principal a observar |
|---|---|---|
| I | sim | N(S), N(R), janela k e conteúdo |
| S | não | N(R), janela w e t2 |
| U STARTDT | não | habilitação da transferência |
| U STOPDT | não | suspensão controlada |
| U TESTFR | não | atividade na ociosidade por t3/t1 |
Analise cada direção com seus contadores independentes.
Três tipos de frame resolvem problemas diferentes
I-frame transporta ASDU e participa da numeração. S-frame confirma recepção quando não há dados de retorno. U-frame controla o estado da transferência com STARTDT, STOPDT e TESTFR. Misturar esses papéis produz diagnósticos equivocados, como procurar IOA em um S-frame ou considerar sessão operacional apenas porque o TCP está estabelecido.
Em uma captura, classifique cada APDU por direção e tipo. Depois acompanhe estado, sequência e conteúdo. Essa ordem evita que um evento visível desvie a análise de uma confirmação atrasada ou de um STARTDT ausente que antecede toda a falha.
N(S) identifica envio e N(R) confirma recepção
Cada ponta mantém contadores independentes. N(S) do I-frame indica o número que está sendo enviado naquela direção. N(R) declara o próximo número esperado da direção oposta, confirmando todos os anteriores. Como os valores estão deslocados nos octetos de controle, o analisador precisa retirar o bit reservado ao tipo antes de apresentar a sequência.
Uma confirmação não precisa repetir cada número individualmente; pode avançar cumulativamente. Salto para trás, número inesperado ou estagnação prolongada exige correlacionar restart, perda, duplicação, captura incompleta e implementação. O wrap da faixa é comportamento normal se ocorrer na fronteira prevista e sem quebra da ordem.
I-frame combina dados e reconhecimento
Ao carregar uma ASDU, o I-frame atualiza N(S) e também informa N(R). Em comunicação bidirecional, dados de retorno podem reconhecer o sentido oposto sem S-frame separado. O número de I-frames pendentes não pode crescer indefinidamente: a janela k limita quanto o emissor envia antes de aguardar reconhecimento.
Analise o I-frame mais antigo ainda não confirmado, não apenas o último pacote. Se o tempo excede t1, a associação pode ser encerrada. Retransmissão do TCP pode atrasar a entrega e, indiretamente, fazer t1 expirar; aumentar o temporizador sem medir a rede oculta perda e amplia o tempo de detecção.
S-frame protege o fluxo predominantemente unidirecional
Quando o receptor não possui I-frame para devolver, emite S-frame com N(R). A janela w determina a quantidade de I-frames recebidos que provoca confirmação, enquanto t2 limita quanto essa confirmação pode esperar. Em telemetria intensa, S-frames regulares são esperados; sua ausência pode parar a origem ao atingir k.
Confirmação TCP e S-frame não são equivalentes. O primeiro confirma bytes ao sistema operacional; o segundo confirma APDUs à aplicação IEC 104. É possível ver ACKs TCP perfeitos enquanto o processo IEC 104 deixa de avançar. Essa distinção localiza falha no aplicativo remoto ou em sua fila.
STARTDT define quando dados podem circular
Após conectar, a estação controladora normalmente envia STARTDT act e espera STARTDT con. Somente então a transferência de ASDUs de usuário fica habilitada. Se GI é enviada antes do estado correto, o par pode descartar ou rejeitar. O log deve distinguir conexão criada de transferência iniciada.
Em redundância, duas associações podem existir, mas a política precisa definir qual recebe STARTDT. Ativar simultaneamente sem coordenação pode duplicar eventos ou comandos. Teste troca de ativo, sequência de STOPDT/STARTDT e comportamento dos dados durante o intervalo.
STOPDT e TESTFR tratam suspensão e ociosidade
STOPDT act/con suspende transferência de usuário mantendo a associação disponível conforme implementação. É útil em controle de estado e redundância, mas não deve ser confundido com desconexão TCP. TESTFR act/con verifica a associação após período ocioso definido por t3. Falha na confirmação é supervisionada por t1.
TESTFR não substitui observabilidade da rede nem valida ASDUs. Uma sessão pode responder ao teste e falhar no processamento de GI. Inclua ambos no comissionamento: primeiro o mecanismo de ociosidade, depois uma função de aplicação que prove o caminho completo.
Captura temporal revela a primeira divergência
Crie colunas para tipo, N(S), N(R), Type ID e COT. Separe direções e marque conexão, STARTDT, primeiro dado, confirmações e encerramento. Calcule quantidade pendente e intervalo até reconhecimento. O gráfico deve ser confrontado com latência, retransmissões TCP e CPU do front-end.
Captura em apenas uma ponta pode omitir perda ou atraso intermediário. Quando possível, sincronize duas capturas e compare. Não conclua duplicação da aplicação se o mesmo segmento é uma retransmissão TCP; use números de sequência das duas camadas para diferenciar.
Comissionamento inclui saturação e recuperação
Valide STARTDT, tráfego bidirecional, confirmação por I-frame e S-frame, ociosidade com TESTFR e STOPDT. Gere volume suficiente para exercitar w e k sem ultrapassar capacidade do sistema. Registre tempos e número máximo de pendências em condição normal e degradada.
Depois provoque perda, latência e restart controlados. Confirme expiração esperada, fechamento, reconexão, reinicialização de sequência e recomposição de dados. O aceite termina quando não há duplicação operacional, comando órfão ou backlog sem tratamento após o retorno.
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.