999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MFC框架的通用型429總線解碼軟件設計

2023-09-21 11:54:28王洪星
直升機技術 2023年3期
關鍵詞:界面

王洪星,孫 剛,徐 智

(中國直升機設計研究所,江西 景德鎮 333001)

0 引言

現代飛行器由于控制模型復雜,在試飛調參時往往需要多次進行參數調整。為定量評估飛行參數效果,需要在試飛過程中將各項飛行數據進行存儲,在飛行后進行分析并為控制律參數調整提供依據。另外,飛行過程中出現故障時,依靠記錄的故障信息可以快捷地對故障點定位。為節省存儲資源,數據存儲的格式往往為二進制形式,需要在飛行后對記錄數據進行重新解碼還原。由于常用的飛參設備需要記錄各系統的大量飛行數據,數據記錄周期往往設置得較長,以節約存儲空間,因而導致在長航時飛行時很難對某特定系統的數據進行詳細記錄。對此,在試驗試飛階段通常還需專門留出數據記錄器。另外,出于調參排故等需要,各系統需記錄的數據種類也會經常變化,因此需要一種高適應性的解碼軟件對存儲的二進制數據進行解碼。基于此方面考慮,本文提出并實現了一種基于MFC框架,用于對飛行數據解碼的Windows應用軟件,在存儲數據種類發生變化時,無需重新編譯生成軟件,只需對相關協議配置文件進行更改即可,可以快速適配新的存儲格式。

1 硬件設計

1.1 總體概述

數據記錄器如圖1所示,采用了ARM+FPGA的處理器架構,其中FPGA作為429總線接口。在數據存儲過程中,FPGA接收并緩存外部輸入的高速429數據;當數據有效后,向ARM發出中斷信號,通知ARM讀取緩存數據,并將數據順序存儲在Flash中;Flash格式化為FAT32文件系統,因此應用軟件可以通過文件的形式對存儲數據進行讀寫操作。同時,ARM向FPGA發送控制信號,用于對總線數據讀取進行邏輯控制。在數據讀出過程中,首先將記錄器引出的USB接口連接上位機電腦;ARM接收到接入信號后,通過內部數據總線將Flash中存儲的數據以二進制文件格式讀出,并通過USB接口向PC發送;此時在PC中可以通過文件訪問的形式對存儲文件進行操作。

圖1 數據記錄器硬件組成

1.2 數據發送與存儲

總線數據由飛行記錄軟件發送。記錄軟件貯存在飛行計算機中,按照固定周期運行,并由操作系統負責周期任務調度。記錄軟件負責傳感器數據的采集,并將中間數據向數據記錄器發送。程序流程如圖2所示。考慮到發送的數據量較大,為避免阻塞任務,在每個任務運行周期內,將待發送的一幀飛行數據包分成四拍發出。在機型上進行實測時,80 ms的數據記錄周期,每周期記錄的429字為113個,則每小時需要記錄的飛行數據約為39 MB。

圖2 數據發送流程

在記錄器上電后,ARM首先向FPGA發送初始化指令,并調用文件系統API在Flash中創建新文件。在接收到429數據后,ARM從FPGA的數據緩沖區中讀取數據,并向文件中寫入,如圖3所示。

圖3 數據存儲流程

2 解碼軟件設計

2.1 配置文件

為保證軟件的通用性,解碼軟件使用了配置文件對不同的存儲協議進行適配。配置文件的主要格式如表1所示:第1列為429字的各數據位的信號定義;第2列說明了對各數據位定義的說明,例如正負號的定義、單位等;第3列表示該429字在一幀數據包中的位置;第4列表示該數據位在429字中的起始位置;第5列表示該數據位所占據的位長度;第6列代表了數據的存儲類型,在本軟件中,以數字3代表該數據為離散量,在解析時只需按位解析即可,無需考慮LSB換算,數字2代表該數據為無符號值,數字1代表該數據為有符號值,在解析時應考慮數據正負;第7、8列分別為該數據的LSB值、數據字的429標號;第9列為數據在輸出中的列位置,用于在數據解析后,在輸出文件中按照一定順序對解析出的數據信息重新調整,以便于解讀。

