尹進(jìn)軍,劉祥水
(國營蕪湖機(jī)械廠,安徽 蕪湖 241007;安徽省航空設(shè)備測(cè)控與逆向工程實(shí)驗(yàn)室,安徽 蕪湖 241007)
慣性導(dǎo)航系統(tǒng)(Inertial Navigation System,INS)不需要任何外來信息,也不向外輻射任何信息,僅依靠自身就能夠在全天候條件下,在全球范圍內(nèi)和任何介質(zhì)環(huán)境里進(jìn)行連續(xù)的定位和導(dǎo)航,是目前廣受歡迎的導(dǎo)航系統(tǒng)。溫度、平臺(tái)偏角、加速度計(jì)脈沖數(shù)是某型機(jī)載慣性導(dǎo)航系統(tǒng)地面試驗(yàn)過程中判斷慣導(dǎo)性能好壞的重要指標(biāo)。為充分檢查各試驗(yàn)環(huán)節(jié)溫度、平臺(tái)偏角、加速度計(jì)脈沖數(shù)輸出的正確性,某型機(jī)載慣性導(dǎo)航系統(tǒng)地面試驗(yàn)中設(shè)置了大量正常羅經(jīng)對(duì)準(zhǔn)導(dǎo)航試驗(yàn)。實(shí)際使用中發(fā)現(xiàn),每次正常羅經(jīng)對(duì)準(zhǔn)導(dǎo)航試驗(yàn)包含的數(shù)據(jù)量大,加之試驗(yàn)次數(shù)多,操作人員僅通過肉眼觀察數(shù)據(jù)的準(zhǔn)確性及跳變合理性,不僅耗時(shí),且容易造成錯(cuò)漏,導(dǎo)致產(chǎn)品故障被遺漏,影響飛機(jī)任務(wù)的順利完成。
LabWindows/CVI 是由美國NI 公司推出的一種虛擬儀器軟件開發(fā)工具,為熟悉C 語言的技術(shù)開發(fā)人員在測(cè)控領(lǐng)域建立計(jì)算機(jī)儀器系統(tǒng)——虛擬儀器提供了一個(gè)理想的軟件開發(fā)環(huán)境[1]。該軟件的應(yīng)用領(lǐng)域及其廣泛,涵蓋了軍工、電訊、工業(yè)生產(chǎn)和航天等各種行業(yè)[2]。
通過對(duì)對(duì)準(zhǔn)、導(dǎo)航過程中各參數(shù)計(jì)算流程進(jìn)行分析,基于LabWindows/CVI 軟件開發(fā)平臺(tái),設(shè)計(jì)了某型機(jī)載慣性導(dǎo)航系統(tǒng)對(duì)準(zhǔn)導(dǎo)航數(shù)據(jù)分析軟件。實(shí)際應(yīng)用證明,該軟件可以減少人工工作量,降低差錯(cuò)率,提高生產(chǎn)效率和產(chǎn)品質(zhì)量。
根據(jù)某型機(jī)載慣性導(dǎo)航系統(tǒng)正常羅經(jīng)對(duì)準(zhǔn)導(dǎo)航試驗(yàn)要求,軟件需要實(shí)現(xiàn)對(duì)慣性平臺(tái)溫度、平臺(tái)偏角、加速度計(jì)脈沖數(shù)輸出的實(shí)時(shí)監(jiān)控。具體實(shí)現(xiàn)功能包括試驗(yàn)數(shù)據(jù)提取、數(shù)據(jù)實(shí)時(shí)顯示更新、異常數(shù)據(jù)顯示、圖形界面生成及切換、繪圖和坐標(biāo)軸的動(dòng)態(tài)更新,以及試驗(yàn)數(shù)據(jù)回放等。
該軟件的特點(diǎn)如下:使用CVI 軟件集成的繪圖空間,使數(shù)據(jù)圖形界面簡(jiǎn)單清晰,且有效減少了繪圖工作量,提高了繪圖可靠性;將溫度、平臺(tái)偏角、加速度計(jì)脈沖數(shù)分別在不同的繪圖框中顯示,使曲線相互獨(dú)立,便于觀察和相互比較數(shù)據(jù),便于實(shí)時(shí)發(fā)現(xiàn)異常數(shù)據(jù)及故障點(diǎn);實(shí)現(xiàn)了坐標(biāo)的隨動(dòng),使曲線的變化趨勢(shì)更明顯。
某型慣性導(dǎo)航系統(tǒng)正常羅經(jīng)對(duì)準(zhǔn)、導(dǎo)航試驗(yàn)中,除輸入控制命令外,其余數(shù)據(jù)每10 s 自動(dòng)保存一次。對(duì)準(zhǔn)導(dǎo)航試驗(yàn)時(shí)數(shù)據(jù)格式如圖1 所示。


