modbus-rtu采集¶
云端配置(modbus-rtu采集)¶
新建通道¶
新建一个采集通道,协议选择MODBUS-RTU,主参数中,串口名称按照网关实际的接线情况选择对应的COM口(COM1对应A1、B1,以此类推),其它参数如无特殊要求保持默认即可;
提示
本协议支持切换协议类型为TCP,可做TCP Server接收DTU数据,此时设备公共地址填DTU的注册帧字符串。
对时配置¶
如果需要对设备进行对时,则需要在规约参数上设置对时报文格式,对时报文开头部分是功能码和寄存器部分,按照装置说明里面的对时报文写死即可。对时报文的时间部分,会用到通配符。相关通配符说明如下:
符号 | 描述 |
---|---|
%?A | 将被替换为设备通讯地址(Address),?处填写字符串长度,下同 |
%?Y | 将被替换为年份(如2025年,当配置成%2Y时被替换成0x25,配置成%4Y时被替换成0x2025) |
%2M | 将被替换为月份(只支持%2M,如7月,会被替换成0x07) |
%2D | 将被替换为(日期)(只支持%2D,如19日,会被替换成0x19) |
%2H | 将被替换为(小时)(只支持%2H,如18时,会被替换成0x18) |
%2M | 将被替换为(分钟)(只支持%2M,如56分,会被替换成0x56) |
%?S | 将被替换为(秒值/毫秒值)(如3.234秒,%2S会被替换成0x03,%4S则按照毫秒进行替换,替换成0x3234) |
提示
%号后面的?,为数字,代表字符串长度,字符串长度除以2就是字节个数。
对时报文默认是按照BCD格式发送。如果要按照十六进制发送,则在对时报文开头加"0x"即可。此时2025年,会按照0x07E9发送。
%4S在BCD模式下,会溢出,他一般是在十六进制模式下使用。
新建设备¶
新建一个设备,自定义设备名称,通讯地址填写modbus从站的485地址,其余参数留空即可。
新建测点¶
举例新建一个保持寄存器测点,已知寄存器地址为4100,数据类型为16位有符号位整型,那么功能码选择03,06号命令,地址填写4100,数据类型选择16位有符号,数据格式(高低位)选择12。
提示
有些设备的点表在描述时,可能会将寄存器类型作为数字拼接到寄存器的最高位,例如“4100”,也有可能指功能码“04号命令(读输入寄存器)”、地址为“100”。
举例读字符串数据,该字符串保存在保持寄存器中,已知寄存器地址为260,字符串值长度为9,那么功能码选择03,06号命令,地址填写260,数据格式(高低位)选择21(根据实际情况可以更改为12),数据类型选择字符串,此时系数一栏会变成字符串长度,在此填写9。
提示
为了避免字符串读取不全,本驱动中对长度做了x2处理,所以此处填5(计算时长度补足为偶数然后除以2(9+1)/2=5)或者9都是能读到的。
本地配置(modbus-rtu采集)¶
展开查看视频
新建通道¶
新建一个采集通道,协议选择MODBUS-RTU,主参数中,串口名称按照网关实际的接线情况选择对应的COM口(COM1对应A1、B1,以此类推),其它参数如无特殊要求保持默认即可;
提示
本协议支持切换协议类型为TCP,可做TCP Server接收DTU数据,此时设备公共地址填DTU的注册帧字符串。
新建设备¶
新建一个设备,自定义设备名称,通讯地址填写modbus从站的485地址,其余参数留空即可。
新建测点¶
举例新建一个保持寄存器测点,已知寄存器地址为4100,数据类型为16位有符号位整型,那么功能码选择03,06号命令,地址填写4100,数据类型选择16位有符号,数据格式(高低位)选择12。
提示
有些设备的点表在描述时,可能会将寄存器类型作为数字拼接到寄存器的最高位,例如“4100”,也有可能指功能码“04号命令(读输入寄存器)”、地址为“100”。
注意
使用01、02功能码读取时,测点数据类型必须为位;
使用03、04功能读取,且需要按位取值时,测点数据类型应该为16位有/无符号或32位有/无符号。
举例读字符串数据,该字符串保存在保持寄存器中,已知寄存器地址为260,字符串值长度为9,那么功能码选择03,06号命令,地址填写260,数据格式(高低位)选择21(根据实际情况可以更改为12),数据类型选择字符串,此时系数一栏填写字符串长度9。
提示
为了避免字符串读取不全,本驱动中对长度做了x2处理,所以此处填5(计算时长度补足为偶数然后除以2(9+1)/2=5)或者9都是能读到的。
对时配置¶
如果需要对设备进行对时,则需要在规约参数上设置对时报文格式,对时报文开头部分是功能码和寄存器部分,按照装置说明里面的对时报文写死即可。对时报文的时间部分,会用到通配符。相关通配符说明如下:
符号 | 描述 |
---|---|
%?A | 将被替换为设备通讯地址(Address),?处填写字符串长度,下同 |
%?Y | 将被替换为年份(如2025年,当配置成%2Y时被替换成0x25,配置成%4Y时被替换成0x2025) |
%2M | 将被替换为月份(只支持%2M,如7月,会被替换成0x07) |
%2D | 将被替换为(日期)(只支持%2D,如19日,会被替换成0x19) |
%2H | 将被替换为(小时)(只支持%2H,如18时,会被替换成0x18) |
%2M | 将被替换为(分钟)(只支持%2M,如56分,会被替换成0x56) |
%?S | 将被替换为(秒值/毫秒值)(如3.234秒,%2S会被替换成0x03,%4S则按照毫秒进行替换,替换成0x3234) |
提示
%号后面的?,为数字,代表字符串长度,字符串长度除以2就是字节个数。
对时报文默认是按照BCD格式发送。如果要按照十六进制发送,则在对时报文开头加"0x"即可。此时2025年,会按照0x07E9发送。
%4S在BCD模式下,会溢出,他一般是在十六进制模式下使用。