表1 配置文件格式示例

按照此格式,在數據的存儲協議發生變化時,無需再重新修改解碼程序,只需要按照新協議修改配置文件,即可對新協議進行正確解析。

2.2 數據解碼軟件

2.2.1 編程框架

解碼軟件采用基于MFC的程序框架編寫。MFC即微軟基礎類庫,是微軟公司于1992推出的通用C++開發庫。庫中大量封裝了可重用的Windows API,包括Windows的內建控件和組件等,支持消息循環、運行時類信息機制、動態創建機制等特性,是一種 Application Framework,包含多個程序框架模板,減少應用程序開發人員的工作量。發展到今天,MFC已成為一個穩定和廣泛覆蓋的C++類庫。

考慮到解碼軟件需要的界面控件數量較少,因此采用了基于對話框的架構進行代碼編寫,所使用到的類架構如圖4所示。

圖4 使用到的架構類

其中,CMyApp為應用程序類,負責應用程序的初始化;CMainDlg為對話框類,負責解碼主界面的刷新、消息響應等工作;CDialogLogIn用于管理軟件登錄界面并讀取配置文件。

2.2.2 界面設計

解碼軟件主要設計了登錄界面與解析界面兩個對話框,登錄界面如圖5所示。在該界面中,用戶需輸入正確的用戶名與登錄密碼后方可進入解析界面。任意輸入錯誤,將進行錯誤提示,如圖6所示。

數據解析界面為解碼功能的主界面,如圖7所示。通過點擊“解碼”按鍵,彈出文件選擇對話框,選擇需要解析的二進制文件。當“控件刷新”為選中時,將解析結果在下方列表框中即時顯示,并在當前進度中顯示解析進度。同時,解析出的故障信息與PBIT自檢信息同樣在控件中顯示。為方便不同界面切換,使用Tab控件來對當前顯示的數據主頁面進行管理。

圖7 解碼軟件主界面

2.2.3 軟件流程

軟件登錄界面中,添加“登錄”按鍵的消息響應函數CDialogLogIn::OnBnClickedOk(),在響應函數中,首先校驗用戶名與密碼是否正確。在正確輸入后,顯示解碼軟件的主界面。主界面由CMainDlg類管理,在對話框初始化函數CMainDlg:: OnInitDialog()中讀取應用程序路徑中存在的有效配置文件,并將讀取結果存放于類成員m_pConfigStruct中。

在協議配置文件成功讀取后,CMainDlg將各協議字配置項名稱作為列標,插入到列表控件中,顯示順序由配置文件中的列位置決定。

進入解碼主界面,在“解碼”按鍵的單擊事件響應函數中,調用系統文件打開對話框,選擇并讀入待解析的二進制文件,開始解析飛行數據。解析流程如圖8所示。

圖8 數據解析流程

首先根據標號尋找每幀數據中第一個429字位置;此后每讀取到一個429字時,應首先對其標號與配置文件中的標號進行對比。配置文件中的各429字的行順序應與接收順序相一致,當接收順序不同時,認為該次數據包接收錯誤,不再解析本包中的其余字,并在故障字解析文件中進行說明,同時尋找下一包有效數據。

根據429字中數據位類型的不同,將有符號數、無符號數以及離散量進行分類解析。

在數據解析過程中,考慮到本軟件采用了單線程的工作方式,在數據量較大時,往往不能及時響應系統消息,會出現界面無法響應用戶操作的情況,因此加入了消息循環結構,::SendMessage用于將消息發送到消息所標識的窗口,直到窗口完成指定的窗口過程后再返回。這樣就避免了在解碼過程中,當發生窗口事件時無法響應消息的情況:

if(PeekMessage(&msg,(HWND)NULL,0,0,PM_REMOVE))

{ …

::SendMessage(msg.hwnd,msg.message,msg.wParam,msg.lParam);

}

解析完成后,創建輸出文件夾。文件夾按照飛行時間與架次重命名,并將生成文本格式的數據解析文件、格式說明文件、故障信息、PBIT結果文件依次存放。

2.2.4 軟件驗證

