Class 2 no DNP3: eventos operacionais, volume e eficiência
Projete a Class 2 para preservar eventos operacionais: IIN1.2, Group 60 Variation 3, polling, deadband, backlog, capacidade e convivência com Class 1.
Class 2 no frame: G60V3 e IIN1.2
Como ler esta figura
01 3C 03 06
Depois do Application Control, a sequência representa READ, Group 60, Variation 3 e Qualifier 0x06 em um pedido de todos os eventos Class 2.
Na implementação: Compare o pedido com o scheduler do master e o Device Profile da outstation.
IIN1.2
É o bit 2 do primeiro octeto IIN e indica eventos Class 2 disponíveis.
Na implementação: IIN1.2 persistente pode significar ausência de scan, falha de processamento ou produção maior que a drenagem.
Objetos devolvidos
A outstation responde com os tipos reais de evento e seus índices, flags, valores e timestamps quando aplicáveis.
Na implementação: Conte os eventos na origem, no frame e no SCADA; Group 60 apenas selecionou a classe.
Matriz específica da Class 2
| Decisão | Pergunta | Métrica | Risco |
|---|---|---|---|
| Atribuição | qual consequência do atraso? | pontos por classe | agrupamento arbitrário |
| Geração | qual pico e deadband? | eventos/min por ponto | churn/overflow |
| Coleta | qual intervalo ou gatilho? | latência p95/máxima | evento tardio |
| Retenção | quanto dura a falha? | buffer versus pico × duração | perda histórica |
| Recuperação | quanto para drenar? | bytes/s e duração | competição com Class 1 |
Campos para diagnosticar Class 2
| Campo | Significado | Leitura correta | Ação |
|---|---|---|---|
| IIN1.2 | eventos disponíveis | indicação, não evento | confirmar agendamento |
| G60V3 | requisição Class 2 | cabeçalho em READ | verificar resposta |
| Group/Variation | representação real | valor, flags e tempo | confrontar Device Profile |
| Índice | identidade do ponto | mapeia lista SCADA | comparar toda a cadeia |
| Overflow | retenção excedida | histórico incompleto | preservar e recompor |
Teste conjunto Class 1 e Class 2
| Etapa | Carga | Aceitação Class 2 | Guardrail Class 1 |
|---|---|---|---|
| Regime | eventos espaçados | latência definida | sem degradação crítica |
| Rajada | pico operacional | sem overflow | serviço prioritário mantido |
| Falha | eventos nas duas classes | retenção prevista | Class 1 preservada |
| Retorno | drenagem simultânea | IIN1.2 limpa | sem starvation |
Class 2 não significa evento descartável
Class 2 permite uma política de aquisição distinta das Classes 1 e 3. O número não determina precisão, qualidade ou tipo. Um evento Class 2 pode carregar timestamp e flags relevantes; o que muda é o agrupamento de engenharia e o agendamento do master.
Muitos projetos usam Class 2 para mudanças operacionais menos urgentes que Class 1: estados auxiliares, modos, contadores e analógicos. Isso é convenção documentada. Device Profile e configuração informam o suporte real.
IIN1.2 e Group 60 Variation 3
Quando existem eventos Class 2, a outstation pode sinalizar IIN1.2. O master precisa interpretar a indicação e executar a leitura definida. Group 60 Variation 3 requisita Class 2; a resposta transporta os objetos de evento reais.
IIN1.2 confirma pendência, mas não revela os pontos. Observe READ, cabeçalhos devolvidos, índices, Group/Variation, flags, tempo e confirmação. Um master pode fazer integridade e nunca executar Class 2.
Separe classes por consequência, taxa e utilidade histórica
Uma atuação de proteção pode exigir caminho prioritário; ventilação de painel pode tolerar coleta posterior, mas não desaparecer do histórico. Uma matriz de consequência evita decisões só pelo nome.
Registre dependências. Um evento auxiliar pode explicar falha crítica: perda de alimentação, troca de fonte ou modo local. Se a análise depende dele, retenção e timestamp devem suportar a indisponibilidade prevista.
Intervalo de poll e ocupação
Poll espaçado reduz transações vazias, mas aumenta espera quando unsolicited não é usado. Poll curto diminui atraso e eleva overhead. Considere RTT, canal, número de outstations, tamanho das respostas e outras tarefas.
Meça regime e reconexão. Backlog produz respostas maiores. Sem justiça no scheduler, uma estação com muitos eventos pode atrasar controles ou outras remotas. Eficiência inclui o pior caso de recuperação.
Deadband é a origem frequente do volume
Analógicos dominam eventos quando deadband é menor que ruído ou variação natural. Colocá-los em Class 2 não corrige isso; apenas muda o buffer. Deadband deve refletir resolução útil, dinâmica e necessidade operacional.
Antes de ampliar buffers, calcule taxa por ponto e concentração temporal. Escala incorreta, transdutor ruidoso ou gateway que recria eventos podem gerar churn.
Backlog, throughput útil e overflow
Estime fila com taxa de pico, duração da falha e margem. Estime recuperação comparando bytes com throughput útil, framing, confirmações, retries e concorrência. Determine quanto demora para voltar ao regime sem bloquear funções críticas.
Overflow torna a cronologia incompleta. Integrity poll recompõe o estado atual, não recria eventos perdidos. Registre a lacuna e diferencie recomposição de recuperação histórica.
Comissionamento por contagem
Gere quantidade conhecida de mudanças. Conte na origem, no frame, no front-end e historian. Compare índices, timestamps e flags. Repita com Class 1 concorrente para provar ausência de starvation.
Interrompa comunicação, gere eventos dentro da retenção e restaure. Meça drenagem, transações, retransmissões e IIN1.2 final. O aceite termina quando a contagem fecha ou a diferença é explicada.
Sintomas e evidência inicial
IIN1.2 permanente indica tarefa ausente, resposta não confirmada ou produção maior que drenagem. Eventos só após integrity sugerem ausência de scan, classe errada ou perda de registro. Atraso crescente sugere capacidade insuficiente.
PCAP mostra G60V3 e objetos; outstation mostra buffer; master revela tarefas; SCADA mostra processamento. Essa cadeia separa defeito DNP3 de atraso no banco.
Implantação em etapas sem perder a linha de base
Antes de alterar classes, exporte a configuração e meça por pelo menos uma janela operacional representativa: eventos por ponto, por classe e por hora; ocupação de buffer; tempo de resposta; retransmissões e uso do canal. Sem baseline, uma redução aparente de tráfego pode ser apenas perda de eventos.
Migre um grupo coerente de pontos e valide contagem, atraso e histórico. Não troque simultaneamente classe, deadband, Variation e intervalo de polling, porque quatro mudanças tornam impossível atribuir o resultado. Depois de cada etapa, execute teste funcional, falha curta e retorno.
A documentação final deve relacionar índice, descrição, classe estática/evento, Group/Variation, deadband, unidade, timestamp, capacidade de retenção e destino SCADA. Essa tabela é o contrato de interoperabilidade usado por manutenção, proteção, telecom e operação.
Depois da implantação, crie alarmes para IIN1.2 persistente, crescimento anormal da taxa e aproximação do limite de buffer quando o equipamento expuser esses dados. Tendência é mais útil do que uma fotografia: ela mostra degradação antes do overflow e sustenta ajuste baseado em evidência.
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.
- IEEE 1815-2012 — IEEE Standard for Electric Power Systems Communications—Distributed Network Protocol (DNP3) — IEEE Standards Association. Edição publicada de referência para estrutura, funções, opções interoperáveis e requisitos de conformidade do DNP3.
- IEEE P1815 — Draft Standard for Electric Power Systems Communications—Distributed Network Protocol (DNP3) — IEEE Standards Association. Página oficial do projeto de revisão da norma; útil para acompanhar a evolução do padrão sem substituir a edição publicada aplicável ao equipamento.
- Overview of DNP3 Protocol — DNP Users Group. Visão geral oficial do protocolo e do papel do DNP Users Group como mantenedor do DNP3/IEEE 1815.
- DNP Users Group — Public Documents — DNP Users Group. Documentos públicos, guias, boletins e materiais de implementação e interoperabilidade.
- Understanding DNP3 — Inductive Automation. Material didático complementar sobre conceitos e comportamento de DNP3; não substitui a norma.
- DNP3 — trabalho didático de Redes de Computadores — GTA/UFRJ. Material acadêmico introdutório útil para leitura guiada da arquitetura; deve ser confrontado com IEEE 1815 e documentação atual do fabricante.
- opendnp3 User Guide — Automatak / opendnp3. Guia público de uma implementação amplamente usada, útil para relacionar a norma a parâmetros reais de master e outstation.
- 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.