<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 基于LabWindows/CVI虛擬儀器編程語言的飛行模擬器介紹

          基于LabWindows/CVI虛擬儀器編程語言的飛行模擬器介紹

          作者: 時間:2012-07-25 來源:網(wǎng)絡 收藏
            1)數(shù)據(jù)采集模塊 負責各種標準信號的采集,按通道傳送給顯示、存儲模塊,并對輸入的波形信號進行同步,其中還包括硬件的初始化和采集參數(shù)的設置。

            2)數(shù)據(jù)存儲模塊 按照規(guī)定的格式將采集到的數(shù)據(jù)存入數(shù)據(jù)庫。

            3)數(shù)據(jù)顯示模塊 根據(jù)不同的需要實時顯示模擬器航姿、仰角等參數(shù)以及波形、軌跡和各種譜圖。

            4)數(shù)據(jù)分析模塊 將采集回來的數(shù)據(jù)進行分析,和預設的數(shù)據(jù)相比較,進而算出調(diào)節(jié)量。采用的數(shù)據(jù)分析方法有:時域分析、頻域分析、相關(guān)分析、回歸分析、數(shù)理統(tǒng)計、趨勢分析和高級分析等。

            5)儀表驅(qū)動模塊 將控制數(shù)據(jù)發(fā)送至通道,產(chǎn)生各種調(diào)節(jié)儀器的控制命令。

            6)文件管理模塊 提供數(shù)據(jù)輸出、報表打印以及歷史查詢。

            7)數(shù)據(jù)庫管理模塊 實現(xiàn)對數(shù)據(jù)庫中各類數(shù)據(jù)進行有效的管理,同時存放檢測數(shù)據(jù)和結(jié)論,根據(jù)檢測內(nèi)容做出記錄表單。

            8)報警模塊 系統(tǒng)出現(xiàn)故障時報警,顯示故障類型并啟動保護措施。

            9)TCP通信模塊 完成3D視景系統(tǒng)之間的通信。

            運5操縱負荷系統(tǒng)仿真系統(tǒng)采用該軟件進行設計,其流程如圖4所示。



            主程序完成初始化后,調(diào)用權(quán)限操作、采集、視景通信模塊、控制(儀表驅(qū)動、操作機構(gòu)、俯仰控制)等模塊。并隨時響應串口和鍵盤中斷。為防止干擾,采集模塊采用多次采集,去掉最大和最小數(shù)據(jù),取平均值的方法。經(jīng)采集所取得的數(shù)據(jù)經(jīng)由存儲模塊和顯示模塊存入數(shù)據(jù)庫并顯示于面板,需要的時候可以通過數(shù)據(jù)庫管理模塊和文件管理模塊進行查詢和打印。另外,根據(jù)采集的數(shù)據(jù)信息便可通過儀表驅(qū)動模塊完成操縱機構(gòu)、俯仰控制等功能。

            2.2.2 軟件編程中的關(guān)鍵模塊

            1)俯仰控制模塊 函數(shù)int ComWrt(int COMPort,charbuffer[],int count)通過串口COMPort向變頻器發(fā)送控制命令,命令數(shù)據(jù)存儲在存儲器buffer[]中,數(shù)據(jù)長度為count字節(jié)。控制變頻器的運行、停止、正/反轉(zhuǎn)。

            函數(shù)void CRC_WrtFre(int FRECOM,unsigned int DValue,unsigned FreAdr,int Length_CRC)設定變頻器的工作頻率。通過串口FRECOM向變頻器發(fā)送工作頻率值Dvalue。

            調(diào)用:

            2)操縱機構(gòu)控制模塊 函數(shù)double sensor_com(int ID);功能說明:向傳感器發(fā)送讀取數(shù)據(jù)命令,讀取和存儲傳感器輸出的原始數(shù)據(jù),并計算出傳感器的位移量。計算方法為:

            3)儀表驅(qū)動控制模塊 函數(shù)void da_send(int corn,intkahao,int channel,double da_sendata)用來發(fā)送電壓表所需的電壓值;函數(shù)double AD24(int COM,int CardID,int way,double*Val)用來采集電壓,對于需要采集的電壓進行采集并將其顯示在面板上;函數(shù)void Relay(int comport,int cardlD,intchanelNum,char ctrldata[17])用來控制繼電器的通斷狀態(tài);函數(shù)void YB_High(double sjd_A)根據(jù)升降舵的變化來控制高度表和升降速度表的指示,其中YB_High為函數(shù)名,sjd_A為升降舵值;函數(shù)void YB_Airspeed(double ymg_V)根據(jù)油門桿來控制變頻器的頻率;函數(shù)void YB_Qhq(double Value)和void YB_Pq(double Value)分別是汽化器溫度表和排氣溫度表的驅(qū)動函數(shù),驅(qū)動變量為副翼;函數(shù)void YB_Wxdhizh(double Value)用來驅(qū)動無線電高度表,其中YB_Wxdhigh是函數(shù)名,Value為油門桿位置;函數(shù)void YB_Sy(double Value)三用表的驅(qū)動,其中YB_Sy為函數(shù)名,Value為油門桿位置;函數(shù)void YB_Dq(double Value)驅(qū)動大氣溫度表,其中YB_Dq為函數(shù)名,Value為油門桿位置。

            4)視景音響控制模塊 函數(shù)void calculate()根據(jù)3個舵面和油門桿的數(shù)據(jù)計算視點位置的x坐標、y坐標、z坐標、俯仰角、滾轉(zhuǎn)角、偏航角;函數(shù)void(*InitNet)(int fig),函數(shù)功能:初始化網(wǎng)絡。初始化包括IP地址,端口號等信息;函數(shù)void(*SendFlightData)(int *)向視景計算機傳送數(shù)據(jù)。

            函數(shù)void(*CloseNet)(int fig)用于關(guān)閉網(wǎng)絡;函數(shù)void(*ChangeData)(float viewx,float viewy,float viewz,float thet,float gam,float psi)用于交換數(shù)據(jù)。將控制系統(tǒng)軟件生成的數(shù)據(jù)FlyData傳送到視景軟件,實現(xiàn)數(shù)據(jù)的實時更新交換,這是實時通信的基礎所在。

            3 結(jié)束語

            該系統(tǒng)以LabWindows/CVI作為軟件開發(fā)平臺,以性能穩(wěn)定、數(shù)據(jù)處理能力強大的工控機為硬件系統(tǒng)的核心,數(shù)據(jù)庫技術(shù)和模塊化相結(jié)合,大大縮短了系統(tǒng)開發(fā)周期,同時使得系統(tǒng)具有良好的可視性、交互性和擴展性。它能夠完成各個參數(shù)的采集、控制,并通過計算機的數(shù)據(jù)采集、參數(shù)控制、實時曲線、事故報警等畫面,使操作人員能夠了解機載設備的運行情況,及時發(fā)現(xiàn)和處理問題,測試功能齊全,防差錯能力強,工作運行穩(wěn)定可靠,用戶界面友好,為飛行器裝備的技術(shù)保障提供強大支持。

          tcp/ip相關(guān)文章:tcp/ip是什么



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();