Protocolos / DNP3

Class 3 — eventos no DNP3: conceito, função e onde se aplica

Class 3 — eventos 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.

14 min de leitura Publicado em 25/08/2026
Ilustração técnica autoral para Class 3 — eventos 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.

Classes DNP3: bytes do pedido e bits da resposta

Diagrama específico da leitura de classes DNP3 com Function Code READ, Group 60, Variations 1 a 4, Qualifier 0x06 e bits de eventos no primeiro octeto IIN.
Recorte da camada de aplicação. Group 60 seleciona uma classe; a resposta devolve os objetos de dados/eventos correspondentes e usa IIN para sinalizar pendências.

Como ler esta figura

Group 60 = 0x3C

É o grupo usado pelo master para solicitar dados por classe.

Na implementação: No pedido READ, localize 0x3C no primeiro octeto do object header; não procure Group 60 como se fosse o tipo real de cada evento devolvido.

Variations 1, 2, 3 e 4

V1 seleciona Class 0; V2, Class 1; V3, Class 2; V4, Class 3.

Na implementação: Leia Group e Variation juntos: 3C 02 pede Class 1; 3C 03 pede Class 2.

Qualifier 0x06

No header de classe, indica a seleção sem faixa ou contagem explícita de pontos.

Na implementação: Confirme os três octetos consecutivos do object header e confronte o comportamento com o Device Profile.

IIN1 bits 1, 2 e 3

Sinalizam que existem eventos pendentes nas Classes 1, 2 e 3, respectivamente.

Na implementação: IIN informa pendência; os eventos estão nos object headers e objetos que seguem na resposta.

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 — Class 3 — eventos / fundamentos

Campo/elementoValor ou representaçãoComo fechar a evidência
Class 0 · fundamentosdados estáticosIntegrity/Class 0 após conexão/restart.
Class 1 · fundamentoseventos prioritáriosGerar evento e medir tempo até leitura/ack.
Class 2 / 3 · fundamentoseventos intermediários/menoresGerar rajada e validar fila/ordem.
IIN1.1–1.3 · fundamentoseventos pendentesConferir antes e depois dos polls.

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

SCADA/IED — campos obrigatórios para “Class 3 — eventos”

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.

Class 3 — eventos no sistema: o problema que esta função resolve

Classes 1, 2 e 3 agrupam eventos para permitir prioridades e estratégias de coleta diferentes. O significado operacional de cada classe é decisão de engenharia: por exemplo, mudanças críticas podem ficar em Class 1 e dados de menor urgência em classes posteriores.

No desenho de DNP3, localize Class 3 — eventos entre origem e destino e marque quais elementos dependem de Analog Output, Octet String, Time and Date. A definição deve permitir responder quem produz a informação, quem toma a decisão, onde o estado é mantido e qual evidência aparece primeiro quando algo sai do esperado.

Da origem ao efeito: sequência e estados de Class 3 — eventos

Dimensione buffers por tipo de objeto e taxa esperada de mudança, não apenas pelo número normal de pontos. Documente limites, política de overflow, deadband dos analógicos, frequência de polls e classes habilitadas para unsolicited.

Comece com uma troca mínima conhecida e depois acrescente eventos, exceções, temporização e funções opcionais. Uma sessão estabelecida não é critério suficiente: tipo, endereço, qualidade, sequência e tempo precisam chegar ao destino com a mesma semântica. Neste artigo, acompanhe Analog Input, Analog Output, Octet String, Time and Date como uma cadeia causal: condição de entrada → estado interno → decisão → saída → evidência. Esse percurso evita repetir definições e obriga cada bloco do texto a acrescentar um nível novo de explicação.

Cadeia funcional entre TC e TP, IED de proteção e disjuntor.
A proteção depende da cadeia completa de medição, lógica, alimentação e circuito de trip. Fonte: Portal da Automação · Conteúdo autoral do portal.

Parâmetros e campos de Class 3 — eventos: significado, efeito e validação

Os itens abaixo não são apenas nomes de configuração. Para cada parâmetro ou campo, o artigo registra o que ele representa, o efeito prático de um valor/estado incorreto e a evidência usada para confirmar a interpretação. Valores default e faixas exatas que dependem de fabricante ou firmware devem ser confirmados na documentação do equipamento, mas a relação causa → efeito precisa permanecer válida entre implementações.

