跳转至

modbus-rtu转发

云端配置(modbus-rtu转发)

新建通道

新建一个转发通道,协议选择MODBUS-RTU(转发),主参数中,串口名称按照网关实际的接线情况选择对应的COM口,其它参数如无特殊要求的留空即可;

新建设备

新建一个设备,自定义设备名称,设备通讯地址为MODBUS协议转发出去的从站设备地址,其余参数留空即可。

新建测点

提示

不管用哪种功能码转发,您可以任意指定地址,尽管它们是不连续的,留空的地址默认实时值为0;

需要注意的是,地址在递增时,位、8位、16位有/无符号步长为1(例如27、28、29...),32位有/无符号单精度浮点数步长为2(例如12、14、16...)。

保持寄存器(0x03功能码)

举例转发一个保持寄存器测点,测点可以批量新增已有的采集点或中间点为转发测点;

已知寄存器地址为4100,数据类型为int(16位有符号),那么功能码选择03,06号命令,地址填写4100,数据类型选择16位有符号,数据格式(高低位)选择12;如下图:

提示

转发测点的寄存器地址从0开始,最小地址为0;

输入寄存器(0x04功能码)建点过程与保持寄存器(0x03功能码)一致。

假设上述测点当前值为6789,Modbus Poll读取报文如下:

发送>>01 03 10 04 00 0A 80 CC
接收<<01 03 14 1A 85 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1C 4D

配置如下:

离散寄存器(0x01功能码)

举例转发一个离散寄存器测点,已知寄存器地址为4,数据类型为BIT(位),那么功能码选择01,05号命令,地址填写4,数据类型选择,高低位选择12

提示

转发测点的寄存器地址从0开始,最小地址为0;

离散输入寄存器(0x02功能码)建点过程与离散寄存器(0x01功能码)一致。

假设上述测点当前值为1,Modbus Poll读取报文如下:

发送>>01 01 00 00 00 0A BC 0D
接收<<01 01 02 10 00 B4 3C

配置如下:

本地配置(modbus-rtu转发)

新建通道

新建一个转发通道,协议选择MODBUS-RTU(转发),主参数中,串口名称按照网关实际的接线情况选择对应的COM口,其它参数如无特殊要求的留空即可;

新建设备

新建一个设备,自定义设备名称,设备通讯地址为MODBUS协议转发出去的从站设备地址,其余参数留空即可。

新建测点

提示

不管用哪种功能码转发,您可以任意指定地址,尽管它们是不连续的,留空的地址默认实时值为0;

需要注意的是,地址在递增时,位、8位、16位有/无符号步长为1(例如27、28、29...),32位有/无符号单精度浮点数步长为2(例如12、14、16...)。

保持寄存器(0x03功能码)

举例转发一个保持寄存器测点,测点可以批量新增已有的采集点或中间点为转发测点;

已知寄存器地址为4100,数据类型为int(16位有符号),那么功能码选择03,06号命令,地址填写4100,数据类型选择16位有符号,数据格式(高低位)选择12;如下图:

提示

转发测点的寄存器地址从0开始,最小地址为0;

输入寄存器(0x04功能码)建点过程与保持寄存器(0x03功能码)一致。

假设上述测点当前值为6789,Modbus Poll读取报文如下:

发送>>01 03 10 04 00 0A 80 CC
接收<<01 03 14 1A 85 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1C 4D

配置如下:

离散寄存器(0x01功能码)

举例转发一个离散寄存器测点,已知寄存器地址为4,数据类型为BIT(位),那么功能码选择01,05号命令,地址填写4,数据类型选择,高低位选择12

提示

转发测点的寄存器地址从0开始,最小地址为0;

离散输入寄存器(0x02功能码)建点过程与离散寄存器(0x01功能码)一致。

假设上述测点当前值为1,Modbus Poll读取报文如下:

发送>>01 01 00 00 00 0A BC 0D
接收<<01 01 02 10 00 B4 3C

配置如下: