LabVIEW基础课程训练_第1页
LabVIEW基础课程训练_第2页
LabVIEW基础课程训练_第3页
LabVIEW基础课程训练_第4页
LabVIEW基础课程训练_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LabVIEW2011

Lab基礎課程訓練Chapter1

虛擬儀器(VI)的介紹LabVIEW

(LaboratoryVirtualInstrumentEngineeringWorkbench)是採用圖形(Graphics)物件與方式來進行程式邏輯的規劃與建立程式執行的環境,所以也可稱為”G程式語言”。使用LabVIEW開發平臺編制的程式稱為虛擬儀表程式,簡稱為虛擬儀表VI

(VirtualInstrument)。VI包括三個部分:人機介面(FrontPanel)、程式方塊圖(BlockDiagram)和圖示/連接器。程式前面板用於設置輸入數值和觀察輸出量,用於模擬真實儀錶的前面板。在程式前面板上,輸入量被稱為控制(Controls),輸出量被稱為顯示(Indicators)。控制和顯示是以各種圖示形式出現在前面板上,如旋鈕、開關、按鈕、圖表、圖形等,這使這得前面板直觀易懂。每一個程式前面板都對應著一段框圖程式。框圖程式用LabVIEW圖形編程語言編寫,可以把它理解成傳統程式的原始碼。框圖程式由埠、節點、圖框和連線構成。其中埠被用來與程式前面板的控制和顯示傳遞資料,節點被用來實現函數和功能調用,圖框被用來實現結構化程式控制命令,而連線代表程式執行過程中的資料流程,定義了框圖內的資料流程動方向。1.1程式方塊圖(BlockDiagram)與人機介面(FrontPanel)1.2主要的選單、面板、與工具列LabVIEW具有多個圖形化的操作面板,用於創建和運行程式。這些操作範本可以隨意在螢幕上移動,並可以放置在螢幕的任意位置。操作面板共有三類,為工具(Tools)面板、控制(Controls)面板和函數(Functions)面板。工具面板(Tools

Palette):提供了各種用於建造、修改和調試VI程式的工具。控制面板(ControlsPalette):可以在人機介面開啟輸入控制和輸出顯示,僅顯示於人機介面。函數面板(FunctionsPalette):用來創建程式方塊圖的工具,僅顯示於程式方塊圖。VI視窗頂端有一排選項為主要選單,如下圖所示:在主要選單下方為工具列(ToolBar),用來控制VI的執行與除錯。如下圖所示:執行控制除錯工具字型選項排列表單(a)ControlPalette(b)FunctionPalette(c)ToolPalette1.3範例搜尋器1.4

輔助視窗OnlineHelpChapter2LabVIEW程式撰寫這個章節將介紹LabVIEW環境的基本知識與簡易的操作,包括如何載入與儲存VI、特別的函式庫、ExpressVIs的使用、除錯功能、子VI的基本知識與特性、以及文件檔案的製作流程。2.1控制元與顯示元的概敘LabVIEW控制面板中的子面板所包含的內容分為四類簡單的控制元與顯示元:數值(Numeric)、布林(Boolean)、字串(String)及較少用的路徑(Path)與裝置元件(Decorations)。簡單的總結為:數值(Numeric):包含標準的數值。布林(Boolean):可以有兩個狀態中之一種,開(on)或關(off)、1或0。字串(String):包含文字資料,雖然可以包含數值字元,但是對字串資料做任何數學運算之前,必須將其轉換成數值資料。路徑(Path):提供一個與平台無關的資料型態,特別對檔案路徑更是如此。裝置元件(Decorations):協助進行人機介面的美化。2.2接線與斷線接線:當需要連接兩個端點時,在第一個端點上點擊連線工具(從工具面板中選取),然後移動到另一個端點,再點擊第二個端點。端點的先後次序並不會影響資料流程動的方向。斷線:連線錯誤時,不會有正常顏色與型態的線,而是出現中間有個叉的斷線,黑色虛線。可以藉由選取或刪除的方式來移除斷線(Ctrl-B)。如下所示常見的接線錯誤(需多加注意):接線型態、維度、單位或是元素衝突,接線有多個來源,沒有來源的接線或接線循環等都是發生錯誤的原因。連線是埠間的資料通道,類似於普通程式中的變數。資料是單向流動的,從來源埠向一個或多個目的埠流動。不同的線型代表不同的資料類型。另外每種資料類型以不同的顏色予以分辨強調。

