电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

S7-200 SMART 通讯控制 V20变频器,MODBUS通讯控制变频器

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/5/10

本文着重介绍西门子 S7-200 SMART PLC控制变频器的启停,主要通过MODBUS RTU进行通讯,以及设定变频器频率和读取变频器频率。

一.添加西门子PLC库指令

 
PLC和变频器Modbus RTU通讯,PLC做主站,变频器做从站,我们首先要找到PLC中的Modbus RTU Master库,我们将对应库中的指令添加到主程序中。

二.首先添加MBUS_CTRL/MB_CTRL2 指令(初始化主站)指令

 
我们可以通过如上图片,找到该指令中不同引脚的含义。在该项目中,通讯参数设置位波特率9600,偶校验,端口port设为1,因为我们用的是信号板上的RS-485,如果使用CPU集成的端口,该值就设为0。MODE是一直为1,表示我们启用了MODBUS协议。超时我们设置的1000ms,可以根据实际设置超时时间。

DONE是完成位,Error是存储错误代码的,当初始化错误,ERROR会显示出错误对应的代码,以便我们查找故障原因。

 
三.变频器启停控制程序如何编写

 
变频器地址位1,slave设置为1。RW等于1表示写,等于0表示读,该指令是控制变频器的启停,所以我们RW设置为1,要写数据到变频器。40100表示变频器控制字,当这个值为16#047E,变频器为停止状态,当这个值为16#047F,变频器为运行状态,我们通过改变VW1310的值,就实现了变频器的启停。

 
四.变频器运行频率如何设定

变频器地址位1,slave设置为1。RW等于1表示写,等于0表示读,该指令是设定变频器的频率,所以我们RW设置为1,要写数据到变频器。40101表示主设定值,我们通过改变VW1312的值实现了对变频器频率的控制。

 
但是我们的频率对应关系是-16384~+16384表示频率是-50HZ~+50HZ,我们的VW1312应该是设置成16384这样的数字量,触摸屏设置HZ,对应转换成范围内的数字,这就用到了一个转换的指令,VD776表示0-50之间浮点数,根据VD776的值,VW1312会被转换成0-16384之间的数,这就实现了转换。

 

 
五.变频器运行频率如何读取

变频器地址位1,slave设置为1。RW等于1表示写,等于0表示读,该指令是读取变频器的频率,所以我们RW设置为0,要读数据到PLC。40111表示速度实际值,-16384~+16384表示频率是-50HZ~+50HZ,我们通过监控VW1314的值实现了对变频器频率的读取。

 
我们的VW1314应该是一个0-16384这样的数字量,我们要将这个数字量转换成0-50HZ之间的数,转换指令如下所示:

 

 
六.如何上电复位通讯程序

上电我们通过SM0.1将通讯相关的位都复位,然后将停止信号给到控制字VW1310中,等待1S,我们启动通讯,这样就实现了上电复位通讯程序。

 
七.如何编写轮询程序


Modbus RTU是半双工,所以每一个扫描周期我们只能执行一个读或者写的程序,当我们有多个读多个写,我们就需要写轮询程序,也就是依次循环启动读写程序。

我给大家举一个例子,每一个指令都有一个完成位,有一个触发位,我们就通过指令的完成位去复位当前指令的触发位,同时去置位下一条指令的触发位,这样就实现了依次执行,当然,我们不能忘了把该指令的完成位也要复位。

 


 

 

Tags:MODBUS通讯,SMART,西门子plc  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询