CP56Time2a no IEC 104: leitura dos bytes, validade, fuso e SOE
Interprete CP56Time2a no IEC 104, incluindo milissegundos, minutos, horas, data, bits de validade e horário de verão, com testes de sincronismo e backlog.
Leitura funcional do CP56Time2a
| Parte | Conteúdo | Validação |
|---|---|---|
| Octetos 1–2 | ms dentro do minuto | faixa e endian |
| Minuto | minuto + invalid | qualidade temporal |
| Hora | hora + summer time | política de fuso |
| Dia | dia do mês/semana | calendário |
| Mês/ano | data restante | viradas e RTC |
Resolução de codificação não equivale à precisão do relógio.
CP56Time2a transporta data e hora completas
O formato de sete octetos representa milissegundos dentro do minuto, minuto, hora, dia do mês, dia da semana, mês e ano em campos e bits definidos. Ele aparece em Type IDs time-tagged e funções de sincronização. A leitura começa pelo tipo da ASDU, pois nem toda mensagem carrega o campo. Um parser que procura sete bytes no final de qualquer objeto pode interpretar valor ou qualidade como tempo.
Milissegundos ocupam dois octetos
O valor inclui segundos e milissegundos como contagem dentro do minuto, codificada nos dois primeiros octetos do formato. Valide faixa e ordem dos bytes. Erro de endian produz horários absurdos ou deslocamentos recorrentes. Compare hexadecimal com decodificação independente e estímulo conhecido. Resolução do campo não garante que o relógio ou sensor tenha precisão de um milissegundo; a capacidade real precisa ser declarada pelo equipamento e comprovada.
Bits de validade não podem ser descartados
Campos de minuto e hora incluem indicadores como invalid e summer time conforme definição. Eles qualificam o timestamp. Se invalid está ativo, o SCADA não deve ordenar o evento como tempo confiável sem sinalização. O bit de horário de verão não substitui política de fuso e pode ser tratado de modos diferentes em sistemas legados. Preserve os bits em logs e teste sua propagação por gateways e historiador.
Data precisa de validação de calendário
Dia, mês e ano têm limites e codificação específicos; dia da semana pode servir como consistência adicional. Teste virada de dia, mês, ano e anos bissextos em ambiente controlado. Valores impossíveis devem gerar qualidade ou rejeição clara, não correção silenciosa. Firmware com RTC mal inicializado pode produzir data válida numericamente, porém errada. Compare última sincronização e estado da fonte antes de confiar em uma sequência.
UTC e horário local são decisão do sistema
CP56Time2a não resolve sozinho o modelo de fuso de toda a arquitetura. Defina se a estação codifica local ou se o sistema adota UTC e converte na apresentação. Evite dupla conversão em gateway e SCADA. Registre a regra em interface de interoperabilidade. Compare bytes, valor interno e tela. Diferença fixa de horas aponta política; deriva crescente aponta sincronismo; uma hora em datas específicas sugere tratamento de horário de verão.
Timestamp de origem sobrevive ao atraso
Evento marcado na RTU pode atravessar indisponibilidade e chegar depois mantendo o instante de ocorrência. O SCADA deve distinguir event time de receive time. Durante GI, valores atuais podem vir sem o mesmo significado temporal dos eventos. Em análise de SOE, ordene pela origem apenas quando a qualidade dos relógios for suficiente. Canais diferentes adicionam latência variável, mas não devem alterar o campo codificado.
Clock sync e PTP têm papéis distintos
IEC 104 pode transportar função de sincronização, enquanto uma estação também pode receber NTP, PTP, GNSS ou IRIG-B. Defina uma autoridade e evite disputa entre fontes. Para precisão elevada de Process Bus, CP56Time2a não substitui o perfil temporal da rede; ele registra tempos de aplicação. Teste perda da fonte, holdover, restart e recuperação, observando indicadores de validade e desvio.
Teste usa estímulo e captura correlacionados
Aplique mudanças em instantes conhecidos, capture na origem e no SCADA e compare bytes, decodificação, fuso, qualidade e recepção. Interrompa o canal para criar backlog, depois retire a fonte de tempo. Inclua viradas de calendário em simulador. O relatório informa resolução e incerteza do método. Assim o timestamp é validado como evidência de processo, não apenas como uma data visualmente plausível.
Critério de engenharia e governança
Defina requisitos temporais por uso. Para simples tendência, segundos podem bastar; para SOE entre subestações, a incerteza precisa ser muito menor. O projeto combina precisão da fonte, caminho de sincronização, RTC, resolução de aquisição e CP56Time2a. Documente a incerteza total em vez de citar apenas resolução de um campo. Em gateways, preserve event time e receive time em atributos distintos. Não reescreva timestamps antigos para parecerem atuais durante recuperação. Se o relógio é inválido, mantenha o valor com qualidade correspondente ou aplique política explícita, nunca silenciosa. Monitore última sincronização, fonte e offset. Em mudança de fuso, teste API, banco e exportações, não só a interface web. Compare também timestamp da captura, que depende do relógio do analisador. O principal risco é reconstruir uma sequência causal incorreta com horários visualmente plausíveis. O aceite deve demonstrar ordem correta sob carga, backlog, failover e perda da referência, declarando quando o sistema deixa de garantir correlação temporal e qual alarme informa essa condição ao operador.
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.
- IEC 60870-5-104:2006+AMD1:2016 CSV — Network access for IEC 60870-5-101 — IEC. Companion standard consolidado do IEC 104; inclui o corrigendum publicado em 2023.
- IEC 60870-5-101:2003+AMD1:2015 CSV — Basic telecontrol tasks — IEC. Companion standard consolidado do IEC 101 para telecontrole serial.
- IEC 60870-5-1:1990 — Transmission frame formats — IEC. Formatos de quadro e requisitos de integridade usados pela família IEC 60870-5.
- IEC 60870-5-2:1992 — Link transmission procedures — IEC. Procedimentos de transmissão da camada de enlace, especialmente pertinentes ao IEC 101.
- IEC 60870-5-3:1992 — General structure of application data — IEC. Regras para estruturar unidades de dados de aplicação.
- IEC 60870-5-5:1995 — Basic application functions — IEC. Funções básicas de aplicação, incluindo aquisição, comandos e sincronização.
- IEC 60870-5-6:2006 — Guidelines for conformance testing — IEC. Método para ensaios de conformidade dos companion standards IEC 60870-5.
- IEC TS 60870-5-601:2015 — Conformance test cases for IEC 101 — IEC. Casos de ensaio de conformidade para implementações IEC 101.
- IEC TS 60870-5-604:2016 — Conformance test cases for IEC 104 — IEC. Casos de ensaio positivos e negativos para implementações IEC 104.
- IEC TS 60870-5-7:2025 — Security extensions for IEC 101/104 — IEC. Extensões de segurança alinhadas à série IEC 62351 para autenticação, integridade e RBAC.
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.