圖1 對(duì)準(zhǔn)導(dǎo)航試驗(yàn)時(shí)數(shù)據(jù)格式
對(duì)準(zhǔn)過程數(shù)據(jù)包括開機(jī)時(shí)間、對(duì)準(zhǔn)時(shí)間、對(duì)準(zhǔn)狀態(tài)碼、平臺(tái)偏角、T1(上陀螺溫度)、T2(東向加速度計(jì)溫度)、T3(平臺(tái)殼體溫度)、T4(量化器恒溫槽溫度)以及4 個(gè)溫度的加溫功率等參數(shù);導(dǎo)航過程重點(diǎn)關(guān)注數(shù)據(jù)有東北天向加速度計(jì)脈沖數(shù)(Nx、Ny、Nz)。
試驗(yàn)數(shù)據(jù)每10 s 自動(dòng)保存一次,因此,設(shè)計(jì)軟件每10 s 讀取一次“*.tot”文檔中的數(shù)據(jù),對(duì)準(zhǔn)和導(dǎo)航階段數(shù)據(jù)提取流程如圖2 所示。

圖2 對(duì)準(zhǔn)導(dǎo)航數(shù)據(jù)提取流程圖
部分測(cè)試程序如下。
新建一個(gè)異步時(shí)鐘用于獲取當(dāng)前試驗(yàn)文件夾及文件路徑,并判斷當(dāng)前需分析曲線的類型:
realTimerHandle=NewAsyncTimer(60,-1,1,realTime Deal,0); //新建一個(gè)異步時(shí)鐘,初始使能
int CVICALLBACK realTimeDeal (int panel, int control, int event,void *callbackData, int eventData1, int eventData2); //異步時(shí)鐘回調(diào)函數(shù)
新建一個(gè)時(shí)鐘控件用于每10 s 獲取當(dāng)前溫度、平臺(tái)偏角和導(dǎo)航脈沖數(shù)等數(shù)據(jù)
int CVICALLBACK do10s (int panel, int control,int event,void *callbackData, int eventData1, int eventData2);
openhandle =penFile(getpathname,VAL_READ_ONLY,VAL_OPEN_AS_IS,VAL_ASCII);
//打開試驗(yàn)數(shù)據(jù)文件
lenTxt=ReadFile(openhandle,buff,150000); //將試驗(yàn)數(shù)據(jù)存儲(chǔ)在字符串中
buff[lenTxt]=0;
strIndex=strstr(buff,” ALIGN_” ); //判斷對(duì)準(zhǔn)是否開始獲取對(duì)準(zhǔn)導(dǎo)航數(shù)據(jù),并將相關(guān)數(shù)據(jù)存儲(chǔ)在數(shù)組中:char algDataStr[100][10][10]; //對(duì)準(zhǔn)數(shù)據(jù)
char navDataStr[720][7][20]; //導(dǎo)航數(shù)據(jù)
char navTemStr[120][5][20]; //導(dǎo)航時(shí)間
將數(shù)據(jù)繪制為曲線。
需要對(duì)試驗(yàn)溫度、平臺(tái)偏角及導(dǎo)航脈沖進(jìn)行實(shí)時(shí)監(jiān)控,并根據(jù)該型慣性導(dǎo)航系統(tǒng)精度要求對(duì)監(jiān)控?cái)?shù)據(jù)合格性進(jìn)行判斷并直觀顯示。曲線繪制流程如圖3 所示。

