问题:使用Modbus TCP读取M800 PLC的D100寄存器,返回异常码0x02(非法数据地址)。已确认PLC端Modbus TCP功能已启用,IP地址正确。请问可能的原因?
解答:0x02通常表示请求的数据地址超出PLC的映射范围。M800的Modbus地址映射与SLMP不同,例如D100对应Modbus地址为400101(功能码03)。建议使用GX Works3查看PLC的Modbus地址映射表,或尝试读取其他寄存器(如M位)验证通信是否正常。
问题:使用Modbus TCP读取M800 PLC的D100寄存器,返回异常码0x02(非法数据地址)。已确认PLC端Modbus TCP功能已启用,IP地址正确。请问可能的原因?
解答:0x02通常表示请求的数据地址超出PLC的映射范围。M800的Modbus地址映射与SLMP不同,例如D100对应Modbus地址为400101(功能码03)。建议使用GX Works3查看PLC的Modbus地址映射表,或尝试读取其他寄存器(如M位)验证通信是否正常。