找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1、
两组地址没有什么不同,指令使用的功能码都是一样的;就是从站保持寄存器的大小不同。
若从站的保持寄存器的范围小于等于9999个,那其MODBUS 保持寄存器地址小于等于 49999,则采用 40001-49999 这样的方式
若从站的保持寄存器的范围大于9999个,此时显然用4位就不够了,此时寻址址从站的保持寄存器地址若大于49999,则采用 400001-499999 这样的方式
2、从下面的资料可加深理解。
《S7-1200 MODBUS RTU 通讯》 链接中的表4、表5
http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/11-Comm/03-Serial/02-Modbus/04-Modbus_Slave.htm
《S7-200 SMART Modbus RTU通信常见问题》的问题3
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/communication/serial_port/modbus/FAQ.htm
如何访问大于 9999 的保持寄存器地址?
通常 Modbus 协议的保持寄存器地址范围在 40001 - 49999 之间。对于多数应用来说已经够了。但有些 Modbus 从站把地址映射到保持寄存器区的地址超过 9999 的部分。
Modbus Master 协议库支持超过 9999 的保持寄存器地址。地址范围为 400001 - 465536。只需在调用 MBUS_MSG 子程序时给 Addr 参数赋相应的值即可,如 416768。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!