打印

MODBUS从机应答的数据在传输中出现错误,主机怎么处理

[复制链接]
3227|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CVI2022|  楼主 | 2022-8-24 07:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从机正确的接收到了主机发来的数据指令,指令作用是去控制电机转动5秒,回传过程中出现错误,主机校验后发现错误,丢掉,再发一次。但是从机是不是要设置一定的的等待时间,等待主机的第二次发送,那就要求从机不能马上执行电机的转动。就是说从机收到的指令是要处理时间比较长的事件,回传数据的过程中是有可能发生错误的,遇到这种情况从机、主机该怎么处理比较合适?想听听大家的意见和经验。

使用特权

评论回复

相关帖子

沙发
LcwSwust| | 2022-8-24 11:54 | 只看该作者
对于通信,从机收到指令应立退回复,对于耗时较长的指令,主机可定时查询,从机回复数据中有状态字节表示当前动作是否完成。
数据错误可重发。
数据帧中加一个帧号字节,每发成功一次加1,未收到从机响应则不加1;
若从机回复数据受干扰,主机帧号不变,从机判断帧号未改变则不处理,直接回复应答数据,避免重复动作。

使用特权

评论回复
板凳
sjnh| | 2022-8-24 12:09 | 只看该作者
如果分机电机自主停止,就是接收到启动指令后自已运行5s后自动停止,如果是这种情况没必要关心下一个启动指令,接收到新的启动指令,只要电机还在启动状态,就不处理也不初始化5s计数;(只要主机不连发5s多就可以)
如果停止必须是接收到停止指令,这个就需要等待再次接收确认了

使用特权

评论回复
地板
coody| | 2022-8-24 12:28 | 只看该作者
应答错误,主机要求重传即可。

使用特权

评论回复
5
ningling_21| | 2022-8-24 13:50 | 只看该作者
主机直接丢弃通知从机重传一次即可

使用特权

评论回复
6
laocuo1142| | 2022-8-24 18:52 | 只看该作者
CRC16校验不就这个时候起作用,校验不通过直接丢了,采集频率够高错几次无所谓啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