KB-13817: Timestamp of read values different from the one in the remote unit.

Question:

When communicating with a remote unit via IEC driver, the events’ timestamp is being recorded with the computer’s timestamp, and not with the remote unit’s. How can I deal with this situation?

Solution:

Since the remote unit is not synchronizing date/time, the timestamp’s flag arriving at the driver is invalid (iv=1). This causes the driver to ignore the timestamp being sent, and to use the computer’s timestamp instead.

Analyzing an excerpt of the log generated by the driver, we have:

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

Let’s break the log down for a better understanding. Function ASDU M_SP_TB_1 comprises two parts: value and timestamp. Each part carries information about the data’s reliability: if iv=0, the data is reliable; if iv=1, it is not. Thus, the message below shows us that the value is reliable, but the timestamp is not:

[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)

With this information, the driver adds a timestamp value, and writes a different quality value in the tag (in this case, 216) to signal this.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

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

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *