飛行試驗顫振數據實時監控系統
1.2 顫振數據實時監控系統軟件及數據傳輸過程
顫振數據實時監控系統軟件及數據傳輸過程如圖3所示。其中顫振數據實時監控系統軟件由前端服務器程序和客戶端實時監控程序組成,形成服務器和客戶端模式。前端服務器軟件需加載帶頭文件,客戶端多幅監控畫面用到的總參數名文件以及條圖儀通道參數名的信息文件。服務器軟件根據加載的帶頭中同步字信息、幀結構信息將接收到的數據進行二次同步,經過同步處理后的數據才能進行校準計算。幀同步后服務器軟件對顫振數據進行采集,在勾選“原始數據存盤”項的情況下存貯數據。本文引用地址:http://www.104case.com/article/161862.htm
實現服務器與客戶端的信息通信及數據傳輸是基于TCP(傳輸控制協議)和UDP(用戶數據報協議),并采用WinSock的網絡編程接口實現其網絡通信。TCP為兩臺主機提供高可靠性的數據通信,為了提供可靠的服務,TCP采用了超時重傳、發送和接收端到端的確認分組等機制;UDP協議只是把稱作數據報的分組從一臺主機發送到另一臺主機,但并不保證該數據報能達到另一端。
因此總參數名文件按TCP協議通信,前端服務器程序將流式套接字置入監聽模式,當有客戶端程序的連接請求時,接受請求并向請求方發送監控參數表,最后斷開與客戶端程序的TCP連接。為了避免因服務器程序晚于客戶端監控程序啟動造成無法與服務器連接的情況,監控程序采用定時器定時向服務器發送連接請求,當連接成功后關閉定時器。
然后將完成取位、高低字合并、物理量轉換后的數據,根據以UDP形式向客戶端程序廣播發送。TCP是一個面向連接的協議,它意味著分別運行于兩主機(由IP地址確定)內的兩進程(由端口號確定)間存在一條連接。建立一個連接需要3次握手,而終止一個連接要經過4次握手。而一端使用UDP向另一端發送數據報時,無需任何預先的握手。UDP是不可靠無連接的,它不能保證數據報能安全無誤地到達最終目的。雖然
UDP協議不提供反饋信息來控制機器之間傳輸的信息流量,可能出現丟包、重復。但在數據傳輸時間很短,以至于此前的連接過程成為整個流量主體的情況下,UDP也是一個好的選擇。本監控系統服務器與客戶端在同一個監控大廳內,傳輸距離很短。因此向客戶端發送數據采用UDP協議而不是TCP協議,以保證高效率發送數據。飛行實踐證明在1.0 Gb/s網速的由25臺PC機組成的局域網內,顫振數據按采樣率512點/s,傳輸200個參數是完全可靠的。
另外,基于UDP協議的通信模式只需將Socket與指定的端口號和本地的IP地址綁定就可進行數據傳輸,控制算法簡單。而且采用UDP協議有利于系統的擴展,可以根據需要在不影響系統性能的前提下減少或增加客戶端微機的數量。
UDP協議不使用確認信息對報文的到達進行確認,也不對收到的報文進行排序。導致報文可能出現延遲以及亂序的現象。但是顫振數據要求嚴格按時間均勻輸出,否則條圖儀繪出的圖形產生變形,有臺階出現,不易辯識試驗動作段。假設顫振數據的采樣率為512點/s,要求計算機系統每隔不到2 ms就要響應1次。因此在現有的操作系統中開發軟件,不能保證服務器均勻地向條圖儀發送數據。為保證顫振數據時間上的均勻性,在用作服務器的PC機上除PCM反變換板外加裝D/A變換板。利用D/A板的緩沖、定時功能,每次向條圖儀發送多個點的數據,設置條圖儀繪圖的時間間隔,實現均勻輸出。
同時由于該系統具有實時、磁帶回放、磁盤文件數據回放多種工作模式,前端服務器程序也可對機載磁帶數據、本系統存貯數據等不同格式的數據進行回放。幫助工程師在試飛的不同階段利用現有格式的數據進行監控畫面的調試,或實現飛行后對感興趣的數據重現。
評論