圖3 溫度、平臺(tái)偏角及導(dǎo)航脈沖繪制流程圖
部分繪制程序如下:
PlotPoint(panel,PANEL_GRAPH,strToD(algDataStr[i][0]),strToF(algDataStr[i][6]),VAL_SOLID_CIRCLE,T 1color); //畫出采集的點(diǎn)
PlotLine(panel,PANEL_GRAPH,strToD(algDataStr[i][0]),strToF(algDataStr[i][6]),strToD(algDataStr[i+1][0]),strToF(algDataStr[i+1][6]),T1color); //將兩點(diǎn)之間使用線連接
AddGraphAnnotation(panel,PANEL_GRAPH,strTo D(algDataStr[i+1][0]),strToF(algDataStr[i+1][4]),nChar,-25,-65); //在異常處插入標(biāo)簽
由于監(jiān)控?cái)?shù)據(jù)波動(dòng)范圍較大,需要將當(dāng)前坐標(biāo)與坐標(biāo)軸邊界項(xiàng)進(jìn)行比較,若超界,則自動(dòng)更新坐標(biāo)軸,由此可以更全面地觀察監(jiān)測(cè)數(shù)據(jù)的變化趨勢(shì)和走向。部分程序如下。
每10 s 獲取數(shù)組中溫度、平臺(tái)偏角和脈沖數(shù)最大值及最小值,用于設(shè)置曲線坐標(biāo)上下限:
SetAxisScalingMode(panel,PANEL_GRAPH,VAL_LEFT_YAXIS,VAL_MANUAL,minTem,maxTem);//設(shè)置坐標(biāo)上下限
為便于后期數(shù)據(jù)查看,軟件除設(shè)計(jì)實(shí)時(shí)監(jiān)控功能外,還實(shí)現(xiàn)了試驗(yàn)數(shù)據(jù)回放功能。
部分程序如下:
selFile=FileSelectPopup(fileDir,” *.tot” ,” *.tot” ,” 選擇文本” ,VAL_SELECT_BUTTON,0,0,1,
0,getPath); //選擇回放試驗(yàn)數(shù)據(jù)
strcpy(getpathname,getPath);//復(fù)制回放試驗(yàn)數(shù)據(jù)至數(shù)據(jù)分析路徑
DeleteGraphPlot(panel,PANEL_GRAPH,-1,VAL_DELAYED_DRAW);//清空曲線
該軟件已被成功應(yīng)用于某型機(jī)載慣導(dǎo)地面靜態(tài)試驗(yàn)、標(biāo)定試驗(yàn)及環(huán)境試驗(yàn)中。實(shí)際界面如圖4、圖5、圖6 所示。

圖4 溫度曲線繪制效果圖

圖5 平臺(tái)偏角繪制效果圖

圖6 加速度計(jì)脈沖繪制效果圖
利用該軟件實(shí)現(xiàn)了對(duì)溫度、平臺(tái)偏角及加速度計(jì)脈沖數(shù)的實(shí)時(shí)監(jiān)控,并且實(shí)現(xiàn)了對(duì)異常數(shù)據(jù)的直觀呈現(xiàn),此外數(shù)據(jù)回放功能可通過“載入數(shù)據(jù)”實(shí)現(xiàn)。實(shí)際使用證明,該軟件可以有效、準(zhǔn)確且全面監(jiān)控試驗(yàn)數(shù)據(jù),減少人工讀數(shù)造成的工作量和差錯(cuò)率,提高生產(chǎn)效率和產(chǎn)品質(zhì)量。