我的PLC从站地址是0000,DCS读我时的MODBUS地址是40001;而Intouch读时却是400001.这是为什么呀? 10

搞不懂了。都是MODBUS,区别咋这么大呢。而且主站地址为什么要加1?... 搞不懂了。都是MODBUS,区别咋这么大呢。而且主站地址为什么要加1? 展开
 我来答
洗刷刷星冰乐
2019-09-21 · TA获得超过2290个赞
知道答主
回答量:1
采纳率:0%
帮助的人:164
展开全部

因为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通讯协议

参考资料来源:百度百科—协议地址

深知您y
2012-05-25
知道答主
回答量:12
采纳率:0%
帮助的人:12.3万
展开全部
PLC从站地址是0000 这个地址格式叫协议地址。
DCS读我时的MODBUS地址是40001,这个地址 叫 PLC 地址,是用Modbus 3 号功能码的时候,对应的 PLC 地址就是从 40001 开始,转换方式是 “协议地址 + 40001 = PLC 地址”当然这仅仅对 3 号功能码有效。不同的功能码 有不同的 PLC 地址的起始地址(如 40001)。
上海泗博的 PM-160 Modbus-PROFIBUS 协议转换做得比较好,他们的配置软件会自动转换协议地址和PLC 地址。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-09-25
展开全部
我来回答你这个问题:0000:这个是实际地址,40001:这个是未扩充的MODBUSRTU地址编号,对应的实际地址就是0000H400001:这个是扩充后的MODBUSRTU地址编号,对应的实际地址也是0000H举例说明吧,假如你要读从站5、第2路保持寄存器的状态的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yzzc988
2012-05-22
知道答主
回答量:3
采纳率:0%
帮助的人:5144
展开全部
这个是MODBUS的规定,读写的方式和东西起始的地址都不一样,,,偏移量+起始的地址才是最终地址!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式