找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
{{itemCategory}}
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
你应该读取PLC起始地址不对。你PLC设定从站起始地址是从VB1000 开始,这个&VB1000对应的从站地址就是40001地址。你主站读取从站的地址要从40001开始,这个40001就是对应&VB1000开始的地址,也就是实际地址就是VW1000。
你可以理解为MBUS_INIT指令中的HoldStart管脚设置什么地址就是从站起始地址,也就是40001对应的哪个地址。MaxHold管脚指定的保持寄存器区,也是从站有多长的地址。
如果MBUS_INIT指令中的HoldStart管脚设置是 从&VW0开始,那么VW1000 的地址就是40501,你现在程序设置是从&VW1000开始,读取地址就是40001这个地址。
Modbus RTU 从站:
Modbus RTU通信:
https://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!