问题:我有一台西门子S7-1200 PLC,想通过Modbus TCP将DB块中的数据上传到MES。在TIA Portal中配置了Modbus TCP库,但MES那边读到的地址总是偏移。请问地址映射规则是什么?需要注意字节顺序吗?
回答:S7-1200的Modbus TCP地址映射规则如下:Modbus地址从0开始,对应PLC的DB块偏移。例如Modbus地址40001对应DB1.DBW0(保持寄存器)。注意S7-1200默认是大端字节序,如果MES使用小端,需要交换字节。建议在TIA Portal中勾选“保持寄存器字节顺序”为“大端”。另外,确保Modbus TCP库的Instance DB正确配置。如果仍有问题,可以在PLC侧用Modbus Slave工具测试。

