Protocolos / DNP3

Transport Function no DNP3: conceito, função e onde se aplica

Transport Function no DNP3: 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 Transport Function no DNP3: 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.

DNP3 serial: como ler o quadro e a pilha

Diagrama do quadro DNP3 serial com Start, Length, Link Control, endereços, CRC, User Data e pilha de funções.
Diagrama próprio do Portal da Automação. Use-o como mapa durante configuração, captura e troubleshooting.

Como ler esta figura

Start 0x05 0x64

Delimita o início de um frame DNP3. É a primeira evidência de que o receptor está vendo um quadro com framing DNP3 válido.

Na implementação: Se a sequência não aparece onde deveria, verifique serial, direção TX/RX, conversor e captura antes de mexer em objetos ou polling.

Length

Define o comprimento indicado pelo frame. Tamanho incoerente ou quadro truncado costuma revelar problema abaixo da aplicação.

Na implementação: Compare o valor declarado com os bytes realmente recebidos quando houver timeouts somente em respostas maiores.

Link Control

Indica direção e função da camada de enlace. Não confunda esse campo com o Function Code da camada de aplicação.

Na implementação: Use-o para separar falha de enlace, confirmação e estado de link de uma falha de READ/OPERATE/UNSOLICITED.

Destination / Source

São endereços lógicos DNP3. Eles continuam existindo mesmo quando o transporte é TCP/IP.

Na implementação: Uma conexão TCP pode estar estabelecida e ainda assim não haver resposta de aplicação se os endereços DNP3 não coincidirem.

CRC

Protege o cabeçalho e blocos de dados contra corrupção.

Na implementação: CRC recorrente pede análise de ruído, polaridade RS-485, aterramento, baud/paridade e comportamento de conversores/radios.

User Data

Transporta fragmentos que chegam à aplicação: objetos, eventos, confirmações, comandos e informações internas.

Na implementação: Depois de provar o enlace, é aqui que Group/Variation/Qualifier, classes, IIN e Function Codes passam a dominar o diagnóstico.

Objetos DNP3 frequentes no campo

GroupUsoO que conferir na captura
G1 / G2Binary Input estático / eventoVariation, flags, índice e timestamp do evento quando aplicável.
G10 / G12Binary Output Status / CROBEstado retornado, Function Code de controle e status da operação.
G20 / G22Counter estático / eventoLargura do contador, flags, índice e transição que gerou evento.
G30 / G32Analog Input estático / eventoFormato inteiro/float, flags, deadband e timestamp quando previsto.
G50Time and DateValor temporal, origem do sincronismo e coerência com SOE.
G60Class dataClasses solicitadas, eventos pendentes e relação com IIN1.1–IIN1.3.

Matriz específica — Transport Function / fundamentos

Campo/elementoValor ou representaçãoComo fechar a evidência
0x03 → 0x04 · fundamentosSELECT → OPERATEMesmo objeto/índice e janela válida antes da atuação.
0x05 · fundamentosDIRECT_OPERATEResposta da outstation + retorno físico/telemetria.
0x06 · fundamentosDIRECT_OPERATE_NRUsar processo/log como evidência porque não há resposta de aplicação.
0x14 / 0x15 · fundamentosEnable/Disable UnsolicitedConfirmar estado e eventos espontâneos correspondentes.

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

SCADA/IED — campos obrigatórios para “Transport Function”

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.

Transport Function no sistema: o problema que esta função resolve

A Transport Function do DNP3 segmenta mensagens de aplicação que não cabem em um único fragmento de enlace e as recompõe no destino. Ela é uma função enxuta, diferente de TCP, embora DNP3 possa operar sobre TCP/IP.

Para aprender Transport Function sem depender de uma tela específica de fabricante, separe função, entradas, saídas e dependências. Em DNP3, os pontos mais próximos deste recorte são gerenciamento de chaves, Transport Function, Master. 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.

Da origem ao efeito: sequência e estados de Transport Function

