以下文章来源于跟我学PLC吧,作者凌云
一、 导读
Modbus 通信是一种应用广泛的通信协议 ,在变频器、智能仪表或是其他的一些智能设备上应用的一种通用通信协议,本文以S7-200SMART系列PLC作为Modbus主站,以西门子V20变频器和欧姆龙E5EZ的智能温控仪表作为从站为例,为大家分享如何使用自定义的Modbus RTU的通信程序块,来实现快速高效的Modbus通信程序设计。同时在本文的结尾会为大家提供参考程序和打包好的Modbus RTU通信块的库指令,后续大家可以把该库指令添加到自己软件中的库指令中,方便后续直接使用。
二、自定义Modbus通信块指令介绍
如下图所示为一条自定义的Modbus通信块指令,在进行Modbus通信时,不管有多少个从站,都只需要使用一条该指令,使用时配合数据块对通信数据的定义即可。
三、通信程序的设计
(1) 硬件需求与接线
(2) 控制要求说明
实现对西门子V20变频器的运行控制,速度调节、运行状态反馈、运行速度反馈、输出电流和输出电压监控,实现对欧姆龙E5EZ的当前温度值PV值监控和设定值SV的调整。根据V20变频器说明书和欧姆龙E5EZ说明书得到对应通信的Modbus 寄存器地址如下图所示。
注:通信参数设置可根据V20变频器说明书和欧姆龙E5EZ说明书来设置,对于V20变频器可通过设置为链接宏Cn11快速完成通信参数的设置,需要注意的是要变频器和智能仪表必须要设置相同的数据位,停止位、起始位、奇偶校验位和波特率。
(3) 在数据页中定义通信数据
在数据页中以10个字节为单位定义通信需要数据和读写数据存储的地址,如图所示:
(4)通信程序
调用自定义的Modbus通信块指令,完成通信程序的设计,程序如下图所示:
调用的库指令需要为其分配库存储器地址,该自定义的Modbus通信块占用594个字节的地址,分配如下图所示,分配时需要保证分配的库存储器地址在程序的其他地方未被使用。
V20控制程序,主要用于完成对V20变频器的控制命令给定和速度给定的换算程序,程序如下图所示:
四、结语
使用该自定义的Modbus 通信块指令,可以无需考虑Modbus通信库指令的使用和通信轮询的设计方法,只需要定义好需要通信的数据区域即可。
全部0条评论
快来发表一下你的评论吧 !