Modbus RTUClient(串口)

 新建驱动

在上位机配置界面菜单栏选择“新建驱动”选项,如下图
选择新建驱动
在弹出来的窗口中选择“ModbusRTUClient”驱动,如下图

新建通道

添加好驱动后,选择新建通道,Modbus RTU 是以串口方式通讯,默认通道串口 1,默认通讯参数:9600bps,8,无校验位,1 个停止位,默认超时时间 1500ms,如下图 2-24-3。注意超时时间是指请求帧的等待超时时间。
通道参数设置

新建设备

通道建立好后,选择新建设备,在弹出来的对话框中设置设备相关属性,设备默认站号 1,请求帧间隔为 1000 毫秒。如果设备不支持组包,可将组包参数设置为 0 即可,如下图 。注意请求帧间隔是指发出下一帧请求与上一帧请求之间的时间间隔
设备参数设置 

新建标签

设备新建好后,选择添加标签(点),也可以通过新建组对标签进行分类管理标签参数可根据设备实际情况进行设置,如下图。设置标签参数的时候,注意采集端Modbus 寄存器基地址是从 1 开始的。
标签参数设置

补充1:寄存器地址16进制表示法

新版本采集端寄存器地址可以支持 16 进制表示,如地址 1BH(27),可以用 0x1B 或者 28(偏移 1)表示,前缀为 0x(阿拉伯数字 0)如下图 2-24-6。以下补充说明中的前后缀字符不区分大小写!
 十六进制表示法

补充2:BCD码寄存器地址表示法

如果要读取 BCD 码形式的数据,则可在寄存器地址后面加上后缀 BCD,即“A.BCD”(A 代表 Modbus 寄存器地址 Address),如 Modbus 寄存器地址“1”取 BCD 码,如下图
BCD 表示法

补充3:高低字节取值

新版本还支持对单寄存器(Word)和双寄存器(Dword)高低字节分别取值,如 40001 寄存器占用两个字节,高字节和低字节分别代表两种含义,则分别对高字节和低字节进行取值,地址格式为“A.Hibyte”和“A.Lobyte”(A 代表 Modbus 寄存器地址 Address),如下图
高低字节取值表示法

补充4:高低字节组合求和表示法

对于单寄存器(高字节表示整数,低字节表示小数),可在寄存器地址后面加上后缀 Sum,即“A.Sum” (A 代表 Modbus 寄存器地址 Address)下图
公式 A.Sum =A. Hibyte * 10 +A. Lobyte ,用户在取得 A.sum 的值之后可以启用线性转换功能,把 A.sum 的值缩小 10 倍,从而得到高字节表示整数,低字节表示小数的值。
组合求和表示法

补充5:字节按位取数

单 寄存 器 情 况下,如需 对其 中 某几 位取位,可写 入 地址 如下所示 :A.&1110000000000000(表示取 A 寄存器的 14,15 和 16 位)
同理
A.&11100(表示取 A 寄存器的 3,4 和 5 位)(可通过线性转换后表示数值 0~7)
A.&11(表示取 A 寄存器的 1 和 2 位)
其他以此类推。
线性转换(除以对应取位的权重):用户在取位完成后,需对数据进行相应的线性转换,如取 A.11100 则需线性转换除以4 ,如取 A.&1110000000000000 则需线性转换除以2的13次方
取位功能

补充6:只写不读

如果某个寄存器只写不读,则可在寄存器地址后面加上后缀 wo,即“A.wo”(A 代表 Modbus 寄存器地址 Address),如 Modbus 寄存器地址“1”只写不读,如下图
寄存器只写不读功能

补充7:按位写

寄存器地址后加竖线,竖线表示写值的时候第几位值为 1 合并写下去,例如,1.&111|10000000,表示写值的时候第 7 位为 1 写下去,1.&100000000|1000000000000000表示写值的时候第 15 位为 1 写下去,多用于麦克维尔冷机,写值的时候需要高位置 1,表示写值有效。如下图
寄存器只写不读功能
注意: 以上 Tag 属性中,转发端 BACnet 从站寄存器基地址从 0 开始分配。标签建立完成后如下图
添加标签完成
采集端支持的数据类型有:Boolean、Word、Short、Dword、Long 、Float、Double,具体描述如表 所示
采集端数据类型
采集端支持的寄存器类型有 0X、1X、3X、4X 四种类型,具体描述如下表所示
采集端支持的寄存器类型
2023-06-30
1 0