標量一維數二維數

2.3程式撰寫小訣竅較熟練LabVIEW程式之後,接下來將介紹一些技巧能夠更快並且順利地處理VI的撰寫過程。也可以省下不少時間。介紹幾個較常用也能有效提升效率的小技巧:鍵盤捷徑、範例搜尋等。鍵盤捷徑Ctrl-B:將程式方塊圖中所有斷線移除。Ctrl-E:在人機介面與城市方塊圖間切換。Ctrl-F:尋找一個LabVIEW的物件或文字。Ctrl-G:尋找下一個LabVIEW的物件或文字。Ctrl-H:顯示/隱藏輔助視窗。Ctrl-N:建立一個新的VI。Ctrl-Q:放棄目前使用中的LabVIEW程式。Ctrl-R:執行目前的VI。Ctrl-W:關閉目前的VI。Ctrl-.:停止目前的VI。Ctrl-T:將人機介面與程式方塊圖並列左右。範例搜尋2.4載入與儲存VI載入VI,從主選單中的File開啟Open功能,會出現一個對話框,顯示載入過程和狀態視窗說明目前載入狀況。儲存VI,從主選單中的File開啟Save功能,會出現一個對話框來選擇VI儲存的路徑。File選單中有兩種主要儲存方式可以選擇:

a)選擇Save功能,可以指定名稱與路徑來儲存一個新的VI,或更新修改後的檔案。

b)選擇SaveAs…功能,會出現一對話框,選擇該如何另外儲存現有的VI。如下圖所示:2.5

ExpressVIs

的使用ExpressVIs是LabVIEW7.X版之後才有的新功能,目的在於更簡化圖形化語言規劃的流程。協助LabVIEW程式開發過程中,大量的降低程式語法所面臨的障礙,同時縮短開發到實現的時間。目前提供的ExpressVIs依據人機介面和程式方塊圖區分為以下二類。ControlPaletteExpressFunctionPaletteExpress以下介紹FunctionExpress面板中七個子面板之各功能:Input子面板:針對外部硬體(DAQ)輸入、模擬訊號輸入、檔案輸入、訊號輸入以及NI公司專屬的NI-DMM與NI-SCOPE等。SignalAnalysis子面板:量測專屬、曲線擬合、濾波器、統計、捲積與相關性分析、模擬訊號、Mask&LimitTest、以及直方圖等相關的功能。Output子面板:外部硬體(DAQ)輸出、檔案輸出、報表輸出、字串處理以及使用者訊息輸出等。ExecutionControl子面板:程式執行架構會使用到的功能,有WhileLoop、FlatSequence、CaseStructure、TimeDelay、ElapsedTime等。Arithmetic&Comparison子面板:主要為四則運算、邏輯處理等相關之功能。

SignalManipulation子面板:訊號操作等相關功能,是最常會使用到的Express面板2.6除錯技術撰寫程式的過程中,除錯是十分重要的一環。這個章節將介紹如何判斷問題的來源,並針對不同型態的錯誤可以採取的對策。判斷錯誤最直觀的方式就是當執行鍵變成一個中斷的箭頭時,表示這個VI無法編譯或執行。按一下中斷的執行鍵,或是由選單選擇ShowErrorList,可以看到列出所有錯誤的訊息對話框,在錯誤列表中選擇錯誤事項快點兩下可找出發生錯誤之位置,由此對找出錯誤並除錯有相當大的幫助。常見的錯誤有些常見的錯誤在編譯程式中較常發生,以下列出常見錯誤與原因,可以提早避免發生類似錯誤。需要輸入的函數圖示沒有接線,必須在執行程式前接線。程式方塊圖中包含斷線,檢查資料格式是否不符,或無主端點。斷線可能藏在物件後,利用之前斷線技巧去除斷線。子VI發生錯誤或被修改過,而使輸出入之接點變不同。可以使用彈出式選單使用Replace或RelinktoSubVI的功能處理。將兩個控制元連接在一起,或將兩個控制元連接到同一個顯示元。這種情況在錯誤列表中會顯示”Signal:

