找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
1、看了你的MODBUS RTU 的程序结构,程序结构是完整的。
2、左数第一张图定义了CPU的本体口为 9600、8位数据位、无校验、1 位停止位,仪表参数也必须定义成这样的。
3、仪表的设备地址分别定义成 2、3,也就是你程序中用到的;
4、通讯口的管脚定义是 3 脚是 RS485+,8 脚是 RS485-,这也必须和仪表对应。通讯线路的连接一定是手拉手的,另外布线也要规范。
5、仪表的数据地址,34113、40005 并且一次性读10个字,仪表支不支持,仔细研究一下仪表的说明书关于通讯部分的内容。仪表的地址一般给出的是十六进制的,要转换成十址制,再加上存储区域标识。地址可以尝试偏移。
34113 这样的地址是仪表的模拟量输入,你一次性读10 个,仪表上有这么多模拟量输入吗?
6、程序指令的状态脚可以反馈一些错误代码,可参考下面链接中给出的错误代码。
7、如果有条件,可以用 MODSCAN32 一个一个仪表测试,并且可以确定其存储地址,通讯参数是否正确。只要用 MODSCAN32测试成功,它可以给你提供很多有用的信息。这是一个第三方工具软件,可在网上找到。
测试时要用到 RS485转RS232 的协议转换器,还要用到 RS232转USB的电缆,注意电缆的驱动,一定要在控制面板中看到电缆所占用的 COM 口,这个COM口在软件中要用到;
如是你手上有 RS485 转USB 的电缆,注意其针脚是与与CPU PORT0 口的针脚定定义一致,同样的方法确认其占用的 COM口
8、整体感觉,两种程序没有大毛病,仪表说明书认真看,特别是数据存储的地址,仪表一次性允许读取数据的个数有没有限制。
9、MODSCAN32 同样是可以测试MODBUS TCP 通讯的,在网上找一下这个软件的用法。
10、参考资料
S7-200 smart TCP通信
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/077.html
S7-200 smart RTU通信
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html
2 S7-200 smart RTU通信
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html
以太网通信_S7-200 SMART:
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/062.html
TCP通信:
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/052.html
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!