用200PLC的MODBUS库和一个电能表通讯,读电能表上的电压和电流等,MODBUS的ADDR参数是用功能码3还是用4了?????电能表上实例用的是功能码3.。但看书上是用的4,还有看别人写的200与变频器通讯程序,读功能用的是4,懂不到了???图1是电能表给的实例,图2和3是书上写的。非常感谢了……。和电能表是该用几了??
问题补充:
03和04都是读功能
图片说明:
392e2dec8adb119b881d691ccCE42c4b2acdb6a57ae268a80a54BF965686a8FC
最佳答案
你说的这2个不是一个概念,03是功能码是决定你是读寄存器还是写寄存器,比如03是读多个字,16是写多个字。40001是地址,一般地址有2种写法,如果仪表说明书里写的是40001,那你在MBUS_MSG的Addr管脚直接填40001,如果仪表说明书写的是0010,那么你你在MBUS_MSG的Addr管脚直接填40011,地址要加40001,4000+表示保持寄存器。简单的理解是一个是你的操作,一个是操作的地址。
纯手打,望采纳!
图片说明:
提问者对于答案的评价:
现在理解到了
专家置评
00001–09999数字量输出读功能1写功能5,功能15:
10001–19999数字量输入读功能2
30001–39999输入寄存器读功能4
40001–49999保持寄存器读功能3写功能6,功能16