Presentation is loading. Please wait.

Presentation is loading. Please wait.

虛擬儀控程式設計 Lab VIEW 程式執行架構.

Similar presentations


Presentation on theme: "虛擬儀控程式設計 Lab VIEW 程式執行架構."— Presentation transcript:

1 虛擬儀控程式設計 Lab VIEW 程式執行架構

2 3.1 迴圈: for & while 在FunctionsAll FunctionsStructures子面板中,可以找到
3-P5-1 在FunctionsAll FunctionsStructures子面板中,可以找到 For 及While 兩種迴圈架構

3 For迴圈左上角有一個Count terminal (N),給定迴圈執行總次數 Remark: i= 0 ~ N-1
For loop: 3-P5-2 For迴圈左上角有一個Count terminal (N),給定迴圈執行總次數 左下角有一個Loop Iteration 接點 ( i ),記錄目前迴圈執行次數 Remark: i= 0 ~ N-1

4 3-P6-1 While loop: While迴圈與For迴圈功能類似,但其結束的條件是,當連接至
Loop Condition接點的布林值為FALSE時,迴圈則停止

5 3.1.3 在架構當中放置物件 3-P7-1 當某一物件正被移入迴圈架構中,或正被移出迴圈架構時, 該架構的邊緣會出現一個虛線外框。

6 3-P8-1 物件若非位於架構之內,而是在架構的上方或下方,該物件 的周圍會出現一個陰影

7 3.1.4 迴圈內的端點與其行為 3-P8-2 資料可以經由迴圈頁框邊界的通道小方框傳進或傳出迴圈。
若希望某一物件在每次迴圈中皆能被執行到,該物件必須置於 迴圈之中。 每次回圈都會檢查布林值

8 上圖中,左邊迴圈的數位顯示元在每次迴圈執行時都被更新, 而右邊的數位顯示元則在迴圈執行完畢時才獲得更新
3-P9-1 上圖中,左邊迴圈的數位顯示元在每次迴圈執行時都被更新, 而右邊的數位顯示元則在迴圈執行完畢時才獲得更新 會形成無窮回圈或一次回圈

9 3-P9-2 移除迴圈的方法:在迴圈邊框 上彈出選單Remove While Loop 或Remove For Loop即可 習作:3-1

10 3.1.5 移位暫存器 (使用於 for or while 迴圈裏)
移位暫存器包含迴圈左右兩框界上的一對接點。右邊接點會儲存本次 迴圈執行結果之資料,並於下次迴圈開始執行時出現於左邊接點上 Remark:暫存器可包含任何型態資料 – 數字,布林, 字串, 陣列.

11 3-P14-1 移位暫存器可經設定以留存之前數個迴圈執行結果之數值 在左邊接點上彈出選單,選取Add Element,即可建立多個接點. (可利用此方法取得多次迴圈的平均值)

12 初始值- 只進入迴圈一次. 3-P14-2 上圖說明了「多個變數儲存於多個移位暫存器」以及「單一移位暫存器
初始值- 只進入迴圈一次. 3-P14-2 上圖說明了「多個變數儲存於多個移位暫存器」以及「單一移位暫存器 儲存之前多次遞迴的單一變數」之不同

13 3-P15-1 經由通道,可將資料直接送出架構之外,或是將資料送 入架構內。而移位暫存器則是用以暫存執行結果 習作:3-2

14 3.1.6 為何需要移位暫存器 10 次迴圈為 i = 0 ~9. 上圖中,迴圈 (A) 用以計算迴圈計次端點的總和。每一次遞迴,新的總和都
3-P17-1 上圖中,迴圈 (A) 用以計算迴圈計次端點的總和。每一次遞迴,新的總和都 被儲存於移位暫存器。在迴圈結束時總和為45。迴圈 (B) 則未使用任何的移 位暫存器,所以在迴圈中無法儲存數值, 最後一值為9。 10 次迴圈為 i = 0 ~9. Disable indexing

15 3.1.7 移位暫存器之初始值設定 3-P18-1 圖左顯示設定了移位暫存器的初始值,程式執行兩次後之情況。圖右
顯示未設定移位暫存器的初始值,程式執行兩次後之情況。當程式執 行第二次時,兩種情況的初始值是不同的。 Remark: 1. 未設初始值, default =0. 2. shift register 亦可用於布林格式. 3. initial value 只進去一次.

16 3.1.8 Feedback Node之使用 3-P19-1 Feedback node的功能與移位暫存器一樣,但是可以縮小程式規劃
所需要的空間。只需要在移位暫存器上選擇彈出式選單Replace with Feedback Node即可。

17 3-P19-2 上圖中,兩個迴圈所產生的結果是一樣的

18 3.2 條件架構 Remark: 0 ~ 215-1 如上圖所示,條件架構一般具有兩個以上的子程式方塊圖 ( 或稱為狀態 )。
3-P20-1 如上圖所示,條件架構一般具有兩個以上的子程式方塊圖 ( 或稱為狀態 )。 它們會依照您連接到選擇器接點的布林值或數值,選擇其中一個子程式方塊 圖 ( 或狀態 ) 來執行。 Remark: 0 ~ 215-1

19 3-P21-1 若將選擇器上的資料格式由數值改為布林,原來的case 0與case 1將轉換為
FALSE與TRUE;但對於其它的狀態 (case 2到case n),LabVIEW並不會莽 撞地將其刪除。只是會如同上圖將告知您無法執行程式

