精密測試技術(shù)課程講義(6章虛擬儀器).ppt
《精密測試技術(shù)課程講義(6章虛擬儀器).ppt》由會員分享,可在線閱讀,更多相關(guān)《精密測試技術(shù)課程講義(6章虛擬儀器).ppt(74頁珍藏版)》請在裝配圖網(wǎng)上搜索。
虛擬儀器技術(shù)及LabVIEW簡介,目錄,什么是虛擬儀器LABVIEW概述LABVIEW模板簡介創(chuàng)建VI程序LABVIEW結(jié)構(gòu)LABVIEW數(shù)據(jù)類型圖表及圖形字符串和文件I/O數(shù)據(jù)采集,什么是虛擬儀器(VI,VirtualInstruments)(1)由測試硬件完成信號的采集與控制,而將信號分析與處理、結(jié)果表達(dá)與輸出讓計算機來完成,這就是虛擬儀器。(2)ComputerBasedInstruments(3)用戶自定義的儀器,,數(shù)據(jù)采集和控制,,分析,SignalProcessingDigitalFilteringStatisticsArrayOperations,GraphicalUserInterfaceHardcopyOutputFileI/O,信號,,,,Plug-InDAQBoardsIEEE488(GPIB)RS-232,虛擬儀器的構(gòu)成元素,虛擬儀器的硬件結(jié)構(gòu)體系(1)PCI、ISA接口總線(2)PXI(PCIeXtensionforInstrumentation)接口總線(3)GPIB(GeneralPurposeInterfaceBus)接口總線串口總線(4)VXI(VMEbuseXtensionforInstrumentation)接口總線,,虛擬儀器的軟件開發(fā)工具(1)通用編程語言:C、C++、VisualC++、VisualBasic(2)虛擬儀器專用編程語言:NI公司的LabVIEW、Labwindows/CVI和HP公司的HPVEE或者分為:(1)文本式編程語言:如C、VisualC++、VisualBasic、Labwindows/CVI等。(2)圖形化編程語言:如LabVIEW、HPVEE等。,,基于PC的數(shù)據(jù)采集和儀器控制開發(fā)軟件,Source:Surveyof400USreadersfromT&MWorld,EDN,DesignNews,andR&Dmagazines,March2002,,什么是LabVIEW?,NILabVIEW是行業(yè)領(lǐng)先的用于開發(fā)設(shè)計、控制和測試系統(tǒng)的軟件工具,用于設(shè)計、控制和測試的圖形化開發(fā)平臺。自1986年問世以來,世界范圍內(nèi)的工程師和科學(xué)家在整個產(chǎn)品設(shè)計周期內(nèi)都依靠NILabVIEW圖形化開發(fā)環(huán)境來開發(fā)項目,從而獲得更高的質(zhì)量,更短進(jìn)入市場的時間,和更高的工程和生產(chǎn)效率。LabVIEW的圖形化數(shù)據(jù)流語言很自然地吸引了全世界的工程師和科學(xué)家將其作為一種更加直觀的方式用于自動測量和控制系統(tǒng)。結(jié)合了內(nèi)置I/O、交互式用戶界面控件和指示器的數(shù)據(jù)流語言使得LabVIEW成為工程師和科學(xué)家的理想選擇。,LabVIEW圖形化開發(fā)平臺為自動化測量和控制應(yīng)用中整個產(chǎn)品生命周期都提供了高效和優(yōu)良的性能。LabVIEW圖形化開發(fā)平臺提供:專為工程師和科學(xué)家設(shè)計的直觀的圖形化編程語言。交互式、特定應(yīng)用的開發(fā)工具和庫。數(shù)以百計的內(nèi)置庫,用于I/O、控制、分析和數(shù)據(jù)顯示。發(fā)布至臺式、便攜式、工業(yè)和嵌入式計算目標(biāo)。,內(nèi)置的采集、分析和顯示,采集開放的LabVIEW環(huán)境使得與任何測量硬件之間的連接變得更為簡單,并且提供了交互式助手、代碼自動生成,以及與數(shù)以千計設(shè)備的連接來輕松地收集數(shù)據(jù)。因為LabVIEW提供了對幾乎所有測量設(shè)備的連接,所以您可以輕松地將最新的LabVIEW應(yīng)用程序結(jié)合至現(xiàn)有的系統(tǒng),而不會損失您的硬件投資。無論您的硬件要求如何,LabVIEW都提供了一個接口以使得與您I/O的連接變得更為輕松。,利用LabVIEW測量任何信號溫度電壓電阻張力電流脈沖振動頻率周期聲音光強數(shù)字信號,分析對于測量結(jié)果,你需要的不是未經(jīng)處理的數(shù)據(jù)。強大的,易用的分析功能對你的軟件應(yīng)用是必須的。LabVIEW擁有超過500個內(nèi)建函數(shù),幫助你從采集的數(shù)據(jù)中提取有效信息,分析測量結(jié)果和處理信號。頻率分析、信號發(fā)生、數(shù)學(xué)運算、曲線擬和、插值等函數(shù)能夠使你對數(shù)據(jù)進(jìn)行有意義的統(tǒng)計和處理。LabVIEW分析工具使用簡單,無需你去考慮復(fù)雜的底層算法。超過15個快速分析VI通過交互式配置對話框使你能夠立刻預(yù)覽分析結(jié)果,并很大程度降低了你在應(yīng)用程序中執(zhí)行。,測量分析的復(fù)雜度●曲線擬合和插值●概率和統(tǒng)計●快速傅立葉變換和頻率分析●時域和頻域分析●信號發(fā)生●數(shù)字信號處理●數(shù)學(xué)運算,顯示數(shù)據(jù)的顯示包含了多種功能范圍:形象化、生成報表和數(shù)據(jù)管理。LabVIEW包含了容易創(chuàng)建的形象化的工具,使你的數(shù)據(jù)顯示出吸引力,其中包括圖表和圖形工具,內(nèi)建的2D和3D顯示工具。你可以直接配置顯示的屬性,如顏色,字體大小,圖表類型等,并可在運行時旋轉(zhuǎn),縮放和搖移你的圖像。另外,你還可以通過LabVIEW在因特網(wǎng)上觀看和控制你的VI。,對于報表生成,NI提供多種選擇,包括文檔生成工具,HTML報表,可編程生成的微軟Word、Excel報表和NIDIAdem交互式的報表生成?!裎臋n處理工具●內(nèi)建用戶界面設(shè)計對象●交互式報表生成●微軟Word和Excel報表●數(shù)據(jù)庫連接●開放式語言(.NET、ActiveX、●遠(yuǎn)程觀看和控制●DLLs、OPC),LabVIEW用在何處?,自動化測試和測量平臺近30年來,NI革新了工程師進(jìn)行測試和測量的方式。利用PC和商用技術(shù),虛擬儀器技術(shù)提高了效率并且降低了自動化測試和測量應(yīng)用程序的成本,這是通過易于集成的軟件(如LabVIEW)和用于PXI、PCI、USB、Ethernet的模塊化測量和控制硬件來實現(xiàn)的。,通常的應(yīng)用●生產(chǎn)測試●便攜式場地測試●驗證/環(huán)境測試●RF和通信測試●機械/結(jié)構(gòu)測試●機臺測試●實時可靠性測試●圖像采集●數(shù)據(jù)采集,工業(yè)測量和控制平臺工程師常常將LabVIEW用于要求苛刻的工業(yè)應(yīng)用,例如需要高級I/O,包括高速模擬信號采集;用于諸如振動監(jiān)控、控制和機器視覺之類的高級處理應(yīng)用;以及與工業(yè)硬件的通信,包括OPC設(shè)備和第三方PLC以及企業(yè)級數(shù)據(jù)庫。您可以無縫地將內(nèi)置于LabVIEW的NI可編程自動控制器(PAC)集成至現(xiàn)有的系統(tǒng),從而達(dá)到附加的測量和控制功能。,通常的應(yīng)用●集成的測試和控制●機器狀況監(jiān)控●機器自動化●分布式監(jiān)控和控制●機器視覺●功率監(jiān)控,嵌入式設(shè)計和原型設(shè)計平臺工程師將LabVIEW用于高效的設(shè)計應(yīng)用、仿真,以及仿真數(shù)據(jù)與真實世界測量之間的比較。通過將LabVIEW和測量工具集成至附加的設(shè)計和仿真工具,您可以更早地在設(shè)計過程中輕松地將真實世界的測試工具與仿真模型進(jìn)行比較。這樣就可以更早地在設(shè)計環(huán)節(jié)暴露缺陷,從而可以實現(xiàn)更少的設(shè)計反復(fù)和更高質(zhì)量的產(chǎn)品。,通常的應(yīng)用●嵌入式系統(tǒng)設(shè)計和測試●電子電路設(shè)計●控制設(shè)計●機械設(shè)計●數(shù)字濾波器設(shè)計●算法設(shè)計,VI的構(gòu)成,LabVIEW的程序稱之為虛擬儀器,簡稱VIs,因為所設(shè)計出來的程序在其外觀以及操控上都與真實的儀器很類似;一個VI可分為三個部份:人機界面-前置面版(FrontPanel)圖形程序區(qū)(BlockDiagram)工具面版-圖像(Icon)與連結(jié)器(Connector),File文檔菜單,Edit編輯菜單,Operate操作菜單,Tools工具菜單,Browse瀏覽菜單,Windows窗口菜單,LabVIEW基本演示,例:,LABVIEW模板簡介,概述工具模板(ToolsPalette)控制模板(ControlsPalette)功能模板(FunctionsPalette),LabVIEW模板學(xué)習(xí)要點,窗口頂部工具欄包括:運行、字體選擇、排列調(diào)整和疊放次序等操作按鈕;工具模板提供了編程使用的創(chuàng)建、修改和調(diào)試VI工具,在構(gòu)建和編輯VI時應(yīng)首先確定選擇了正確的工具;控制模板服務(wù)于前面板,用于添加輸入控制和輸出顯示。每個圖標(biāo)代表一個子模板。常用的有:數(shù)值、布爾值、字符串、數(shù)組和群、列表、圖文環(huán)、圖形信號、輸入輸出和修飾等子模板;功能模板服務(wù)于框圖程序,每個圖標(biāo)代表一個子模板。常用的有:結(jié)構(gòu)、數(shù)值運算、布爾邏輯、比較運算、字符串運算、數(shù)組和群、時間、文件、輸入/輸出等子模板。,窗口頂部工具欄,包括:運行按鈕、連續(xù)執(zhí)行按鈕、停止按鈕、暫停/繼續(xù)按鈕,字體環(huán)。排列調(diào)整環(huán),間隙描述環(huán),位置次序調(diào)整環(huán)。,,,,,,,,,,,框圖程序窗口工具欄,高亮度執(zhí)行按鈕,在是否選擇高亮度模式間切換,執(zhí)行程序時可以在框圖程序中觀察到數(shù)據(jù)流動。單步通過按鈕,進(jìn)入單步模式時,程序單步通過一個節(jié)點并停在下一節(jié)點上,同時它不停地閃爍,表示當(dāng)前節(jié)點準(zhǔn)備執(zhí)行。單步進(jìn)入節(jié)點按鈕,再次單擊此按鈕,程序單步進(jìn)入循環(huán)、子VI等節(jié)點。通過單步進(jìn)入節(jié)點,可以單步執(zhí)行節(jié)點內(nèi)的程序。單步退出節(jié)點按鈕,再次單擊此按鈕,程序單步退出循環(huán)、子Ⅵ等節(jié)點。通過單步退出節(jié)點,可完成單步通過節(jié)點功能,并進(jìn)到下一節(jié)點。警告指示器,當(dāng)Ⅵ程序存在潛在問題時,就會出現(xiàn)這個警告指示,但這并不因此而引起Ⅵ不能執(zhí)行。,,,,,,,,工具模板(ToolsPalette),操作工具選擇(位置)工具標(biāo)簽工具連線工具對象彈出菜單工具平移工具斷點工具探針工具顏色提取工具顏色工具,,,,,,,,,,,控制模板(ControlsPalette),數(shù)值子模板:包含數(shù)值的控制和顯示。布爾值子模塊:邏輯數(shù)值的控制和顯示。字符串子模板:ASCII碼字符串和路徑的控制和顯示。數(shù)組和群子模板:復(fù)合型數(shù)據(jù)類型的控制和顯示。列表子模板:各類列表的控制和顯示。圖形子模板:顯示數(shù)據(jù)結(jié)果的趨勢圖和曲線圖。圖文環(huán)(Ring):控制和顯示菜單環(huán)和文字列表欄、圖像列表欄的選型。,,,,,,,,,控制模板(ControlsPalette),信號的輸入輸出子模板。路徑和參考名(Refnum)子模板:文件路徑和各種標(biāo)識的控制和顯示。老版本子模板,列舉老版本中的顯示控制件。對話框子模板:用于輸入對話框的顯示控制。修飾子模板:用于給前面板進(jìn)行裝飾的各種圖形對象。控件容器庫子模板:用于操作OLE、ActiveX等功能。調(diào)用存儲在文件中的控制和顯示的接口。用戶自定義的控制和顯示。,,,,,,,,,,結(jié)構(gòu)子模板:包括程控結(jié)構(gòu)命令,例如循環(huán)控制等,以及全局變量和局部變量。?數(shù)值運算子模板:包括各種常用的數(shù)值運算符,如“+-”以及各種常見的數(shù)值表達(dá)式,如+1運算;還包括數(shù)制轉(zhuǎn)換、三角函數(shù)、對數(shù)、復(fù)數(shù)等運算,以及各種數(shù)值常數(shù)。?布爾邏輯子模板:包括各種邏輯運算符以及布爾常數(shù)。?字符串運算子模板:包含各種字符串操作函數(shù)、數(shù)值與字符串之間的轉(zhuǎn)換函數(shù),以及字符(串)常數(shù)等。數(shù)組子模板:包括數(shù)組運算函數(shù)、數(shù)組轉(zhuǎn)換函數(shù),以及常數(shù)數(shù)組等。,,,功能模板(FunctionsPalette),,,,,功能模板(FunctionsPalette),簇子模板。包括簇的處理函數(shù),以及簇常數(shù)等。比較子模板:包括各種比較運算函數(shù),如大于、小于、等于。時間和對話框子模板:包括對話框窗口、時間和出錯處理函數(shù)等。?文件輸入/輸出子模板:包括處理文件I/O的程序和函數(shù)。?“選擇…VI子程序”子模板:可以選擇一個VI程序作為子程序(SubVI)插入當(dāng)前程序中。,,,,,,,創(chuàng)建VI程序,建立虛擬儀器就是根據(jù)功能目標(biāo)創(chuàng)建對應(yīng)的儀器面板和框圖程序,需要了解控制、功能模板上不同圖標(biāo)的用途;儀器面板設(shè)計重在控制和對話,框圖程序重在實現(xiàn)正確的相互關(guān)系;掌握虛擬儀器編輯技術(shù),熟練使用工具模板的各種工具,是編程和調(diào)試VI的關(guān)鍵;框圖程序由節(jié)點、端點、圖框和連線四種元素構(gòu)成,組合出相互的邏輯關(guān)系;學(xué)習(xí)子VI的建立和調(diào)用,這在建立一個高質(zhì)量的VI時十分必要。,虛擬儀器的編輯,選擇對象。把Positioningtool(位置工具)放在準(zhǔn)備選擇的對象上,按住鼠標(biāo)左鍵,該對象的輪廓邊上出現(xiàn)流動的虛線,表示對象被選中。如果要選擇一個以上的對象,按住Shift鍵不放,然后用鼠標(biāo)單擊每一個想要選擇的對象。也可以用位置工具,在窗口空白處按住鼠標(biāo)左鍵拖出一個虛線的矩形框,把想要選擇的對象都包含在其中,這些對象即被選中。移動對象。把位置工具放在對象上,按住鼠標(biāo)左鍵不放,拖動鼠標(biāo),可以將對象轉(zhuǎn)移到窗口中的任意位置上。刪除對象。選中對象,然后按Delete鍵(或選擇Edit>>Clear選項),即可刪除該對象。,虛擬儀器的編輯,復(fù)制對象。先選中對象(鼠標(biāo)左鍵按下不放),同時按Ctrl鍵,然后移動鼠標(biāo)把對象復(fù)制到任意位置上,也可以用Edit菜單中的copy和Paste來復(fù)制對象。選擇和刪除連線。把位置工具移到線段上,單擊鼠標(biāo)左鍵,即選中線段(如果有數(shù)段線段在交匯處相交,則單擊數(shù)下鼠標(biāo),即選中該數(shù)段線段);按Delete鍵,即刪除該線段。連線的伸縮性。通過位置工具,可以把單個或一組對象移動到新的位置,而連線跟著伸縮。,虛擬儀器的編輯,不良連線。不良連線用虛線表示。例如,當(dāng)源數(shù)據(jù)與目標(biāo)數(shù)據(jù)類型不匹配時,會出現(xiàn)虛線(不良連線)。要刪除一條不良連線,用位置工具單擊不良連線后按Delete鍵。如果要刪除框圖程序中所有的不良連線,可以選擇Edit\RemoveBadWires(移去不良連線)(或按Ctrl+B鍵)。改變文本的字體、風(fēng)格和尺寸。用標(biāo)簽工具選擇文本,通過工具欄中的Fontring可以改變標(biāo)簽框中任何文本的字體和尺寸。改變對象尺寸。用位置工具把光標(biāo)移到對象的四角處,此時會出角形圖示,拖動它便可以改變對象的尺寸。改變顏色。從工具模板中選擇顏色工具,并在正方形框上單擊鼠標(biāo),彈出調(diào)色板。選擇一種顏色,然后單擊對象,便可以改變對象的顏色。注意顏色工具中上下兩個正方形框分別代表對象的前景色和背景色,調(diào)色板上的T標(biāo)志,表示透明無色。,框圖程序的構(gòu)成元素,框圖程序由節(jié)點、端點、圖框和連線四種元素構(gòu)成。LabVIEW有二種節(jié)點類型——函數(shù)節(jié)點和子VI節(jié)點。函數(shù)節(jié)點是LabVIEW編譯好供使用的。子VI節(jié)點是LabVIEW或用戶的圖形語言形式。,框圖程序的構(gòu)成元素,端點是只有一路輸入/輸出,且方向固定的節(jié)點。LabVIEW有三類端點——前面板對象端點、全局與局部變量端點和常量端點。前面板對象端點是數(shù)據(jù)在框圖程序部分和前面板之間傳輸?shù)慕涌?。常量端點在VI程序框圖中永遠(yuǎn)只能作為數(shù)據(jù)流源點。,框圖程序的構(gòu)成元素,圖框是LabVIEW實現(xiàn)程序結(jié)構(gòu)控制命令的圖形表示。如循環(huán)控制、條件分支控制和順序控制等。連線是端口間的數(shù)據(jù)通道。數(shù)據(jù)單向流動,不同的線型代表不同的數(shù)據(jù)類型,從源端口向一個或多個目的端口流動。,子VI的建立和使用,子VI(SubVI)就是被其他的VI調(diào)用的VI??梢詫⑷魏我粋€定義了圖標(biāo)和聯(lián)接器的VI作為另一個VI的子程序。構(gòu)造一個子VI主要的工作就是定義它的圖標(biāo)和聯(lián)接器。在其他的VI中調(diào)用子程序VI的過程就是將定義了圖標(biāo)放入該VI的程序框圖,并在主程序中對子VI聯(lián)接器進(jìn)行外部連線。,圖標(biāo)編輯器的窗口,可以用窗口左邊的各種工具設(shè)計像素編輯區(qū)中的圖標(biāo)形狀。編輯區(qū)右側(cè)的一個方框中顯示了一個實際大小的圖標(biāo)。聯(lián)接器是VI數(shù)據(jù)的輸入輸出接口。通過選擇VI的端子數(shù)并為每個端子指定對應(yīng)的前面板對象以定義聯(lián)接器。,程序結(jié)構(gòu),循環(huán)結(jié)構(gòu)1.While循環(huán)While循環(huán)可以反復(fù)執(zhí)行循環(huán)體的程序,直至到達(dá)某個邊界條件。它類似于普通編程語言中的Do循環(huán)和Repeat-Until循環(huán)。While循環(huán)的框圖是一個大小可變的方框,用于執(zhí)行框中的程序,直到條件端子接收到的布爾值為FALSE。該循環(huán)有如下特點:計數(shù)從0開始(i=0)。先執(zhí)行循環(huán)體,而后i+1,如果循環(huán)只執(zhí)行一次,那么循環(huán)輸出值i=0。循環(huán)至少要運行一次。,,例:用While循環(huán)和圖表獲得數(shù)據(jù),并實時顯示,創(chuàng)建一個可以產(chǎn)生并在圖表中顯示隨機數(shù)的VI。前面板有一個控制旋鈕可在0到10秒之間調(diào)節(jié)循環(huán)時間,還有一個開關(guān)可以中止VI的運行。學(xué)習(xí)怎樣改變開關(guān)的動作屬性,以便不用每次運行VI時都要打開開關(guān)。,2.移位寄存器(ShiftRegister)移位寄存器可以將數(shù)據(jù)從一個循環(huán)周期傳遞到另外一個周期。在程序設(shè)計中,經(jīng)常要用到它.創(chuàng)建一個移位寄存器的方法是,用鼠標(biāo)右鍵單擊循環(huán)的左邊或者右邊,在快捷菜單中選擇AddShiftRegister。如下圖所示。移位寄存器在流程圖上用在循環(huán)邊框上相應(yīng)的一對端子來表示。右邊的端子中存儲了一個周期完成后的數(shù)據(jù),這些數(shù)據(jù)在這個周期完成之后將被轉(zhuǎn)移到左邊的端子,賦給下一個周期。,移位寄存器可以轉(zhuǎn)移各種類型的數(shù)據(jù)--數(shù)值、布爾數(shù)、數(shù)組、字符串等等。它會自動適應(yīng)與它連接的第一個對象的數(shù)據(jù)類型。下圖表示了它的工作過程.可以令移位寄存器記憶前面的多個周期的數(shù)值。這個功能對于計算數(shù)據(jù)均值非常有用。還可以創(chuàng)建其他的端子訪問先前的周期的數(shù)據(jù),方法是用鼠標(biāo)右鍵單擊左邊或者右邊的端子,在快捷菜單中選擇AddElement。例如,如果某個移位寄存器左邊的端口含有三個元素,那么就可以訪問前三個周期的數(shù)據(jù)。,,3.For循環(huán)For循環(huán)用于將某段程序執(zhí)行指定次數(shù)。和While循環(huán)一樣,它不會立刻出現(xiàn)在流程圖中,而是出現(xiàn)一個小的圖標(biāo),而后您可以修改它的大小和位置。具體的方法是,先單擊所有端子的左上方,然后按下鼠標(biāo),拖曳出一個包含所有端子的矩形。釋放鼠標(biāo)時就創(chuàng)建了一個指定大小和位置的For循環(huán)。For循環(huán)將把它的框圖中的程序執(zhí)行指定的次數(shù),F(xiàn)or循環(huán)具有下面這兩個端子:N:計數(shù)端子(輸入端子)——用于指定循環(huán)執(zhí)行的次數(shù)。I:周期端子(輸出端子)——含有循環(huán)已經(jīng)執(zhí)行的次數(shù)。,,例:用For循環(huán)和移位寄存器計算一組隨機數(shù)的最大值。,分支結(jié)構(gòu)分支結(jié)構(gòu):CaseCase結(jié)構(gòu)含有兩個或者更多的子程序(Case),執(zhí)行那一個取決于與選擇端子或者選擇對象的外部接口相連接的某個整數(shù)、布爾數(shù)、字符串或者標(biāo)識的值。必須選擇一個默認(rèn)的Case以處理超出范圍的數(shù)值,或者直接列出所有可能的輸入數(shù)值。Case結(jié)構(gòu)見下圖,各個子程序占有各自的流程框,在其上沿中央有相應(yīng)的子程序標(biāo)識:Ture、False或1、2、3…。按鈕用來改變當(dāng)前顯示的子程序(各子程序是重疊放在屏幕同一位置上的)。,順序結(jié)構(gòu)和公式節(jié)點順序結(jié)構(gòu)(SequenceStructure)在代碼式的傳統(tǒng)編程語言中,默認(rèn)的情況是,程序語句按照排列順序執(zhí)行,但LabVIEW中不同,它是一種圖形化的數(shù)據(jù)流式編程語言。在下圖中,假設(shè)有A、B、C、D4個節(jié)點,其數(shù)據(jù)流向如右圖所示。按照數(shù)據(jù)流式語言的約定,任何一個節(jié)點只有在所有的輸入數(shù)據(jù)有效時才會執(zhí)行,所以圖中,當(dāng)且僅當(dāng)A、B、C3個節(jié)點執(zhí)行完,使得D節(jié)點的3個輸入數(shù)據(jù)都到達(dá)D節(jié)點后,D節(jié)點才執(zhí)行。但是你要注意,這里并沒有規(guī)定A、B、C3個節(jié)點的執(zhí)行順序。在LabVIEW中這種情況下,A、B、C的執(zhí)行順序是不確定的,如果你需要對它們規(guī)定一個確定的順序,那就需要“順序結(jié)構(gòu)”。,公式節(jié)點(FormulaNode)公式節(jié)點是一個大小可變的方框,可以利用它直接在流程圖中輸入公式。從FunctionsStructures中選擇公式節(jié)點就可以把它放到流程圖中。當(dāng)某個等式有很多變量或者非常復(fù)雜時,這個功能就非常有用。例如等式:y=x2+x+1使用公式節(jié)點可以表示為:利用公式節(jié)點可以直接輸入一個或者多個復(fù)雜的公式,而不用創(chuàng)建流程圖的很多子程序。,數(shù)據(jù)類型:數(shù)組、簇和波形,數(shù)組是同類型元素的集合。一個數(shù)組可以是一維或者多維,如果必要,每維最多可有231-1個元素??梢酝ㄟ^數(shù)組索引訪問其中的每個元素。索引的范圍是0到n–1,其中n是數(shù)組中元素的個數(shù)。圖3-1所顯示的是由數(shù)值構(gòu)成的一維數(shù)組。注意第一個元素的索引號為0,第二個是1,依此類推。數(shù)組的元素可以是數(shù)據(jù)、字符串等,但所有元素的數(shù)據(jù)類型必須一致。,簇(Cluster)是另一種數(shù)據(jù)類型,它的元素可以是不同類型的數(shù)據(jù)。它類似于C語言中的stuct。使用簇可以把分布在流程圖中各個位置的數(shù)據(jù)元素組合起來,這樣可以減少連線的擁擠程度。減少子VI的連接端子的數(shù)量。波形(Waveform)可以理解為一種簇的變形,它不能算是一種有普遍意義的數(shù)據(jù)類型,但非常實用。,創(chuàng)建數(shù)組一般說來,創(chuàng)建一個數(shù)組有兩件事要做,首先要建一個數(shù)組的“殼”(shell),然后在這個殼中置入數(shù)組元素(數(shù)或字符串等)。如果需要用一個數(shù)組作為程序的數(shù)據(jù)源,可以選擇FunctionsArrayArrayConstant,將它放置在流程圖中。然后再在數(shù)組框中放置數(shù)值常量、布爾數(shù)還是字符串常量。下圖顯示了在數(shù)組框放入字符串常量數(shù)組的例子。左邊是一個數(shù)組殼,中間的圖上已經(jīng)置入了字符串元素,右邊的圖反映了數(shù)組的第0個元素為:”ABC”,后兩個元素均為空。,創(chuàng)建簇控制和顯示在前面板上放置一個簇殼(Clustershell)就創(chuàng)建了一個簇。然后你可以將前面板上的任何對象放在簇中。例如數(shù)組,你也可以直接從Control工具板上直接拖取對象堆放到簇中。一個簇中的對象必須全部是Control或全是Indicator,不能在同一個簇中組合Control與Indicator。一個簇將是Control或Indicator,取決于其內(nèi)的第一個對象的狀態(tài)。如果需要可以使用工具重置簇的大小。下圖所示是一個含4個Control的簇。如果你要求簇嚴(yán)格地符合簇內(nèi)對象的大小,可在簇的邊界上彈出快速菜單選擇自動定義大小。,Waveform數(shù)據(jù)類型在數(shù)據(jù)采集和信號分析中經(jīng)常要遇到波形數(shù)據(jù),Waveform數(shù)據(jù)類型,使得波形的描述更加簡潔。Waveform數(shù)據(jù)類型包含了波形的數(shù)據(jù)(Y)、起始時刻(t0)和步長ΔX,使用Waveform模板的BuildWaveform函數(shù)可以建立一個波形。許多用于數(shù)據(jù)采集和波形分析的VI和函數(shù)的缺省狀態(tài)都接受或返回Waveform數(shù)據(jù)類型。當(dāng)你將一個Waveform數(shù)據(jù)類型連接到WaveformGraph或Chart時,會自動畫出相應(yīng)的曲線。有關(guān)這一數(shù)據(jù)類型的函數(shù)或VI在FunctionsWaveform和Analyze之中。,圖表及圖形,圖形顯示對于虛擬儀器面板設(shè)計是一個重要的內(nèi)容在LabVIEW的圖形顯示功能中Graph和Chart是兩個基本的概念。一般說來Chart是將數(shù)據(jù)源(例如采集得到的數(shù)據(jù))在某一坐標(biāo)系中,實時、逐點地顯示出來,它可以反映被測物理量的變化趨勢,而Graph則是對已采集數(shù)據(jù)進(jìn)行事后處理的結(jié)果。它先將被采集數(shù)據(jù)存放在一個數(shù)組之中,然后根據(jù)需要組織成所需的圖形顯示出來。它的缺點是沒有實時顯示,但是它的表現(xiàn)形式要豐富得多。例如采集了一個波形后,經(jīng)處理可以顯示出其頻譜圖。,Graph控件各種圖形都提供了相應(yīng)的控件,以Graph為例介紹。所有這些控件都包含在圖形快速菜單的VisibleItems選項下。曲線圖例可用來設(shè)置曲線的各種屬性,包括線型(實線、虛線、點劃線等)、線粗細(xì)、顏色以及數(shù)據(jù)點的形狀等。圖形模板可用來對曲線進(jìn)行操作,包括移動、對感興趣的區(qū)域放大和縮小等。光標(biāo)圖例可用來設(shè)置光標(biāo)、移動光標(biāo),幫助你用光標(biāo)直接從曲線上讀取感興趣的數(shù)據(jù)??潭葓D例用來設(shè)置坐標(biāo)刻度的數(shù)據(jù)格式、類型(普通坐標(biāo)或?qū)?shù)坐標(biāo)),坐標(biāo)軸名稱以及刻度柵格的顏色等。,Chart控件Chart的數(shù)據(jù)并沒有事先存在一個數(shù)組中,它是實時顯示的,為了能夠看到先前的數(shù)據(jù),Chart控件內(nèi)部含有一個顯示緩沖器,其中保留了一些歷史數(shù)據(jù)。這個緩沖器按照先進(jìn)先出的原則管理,其最大容量是1024個數(shù)據(jù)點。,例:Chart和Graph的比較,,顯示的運行結(jié)果是一樣的。但實現(xiàn)方法和過程不同。在流程圖中可以看出,Chart產(chǎn)生在循環(huán)內(nèi),每得到一個數(shù)據(jù)點,就立刻顯示一個。而Graph在循環(huán)之外,40個數(shù)都產(chǎn)生之后,跳出循環(huán),然后一次顯示出整個數(shù)據(jù)曲線。從運行過程可以清楚地看到這一點。,字符串和文件I/O,字符串字符串是ASCII字符的集合。如同其他語言一樣,LabVIEW也提供了各種處理字符串的功能.創(chuàng)建字符串控制對象和顯示對象可以在ControlsString&Table中看到右邊所顯示字符串控制對象和顯示對象。還可以使用操作工具或者標(biāo)簽工具輸入或者改變字符串控制對象中的文本。用移位工具拖曳字符串控制對象和顯示對象的邊角可以增大它們的面積。,文件的輸入/輸出(I/O)文件I/O功能函數(shù)是一組功能強大、伸縮性強的文件處理工具。它們不僅可以讀寫數(shù)據(jù),還可以移動、重命名文件與目錄。創(chuàng)建電子表格格式的、由可讀的ASCII文本組成的文件,以及為了提高讀寫速度和壓縮率采用二進(jìn)制的格式寫入數(shù)據(jù)??梢圆捎孟旅嫒N文件格式存儲或者獲得數(shù)據(jù):ASCII字節(jié)流,數(shù)據(jù)記錄文件,二進(jìn)制字節(jié)流。,文件I/O功能函數(shù),大多數(shù)的文件I/O操作都包括三個基本的步驟:打開一個已有的文件或者新建一個文件;對文件進(jìn)行讀寫;關(guān)閉文件。LabVIEW在FunctionsFileI/O中提供了很多有用的工具VI。這些工具VI可以把錯誤檢查和錯誤處理等功能與文件I/O功能函數(shù)結(jié)合起來。,,以下5個功能從左到右對應(yīng)于上面5個圖標(biāo)。WriteToSpreadsheetFileVI——用于將由單精度數(shù)值組成的一維或者二維數(shù)組轉(zhuǎn)換成文本字符串,再將它寫入一個新建文件或者已有文件。該VI先打開或者新建文件,之后再關(guān)閉文件。它可以用于創(chuàng)建能夠被大多數(shù)電子表格軟件讀取的文本文件。ReadFromSpreadsheetFileVI——用于從某個文件的特定位置開始讀取指定個數(shù)的行或者列內(nèi)容,再將數(shù)據(jù)轉(zhuǎn)換成二維、單精度數(shù)組。該VI先打開文件,之后再關(guān)閉文件。它可以用于讀取用文本格式存儲的電子表格文件。WriteCharactersToFileVI——用于將一個字符串寫入一個新建文件或者已有文件。該VI打開這個文件、寫入數(shù)據(jù),再關(guān)閉文件。ReadCharactersFromFileVI——用于從某個文件的特定位置開始讀取指定個數(shù)的字符。該VI先打開文件,之后再關(guān)閉文件。ReadLinesFromFileVI——用于從某個文件的特定位置開始讀取指定個數(shù)的行內(nèi)容。該VI先打開文件,之后再關(guān)閉文件。,,數(shù)據(jù)采集,數(shù)據(jù)采集結(jié)構(gòu)上圖表示了數(shù)據(jù)采集的結(jié)構(gòu)。在數(shù)據(jù)采集之前,程序?qū)AQ板卡初始化,板卡上和內(nèi)存中的Buffer是數(shù)據(jù)采集存儲的中間環(huán)節(jié)。需要注意的兩個問題是:是否使用Buffer?是否使用外觸發(fā)啟動、停止或同步一個操作。,,緩沖(Buffers),這里的緩沖指的是PC內(nèi)存的一個區(qū)域(不是DAQ卡上的FIFO緩沖),它用來臨時存放數(shù)據(jù)。下列情況需要使用BufferI/O:需要采集或產(chǎn)生許多樣本,其速率超過了實際顯示、存儲到硬件,或?qū)崟r分析的速度。需要連續(xù)采集或產(chǎn)生AC數(shù)據(jù)(>10樣本/秒),并且要同時分析或顯示某些數(shù)據(jù)。采樣周期必須準(zhǔn)確、均勻地通過數(shù)據(jù)樣本。,觸發(fā)(Triggering),觸發(fā)涉及初始化、終止或同步DAQ事件的任何方法。觸發(fā)器通常是一個數(shù)字或模擬信號,其狀態(tài)可確定動作的發(fā)生。下列情況使用軟件觸發(fā):用戶需要對所有DAQ操作有明確的控制,并且事件定時不需要非常準(zhǔn)確。下列情況使用硬件觸發(fā):DAQ事件定時需要非常準(zhǔn)確。用戶需要削減軟件開支。DAQ事件需要與外部裝置同步。,簡單AnalogI/O,這是LabVIEW提供的一組標(biāo)準(zhǔn)的、簡單易用的DAQVI。AnalogInput從左到右,4個VI的功能為:從指定通道獲得一個樣本。從由通道字符串規(guī)定的一組通道每通道獲得一個樣本。這些樣本返回到一個樣本數(shù)組,順序由通道號決定。按指定的采樣率由一個通道得到一個波形(一組覆蓋一個周期的樣本),這些樣本返回到一個wareform數(shù)組。從由通道字符串規(guī)定的每個通道獲得一個波形。這些樣本返回到一個波形的2維數(shù)組,順序由通道號和采樣周期決定。通道數(shù)據(jù)的每個點占1列,時間增量由行決定。,AnalogOutput從左到右,4個VI的功能為:在指定輸出通道設(shè)置一個規(guī)定電壓。在指定輸出通道設(shè)置一組規(guī)定電壓。這些電壓在輸出通道一直保持恒定,直到其自身改變或裝置復(fù)為位。在指定輸出通道產(chǎn)生一個波形,波形的點(以電壓為單位)是預(yù)先由波形數(shù)組提供的。更新速率(Updaterate)規(guī)定了兩個點之間的時間。與上類似,多波形,每通道一個,可同時發(fā)生。每個波形存放在2維數(shù)組的1列。,謝謝觀看,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 精密 測試 技術(shù) 課程 講義 虛擬儀器
鏈接地址:http://www.820124.com/p-3815614.html