MODBUS 地址超出9999
刘玉蓉
发布于2014-11-06 17:40
5
0
标签:
硬件是这样的:200PLC做MODBUS主站读取从站地址为1的保持寄存器。在主站子程序里40001~4****为读保持寄存器。但我现在的从站需要读取的地址定义有些特殊,他的地址在51***(MODBUS地址是16位的字为单位,所以大支持地址单元为65535,51***仍在有效地址之内)。这样的话问题就出来了,200直接读取地址只能支持0001~9999,我现在想读取超出这个范围的地址。应该如何处理?
问题补充:
我曾实验过就是将MBUS_MSG子程序中地址直接设为451***,这时候会发现POTRO口将没有任何数据发送,而ERR也指示出4错误。事实上,关于这个问题我咨询过西门子客服,客服告诉我的就是这么做。但我实验证明是行不通的。
wb210xa 提供了3种可行方式,不过因实际情况前两种方法可能实施不了,第三种方法又没有合适的网关选型。
实在不行,只有用后一招——用自由口自己编MDBUS主站程序了。
佳答案
超出了S7200的处理范围,三种方法:
1. 采用施耐德的PLC,如Twido或M218来实现,读取从站时没有地址范围限制,而且实现比较简单;
2. 如果从站数据区地址可以更改的话,可以改从站的数据区地址到9999之内;
3. 只能加别的网关产品来实现。