周鵬飛,李國(guó)林,林珍玉
(海軍航空工程學(xué)院,山東 煙臺(tái) 264001)
?
基于CVI和ASP.NET的測(cè)試數(shù)據(jù)獲取方法
周鵬飛,李國(guó)林,林珍玉
(海軍航空工程學(xué)院,山東 煙臺(tái)264001)
摘要:為解決某型裝備維護(hù)性測(cè)試過(guò)程中數(shù)據(jù)采集自動(dòng)化水平較低的問(wèn)題,考慮測(cè)試設(shè)備分散在不同測(cè)試點(diǎn),且需頻繁切換,各個(gè)測(cè)試崗位有嚴(yán)格的人員分工,同時(shí)又不便為各測(cè)試點(diǎn)單獨(dú)配備工控機(jī),提出一種利用手持設(shè)備獲取測(cè)試數(shù)據(jù)的方法;該方法基于CVI程序向儀器發(fā)送SCPI指令獲得測(cè)試數(shù)據(jù);儀器端操作人員通過(guò)手持設(shè)備瀏覽器訪問(wèn)控制界面;巧妙運(yùn)用MySQL數(shù)據(jù)庫(kù)作為SCPI指令發(fā)送樞紐;運(yùn)用該方法實(shí)現(xiàn)測(cè)試過(guò)程中的協(xié)調(diào)控制,增強(qiáng)系統(tǒng)的適應(yīng)性和靈活性,滿足現(xiàn)場(chǎng)操作相關(guān)要求,較大提升了數(shù)據(jù)采集和管理的自動(dòng)化水平。
關(guān)鍵詞:CVI;ASP.NET;PDA手持設(shè)備;MySQL數(shù)據(jù)庫(kù);SCPI語(yǔ)言
借助于計(jì)算機(jī)技術(shù)、電子技術(shù)和通信技術(shù)的蓬勃發(fā)展,導(dǎo)彈系統(tǒng)的設(shè)計(jì)日益精密,同時(shí)結(jié)構(gòu)變得更加復(fù)雜,這就對(duì)導(dǎo)彈的日常測(cè)試和維護(hù)提出更高要求[1]。某型導(dǎo)彈彈頭測(cè)試系統(tǒng)由于受到任務(wù)分工和保密制度限制,各測(cè)試設(shè)備散布在不同崗位,空間跨度較大,且現(xiàn)場(chǎng)條件不允許為各崗位配備工控機(jī)。因此,暫時(shí)未能組建標(biāo)準(zhǔn)化、模塊化的自動(dòng)測(cè)試系統(tǒng),測(cè)試數(shù)據(jù)的采集和管理難度較大[2]。
在測(cè)試項(xiàng)目中,經(jīng)常選擇Labwindows/CVI作為測(cè)試工具軟件,在與數(shù)據(jù)庫(kù)通信時(shí),使用NI公司提供的SQL ToolKit工具包[3-4]。測(cè)控軟件可以將被測(cè)設(shè)備的各項(xiàng)測(cè)試指令存入到數(shù)據(jù)庫(kù)中,從而實(shí)現(xiàn)測(cè)試流程與測(cè)試軟件的相對(duì)獨(dú)立,而且在測(cè)試過(guò)程中的一些測(cè)試信息、測(cè)試結(jié)果也可存入數(shù)據(jù)庫(kù)中,便于查詢,這樣大大增強(qiáng)了測(cè)試軟件的靈活性和可移植性[5-6]。
為實(shí)現(xiàn)各分散測(cè)試點(diǎn)測(cè)試數(shù)據(jù)的自動(dòng)采集,本文提出了一種利用網(wǎng)頁(yè)進(jìn)行協(xié)調(diào)控制的數(shù)據(jù)獲取方法。該方法不改變?nèi)藛T操作規(guī)程,充分利用現(xiàn)有測(cè)試設(shè)備,用一臺(tái)工控機(jī)及若干手持設(shè)備配合相關(guān)軟件構(gòu)建測(cè)試數(shù)據(jù)自動(dòng)采集平臺(tái)。
1測(cè)試數(shù)據(jù)自動(dòng)采集平臺(tái)的構(gòu)建
測(cè)試系統(tǒng)中的各型測(cè)試設(shè)備散布在不同崗位,利用局域網(wǎng)技術(shù)將各測(cè)試點(diǎn)的測(cè)試設(shè)備和上位機(jī)連接起來(lái),形成分布式數(shù)據(jù)采集平臺(tái)。同時(shí)為各個(gè)測(cè)試崗位配備PDA手持設(shè)備,經(jīng)無(wú)線局域網(wǎng)與上位機(jī)通信。與獲取儀器數(shù)據(jù)相關(guān)的SCPI指令存儲(chǔ)在上位機(jī)的MySQL數(shù)據(jù)庫(kù)中;操作人員通過(guò)PDA瀏覽器進(jìn)入網(wǎng)頁(yè)控制界面,改變數(shù)據(jù)庫(kù)中指令列表的SCPI指令狀態(tài);上位機(jī)的CVI程序不間斷掃描SCPI指令列表,從中取出處于激活狀態(tài)的指令,發(fā)送給相應(yīng)儀器,并取回測(cè)試數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)的數(shù)據(jù)表中。
1.1數(shù)據(jù)采集系統(tǒng)硬件組成
系統(tǒng)測(cè)試設(shè)備主要包括數(shù)字示波器、功率計(jì)、頻譜分析儀、數(shù)字萬(wàn)用表、矢量網(wǎng)絡(luò)分析儀等。各種儀器的程控接口各不相同,主要有USB、RS232串行接口及GPIB、LAN接口。根據(jù)各儀器的總線接口種類和實(shí)際位置分布,確定選用不同的程控接口。將所有儀器通過(guò)接口轉(zhuǎn)換模塊E5810B轉(zhuǎn)換為L(zhǎng)AN口連接至交換機(jī),而上位機(jī)從另一端連接至交換機(jī)。此外,上位機(jī)和PDA手持設(shè)備同時(shí)連接到無(wú)線AP,建立PDA和上位機(jī)之間的通信連接[7]。系統(tǒng)硬件構(gòu)成如圖1所示。
圖1 數(shù)據(jù)采集平臺(tái)硬件連接
1.2數(shù)據(jù)采集系統(tǒng)軟件架構(gòu)
數(shù)采系統(tǒng)的軟件可分為3個(gè)模塊:數(shù)據(jù)庫(kù)模塊、Web應(yīng)用程序模塊和數(shù)據(jù)采集程序模塊。3部分軟件均部署在上位工控機(jī)上。
1)數(shù)據(jù)庫(kù)模塊,該模塊主要用來(lái)存儲(chǔ)儀器的SCPI命令、儀器的相關(guān)信息(包括儀器名、VISA地址以及會(huì)話句柄)、從儀器取回的測(cè)試數(shù)據(jù)以及操作人員信息。選用MySQL為數(shù)據(jù)庫(kù)管理系統(tǒng),創(chuàng)建數(shù)據(jù)庫(kù)文件,并在其中建立相應(yīng)的數(shù)據(jù)表,包括SCPI命令列表、儀器信息表、測(cè)試數(shù)據(jù)表和用戶信息表。定義各數(shù)據(jù)表之間的約束關(guān)系,建立存儲(chǔ)過(guò)程、視圖供CVI程序和ASP.NET應(yīng)用程序調(diào)用,提高代碼的重用性及運(yùn)行效率;
2)Web應(yīng)用程序模塊,主要用來(lái)改變數(shù)據(jù)庫(kù)中儀器的連接狀態(tài)和SCPI指令狀態(tài)信息。選用Microsoft Visual Studio 2008開(kāi)發(fā)ASP.NET Web應(yīng)用程序,并發(fā)布到上位機(jī),然后利用微軟自帶的IIS(Internet信息服務(wù))組件配置上位機(jī),使其成為Web服務(wù)器;
3)數(shù)據(jù)采集程序模塊,實(shí)時(shí)完成儀器的指令發(fā)送和測(cè)試數(shù)據(jù)接收的任務(wù)。使用美國(guó)國(guó)家儀器公司(National Instruments)推出的LabWindows/CVI集成開(kāi)發(fā)環(huán)境開(kāi)發(fā)數(shù)據(jù)采集程序。安裝Keysight IO Libraries Suite 軟件,用來(lái)配置各儀器程控接口的VISA地址并監(jiān)測(cè)硬件連接狀態(tài)[8]。
2數(shù)據(jù)采集系統(tǒng)的軟件實(shí)現(xiàn)
數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì)的目標(biāo)是在人員操作儀器的同時(shí)利用程控接口實(shí)現(xiàn)測(cè)試數(shù)據(jù)的自動(dòng)采集。要實(shí)現(xiàn)這個(gè)目標(biāo),需要3部分軟件同時(shí)運(yùn)行,協(xié)調(diào)工作。
2.1數(shù)據(jù)采集系統(tǒng)的軟件工作流程
測(cè)試開(kāi)始前,數(shù)據(jù)庫(kù)中所有儀器連接狀態(tài)和SCPI命令狀態(tài)均為“0”;在上位機(jī)運(yùn)行數(shù)據(jù)采集程序,用戶登錄成功后依據(jù)測(cè)試數(shù)據(jù)表模板創(chuàng)建新數(shù)據(jù)表;CVI程序?qū)CPI命令表和儀器信息表進(jìn)行循環(huán)掃描;各崗位PDA操作人員登錄Web界面,服務(wù)器根據(jù)登錄用戶的權(quán)限將頁(yè)面重定向至指定數(shù)據(jù)采集項(xiàng)目控制頁(yè)。
測(cè)試開(kāi)始后,各崗位儀器操作人員打開(kāi)測(cè)試儀器,PDA操作人員點(diǎn)擊儀器連接按鈕,儀器信息表中相應(yīng)儀器連接狀態(tài)更新為“1”;數(shù)據(jù)采集程序檢測(cè)到該儀器,根據(jù)儀器VISA地址打開(kāi)儀器,并分配相應(yīng)句柄,之后將儀器連接狀態(tài)重新置零;儀器測(cè)出相關(guān)數(shù)據(jù)后,PDA操作人點(diǎn)擊對(duì)應(yīng)的采集項(xiàng)目按鈕,SCPI命令激活狀態(tài)更新為“1”,數(shù)據(jù)采集程序檢測(cè)到處于激活狀態(tài)的SCPI命令后,將其取出發(fā)送給儀器并從儀器取回測(cè)試數(shù)據(jù)放入測(cè)試數(shù)據(jù)表中,將SCPI指令狀態(tài)置零;待儀器完成所有測(cè)試項(xiàng)目后,點(diǎn)擊斷開(kāi)儀器按鈕,將儀器連接狀態(tài)更新為“2”,數(shù)據(jù)采集程序檢測(cè)到連接狀態(tài)為“2”的儀器后,斷開(kāi)程序與儀器之間的會(huì)話連接;待所有采集項(xiàng)目完成后,數(shù)據(jù)采集程序以當(dāng)前時(shí)間重命名測(cè)試數(shù)據(jù)表,一次數(shù)據(jù)采集結(jié)束。軟件工作流程如圖2所示。
圖2 數(shù)據(jù)采集軟件工作流程
2.2數(shù)據(jù)庫(kù)模塊設(shè)計(jì)
MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)具有開(kāi)源、免費(fèi)、體積小、便于安裝、性能穩(wěn)定的特點(diǎn),是一種中小型關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)[9],非常適合于本數(shù)據(jù)采集系統(tǒng)。首先在工控機(jī)上安裝并配置MySQL服務(wù),在此基礎(chǔ)上安裝可視化數(shù)據(jù)庫(kù)設(shè)計(jì)、管理工具M(jìn)ySQL Workbench。
在MySQL Workbench中創(chuàng)建數(shù)據(jù)庫(kù)文件,并在其中創(chuàng)建與測(cè)試數(shù)據(jù),采集相關(guān)的各個(gè)數(shù)據(jù)表。定義數(shù)據(jù)表約束條件,防止錄入不滿足條件的數(shù)據(jù);創(chuàng)建索引,以提高數(shù)據(jù)庫(kù)檢索效率;使用視圖簡(jiǎn)化數(shù)據(jù)庫(kù)開(kāi)發(fā)的操作;使用存儲(chǔ)過(guò)程封裝代碼,提高M(jìn)ySQL代碼重用性;引入事物機(jī)制實(shí)現(xiàn)數(shù)據(jù)的一致性以及并發(fā)性。MySQL Workbench操作界面如圖3所示。
圖3 MySQL Workbench中的SCPI命令列表
2.3Web應(yīng)用程序模塊設(shè)計(jì)
VS(Visual Studio)是微軟公司推出的一款功能強(qiáng)大的開(kāi)發(fā)工具集,幾乎可以完成所有基于Windows平臺(tái)的軟件開(kāi)發(fā)任務(wù)。而ASP.NET作為微軟推出的.NET Framework的一部分,是一種全新的在服務(wù)器端執(zhí)行的腳本技術(shù),采用ASP.NET腳本技術(shù)的Web應(yīng)用程序一般用VS開(kāi)發(fā)[10-11]。
在Microsoft Visual Studio 2008中新建ASP.NET Web應(yīng)用程序項(xiàng)目,在其中添加主頁(yè)、登錄界面以及各個(gè)崗位的數(shù)據(jù)采集界面以及幫助、查詢、用戶管理等Web窗體。ASP.NET提供了ADO.NET組件訪問(wèn)和操作數(shù)據(jù)庫(kù),默認(rèn)的數(shù)據(jù)庫(kù)是SQL Server,在此選用MySQL數(shù)據(jù)庫(kù)。Web應(yīng)用程序開(kāi)發(fā)完畢后,為使源代碼具有可靠的保密性和安全性,對(duì)Web應(yīng)用程序進(jìn)行網(wǎng)站發(fā)布,將發(fā)布后的文件夾拷貝到目標(biāo)計(jì)算機(jī)。
在上位機(jī)上安裝Internet Information Services(IIS,互聯(lián)網(wǎng)信息服務(wù)),打開(kāi)Internet 信息服務(wù)(IIS)管理器,將上位機(jī)配置成Web服務(wù)器。首先將ASP的“啟用父路徑”屬性改為“true”,設(shè)置發(fā)布文件所在文件夾作為網(wǎng)站的物理路徑,接著為站點(diǎn)綁定端口和IP地址,并設(shè)置默認(rèn)文檔作為網(wǎng)站的首頁(yè),配置完成后,點(diǎn)擊啟動(dòng)開(kāi)始運(yùn)行Web服務(wù)。PDA操作人員通過(guò)在瀏覽器中輸入上位機(jī)IP地址進(jìn)入數(shù)據(jù)采集界面實(shí)現(xiàn)相應(yīng)的控制。運(yùn)行中的數(shù)據(jù)采集界面如圖4所示。
2.4數(shù)據(jù)采集程序模塊設(shè)計(jì)
運(yùn)行數(shù)據(jù)采集程序,首先進(jìn)入登錄界面,登錄用戶分為普通用戶和管理員兩類,管理員除具有普通用戶的操作權(quán)限外,還具有用戶管理,即對(duì)用戶信息進(jìn)行增、刪、改的權(quán)限。登錄成功后,程序立即開(kāi)始不間斷掃描數(shù)據(jù)庫(kù)中的儀器信息表和SCPI命令列表。儀器連接狀態(tài)通過(guò)LED控件指示,數(shù)據(jù)采集的實(shí)時(shí)狀態(tài)信息顯示在文本控件中。從測(cè)試儀器取回的數(shù)據(jù)直接存入數(shù)據(jù)庫(kù)文件。測(cè)試結(jié)束后,根據(jù)需要可生成并打印Word報(bào)表文件,還可對(duì)數(shù)據(jù)進(jìn)行查詢。數(shù)據(jù)采集程序主界面如圖5所示。
圖4 數(shù)據(jù)采集系統(tǒng)Web操作界面
圖5 數(shù)據(jù)采集程序主界面
3結(jié)語(yǔ)
本文概述了一種基于CVI和ASP.NET的測(cè)試數(shù)據(jù)獲取方法。該方法綜合運(yùn)用自動(dòng)測(cè)試技術(shù)、Web應(yīng)用技術(shù)以及數(shù)據(jù)庫(kù)技術(shù),將有線和無(wú)線通信相結(jié)合,實(shí)現(xiàn)特定條件下的測(cè)試數(shù)據(jù)自動(dòng)采集與存儲(chǔ)管理。通過(guò)手動(dòng)控制和程序控制協(xié)調(diào)配合,保持人員分工和操作規(guī)程不變,充分利用現(xiàn)有設(shè)備增強(qiáng)測(cè)試系統(tǒng)的靈活性和適應(yīng)性,提高裝備保障自動(dòng)化水平。
所有與測(cè)試儀器相關(guān)的信息(如SCPI命令、儀器句柄、VISA地址等)均存儲(chǔ)在數(shù)據(jù)庫(kù)中,因此當(dāng)測(cè)試項(xiàng)目和測(cè)試內(nèi)容需要改變時(shí),只需要在數(shù)據(jù)庫(kù)中更改各個(gè)數(shù)據(jù)表即可實(shí)現(xiàn)測(cè)試系統(tǒng)的維護(hù)與升級(jí),顯著提升了數(shù)據(jù)采集系統(tǒng)的可擴(kuò)展性。
參考文獻(xiàn):
[1]王怡先,馬秋,王云鵬.基于多總線融合導(dǎo)彈自動(dòng)測(cè)試系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù),2015,34(5):34-36.
[2]姜景偉,李國(guó)林,周鵬飛.某型引信自動(dòng)測(cè)試系統(tǒng)接口適配器的設(shè)計(jì)[J].四川兵工學(xué)報(bào),2015(4):25-28.
[3]王昆平,葉海明.LabWindows/CVI數(shù)據(jù)庫(kù)管理[J].理論與方法,2009,28(11):30-33.
[4]王建新,隋美麗.LabWindows/CVI虛擬儀器測(cè)試技術(shù)及工程應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2011.
[5]王怡蘋(píng).自動(dòng)測(cè)試系統(tǒng)中測(cè)試數(shù)據(jù)管理[J].電子測(cè)量技術(shù),2010,33(3):137-139.
[6]趙波,全厚德.LabWindows/CVI平臺(tái)下的數(shù)據(jù)庫(kù)編程[J].微計(jì)算機(jī)信息,2008,24(2):16-20.
[7]李振坤.基于PDA的無(wú)線餐飲點(diǎn)菜應(yīng)用系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2006,23(2):189-194.
[8]吳偉.基于VISA的儀器通信技術(shù)的研究與實(shí)現(xiàn)[D].西安:西安科技大學(xué),2009.
[9]李榮國(guó),王見(jiàn).MySQL數(shù)據(jù)庫(kù)在自動(dòng)測(cè)試系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2011,31(2):169-172.
[10]房大偉,呂雙.ASP.NET開(kāi)發(fā)實(shí)戰(zhàn)1200例:第Ⅱ卷[M].北京:清華大學(xué)出版社,2011:57-59.
[11]單維峰,白靈.ASP.NET Web應(yīng)用程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2009:101-113.
(責(zé)任編輯周江川)
本文引用格式:周鵬飛,李國(guó)林,林珍玉.基于CVI和ASP.NET的測(cè)試數(shù)據(jù)獲取方法[J].兵器裝備工程學(xué)報(bào),2016(5):149-152.
Citation format:ZHOU Peng-fei,LI Guo-lin,LIN Zhen-yu.Acquisition Method of Test Data Based on CVI and ASP.NET[J].Journal of Ordnance Equipment Engineering,2016(5):149-152.
Acquisition Method of Test Data Based on CVI and ASP.NET
ZHOU Peng-fei,LI Guo-lin,LIN Zhen-yu
(Navel Aeronautical and Astronautical University,Yantai 264001,China)
Abstract:To improve the automation level in data acquisition process of certain equipment,considering that the test equipments were scattered in different test points,and need to be frequently switched,and each test posts had strict personnel division,and at the same time,it was not realistic to provide computers for individual posts,a method of using handheld devices was put forward to get test data.Based on the CVI program,the method sent SCPI commands to instruments and obtained test data; Instrument operator logined the control interfaces through browsers of handheld devices; The MySQL database was skillfully applied to be a delivery hub of SCPI commands.The method which enhanced the system’s adaptability and flexibility can realize coordinating control in data acquisition process and meet the field operation requirements.Thus,the automation level of data acquisition and management is significantly improved.
Key words:CVI; ASP.NET; handheld device; MySQL database; SCPI language
doi:【基礎(chǔ)理論與應(yīng)用研究】10.11809/scbgxb2016.05.035
收稿日期:2015-11-09;修回日期:2015-12-20
作者簡(jiǎn)介:周鵬飛(1991—),男,主要從事裝備理論與裝備技術(shù)研究。
中圖分類號(hào):TP274
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):2096-2304(2016)05-0149-04