
2021年,民航局印發《“十四五”民用航空發展規劃》,明確提出民航領域科技創新應聚焦大數據、人工智能、基礎軟件等核心技術應用、關鍵裝備研發與國產化替代,推進重大實驗平臺和仿真驗證平臺建設,完善行業實驗測試及驗證設施。
伴隨著中國民航信息化發展和國內航空公司出海戰略的腳步,提供穩定可靠的離港系統服務成為中國航信PSS服務拓展海外市場的一項重要任務。而SITA和ARINC等海外廠商提供的離港設備平臺覆蓋了國外大部分機場,是離港前端產品海外投產的前提條件。每次離港前端軟件版本升級只能到國外真實平臺實驗室進行測試認證,不僅費用高昂,而且認證過程存在技術風險,一旦認證失敗,會嚴重影響航空公司后續的開航工作,因此基于離港前端產品海外運行環境建設仿真系統顯得十分必要。
對照海外離港前端產品運行環境,一個完整的離港設備仿真系統應該主要包含前端管理、前端接入、設備指令處理、設備3D交互等多個功能模塊。前端管理功能模塊負責信息錄入和校驗,管理認證場景和維護認證狀態,包括前端包應用名、版本、上傳/下載路徑、前端請求IP地址、實驗室認證方式(真實設備/虛擬設備)、海外平臺類型、認證狀態等;前端接入功能模塊負責平臺連接控制、設備實體管理、設備連接控制。支持多平臺Socket連接差異的適配和統一管理,方便支持不同離港前端的遠程并行測試;設備指令處理功能模塊負責設備指令解析、狀態碼事件觸發和指令響應,根據指令數據、設備狀態和設備參數,匹配狀態碼事件,觸發狀態機算法調用設備指令響應,并向設備3D交互模塊發送設備交互信號;設備3D交互功能模塊負責設備模型渲染、交互仿真、狀態仿真、物理仿真,通過設備狀態仿真同步更改設備狀態,并將設備操作過程通過動畫方式展示。
(一)基于Socket連接的平臺協議適配
根據不同平臺的離港前端連接請求中的平臺類型、設備類型、IP、端口等參數,適配對應的Socket連接服務并建立連接線程,然后根據不同平臺對設備標識的方法解耦平臺設備標識,去掉個性化的頭部字段,保留設備相關語義字段,導入通用設備數據模型,進一步適配統一不同平臺的設備指令、設備狀態、錯誤碼等,使用通用的設備數據模型與標準AEA設備交互。
(二)基于虛擬串口的虛擬設備接入
在仿真系統中,可以應用設備虛擬化技術解決設備復用問題。通過實現虛擬串口(虛擬COM端口),即軟件模擬物理串行接口的方式,實現OCR/ BGR掃描設備、ATB/BTP/DCP打印設備的狀態控制和事件處理。利用常見的虛擬串口模擬器技術方案(com0com、Virtual Serial Port Driver by Eltima、TTY模擬器、串口仿真庫等)實現虛擬串口通訊。
(三)利用狀態機實現指令狀態碼事件觸發
由于設備響應與指令事件、設備狀態和設備參數的關系涉及對象的狀態變化和狀態之間的轉換,采用狀態機模型可以方便地管理應用程序中的狀態轉換和業務邏輯,不僅支持以聲明性的方式定義狀態和狀態之間轉換的機制,并能夠處理各種事件觸發的狀態遷移,從而方便的實現模擬設備指令的響應。
(四)基于Three.js的3D模型渲染
通過專業的3D建模軟件(如Blender、3ds Max)根據設備的實際形狀進行設計并導出3D模型,再利用Three.js完成創建場景、相機視角設置、照明與環境設置、渲染循環等實現設備模型的3D渲染。
(五)基于Tween.js 的交互仿真增強
增強3D仿真系統的生動性和互動體驗,使用Tween.js創建平滑的動畫效果,模擬開關機、刷護照、掃描登機牌等情形,通過定義起始和結束狀態、旋轉速度、持續時間,Tween.js能夠自動計算中間幀,實現對不同屬性(如位置、旋轉、大小或甚至質料顏色)的動畫處理。
(六)利用H5技術實現設備狀態仿真
利用H5 中的 canvas 畫布轉換為一個可以貼到屏幕模型上的材質。當狀態改變時,在 canvas 畫布上繪制屏幕顯示的文字內容,然后通過 CanvasTexture將畫布貼到模型中屏幕對應的平面上,從而實現模擬設備狀態顯示屏的效果。
除此之外,狀態仿真模塊還負責當設備掃描或打印等操作發生成功/失敗的狀態時,使用 H5 的 Audio API 播放蜂鳴器聲音,提示設備的當前狀態。
(七)集成 Cannon.js 引擎增強物理效果
通過高性能的3D物理模擬庫,能夠為虛擬對象添加重力、碰撞檢測、摩擦力等物理屬性,使行為更加貼近現實。比如BTP行李條打印機里打印出來的行李條應該呈現自然彎曲和堆疊狀態,為了進一步提升仿真系統的物理真實性,集成 Cannon.js 物理引擎是一個理想選擇。

本文通過應用Socket、虛擬串口、狀態機、3D交互等技術,對離港設備實驗室進行仿真模擬實踐,實現離港設備實驗室認證服務的仿真,提供了一種設備實驗室仿真建設方法。解決了離港前端開發測試過程中對離港真實設備的強依賴和無法共用問題,支持組件復用和外設環境復用。極大的降低了離港前端的設備認證測試環境搭建成本,可以做到人人都能接入設備測試,為所有離港前端研發人員提供了便利。