我的PLC从站地址是0000,DCS读我时的MODBUS地址是40001;而Intouch读时却是400001.这是为什么呀? 10
因为PLC从站地址是0000属于协议地址。而DCS读取时的MODBUS地址是40001,这个地址属于PLC地址,对应的PLC地址就是从40001开始,转换方式是 “协议地址 + 40001 = PLC 地址”,因此会出现这种情况。
Modbus协议是一个master/slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点。
一个ModBus命令包含了打算执行的设备的Modbus地址。所有设备都会收到命令,但只有指定位置的设备会执行及回应指令。所有的Modbus命令包含了检查码,以确定到达的命令没有被破坏。
基本的ModBus命令能指令一个RTU改变它的寄存器的某个值,控制或者读取一个I/O端口,以及指挥设备回送一个或者多个其寄存器中的数据。
扩展资料:
Modbus通讯协议的局限性:
1、Modbus是在1970年末为可编程逻辑控制器通信开发的,这些有限的数据类型在那个时代是可以被PLC理解的,大型二进制对象数据是不支持的。
2、对节点而言,没有一个标准的方法找到数据对象的描述信息,举个例子,确定一个寄存器数据是否表示一个介于30-175度之间的温度。
3、Modbus是一个主/从协议,没有办法要求设备报告异常,主节点必须循环的询问每个节点设备,并查找数据中的变化。在带宽可能比较宝贵的应用中,这种方式在应用中消耗带宽和网络时间。
参考资料来源:百度百科—Modbus通讯协议
参考资料来源:百度百科—协议地址
DCS读我时的MODBUS地址是40001,这个地址 叫 PLC 地址,是用Modbus 3 号功能码的时候,对应的 PLC 地址就是从 40001 开始,转换方式是 “协议地址 + 40001 = PLC 地址”当然这仅仅对 3 号功能码有效。不同的功能码 有不同的 PLC 地址的起始地址(如 40001)。
上海泗博的 PM-160 Modbus-PROFIBUS 协议转换做得比较好,他们的配置软件会自动转换协议地址和PLC 地址。
2017-09-25