hasmultiplesources.”或”YouhaveconnectedaControltoaControl.Changeonetoanindicator.

”可以嘗試將某些控制元變更為顯示元,只留一個控制元,便可解決錯誤。資料流向顯示與探針使用資料流向顯示:能夠清楚觀察資料目前的執行狀況,對除錯相當有幫助。在工具列選單中的資料流向顯示鍵,就可以看見VI方塊圖中的執行狀況。是以一個小圓點在接線上流動,來模擬資料在節點傳遞的狀況。使用探針:利用工具列的探針工具,來確認執行中產生的數值與狀態是否有問題,或發生未預期的結果。為了檢測這些結果,可以產生一個顯示元來即時顯示接線上的結果。除了以上兩種方式,還可以搭配單步執行、設定暫停點和暫停執行等功能來協助提升除錯效率。Chapter3程式執行架構程式架構是一種重要的節點型態,與標準程式語言中的控制架構類似,負責VI程式流程的管理。這個章節將介紹LabVIEW環境中主要的程式架構:While迴圈、For迴圈、條件程式架構與循序程式架構。並介紹圖控程式中移位暫存器的重要。3.1迴圈LabVIEW

中有兩種架構可以用來控制重複執行一個子程式方塊圖:While迴圈、For迴圈。For迴圈:執行設定的次數。While迴圈:條件皆點為True時,會一直執行迴圈。特別注意:無論是While迴圈或For迴圈的第一次遞迴,次數接點的值是0。For迴圈計次接點(CountTerminal)

該接點之數值為迴圈執行次數。接點為0時,迴圈不執行。LoopIteration端點傳出目前執行完畢之迴圈次數;迴圈執行第一次為0,第二次為1,直到N-1,N為欲執行迴圈之次數。While迴圈LoopIteration端點傳出目前執行完畢之迴圈次數;迴圈執行第一次為0。Loop

Condition端點

連接之布林值為TURE時會執行下一迴圈,反之FALSE時,則停止迴圈內所有程式動作,離開迴圈。若再狀態接點之預設值為FALSE,則While迴圈方塊內子程式方塊圖只會執行一次。3.2移位暫存器(ShiftRegister)移位暫存器使用於For迴圈與While迴圈,是一種特殊形態的變數,可在迴圈的前次或後次遞迴間進行數值轉移。在迴圈的左右框界上選取彈出式選單AddShiftRegister。移位暫存器包含迴圈左右兩個框界上的一對接點

。當一次遞迴即將完成時,右邊的接點會將資料儲存下來。資料在遞迴結束時會移位,並在下次遞迴開始前出現在右側接點。「多個變數儲存在多個移位暫存器」和「單一移位暫存器儲存之前多次遞迴的單一變數」兩者的十分不同,有清楚了解之間的差異。3.3

