王小恺:我的PLC从站地址是0000,DCS读我时的MODBUS地址是40001;而Intouch读时却是40 ...
任运良的回答:
因为PLC从站地址是0000属于协议地址。而DCS读取时的MODBUS地址是40001,这个地址属于PLC地址,对应的PLC地址就是从40001开始,转换方式是 “协议地址 + 40001 = PLC 地址”,因此会出现这种情况。
Modbus协议是一个master/slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点。
一个ModBus命令包含了打算执行的设备的Modbus地址。所有设备都会收到命令,但只有指定位置的设备会执行及回应指令。所有的Modbus命令包含了检查码,以确定到达的命令没有被破坏。
基本的ModBus命令能指令一个RTU改变它的寄存器的某个值,控制或者读取一个I/O端口,以及指挥设备回送一个或者多个其寄存器中的数据。
王昱人的回答:
因为PLC从站地址是0000属于协议地址。而DCS读取时的MODBUS地址是40001,这个地址属于PLC地址,对应的PLC地址就是从40001开始,转换方式是 “协议地址 + 40001 = PLC 地址”,因此会出现这种情况。
Modbus协议是一个master/slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点。
一个ModBus命令包含了打算执行的设备的Modbus地址。所有设备都会收到命令,但只有指定位置的设备会执行及回应指令。所有的Modbus命令包含了检查码,以确定到达的命令没有被破坏。
基本的ModBus命令能指令一个RTU改变它的寄存器的某个值,控制或者读取一个I/O端口,以及指挥设备回送一个或者多个其寄存器中的数据。
周克成的回答:
我来回答你这个问题:0000:这个是实际地址,40001:这个是未扩充的MODBUSRTU地址编号,对应的实际地址就是0000H400001:这个是扩充后的MODBUSRTU地址编号,对应的实际地址也是0000H举例说明吧,假如你要读从站5、第2路保持寄存器的状态的
锦绣河山的回答:
你好! 这个是MODBUS的规定,读写的方式和东西起始的地址都不一样,,,偏移量+起始的地址才是最终地址! 仅代表个人观点,不喜勿喷,谢谢。
黄贤明的回答:
PLC从站地址是0000 这个地址格式叫协议地址。 DCS读我时的MODBUS地址是40001,这个地址 叫 PLC 地址,是用Modbus 3 号功能码的时候,对应的 PLC 地址就是从 40001 开始,转换方式是 “协议地址 + 40001 = PLC 地址”当然这仅仅对 3 号功能码有效。不同的功能码 有不同的 PLC 地址的起始地址(如 40001)。 上海泗博的 PM-160 Modbus-PROFIBUS 协议转换做得比较好,他们的配置软件会自动转换协议地址和PLC 地址。