[西门子] 必看!S7-1200 牵手 Modbus 网关,通讯解决技巧(附程序)

[复制链接]
查看101 | 回复0 | 3 天前 | 显示全部楼层 |阅读模式
导读

Modbus 通信网关能实现 MODBUS TCP 与 MODBUS RTU 协议的转换。企业借助它,可低成本整合新旧设备,加快数字化转型,还能确保系统灵活、安全。


本文以 S7-1200 PLC 为例,介绍如何通过 Modbus 网关与变频器进行 Modbus RTU 通信,实现对变频器的控制和速度调节




硬件选与网关配置

在本案例中,硬件选配如下:S7-1200 PLC 选用 CPU1214C 型号;康耐德单口 Modbus 网关选择 C2000-M2-SHE0101-CB1 型号;变频器则采用海浦蒙特 HD09 型




仪表通信参数设置

利用网关模块配套软件进行网关参数设置。具体操作如下:

1:用网线将网关与电脑连接。

2:打开网关模块软件,点击 “搜索” 按钮,待搜索到网关型号后,选中该网关并点击 “设置”。

3:设置网关 IP 地址,确保其与 PLC 的 IP 地址处于同一网段。

4:设置串口参数,该参数务必与变频器的通信参数相匹配,尤其是串口模式的参数要精准对应。




变频器参数设置

变频器通信参数需参照其说明书所述方法进行设置。在此,总结了该海浦蒙特 HD09 型变频器需设置的通信参数及对应数值 :

(此处若有具体参数数值可直接罗列,若无则略去,待后续补充完善)

实际设置时,请严格遵循变频器说明书操作,以确保通信顺畅




通信程序编写

1:在编程环境中,新建一个数据块 DB1,将其命名为 “Modbustcp_Data”。在此数据块内,需创建与通信紧密相关的变量,这些变量涵盖运行命令、频率设置、运行频率、电流监控、电压监控以及变频器状态显示等。通过合理设置这些变量,为后续的通信程序运行奠定基础



2:在编程环境里,着手新建一个 FB 块,将其命名为 “Motor_Contruol_Mtcp” 。要完成通信程序编写,需在该程序块中调用 Modbus TCP 通信客户端指令 “MB_CLIENT” 。


操作时,先在 FB 块的接口区定义编程所需的相关变量,变量详情见下图(此处可根据实际情况补充变量图,若无图则略过此表述)。之后,基于定义好的变量,合理运用 “MB_CLIENT” 指令,构建起完整的通信程序逻辑,确保通信功能的实现



1:初始化:建立与服务器的连接后,复位 MB_CLIENT 指令的请求条件,再置位第一条指令的请求条件。



2:调用 MB_CLIENT 指令以完成频率与运行命令的给定



3:调用 MB_CLIENT 指令监控运行频率



4:调用 MB_CLIENT 指令监控变频器运行时的电压和电流



5:调用 MB_CLIENT 指令监控变频器运行时的电压和电流



6:在主程序 OB1 中调用通信程序:调用新建编号的通信程序 FB 块,确保 PLC 对该 FB 块进行扫描执行




结语

该案例需注意以下几点:
(1)执行 MB_CLIENT 后会自动建立连接,可通过背景数据块中的 Connected 变量判断是否与服务器建立通信连接。若该变量值为 1,则表示已连接。
(2)若要断开与服务器的通信连接,将 MB_CLIENT 指令的 DISCONNECT 管脚设为 1 即可。
(3)通信建立后可进行数据交换。若需交换多条数据,可重复调用 MB_CLIENT 指令,所有指令使用相同的背景数据块,各指令的 REQ 条件需轮询接通。
免费领取

小编,今天整理了,文章源程序 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则