Protocolos / IEC 60870-5-104 — IEC 104

T0 no IEC 104: conceito, função e onde se aplica

T0 no IEC 104: conceito, função e onde se aplica. Entenda o mecanismo, os parâmetros relevantes, como validar em campo e quais evidências usar no diagnóstico.

12 min de leituraPublicado em 25/08/2026
Ilustração técnica autoral para T0 no IEC 104: conceito, função e onde se aplica, destacando o fluxo e os elementos centrais do assunto.
Ilustração técnica autoral do Portal da Automação, criada para o foco específico deste artigo.

IEC 104: APDU, I/S/U e parâmetros que controlam a sessão

Diagrama do IEC 60870-5-104 com APDU, APCI, ASDU, formatos I S U e temporizadores.
Diagrama próprio do Portal da Automação. A IEC 104 usa TCP, mas mantém regras próprias de sessão, numeração e telecontrole.

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.

IEC 104 — t0/t1/t2/t3/k/w: função, sintoma e medição

ParâmetroReferência comumFunçãoSintoma de ajuste/problemaComo medir
t030 sTimeout de estabelecimento da conexãoConexão não completa ou cai durante aberturaTempo entre tentativa TCP/sessão e estabelecimento/abandono.
t115 sEspera por confirmação de APDU enviada/testeReconexões ou timeout com I-frame sem ackDelta entre envio e avanço de N(R) / confirmação esperada.
t210 sAtraso máximo para confirmação S-frameAcks excessivamente tardiosTempo do primeiro I-frame recebido até S-frame quando w não é atingido antes.
t320 sSupervisão de enlace ocioso com TESTFRSessão silenciosa sem teste ou testes frequentes demaisTempo de ociosidade até TESTFR ACT e retorno TESTFR CON.
k12Máximo de I-frames enviados sem confirmaçãoJanela trava sob perda/latênciaMaior diferença observada entre N(S) enviado e N(R) confirmado.
w8Quantidade de I-frames recebidos antes de confirmarS-frames demais ou confirmação tardiaContar I-frames recebidos entre confirmações S-frame.

Os números são valores de referência amplamente adotados em perfis IEC 104; confirme a edição, o perfil de interoperabilidade e o equipamento.

Matriz específica — T0 / fundamentos

Campo/elementoValor ou representaçãoComo fechar a evidência
t0 · fundamentosestabelecimento TCP/sessãoMedir SYN até sessão disponível e falhas de conexão.
t1 · fundamentosespera por confirmaçãoMedir I-frame/TESTFR ACT até ack/CON.
t2 · fundamentosack retardadoMedir recepção de I-frames até S-frame.
t3 / k / w · fundamentosidle + janelasMedir TESTFR e contagem N(S)/N(R) antes do ack.

A matriz foi escolhida pelo foco “T0” e pela lente “fundamentos”; referências normativas e limites de fabricante continuam prevalecendo.

SCADA/IED — campos obrigatórios para “T0”

Campo/etapaExemplo de evidênciaFalha concreta
Valor brutocontador/registro/objeto recebidoEscala errada mascarada pela IHM.
Scaling + unidadeganho, offset, EUValor numericamente plausível porém incorreto.
Qualitygood/bad/invalid/blocked/substituted conforme protocoloSCADA exibe dado sem indicar validade.
Source timestamptempo gerado no IED/RTUSOE fora de ordem por relógio ou perda de timestamp.
Receive/display timetempo no FEP/SCADALatência de transporte/processamento.
Command lifecycleenvio, ack, atuação e retornoAck de protocolo sem atuação física.

Antes de configurar T0: função, fronteiras e dependências

T0 supervisiona a fase de estabelecimento de conexão. Ele limita quanto tempo a aplicação espera por uma conexão antes de considerar a tentativa sem sucesso.

Para aprender T0 sem depender de uma tela específica de fabricante, separe função, entradas, saídas e dependências. Em IEC 60870-5-104 — IEC 104, os pontos mais próximos deste recorte são T0, Control Station, Controlled Station. O leitor iniciante deve conseguir dizer quem produz a informação e quem a usa; o leitor experiente deve conseguir apontar o limite entre comportamento normal, exceção e implementação particular do equipamento.

Mecanismo de T0: campos, estados e transições que importam

Ajuste considerando RTT e comportamento da rede, sem mascarar indisponibilidade prolongada.

