本人在进行两台S7-200的modbus通讯时,主站侧没问题,从站的MBUS_INIT指令的出错代码为5,查资料说是“保持寄存器与modbus从属符号重叠”,本人不知道是什么意思?同时MBUS_SLAVE指令的出错代码是10,望各位朋友能指点指点,这两条出错代码究竟是什么原因的?谢谢!
最佳答案
1、保持寄存器与modbus从属符号重叠”,本人不知道是什么意思?
转帖:
分配的库内存范围一定不要和可读取的内存范围有重复的地方,否则初始化不成功。
帮助:MaxHold参数设定供Modbus地址04xxx使用的V内存中的字保持寄存器数目。例如,为了允许主设备存取2000个字节的V内存,将MaxHold设为1000个字的数值(保持寄存器)。
HoldStart参数是V内存中保持寄存器的起始地址。该数值一般被设为VB0,因此HoldStart参数被设为&VB0(VB0地址)。其他V内存地址可指定为保持寄存器的起始地址,以便在项目的其他地方使用VB0。Modbus主设备可存取V内存MaxHold个字数,从HoldStart开始。
如果HoldStart设为&VB0,MaxHold设为1000,即Modbus主设备可存取V内存从VB0开始,可存取1000个字,2000个字节。则库内存的开始地址一定要从2000以上开始,否则初始化不成功,返回错误代码为5,即“保持寄存器与Modbus从属符号重叠”。
2、同时MBUS_SLAVE指令的出错代码是10?
ERROR=10=Modbus not initialized 。
当MBUS_INT的ERROR不等于0时,MBUS_SLAVE的ERROR=10。
提问者对于答案的评价:
非常谢谢您的帮助!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc216573.html