李光明 戴晴晴 黨小娟



摘 要: 為了實現對程控交流電源遠程控制、數據實時查看等功能,以Keithley2400為例,設計了一套基于LabVIEW軟件開發平臺的程控交流電源遠程監控和實時同步Web發布的系統。該設計方案通過VISA接口實現計算機與Keithley2400通信,完成對程控交流電源的參數設置和輸出控制;并且以云計算作為云服務器,打破了局域服務器Web發布的不足,也解決了重要設備無法移動的問題。測試結果表明,該系統界面友好且可擴展性強,可以在整個因特網上通過網頁建立Web請求,具有一定的實用性和推廣價值。
關鍵詞: LabVIEW; Keithley2400; 云服務器; Web發布; 遠程監控
中圖分類號: TN948.64?34; TP302.1 文獻標識碼: A 文章編號: 1004?373X(2017)06?0155?04
Abstract: In order to realize the functions of the remote control and data real?time checking of the programmable AC power supply, a set programmable AC power supply remote monitoring and real?time synchronization Web publishing system based on LabVIEW software development platform was designed by taking Keithley2400 as the example. The communication between the computer and Keithley2400 through VISA interface is realized with the design scheme to set the parameter and control the output of the programmable AC power supply. The cloud computing is taken as the cloud server to make up the insufficiency of the Web publishing of the local area server, and solve the problem that the important device can′t move. The test results show that the system has friendly interface and strong expansibility, can establish the Web request through the Web page on the whole Internet, and has a certain practicability and popularization value.
Keywords: LabVIEW; Keithley2400; cloud server; Web publishing; remote monitoring
0 引 言
隨著電子計算機技術的飛速發展和應用日益普遍,各種智能儀器處處可見。其中可編程程控電源在智能測試系統中是至關重要的一部分[1?2],它主要是把計算機當成電源內部的系統控制和數據運算處理部件,通過上位機發出一些程控儀器標準命令SCPI(Standard Commands for Programmable Instruments),使電源系統按照預先編好的命令自動輸出電壓和電流,并使其穩定在給定數值上的一種電源裝置[3?4]。且程控電源在電源行業發展中也是至關重要的一個部分,國內外對程控電源使用也是很廣的[5?9]。但將Keithley2400電源與云技術、LabVIEW技術合理結合實現遠程監控的研究不是很多。
目前,在計算機、網絡和物聯網等技術快速發展的大背景下,物物相連的互聯網通過各種信息傳感設備實時地監控得到的數據、信息。此外,由于互聯網新興的相關服務具有數據存儲量大等特點,推動了云計算平臺的出現[10?11]。而在互聯網研究領域上,利用云計算平臺在廣域網上實時查看并共享采集到的數據,已經漸漸地成為國內外的熱點。雖然LabVIEW本身具有Web發布工具可以對外實現網頁發布功能,但其在訪問瀏覽器網頁時,存在廣域網上的不足。
因此本文提出一種基于LabVIEW軟件與Keithley2400電源相結合,并在云服務器上實現對外Web發布的系統,該系統解決了廣域網訪問受限且設備移動困難,最后再對此系統進行了測試。
1 系統總體結構
系統設計由Keithley2400電源作為下位機、LabVIEW上位機等部分構成。系統總體結構框圖如圖1所示。
系統工作過程如下:將電腦與Keithley2400電源物理連接成功后,打開Keithley2400電源的開關,當上位機程序與該電源中的串口參數設置一致時,然后通過發送程控儀器標準命令至上位機,來與下位機進行通信并可以控制下位機做出相應的動作。
系統設計采用了云計算技術,它是以互聯網為載體,利用虛擬化等手段整合大規模分布式可配置的網絡、計算、數據等計算資源,使其以服務的方式提供給用戶,并滿足用戶按需使用的計算模式[12?13]。其主要特色是用戶不必關心云平臺底層的實現,只需按照實際需求進行訪問,同時共享資源[14]。本文主要是通過云計算的一個應用:云服務,來實現系統的廣域網通信。即將云計算作為服務器,把云服務器設置為共享本地資源,再將Keithley2400電源與本地電腦連接。然后再把LabVIEW程序復制到云服務器上,使用前面板VI通過Web發布共享在整個廣域網。在網絡通信暢通的條件下,可以隨時隨地在客戶端的IE瀏覽器上查看和遠程監控數據。
2 系統硬件介紹
本文主要使用的硬件就是Keithley2400數字源表、KUSB?488A型USB?GPIB接口適配器。
2.1 Keithley2400數字源表
Keithley的Source Meter(數字源表)2400是為了符合緊密結合激勵源、測量功能和精密電壓源的要求,且符合電流、電壓同時測量而設計的。可以通過閱讀Keithley2400數字源用戶使用手冊熟悉基本前面板和遠程操作[15]。其中主要的操作包括基本的電源操作、設置優化性能、特性DUT測試等。遠程操作相關的SCPI命令都總結在該手冊中,可以隨時查詢。
本測試系統主要使用的是Keithley2400的遠程命令編程,實現上位機對Keithley2400遠程控制。
2.2 USB?GPIB接口適配器
本系統中上位機與程控電源的物理連接是選用National Instruments(NI)公司提供的KUSB?488A接口卡[16?17]。該接口適配器是通過USB接口利用以全功能、即插即用的IEEE?488.1接口控制器,可將任意一臺電腦與其他可編程GPIB儀器進行通信。該接口是適配器能兼容IEEE?488.1和IEEE?488.2標準且傳輸數據的速率高達1.8 MB/s,其適用的系統平臺可以是Windows,Linux等,可很方便地通過LabVIEW 進行編程控制。
3 系統軟件設計
3.1 軟件平臺
本系統采用美國NI公司的LabVIEW(Laboratory Virtual Instrument Engineering Workbench),其是一種圖形化編程語言的高效開發環境,其主要應用于測試、測量和自動化控制等[18]。另外,在LabVIEW開發平臺上,對于儀器控制,其核心在于VISA函數庫。NI?VISA(Virtual Instruments Software Architecture)是美國NI公司開發的一種高級應用編程接口,是用來與各種儀器總線互相進行通信。VISA提供的函數使用方便,用戶可以從函數面板上調用VISA庫函數,再根據不同儀器配置不同的儀器參數,再編寫各種儀器驅動程序來控制各種I/O接口儀器[19?20]。然后上位機也可以使用VISA協議向串口寫數據和指令,控制程控電源進行各種測量工作。
由于VISA與儀器的通信需使用特定的儀器驅動程序,因此,為了實現VISA與儀器通信,首先需安裝NI?VISA驅動,該驅動可以通過NI官網進行下載。
3.2 軟件結構設計及實現
根據系統采集數據的要求,本文設計的LabVIEW前面板,其中有串口選擇下拉框,設置串口參數框圖,電源設置、電壓設置、電流設置及電阻設置,開始測量按鍵,數據測量過程狀態指示燈,設置停止按鍵用于整個程序的終止。上位機主程序編程面板結構的設計,采用模塊化方式,主要分為以下五個部分,包括程控電源初始化模塊,電壓、電流、電阻測量配置,輸出設置,讀取電壓、電流、電阻參數,關閉電源。為了實現以上模塊,程序設計中用到了順序結構+While循環+條件結構。
LabVIEW程序具體實現步驟如下:
(1) 順序結構第一幀。程控電源初始化模塊:使用Initialize.vi子VI對儀器進行初始化配置,主要是建立和儀器的通信,并能執行儀器標識查詢。一般,在訪問儀器編程應用的開始,都需要此初始化VI。其中有配置串口,VISA資源名稱下拉框可以選擇所使用的儀器對應接口名。串口配置項包括波特率、流控、數據比特、奇偶校驗、停止位。
(2) 順序結構第二幀。While循環嵌套條件結構,當條件結構中布爾量為真,執行以下模塊:電源各參數測量配置模塊、輸出配置模塊和讀取電源各參數模塊。同時前面板創建的開始測量狀態指示燈通過屬性節點閃爍項寫入真常量閃爍,即程序開始運行后,當按下開始測量按鍵時LED燈為閃爍狀態。條件結構中布爾量為假時,前面板創建的開始測量狀態指示燈通過屬性節點閃爍項寫入假常量熄滅,程序如圖2所示。
電源各參數測量配置模塊:其中使用3個configure Measurement.vi配置了電壓、電流和電阻測量。
輸出配置模塊:首先使用configure Output.vi配置電源輸出模式是電流或電壓、期望輸出水平、設置最大值。其次使用Enable Output.vi使能電源輸出。即測量時,當布爾量賦值為真,電源才分配電壓或電流給被測器件。
讀取模塊:使用Read(Single Point).vi可以從儀器中讀取并返回一個信號測量。注意,在使用該子VI時,將會立即設置單點覆蓋所有觸發設置。為了觸發控制,可以使用底層的應用程序。
(3) 順序結構第三幀。為了增加系統性能的可靠性以及合理利用資源,因此在順序結構第二幀程序執行后,必須對串口進行關閉來釋放資源提高系統效率。即首先使用Enable Output.vi,并給布爾量賦值為假。再使用close.vi來結束該程序。
4 云發布及系統測試
4.1 云發布
在云服務器上,利用LabVIEW的Web技術發布程序前面板界面或HTML文件供本地、遠程計算機瀏覽、監控數據,首先需要通過設置遠程連接到云服務,其次再配置LabVIEW的Web服務器,然后再Web發布,則實現遠程控制的具體流程如下:
(1) 遠程連接云服務器設置。首先啟動遠程桌面,在計算機空格里輸入云服務器名或是它的IP地址。然后再把用戶名和密碼輸入,點擊連接。進入云服務器后,需關閉云服務器高級安全Windows防火墻的域配置文件和公用配置文件。
(2) Web服務器的配置。在LabVIEW開發環境下,首先打開需要發布的程序,然后配置Web服務器參數。其中Web服務本地調試HTTP端口默認為80,在啟動遠程前面板服務器HTTP端口7889前打鉤,即表示啟動打開。端口號參數是根據所使用的云服務器的相應開發端口修改。
(3) 應用程序Web發布。在云服務器上,打開該程序,啟動LabVIEW Web服務器,先在查看模式選擇內嵌,可以讓用戶通過客戶端打開IE瀏覽器遠程監控前面板,進而監控程控電源;再設置網頁上輸出的文檔標題、頁眉、頁腳;然后設置保存網頁的本地目錄和文件名,生成(URL)并保存至磁盤,自動生成的URL格式為:http://計算機名:端口號/VI名.html。
(4) 應用程序遠程訪問。實現了VI程序的Web發布后,可以把URL格式變為:HTTP://云服務器地址:服務器Web發布使用的HTPP端口號/VI名.html。
Web發布成功后進行測試分析,其結果如圖3所示。
4.2 測試結果分析
本系統測試是在程控電源空載的情況下測得數據,如圖3(a)所示。圖3(b)是在客服端,通過打開相應的URL,進入遠程監控界面。右擊“請求VI控制權”,獲得權限控制面板程序,根據實際選擇串口后點擊運行程序,并按開始測量按鈕,即可訪問并控制連接硬件設備的本地電腦的測量數據。通過系統測試,可以在網絡連通的任一個電腦IE瀏覽器中輸入相應的URL都可以建立Web請求。
5 結 語
本文將LabVIEW軟件、Keithley2400電源和云服務器平臺相結合,設計并實現了一個既可以遠程控制,也可以讓公眾在沒有硬件設備的情況下通過互聯網了解和查看測量數據的系統。而且,通過按下開始測量后,打開遠程控制,界面顯示測試數據,系統還可以根據用戶所需增加相應的遠程控制動作。最后,再使用云技術的可伸縮的空間來進行數據存儲和處理。本系統通過IE瀏覽器遠程訪問的VI前面板,實現客戶端遠程訪問本地VI,充分解決了客戶端沒有硬件設備的難題。也為一些復雜的遠程監控系統提供了一種簡單思想。同時,該系統不僅擴展性好,且可以在其基礎上適當增加新的功能或移植到其他的移動設備上實時查看。
參考文獻
[1] 宋萬均,張安堂.一種程控功率因數可調開關電源設計[J].電測與儀表,2014(14):110?115.
[2] 張楠,樊銳,寧濤,等.用于ATE程控直流電源[J].電子測量技術,2004,6(2):31.
[3] BIRMAN P. Programmable power supplies [J]. Electronics & power, 1975, 21(4): 239?240.
[4] 秦凡,韋高.基于VISA庫及SCPI命令的儀器程控測量[J].現代電子技術,2011,34(11):118?120.
[5] TOGATOV V V, GNATYUK P A. A multipurpose programmable power supply for halogen lamps [J]. Instruments and experimental techniques, 2001, 44(4): 512?514.
[6] 陳寶,朱斌,何緒新,等.模塊式動態地層測試器井下大功率電機供電系統設計[J].測井技術,2013(1):71?74.
[7] 謝明,錢偉康.液晶顯示屏在智能程控直流電源中的應用研究[J].儀表技術,2008(4):19?21.
[8] 楊柳.程控直流電源靈活應用研究[J].儀器儀表標準化與計量,2014(5):46?48.
[9] 任黎明,于紅,劉瑞娟.農業自動化設備中直流穩壓電源的改進設計[J].農技服務,2011(8):1231?1232.
[10] DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters [C]// Proceedings of the 6th Conference on Operating Systems Design & Implementation. San Francisco: ACM, 2004: 107?113.
[11] 秦榮生.大數據、云計算技術對審計的影響研究[J].審計研究,2014(6):23?28.
[12] 李曉輝.云計算技術研究與應用綜述[J].電子測量術,2011(7):1?4.
[13] 王佳雋,呂智慧,吳杰,等.云計算技術發展分析及其應用探討[J].計算機工程與設計,2010(20):4404?4409.
[14] 羅軍舟,金嘉暉,宋愛波,等.云計算:體系架構與關鍵技術[J].通信學報,2011(7):3?21.
[15] Keithley Instruments, Inc. Series 2400 SourceMeter users manual [R]. USA: Keithley Instruments, Inc., 2007.
[16] Keithley Instruments, Inc. GPIB?488 software and product information [R]. USA: Keithley Instruments, Inc., 2009.
[17] Keithley Instruments, Inc. GPIB?488 programming reference manual [R]. USA: Keithley Instruments, Inc., 2009.
[18] 陳錫輝.LabVIEW8.20程序設計從入門到精通[M].北京:清華大學出版社,2007:229?231.
[19] 楊心宇,章國寶,柴繼濤,等.基于VISA庫的電源測試系統的設計與實現[J].工業控制計算機,2014,27(5):55?56.
[20] 趙立軍.基于VISA接口的可編程電源輸出控制程序[J].計量與測試技術,2015(12):1?2.