條件架構(CaseStructure)條件架構是一種可依條件文字來執行的方法,類似C語言中的Switch語法,但在搭配不同的使用條件時,也能達到if…、else…的效果。特別注意:在輸出的部份必須為每種CASE都設定一個輸出值,或是在節點上右鍵選單中選擇(UseDefaultUnwired),一般為0或者False。條件架構3.4循序架構(SequenceStructures)循序架構能夠強制規定程式執行的順序,因為LabVIEW本身是使用接線來串聯各個ICON函數執行的程式,因此在大多數狀況下,都可以藉由接線的連結規劃來達到控制流程的目的,而且這樣能夠避免過多的結構影響版面,並減少浪費系統資源。計時:有時候監控VI的執行時間是必要的,Functions面板→Programming→Timing下等函數可以執行。Wait(ms)函數:令VI等待特定秒數後繼續執行。WaitUntilNextmsMultiple函數:等待輸入時間之整數倍才繼續執行。TickCount(ms):用來計算執行時間,傳回作業系統內部之時間,毫秒為單位。計時Timing3.5公式節點(FormulaNode)需要複雜的算式函數時,可以利用公式節點來取代程式方塊圖架構的算式函數,直接在視窗內輸入公式即可。每個公式的敘述結尾處都要有一個分號(;)。MATLABScriptNode與公式節點大致相同,差異處為支援的語法為MATLAB。Chapter4複合資料型態:陣列與資料叢集這個章節將介紹陣列與資料叢集兩種複合資料型態,在儲存與處理資料時能較有彈性,使用上也更加方便。並學習如何使用LabVIEW的內建函數來處理。陣列與相關的函數可以說是LabVIEW最常使用的部份,不論在數字或者字串幾乎都會使用到,所以在這個章節也會多加強調。在必要的時候將陣列改為叢集或叢集改為陣列都會方便程式的進行,ClustertoArray函數和ArraytoCluster函數可以達到這樣的需求。4.1陣列LabVIEW陣列所指的是一群全部具有相同資料型態之資料元素(elements)的集合;這與傳統的程式語言相同。一個陣列可以有一個或多個維度(dimension)。一個陣列資料元素,可以是任何型態,如數值、布林、字串等,但不能是圖表、圖形或是另一個陣列。組成元素顯示視窗引數顯示視窗陣列函數4.2複合算術函數(CompoundArithmeticFunction)複合算術函數(CompoundArithmeticFunction)可以同時進行兩個以上數值的運算,這是一個非常實用的算術函數,在資料的整理與運算上會方便許多。即使有需要同時以Add、Multiply、AND及OR等函數來進行多個數值運算,也可以減少方塊圖上端點的個數。4.3布林函數運算布林函數在LabVIEW中十分常用也非常有用,若是大家對這部分都有一定的認識就可以跳過,或是想更深入了解可以找一些邏輯設計或數位設計的書來參考。LabVIEW的布林函數包括And、Or、Not、ExclusiveOr、NotExclusiveOr、NotAnd及NotOR等。FALSEAndFALSE=

FALSE;FALSEOr

FALSE=FALSETrueAndFALSE=FALSE

;TrueOr

FALSE=TrueFALSEAndTrue=FALSE

FALSE

Or

True=TrueTrueAndTrue=True;TrueOr

True=True4.4

資料叢集資料叢集和陣列相同,都是一種將資料集合起來的資料結構。但資料叢集與陣列還有一些差異:資料叢集可以包含不同型態的資料(如數值資料,布林資料等);類似於程式語言Pascal的紀錄(record)或

C語言的結構(struct)。陣列可以動態的改變大小,而叢集大小則是固定的。叢集的建立還有一些需要注意的地方:唯有當資料型態完全相同時,才能將叢集的接點連接起來;也就是說兩個欲連接的叢集必須有相同數目的元素。叢集中的物件必須全部同為顯示元或控制元。第一次放入叢集的物件便會決定該叢集是屬於顯示元或控制元。Chapter5資料顯示功能:

圖形與圖表的應用LabVIEW的圖表與圖形功能,可以以圖形型態的方式來繪製資料點。只要新的資料來源無誤,圖表可以隨時與舊的資料結合,以互動的方式來繪製資料,讓我們可以明顯的觀察出新舊資料的關聯性。圖形則以傳統的方法繪製預先建立的陣列資料,而且無法保留過去的資料。這個章節中將介紹圖表與圖形的功能、資料型態、使用方法及其特別的性質。圖表與圖形的比較:圖表:將新的資料增補於舊的資料之後,以互動方式一次繪製一個點。讓我們可以經由此顯示功能來觀察新舊資之間的關係。圖形:將以建立的資料一起繪製於圖上,無法看到不同時段所產之資料間的相互關係。5.1波形圖表(WaveformChart)波形圖表為二維圖表,Y軸的數值對X軸以圖形顯示,通常Y軸代表繪製的資料數值,X軸表示時間或次序。波形圖表有三種更新模式:長條模式、整面更新模式與流動模式。5.2圖形(Graph)LabVIEW提供三種波形圖形的顯示選項:波形圖形、XY圖形與強度圖形。波形圖形(WaveformGraph):主要繪製單值函數,而且資料點必須均勻的分佈在X軸上,也就是說波形圖形是依據一個時間基準來繪製Y軸的數值。X

Y圖形(XYGraph):用途較為廣泛,以直角座標為基準可以繪製多值函數之圖形。強度圖形(IntensityGraph):對模式資料而言,是很好的顯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论