一、 导读 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通信库指令的使用和通信轮询的设计方法,只需要定义好需要通信的数据区域即可。关于该自定义Modbus 通信指令库和本文的例程,可扫描下面二维码,找到序号为100的文件自行下载,获取对应案例和库指令 在下期文章中为大家分享自定义Modus程序块的搭建方法。 |
|