今天拿S7200与德力西多功能电表做 MODBUS练手,参考了众多程序,无法成功,特来求教。
PLC是226cn,地址是2和3.电表地址为5,波特率9600。
程序也传上来了,见压缩包。
程序说明:本例程中,实现如下对从站的访问功能:
(1)访问从站地址为3
(2)访问不同的Modbus 地址,分别以40001, 40020为起始地址
(3)C0=1时,执行读操作
(4)C0=2时,执行写操作,与此同时,下一周期复位计数器
(5)利用MBUS_MSG指令的Done触发计数器C0,每次操作完成,计数器加1,实现轮询访问从站
-----------------------
当C0=1 时,设置读模式0,读取从站起始地址以40001起始的10个字,存放到VB1000起始的10个字
----------------------------------
当C0=2 时,设置写模式1,将存放在VB1100起始的20个字,写入到从站地址以40020起始的20个字
-------------------
官网上下载的程序,在线时无错误代码,无法读取电表的数据。
问题补充:
简化程序后报错 error=3,
如何利用串口助手模拟信号?
串口助手可以当从站来发信号不?我用串口助手连不上plc,显示com5 closed,但电脑能连上plc。
图片说明:
最佳答案
1、首先要保证通讯线缆接线正确。
2、要确保德力西多功能电表支持MODBUS RTU 协议(有的厂家支持MODBUS ASCII 协议)。并要仔细阅读德力西多功能电表说明书,熟悉德力西多功能电表设置的操作方法。
3、一般先采用计算机应用串口调试软件与西多功能电表进行通讯,熟悉德力西多功能电表的通讯格式。参见技术论坛中的文章:
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1534143&b_id=64&b_sid=0&s_id=83&num=6&myreply=1#anch
4、确保上述工作完成后,S7-200按下述按编程:
《S7-200基于MODBUS协议与智能仪表之间的通信实现方法》连接:
http://jingyan.baidu.com/article/e75aca857cb779142edac68e.html
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc363822.html