王勇軍,葉美玲,李 智,林榕彬
(1.桂林航天工業(yè)學院無人機遙測重點實驗室,廣西桂林 541004;2.桂林電子科技大學電子工程與自動化學院,廣西桂林 541004)
燃氣舵是導彈推力矢量控制裝置,通過改變推進裝置的燃氣噴流方向,產(chǎn)生改變導彈姿態(tài)的作用力或作用力矩。而該型導彈燃氣舵內(nèi)部的一個重要控制部件即是“安全閥”。該安全閥的打開壓力在3.40~3.95 MPa之間,為保障導彈工作的有效性,使用前需要進行正向密封性、打開壓力、回座壓力、反向承壓和密封圈密封性等測試,通用的人工單項檢測方法不僅每次耗時三四十分鐘,而且還存在一定的誤檢率。
目前在氣動壓力控制閥檢測方面,有不少大學和研究所開發(fā)出各類控制閥門檢測系統(tǒng),比如山東大學開發(fā)出高/微流量氣壓減壓閥測試系統(tǒng)[1]、寧波大學基于LabVIEW研制了減壓閥測試設備[2]、合肥通用環(huán)境控制技術(shù)有限責任公司針對安全閥低溫性能測試開發(fā)了自動測試系統(tǒng)[3]等,但這些都基于 LabVIEW平臺,人機界面不夠方便,而且也未見報道有類似功能安全閥的測試裝置。因此,研制開發(fā)一套檢測功能強、系統(tǒng)穩(wěn)定、自動化程度高、操作簡便的安全閥測試系統(tǒng)軟件不僅可以提高測試效率,還可以保障安全閥質(zhì)檢合格的有效性。本文主要介紹基于VC平臺的導彈燃氣舵安全閥測試系統(tǒng)上位機控制軟件的設計與實現(xiàn)。
整個測試系統(tǒng)主要由測試工件(安全閥)、氣路系統(tǒng)、電路系統(tǒng)和上位機軟件四大部分組成,主要利用計算機及自動檢測技術(shù),實現(xiàn)安全閥各項性能指標的自動測試,如圖1所示。
圖1 系統(tǒng)總體方案框圖
氣路系統(tǒng)組成結(jié)構(gòu)如圖2所示。整個氣路系統(tǒng)處于高壓環(huán)境,主要為不同測試項目輸出合適的測試氣壓。另外,由于安全閥打開壓力、回座壓力、密封性等多項性能測試中的流量指標差異非常大,輸出流量小至幾mL/min、大至幾十L/min,所以該氣路系統(tǒng)搭建的一個難點在于如何快速切換測試項目。為解決這個問題,設計時采用多路電磁閥并聯(lián)一起,分別與不同精度流量測試儀器連接,通過控制電路中電磁閥的開斷來實現(xiàn)測試氣路的切換[4-5]。電路系統(tǒng)負責壓力和流量信號的采集、轉(zhuǎn)換與傳輸,并發(fā)送到工控機。工控機還負責將控制信號傳送到測量與控制電路部分,進而控制執(zhí)行機構(gòu)(電磁閥、電動壓力調(diào)節(jié)閥)完成調(diào)節(jié)動作。
圖2 氣路組建結(jié)構(gòu)示意圖
主控計算機是測試系統(tǒng)的控制管理中心,對整個測試過程進行管控和調(diào)度,完成規(guī)定的測試任務。系統(tǒng)基于VC開發(fā)平臺,分析該測試系統(tǒng)軟件的需求,運用多線程技術(shù)和模塊化設計原則[6],設計開發(fā)測試系統(tǒng)的上位機軟件,以期能提供操作簡單的人機管理界面。
通過分析安全閥性能測試項目的測試方法及工作流程,確定人機接口管理界面是否能夠完成控制響應、實時通信、數(shù)據(jù)分析和圖表顯示四大項任務,因此需要包含以下基本功能:
①響應界面操作按鈕,實現(xiàn)測試項目的選擇,以及人工分析處理的一些操作;
②通過串口完成與下位機的通信,上傳各傳感器數(shù)據(jù)至上位機界面,下達控制命令控制執(zhí)行機構(gòu)的調(diào)節(jié)狀態(tài);
③對比傳感器測試數(shù)據(jù)與技術(shù)指標要求,進行測試項目的性能評估,顯示分析結(jié)果,并將關(guān)鍵數(shù)據(jù)信息以直觀圖形的方式標識出來;
④綜合壓力傳感器和流量計測試數(shù)據(jù),繪制歷史數(shù)據(jù)曲線、打開壓力曲線、回座壓力曲線,實現(xiàn)曲線圖表的顯示。
測試規(guī)劃界面如圖3所示,測試項目功能區(qū)中的相應測試項目對應單個指標測試流程;各傳感器的最新測試數(shù)據(jù)會顯示在界面上,并在繪制區(qū)實時顯示數(shù)據(jù)曲線;各項目測試完成后,會在顯示區(qū)給出系統(tǒng)針對各個項目性能的分析結(jié)果;電磁閥區(qū)域顯示當前時刻各電磁閥開關(guān)狀態(tài),以方便用戶觀察氣路狀態(tài)是否正常。
圖3 系統(tǒng)主界面示意圖
要保證傳感器測試數(shù)據(jù)既能進行連續(xù)、長時間數(shù)據(jù)采集,又能實時解算并動態(tài)顯示,這對數(shù)據(jù)采集、計算處理、數(shù)據(jù)實時顯示等功能的設計提出了很高的要求。單線程、順序執(zhí)行的程序結(jié)構(gòu)已經(jīng)不能滿足測試系統(tǒng)的需求,而利用多線程技術(shù),把數(shù)據(jù)采集、數(shù)據(jù)計算處理、數(shù)據(jù)實時動態(tài)顯示等任務分配給多個線程同步處理,實現(xiàn)不同功能的并發(fā)執(zhí)行,可有效提高系統(tǒng)的效率,從而優(yōu)化系統(tǒng)整體性能[7]。
上位機軟件作為整個測試系統(tǒng)的神經(jīng)中樞,為了提高其工作效率,設計時運用多線程技術(shù),將執(zhí)行代碼劃分主次,主線程負責響應主界面操作,優(yōu)先級最高,次線程負責完成其他任務。根據(jù)安全閥測試需求分析可知,上位機軟件主體任務包含界面操作、串口通信、數(shù)據(jù)分析處理和數(shù)據(jù)庫操作,因此可把界面操作設為主線程,其他任務設為次線程。由于串口通信涉及測試數(shù)據(jù)的上傳與控制命令的下達,是上位機線程聯(lián)系的樞紐,因此將它的優(yōu)先級設為次線程隊列中最高的。軟件運行過程中,當主線程響應用戶界面操作時,次線程會暫時掛起,完成響應后,掛起的次線程被喚醒。
在人機交互的過程中,通過多線程技術(shù)解決了系統(tǒng)并發(fā)任務的調(diào)度、線程間的通信和同步問題,提高了系統(tǒng)的實時響應能力。本系統(tǒng)采用全局變量進行線程間通信,結(jié)合自定義消息變量進行輔助通信[8]。同時使用臨界區(qū)對象實現(xiàn)對數(shù)據(jù)的保護,只有線程獲得該對象才能訪問被保護的公共資源,直到該線程釋放該對象,才允許其他線程訪問,為線程之間數(shù)據(jù)的共享和傳遞提供了良好的數(shù)據(jù)保護機制。
該安全閥測試系統(tǒng)的例行測試有:密封圈密封性測試、正向密封性測試、打開壓力測試、閥門動作測試、反向壓力測試、回座壓力測試,軟件基本工作流程如圖4所示。當進行各個項目測試時,軟件根據(jù)采集到的氣壓和流量值對電動壓力調(diào)節(jié)閥及電磁閥進行自動控制,不斷反饋控制直至獲取滿足測試要求的氣壓。為防止誤操作,當前測試任務執(zhí)行過程中會與其他測試項目互鎖,只有結(jié)束當前測試才能進行下一項測試。
此模塊設置了保護權(quán)限,需要驗證測試人員的合法性以及管理用戶的使用權(quán)限,只有教師規(guī)定的同學具有權(quán)限進入該系統(tǒng)。登錄功能需要根據(jù)教師在后臺建立的賬號和密碼庫來驗證,每次登錄不成功系統(tǒng)明確提示賬號或者密碼重輸入,連續(xù)提示次數(shù)超過3次,系統(tǒng)強制退出軟件。
對測試控制單元的功能、通道配置情況及可用性進行檢測,并對系統(tǒng)做相應初始化,確保安全閥測試結(jié)果的有效性和可信性。該模塊實際上是一個特殊的數(shù)據(jù)采集與信號控制的過程,是針對各測試裝置的自測試與數(shù)據(jù)采集方案[9]。
圖4 基本測試流程圖
上位機通信是基于串行通信實現(xiàn)的,采用Modbus-RTU協(xié)議的主從方式通信。串口初始化過程中,要完成對串口號、波特率、數(shù)據(jù)位、停止位、校驗方式等串口參數(shù)的配置,保證數(shù)據(jù)能正確傳輸。上位機通過唯一的地址號來區(qū)別從機,然后按照協(xié)議格式發(fā)送命令,相應的下位機按相同格式做出響應。該協(xié)議定義的03功能碼是讀取指定地址寄存器的模擬量,可以獲得傳感器的測試數(shù)據(jù);06功能碼是寫入單個模擬量到寄存器,寫入值可以是-32768~32767之間的任意值,作為設置電動調(diào)節(jié)閥開度信號以及電磁閥開關(guān)狀態(tài)的模擬量。通過解析接收到的數(shù)據(jù),具體的操作響應會在功能號對應的函數(shù)中執(zhí)行,從而實現(xiàn)主控計算機與下位機之間的通信。Modbus報文模型如圖5所示,其報文協(xié)議主要由地址域、功能碼、數(shù)據(jù)碼和校驗碼組成。
圖5 Modbus報文模型
軟件的核心部分是實現(xiàn)安全閥全部性能指標的測試。整個測試分為全項目性能測試和單項性能測試兩種,按照不同的項目選項進入相應測試項目流程。全項目測試包含6個子任務測試,每個子任務對應測試要求不同,會構(gòu)建不同的測試鏈路,但這些都是通過控制氣路系統(tǒng)電磁閥的打開與關(guān)閉來實現(xiàn)不同氣路選擇的。通過對比相應傳感器測試數(shù)據(jù)與對應測試項目技術(shù)指標,進行測試系統(tǒng)的效能評估。全項目程序流程如圖6所示。其中,密封圈密封性、正向密封性和反向壓力三項測試涉及到不同小流量檢測,考慮到測試的靈活性,可以通過界面來選擇設定不同的流量評估標準。
圖6 全項目測試程序流程圖
數(shù)據(jù)管理模塊主要用于對上位機收到數(shù)據(jù)的解析、實時數(shù)值的顯示、數(shù)據(jù)曲線的繪制、性能評估結(jié)果的顯示、數(shù)據(jù)庫存儲和歷史數(shù)據(jù)的查閱。數(shù)據(jù)曲線的顯示功能可以利用曲線圖表控件TeeChart8.0實現(xiàn)[10-11],數(shù)值形式的顯示則可依靠VC平臺自帶的列表控件來實現(xiàn)。上位機將接收到的數(shù)據(jù)按照指定的規(guī)則解析為傳感器的實時數(shù)據(jù),如根據(jù)壓強和流量可以在界面上實時顯示出這兩個數(shù)據(jù)構(gòu)成的打開壓力曲線和回座壓力曲線。
對于數(shù)據(jù)的存儲既能以曲線圖表形式導出存儲,也能連接數(shù)據(jù)庫存儲,以方便后期查閱數(shù)據(jù),為故障分析提供真實可靠的數(shù)據(jù)支持。相關(guān)歷史數(shù)據(jù)查閱功能主要是按照ADO方式遍歷數(shù)據(jù)庫[12],對已測試傳感器的數(shù)據(jù)及處理后的數(shù)據(jù)進行分析,方便后期完成實測報告時對出現(xiàn)的問題追蹤溯源。
根據(jù)安全閥測試控制工作流程,要求設計友好的人機交互界面,完成后的軟件主界面如圖7所示。整個自動測試交互界面主要包括項目流程控制及數(shù)據(jù)實時監(jiān)測區(qū)、性能評估結(jié)果顯示區(qū)、數(shù)據(jù)曲線顯示區(qū)、串行通信參數(shù)設置區(qū)、數(shù)據(jù)存儲及事后人工分析處理區(qū)、電磁閥測試狀態(tài)顯示區(qū)。
圖7 測試系統(tǒng)功能主界面
針對導彈安全閥的測試需求,研制一種安全閥自動測試系統(tǒng),利用多線程技術(shù)設計具有用戶登錄管理、串口通信、性能測試和數(shù)據(jù)管理等功能的用戶控制界面,人機交互方便,不僅能快速測試安全閥的全項目性能指標,還能通過上位機界面控制各單項測試,輸出測試系統(tǒng)各部件工作狀態(tài),為企業(yè)生產(chǎn)提供良好的輔助工具,大大提高了質(zhì)檢任務的執(zhí)行效率。