防撞摆闸模块设计防撞摆闸
防撞摆闸模块需要根据防撞摆闸系统的功能要求,实现与多种外部设备的串口协议通信,从而实现对设备的控制和数据反馈。该模块通过封装定制协议,在模块内实现数据收发控制管理,然后提供函数接口供相关模块调用,防撞摆闸系统设备控制模块需要具有通信稳定、安全可靠的特点。
防撞摆闸系统控制模块的设计;
首先,数据帧定义。防撞摆闸的设备控制模块与IO模块、通行算法模块之间的通信采用主从通信模式,主动启动通信的是命令帧、命令接收者回复相应的应答帧,设备控制模块与硬件相互主从。针对防撞摆闸的需要,需要实现串口通信的稳定性和安全性,因此需要定义可靠的通信协议,使两者之间的通信分为命令帧和应答帧,
第二,收发控制流程。防撞摆闸控制系统和硬件部件之间的通信采用主从方式,双方互为主从关系,现以控制系统为主设备为例,介绍详细的收发流程,当外部模块调用设备控制函数接口时,将参数传递给接口函数,接口函数实现协议命令帧的组帧,并将数据添加到数据发送队列中。当防撞摆闸的数据检测定时器检测到有数据时,取出一帧数据,同时启动发送控制定时器进行数据发送控制,从机器收到数据后,将回复数据发送到串口,收发接口将数据添加到接收队列,数据接收控制处理流程从接收队列中取出数据,终止发送控制定时器,同时接口函数返回。
第三,异常处理。由于防撞摆闸串口通信易受外界干扰等影响,通信不稳定。在数据发送过程中,数据重新发送,如应答响应超时、帧序号错误、CRC校验错误等。,定时器触发定时重新发送数据,超过防撞摆闸设定重新发送次数时退出。