请教如何读取200PLC的MODBUS地址

200的手册12章 modbus地址一节说道40001至04XXXX是保持寄存器,对应
于V区。
是不是说VW0对应的地址就是40001?
我用串口调试助手读VW0应该发代码:0203地址0001校验。VW0的地址怎么写?谢谢。

最佳答案

是不是说VW0对应的地址就是40001?
答:这个西门子的手册上有点错误,实际的VW0对应modbus地址为40000

假设200PLC的modbus从站地址为2号站,想读VW0的数据

那么串口调试软件需要发送:
 02           03          00      00       00    01        84     39
站号   读命令        数据地址      数据长度      校验码

注意手册上说V区的地址为4000X,但实际的modbus协议的第二个字节命令03已经指出了读取的数据区域为V区,所以VW0的地址为00 00 

注意:以上发送的数据,均为16进制数据

想要成功的通信,你需要在PLC中调用modbus库指令,
要注意MBUS_INIT程序的Hoddst
参数要填写&VB0,这样00 00 的地址才能对应VW0

提问者对于答案的评价:
谢谢回答,等手上有200PLC的时候,自己动手试一下。

专家置评

40001对应的是对方的第一个寄存器地址,如果对方是CPU200,则对应的是从站指令MBUS_INIT中的Holdstart的地址。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午1:23
下一篇 2020年10月31日 下午1:23

相关推荐