技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 关于s7-200的modbus rtu 从站通讯的问题

关于s7-200的modbus rtu 从站通讯的问题

林慧玲 发布于2014-03-11 16:22 4185 0 标签:

学工控技术,拿10万年薪

点下面注册
马上注册,免费学习plc视频教程
马上注册,免费学习超过100课时视频教程,免费下载海量学习资料


自由口通信和modbus通信,想法:让电脑跟s7-200plc通过modbus协议进行通信,plc做从站,把从站的modbus协议写道plc上,电脑上使用串口调试软件发送一个数1,然后通过modbus协议,传送到plc中,接收到以后点亮i0.0点(不知道这种想法是对还是错)。我用的是s7-200226cpu,编程线是usb/ppi的(一头是485头,一头是usb接头)。
以下是我做的过程,我在编程环境中编写了从站程序,并用编程线下载到了plc中(程序在下图中,因为刚学,编写的程序对不对我自己都不知道)然后用串口调试软件发送数据1做验证,结果没有反应,在程序状态监控中显示mbus_slave的错误代码是10(从属功能没有启动),还有就是我在库存储区分配上地址设置的是vb0-vb779,在mbus_slave中的holestr位中,按理说保持寄存器不能跟库存储区相重叠,可是我在设置保持寄存器为vb0-vb779范围之内时没事儿,但是错误代码是10就是那个从属功能没有启动。超出这个范围,比如&vb1000就显示:无法建立与指定地址的连接,可能是无效地址或不存在的地址,这个时候用的是ppi编程线。我把线换成485转usb线,调到运行当,点程序状态监控显示:端口无法打开或正由另一个应用程序占用。彻底的不知道是为什么了,请来是们帮我指点一下,我的错误在那里。或者我现在想做pc跟plc的modbus协议传输该怎么实验,谢谢你们万分感激。


问题补充:
谢谢两位老师的回答,上午我弄了一下才知道,原因是我用的端口0放ppi线,在初始化modbus通信以后端口被占用,使用ppi编程线就不能在监控了,经过指点,我吧端口1放置ppi编程线,端口0设置放置485转usb的传输线,在监视程序状态时通讯显示正常了(见图)。我现在想通过modbus调试精灵向plc里面发送数据却不知道怎么弄了(也上图了)。还想跟老师请教,把数据发到plc里后数据应该存放在vw0起始的存储区中,我该怎么读取这里的数据呢,就是说怎么读出plc里的数据,总是绕不出这个弯。


图片说明: 1,调试精灵 2,写的程序 3,正常吴错误

佳答案

1、线,在pc中一定要表示为一个串口,这样子才能起先通讯实验;siemens原装的usb/ppi,在pc中表示的是一个usb设备。
2、holdstart占用的v区,不要和库内存重叠。比如你的holdstart=&vb0,数量是1000,那么vb0-vb1999都是hold范围,库内存至少分配到vb2000以上。为什么?现在照做,等有体会后,自然就明白了。
3、发下面这串数据到plc,有回应数据就表示成功了。
假定modbus从站地址10,读取40001一个hold寄存器(也就是vw0):
0a03000000018571
(16进制格式)

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签