S7 200与单片机Modbus 485 通讯

S7 200与单片机通过Modbus 485 通讯,知道从站单片机地址为01 03 01 01 31 88,01 02 01 00 00 02 F8 37,怎么确定Modbus地址

问题补充:
确实是漏了,01 03 01 01 00 01 D4 36

最佳答案

1、
01 03 01 01 31 88  不是MODBUS RTU 03 功能码的请求帧,最后两个字节31 88是CRC 校验,验证了一下确实是前面四个字节 01 03 01 01 的检验码。应该还有两个字节的数据个数才符合 MDOBUS RTU 03 功能码的请求帧,是不是贴错了。就这个解释如下
01 03 01 01 这四个字节:
第1个字节 01 是设备地址
第2个字节 03 是功能码,读保持寄存器
第3、4个字节 01 01 是保持寄存器地址,先转换成十进制,那就是257,再加上1就是 258,然后在最前面加上保持寄存器地址标识 4,并凑够5位数,则是 40258。至于 40258 是200 侧保持区那一个那还要看200 侧的保持寄存器区是怎么定义的。
2、
01 02 01 00 00 02 F8 37 经验证是完整的,读从站的数字量输入。
第1个字节 01 是设备地址
第2个字节 02 是功能码,读从站数字量输入
第3、4个字节 01 00,就是地址,转换成十进制,就是 256,再加上 1,则为 257,再在最前面加上区域标识,则地址为 10257。
257 是不是超出了 200 的过程映像区的大小?
https://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart%20SMS/019.html

提问者对于答案的评价:
已经解决

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc371219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午4:51
下一篇 2021年7月5日 下午4:51

相关推荐

发表回复

登录后才能评论