虛擬儀器的開放式構(gòu)造
?
概 述??
??? 隨著計(jì)算機(jī)技術(shù)和測控技術(shù)的不斷發(fā)展,人們希望找到一種簡單而又實(shí)用的方法,能讓計(jì)算機(jī)成為高效的工具,使其在科學(xué)研究與工程實(shí)踐中充分發(fā)揮作用。這就使得 “ 虛擬儀器技術(shù) ” 應(yīng)運(yùn)而生。采用虛擬儀器技術(shù),通過把各種硬件、軟件以及附備件的合理搭配,就可以將工業(yè)標(biāo)準(zhǔn)計(jì)算機(jī)變成一臺(tái)綜合的測試儀器,在各種測試、測量以及工業(yè)自動(dòng)化中應(yīng)用。?
虛擬儀器的功能與特點(diǎn)?
?
??? 虛擬儀器(Virtual Instrumentation,VI)技術(shù)引入到當(dāng)今計(jì)算機(jī)輔助測試(Computer-Aided Test,CAT)領(lǐng)域,使數(shù)據(jù)采集和工業(yè)控制自動(dòng)化技術(shù)起了重大的變革。全世界的科學(xué)家和工程師都已經(jīng)認(rèn)識到:使用工業(yè)標(biāo)準(zhǔn)計(jì)算機(jī)的硬件和軟件技術(shù)來構(gòu)建虛擬儀器系統(tǒng),將會(huì)獲得前所未有的工作效率。
??? 各種儀器 — 無論是傳統(tǒng)的還是虛擬的 — 在所實(shí)現(xiàn)的功能上大同小異。它們都可以進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)分析,并且顯示最終數(shù)據(jù)結(jié)果。而虛擬儀器與傳統(tǒng)儀器最大的不同之處,就在于其具有開放性的構(gòu)成方式,即具有靈活性和功能的可重構(gòu)性。
??? 虛擬儀器是用戶根據(jù)需要自己定義、自行組合的。用戶可以靈活的將各種計(jì)算機(jī)平臺(tái)、硬件、軟件和各種附備件結(jié)合起來,形成自己所需要的各種特定設(shè)備??梢允且慌_(tái)數(shù)字多用表,也可以是一臺(tái)示波器,還有可能是一臺(tái)信號源,或者它同時(shí)具有這些設(shè)備的所有功能甚至于更多的功能。因而利用 “ 虛擬儀器 ” 來逐步替代傳統(tǒng)的儀器設(shè)備后,用戶將大大受益。
??? 計(jì)算機(jī)是構(gòu)建虛擬儀器的基礎(chǔ),對于工業(yè)控制自動(dòng)化來講,計(jì)算機(jī)已成為一種功能強(qiáng)大、價(jià)格低廉的運(yùn)行平臺(tái)。當(dāng)各種與計(jì)算機(jī)有關(guān)的新的技術(shù)出現(xiàn)時(shí),將同時(shí)把虛擬儀器的便攜性和強(qiáng)大的功能推向一個(gè)新的水平。而且由于計(jì)算機(jī)的性能價(jià)格比不斷提高,使得虛擬儀器的價(jià)格更能為廣大用戶所接受。有了虛擬儀器這個(gè)解決方案,用戶就可以降低成本、減少系統(tǒng)開發(fā)費(fèi)用以及系統(tǒng)維護(hù)費(fèi)用,同時(shí)又可以縮短自行生產(chǎn)的產(chǎn)品的開發(fā)、上市時(shí)間,提高產(chǎn)品質(zhì)量。
??? 不難發(fā)現(xiàn),以計(jì)算機(jī)為基礎(chǔ)的虛擬儀器技術(shù)夠提供更廣泛的功能和更強(qiáng)大的靈活性!以下是虛擬儀器幾項(xiàng)特出的優(yōu)點(diǎn):
??? 將所用的程控儀器的控制信息集成在虛擬儀器的軟件模塊中,對用戶來講,是完全透明的。用戶在使用過程中無須專門查閱、學(xué)習(xí)儀器的程控方法與程控指令就可以對儀器進(jìn)行操作
·計(jì)算機(jī)強(qiáng)大的圖形用戶界面(Graphic User Interface,GUI)增強(qiáng)了儀器的結(jié)果顯示功能,更易于操作
·具有龐大的數(shù)據(jù)記錄容量
·多級、豐富的顯示選項(xiàng)
·用戶可以自定義分析方式
·用戶可以自定義接口形式
·具有可擴(kuò)展的工程函數(shù)庫
·完整的時(shí)間記錄和測試說明
·測量程序中內(nèi)置多媒體操作指令
·測試過程自動(dòng)化
·可利用網(wǎng)絡(luò)進(jìn)行多用戶數(shù)據(jù)共享
·測量結(jié)果關(guān)聯(lián)分析和趨勢標(biāo)定
?
虛擬儀器的構(gòu)造
?
??????? 虛擬儀器通常由硬件設(shè)備與接口、設(shè)備驅(qū)動(dòng)軟件和虛擬儀器面板組成,其結(jié)構(gòu)如圖( 1 )所示。其中,硬件設(shè)備與接口可以是各種以計(jì)算機(jī)為基礎(chǔ)的內(nèi)置功能插卡、通用接口總線( General Purpose Interface Bus,GPIB )卡、串行接口卡、 VXI 總線儀器接口等設(shè)備,或者是其它各種可程控的外置測試設(shè)備;設(shè)備驅(qū)動(dòng)軟件是直接控制各種硬件接口的驅(qū)動(dòng)程序,虛擬儀器通過底層設(shè)備驅(qū)動(dòng)軟件與真實(shí)的儀器系統(tǒng)進(jìn)行通訊;并以虛擬儀器面板的形式在計(jì)算機(jī)屏幕上顯示與真實(shí)儀器面板操作元素相對應(yīng)的各種控件。在這些控件中預(yù)先集成了對應(yīng)儀器的程控信息,所以用戶使用鼠標(biāo)操作虛擬儀器的面板就如同操作真實(shí)儀器一樣真實(shí)與方便。
?
虛擬儀器的硬件組成
?
構(gòu)建基于計(jì)算機(jī)的虛擬儀器,需要有相應(yīng)的硬件來支持。虛擬儀器的硬件組成一般分為基礎(chǔ)硬件平臺(tái)和外圍硬件設(shè)備?;A(chǔ)硬件平臺(tái)目前可以選擇各種類型的計(jì)算機(jī);而外圍硬件設(shè)備則主要包括:各種計(jì)算機(jī)內(nèi)置插卡和外置測試設(shè)備。
計(jì)算機(jī)是虛擬儀器的硬件基礎(chǔ),虛擬儀器充分地利用了計(jì)算機(jī)的圖形用戶界面(GUI),所開發(fā)的具體應(yīng)用程序都是基于 Windows 運(yùn)行環(huán)境。所以計(jì)算機(jī)的配置必須合適。 GUI 對計(jì)算機(jī)的 CPU 速度、內(nèi)存大小、顯示卡性能等都有最基本的要求,通常要使用 486 以上的計(jì)算機(jī)才能獲得良好的效果。采用 Windows 95 操作系統(tǒng)時(shí),至少需 16M 以上的內(nèi)存。
有了計(jì)算機(jī)硬件平臺(tái),虛擬儀器還必須配備外圍硬件設(shè)備,即各種計(jì)算機(jī)內(nèi)置功能插卡和外置程控測試設(shè)備,才能構(gòu)成完整的硬件體系。
這里的外置程控測試設(shè)備是指帶有某種接口的測試設(shè)備,比如,帶有HP-IB和RS-232 接口的 HP 34401A 數(shù)字萬用表,帶有 GPIB 接口的 Pragmatic 2205A 任意波形發(fā)生器 , 等等。
隨著硬件生產(chǎn)技術(shù)的不斷提高,通過采用各種先進(jìn)的生產(chǎn)技術(shù),功能更完備、性能更優(yōu)越的各種計(jì)算機(jī)內(nèi)置功能插卡產(chǎn)品正在不斷面市。可以滿足測試的各種應(yīng)用要求 — 從最基本的到最復(fù)雜的。目前,市場上以計(jì)算機(jī)為基礎(chǔ)的內(nèi)置插卡品種繁多,門類齊全。單個(gè)插卡就可以完全實(shí)現(xiàn)以前體積相對龐大的單臺(tái)設(shè)備的功能。它可以替代任意波形發(fā)生器、計(jì)數(shù)器\定時(shí)器、數(shù)字萬用表、數(shù)字存儲(chǔ)示波器、邏輯分析儀,等等。一定程度上實(shí)現(xiàn)了測試與測量儀器的小型化,提高了便攜性。
其中,計(jì)算機(jī)內(nèi)置插卡中的數(shù)據(jù)采集(DAQ)多功能卡產(chǎn)品 種類繁多,功能齊全:從數(shù)據(jù)采集的前向通道至后向通道的各個(gè)環(huán)節(jié),都有對應(yīng)的 DAQ 產(chǎn)品??梢酝瓿?a href="http://www.wenjunhu.com/analog/" target="_blank">模擬波形采集與產(chǎn)生、數(shù)字量信號采集、波形采集及數(shù)據(jù)自動(dòng)存儲(chǔ)、模擬 I/O 、數(shù)字 I/O 、定時(shí) I/O 、信號調(diào)理等工作;配有各種操作系統(tǒng)完整的設(shè)備驅(qū)動(dòng)程序: Windows NT 、 Windows 95 、 Windows 3.1 和 DOS ;具有完備的使用指南,可以讓 I/O 通道的命名、比例變換和尋址操作更加簡單。用戶只需要在配置表格中填入數(shù)據(jù),指定名稱、特性、傳感器類型、變換系數(shù)或公式、冷端補(bǔ)償值,以及單位轉(zhuǎn)換系數(shù),就可以定義一個(gè)模擬或數(shù)字 I/O 通道。
當(dāng)工程師們在構(gòu)建自動(dòng)化測試系統(tǒng)時(shí), GPIB 仍然是首選的方案。今天, GPIB 可以應(yīng)用在 ISA 、 PCI 和 PC Card (PCMCIA)之類的總線上,并可用于 Windows NT 、 Windows 95 以及其它操作系統(tǒng)下。但是越來越多的系統(tǒng),正在采用新的 PCI 、 PXI 和 VXI 技術(shù),它們可以提供更優(yōu)越的性能價(jià)格比。從 1987 年開始提出的 VXI 總線 是目前儀器與測試技術(shù)領(lǐng)域研究與發(fā)展的重點(diǎn),代表了今后測控技術(shù)的發(fā)展方向。根據(jù) VXI 技術(shù)規(guī)范設(shè)計(jì)的各種儀器稱之為 VXI 儀器,與傳統(tǒng)儀器相比, VXI 總線儀器沒有儀器操作面板,儀器的操作完全由軟件來完成,所以虛擬儀器技術(shù)在 VXI 總線平臺(tái)中更是必不可少的。
?
虛擬儀器的軟件體系
?
在選擇虛擬儀器的使用軟件時(shí),需要考慮眾多因素,例如應(yīng)用需求、計(jì)算機(jī)硬件、操作系統(tǒng)、以及具體的儀器硬件;軟件是否建立在開放的結(jié)構(gòu)上?是否需要編程經(jīng)驗(yàn)?利用此軟件所開發(fā)的應(yīng)用程序是否能在不同的計(jì)算機(jī)平臺(tái)上移植?同時(shí)所選的軟件必須具有一定的通用性,以便與不同的計(jì)算機(jī)結(jié)構(gòu)、各式各樣的儀器以及數(shù)據(jù)采集設(shè)備配合使用。
虛擬儀器軟件體系結(jié)構(gòu)(Virtual Instrumentation Software Architecture,VISA)主要包含兩個(gè)層次:用戶應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序。其中設(shè)備驅(qū)動(dòng)程序是聯(lián)系用戶應(yīng)用程序與底層硬件設(shè)備的基礎(chǔ)。每一種設(shè)備驅(qū)動(dòng)程序都是為增加編程靈活性和提高數(shù)據(jù)吞吐量而設(shè)計(jì)的。每個(gè)設(shè)備驅(qū)動(dòng)程序都具有一個(gè)共同的應(yīng)用程序編程接口(Application Program Interface, API),因此,不管虛擬儀器所使用的計(jì)算機(jī)或者操作系統(tǒng)是什么,最終所編寫的用戶應(yīng)用程序都是可移植的。
對于市場上的大多數(shù)計(jì)算機(jī)內(nèi)置插卡,廠家都配備了相應(yīng)的設(shè)備驅(qū)動(dòng)程序。用戶在編制應(yīng)用程序時(shí),可以象調(diào)用系統(tǒng)函數(shù)那樣,直接調(diào)用設(shè)備驅(qū)動(dòng)程序,進(jìn)行設(shè)備操作。如果所用計(jì)算機(jī)內(nèi)置插卡和外置設(shè)備沒有驅(qū)動(dòng)程序,用戶也可以采用高級語言自己編寫。
對于虛擬儀器可視化應(yīng)用程序的編寫,大致可以歸納為兩種方式,一是采用通用軟件進(jìn)行編寫。這里所指的通用軟件主要是 Microsoft 公司的 Visual Basic 和 Borland 公司的 Delphi ;二是采用專業(yè)圖形化編程軟件進(jìn)行開發(fā)。比如 Hewlett-Packard 公司的 HP VEE 和 LAB Windows/CVI 以及 National Instruments 公司的 LABVIEW 。
軟 件
?特 點(diǎn)
?
VB、 Delphi
?易學(xué)、使用簡單;面向?qū)ο蟮目梢暬幊誊浖?;它的圖形控件工具能生成復(fù)雜的多窗口用戶界面而不必編寫復(fù)雜的代碼;可創(chuàng)建自己的 ActiveX 控件 ,以及多線程和線程安全 ActiveX 部件。?
HP VEE
?用于儀器控制、測量處理和測試報(bào)告的圖形化編程語言;自動(dòng)尋找與計(jì)算機(jī)相連的儀器,自動(dòng)管理所有的尋址操作;具有直觀、豐富的顯示界面;不必編寫代碼就可以進(jìn)行數(shù)據(jù)采集與分析;具有多種數(shù)學(xué)運(yùn)算和分析功能,從最基本的數(shù)學(xué)運(yùn)算到數(shù)字信號處理和回歸分析。?
LABVIEW
?儀器控制與數(shù)據(jù)采集的圖形化編程環(huán)境;直觀明了的前面板用戶界面和流程圖式的編程風(fēng)格;內(nèi)置的編譯器可加快執(zhí)行速度;內(nèi)置 GPIB 、 VXI 、串口和插入式 DAQ 板的庫函數(shù);內(nèi)容豐富的高級分析庫,可進(jìn)行信號處理、統(tǒng)計(jì)、曲線擬和以及復(fù)雜的分析工作;利用 ActiveX 、 DDE 以及 TCP/IP 進(jìn)行網(wǎng)絡(luò)連接和進(jìn)程通訊;可應(yīng)用于 Win31/95/NT 、 Mac OS 、 Sun 、 HP-UX 以及 Concurrent 實(shí)時(shí)計(jì)算機(jī)。?
LABWindows/CVI
?使用 ANSI C 編程語言建立實(shí)用儀器的交互式開發(fā)環(huán)境;可視化開發(fā)工具自動(dòng)產(chǎn)生程序大綱和調(diào)用函數(shù),從而降低編碼錯(cuò)誤、加快程序開發(fā)速度;集成化 C 語言編程工具,包含 32 位的 C 編譯器、連接程序、調(diào)試程序,以及代碼產(chǎn)生實(shí)用程序;直觀明了的圖形編輯器,可建立用戶 GUI 界面;可用于 Win31/95/NT 操作系統(tǒng)以及 SUN SPARC 工作站的 Solaris 操作系統(tǒng);用于 HP-UX 的運(yùn)行時(shí)間庫。?
采用通用編程軟件或者專業(yè)編程軟件開發(fā)的虛擬儀器應(yīng)用程序,在計(jì)算機(jī)輔助測試應(yīng)用中具有以下特出的優(yōu)點(diǎn):
· 功能強(qiáng)大的內(nèi)置動(dòng)態(tài)分析庫
· 智能化數(shù)據(jù)輸入 / 輸出指南
· 立即顯示所需分析結(jié)果
· 交互式問題求解環(huán)境
· 快速的可視化 3D 數(shù)據(jù)顯示
· 交互式 2D 和 3D 圖形顯示
· 各種靈活的工程和科學(xué)圖形
· 用戶自定制的圖表、圖例
· 圖形動(dòng)化
· 集成化的報(bào)表生成與分析流程
· 交互式報(bào)表版面配置與設(shè)計(jì)
· 可與 Microsoft Office 連接
· 可利用嵌入式 ActiveX 對象和控件制作注解
· LabVIEW 和 Visual Basic 的 OLE
?
虛擬儀器的整體設(shè)計(jì)?
?
虛擬儀器的建立一般有兩種情況,一是為了提高實(shí)驗(yàn)器材的綜合使用與管理能力;二是根據(jù)具體的需求建立特定的虛擬儀器。下面針對這兩種情況分別介紹虛擬儀器的建立方法和過程。
在科學(xué)研究與工程實(shí)驗(yàn)室里,有各種各樣的儀器與設(shè)備。如何提高它們的綜合使用效率?如何對它們進(jìn)行更有效的管理?是儀器用戶值得考慮的問題。目前,最有效的方法是采用 “ 虛擬儀器 ” 技術(shù)。即充分利用計(jì)算機(jī)強(qiáng)大的管理與處理能力,以此為基礎(chǔ),將實(shí)驗(yàn)室相關(guān)設(shè)備有機(jī)的搭配起來,構(gòu)成一個(gè)全新的實(shí)驗(yàn)環(huán)境。
實(shí)驗(yàn)室中的儀器與設(shè)備一般都是具有特定功能的單臺(tái)設(shè)備。如果它們具有某種總線接口,就有可能進(jìn)行虛擬儀器的構(gòu)造。步驟如下:
1) 確定所用儀器或設(shè)備的接口形式。如果儀器設(shè)備具有 RS-232 串行總線接口,則不用進(jìn)行處理,直接用連線將儀器設(shè)備與計(jì)算機(jī)的 RS-232 串行接口連接即可;如果是 GPIB 或 HP-IB 接口,則需要額外配備一塊 GPIB-488 接口板,將接口板插入計(jì)算機(jī)的 ISA 插槽,建立起計(jì)算機(jī)與儀器設(shè)備之間的通訊渠道;如果使用計(jì)算機(jī)來控制 VXI 總線設(shè)備,則也需要配備一塊 GPIB 接口卡,通過 GPIB 總線與 VXI 主機(jī)箱零槽模塊通信,零槽模塊的 GPIB-VXI 翻譯器將 GPIB 的命令翻譯成 VXI 命令并把各模塊返回的數(shù)據(jù)以一定的格式傳回主控計(jì)算機(jī)。
由于計(jì)算機(jī)的 RS-232 串行接口有限,如果儀器設(shè)備比較多,必要時(shí)必須擴(kuò)展計(jì)算機(jī)的 RS-232 接口。市場上此類產(chǎn)品品種繁多,用戶可以根據(jù)具體情況,選擇合適的 RS-232 總線接口擴(kuò)展產(chǎn)品。
2) 確定所選擇的接口卡是否具有設(shè)備驅(qū)動(dòng)程序?接口卡的的設(shè)備驅(qū)動(dòng)程序是控制各種硬件接口的驅(qū)動(dòng)程序,是連接主控計(jì)算機(jī)與儀器設(shè)備的紐帶;如果具有設(shè)備驅(qū)動(dòng)程序,它適合于何種操作系統(tǒng)?如果沒有,或者所帶的設(shè)備驅(qū)動(dòng)程序不符合用戶所用的操作系統(tǒng),用戶就有必要針對所用接口卡,編寫設(shè)備驅(qū)動(dòng)程序。
3) 確定應(yīng)用管理程序的編程語言。如果用戶有專業(yè)的圖形化編程軟件,如 HP VEE 、 National Instruments LABVIEW ,那么就可以采用這些專業(yè)的圖形化編程軟件進(jìn)行編程,方便快捷,所構(gòu)成的應(yīng)用系統(tǒng)功能完備。如果沒有這類軟件,則可以采用通用編程語言, Microsoft 公司的 Visual Basic 或者 Borland 公司的 Delphi 。由于它們易于學(xué)習(xí)、易于使用、功能強(qiáng)大而倍受測控人員的青睞。
4) 在硬件連接無誤的情況下,編寫用戶的應(yīng)用管理程序 。
5) 聯(lián)機(jī)調(diào)試。直至系統(tǒng)完成。
有時(shí),用戶需要建立具有特定功能的虛擬儀器,那么可以根據(jù)具體要求進(jìn)行構(gòu)造。一般步驟如下:
1) 選擇主控計(jì)算機(jī)和符合功能要求的外圍硬件設(shè)備。在這種情況下,外圍硬件設(shè)備可以是單臺(tái)設(shè)備,也可以是各種具有特定功能的計(jì)算機(jī)內(nèi)置插卡。
2) 下面所進(jìn)行的工作與構(gòu)造實(shí)驗(yàn)室虛擬儀器的過程相同,在此不再贅述。 總 結(jié)
?
基于計(jì)算機(jī)的虛擬儀器將單臺(tái)儀器所具備的高品質(zhì)測量功能完全嵌入到計(jì)算機(jī)中。這種新型的、可直接編程的儀器,隨著計(jì)算機(jī)的功能與靈活性的不斷改進(jìn)而進(jìn)步。它可以在保持高檔儀器測量品質(zhì)的同時(shí),又可以滿足目前各種應(yīng)用的多樣性要求;同時(shí)還具有一定的靈活性,以便進(jìn)一步擴(kuò)展其功能,更直接地解決使用過程中所遇到的各種難題。?
評論
查看更多