張麗彬 陳曉寧, 朱衛星
(解放軍理工大學工程兵工程學院1,江蘇 南京 210007;解放軍理工大學信息管理中心2,江蘇 南京 210007)
虛擬儀器是儀器技術和計算機技術深層次結合的產物,是全新概念的儀器,是對傳統儀器概念的重大突破,代表著電子測控儀器的技術發展方向。虛擬儀器技術是隨著現代計算機技術、信息技術、現代測量技術的發展而出現的一種新技術。以NI公司為代表的一批廠商已經在市場上推出了基于虛擬儀器技術設計的商品化儀器產品,在自動化、通信、航空、半導體電路設計和生產、過程控制及生物醫學等領域中發揮了積極的作用。
據專家預測,我國虛擬儀器行業的產值在未來若干年內將超過儀器儀表行業總產值的50%,存在巨大的發展潛力[1]。隨著微型計算機的發展,虛擬儀器系統將逐步取代傳統的測試、測控儀器系統,成為測試、測控儀器系統的主流。
20世紀70年代,特魯查德和柯徳斯凱在應用研究實驗室(applied research laboratory,ARL)完成了一個大型測控系統的設計,主要用于測試美國海軍的聲納探測器。通過幾年的時間,柯徳斯凱從該測試系統得到的啟示中引入了多層虛擬儀器構成的概念。20世紀80年代末,隨著計算機技術和微電子技術的應用,儀器級的計算機化成為可能,在Microsoft公司的Windows誕生之前,美國NI公司已經在Macintosh計算機上推出了LabVIEW開發平臺軟件。當前,虛擬儀器技術已廣泛應用到各種自動化測試和測量領域,虛擬化已經成為儀器領域的目標[2]。
LabVIEW軟件是NI推出的一種基于G語言的虛擬儀器軟件開發平臺,利用LabVIEW可以很方便地生成虛擬儀器測控系統,廣泛地應用于工業控制、儀表測量等領域[3-4]。LabVIEW軟件以其直觀簡便的編程方式、眾多的源碼級的設備驅動程序、多種多樣的分析和表達功能得到廣泛應用,其突出特點是基于圖形化編程語言G的虛擬儀器開發環境,為儀器設計人員提供了一種全新的編程方法,即使用直觀的前面板與流程圖相結合的編程方法來構建虛擬儀器。用戶通過友好的圖形界面(稱為虛擬面板)操作計算機,就像操作傳統儀器一樣,通過庫函數實現儀器模塊間的通信、定時、觸發,以及數據分析、數據表達,并形成圖形化接口,為用戶快捷地構筑自己在實際生產中所需要的儀器系統創造了基礎條件。
便攜文件格式PDF是一種電子的可移植文檔格式,由Adobe公司開發而成,與操作系統平臺無關,是數字化信息傳播的理想文檔格式。越來越多的電子圖書、產品說明、公司公告、網絡資料、電子郵件等在使用PDF格式,這種文件格式目前已成為數字化信息事實上的一個工業標準。
在大型的系統測試和仿真過程中,將LabVIEW軟件和PDF格式的文件有機地結合起來會大大減少編程的工作量,提高編程效率[5]。
ActiveX是基于分布式組件對象模型(distributed component object model,DCOM)、使得軟件組件能夠在網絡環境中進行交互的技術集[6]。DCOM本身并不是一個編程工具,而是一個可擴展體系結構的規范,在這個體系結構中,可以無縫地加入服務[7]。ActiveX技術是符合這一標準的工具,通過它將計算機桌面與其他環境相連,是 OLE(對象鏈接和嵌入)技術的擴展。LabVIEW支持客戶和服務器雙方信息共享,即雖然程序在雙方各自獨立存在,但信息是共享的。這種信息共享是通過客戶端使用由服務器端發布的ActiveX控件來實現的。LabVIEW在應用編程接口中提供了為客戶端和服務器之間鏈接的功能模塊。
作為一個強大的軟件設計工具,LabVIEW擁有很多專業設計功能,如應用程序生成器、數據庫連接工具、Microsoft Office報告生成工具等。這些功能都以附加工具包的形式向用戶發布,而這些附加工具包的價格都比較昂貴,從而增加了使用者的設計成本。在不增加設計成本的前提下,為了實現對PDF文件的訪問,利用LabVIEW提供的控件和函數設計PDF文件訪問程序。
通過LabVIEW中的ActiveX控件實現對PDF的訪問。LabVIEW功能模塊中含有ActiveX子模板,子模板中包含與ActiveX服務器相連的自動化節點函數,其中包括“打開自動調用”、“關閉自動”、“調用節點”、“屬性節點”等函數,通過這些功能函數的調用,就可以實現對ActiveX控件或嵌有ActiveX控件的應用程序的對象、屬性、方法等進行訪問[7-8]。
利用ActiveX控件與PDF接口的程序設計流程圖如圖1所示。

