跳到主要内容

Modbus RTU

JX-810支持Modbus RTU协议通过串口与Modbus子设备进行通信控制,使用时将JX-810的串口与Modbus子设备的串口相连即可。

工作原理:

  • 采集:根据配置的驱动协议和设置的数据点生成Modbus RTU采集指令,按照驱动配置的轮训周期定期通过串口下发Modbus RTU采集指令,之后等待设备通过串口返回数据。
  • 采集数据解析:拿到串口数据后根据Modbus RTU协议进行解析,并进行运算(如果配置的情况下)得到数据点值,之后更新数据点值。
  • 控制:当服务端或其他场景需要控制更改数据点数据时,会根据Modbus RTU协议和数据点的配置生成Modbus RTU控制指令,并通过串口下发。

采集协议-ModbusRTU

提示

最多可以连接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运算
  • 小数位:经过运算公式运算,可能会出现小数位过长的情况,此字段用来限定保留的小数位数。