Observe fragmentação, sequência e tamanho das mensagens quando grandes respostas de integridade ou arquivos atravessam enlaces limitados. Conversores seriais e rádios precisam preservar o fluxo sem introduzir truncamento.

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 autenticação de comando, gerenciamento de chaves, Transport Function, Master 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.

  • autenticação de comando — defina primeiro o que representa em DNP3 e qual elemento produz ou consome essa informação; depois identifique em que condição ele muda.
  • gerenciamento de chaves — relacione o valor ou estado ao efeito sobre Transport Function; registre também qual campo permite confirmar que a interpretação está correta.
  • Transport Function — 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.
  • Master — 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.
  • Outstation — 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.

O que acontece por dentro quando Transport Function entra em ação

O fundamento de Transport Function aparece nas transições. Acompanhe uma operação normal do início ao fim e marque quando autenticação de comando e gerenciamento de chaves 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.

Em Transport Function, a primeira tarefa é identificar qual variável, campo ou estado muda e em que fronteira isso pode ser observado. Relacione autenticação de comando, gerenciamento de chaves e Transport Function ao fluxo de DNP3. Para cada um, registre uma evidência objetiva e um efeito esperado. Essa ligação transforma uma recomendação genérica em mecanismo verificável.

  • Descrever a sequência normal de Transport Function
  • Descrever uma exceção sem recorrer a “reiniciar e testar”
  • Identificar o papel de autenticação de comando
  • Identificar o papel de gerenciamento de chaves

Exemplo de implementação: transformando Transport Function em requisito verificável

Para implementar Transport Function em DNP3, escolha uma função pequena que possa ser repetida sem ambiguidade. Prove primeiro autenticação de comando; depois acrescente gerenciamento de chaves; por último force uma condição relacionada a Transport Function. Em cada etapa registre a mensagem esperada, o estado local e a reação da outra ponta. A sequência incremental reduz drasticamente tentativa e erro em projetos multivendor.

A decisão de engenharia para Transport Function deve terminar em critérios mensuráveis. Use autenticação de comando como primeira evidência de sucesso e gerenciamento de chaves como verificação de consistência; declare quanto tempo pode decorrer e o que deve sobreviver à reconexão. Se a interface do fabricante usa outro nome para Transport Function, mantenha uma tabela que ligue o rótulo comercial ao conceito do protocolo.

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

Critérios objetivos para aceitar Transport Function em campo

Use respostas pequenas e grandes durante o teste para separar falhas de sessão de problemas que aparecem somente com fragmentação.

Defina evidência antes de testar Transport Function. 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 autenticação de comando em condição normal
  • Forçar uma condição degradada ligada a gerenciamento de chaves
  • Confirmar recuperação sem perder estado, evento ou evidência relevante
  • Salvar configuração, logs/captura e horário do teste como baseline

Caso bom x caso ruim: isolando a causa em Transport Function

Se leituras simples funcionam e integridade extensa falha, investigue fragmentação, buffers, MTU do caminho encapsulado, timeouts e capacidade do conversor ou rádio.

Não conclua a partir do sintoma sozinho. Para Transport Function, cruze pelo menos duas fontes de evidência e procure a primeira divergência. Se autenticação de comando, gerenciamento de chaves, Transport Function 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.

  • autenticação de comando: registre um caso saudável, um caso com falha e a diferença objetiva em estado.
  • gerenciamento de chaves: registre um caso saudável, um caso com falha e a diferença objetiva em sequência.
  • Transport Function: registre um caso saudável, um caso com falha e a diferença objetiva em timestamp.
  • Master: registre um caso saudável, um caso com falha e a diferença objetiva em qualidade.

Transport Function: dados exclusivos deste recorte (fundamentos)

Em Transport Function, Function Code precisa aparecer com o alvo e o efeito final. READ é 0x01; WRITE 0x02; SELECT 0x03; OPERATE 0x04; DIRECT_OPERATE 0x05; DIRECT_OPERATE_NR 0x06; COLD_RESTART 0x0D; WARM_RESTART 0x0E; ENABLE_UNSOLICITED 0x14 e DISABLE_UNSOLICITED 0x15.

