新四季網

帶語音提示的電子飛行檢查單系統的製作方法

2023-10-29 23:57:37

專利名稱:帶語音提示的電子飛行檢查單系統的製作方法
技術領域:
本發明涉及帶語音提示的電子飛行檢査單系統。
背景技術:
飛機是一個複雜的機電一體化系統。隨著飛機設計、製造水平的提高和維護經驗的積累, 由於飛機本身故障而發生的事故已很少,飛行事故大多由於飛行員操作不當造成,而這些人 為事故又有70%是由於飛行檢查單使用不當而引起。實際操作時, 一些飛行員有依賴記憶而 忽視飛行檢查單和跳讀檢査單的習慣,這給飛行安全帶來隱患。

發明內容
以波音747-400為例,飛行員通過飛行管理計算機(FMC)運行本程序,通過該系統了解機 務對飛機檢査的結果,代替紙質飛行檢査單進行各項檢查,帶有語音提示,飛行員可通過聽 語音而不是閱讀來查看檢查單,避免了跳讀檢查單帶來的事故隱患。
查看飛行檢查單在飛行檢查單系統點"飛行"菜單中的"波音747-400"(

圖1),在子 菜單中選擇"正常飛行檢査單",彈出"波音747-400正常飛行檢查單"對話框,先選擇飛行 階段單選鈕,右側"注意"欄內將顯示注意事項(圖2),再在組合框中選擇要査看的詳細的 飛行階段檢査單,彈出"檢査項目"對話框,點其中"語音提示"右側的音頻播放器,可通 過聽語音提示檢査各項目(圖3)。
圖1是系統的初始畫面。
圖2是正常飛行檢查單對話框,用一個驚嘆號提醒飛行員在啟動發動機時應打開信號燈。 圖3是帶語音提示的檢査項目對話框,用MediaPlayer控制項創建了成員變量,並結合相應
的函數,實現了使用同一個播放器播放不同音頻的功能。使用全局變量,控制"檢査項目"
對話框中的列表框。
實施方法
用同一個播放器播放不同音頻(見附圖3):在創建的對話框中加上ActiveX控制項Windows MediaPlayer。右擊該控制項,點"Class Wizard",在彈出的對話框中選"Member Variables"為
播放器建立成員變量(建立過程中,全部選用默認設置)。然後在要用到該播放器的地方添加 函數SetUri("路徑名"),路徑名使用了相對路徑,以保證在各個電腦上都可用。使用全局變量,控制列表框,MediaPlayer控制項
首先,在StdAfx.cpp中加上對全局變量的說明 int course; int details;
再在StdAfx.h中"〃{{AFX_INSERT—LOCATION}}"之前加上 extern int course; extern int details)
這樣,在各個子程序中,都可以使用這四個變量。
course和details是用來在某對話框的單選按鈕及組合框中改變選項後,控制另一個對話 框在初始化時對它的列表框中的項目及播放器要播放的音頻的路徑作相應響應的。具體做法 如下先為對話框類Checklist747_400建立消息映射
OnRADIOBefore
OnRADIOTakeoff
OnRADIOFlying
OnRADIOLanding
OnSelchangeCombol
在OnRADIOBefore中加上關鍵代碼course=l ,在OnRADIOTakeoff 中加上關鍵代 碼course=2,在OnRADIOFlying 中加上關鍵代碼course=3,在OnRADIO Landing 中 加上關鍵代碼course=4。這樣,選了相應的單選按鈕,course就變為不同的值。
在OnSelchangeCombol中加上以course的值作為判斷條件的4個if語句。在每個if語 句中寫上"details=m—ComCtl.GetCurSel+x;"這句話,x的值,在course為l, 2, 3, 4時分 別為l, 7, 11, 12。這樣,飛行的各個詳細階段就變成了detail從l到14的14個值。為後 來的在同一個對話框中完成不同項目的顯示打下了基礎。
接著,在對話框類Before一l的OnInitDialog函數中寫入由開關語句控制的代碼
switch(details){
case 1 :{strcpy(dis_before_strl [O],"設置飛機外部燈光"); strcpy(dis—before—strl[l],"確定起落架狀態"); strcpy(disJ)efore—strl[2],"確定頂板可用"); strcpy(dis_before—strl[3],"在FMC中輸入航跡數據"); strcpy(dis—before—strl[4],"核實RTE和LEGS頁的參數");
strcpy(dis—before—strl[5],"核實飛行航路頁的參數");strcpy(dis—before—strl[6],"核實性能參數頁"); strcpy(dis—before—strl[7],"核實航路點");
for(int i=0;i<8;i++)m—BeforeJ .AddString((LPCTSTR)dis—before一strl [i]);
m player.SetUrl("resWREC006.WAV") ;break;} case 2:(strcpy(dis—before—str2
,"確定著陸燈已關閉");
strcpy(dis—before—str2[ 1 ],"關閉滑行燈,頻閃燈");
strcpy(dis—before—str2 [2],"關燃油泵");
strcpy(dis—before—str2[3],"設置EFIS控制組");
strcpy(dis—before—str2[4],"打開F/D開關");
strcpy(dis—before—str2[5],"關自動駕駛");
strcpy(dis_before—str2[6],"設IAS/MACH選擇");
strcpy(dis—before—str2 [7],"設置限定高度");
strcpy(dis—before—str2[8],"檢查時鐘");
strcpy(dis—before—str2[9],"檢查備用設備");
strcpy(dis—before—str2[ 10],"檢查GPS");
s加py(dis—before—str2[ll],"自動剎車設於RTO檔");
strcpy(dis—before_str2 [ 12],"設置泊機剎車");
strcpy(dis—before—str2[13],"確認擾流板位置");
strcpy (dis_before—str2 [ 14],"關閉偏航阻尼器");
strcpy(dis—before—str2[15],"關閉油門");
strcpy(dis—before—str2[16],"關閉反推");
strcpy(dis_before—str2[17],"檢查襟翼角度");
strcpy(disjDefore—str2[18],"設置應答機");
strcpy(dis—before-Str2[19],"接收ATIS信息"); for(inti=0;i<20;i++)m—Before—l.AddString((LPCTSTR)dis—before—str2[i]); m_player.SetUrl("res\\REC007.WAV");break;}
case 3:{strcpy(dis_before—str3
,"核實Fuel sheet");
strcpy(dis—before—str3[l],"從ATC獲得起飛許可"); strcpy(dis—before—str3 [2],"複查起飛數據");
strcpy(dis—before—str3[3],"設定IAS/MACH選擇鈕");strcpy(dis—before—str3 [4],"設定航向"); strcpy(dis—before—str3[5〗,"設定高度"); strcpy(dis—before—str3[6],"完成離場簡報"); strcpy(dis—before str3 P],"打開皮托管加熱"); for(inti=0;i<8;i++)m—Before—1.AddString((LPCTSTR)disbefore—str3[i]); m_player.SetUrl("res\\REC010.WAV");break;} case 4: {strcpy(dis_before—str4
,"關閉艙門");
strcpy(dis—before—str4[l],"確認客艙準備完畢"); strcpy(dis—before—str4[2],"確認己獲得後推許可"); for(int i=0;i<3;i++)m—Before—l.AddString((LPCTSTR)dis—before—str4[i]); m_player.SetUrl("res\\REC011 .WAV");break;} case 5:{strcpy(dis—before—str5[O],"打開信號燈"); strcpy(dis—before—str5 [ 1 ],"打開燃油泵"); strcpy(dis_before—str5 [2],"打開頻閃燈"); for(inti=0;i<3;i++)m_Before—1.AddString((LPCTSTR)dis一before一str5[i]); m_player.SetUrl("res\\REC012.WAV");break;} case 6:{strcpy(dis—before—str6
,"顯示次發動機參數"); strcpy(dis—before—str6[ 1 ],"啟動點火器"); strcpy(dis_before—str6[2],"啟動燃油供應"); strcpy(dis—before—str6[3],"監視發動機參數"); strcpy(dis—before—str6[4],"發動機啟動後打開除冰開關"); strcpy(dis_before—str6[5],"獲取滑行道使用許可"); for(int i=0;i<6;i++)m_Before_l .AddString(dis一before—str6[i]); m_player.SetUrl("res\\RECO 13 .WAV");break;} case7:《strcpy(disjakeoff—strl
,"設置襟翼");
strcpy(dis—takeoff_str 1 [ 1 ],"檢査飛行控制"); strcpy(dis」akeoff—strl [2],"確認起飛程序"); s加py(dis—takeoff—strl[3],"修正穩定器"); strcpy(dis—takeoff—strl[4],"顯示LEGS頁"); strcpy(dis—takeoff—strl [5],"完成客艙通告"); strcpy(dis_takeoff—str 1 [6],"打開應答機");strcpy(dis—takeoff—strl [7],"配置必要的自動駕駛參數");
for(int i=0;i<8;i++)m—Before—1 .AddString(dis—takeoff_strl [i]);
m_player.SetUrl("res\\REC014.WAV");break;} case 8:{strcpy(dis—takeoff str2
,"從塔臺接收起飛許可"); strcpy(dis—takeoff—str2[ 1 ],"打開著陸燈"); strcpy(dis—takeoff—str2 [2],"松泊機剎車"); strcpy(dis—takeoff—str2[3],"根據地勤引導推出");
for(int i=0;i<4;i++)m—Before一l .AddString(dis一takeoff—str2[i]);
m_player,SetlM("res\\REC015.WAV");break;} case 9:{strcpy(dis—takeofflstr3
,"根據塔臺指示使用自動駕駛儀");
strcpy(dis—takeoff—str3[l],"根據塔臺指示收襟翼,起落架輪"); strcpy(dis_takeoff—str3[2],"監視發動機推力"); strcpy(dis_takeoff—str3[3],"開偏航阻尼器");
for(int i=0;i<4;i++)m—BeforeJ .AddString(dis一takeoff—st鄰]);
m_player.SetUrl("res\\REC016,WAV");break;} case 10: {strcpy(dis—takeoff—str4
,"設置高度限定"); strcpy(dis—takeoff—str4 [ 1 ],"設定高度表"); strcpy(dis—takeoff—str4[2],"在6000ft處關著陸燈");
for(int i=0;i<3;i++)m_Before—1 .AddString(dis」akeoff—str4[i]);
m_player.SetUrl("res\\REC017.WAV");break;} case 11:(strcpy(diS-flying-Strl
,"監視巡航推力"); strcpy(dis—flying—str 1 [ 1 ],"監視飛行動態"); strcpy(dis—flying_Strl [2],"監視燃油管理系統");
for(int i=0;i<3;i++)m—Before—1 .AddString(dis—flying—strl [i]);
m_player.SetUrl("res\\REC018.WAV");break;} case 12:{strcpy(dis_landing—strl
,"接收ATIS信息"); strcpy(dis—landing一strl [l],"進入進近入口 "); strcpy(dis」anding—strl[2],"完成LEGS頁設置"); strcpy(dis—landing—strl[3],"完成進近和著陸簡報"); strcpy(dis—landing—strl[4],"按要求設定自動剎車"); strcpy(dis—landing—strl[5],"在6000ft高度打開著陸燈");strcpy(dis—landing—str 1 [6],"設定高度表"); for(int i=0;i<7;i++)mJBefore_l .AddString(dis一landing—strl [i]); m_player.SetUrI("rcs\\REC019.WAV");break;} case 13: {strcpy(dis landing一str2
,"檢査飛行設備"); strcpy(dis—landing—str2[1 ],"按要求放出襟翼"); strcpy(dis—landing—str2[2],"放起落架"); strcpy(disjanding—str2[3],"擾流板預位"); strcpy(dis—landing—str2[4],"關偏航阻尼器"); for(int i=0;i<5;i++)m—Before—1 .AddString(dis」anding—str2[i]); irupIayer.SetUri("res\\REC020.WAV");break;} case 14: { strcpy(dis」anding—str3
,"關著陸燈"); strcpy(dis—landing—str3[l],"關自動駕駛"); s加py(dis—landing—str3[2],"檢查擾流板已放下"); strcpy(dis—landing_str3 [3 ],"關頻閃燈"); strcpy(dis—landing—str3 [4],"關自動殺lj車"); strcpy(dis_landing_str3 [5],"收襟翼"); strcpy(dis—landing—str3[6],"設應答機為待機狀態"); strcpy(dis—landing—str3 [7],"在停機位拉上泊機剎車"); strcpy(dis」anding—str3[8],"關斷燃油供應"); strcpy(dis—landing_str3 [9],"關燃油泵"); strcpy(dis_landing—str3 [ 10],"關外部燈光"); strcpy(dis」anding—str3[ll],"關皮托管加熱"); for(inti=0;i<12;i++)m_Before_l.AddString(dis—landing—str3[i]); m_player.SetUrl("res\\REC022.WAV");break;} 從以上代碼可以具體看出全局變量details是如何控制列表框的顯示及播放器播放的音頻 路徑的。
權利要求
1、帶語音提示的電子飛行檢查單系統,其特徵為通過該系統了解機務對飛機檢查的結果,代替紙質飛行檢查單進行各項檢查,可通過聽語音提示檢查各項目。
2、 飛行檢査單系統的語音提示特徵包括用同一個播放器播放不同音頻在創建的對話框中加上ActiveX控制項Windows Media Player,為播放器建立成員變量;在要用到該播放器的 地方添加函數SetUrl("路徑名"),路徑名使用了相對路徑,以保證在各個電腦上都可用;使用 全局變量,控制列表框,MediaPlayer控制項。
全文摘要
本發明涉及帶語音提示的電子飛行檢查單系統。飛行員通過飛行管理計算機(FMC)運行本程序,通過該系統了解機務對飛機檢查的結果,代替紙質飛行檢查單進行各項檢查,帶有語音提示,飛行員可通過聽語音而不是閱讀來查看檢查單,避免了一些飛行員有依賴記憶而忽視飛行檢查單和跳讀檢查單帶來的事故隱患。本發明使用方便,點擊飛行菜單中的飛機機型,在子菜單中選擇「正常飛行檢查單」,在彈出的對話框中,先選擇飛行階段單選鈕,右側「注意」欄內將顯示注意事項,再在組合框中選擇要查看的詳細的飛行階段檢查單,彈出「檢查項目」對話框,點其中「語音提示」右側的音頻播放器,可通過聽語音提示檢查各項目。
文檔編號B64D47/00GK101434297SQ20081015548
公開日2009年5月20日 申請日期2008年10月6日 優先權日2008年10月6日
發明者侃 倪 申請人:侃 倪

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