Class 3 Poll no DNP3: conceito, função e onde se aplica
Class 3 Poll 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.
Classes DNP3: bytes do pedido e bits da resposta
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
| Group | Uso | O que conferir na captura |
|---|---|---|
| G1 / G2 | Binary Input estático / evento | Variation, flags, índice e timestamp do evento quando aplicável. |
| G10 / G12 | Binary Output Status / CROB | Estado retornado, Function Code de controle e status da operação. |
| G20 / G22 | Counter estático / evento | Largura do contador, flags, índice e transição que gerou evento. |
| G30 / G32 | Analog Input estático / evento | Formato inteiro/float, flags, deadband e timestamp quando previsto. |
| G50 | Time and Date | Valor temporal, origem do sincronismo e coerência com SOE. |
| G60 | Class data | Classes solicitadas, eventos pendentes e relação com IIN1.1–IIN1.3. |
Matriz específica — Class 3 Poll / fundamentos
| Campo/elemento | Valor ou representação | Como fechar a evidência |
|---|---|---|
| Class 0 · fundamentos | dados estáticos | Integrity/Class 0 após conexão/restart. |
| Class 1 · fundamentos | eventos prioritários | Gerar evento e medir tempo até leitura/ack. |
| Class 2 / 3 · fundamentos | eventos intermediários/menores | Gerar rajada e validar fila/ordem. |
| IIN1.1–1.3 · fundamentos | eventos pendentes | Conferir antes e depois dos polls. |
A matriz foi escolhida pelo foco “Class 3 Poll” e pela lente “fundamentos”; referências normativas e limites de fabricante continuam prevalecendo.
SCADA/IED — campos obrigatórios para “Class 3 Poll”
| Campo/etapa | Exemplo de evidência | Falha concreta |
|---|---|---|
| Valor bruto | contador/registro/objeto recebido | Escala errada mascarada pela IHM. |
| Scaling + unidade | ganho, offset, EU | Valor numericamente plausível porém incorreto. |
| Quality | good/bad/invalid/blocked/substituted conforme protocolo | SCADA exibe dado sem indicar validade. |
| Source timestamp | tempo gerado no IED/RTU | SOE fora de ordem por relógio ou perda de timestamp. |
| Receive/display time | tempo no FEP/SCADA | Latência de transporte/processamento. |
| Command lifecycle | envio, ack, atuação e retorno | Ack de protocolo sem atuação física. |
Mapa técnico de Class 3 Poll: quem produz, quem consome e o que pode falhar
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 Poll entre origem e destino e marque quais elementos dependem de habilitado/desabilitado, classes permitidas, quantidade máxima de eventos. 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.
A cadeia causal de Class 3 Poll: o que muda e onde observar
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 sincronismo entre IEDs, habilitado/desabilitado, classes permitidas, quantidade máxima de eventos 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.
Parâmetros e campos de Class 3 Poll: 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 Poll, 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.
- qualidade do relógio — O que é: evidência operacional de que uma regra, interface ou mecanismo processou tráfego. Efeito: Sem logging/hit counter, a política pode estar correta mas não há prova de qual regra tomou a decisão; logging excessivo também pode ter custo de armazenamento/processamento. Validar: gerar um fluxo conhecido e confirmar timestamp, 5-tuple, rule-id, ação e incremento do contador correspondente.
- Online — O que é: elemento de engenharia relacionado a Class 3 Poll 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 Poll; 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 campo como evidência objetiva.
- Restart — O que é: elemento de engenharia relacionado a Class 3 Poll 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 Poll; 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 estado como evidência objetiva.
- Communication Lost — O que é: elemento de engenharia relacionado a Class 3 Poll 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 Poll; 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 sequência como evidência objetiva.
- Remote Forced — O que é: elemento de engenharia relacionado a Class 3 Poll 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 Poll; 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.
- Local Forced — O que é: elemento de engenharia relacionado a Class 3 Poll 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 Poll; 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.
Class 3 Poll em projeto real: como decidir sem copiar configuração
Para implementar Class 3 Poll em DNP3, escolha uma função pequena que possa ser repetida sem ambiguidade. Prove primeiro sincronismo entre IEDs; depois acrescente habilitado/desabilitado; por último force uma condição relacionada a classes permitidas. 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 Class 3 Poll deve terminar em critérios mensuráveis. Use sincronismo entre IEDs como primeira evidência de sucesso e habilitado/desabilitado 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 classes permitidas, mantenha uma tabela que ligue o rótulo comercial ao conceito do protocolo.
- Definir uma condição normal de Class 3 Poll e salvar a evidência associada a sincronismo entre IEDs.
- Escolher uma única variável relacionada a habilitado/desabilitado e prever o efeito antes de alterar.
- Repetir o mesmo teste e comparar classes permitidas nas mesmas medições ou campos.
- Registrar o critério que permite aceitar, rejeitar ou reverter a configuração de Class 3 Poll.
O que acontece por dentro quando Class 3 Poll entra em ação
Acompanhe uma operação normal de Class 3 Poll do início ao fim e marque quando sincronismo entre IEDs e habilitado/desabilitado 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 Poll
- Descrever uma exceção sem recorrer a “reiniciar e testar”
- Identificar o papel de sincronismo entre IEDs
- Identificar o papel de habilitado/desabilitado
Critérios objetivos para aceitar Class 3 Poll em campo
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 Poll. 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 sincronismo entre IEDs em condição normal
- Forçar uma condição degradada ligada a habilitado/desabilitado
- 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 Class 3 Poll
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 Poll, cruze pelo menos duas fontes de evidência e procure a primeira divergência. Se sincronismo entre IEDs, habilitado/desabilitado, classes permitidas 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.
- sincronismo entre IEDs: registre um caso saudável, um caso com falha e a diferença objetiva em estado.
- habilitado/desabilitado: registre um caso saudável, um caso com falha e a diferença objetiva em sequência.
- classes permitidas: registre um caso saudável, um caso com falha e a diferença objetiva em timestamp.
- quantidade máxima de eventos: registre um caso saudável, um caso com falha e a diferença objetiva em qualidade.
Class 3 Poll: dados exclusivos deste recorte (fundamentos)
Em Class 3 Poll, 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 Poll, 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 Poll: objeto DNP3 em Group/Variation, qualifier e índice — Class 3 Poll / fundamentos
Nos fundamentos de Class 3 Poll, trate timestamp na origem 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 Poll em fundamentos é obter o mesmo resultado em novo teste de timestamp na origem, mantendo o ponto de medição e a condição inicial.
O mecanismo de Class 3 Poll deve ser lido a partir de sincronismo entre IEDs; observe qual estado antecede a mudança e qual confirmação prova que ela terminou. No diagnóstico de Class 3 Poll, 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 Poll, a evidência ligada a sincronismo entre IEDs deve ser armazenada com horário, origem e condição de teste, permitindo comparação posterior.
- Class 3 Poll · fundamentos · timestamp na origem: Exemplo: G1/G2 separa Binary Input estático de evento; G30/G32 faz o mesmo para Analog Input.
- Class 3 Poll · fundamentos · precisão do relógio: Conferir se a Variation usada no evento inclui flags e/ou tempo conforme a necessidade de SOE.
- Class 3 Poll · fundamentos · ordem cronológica: Registrar qualifier e range porque eles definem como índices/contagens são codificados.
- Class 3 Poll · fundamentos · sincronismo entre IEDs: Em multivendor, validar objetos efetivamente suportados no Device Profile.
Class 3 Poll: valor, qualidade, tempo e ciclo de comando ponta a ponta — Class 3 Poll / fundamentos
O mecanismo de Class 3 Poll deve ser lido a partir de confirmação; 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 Poll, 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 confirmação não reproduzir o comportamento esperado em Class 3 Poll, a hipótese deve ser revista antes de alterar outra camada do sistema.
Para explicar por que Class 3 Poll funciona, use delay 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 Poll em fundamentos é obter o mesmo resultado em novo teste de delay, mantendo o ponto de medição e a condição inicial.
- Class 3 Poll · fundamentos · classes permitidas: Telemetria: raw → scaling → engineering unit → quality → source timestamp → SCADA timestamp.
- Class 3 Poll · fundamentos · quantidade máxima de eventos: SOE: comparar timestamp de origem e sequência recebida em uma rajada de eventos.
- Class 3 Poll · fundamentos · confirmação: Comando: request → protocol confirmation → physical action → indication/return.
- Class 3 Poll · fundamentos · timeout: 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.
- Overview of DNP3 Protocol — DNP Users Group. Visão geral oficial do protocolo, hoje adotado como IEEE Std 1815.
- DNP3 Cybersecurity Program — DNP Users Group. Referência do programa de segurança e autenticação do ecossistema DNP3.
- DNP Users Group — Public Documents — DNP Users Group. Aplicações públicas, boletins e materiais técnicos para validar comportamento de implementações.
- DNP3 Communication Protocol Solutions — Triangle MicroWorks. Referência de implementador para recursos como events, deadbands, unsolicited, time sync, file transfer e ferramentas de teste.
- DNP3 Application Layer Function Codes — Rockwell Automation. Exemplo público de fabricante para Function Codes, incluindo COLD_RESTART, WARM_RESTART e ENABLE/DISABLE_UNSOLICITED.
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.