Modbus RTU
JX-810支持Modbus RTU协议通过串口与Modbus子设备进行通信控制,使用时将JX-810的串口与Modbus子设备的串口相连即可。
工作原理:
- 采集:根据配置的驱动协议和设置的数据点生成Modbus RTU采集指令,按照驱动配置的轮训周期定期通过串口下发Modbus RTU采集指令,之后等待设备通过串口返回数据。
- 采集数据解析:拿到串口数据后根据Modbus RTU协议进行解析,并进行运算(如果配置的情况下)得到数据点值,之后更新数据点值。
- 控制:当服务端或其他场景需要控制更改数据点数据时,会根据Modbus RTU协议和数据点的配置生成Modbus RTU控制指令,并通过串口下发。
提示
最多可以连接255
个子设备,但是要保证JX-810的串口参数与所有子设备的串口参数一致。即波特率、数据位、停止位、校验位一致。
协议驱动配置
- 从机地址:modbus子设备从机地址,取值范围:1-255
- 轮询周期:采集周期,单位:秒
- 指令间隔:相邻数据点之间的采集时间间隔
- 通信超时:串口发送采集指令后,超过此时间没有接收到电表返回内容,即认为本次采集响应超时,查询失败
- 分包长度:由于modbus采集会进行合并指令优化,该字段表示最大数据包长度,单位:字节
- CRC顺序:CRC校验顺序,RTU一般采用小端(LH),TCP一般采用大端(HL),ASCII采用LRC算法,此字段无意义。
- 写功能码:写保持寄存器时的功能码,支持
0x16
(标准协议中的写单个保持寄存器功能码)和0x10
标准协议中的写多个保持寄存器功能码)两种功能码 - 16位整数解码:Short类型编解码字节顺序
- 32位整数解码:Int类型编解码字节顺序
- 32位浮点数解码:Float类型编解码字节顺序
- 64位整数解码:Long类型编解码字节顺序
- 64位浮点数解码:Double类型编解码字节顺序
数据点采集配置
- 数据点名称:定义数据点的名称,注意:全局唯一,不同子设备下也不可以重复!!!
- 功能码:采集指令的功能码
01
:读取线圈状态——取得一组逻辑线圈的当前状态(ON/OFF)02
:读取输入状态——取得一组开关输入的当前状态(ON/OFF)03
:读取保持寄存器——在一个或多个保持寄存器中取得当前的二进制值04
:读取输入寄存器——在一个或多个输入寄存器中取得当前的二进制值
- 数据类型:读取到数据的类型,扩展支持String(字符串)类型。
- 寻址:线圈或者寄存器的起始地址
- 运算1:第一次四则运算的运算符
- 数值1:第一次四则运算的数值
- 运算2:第二次四则运算的运算符
- 数值2:第二次四则运算的数值
- 小数位:两次四则运算后保留的小数位数
边缘计算配置
对于复杂的运算场景,比如根据一些指标,经过特殊的运算来得到真正需要的指标时,可以使用此变量进行运算。注意:计算时的原始指标只能选择此子设备采集到的数据。
举例:例如我们采集到了电压和电流值,如果想看功率,就可以使用运算公式根据采集到的电压和电流计算出来。
- 标识符:边缘计算数据点的名称,注意:与数据点名称一样,同样是全局唯一!!!
- 运算公式:支持常用的四则运算(
+
、-
、*
、/
)、圆周率π
、自然对数e
、对数lg
运算和对数ln
运算。 - 小数位:经过运算公式运算,可能会出现小数位过长的情况,此字段用来限定保留的小数位数。