Ao alterar Class 3 — eventos, mude uma variável por vez e preserve o baseline. Um valor só deve ser considerado adequado quando o efeito esperado aparece na captura, no contador, no log ou no processo e quando a condição degradada continua dentro do requisito.

  • Class 0 Poll — O que é: classificação DNP3 usada para separar dados estáticos e grupos de eventos conforme a política do projeto. Efeito: Muda a forma e prioridade com que o master coleta eventos; classe não coletada pode manter evento pendente até overflow. Validar: gerar evento conhecido, observar IIN de classe, executar o poll correspondente e confirmar esvaziamento da fila.
  • Class 1 Poll — O que é: classificação DNP3 usada para separar dados estáticos e grupos de eventos conforme a política do projeto. Efeito: Muda a forma e prioridade com que o master coleta eventos; classe não coletada pode manter evento pendente até overflow. Validar: gerar evento conhecido, observar IIN de classe, executar o poll correspondente e confirmar esvaziamento da fila.
  • Class 2 Poll — O que é: classificação DNP3 usada para separar dados estáticos e grupos de eventos conforme a política do projeto. Efeito: Muda a forma e prioridade com que o master coleta eventos; classe não coletada pode manter evento pendente até overflow. Validar: gerar evento conhecido, observar IIN de classe, executar o poll correspondente e confirmar esvaziamento da fila.
  • Class 3 Poll — O que é: classificação DNP3 usada para separar dados estáticos e grupos de eventos conforme a política do projeto. Efeito: Muda a forma e prioridade com que o master coleta eventos; classe não coletada pode manter evento pendente até overflow. Validar: gerar evento conhecido, observar IIN de classe, executar o poll correspondente e confirmar esvaziamento da fila.
  • intervalo entre polls — O que é: elemento de engenharia relacionado a Class 3 — eventos dentro de DNP3; deve ser identificado pela representação real usada no equipamento/protocolo. Efeito: Seu valor ou estado altera a interação com Class 3 — eventos; documente dependências e limite em vez de copiar um valor de outro projeto. Validar: comparar condição normal e uma alteração controlada usando timestamp como evidência objetiva.
  • poll por demanda — O que é: elemento de engenharia relacionado a Class 3 — eventos dentro de DNP3; deve ser identificado pela representação real usada no equipamento/protocolo. Efeito: Seu valor ou estado altera a interação com Class 3 — eventos; documente dependências e limite em vez de copiar um valor de outro projeto. Validar: comparar condição normal e uma alteração controlada usando qualidade como evidência objetiva.

Exemplo de implementação: transformando Class 3 — eventos em requisito verificável

Parta de um caso de Class 3 — eventos que hoje funciona e transforme-o em referência. Capture a troca associada a Analog Input, registre o comportamento de Analog Output e identifique como Octet String aparece no equipamento de destino. Em seguida altere uma única condição controlada. A comparação entre os dois casos deve revelar a primeira divergência, evitando que timeout, rede e aplicação sejam ajustados ao mesmo tempo.

Não encerre Class 3 — eventos com a frase “comunicação OK”. Documente o valor/estado de Analog Input, a dependência de Analog Output, o limite aceitável para Octet String e uma evidência de recuperação. Essa combinação separa interoperabilidade funcional de mera conectividade física ou TCP.

  • Definir uma condição normal de Class 3 — eventos e salvar a evidência associada a Analog Input.
  • Escolher uma única variável relacionada a Analog Output e prever o efeito antes de alterar.
  • Repetir o mesmo teste e comparar Octet String nas mesmas medições ou campos.
  • Registrar o critério que permite aceitar, rejeitar ou reverter a configuração de Class 3 — eventos.

Mecanismo de Class 3 — eventos: campos, estados e transições que importam

Acompanhe uma operação normal de Class 3 — eventos do início ao fim e marque quando Analog Input e Analog Output mudam. Depois repita o fluxo com perda de comunicação, reinício ou dado inválido para separar campos de estado, controle e transporte.

Em DNP3, compatibilidade real aparece também nas exceções. Reconexão, overflow, mudança de sequência, perda de sincronismo ou estado inválido devem produzir reações previsíveis e observáveis nas duas pontas.

  • Descrever a sequência normal de Class 3 — eventos
  • Descrever uma exceção sem recorrer a “reiniciar e testar”
  • Identificar o papel de Analog Input
  • Identificar o papel de Analog Output

Do “online” à prova técnica: validação de Class 3 — eventos

Gere rajadas controladas acima da condição normal, confirme contagem e ordem dos eventos e observe flags/diagnósticos antes de limpar a fila. O teste deve demonstrar o que ocorre perto do limite.

