袁 偉,張 帥,姜 毅
(上海無線電設(shè)備研究所,上海 200090)
基于LabVIEW的激光引信自動(dòng)化測(cè)試系統(tǒng)軟件設(shè)計(jì)
袁 偉,張 帥,姜 毅
(上海無線電設(shè)備研究所,上海 200090)
在激光引信自動(dòng)化測(cè)試系統(tǒng)中,測(cè)試參數(shù)繁多,測(cè)試過程復(fù)雜,基于LabVIEW傳統(tǒng)設(shè)計(jì)模式的測(cè)試軟件在功能擴(kuò)展、后期維護(hù)方面顯現(xiàn)出明顯不足;針對(duì)此問題,提出LabVIEW擴(kuò)展型生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式,以測(cè)試儀器為基礎(chǔ),將復(fù)雜測(cè)試過程分解成多個(gè)單一測(cè)試步驟,采用面向?qū)ο蠹夹g(shù)降低測(cè)試步驟間的耦合度,利用隊(duì)列狀態(tài)機(jī)控制多儀器協(xié)同工作與多線程并行執(zhí)行,實(shí)現(xiàn)測(cè)試步驟的有效組合,最終完成復(fù)雜的測(cè)試過程;通過在激光引信自動(dòng)化測(cè)試系統(tǒng)中的運(yùn)用表明,基于LabVIEW擴(kuò)展型生產(chǎn)者/消費(fèi)者模式的測(cè)試軟件可擴(kuò)展性強(qiáng)、維護(hù)方便,具有較高的實(shí)際運(yùn)用價(jià)值;該設(shè)計(jì)模式可推廣至其他復(fù)雜測(cè)控軟件的設(shè)計(jì)中。
自動(dòng)測(cè)試;LabVIEW;擴(kuò)展型生產(chǎn)者/消費(fèi)者模式; 激光引信
LabVIEW是一種圖形化編程應(yīng)用開發(fā)環(huán)境,結(jié)合標(biāo)準(zhǔn)虛擬儀器測(cè)試平臺(tái)(如NI公司的PXI平臺(tái)),可以實(shí)現(xiàn)快速測(cè)試系統(tǒng)的搭建,成為了當(dāng)前測(cè)試測(cè)量領(lǐng)域重要的軟件開發(fā)語言[1-3]。標(biāo)準(zhǔn)狀態(tài)機(jī)設(shè)計(jì)模式、簡(jiǎn)單生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式、簡(jiǎn)單主從設(shè)計(jì)模式等由于便捷性成為了測(cè)試軟件主流設(shè)計(jì)模式[4]。然而,激光引信測(cè)試參數(shù)繁多,過程復(fù)雜,需要多種儀器協(xié)同工作,多線程并行執(zhí)行。基于上述設(shè)計(jì)模式進(jìn)行開發(fā),LabVIEW程序后面板占用面積將急劇提升,內(nèi)部中間變量增加,軟件可維護(hù)性降低,魯棒性較差。
本文針對(duì)上述傳統(tǒng)設(shè)計(jì)模式存在的局限性,結(jié)合激光引信自動(dòng)化測(cè)試系統(tǒng)實(shí)際應(yīng)用需求,提出了擴(kuò)展型生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式,并基于此模式開發(fā)了激光引信自動(dòng)化測(cè)試系統(tǒng)軟件。
激光引信自動(dòng)化測(cè)試系統(tǒng)通過模擬引信工作環(huán)境,測(cè)試激光引信產(chǎn)品性能。測(cè)試系統(tǒng)需要實(shí)現(xiàn)以下功能。
1)自動(dòng)加載產(chǎn)品測(cè)試信息;
2)為激光引信產(chǎn)品供電,實(shí)時(shí)監(jiān)測(cè)產(chǎn)品消耗電流;
3)模擬彈上計(jì)算機(jī),與激光引信不間斷通訊,實(shí)現(xiàn)目標(biāo)信息裝訂與引信工作狀態(tài)監(jiān)測(cè);
4)模擬目標(biāo)回波,可實(shí)時(shí)對(duì)回波信號(hào)特性(幅度、延時(shí)等)進(jìn)行調(diào)節(jié);
5)實(shí)時(shí)采集與分析激光引信多種輸出信號(hào),根據(jù)分析結(jié)果,控制測(cè)試流程;
6)將測(cè)試數(shù)據(jù)保存至數(shù)據(jù)庫,同時(shí)自動(dòng)生成數(shù)據(jù)測(cè)試報(bào)表。
功能1)和功能6)與其他功能相對(duì)獨(dú)立,其余功能之間相互耦合程度高,例如當(dāng)功能5)中產(chǎn)品輸出信號(hào)不正常時(shí),軟件需要在功能2)中切斷產(chǎn)品供電。本文主要關(guān)注功能2)至功能5)的實(shí)現(xiàn)與有效整合。激光引信自動(dòng)化測(cè)試系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示。自動(dòng)化測(cè)試系統(tǒng)由PXI測(cè)控系統(tǒng)、4路程控直流電源、光衰減器、示波器、信號(hào)調(diào)理與測(cè)試接口和顯示單元等組成。PXI測(cè)控系統(tǒng)包括萬用表卡、開關(guān)矩陣卡、CAN通訊卡、8路485串口通訊卡和多通道數(shù)據(jù)采集卡。
圖1 激光引信自動(dòng)化測(cè)試系統(tǒng)硬件結(jié)構(gòu)圖
4路程控直流電源為產(chǎn)品提供所需工作電壓;產(chǎn)品加電后,利用CAN通訊卡與RS485串口通訊卡模擬彈上計(jì)算機(jī)與激光引信的通訊,完成激光引信自檢、參數(shù)裝訂和狀態(tài)監(jiān)測(cè)等工作;自檢與裝訂成功后,引信響應(yīng)外界發(fā)射地信號(hào)驅(qū)動(dòng)內(nèi)部激光器發(fā)射激光,經(jīng)過光纖與光衰減器組成的光學(xué)回路被激光引信接收并處理,此時(shí)激光引信將針對(duì)回波信號(hào)輸出多種不同的信號(hào),這些信號(hào)被數(shù)據(jù)采集卡、示波器實(shí)時(shí)采集與分析。該過程中,通過改變光衰減器的衰減值,結(jié)合激光引信報(bào)警信號(hào)測(cè)試激光引信的靈敏度[2];通過控制激光回波的延時(shí),結(jié)合激光引信輸出信號(hào)測(cè)試激光引信的引戰(zhàn)延時(shí)。萬用表卡測(cè)試產(chǎn)品靜態(tài)電阻,開關(guān)矩陣負(fù)責(zé)完成各個(gè)信號(hào)間的測(cè)試切換。為了保證測(cè)試過程中產(chǎn)品的安全,測(cè)試軟件需要實(shí)時(shí)監(jiān)測(cè)電源輸出,同時(shí)對(duì)引信狀態(tài)參數(shù)進(jìn)行不間斷監(jiān)測(cè),當(dāng)電源輸出或引信狀態(tài)發(fā)生異常時(shí),軟件需要立即切斷電源輸出。
由系統(tǒng)測(cè)試原理可知,激光引信測(cè)試軟件需要協(xié)調(diào)多種儀器工作,并行執(zhí)行多個(gè)線程,包括多種參數(shù)測(cè)試與狀態(tài)監(jiān)測(cè),測(cè)試過程復(fù)雜。傳統(tǒng)測(cè)試軟件設(shè)計(jì)以功能實(shí)現(xiàn)為出發(fā)點(diǎn),按照功能開辟線程,劃分軟件模塊,每個(gè)模塊中包含多種儀器操作,模塊之間耦合度高,線程的并行執(zhí)行可能出現(xiàn)不同模塊同時(shí)訪問同臺(tái)儀器的問題,導(dǎo)致儀器響應(yīng)出錯(cuò),自動(dòng)化測(cè)試無法正常進(jìn)行。同時(shí),多個(gè)模塊的并行執(zhí)行將導(dǎo)致程序后面板循環(huán)數(shù)量增加,不同循環(huán)之間的數(shù)據(jù)交換也將增加程序內(nèi)部中間變量,造成軟件可維護(hù)性降低,魯棒性變差。針對(duì)上述問題,充分考慮可維護(hù)性,本系統(tǒng)軟件設(shè)計(jì)采用擴(kuò)展型生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式。
生產(chǎn)者/消費(fèi)者模式是軟件人機(jī)交互的重要設(shè)計(jì)模式之一[5-7],生產(chǎn)者/消費(fèi)者模式包含一個(gè)生產(chǎn)者循環(huán)與一個(gè)消費(fèi)者循環(huán),利用基于事件結(jié)構(gòu)的生產(chǎn)者循環(huán)響應(yīng)用戶界面事件,利用消費(fèi)者循環(huán)處理界面事件,循環(huán)之間通過隊(duì)列進(jìn)行數(shù)據(jù)交換。多線程的并行執(zhí)行需要增加消費(fèi)者循環(huán)數(shù)量,各消費(fèi)者循環(huán)之間的數(shù)據(jù)交換通過增加隊(duì)列或增加中間變量實(shí)現(xiàn),而隊(duì)列與中間變量的增加,將導(dǎo)致儀器之間協(xié)調(diào)控制繁瑣,程序紊亂,可維護(hù)性差。為了解決上述問題,借鑒MVC模式設(shè)計(jì)思想[8],將界面層、控制層、模型層解耦,考慮多線程并行執(zhí)行能力,以測(cè)試儀器為出發(fā)點(diǎn),提出擴(kuò)展型生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式。該模式以測(cè)試儀器為基礎(chǔ),為每臺(tái)測(cè)試儀器開辟獨(dú)立線程,將復(fù)雜功能測(cè)試分解成多個(gè)單一測(cè)試步驟在不同儀器線程中執(zhí)行,同時(shí)在相關(guān)儀器線程中完成狀態(tài)參數(shù)的監(jiān)測(cè),頂層程序僅負(fù)責(zé)測(cè)試步驟的分解與測(cè)試結(jié)果的收集與顯示。分層設(shè)計(jì)將避免不同線程同時(shí)訪問同臺(tái)儀器的問題,各個(gè)儀器線程間相互獨(dú)立,沒有直接的數(shù)據(jù)交換,程序間的耦合度降低,可維護(hù)性提高。圖2給出了該模式的體系結(jié)構(gòu),從下至上依次為Driver層、Test層、Controller層、UI層。Driver層,為底層儀器控制驅(qū)動(dòng)層,利用VISA函數(shù)進(jìn)行控制指令發(fā)送與數(shù)據(jù)反饋接收,控制儀器單一動(dòng)作;Test層響應(yīng)來自Controller層的指令,負(fù)責(zé)整合儀器動(dòng)作,完成簡(jiǎn)單的單一測(cè)試步驟,例如電源的打開與電流的讀?。籆ontroller層負(fù)責(zé)解析來自UI層的測(cè)試指令,將解析后的指令分發(fā)給Test層;UI層負(fù)責(zé)與用戶交互??缭綄蛹?jí)之間無法直接進(jìn)行數(shù)據(jù)與信息交換,各層級(jí)之間相互獨(dú)立,耦合度低。
圖2 擴(kuò)展型生產(chǎn)者/消費(fèi)者模式體系結(jié)構(gòu)
如圖2所示,UI層響應(yīng)用戶界面操作后,將相關(guān)測(cè)試任務(wù)傳遞給Controller層,Controller層將復(fù)雜測(cè)試任務(wù)按照測(cè)試儀器進(jìn)行分解,然后分發(fā)給Test層相關(guān)的儀器線程,通過調(diào)用Driver層的底層vi完成任務(wù)。各層級(jí)之間均采取雙向通訊機(jī)制,保證通訊的正確性。
Driver層為底層儀器控制層,利用VISA函數(shù)控制儀器單一動(dòng)作。擴(kuò)展型生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式以測(cè)試儀器為基礎(chǔ),采用面向?qū)ο蠹夹g(shù)將不同儀器封裝成類,儀器VISA資源名稱與相關(guān)測(cè)試參數(shù)為該儀器類的私有數(shù)據(jù),相關(guān)動(dòng)作被封裝成該儀器類的方法。增加儀器動(dòng)作只需增加類的相應(yīng)方法,程序可擴(kuò)展性增強(qiáng)。激光引信自動(dòng)化測(cè)試系統(tǒng)軟件中,將電源、示波器、光衰減器、數(shù)據(jù)采集卡、通訊卡、萬用表卡、開關(guān)矩陣卡等封裝成不同的類,所有儀器動(dòng)作都被封裝成類的方法。以電源為例,封裝電源類如圖3所示。
圖3 電源類封裝
根據(jù)類的私有特性,各臺(tái)測(cè)試儀器、板卡之間嚴(yán)格相互獨(dú)立,面向?qū)ο蠹夹g(shù)的引入從最底層降低了測(cè)試軟件的耦合度,同時(shí)提高了軟件的內(nèi)聚性與安全性。
Test層需要響應(yīng)來自Controller層的命令,通過調(diào)用Driver層vi執(zhí)行動(dòng)作。Test層中,對(duì)每一臺(tái)儀器開發(fā)獨(dú)立線程,采用事件驅(qū)動(dòng)的隊(duì)列狀態(tài)機(jī)組織程序,每個(gè)線程擁有各自獨(dú)立的通訊隊(duì)列,該隊(duì)列與Controller層雙向通訊,接收命令后引導(dǎo)線程實(shí)現(xiàn)狀態(tài)切換與動(dòng)作執(zhí)行。Test層的執(zhí)行動(dòng)作與條件分支一一對(duì)應(yīng),增加動(dòng)作,只需增加相應(yīng)條件分支即可,程序可擴(kuò)展性增強(qiáng)。同時(shí),利用事件結(jié)構(gòu)中的超時(shí)分支可以實(shí)現(xiàn)信號(hào)的連續(xù)采集,采集時(shí)間間隔與超時(shí)時(shí)間對(duì)應(yīng)。Test層工作流程如圖4所示。
圖4 Test層工作流程
以電源線程為例,激光引信自動(dòng)化測(cè)試系統(tǒng)中,需要反復(fù)重啟電源,同時(shí)需要實(shí)時(shí)監(jiān)測(cè)電源輸出狀態(tài),保證系統(tǒng)供電正常。程序設(shè)計(jì)中,超時(shí)時(shí)間設(shè)置為100ms,即電源輸出采樣頻率為10Hz。電源線程具體程序設(shè)計(jì)如圖5所示。
圖5 電源線程程序框圖
Controller層控制多臺(tái)測(cè)試儀器協(xié)同工作,將來自UI層的復(fù)雜測(cè)試過程按照測(cè)試儀器分解至Test層不同儀器線程中執(zhí)行。該層通過靜態(tài)調(diào)用的方法加載運(yùn)行所有儀器線程,同時(shí)獲取所有線程的特定隊(duì)列,通過隊(duì)列與Test層雙向通訊,程序設(shè)計(jì)如圖6所示。
圖6 靜態(tài)調(diào)用多個(gè)線程
Controller層將復(fù)雜測(cè)試過程分解成多個(gè)儀器動(dòng)作的集合,并建立對(duì)應(yīng)測(cè)試數(shù)組,測(cè)試開始時(shí),將測(cè)試數(shù)組中的所有測(cè)試步驟壓入測(cè)試隊(duì)列,通過元素出隊(duì)列將數(shù)組元素(測(cè)試步驟)在不同分支分發(fā)給不同的儀器線程。測(cè)試過程復(fù)雜度與數(shù)組大小對(duì)應(yīng),更改或擴(kuò)展測(cè)試過程只需更改或擴(kuò)展其對(duì)應(yīng)數(shù)組,避免了復(fù)雜測(cè)試過程帶來的程序后面板占用面積急劇增加的問題,代碼可維護(hù)性得到較大提高。Controller層基于生產(chǎn)者/消費(fèi)者設(shè)計(jì)構(gòu)建,事件結(jié)構(gòu)的生產(chǎn)者循環(huán)用于響應(yīng)UI層的操作。激光引信自動(dòng)化測(cè)試系統(tǒng)Controller層整體程序如圖7所示。
圖7 Controller層程序框圖
UI層負(fù)責(zé)與用戶交互,通過按鈕、開關(guān)和儀器儀表等控件控制系統(tǒng)的運(yùn)行,并且可以實(shí)時(shí)、直觀地觀測(cè)動(dòng)態(tài)數(shù)據(jù)的變化[9],需要簡(jiǎn)潔直觀。激光引信測(cè)試系統(tǒng)UI界面如圖8所示,包括:1)自定義菜單;2)測(cè)試進(jìn)度欄,可以監(jiān)視測(cè)試進(jìn)程;3)信號(hào)采集顯示區(qū);4)測(cè)試數(shù)據(jù)顯示區(qū);5)電流監(jiān)測(cè)區(qū),保證系統(tǒng)供電安全;6)測(cè)試選項(xiàng)區(qū)。UI界面操作僅僅包括全選、開始與結(jié)束按鈕,簡(jiǎn)化用戶操作,實(shí)現(xiàn)一鍵測(cè)試功能。
圖8 激光引信自動(dòng)化測(cè)試軟件主界面
激光引信自動(dòng)化測(cè)試系統(tǒng)主要對(duì)產(chǎn)品進(jìn)行電阻測(cè)試、靈敏度測(cè)試、開機(jī)延時(shí)測(cè)試以及引戰(zhàn)延時(shí)測(cè)試,同時(shí)為了保證產(chǎn)品安全,需要對(duì)產(chǎn)品工作狀態(tài)與消耗電流進(jìn)行監(jiān)測(cè)。
為了避免產(chǎn)品短路,加電前,必須對(duì)其進(jìn)行靜態(tài)電阻測(cè)試。電阻的自動(dòng)化測(cè)試涉及兩個(gè)線程,分別為開關(guān)矩陣線程與萬用表線程。開關(guān)矩陣實(shí)現(xiàn)測(cè)試點(diǎn)之間的切換,萬用表卡實(shí)現(xiàn)電阻的測(cè)量,二者協(xié)同工作。在Controller層中,將電阻測(cè)試任務(wù)分解,建立測(cè)試數(shù)組,測(cè)試時(shí)將測(cè)試數(shù)組中的所有元素(測(cè)試步驟)壓入測(cè)試隊(duì)列,測(cè)試步驟在不同分支被傳遞至上述兩個(gè)線程。首先通知Test層中的開關(guān)矩陣線程完成測(cè)試點(diǎn)的硬件連接,收到完成連接的反饋后,通知Test層萬用表卡線程開始電阻測(cè)試,測(cè)試結(jié)果回傳給Controller層繼而在UI界面上顯示,然后通知開關(guān)矩陣線程切換測(cè)試點(diǎn),重復(fù)上述過程,直至完成所有測(cè)試點(diǎn)電阻測(cè)試。
靈敏度體現(xiàn)了激光引信產(chǎn)品的探測(cè)能力,是重要的技術(shù)指標(biāo)之一。利用光衰減器模擬激光回波在大氣中的傳輸損耗,通過改變光衰減器的衰減值改變激光回波的能量,找出使激光引信報(bào)警的臨界光衰減值作為引信的靈敏度值。靈敏度測(cè)試涉及電源線程、光衰減器線程與數(shù)據(jù)采集卡線程。同樣在Controller層中將該任務(wù)分解,建立測(cè)試數(shù)組壓入測(cè)試隊(duì)列。首先通知Test層中的電源線程打開電源,接收電源開啟成功反饋后,通知光衰減器線程設(shè)置初始光衰減值,接收設(shè)置完成的反饋后,查看采集卡線程采集的激光引信輸出報(bào)警信號(hào),如果報(bào)警信號(hào)正常輸出,則通知光衰減器線程增加光衰減值,重復(fù)上述操作,直至報(bào)警信號(hào)消失,將此時(shí)的光衰減值作為系統(tǒng)的靈敏度值。然后通知光衰減器線程切換光衰減器,重復(fù)上述過程,直至完成所有6路窗口的靈敏度測(cè)試。
開機(jī)延時(shí)的設(shè)置是為了保證引信在安全距離內(nèi)處于關(guān)機(jī)狀態(tài),確保發(fā)射裝置與人員的安全性;而引戰(zhàn)延時(shí)的設(shè)置是為了給目標(biāo)造成最大殺傷效果,提高引戰(zhàn)配合效率。開機(jī)延時(shí)與引戰(zhàn)延時(shí)測(cè)試涉及電源線程、示波器線程與CAN通訊卡線程。測(cè)試開始時(shí),在Controller層中將各自測(cè)試步驟以測(cè)試數(shù)組的形式壓入測(cè)試隊(duì)列。開機(jī)延時(shí)測(cè)試時(shí),首先通知電源線程打開電源,接收到電源開啟反饋后,通知示波器線程切換至單次觸發(fā)采集模式,采集引信發(fā)射地信號(hào)與開機(jī)信號(hào),二者的延時(shí)即為開機(jī)延時(shí)。引戰(zhàn)延時(shí)測(cè)試時(shí),首先通知CAN通訊卡線程完成目標(biāo)狀態(tài)信息(高低溫、目標(biāo)速度等)的裝訂,裝訂完成后通知電源線程打開電源,接收到電源開啟反饋后,通知示波器線程切換至單次觸發(fā)采集模式,采集引信報(bào)警信號(hào)與引信起爆信號(hào),二者的延時(shí)即為引戰(zhàn)延時(shí)。隨后,通知CAN通訊卡線程更改目標(biāo)狀態(tài)裝訂信息,重復(fù)上述測(cè)試過程,直至完成所有目標(biāo)狀態(tài)的引戰(zhàn)延時(shí)測(cè)試。
測(cè)試過程中,為了保證被測(cè)產(chǎn)品的安全,需要實(shí)時(shí)監(jiān)測(cè)引信的工作狀態(tài)與電流消耗。利用RS485串口通訊卡模擬彈上計(jì)算機(jī)與激光引信的通訊,在RS485串口通訊卡線程中按照既定通訊協(xié)議實(shí)時(shí)解析引信上傳的狀態(tài)信息,并回傳給UI界面層顯示。電流監(jiān)測(cè)通過Test層中電源線程的超時(shí)分支實(shí)現(xiàn),監(jiān)測(cè)采樣頻率為10 Hz。
參數(shù)測(cè)試與狀態(tài)監(jiān)測(cè)過程中,測(cè)試結(jié)果不合格或激光引信狀態(tài)出現(xiàn)異常時(shí),程序?qū)⒘⒓赐ㄖ娫淳€程切斷電源輸出,隨后清空Controller層測(cè)試隊(duì)列,終止測(cè)試,同時(shí)在UI界面中給出相應(yīng)測(cè)試異常提示。
軟件實(shí)現(xiàn)一鍵測(cè)試功能,只需點(diǎn)擊“開始測(cè)試”按鈕,即可完成激光引信的全自動(dòng)化測(cè)試,操作簡(jiǎn)單、方便。測(cè)試主界面如圖9所示,測(cè)試顯示區(qū)實(shí)時(shí)顯示了電阻、開機(jī)延時(shí)、靈敏度以及引戰(zhàn)延時(shí)的測(cè)試結(jié)果,測(cè)試進(jìn)度欄顯示實(shí)時(shí)測(cè)試進(jìn)程,人機(jī)交互友好。軟件擁有故障定位功能,對(duì)產(chǎn)品植入故障時(shí),軟件能準(zhǔn)確分析并定位出故障位置。系統(tǒng)目前運(yùn)行超過一年,在長(zhǎng)時(shí)間的測(cè)試過程中,軟件運(yùn)行穩(wěn)定。
圖9 激光引信自動(dòng)化測(cè)試軟件運(yùn)行界面
抽取一套正常激光引信產(chǎn)品(傳統(tǒng)手動(dòng)測(cè)試方法測(cè)試通過)進(jìn)行測(cè)試,部分參數(shù)軟件自動(dòng)測(cè)試結(jié)果與傳統(tǒng)方法測(cè)試結(jié)果對(duì)比如表1所示??梢钥闯觯浖詣?dòng)測(cè)試結(jié)果準(zhǔn)確,與傳統(tǒng)手動(dòng)測(cè)試結(jié)果符合較好。
表1 自動(dòng)測(cè)試結(jié)果與傳統(tǒng)測(cè)試結(jié)果對(duì)比
從激光引信自動(dòng)化測(cè)試系統(tǒng)實(shí)際需求出發(fā),開發(fā)了基于擴(kuò)展型生產(chǎn)者/消費(fèi)者模式的激光引信自動(dòng)化測(cè)試軟件,引入MVC模式設(shè)計(jì)思想與面向?qū)ο蠹夹g(shù),軟件可擴(kuò)展性、可維護(hù)性提高。經(jīng)測(cè)試證明,軟件界面友好、運(yùn)行穩(wěn)定、便于維護(hù)、可擴(kuò)展性強(qiáng)。本文提出的擴(kuò)展型生產(chǎn)者/消費(fèi)者模式對(duì)復(fù)雜自動(dòng)化測(cè)控軟件開發(fā)具有一定的參考意義,基于此模式的激光引信測(cè)試軟件具有較高的實(shí)際運(yùn)用價(jià)值。該設(shè)計(jì)模式可推廣至其他復(fù)雜的測(cè)控軟件設(shè)計(jì)中。
[1] 廖開俊,劉志飛.虛擬儀器技術(shù)綜述[J]. 國外電子測(cè)量技術(shù),2006,25(2):6-8.
[2]吳廣業(yè),趙忠偉,張玉鈞.基于LabVIEW激光引信回波模擬裝置設(shè)計(jì)[J].光學(xué)與光電技術(shù),2012,10(1):59-61.
[3]吳 暉,祁曉野.基于PXI和LabVIEW的通用數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2015,23(5):1686-1688.
[4]陳樹學(xué),劉 萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011.
[5]黃文君,王華忠,楊 飛.MDPlus實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)[J].測(cè)控技術(shù),2014,33(2):16-19.
[6]董延軍,李興生.LabVIEW多核編程技術(shù)在局域網(wǎng)文件傳輸中的應(yīng)用[J].測(cè)控技術(shù),2014,33(9): 113-115.
[7]馮冬芹,廖智軍,金建祥.基于以太網(wǎng)的工業(yè)控制網(wǎng)絡(luò)實(shí)時(shí)通訊模型研究[J].儀器儀表學(xué)報(bào),2005,26(9):891-894.
[8]任中方,張 華,閆明松.MVC 模式研究的綜述[J].計(jì)算機(jī)應(yīng)用研究,2004,10:1-4.
[9]林若波.基于LabVIEW的電機(jī)調(diào)速數(shù)據(jù)采集與處理系統(tǒng)[J].測(cè)控技術(shù),2012,31(7):16-19.
Software Design for Laser Fuze Automatic Test System Based on LabVIEW
Yuan Wei, Zhang Shuai, Jiang Yi
(Shanghai Radio Equipment Research Institute, Shanghai 200090,China)
In the laser fuze automatic test system, the test parameters are numerous and the testing process is complex. The test software based on traditional design patterns of LabVIEW is obviously deficient in the scalability and maintainability. In order to solve this problem, an extended producer/consumer design pattern of LabVIEW is presented. Based on the test instrument, the complex test process is decomposed into multiple single test steps. Object-oriented programming is introduced to effectively reduce the coupling between test steps. The queue state machine is used to ensure multi-instrument coordination and multi-threaded parallel execution. In this way, an effective combination of test steps is achieved and the complex test process can be ultimately completed. Software based on the extended producer/consumer model has been applied to laser fuze automatic test system, and its scalability and maintainability are verified. The software has a high practical value. Furthermore, the proposed design pattern can also be used in complex measurement and control software developing.
automatic measurement; LabVIEW; extended producer/consumer model; laser fuze
2017-05-04;
2017-05-19。
袁 偉(1991-),男,湖北隨州人,碩士,主要從事自動(dòng)化測(cè)控技術(shù)方向的研究。
1671-4598(2017)12-0125-04
10.16526/j.cnki.11-4762/tp.2017.12.033
TP274
A