測(cè)試與數(shù)據(jù)采集以及LabVIEW
1.引言
本文引用地址:http://m.butianyuan.cn/article/195717.htm現(xiàn)代科技的發(fā)展日新月異。計(jì)算機(jī)技術(shù)則尤為如此。計(jì)算機(jī)強(qiáng)大的處理能力,使得它成為一種很好的工具,其應(yīng)用范圍也越來越廣泛。在工業(yè)自動(dòng)化和測(cè)試及測(cè)量領(lǐng)域,傳統(tǒng)的方法有許多重復(fù)建設(shè),顯然已經(jīng)不能適應(yīng)時(shí)代發(fā)展的需要了。如何利用先進(jìn)的計(jì)算機(jī)技術(shù)提高效率則成為該領(lǐng)域迫切需要解決的問題。1986年,美國NI公司(Nation Instrument)提出了虛擬儀器的概念,提出了軟件即儀器的口號(hào),徹底打破了傳統(tǒng)儀器只能由生產(chǎn)廠家定義,用戶無法改變的局面,從而引起儀器和自動(dòng)化工業(yè)的一場(chǎng)革命。隨著現(xiàn)代軟件和硬件技術(shù)的飛速發(fā)展,儀器的智能化和虛擬化已經(jīng)成為未來各級(jí)實(shí)驗(yàn)室以及研究機(jī)構(gòu)發(fā)展的方向。虛擬儀器,顧名思義,它應(yīng)具有傳統(tǒng)儀器的功能,又有別于其傳統(tǒng)儀器。它的特點(diǎn)體現(xiàn)在其靈活性上,它能夠充分利用和發(fā)揮現(xiàn)有計(jì)算機(jī)先進(jìn)技術(shù),使儀器的測(cè)試和測(cè)量及自動(dòng)化工業(yè)的系統(tǒng)測(cè)試和監(jiān)控變得異常方便和快捷。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench實(shí)驗(yàn)室虛擬儀器工程平臺(tái))是一個(gè)程序開發(fā)環(huán)境。類似于C、BASIC。但LabVIEW的特點(diǎn)在于,它使用圖形化編程語言G在流程圖中創(chuàng)建源程序,而非使用基于文本的語言來產(chǎn)生源程序代碼。LabVIEW還整合了與諸如滿足GPIB、VXI、RS-232和RS-485以及數(shù)據(jù)采集卡等硬件通訊的全部功能。內(nèi)置了便于 TCP/IP、Active X等軟件標(biāo)準(zhǔn)的庫函數(shù)。雖然LabVIEW是一個(gè)通用編程系統(tǒng),但是它也包含為數(shù)據(jù)采集和儀器控制特別設(shè)計(jì)的函數(shù)庫和開發(fā)工具。LabVIEW程序被稱為虛擬儀器(VIs),是因?yàn)樗鼈兊耐庥^和操作能模仿實(shí)際的儀器。由于LabVIEW所使用的術(shù)語、圖標(biāo)和概念都是技術(shù)人員、科學(xué)家、工程師所熟悉的,故而即使用戶沒有多少編程經(jīng)驗(yàn),同樣也能利用LabVIEW來開發(fā)自己的應(yīng)用程序。
創(chuàng)建虛擬儀器的過程共分三步:(1)虛擬儀器的交互式用戶接口被稱為前面板,因?yàn)樗7铝藢?shí)際儀器的面板。前面板包含旋鈕、按鈕、圖形和其它的控制與顯示對(duì)象。通過鼠標(biāo)和鍵盤輸入數(shù)據(jù)、控制按鈕,可在計(jì)算機(jī)屏幕上觀看結(jié)果。(2)虛擬儀器從流程圖中接收命令(用G語言創(chuàng)建)。流程圖是一個(gè)編程問題的圖形化解決方案。流程圖也是虛擬儀器的源代碼。(3)一個(gè)虛擬儀器的圖標(biāo)和連接就象一個(gè)圖形(表示某一虛擬儀器)的參數(shù)列表。這樣,其它的虛擬儀器才能將數(shù)據(jù)傳輸給一個(gè)子儀器。圖標(biāo)和連接允許將此儀器作為最高級(jí)的程序,也可以作為其它程序或子程序中的子程序(子儀器)。
2.2圖形化編程環(huán)境
該環(huán)境包含前面板、流程圖、圖標(biāo)和連接。在軟件啟動(dòng)時(shí),系統(tǒng)會(huì)建立一個(gè)缺省名為Untitled.1的文件(VI)。該文件包含兩個(gè)窗口,一個(gè)用以編輯前面板,另一個(gè)用作編輯流程圖。前面板就象是虛擬儀器的用戶接口,尤如實(shí)際儀器的面板。前面板基本上是控制和顯示對(duì)象的集合。用以控制模擬儀器輸入設(shè)備,為虛擬儀器的流程圖提供數(shù)據(jù)。顯示模擬儀器的輸出設(shè)備及流程圖中獲得或產(chǎn)生的數(shù)據(jù) 。
流程圖窗口用以編輯虛擬儀器的圖形化源代碼。通過連線將輸出、接收數(shù)據(jù)的對(duì)象連接起來創(chuàng)建流程圖,就能實(shí)現(xiàn)特定的功能,控制執(zhí)行的流程。需特別指明的是:LabVIEW運(yùn)行是數(shù)據(jù)流驅(qū)動(dòng)的。簡(jiǎn)單地說,就是只有當(dāng)所有的輸入數(shù)據(jù)都準(zhǔn)備好的時(shí)候,一個(gè)節(jié)點(diǎn)才能執(zhí)行其功能,當(dāng)節(jié)點(diǎn)執(zhí)行完后,它所有的輸出端口都會(huì)產(chǎn)生一個(gè)數(shù)據(jù)值。數(shù)據(jù)都是從源端流到目的端。數(shù)據(jù)流不同于執(zhí)行一個(gè)傳統(tǒng)程序的控制流方法(通過執(zhí)行一系列的指令來實(shí)現(xiàn)的)??刂屏鲌?zhí)行是指令驅(qū)動(dòng)。而數(shù)據(jù)流執(zhí)行是數(shù)據(jù)流驅(qū)動(dòng)或依賴數(shù)據(jù)的。這里提到的節(jié)點(diǎn)是程序執(zhí)行的元素。它們類似于傳統(tǒng)編程語言中的狀態(tài)、操作、函數(shù)和子程式。LabVIEW包含廣泛用于數(shù)學(xué)計(jì)算、比較、轉(zhuǎn)換、輸入/輸出的函數(shù)庫。另一類節(jié)點(diǎn)類型是結(jié)構(gòu)。結(jié)構(gòu)就是傳統(tǒng)編程語言的循環(huán)、條件描述的圖形表示,不斷的重復(fù)和執(zhí)行代碼。 LabVIEW也提供了用于連到外部基于文本的代碼和用于計(jì)算基于文本的公式的特殊節(jié)點(diǎn)。
評(píng)論