Defina a evidência antes do teste de Class 3 — eventos. Para esta categoria, sinais úteis incluem endereço, campo, estado, sequência, timestamp, qualidade. Use estado inicial conhecido, estímulo reproduzível e resultado esperado; quando houver duas pontas, registre as duas, e quando houver gateway/firewall/conversor, registre também a transformação intermediária.

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

Quando Class 3 — eventos dá errado: separar sintoma, causa e efeito

Eventos perdidos durante indisponibilidade com valor final correto são sinal clássico de fila insuficiente, overflow, classe não coletada ou confirmação mal resolvida. Aumentar apenas a frequência de ping não corrige esse mecanismo.

Não conclua a partir do sintoma sozinho. Para Class 3 — eventos, cruze pelo menos duas fontes de evidência e procure a primeira divergência. Se Analog Input, Analog Output, Octet String estão corretos mas o resultado final continua errado, avance para a próxima fronteira do sistema em vez de alterar novamente um parâmetro já comprovado.

  • Analog Input: registre um caso saudável, um caso com falha e a diferença objetiva em estado.
  • Analog Output: registre um caso saudável, um caso com falha e a diferença objetiva em sequência.
  • Octet String: registre um caso saudável, um caso com falha e a diferença objetiva em timestamp.
  • Time and Date: registre um caso saudável, um caso com falha e a diferença objetiva em qualidade.

Class 3 — eventos: dados exclusivos deste recorte (fundamentos)

Em Class 3 — eventos, Class 0 representa dados estáticos e Classes 1/2/3 organizam eventos conforme a política do projeto. IIN1.1, IIN1.2 e IIN1.3 sinalizam eventos pendentes dessas classes. O teste deve acumular eventos, interromper comunicação, recuperar e provar que a fila drena sem overflow nem perda da ordem temporal.

Nos fundamentos de Class 3 — eventos, acompanhe a transição que altera Class 0 e confirme como Class 1 reage antes, durante e depois do evento.

  • Class 0: dados estáticos. Integrity/Class 0 após conexão/restart.
  • Class 1: eventos prioritários. Gerar evento e medir tempo até leitura/ack.
  • Class 2 / 3: eventos intermediários/menores. Gerar rajada e validar fila/ordem.
  • IIN1.1–1.3: eventos pendentes. Conferir antes e depois dos polls.

Class 3 — eventos: objeto DNP3 em Group/Variation, qualifier e índice — Class 3 — eventos / fundamentos

Nos fundamentos de Class 3 — eventos, trate offset como parte de uma sequência causal: condição inicial, transição, campo alterado e reação do outro lado. Para Class 3, a requisição por classe usa DNP3 Group 60 Variation 4 (G60v4) e o bit IIN1.3 sinaliza eventos Class 3 pendentes; teste a política de menor prioridade sem deixar a fila envelhecer até overflow. 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 Class 3 — eventos em fundamentos é obter o mesmo resultado em novo teste de offset, mantendo o ponto de medição e a condição inicial.

O mecanismo de Class 3 — eventos deve ser lido a partir de Restart; observe qual estado antecede a mudança e qual confirmação prova que ela terminou. No diagnóstico de Class 3 — eventos, 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 Class 3 — eventos, a evidência ligada a Restart deve ser armazenada com horário, origem e condição de teste, permitindo comparação posterior.

  • Class 3 — eventos · fundamentos · offset: Exemplo: G1/G2 separa Binary Input estático de evento; G30/G32 faz o mesmo para Analog Input.
  • Class 3 — eventos · fundamentos · qualidade do relógio: Conferir se a Variation usada no evento inclui flags e/ou tempo conforme a necessidade de SOE.
  • Class 3 — eventos · fundamentos · Online: Registrar qualifier e range porque eles definem como índices/contagens são codificados.
  • Class 3 — eventos · fundamentos · Restart: Em multivendor, validar objetos efetivamente suportados no Device Profile.

Class 3 — eventos: valor, qualidade, tempo e ciclo de comando ponta a ponta — Class 3 — eventos / fundamentos

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

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

  • Class 3 — eventos · fundamentos · Remote Forced: Telemetria: raw → scaling → engineering unit → quality → source timestamp → SCADA timestamp.
  • Class 3 — eventos · fundamentos · Local Forced: SOE: comparar timestamp de origem e sequência recebida em uma rajada de eventos.
  • Class 3 — eventos · fundamentos · Over Range: Comando: request → protocol confirmation → physical action → indication/return.
  • Class 3 — eventos · fundamentos · Reference Error: Historian: validar valor, quality e timestamp antes de compressão/agregação.

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.

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.

Ver todas as trilhas de estudo →