S7-200 modbus读数据 10
如图。我用S7-200基于modbus向变频器写入数据是成功的,但读取变频器3000H的数据时我addr填的是412289,状态表显示&vb112为0,于是我把41228...
如图。
我用S7-200基于modbus向变频器写入数据是成功的,但读取变频器3000H的数据时我addr填的是412289,状态表显示&vb112为0,于是我把412289改为48193,即我刚刚写入的数据发现&vb112还是0,但&vb110是有值的,为何? 展开
我用S7-200基于modbus向变频器写入数据是成功的,但读取变频器3000H的数据时我addr填的是412289,状态表显示&vb112为0,于是我把412289改为48193,即我刚刚写入的数据发现&vb112还是0,但&vb110是有值的,为何? 展开
1个回答
展开全部
你好,
“但读取变频器3000H的数据时我addr填的是412289”addr值是不是多了一位?
样本上这样介绍:
Addr:“地址”参数。“地址”参数是起始的Modbus 地址。允许使用下列取值范围:00001至09999是离散输出(线圈)
• 10001至19999是离散输入(触点)
• 30001至39999是输入寄存器
• 40001至49999是保持寄存器
• 其中离散输出(线圈)和保持寄存器支持读取和写入请求,而离散输入(触点)和输入寄存器仅支持读取请求。“地址”的具体值应与Modbus从站支持的地址一致。
我觉得vw112中会不会有数据呢?因为一个寄存器是16位嘛。
我这里有一个类似程序,如图;
仅供参考
追问
变频器地址3000H对应的addr为412289应该是没错的。S7-200支持访问地址大于9999的寄存器(3000H对应的十进制加上400001即为412289)。vw112高低八位是vb112和vb113,所以我想如果读取成功vb112和vb113里肯定有数据,不过结果都是0。但是还是谢谢你!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询