根據防撞擺閘系統功能需求,設備控制模塊需要實現與多個外部設備的串口協議通訊,從而實現對設備的控制和數據反饋。模塊通過對自定義協議進行封裝,在模塊內部實現數據收發的控制管理,然后提供函數接口供相關模塊調用,防撞擺閘系統設備控制模塊需具有通訊穩定、可靠的特點。
防撞擺閘系統設備控制模塊設計:
1.數據幀定義
防撞擺閘的設備控制模塊與IO模塊、通行算法模塊間的通訊采用主從通訊模式,主動發起通訊的為命令幀、命令的接收方回復對應的應答幀,設備控制模塊與硬件之間互為主從。根據防撞擺閘需求需要實現串口通訊的穩定性,因此需要定義可靠的通訊協議來實現兩者之間的通訊,分為命令幀和應答幀,
2.收發控制流程
防撞擺閘控制系統與硬件部件之間通訊采用主從方式,雙方互為主從關系,現在以控制系統為主設備為例介紹詳細的收發流程,當外部模塊調用設備控制函數接口后將參數傳遞給接口函數,接口函數實現協議命令幀的組幀并將數據加入數據發送隊列。防撞擺閘的數據檢測定時器檢測到有數據時取出一幀數據,同時啟動發送控制定時器進行數據發送控制,從擺閘收到數據后將回復數據發送到串口,收發接口將數據加入接收隊列,數據接收控制處理流程從接收隊列取出數據并終止發送控制定時器,同時接口函數返回。
3.異常處理
由于防撞擺閘的串口通訊容易受到外部干擾等影響出現通訊不穩定的情況,對在數據發送過程中對出現的如:應答響應超時、幀序號錯誤、CRC校驗錯誤等情況進行數據重發,由定時器觸發定時重發送數據,當超過防撞擺閘設定重發次數時退出。
|