圖1 利用ActiveX控件的接口程序流程圖Fig.1 Interfacing flowchart with ActiveX control
①調用ActiveX控件
ActiveX控件是ActiveX最常用的、存放于ActiveX控件容器中的一個可嵌入的組件。LabVIEW中的ActiveX容器函數位于“控件”選板下“新式→容器”子選板中。利用“ActiveX容器”函數,用戶可以調用第三方提供的各種ActiveX控件。
②程序設計
將“ActiveX容器”控件拖放至前面板后,鼠標右鍵單擊控件圖標,從彈出的快捷菜單中選擇“插入ActiveX對象”項,在彈出的“選擇ActiveX對象”窗口中選擇“adobe PDF Reader”,點擊確定按鈕,此時,前面板上“ActiveX容器”控件的標簽變成“AcroPDF”的PDF控件對象[9]。然后打開程序框圖,按照需求進行函數的選擇:“打開自動化”、“關閉引用”、“事件結構”、“按名稱接觸捆綁”、“while循環”、“列表框”及其屬性等函數。
本設計中函數“條件結構”提供相應PDF文件的路徑;“按名稱解除捆綁”是在數據傳輸錯誤時自動退出運行,返回編輯界面。設計完程序框圖,返回到前面板進行界面調整、優化。調取VI屬性,類別選擇“執行”,將“首選執行系統”選為“用戶界面”,按確定按鈕確認。
③運行程序
運行VI,選擇要打開的 PDF文件,按“顯示結果”,則對應的PDF文件內容在LabVIEW軟件的窗口中顯示出來。
利用VI函數與PDF接口的程序設計流程圖如圖2所示。

圖2 利用VI函數的接口程序流程圖Fig.2 Interfacing flowchart with VI function
①VI函數的調用
程序中所用到的VI函數是National InstrumentsLabVIEW 8.5vi.libplatformrowser.llb 中的 Open Acrobat Document.vi函數。該函數是LabVIEW軟件系統自帶的VI子函數。
②程序設計
將“路徑”、“確定”及“取消”等控件拖放到前面板,在程序框圖中,調用 Open Acrobat Document.vi函數,再選擇“事件結構”、“while循環”等函數,然后連線,構成完整的設計程序。打開前面板,調整界面。
③運行程序
運行VI,輸入PDF文件的絕對路徑或者選擇PDF文件的路徑,按“確定”按鈕,將在彈出的Adobe Reader軟件窗口中打開PDF文件。
通過程序設計及運行,利用ActiveX控件和VI函數都能很好地打開PDF文件,但它們各有優劣。
① 兩種接口技術都需要Adobe Reader軟件環境支持。
②第一種接口技術比第二種接口技術相對復雜,第二種接口技術只需要調用一個VI即可。
③第一種接口技術將PDF文件嵌入在LabVIEW窗口中,即PDF文件直接在LabVIEW環境中顯示。而第二種接口技術是單獨在Adobe Reader環境下打開,即PDF文件在Adobe Reader環境顯示。
通過上述實例的分析和比較,ActiveX控件和VI函數的運用避免了重復開發,從而縮短了程序設計的開發周期,為新產品的設計和開發創造了有利的條件。在ActiveX控件和VI函數的強大作用下,LabVIEW軟件與PDF文件交互接口技術的探索,發揮了LabVIEW的內在功能,提高了LabVIEW的利用能力,豐富了LabVIEW的應用,增強了LabVIEW與數字化信息的數據共享能力[10]。同時,為LabVIEW用戶利用PDF文件提供了簡單可行的途徑,加快了程序運行的速度,提升了LabVIEW軟件性能,方便了程序設計。
[1]黃進文.虛擬儀器新技術及其在我國的發展現狀與展望[J].科技創新導報,2008(31).
[2]陳金平,王生澤,吳文英.LabVIEW與Excel的通信方法[J].自動化儀表,2006,27(4):65 -67.
[3]閆群民.基于LabVIEW的超文本報表生成方法[J].自動化儀表,2010,31(7):29 -31.
[4]戰紹海,高亞峰,肖坦.基于LabVIEW的Excel報表生成技術研究[J].測控技術,2007(10):64 -66.
[5]陳金平.LabVIEW與Matlab接口的方法[J].自動化儀表,2004,25(3):53 -54.
[6]林遂芳,冉寶春.基于ActiveX控件的網絡虛擬儀器實驗室[J].現代電子技術,2003(20):73 -75.
[7]朱曉華,馮玉田.基于組件技術的虛擬儀器開發方法的研究[J].上海大學學報:自然科學版,1999(4):357-361.
[8]高國華,張永忠.在LabVIEW中利用ActiveX技術訪問數據庫[J].國外電子測試技術,2004,32(2):15 -16.
[9]吳成東,孫秋野,盛科.LabVIEW虛擬儀器程序設計及應用[M].北京:人民郵電出版社,2008.
[10]歐陽華兵,徐溫干.LabVIEW與C語言的接口技術及其應用[J].儀器儀表用戶,2004(6):75-77.