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