韋佳霄,王健
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西桂林,541000)
隨著當(dāng)代科技進(jìn)步、全球局勢的變化及現(xiàn)代戰(zhàn)爭對(duì)戰(zhàn)斗武器提出了全新的要求。顯而易見,導(dǎo)彈是具有遠(yuǎn)途攻擊特點(diǎn)的制導(dǎo)武器中的佼佼者。導(dǎo)彈對(duì)其控制系統(tǒng)的要求十分苛刻。而舵機(jī)作為導(dǎo)彈制導(dǎo)與控制系統(tǒng)的執(zhí)行機(jī)構(gòu)以及重要部分,其性能的好壞直接影響導(dǎo)彈的戰(zhàn)斗性能和指導(dǎo)精度[1]。舵機(jī)是導(dǎo)彈控制系統(tǒng)的重要執(zhí)行機(jī)構(gòu),舵機(jī)測試系統(tǒng)是導(dǎo)彈生產(chǎn)線上的重要設(shè)備[2],在導(dǎo)彈性能審核中具有關(guān)鍵的意義。導(dǎo)彈舵機(jī)按照所使用的能源,通??煞殖呻妱?dòng)舵機(jī)、液壓舵機(jī)、氣動(dòng)舵機(jī)等,氣動(dòng)舵機(jī)又可分為冷氣舵機(jī)、燃?xì)舛鏅C(jī)、沖壓式舵機(jī)。
舵機(jī)接收來自控制系統(tǒng)的控制信號(hào),克服氣動(dòng)鉸鏈力矩和彎曲力矩,驅(qū)動(dòng)舵面偏轉(zhuǎn),改變彈體的飛行姿態(tài),從而控制彈體在空中按照預(yù)定的軌道飛行[2-3]。
舵機(jī)性能測試是在導(dǎo)彈測試中的關(guān)鍵構(gòu)成部分之一。以往的舵機(jī)性能測試設(shè)備笨重復(fù)雜、自動(dòng)化程度低、試驗(yàn)時(shí)間長、精密程度低且操作不便。而本舵機(jī)性能測試系統(tǒng),是以帶有PCI 總線的工控計(jì)算機(jī)為主腦,配備相應(yīng)的數(shù)據(jù)采集卡,應(yīng)用虛擬儀器、數(shù)據(jù)庫、多線程等技術(shù),能夠測試燃?xì)舛鏅C(jī)的動(dòng)態(tài)特性,具有操作便捷、人機(jī)界面友好、自動(dòng)化程度高、通用性強(qiáng)、移植性強(qiáng)、升級(jí)維護(hù)方便等優(yōu)勢。
如圖1 所示是燃?xì)舛鏅C(jī)測試系統(tǒng)的硬件架構(gòu)。測試系統(tǒng)工作時(shí),根據(jù)測試任務(wù)要求,主控計(jì)算機(jī)通過數(shù)據(jù)采集卡發(fā)送數(shù)字指令給被測燃?xì)舛鏅C(jī),被測燃?xì)舛鏅C(jī)接收指令并完成相應(yīng)的指定動(dòng)作,同時(shí)主控計(jì)算機(jī)通過數(shù)據(jù)采集卡采集數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理、顯示分析、數(shù)據(jù)存儲(chǔ)等。
圖1 測試系統(tǒng)組成框圖
根據(jù)測試需求,該測試系統(tǒng)能夠?qū)崿F(xiàn)燃?xì)舛鏅C(jī)動(dòng)態(tài)測試。該系統(tǒng)測試項(xiàng)目有:
(1)并行A/D:
DK 信號(hào)、DP 信號(hào)、DJ 電流信號(hào)。
(2)數(shù)字I/O
供電指令、供氣指令、15Hz指令、25Hz指令、35Hz指令。
由圖1 可知,測試系統(tǒng)主要包括主控計(jì)算機(jī)、數(shù)據(jù)采集卡、信號(hào)調(diào)理單元。主要構(gòu)成單元及功能如下:
(1)主控計(jì)算機(jī):是高性能研華工控機(jī),整個(gè)系統(tǒng)的控制中心,內(nèi)置一塊數(shù)據(jù)采集板卡PCI-6143,RS485 及RS232 串口通訊卡,借助于一根多功能線纜將采集板卡和信號(hào)調(diào)理單元連接,此多功能線纜 選擇取決于連接器的類型、硬件 連接的要求和使用環(huán)境。某些電纜內(nèi)部采用對(duì)絞的屏蔽電線,相比普通屏蔽電纜可更有效地屏蔽環(huán)境噪聲,專為搭配高性能 NI 設(shè)備而設(shè)計(jì)。
測試軟件運(yùn)行在工控機(jī)上,向被測舵機(jī)發(fā)送數(shù)字測試指令,實(shí)現(xiàn)測試過程控制,并對(duì)測試過程中的各項(xiàng)參數(shù)和數(shù)據(jù)進(jìn)行處理、顯示、存儲(chǔ),以及生成報(bào)表打印,完成對(duì)整個(gè)測試系統(tǒng)的綜合管理和控制功能。
(2)數(shù)據(jù)采集卡:采用NI PCI-6143 數(shù)據(jù)采集卡,它具備8 路同步模擬輸入,8 條數(shù)字I/O 線,16 位分辨率,每通道采樣率可達(dá)250kS/s,模擬信號(hào)輸入范圍為±5V,它負(fù)責(zé)系統(tǒng)中模擬量信號(hào)采集和數(shù)字量信號(hào)的輸出。
(3)信號(hào)調(diào)理單元:被測舵機(jī)與PCI 采集板卡之間的模擬信號(hào)和數(shù)字信號(hào)傳輸?shù)臉蛄骸3鲇趯?duì)PCI 采集板卡的保護(hù)和分配采集信號(hào)通道的需求,以及提升系統(tǒng)的抗干擾能力,信號(hào)調(diào)理單元需要設(shè)計(jì)信號(hào)分配、信號(hào)衰減電路。不僅如此,所有輸入、輸出信號(hào)都經(jīng)過光耦隔離電路,保證了該系統(tǒng)穩(wěn)定性以及可靠性。因PCI-6143 數(shù)據(jù)采集卡有最大的輸入電壓值范圍,需將輸入的模擬信號(hào)經(jīng)過衰減電路進(jìn)行衰減,預(yù)防在實(shí)際測試中出現(xiàn)的瞬間大電壓對(duì)PCI 采集板卡的破壞。
舵機(jī)測試系統(tǒng)的軟件設(shè)計(jì)選用美國NI 公司Measurement Studio集成式套件設(shè)計(jì)開發(fā)的。NI Measurement Studio 設(shè)計(jì)用于微軟Visual Studio C# .NET中構(gòu)建工程應(yīng)用程序,以獲取、分析和顯示測量數(shù)據(jù)。
設(shè)計(jì)采用C# 語言來開發(fā),其適用于上層界面開發(fā),專門為.NET平臺(tái)而創(chuàng)建,語法簡單,調(diào)試簡便,具有很強(qiáng)的兼容性,在C++中能完成的任務(wù),C#都能完成,且一般不直接進(jìn)行內(nèi)存管理,安全性較高[7]。
采用SQL Server 關(guān)系型數(shù)據(jù)庫,簡單易用,適合分布式組織的可伸縮性,可跨多平臺(tái)使用,高效且開發(fā)成本低。
舵機(jī)測試系統(tǒng)的軟件設(shè)計(jì)綜合以上工具,科學(xué)地利用用戶界面控件、多線程技術(shù)和垃圾回收機(jī)制,縮短開發(fā)周期,提高通用性,以便移植維護(hù)和升級(jí)。
為后期方便維護(hù)以及系統(tǒng)功能的增加,程序必須需具備高度的可擴(kuò)展性。按照燃?xì)舛鏅C(jī)的測試需求以及方案設(shè)計(jì),本測試系統(tǒng)軟件采用模塊化思想。系統(tǒng)軟件主要包括用戶權(quán)限管理模塊、系統(tǒng)自檢模塊、參數(shù)設(shè)置模塊、測試管理模塊、數(shù)據(jù)查詢模塊。通過調(diào)用各個(gè)模塊來控制系統(tǒng)程序的運(yùn)行,并完成相應(yīng)的測試項(xiàng)目。如圖2 所示。
圖2 測試系統(tǒng)軟件功能框圖
用戶權(quán)限管理模塊:該模塊分為管理員和測試操作員,管理員有權(quán)限登錄進(jìn)入系統(tǒng)修改相應(yīng)的參數(shù)系數(shù),測試操作員沒有權(quán)限修改系數(shù)。
系統(tǒng)自檢模塊:對(duì)工控機(jī)內(nèi)PCI 采集板卡的狀態(tài)、通道配置情況、串口通訊卡RS232 和RS485 卡,以及其可用性進(jìn)行檢測。如若自檢不成功,需檢查連接線以及采集卡的安裝是否正確,再進(jìn)入NI MAX 檢測是否檢測到采集板卡。
參數(shù)設(shè)置模塊:此模塊分成KВ 參數(shù)設(shè)置和報(bào)表指標(biāo)參數(shù)設(shè)置模塊。由于環(huán)境以及硬件老化等原因會(huì)對(duì)測試結(jié)果造成誤差,操作人員可通過對(duì)KВ 參數(shù)設(shè)置,從軟件層面抵消外在因素帶來的誤差。加之,由于外界因素的影響,如若報(bào)表中的參數(shù)指標(biāo)需要變動(dòng),可有管理員修改指標(biāo),程序員不必為此專門跑一趟,減少人力物力的浪費(fèi),也為后期維護(hù)做鋪墊。
測試管理模塊:此模塊是測試系統(tǒng)軟件實(shí)現(xiàn)對(duì)燃?xì)舛鏅C(jī)相關(guān)測試的關(guān)鍵所在,主要包括對(duì)數(shù)據(jù)進(jìn)行采集并顯示在界面上,以及發(fā)送控制指令進(jìn)而對(duì)得到的數(shù)據(jù)進(jìn)行處理,如顯示有效值、平均值或是峰值,存儲(chǔ)數(shù)據(jù)以及計(jì)算報(bào)表中所求的參數(shù)。
數(shù)據(jù)查詢模塊:有兩種查詢方式可選擇,其一按照時(shí)間方式查詢,其二是按照產(chǎn)品編號(hào)方式查詢,可刪除選中的數(shù)據(jù)記錄,可對(duì)該條選中的記錄實(shí)現(xiàn)波形回放。如若不確定該條記錄的參數(shù)結(jié)果,可再重新計(jì)算??梢詫?duì)當(dāng)前波形截圖并生成報(bào)表打印。
測試流程的設(shè)計(jì)是整個(gè)測試系統(tǒng)軟件的心臟,程序邏輯的編寫是按照測試系統(tǒng)軟件的測試流程設(shè)計(jì)的,測試系統(tǒng)軟件主程序流程如圖3 所示。
圖3 測試系統(tǒng)軟件主流程圖
進(jìn)入登錄界面,系統(tǒng)軟件先進(jìn)行自檢,自檢成功,即說明PCI 采集板卡連接成功才能進(jìn)行下一步,如果自檢不成功則異常處理。開始測試前,系統(tǒng)會(huì)連接數(shù)據(jù)庫讀取配置參數(shù)的數(shù)據(jù),然后選擇測試的類型,點(diǎn)擊開始測試,系統(tǒng)通過PCI 采集板卡發(fā)送測試指令,在指定的時(shí)間內(nèi)硬件設(shè)備作出相應(yīng)的動(dòng)作,同時(shí)系統(tǒng)也會(huì)對(duì)信號(hào)采集任務(wù)采集到的數(shù)據(jù)進(jìn)行處理,完成波形的顯示以及數(shù)值的顯示。當(dāng)出現(xiàn)異樣時(shí)則交給異常處理線程處理。當(dāng)點(diǎn)擊 “停止測試”按鈕后測試結(jié)束,測試系統(tǒng)會(huì)自動(dòng)地保存此次數(shù)據(jù)到數(shù)據(jù)庫中。
由于該測控系統(tǒng)在測試過程中,需要對(duì)多通道信號(hào)進(jìn)行實(shí)時(shí)采集并顯示,同時(shí)也需要對(duì)供電指令、供氣指令等數(shù)字I/O 指令進(jìn)行實(shí)時(shí)控制。如果采用單線程技術(shù)進(jìn)行程序設(shè)計(jì),則沒法實(shí)現(xiàn)上述的功能。因此,引進(jìn)了多線程技術(shù)設(shè)計(jì)。
多線程是指操作系統(tǒng)支持一個(gè)進(jìn)程中執(zhí)行多個(gè)線程的能力,當(dāng)一個(gè)線程等待用戶響應(yīng)或大量計(jì)算結(jié)果時(shí),另一個(gè)線程可以繼續(xù)其他處理[4-5],使得進(jìn)程總處于運(yùn)行狀態(tài),隨時(shí)可以進(jìn)行響應(yīng),從而提高系統(tǒng)的響應(yīng)效率。一個(gè)多線程的應(yīng)用程序?qū)嶋H上可理解成是并行執(zhí)行,實(shí)現(xiàn)多任務(wù)的擴(kuò)展,從而提高了對(duì)CPU 的利用率,加快程序?qū)π畔⑻幚淼乃俣取.?dāng)然,線程并不是越多越好,更有甚者會(huì)出現(xiàn)“軍師多了亂朝綱”的現(xiàn)象,因此要適當(dāng)合理地運(yùn)用多線程技術(shù)。
在編寫燃?xì)舛鏅C(jī)性能測試軟件時(shí),按照軟件的功能需求,把應(yīng)用程序需要處理的任務(wù)分為用戶界面控制、數(shù)據(jù)采集實(shí)時(shí)顯示、參數(shù)計(jì)算結(jié)果顯示。測試系統(tǒng)軟件將用戶界面作為主線程,其余部分的任務(wù)作為次線程,如此分割處理,在同一時(shí)刻能夠并行做完更多的任務(wù),加快系統(tǒng)的反應(yīng)速率,提高了執(zhí)行的效率。
用Measurement Studio 集成套件能夠便捷且迅速地建立復(fù)雜的交互式面板,在GUI的設(shè)計(jì)過程中,開發(fā)員需要核定該測試系統(tǒng)時(shí)怎樣獲取并顯示數(shù)據(jù),以及對(duì)界面、控件和對(duì)話框如何操作以及想要呈現(xiàn)怎樣的效果等問題,是以用戶界面是程序設(shè)計(jì)的起點(diǎn),將其作為程序設(shè)計(jì)的主線程,能夠迅速地解決各類交互信息。
該線程開啟后,就負(fù)責(zé)多個(gè)通道數(shù)據(jù)采集的使命,包含DK 信號(hào)、DP 信號(hào)、DJ 電流信號(hào)的采集。以下給出數(shù)據(jù)采集的程序主體。
采用線程定時(shí)器技術(shù),由線程池的線程提供支持,不依賴窗體,是一種簡單且輕量的定時(shí)器。在定期執(zhí)行任務(wù)刷新界面參數(shù)的結(jié)果值。該線程定時(shí)器開啟后,就會(huì)定時(shí)地計(jì)算參數(shù)結(jié)果并顯示在主程序界面中。以下給出該部分的程序主體。
利用本測試系統(tǒng)軟件對(duì)某交付合格的燃?xì)舛鏅C(jī)進(jìn)行多次重復(fù)性測試,根據(jù)計(jì)算參數(shù)的結(jié)果以及報(bào)表的參數(shù)指標(biāo)范圍對(duì)比,測試得到的參數(shù)結(jié)果在報(bào)表的參數(shù)指標(biāo)范圍。同時(shí),將測試得到的試驗(yàn)數(shù)據(jù)和某型已校準(zhǔn)過的示波器相較,試驗(yàn)數(shù)據(jù)的誤差在可允許的范圍內(nèi),如表1 所示,且該測試系統(tǒng)可以準(zhǔn)確地進(jìn)行數(shù)據(jù)采集和處理,工作穩(wěn)定可靠,測試數(shù)據(jù)能夠真實(shí)地反應(yīng)被測燃?xì)舛鏅C(jī)動(dòng)態(tài)的工作性能。
表1 燃?xì)舛鏅C(jī)測試誤差判定
基于PCI 總線的燃?xì)舛鏅C(jī)測試系統(tǒng)可以較好地實(shí)現(xiàn)燃?xì)舛鏅C(jī)動(dòng)態(tài)性能的測試,可以波形截圖以及自動(dòng)生成報(bào)表打印出來。該測試系統(tǒng)使用了NI 公司的數(shù)據(jù)采集板卡,保證試驗(yàn)測試數(shù)據(jù)的精度。在實(shí)際使用中,測試軟件能夠很好地完成各項(xiàng)試驗(yàn)的要求,且系統(tǒng)工作穩(wěn)定、可靠性高、操作和維護(hù)方便、測試效率高。