4.2.5 ModBus通道文件测点寄存器参数配置
测点寄存器配置用于给出存储测点数据的地址信息,包括序号、寄存器类型、起始地址、数据类型、新请求标志、轮询周期、点号。对于每个通道,都需要对具体测点的寄存器信息进行以下配置:
- 序号:u64类型,用正整数表示。序号是通道配置中给各个测点的编号,一般从1开始连续对测点进行编号。
- 寄存器类型:有COILS、DISCRETE、INPUT、HOLDING四种。其中COILS表示线圈寄存器,表示寄存器的单位是1位(bit)数据,类型为开关量,可进行读写;DISCRETE表示离散输入寄存器,只能读取开关量;HOLDING表示保持寄存器,该寄存器的单位是2个byte,可以存放具体的数据量,并且是可读写的,INPUT表示输入寄存器,只能读取保持寄存器数据。
- 起始地址:u64类型,用正整数表示,根据数据类型确定测点的地址偏移。
- 数据类型:用约定的类型声明表示,测点支持的数据类型如下表所示。不同的测点对应于不同的起始地址和数据长度所决定的一个数据,数据长度取决于测点的数据类型。
注:字节顺序(Modbus大小端)相关规则如下,当数据字节数大于等于2字节时,通过Swapped实现高低位的交换。
首先做如下标准声明:大端模式指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,其字节顺序用ABCD表示,其中A(B/C/D)表示一个字节; 小端模式指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,其字节顺序用DCBA表示。
具体对应关系如下表:
- 新请求标志:有TRUE和FALSE两个选项。
- 轮询周期:经过一个轮询周期,测点的值进行一次更新,单位为毫秒。
- 点号:正如在测点文件配置中所描述的那样,通信通道的点号与测点的点号一一对应完成对接。