找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
1200 的串口只能定义成 MODBUS RTU从站,40001 保持寄存器地址对应的从站数据区地址是在 1200 侧定义的。以Modbus RTU V3 版本指令为说明如下:
S7-1200作为Modbus RTU从站,MB_SLAVE 指令的 MB_HOLD_REG 指向Modbus保持寄存器数据块的指针。如果这个指针设置为:MB_HOLD_REG = P#DB3.DBX0.0 WORD 5,则:
40001 对应 DB3.DBW0
40002 对应 DB3.DBW2
40003 对应 DB3.DBW4
40004 对应 DB3.DBW6
40005 对应 DB3.DBW8
参看链接中 表2 内容。
http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/PTP%20communication/S7-1200%20Modbus%20RTU/S7-1200_as_slave.htm
用新版指令也是这个对应关系(新旧版)
http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/SmartSMS/016.html
补充:
从站中除了 4xxxxx 保持寄存器地址你可以指定外,其它的 MODBUS RTU 存储区地址与 S7-1200 存储区的对应关系是固定的,不可指定,看最上面的那个链中,如附图。
补充回答
看图
主站的话
在指令处设置 读写什么存储器 40001还是30001开头的
从站在指令处填写相应的地址
再在主站填写相对应的格式 读取位还是字
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!