找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
1、看第一张图,你是有的图上6ES7137-6AA00-0BA0 PTP模块,那就有能使用如3、4图所示的旧版指令,旧版指令不支持。这可能是引起错误代码 8180 端口ID值无效的原因。请看下面链接中的这段。
摘取:
早期版本的Modbus RTU指令(图1. 中 MODBUS (V2.2))仅可通过CM1241通信模块或CB1241通信板进行Modbus RTU通信。
新版本的 Modbus RTU指令(图1. 中 MODBUS(RTU) V3.0)扩展了Modbus RTU的功能,该指令除了支持CM1241通信模块、CB1241通信板,还支持 PROFINET 或 PROFIBUS 分布式 I/O 机架上的PTP通信模块实现Modbus RTU通信。
http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/11-Comm/03-Serial/02-Modbus/02-Modbus_RTU.htm
2、
第3、4张图,指出几个问题
A、根据第2张图,图中的温度值保持存储器在指令中引用不正确。
要把1001这个16进制数转成10进制数为4097,然后+1=4098,最后在最前面加上保持数据区标志4,得到的地址是 44098,这才是主站指令DATA_ADDR管脚要填的寄存器地址。
另外,当通讯不上时这个地址可以加1或者减1进行偏移。
如果有条件用MODSCAN32第三方软件与之仪表通讯,确认寄存器地址。
B、主站指令的 EN 脚不能直接接在母线上。用一个位信号,如果仪表多还要做轮循的。
3、其它注意的地方,请参考关于MODBUS RTU 的资料,里面是有轮循机制的。
http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/SmartSMS/016.html
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!