S7200PLC用MODBUS库做RTU通讯的问题

用200PLC的MODBUS库和一个电能表通讯,读电能表上的电压和电流等,MODBUS的ADDR参数是用功能码3还是用 4了?????电能表上实例用的是功能码3.。但看书上是用的4,还有看别人写的200与变频器通讯程序,读功能用的是4,懂不到了???  图1是电能表给的实例,图2和3是书上写的。非常感谢了……。  和电能表是该用几了??

问题补充:
03和04都是读功能

图片说明:

S7200PLC用MODBUS库做RTU通讯的问题    S7200PLC用MODBUS库做RTU通讯的问题    S7200PLC用MODBUS库做RTU通讯的问题   

最佳答案

你说的这2个不是一个概念,03是功能码是决定你是读寄存器还是写寄存器,比如03是读多个字,16是写多个字。40001是地址,一般地址有2种写法,如果仪表说明书里写的是40001,那你在MBUS_MSG的Addr管脚直接填40001,如果仪表说明书写的是0010,那么你你在MBUS_MSG的Addr管脚直接填40011,地址要加40001,4000+表示保持寄存器。简单的理解是一个是你的操作,一个是操作的地址。
纯手打,望采纳!

图片说明:

S7200PLC用MODBUS库做RTU通讯的问题  

提问者对于答案的评价:
现在理解到了

专家置评

00001 - 09999数字量输出 读 功能 1  写 功能 5,功能 15:
10001 - 19999数字量输入 读 功能 2  
30001 - 39999输入寄存器 读 功能 4  
40001 - 49999保持寄存器 读 功能 3  写 功能 6,功能 16

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月2日
下一篇 2017年6月2日

相关推荐