Nos fundamentos de Transport Function, acompanhe a transição que altera 0x03 → 0x04 e confirme como 0x05 reage antes, durante e depois do evento.

  • 0x03 → 0x04: SELECT → OPERATE. Mesmo objeto/índice e janela válida antes da atuação.
  • 0x05: DIRECT_OPERATE. Resposta da outstation + retorno físico/telemetria.
  • 0x06: DIRECT_OPERATE_NR. Usar processo/log como evidência porque não há resposta de aplicação.
  • 0x14 / 0x15: Enable/Disable Unsolicited. Confirmar estado e eventos espontâneos correspondentes.

Transport Function: objeto DNP3 em Group/Variation, qualifier e índice — Transport Function / fundamentos

Nos fundamentos de Transport Function, trate Variation como parte de uma sequência causal: condição inicial, transição, campo alterado e reação do outro lado. O ponto DNP3 só é interpretável quando Group, Variation, qualifier e faixa/índice são lidos em conjunto. Group 1 representa Binary Input estático e Group 2 seus eventos; Group 10 representa Binary Output Status e Group 12 Control Relay Output Block; Group 20/22 tratam Counter estático/evento; Group 30/32 representam Analog Input estático/evento. A Variation define representação e presença de flags/timestamp, portanto dois equipamentos podem “ter o mesmo ponto” e ainda assim discordar do formato aceito. O critério de encerramento para Transport Function em fundamentos é obter o mesmo resultado em novo teste de Variation, mantendo o ponto de medição e a condição inicial.

O mecanismo de Transport Function deve ser lido a partir de número máximo de eventos; observe qual estado antecede a mudança e qual confirmação prova que ela terminou. No diagnóstico de Transport Function, capture a requisição e a resposta e confira Function Code, Group, Variation, qualifier e range. Object Unknown ou Parameter Error no IIN frequentemente nasce exatamente dessa combinação. Em gateway, preserve uma tabela explícita entre o objeto DNP3 recebido e o tipo/qualidade/timestamp entregue ao SCADA. Para este artigo de Transport Function, a evidência ligada a número máximo de eventos deve ser armazenada com horário, origem e condição de teste, permitindo comparação posterior.

  • Transport Function · fundamentos · Variation: Exemplo: G1/G2 separa Binary Input estático de evento; G30/G32 faz o mesmo para Analog Input.
  • Transport Function · fundamentos · Index: Conferir se a Variation usada no evento inclui flags e/ou tempo conforme a necessidade de SOE.
  • Transport Function · fundamentos · Qualifier: Registrar qualifier e range porque eles definem como índices/contagens são codificados.
  • Transport Function · fundamentos · número máximo de eventos: Em multivendor, validar objetos efetivamente suportados no Device Profile.

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

O mecanismo de Transport Function deve ser lido a partir de event queue; observe qual estado antecede a mudança e qual confirmação prova que ela terminou. Um ponto SCADA não é apenas um valor. Para Transport Function, 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 event queue não reproduzir o comportamento esperado em Transport Function, a hipótese deve ser revista antes de alterar outra camada do sistema.

Para explicar por que Transport Function funciona, use timestamp 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 Transport Function em fundamentos é obter o mesmo resultado em novo teste de timestamp, mantendo o ponto de medição e a condição inicial.

  • Transport Function · fundamentos · eventos por classe: Telemetria: raw → scaling → engineering unit → quality → source timestamp → SCADA timestamp.
  • Transport Function · fundamentos · overflow: SOE: comparar timestamp de origem e sequência recebida em uma rajada de eventos.
  • Transport Function · fundamentos · event queue: Comando: request → protocol confirmation → physical action → indication/return.
  • Transport Function · fundamentos · evento confirmado: 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 →