返回列表 发帖

Modbus RTU 通信细节,向高手请教

易控通过Modbus RTU与下位机通信。
1. 这个项目的modbus寄存器地址用得很多,而且是连续的。比如,会用到31001~31192, 32001~32384, 42001~42192。但是,如果每次读或者写modbus过多时,下位机会直接报错,造成读值失败。
比如,当易控发指令要查询31001~31020的值时,下位机应答正确。然而,如果易控发指令要查询31001~31040的值时,下位机会直接报错,不会返回读值。
写的时候也一样,比如:当易控发指令要写41001~41020的值时,下位机应答正确, 寄存器得到修改。然而,如果易控发指令要写41001~41040的值时,下位机会直接报错,不会对相应寄存器做修改。
请问该如何解决?
顺便说一下,如果单个寄存器读写,我觉得数据量挺大的,可能效率很低。
2. 易控项目中用到的modbus数据,是否易控一执行时就开始读写?写指令发出,如果下位机没收到,会重发吗?可否解释下重发机制?

以上问题向知道的高手请教,如果以前有人提过,给个链接也可以。谢谢了。
附件: 您需要登录才可以下载或查看附件。没有帐号?免费注册

您好
易控的modbus驱动完全遵循标准协议,读包长度的设置和您使用的设备通讯协议有关,和设备里一致即可.

TOP

明白。多谢。

TOP

您好
感谢您使用易控,多交流.

TOP

返回列表