Implemente primeiro uma troca mínima e conhecida entre as duas pontas. Depois acrescente eventos, exceções, temporização e funções opcionais. Uma sessão estabelecida não é critério suficiente: o dado precisa manter tipo, qualidade, endereço, sequência e tempo até o destino. Durante o estudo, acompanhe buffers, T0, Control Station, Controlled Station como uma cadeia causal. Para cada item, pergunte o que o altera, como aparece no tráfego ou no equipamento e qual seria o primeiro sintoma se estivesse incorreto.

  • buffers — defina primeiro o que representa em IEC 60870-5-104 — IEC 104 e qual elemento produz ou consome essa informação; depois identifique em que condição ele muda.
  • T0 — relacione o valor ou estado ao efeito sobre T0; registre também qual campo permite confirmar que a interpretação está correta.
  • Control Station — na configuração, verifique dependências nas duas pontas e evite copiar valor de outro projeto sem comparar topologia, versão e capacidade do equipamento.
  • Controlled Station — no diagnóstico, associe pelo menos um sintoma de configuração errada e uma evidência que diferencie esse sintoma de falha física ou de rede.
  • Cliente — no comissionamento, crie um estímulo que faça o item mudar de forma previsível e registre antes/depois, horário e resposta observada.

A cadeia causal de T0: o que muda e onde observar

O fundamento de T0 aparece nas transições. Acompanhe uma operação normal do início ao fim e marque quando buffers e T0 mudam. Depois repita mentalmente o fluxo com perda de comunicação, reinício ou dado inválido. Essa comparação revela quais campos representam estado e quais apenas transportam informação.

Para que T0 seja reproduzível em IEC 60870-5-104 — IEC 104, transforme a definição em uma cadeia causa → estado → evidência. Compare buffers em condição normal e degradada, verifique a dependência de T0 e use Control Station como critério de encerramento. O objetivo é justificar a configuração sem depender de “valor que sempre usamos”.

  • Descrever a sequência normal de T0
  • Descrever uma exceção sem recorrer a “reiniciar e testar”
  • Identificar o papel de buffers
  • Identificar o papel de T0

Cenário prático: uma decisão de engenharia envolvendo T0

Imagine uma integração nova em que T0 precisa funcionar entre equipamentos de fabricantes diferentes dentro de IEC 60870-5-104 — IEC 104. Comece por uma transação mínima e observável nas duas pontas. Acompanhe buffers, T0 e Control Station, além de endereço/identidade, sequência e tempo. Depois introduza uma única exceção — perda do enlace, reinício, evento pendente ou função não suportada — e observe qual estado muda primeiro. Esse exercício mostra se a interoperabilidade existe no mecanismo ou apenas na condição ideal.

O aceite de T0 precisa responder quem inicia a transação, qual resposta confirma buffers, como T0 se comporta em exceção e qual log ou captura prova Control Station. Esses critérios tornam o artigo útil tanto na configuração inicial quanto anos depois, quando outra equipe precisar comparar a ocorrência com o baseline.

  • Definir uma condição normal de T0 e salvar a evidência associada a buffers.
  • Escolher uma única variável relacionada a T0 e prever o efeito antes de alterar.
  • Repetir o mesmo teste e comparar Control Station nas mesmas medições ou campos.
  • Registrar o critério que permite aceitar, rejeitar ou reverter a configuração de T0.

Teste de aceitação: evidências que comprovam T0

Bloqueie temporariamente a porta em bancada e meça o tempo de tentativa/recuperação.

Defina evidência antes de testar T0. Para esta categoria, sinais úteis incluem endereço, campo, estado, sequência, timestamp, qualidade. O teste deve ter estado inicial conhecido, estímulo reproduzível e resultado esperado. Quando houver dois equipamentos, registre os dois lados; quando houver gateway, registre também a transformação intermediária.

  • Validar buffers em condição normal
  • Forçar uma condição degradada ligada a T0
  • Confirmar recuperação sem perder estado, evento ou evidência relevante
  • Salvar configuração, logs/captura e horário do teste como baseline

Diagnóstico de T0: a primeira divergência vale mais que o último alarme

T0 recorrente aponta para estabelecimento TCP/listener/rede, não para conteúdo dos ASDUs.

Não conclua a partir do sintoma sozinho. Para T0, cruze pelo menos duas fontes de evidência e procure a primeira divergência. Se buffers, T0, Control Station estão corretos mas o resultado final continua errado, avance para a próxima fronteira do sistema em vez de alterar parâmetros já comprovados.

  • buffers: registre um caso saudável, um caso com falha e a diferença objetiva em estado.
  • T0: registre um caso saudável, um caso com falha e a diferença objetiva em sequência.
  • Control Station: registre um caso saudável, um caso com falha e a diferença objetiva em timestamp.
  • Controlled Station: registre um caso saudável, um caso com falha e a diferença objetiva em qualidade.

T0: dados exclusivos deste recorte (fundamentos)

Em T0, t0 limita estabelecimento de conexão, t1 supervisiona confirmação de APDUs/testes, t2 limita atraso antes de enviar S-frame e t3 supervisiona inatividade com TESTFR. k limita I-frames não confirmados e w define o limiar de confirmação recebida. O valor nominal depende do perfil/projeto; o diagnóstico deve medir deltas reais na captura.

