根据防撞摆闸系统功能需求,设备控制??樾枰迪钟攵喔鐾獠可璞傅拇谛橥ㄑ?,从而实现对设备的控制和数据反馈。模块通过对自定义协议进行封装,在模块内部实现数据收发的控制管理,然后提供函数接口供相关??榈饔茫雷舶谡⑾低成璞缚刂颇?樾杈哂型ㄑ段榷?、可靠的特点。
防撞摆闸系统设备控制模块设计:
1.数据帧定义
防撞摆闸的设备控制模块与IO??椤⑼ㄐ兴惴?榧涞耐ㄑ恫捎弥鞔油ㄑ赌J剑鞫⑵鹜ㄑ兜奈钪?、命令的接收方回复对应的应答帧,设备控制??橛胗布浠ノ鞔印8莘雷舶谡⑿枨笮枰迪执谕ㄑ兜奈榷ㄐ?,因此需要定义可靠的通讯协议来实现两者之间的通讯,分为命令帧和应答帧,
2.收发控制流程
防撞摆闸控制系统与硬件部件之间通讯采用主从方式,双方互为主从关系,现在以控制系统为主设备为例介绍详细的收发流程,当外部??榈饔蒙璞缚刂坪涌诤蠼问莞涌诤?,接口函数实现协议命令帧的组帧并将数据加入数据发送队列。防撞摆闸的数据检测定时器检测到有数据时取出一帧数据,同时启动发送控制定时器进行数据发送控制,从摆闸收到数据后将回复数据发送到串口,收发接口将数据加入接收队列,数据接收控制处理流程从接收队列取出数据并终止发送控制定时器,同时接口函数返回。
3.异常处理
由于防撞摆闸的串口通讯容易受到外部干扰等影响出现通讯不稳定的情况,对在数据发送过程中对出现的如:应答响应超时、帧序号错误、CRC校验错误等情况进行数据重发,由定时器触发定时重发送数据,当超过防撞摆闸设定重发次数时退出。
|