标题: modbus主机等待从机超时 收到从机地址的回复数据,就发送3次应答,代码该怎么写 [打印本页]

作者: sr861126    时间: 2023-5-6 15:55
标题: modbus主机等待从机超时 收到从机地址的回复数据,就发送3次应答,代码该怎么写
  modbus主机没有收到从机地址的回复数据,就发送3次应答,代码该怎么写

作者: Hephaestus    时间: 2023-5-6 18:56
你就正常发送就行了呗,加个无应答计数变量,三次超时就算出错,然后根据需求来写出错代码。
作者: sr861126    时间: 2023-5-8 10:33
Hephaestus 发表于 2023-5-6 18:56
你就正常发送就行了呗,加个无应答计数变量,三次超时就算出错,然后根据需求来写出错代码。

根据中断标志计数器来判断吗?

作者: xiaouex    时间: 2023-5-8 11:06
modbus的数据包由多部份组成,你所说的没有接收到数据是指接收到的数据包中没有数据位还是指接收不到数据包?
作者: xiaouex    时间: 2023-5-8 11:11
如果是前者,那么只需要在解包函数中加入判断:若data位为空,则判定为未接受到数据
如果是后者可以尝试加延时判断,超时判定为没接到数据

作者: li64331218    时间: 2023-5-8 11:27
解析一下: 1、主从通讯,主机发起,从机回复。每次通讯主机都发送三次。三次都没有应答数据,判定超时错误。
作者: li64331218    时间: 2023-5-8 11:31
解析一下:1、主从通讯,主机发送指令,从机回复。主机发三次都没有收到应答,判定超时错误。2、主机无论是否收到数据,都是发送三次。  三次以后则停止,然后等待一定的时间,没有回复判定错误。根据不同情况来写代码





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1