20 3.2.1 接上輸入與輸出 並非每個狀態都要使用輸入資料或是提供輸出資料, 但若是其中一個狀態需要輸出資料,那麼所有的狀態都需要提供輸出資料. 3-P22-1 當您從某個狀態接出一個輸出時,所有的狀態在框界的相同位置 上都會出現一個小小的白色通道。在所有狀態均有資料接到輸出 通道之前,執行鍵的箭頭都是斷裂的。

21 3-P22-2 每個狀態都必須有輸出。您可以如下圖所示,選擇一個預設值 ( 狀態 ), 這解決前一頁的問題.

22 3.2.2 增加狀態數目 3-P23-1 在條件架構框界上選取彈出式選單Add Case After與Add Case Before便可在
目前狀態的前面或後面加入新的狀態。選取Remove Empty Case會刪除空架構

23 3.2.3 對話框: 具有最高位階 One Button Dialog函數 Two Button Dialog函數 習作:3.3
3-P24-1 One Button Dialog函數 3-P24-2 Two Button Dialog函數 習作:3.3

24 3.2.4 選擇函數 選擇函數的位置在Functions面板All Functions
3-P27-1 選擇函數的位置在Functions面板All Functions Comparison子面板Select函數。若s輸入值為 TRUE,傳回的值為t;若s輸入值為FALSE,傳回的值為f。

25 3-P27-2 上圖所示VI的邏輯: if ( Number >= 0) then Square Root Value = SQRT (Number) else Square Root Value = Display Message Error … Negative Number end if

26 3.3 循序架構 3-P28-1 如上圖所示,循序架構看來有如一個底片框,顯示方式與條件架構一樣,
您一次只能看到一個頁框。若欲新增頁框,只要在在架構的框界上彈出選 單,並選取Add Frame After或Add Frame Before即可。

27 3.3.1 平面模式與堆疊模式 3-P29-1 循序架構的兩種不同的顯示模式:平面模式與堆疊模式。

28 在循序架構的邊界上彈出選單,可以更換平面模式與堆疊模式
3-P29-2 在循序架構的邊界上彈出選單,可以更換平面模式與堆疊模式 Flat sequence Stacked sequence

29 3.3.2 循序區域變數 (傳遞資料到後面的頁框, 加上的sequence local 會出現在所有的框架上.)
3-P30-1 在循序架構的框界上選取彈出式選單Add Sequence Local,便可以取得循序區域 變數。欲移除該變數,只須從循序區域變數上彈出選單,然後選取Remove命令; 或用定位工具選定之後,直接將其刪除即可。

30 Input data Output variable

31 3.3.3 計時 有時候控制或監測VI的執行時間是很有用的。 Wait (ms) 函數會使 您的VI等待特定的秒數後才會繼續執行。
3-P31-2 有時候控制或監測VI的執行時間是很有用的。 Wait (ms) 函數會使 您的VI等待特定的秒數後才會繼續執行。

32 3-P32-1 Wait Until Next ms Multiple函數使得LabVIEW等待輸入時間 (millisecond multiple) 的整倍數後才繼續執行VI;它對於讓迴圈以特定的時間間隔來執行,以及讓兩個 動作同步,都是非常有用的。

33 3-P32-2 Tick Count (ms) 毫秒為單位,傳回作業系統內部的時間;通常我們用它 來計算執行時間 習作: 3.4

34 3.4 公式節點 Remark: 所有數學方程式之表示法可參考help. 3-P38-2 3-P38-1
公式節點來實現相同的式子,如圖(b)所示。 (a) (b) Remark: 所有數學方程式之表示法可參考help.

35 公式節點可實現條件演算法: 3-P38-3 上圖所示的運算元與函數都是正確的,可以在公式節點中使用。

36 習作:3.5 3-P39-1 對於如下的運算碼,可以使用公式節點來實現這段程式碼,如上圖所示。 if ( x>= 0 ) then
y = sqrt (x) else y = -99 end if 習作:3.5

37 3.5 MATLAB Script節點 3-P42-1 欲執行MATLAB文字程式節點,請點選Functions
All FunctionsAnalyze MathematicsFormula MATLAB script子面板

38 3-P42-2 將游標放置在程式方塊圖中適當的位置,按住滑鼠左鍵, 即可拖曳出一個方框

39 3.5.2將文字程式輸入到MATLAB Script節點
將寫好的MATLAB程式輸入的方法是,在MATLAB文字程式節點上按滑鼠右鍵以彈出 選單,選取Import選項即可;出現Choose a script對話框後,請選取您欲輸入的 程式檔案即可 3-P43-1

40 3-P44-1 出現Choose a script對話框後,請選取您欲輸入的程式檔案(在檔案上點兩下,或是點選右下角的「開啟」按鍵)即可

41 3.5.3 MATLAB Script 變數的輸入及輸出
欲增加輸出變數,在MATLAB文字程式節點彈出選單,選擇Add Output選項; 若要增加輸入變數,則選擇Add Input選項

42 習作:3.6 3-P46-1 若是您要為某個輸出端點建立顯示元,請在該端點上按滑鼠右鍵以彈出選單,
然後選取CreateIndicator即可。 習作:3.6


Download ppt "虛擬儀控程式設計 Lab VIEW 程式執行架構."

Similar presentations


Ads by Google