标题:
Modbus RTU 通信细节,向高手请教
[打印本页]
作者:
jiajiaduo
时间:
2014-1-21 09:40
标题:
Modbus RTU 通信细节,向高手请教
易控通过Modbus RTU与下位机通信。
1. 这个项目的modbus寄存器地址用得很多,而且是连续的。比如,会用到31001~31192, 32001~32384, 42001~42192。但是,如果每次读或者写modbus过多时,下位机会直接报错,造成读值失败。
比如,当易控发指令要查询31001~31020的值时,下位机应答正确。然而,如果易控发指令要查询31001~31040的值时,下位机会直接报错,不会返回读值。
写的时候也一样,比如:当易控发指令要写41001~41020的值时,下位机应答正确, 寄存器得到修改。然而,如果易控发指令要写41001~41040的值时,下位机会直接报错,不会对相应寄存器做修改。
请问该如何解决?
顺便说一下,如果单个寄存器读写,我觉得数据量挺大的,可能效率很低。
2. 易控项目中用到的modbus数据,是否易控一执行时就开始读写?写指令发出,如果下位机没收到,会重发吗?可否解释下重发机制?
以上问题向知道的高手请教,如果以前有人提过,给个链接也可以。谢谢了。
作者:
service
时间:
2014-2-10 09:01
您好
易控的modbus驱动完全遵循标准协议,读包长度的设置和您使用的设备通讯协议有关,和设备里一致即可.
作者:
jiajiaduo
时间:
2014-2-10 10:23
明白。多谢。
作者:
service
时间:
2014-2-11 08:57
您好
感谢您使用易控,多交流.
欢迎光临 北京九思易自动化软件有限公司 (http://controlease.com/bbs/)
7.2