日志机制
一般说明
Modbus 日志寄存器可以帮助用户追踪特定事件的发生以及相应的日期。
共有 4 种事件历史记录信息:
-
报警日志:报警日志格式对应一系列记录,共有 10 个。每个记录包括 5 个寄存器,它们用来说明一个报警事件。请参见报警日志。
-
脱扣日志:脱扣日志格式对应一系列记录,共有17个。每个记录包括 7 个寄存器,它们用来说明一个脱扣。请参见脱扣日志。
-
维护操作日志:维护操作日志格式对应一系列记录,共有 10 个。每个记录包括 5 个寄存器,它们用来说明一次维护操作。请参见维护操作日志。
-
BSCM Modbus SL/ULP 模块事件日志:BSCM Modbus SL/ULP 模块事件日志格式对应一系列记录,共有 10 个。每个记录包括 5 个寄存器,它们用来描述一个 BSCM Modbus SL/ULP 模块事件。请参见事件日志。
日志机制
每个事件都使用 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)。