Codesys—标准Modbus串口通讯库的应用示例

本文详细介绍了如何在PLC/控制器中作为ModbusRTU主站,通过添加ModbusCOM、Master和Slave设备,设置通讯参数,以及配置读写通讯命令,实现与从站设备的高效通信。
摘要由CSDN通过智能技术生成

简述:此文中,PLC/控制器作为Modbus 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主站和从站的通讯。 

  • 55
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值