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