电子开发网

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

西门子plc S7-200 SMART与变频器MODBUS-RTU通信例程

作者:佚名    文章来源:本站原创    点击数:    更新时间:2022/11/28

S7-200 SMART CPU 自带一个 RS485 端口(端口0),标准型 CPU 额外支持 SB CM01 信号板(端口1),信号板可通过 STEP 7-Micro/WIN SMART 软件组态为 RS232 通信端口或 RS485 通信端口。本例程是以CPU自带的端口0为MODBUS主站,变频器为从站 的通信。

1,接线方式

CPU自带的端口定义:

 

我们只用3脚 和8脚

注意,西门子的A,B与变频器的定义是反的,所以西门子8脚 A要与变频器B-对应,西门子3脚 B与变频器A+对应。接线图如下:

2,在与变频器通讯前,最好是先用MODBUS调试助手 先测试PLC与调试助手之间的通信。

通过测试我们可能发现,调试助手中一个寄存器的长度与一个VW对应。

变频器MODBUS寄存器地址是16进制的表达方式。所以我们PLC程序中的地址也最好用16进制表表达,这样方便直观。变频器如下:

但我们的调试助手助手的寄存器地址是十进制的。所以要转换一下。以上面的40100为例,转换成16进制为9CA4.

所以我们如果要用调试助手与变频器通信调试,要注意将变频器16进制地址转换成10进制的地址在调试助手中监控。

查看变频器参数地址表

  

变频器中部分参数(只读)

读取变频器输出频率:7203H。PLC程序中也按16进制的表达方式,读取从站1中16#7023地二的值。先用调试助手模拟测试7203H,测试如下

我们监控发现报警,代码为4:请求参数错误(slave address,Modbus address,count,RW)。报这个错误的原因是,寄存器地址超出SMART200的MODBUS寄存器地址范围。SMART200的寄存器地址范围为40001到49999和 400001 至 465535。注意这里指的是10进制地址。对于上面变频器7203H也就是10进制的29187

地址29187超出PLC中40001到49999和 400001 至 465535允许范围了,怎么处理呢?

对于没超出范围地地址,可以直接用,对于超出范围的地址,我们就要加上400000,所以以上寄存器地址在PLC中就要用429187

3,PLC与变频器连接通信

特别注意:PLC与变频器通信时,超出范围的寄存器地址,要加400001才会对应正确

4,具体参考程序:(本例程中除了变频器外,还有多个从站的轮询)

Tags:SMART,S7-200,Modbus,通信  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

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