Nos fundamentos de T0, acompanhe a transição que altera t0 e confirme como t1 reage antes, durante e depois do evento.

  • t0: estabelecimento TCP/sessão. Medir SYN até sessão disponível e falhas de conexão.
  • t1: espera por confirmação. Medir I-frame/TESTFR ACT até ack/CON.
  • t2: ack retardado. Medir recepção de I-frames até S-frame.
  • t3 / k / w: idle + janelas. Medir TESTFR e contagem N(S)/N(R) antes do ack.

T0: timers e janelas que governam a sessão IEC 104 — T0 / fundamentos

Nos fundamentos de T0, trate término como parte de uma sequência causal: condição inicial, transição, campo alterado e reação do outro lado. Em IEC 60870-5-104, t0 limita o estabelecimento da conexão; t1 limita a espera por confirmação de APDUs enviadas/teste; t2 limita quanto o receptor pode postergar um S-frame de confirmação; t3 detecta ociosidade e dispara TESTFR; k limita I-frames enviados sem confirmação e w define quantos I-frames recebidos podem acumular antes de um S-frame. Valores de referência frequentemente usados são t0=30 s, t1=15 s, t2=10 s, t3=20 s, k=12 e w=8, sempre sujeitos ao perfil e ao fabricante. O critério de encerramento para T0 em fundamentos é obter o mesmo resultado em novo teste de término, mantendo o ponto de medição e a condição inicial.

O mecanismo de T0 deve ser lido a partir de data; observe qual estado antecede a mudança e qual confirmação prova que ela terminou. O diagnóstico de T0 precisa observar tempo na captura, não apenas a tela de parâmetros. Um t1 expirando costuma aparecer como APDU enviada sem avanço de N(R); t3 aparece após período ocioso seguido de TESTFR ACT/CON; k/w aparecem na distância entre N(S) e N(R) e na frequência dos S-frames. t2 deve permanecer menor que t1 para não criar uma política de confirmação incoerente. Para este artigo de T0, a evidência ligada a data deve ser armazenada com horário, origem e condição de teste, permitindo comparação posterior.

  • T0 · fundamentos · término: Wireshark: acompanhar I/S/U frames, N(S), N(R), TESTFR ACT/CON e timestamps da captura.
  • T0 · fundamentos · CP56Time2a: Medir o intervalo real entre o último tráfego e TESTFR para validar t3.
  • T0 · fundamentos · hora: Medir quantos I-frames ficam outstanding para validar k e a política de ack w/t2.
  • T0 · fundamentos · data: Não aumentar t1 para esconder perda TCP, processamento lento ou janela de confirmação mal dimensionada.

T0: valor, qualidade, tempo e ciclo de comando ponta a ponta — T0 / fundamentos

O mecanismo de T0 deve ser lido a partir de timestamps; observe qual estado antecede a mudança e qual confirmação prova que ela terminou. Um ponto SCADA não é apenas um valor. Para T0, registre endereço/tag de origem, valor bruto, escala/unidade, quality, timestamp de origem, timestamp de recepção e timestamp de apresentação. Deadband deve ser expressa na unidade ou porcentagem definida e testada em torno do limiar; SOE exige preservar a ordem pelo tempo de origem, não pela ordem de chegada ao servidor. Se timestamps não reproduzir o comportamento esperado em T0, a hipótese deve ser revista antes de alterar outra camada do sistema.

Para explicar por que T0 funciona, use Control Station como ponto de partida e siga a mudança até o efeito mensurável no protocolo ou processo. Comandos precisam ser separados em intenção, envio pelo protocolo, confirmação de protocolo, atuação do equipamento e retorno de posição. Em religador/IED/RTU, um “operate success” sem mudança do contato ou telemetria não encerra o teste. Em historian, preserve raw value, quality e source timestamp antes de qualquer agregação. Em alarmes, registre condição de entrada, prioridade, debounce/deadband, ack e retorno ao normal. O critério de encerramento para T0 em fundamentos é obter o mesmo resultado em novo teste de Control Station, mantendo o ponto de medição e a condição inicial.

  • T0 · fundamentos · sincronização: Telemetria: raw → scaling → engineering unit → quality → source timestamp → SCADA timestamp.
  • T0 · fundamentos · spontaneous transmission: SOE: comparar timestamp de origem e sequência recebida em uma rajada de eventos.
  • T0 · fundamentos · timestamps: Comando: request → protocol confirmation → physical action → indication/return.
  • T0 · fundamentos · prioridades: Historian: validar valor, quality e timestamp antes de compressão/agregação.

Referências técnicas

As explicações do Portal são autorais. Use as fontes oficiais e materiais públicos de implementação abaixo para confirmar edição, escopo, capacidades e comportamento do equipamento utilizado no seu projeto.

Continue estudando

Os próximos conteúdos foram escolhidos pelo mecanismo deste artigo. A ideia é formar uma sequência técnica, não apenas listar páginas do mesmo tema.

Ver todas as trilhas de estudo →