RTU主站,对从站设备进行读写操作,描述了设备的添加,通讯参数的设置,以及通讯命令的配置操作。
1.Modubus设备添加
首先右键"【Device】",在弹出菜单栏下选择“【添加设备】”
步骤:选择“【现场总线】”->"【Modbus】"->"【Modbus串行端口】"->"【Modbus COM】"->"【添加设备】";
注意:示例中为标准的Modbus 总线设备,也可通过菜单栏”工具“->"设备存储库"->"安装",安装其他供应商的Modbus总线设备。
添加Modbus COM设备后,左侧视图上将新增一个"Modbus_COM"设备 ,此时右键单击"【Modbus_COM】"设备,在弹出菜单栏中点击“【添加设备】”。
如上图所示,找到并选中“【Modbus Master,COM Port】”设备,点击“【添加设备】”。
添加Modbus Master COM Port设备后,左侧视图上将新增一个"Modbus_Master_COM_Port"设备 ,此时右键单击"【Modbus_Master_COM_Port】"设备,在弹出菜单栏中点击“【添加设备】”。
如上图所示,找到并选中“【Modbus Slave,COM Port】”设备,点击“【添加设备】” 。
至此,Modbus 从站设备添加完成,一共需要添加3个设备;
1.添加 Modbus COM 设备。
2.添加 Modbus Master,COM Port 设备。
3.添加 Modbus Slave,COM Port 设备。
补充一个较为快捷的添加设备方式,如下视频:
2024-02-21-11-40-33
2.通讯参数设置
双击【Modbus_COM】设备,在右侧窗口的“【通用】”中,可设置硬件【COM端口号】,此端口号根据实际硬件的COM口进行设置;设置【串口参数】:波特率、奇偶校验、数据位、停止位。
双击【Modbus Master,COM】设备,在右侧窗口的“【通用】”中,可设置传输模式为“RTU”或"ASCII",以及响应超时,帧间隔时间等参数;其中建议勾选“【自动重启通讯】”功能,不勾选时当通讯异常时总线状态可能异常此时将自动断线,勾选自动重启通讯后,发生通讯异常时将会进行自动重连。
双击【Modbus Slave,COM Port】设备,在右侧窗口的“通用”中,可以设置连接的设备的【从站地址】,和响应超时参数。
3.通讯命令配置
在上图界面的基础下,选中“【Modbus从站通道】”,此时无通讯命令配置,可通过点击右下角的“【添加通道】”添加通讯命令。
以下分别是使用功能码03,读保持型寄存器;使用功能码16,写多个保持型寄存器的相应界面。
使用03功能码读寄存器或16功能码写寄存器时,可选择循环、上升沿、应用这三种触发方式,循环触发时,可设置循环时间;上升沿触发时,可设置触发变量;应用触发方式未使用过,此处不做记录。
备注:通常读取使用循环触发,写入则使用上升沿触发为佳,但也需要看具体需求,较为简单的方式为都使用循环触发。
偏移地址为需要读取或写入的寄存器地址,长度为字数。
如上图所示,添加了两条通讯命令的配置。
添加了通讯命令的配置后,左侧将显示“【ModbusGenericSerialSlaveIO映射】”选项,此时点击它,出现下图:
在上图右侧红框中,
1.通道 Channel 0为循环读取0x0000的连续两个字,可以在变量框中选择变量,用来接收读取回来的数据;
2.通道Channel 1为上升沿触发写入0x0020的连续两个字,可以在变量框中选择触发的变量,以及写入的数据。
如下图所示,先添加ModbusRTU变量表,然后在右侧声明区添加变量:
然后在ModbusSlaveIO映射界面的【变量】列中,选择刚才在ModbusRTU变量表中新建的变量,如下图所示:
至此Modbus的设备添加和通讯配置已经完成,不需要在程序中通讯指令,只需在配置中完成配置和映射即可完成Modbus RTU主站和从站的通讯。
原文链接:https://blog.csdn.net/wushangwei2019/article/details/136202630