找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
1、 Modbus RTU 主站库对CPU的版本有要求。CPU 的版本必须为 2.00 或者 2.01(即订货号为 6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的 S7-200 CPU 不支持。
2、 在线你的CPU 查看一下是不是硬件版本低了,低了确实要用自由口编程来实现,不能调用指令库;如果硬件版本满足,可以参考阿鸣大师的方法。也可以参考下面的链接。
3、 附图是仪表的协议的话,按你附的程序,CPU和仪表就不可能通讯上。
4、 最主要的错误是,仪表的协议是MODBUS RTU协议,按协议附图CPU的请求帧只能是8个字节,结果你在请求帧中发送给仪表9个字节,那它就不认识你发的请求帧了
3、建议你用MODSCAN 32软件,是一个很好用的测试MODBUS 通讯的软件,可以在网上下载到,选择MODBUS RTU方式,用来确认仪表的MODBUS 通讯是否正常;
4、程序做如下改动
A、主程序的网络2,将8传入VB500;最后一条语句MOVB 9,VB500可以删除了。
B、端口初始化部分
LD SM0.1
LPS
MOVB 9,SMB130
AENO
MOVB 16#9C,SMB187
LRD
MOVW 4,SMB190
AENO
MOVW 50,SMW192
AENO
MOVB 60,SMB194
LRD
ATCH INT_0:INT0,26
LPP
ENI
C、其它程序不动
5、S7-200 Modbus通信常见问题链接
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart%20SMS/019.html
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城