KB-13817: Timestamp dos valores lidos diferente do mostrado na remota.

Descrição:

Comunicando com remota via driver IEC, o valor do timestamp dos eventos está sendo registrado com a data/hora do computador e não com o valor de data/hora que a remota está enviando. Como proceder nesta situação?

Solução:

Como a remota não está fazendo sincronismo de data/hora, o flag de timestamp está chegando para o driver como inválido (iv=1). Isto faz com que o driver ignore o timestamp enviado e use o timestamp do micro.

Analisando um trecho do log gerado pelo driver IEC da Elipse temos:

21/03/2007 15:07:46.426 (05D0) << 016: [3: ,RESPOND ,ACD, ] [M_SP_TB_1=30,cnt=1,cot=3,addr=3] ADDR=102 SIQ(spi=ON,bl=0,sb=0,nt=0,iv=0) CP56Time2a(0 21/03/2007 14:08:04.202, iv=1, su=0)
21/03/2007 15:07:46.426 (012C) [DRIVER] App_WriteToCache 30:102 = (216; 15:07:46.428) 1

Quebrando o log para melhor entendimento, a função ASDU M_SP_TB_1 é composta de duas partes: o valor e o timestamp. Cada uma destas duas partes contém informações sobre a confiabilidade do dado, sendo que: se iv=0, o dado é confiável; se iv=1, não é. Desta forma, na mensagem abaixo verificamos que o valor é confiável, porém o timestamp não.

[M_SP_TB_1=30,cnt=1,cot=3,addr=3] ADDR=102 SIQ(spi=ON,bl=0,sb=0,nt=0,iv=0)
CP56Time2a(0 21/03/2007 14:08:04.202, iv=1, su=0)

Com isto, o próprio driver adiciona um valor de estampa de tempo, e escreve uma qualidade diferente no tag (no caso 216) para indicar isto.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Leave a Reply

Your email address will not be published.Required fields are marked *