日志机制
概述
Modbus日志寄存器可以帮助用户追踪特定事件的发生以及相应的日期。
共有 4 种事件日志信息:
日志机制
每个事件通过 ULP DATE 格式进行时标。
当日志被填满以后,最早的事件记录会被丟弃,以便为最新的事件记录腾出空间(推入到日志的顶部)。
各个记录是按照发生的先后顺序排列的,最新事件是第一个记录。
下表说明了 10 条记录日志格式的日志机制:
在事件 E 之前
记录 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
事件 |
E-1(最新的事件) |
E-2 |
E-3 |
E-4 |
E-5 |
E-6 |
E-7 |
E-8 |
E-9 |
E-10(最早的事件) |
事件 E 之后
记录 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
事件 |
E(最新的事件) |
E-1 |
E-2 |
E-3 |
E-4 |
E-5 |
E-6 |
E-7 |
E-8 |
E-9(最早的事件) |
在事件 E 之后,事件 E-10 丢失。
读取日志信息
需要读入功能读取日志记录(参见读函数中的 Modbus 函数:读 n 个输入字,函数代码 = 4)。比如,如果要读取报警日志格式的最新报警记录(参见报警日志),用户需要使用一个 5 个寄存器读入功能。
此外,如果要读取最后 n 个日志格式记录,需要使用一个(m) x (n)块读入功能,其中 m 是记录所用的寄存器数量。
比如,如果要读取脱扣日志格式的 3 个最新脱扣记录(参见脱扣日志),用户需要使用一个 7 x 3 = 21 寄存器的读入功能:
-
前 7 个寄存器说明了脱扣日志格式的第一个记录(最新的脱扣)。
-
接下来的 7 个寄存器说明了脱扣日志格式的第二个记录。
-
最后 7 个寄存器说明了脱扣日志格式的第三个记录。
不使用时,日志寄存器返回 32768 (0x8000)。