modbus无应答该如何处理?

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:53:48
modbus主机设置某一个从机,发送指令后从机未及时应答,请问这时主机应该如何做呢?
一、是应该一直等待从机的应答么?但是如果该指令CRC有误,从机不会响应,主机还在等应答,岂不死机?
二、还是无应答就在固定时间后重新发送一次?可是如果从机应答了,只是任务多,慢了一些,应答时数据撞到了主机重发的数据,岂不又失败了?
三、请问正规的流程是什么样的啊?各位高手!
四、付出50分。
五、非常感谢大家。
波特率9600,一组数据6个字节,大约1秒钟两组数据。希望每组数据都准确无误。

根据具体情况判断,一是在发送一次如果时间来得及的话,如果不行进入到预订的出错处理程序中。一般就是这样处理出错的(包含没有返回或者有返回校验出错)。

你要访问从机的速度和数据量是多少呢?你可以根据设定的波特率算一下你发的数据和返回的数据总量,看看多久发一次命令是合适的,一般的速度不会出现你说的第二种情况,第一种情况很明显是不可取的,因为很多时候要是有干扰的话,没有返回值也是很正常的。

答一:主机会有应答超时检测.
答二:请参考modbus协议之MODBUS Exception Responses 05
答三:请参考modbus协议全文
答四:我不需要分,你自己留着.
答五:不用谢