自定义Modbus通信块指令的搭建教程

描述

以下文章来源于跟我学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通信库指令的使用和通信轮询的设计方法,只需要定义好需要通信的数据区域即可。      

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分