在機型上進行記錄器功能驗證,如圖9所示,飛行過程共計約2小時。

圖9 試飛數據解析結果

通過解析數據能夠基本還原飛行過程中的各系統狀態與內部運行信息,數據記錄準確,解析結果(圖10)與實際飛行情況一致。

圖10 離散量解析結果

3 結束語

本文提出了一種通用的429數據解碼軟件設計方法,用于對數據記錄器存儲的數據進行解碼,即將二進制總線數據解析還原為實際物理量。一方面用于在試驗試飛時,對各系統的參數調試提供參考,同時保證飛行數據的完整性,能夠高效地還原飛行過程中各飛行系統工作狀態;也可以用于對飛行過程中的故障快速定位,為地面維護人員排故工作提供數據支持。最后對軟件的正確性進行了充分驗證。

飛機實際飛行試驗表明,軟件易于使用,飛行數據解碼準確,通用性較好,能夠方便地將該解碼軟件移植到不同的機型中。本文為429總線數據譯碼提供了一套通用的方法,證明了該軟件的實用意義,為今后的試驗試飛提供了有力保障。

猜你喜歡
界面
聲波在海底界面反射系數仿真計算分析
微重力下兩相控溫型儲液器內氣液界面仿真分析
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
西門子Easy Screen對倒棱機床界面二次開發
空間界面
金秋(2017年4期)2017-06-07 08:22:16
鐵電隧道結界面效應與界面調控
電子顯微打開材料界面世界之門
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 青青草原国产| av在线手机播放| 黄色一级视频欧美| 国产人成乱码视频免费观看| 国产麻豆精品久久一二三| 国产福利在线观看精品| 中文无码精品A∨在线观看不卡| 国产欧美精品一区aⅴ影院| a在线观看免费| 成人国产三级在线播放| 日本道中文字幕久久一区| 亚洲AV无码久久天堂| 精品人妻一区无码视频| 中文国产成人精品久久| 国产视频自拍一区| a级高清毛片| 国产欧美另类| 人妻丰满熟妇αv无码| WWW丫丫国产成人精品| 国产激爽爽爽大片在线观看| 国产一线在线| 久久特级毛片| 国产日产欧美精品| 欧美成人区| 国产内射在线观看| 亚洲日韩精品欧美中文字幕| 亚洲成人在线免费观看| 亚洲VA中文字幕| 国产精品久久精品| 国产高清在线精品一区二区三区 | 久久福利网| 亚洲日韩久久综合中文字幕| 亚洲日产2021三区在线| 国产免费久久精品44| 老司机精品久久| 亚洲伊人天堂| 在线观看国产网址你懂的| 欧美激情视频二区三区| 99久久人妻精品免费二区| 91色综合综合热五月激情| 在线国产91| 亚洲区第一页| 国产成人综合亚洲欧美在| 日本一区二区三区精品国产| 欧洲极品无码一区二区三区| 亚洲天堂成人在线观看| 99视频精品在线观看| 午夜视频免费试看| 色天天综合久久久久综合片| 中文字幕色在线| 欧美精品v日韩精品v国产精品| 国产在线97| 伊人激情综合网| 亚洲第一视频免费在线| 亚洲天堂自拍| 亚洲日本一本dvd高清| 国产精品一老牛影视频| 久久国产精品电影| 日韩欧美一区在线观看| 中文字幕自拍偷拍| 青青久久91| 亚洲国产av无码综合原创国产| 国产视频一区二区在线观看| 久久精品中文字幕免费| 国产美女无遮挡免费视频网站| 国产精品亚洲精品爽爽| 欧美性猛交xxxx乱大交极品| 激情无码字幕综合| 在线观看国产精美视频| 国产精品任我爽爆在线播放6080| 国产精品永久久久久| av一区二区三区高清久久| 亚洲人成在线精品| 99视频免费观看| 一区二区日韩国产精久久| 久久久波多野结衣av一区二区| 精品一区二区三区波多野结衣| 日韩精品欧美国产在线| 亚洲欧美国产高清va在线播放| 在线免费a视频| 欧美亚洲国产日韩电影在线| 蜜臀AVWWW国产天堂|