版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1上次課內容復習 在VI中,結構控制數(shù)據(jù)流執(zhí)行。While循環(huán)結構控制程序反復執(zhí)行框內程序,直到滿足其結束循環(huán)的條件。 For循環(huán)控制框內程序段執(zhí)行指定的次數(shù), 循環(huán)次數(shù)由連接到計數(shù)端口的值確定。 在循環(huán)邊框可建立多個移位寄存器,使用移位寄存器可在循環(huán)體的循環(huán)之間傳遞數(shù)據(jù)。For循環(huán)和While循環(huán)都可以使用移位寄存器。波形圖表可以實時顯示數(shù)據(jù)變化趨勢,具有三種不同顯示模式。在波形圖表或它的各個組成部分上彈出菜單, 可修改圖表顯示的屬性和參數(shù)。 控制循環(huán)時間最常用、最簡單的方法。2 什么是結構? 結構用于控制 G程序的數(shù)據(jù)流向。 G語言常用5種結構如下: While循環(huán)結構 For循環(huán)結構 C
2、ase(條件)結構 Sequence(順序)結構 對數(shù)據(jù)流的執(zhí)行順序作出強制規(guī)定 事件結構 用以對用戶操作作出響應和處理3第4章 條件結構、順序結構、公式節(jié)點和事件結構 授課內容包括書本P114-126:6.2、條件結構6.3、順序結構6.4、公式節(jié)點6.5、事件結構12/32學時4 1學習條件結構、順序結構、事件結構和公式節(jié)點的基本概念。 2. 學習如何使用這三種結構和公式節(jié)點。本次課的學習目標54.1 條件結構(也叫Case結構) “條件結構”是一種多分支程序控制結構,類似于 C 語言的 switch 多分支選擇結構。switch(表達式) case 常量表達式1 : 語句組1 ; cas
3、e 常量表達式2 : 語句組2 ; case 常量表達式n : 語句組n ; default : 語句組n+1 ; 6switch(表達式) case 常量表達式1 : 語句組1 ; break; case 常量表達式2 : 語句組2 ; break; case 常量表達式n : 語句組n ; break; default : 語句組n+1 ; break語句必不可少!7對于情況A:執(zhí)行對于情況B:執(zhí)行.其他:執(zhí)行計算表達式值.語句1語句2語句n語句n+1表達式值= 時該開關合上,執(zhí)行語句184.1.1 條件結構框圖的創(chuàng)建: 創(chuàng)建:在函數(shù)選板編程結構中選擇“條件結構”,在程序框圖上按住鼠標左鍵
4、拖出條件結構框圖,然后將在該條件下執(zhí)行的程序放入相應的條件結構框圖內。94.1.2 條件結構的組成: 分支選擇器減量按鈕增量按鈕選擇器標簽在該分支下執(zhí)行的框圖程序 條件結構有一個或多個子框圖。每個子框圖都是一個執(zhí)行分支,每一個執(zhí)行分支都有自己的選擇器標簽。執(zhí)行條件結構時,與接入分支選擇器數(shù)據(jù)相匹配的標簽對應的框圖得到執(zhí)行。書:P114圖6-1510布爾型選擇結構 枚舉型選擇結構 字符串型選擇結構 與C語言Switch語句相比,LabVIEW的選擇結構更加靈活。分支選擇器端子的值可以為以下四種:布爾型、整型、字符串型或者枚舉型。整型選擇結構 11LabVIEW中的枚舉類型: 與C語言中的枚舉類型
5、定義相同,可以認為是一種受到約束或限制的字符串類型。它提供了一個選項列表,其中每一項都包含了一個字符串標識和數(shù)字標識,數(shù)字標識與每一選項在列表中的順序一一對應。枚舉控件的值:0(n-1)的正整數(shù)12 分支選擇器端子的值的類型決定了選擇器標簽的值的類型。當分支選擇器端子的值為布爾型時,選擇器標簽的值為“真”或“假”。當分支選擇器端子的值為整型時,選擇標簽的值為整數(shù)0,1,2選擇框架的個數(shù)可根據(jù)實際需要確定。當分支選擇器端子的值為字符串型或者枚舉型時,選擇器標簽的值為由雙引號括起來的字符串。13 注意:在使用條件結構時,分支選擇器端子的數(shù)據(jù)類型必須與選擇器標簽中的數(shù)據(jù)類型相一致,否則程序會報錯,無
6、法運行。在 LabVIEW中,對于分支為整型的條件結構必須包含處理超出范圍值的默認分支(選擇器標簽中必須包含“默認”項);對于其它類型的條件結構可設可不設,但必須明確地列出每一個可能的輸入值。 14選擇器標簽可以按照 列表 和 范圍 指定。列表:項目之間用英文逗號(,)隔開。范圍:用兩個英文句號(.)表示。.-1:-1 7. :76,默認:當分支選擇器端子的值為6以及其他未明確指出的數(shù)字(此處為0,2,5)1,3,4:當分支選擇器端子的值為1或3或4時書:P115圖6-1615課堂小練習:選擇器的標識值的設定: 2016課堂小練習答案:選擇器的標識值的設定: 20.910.2021.174.1
7、.3 條件結構邊框上彈出的快捷菜單。(書:P115)18快捷菜單:重排分支重排之前重排之后對分支列表自動排序19快捷菜單:將子框圖程序交換至分支A B C DD B C A將當前分支內容與目標分支內容對換,其他分支內容不受影響??旖莶藛危簩⒆涌驁D程序移位至分支(書本上的版本為:“將程序框圖轉換為分支”)P115將當前分支內容移動到目標分支內容之后,其他分支內容按照原來的順序做出相應的移動。例子見書:P116圖6-18A B C DB C D A注意二者之區(qū)別204.1.4 數(shù)據(jù)的輸入和輸出通道 當由外部節(jié)點向結構框架連線時,在結構邊框就創(chuàng)建了輸入通道,而當由框內節(jié)點與邊框連線時,在結構邊框就建
8、立了輸出通道。 輸出通道不正確連接對所有Case分支來說對于輸入通道的數(shù)據(jù)可以使用,也可以不使用。只要有一個分支提供輸出數(shù)據(jù),所有分支Case都必須與輸出通道連接。當輸出通道連接不正確時,為空心方框。連接正確時,為實心方框。 214.1.5 條件結構應用舉例 目的:求一個數(shù)的平方根,若該數(shù)0,計算該值平方根并將計算結果輸出;若該數(shù)0時,則用彈出式對話框報告錯誤,同時輸出錯誤代碼“-999.99”。 應該如何寫程序?22程序框圖:23運行結果:244.2 順序結構 在VI中,程序的運行是靠數(shù)據(jù)流來驅動的,利用數(shù)據(jù)流機制可以實現(xiàn)很多順序執(zhí)行的功能。但是只有數(shù)據(jù)流控制的順序執(zhí)行還不夠,在某些復雜的情
9、況下,需要更強的順序執(zhí)行控制結構。引入了“順序結構”的概念。如上圖,當且僅當A、B、C個節(jié)點執(zhí)行完,使得D節(jié)點的個輸入數(shù)據(jù)都到達D節(jié)點后,D節(jié)點才執(zhí)行。但要注意,這里并沒有規(guī)定A、B、C個節(jié)點的執(zhí)行順序。在LabVIEW中這種情況下,A、B、C的執(zhí)行順序是不確定的。如果你需要對它們規(guī)定一個確定的順序,那就需要使用 “順序結構”。 ADCB254.2.1 順序結構的創(chuàng)建:順序結構分為層疊式順序結構和平鋪式順序結構。二者功能完全相同,其區(qū)別僅為表現(xiàn)形式的不同。層疊式順序結構節(jié)省框圖程序空間平鋪式順序結構方便程序閱讀函數(shù)選板編程結構26利用鼠標左鍵拖拽出第0幀順序結構之后,在結構邊框上右擊鼠標,選擇
10、“在后面添加幀”。順序結構會按框圖標識符0,1,2的順序,從第0幀開始,一幀一幀按順序執(zhí)行每一幀框圖程序。 274.2.2 順序結構的組成:平鋪式順序結構:第0幀第1幀第2幀層疊式順序結構:減量按鈕增量按鈕選擇器標簽當前為第0幀28 4.2.3 層疊式順序結構局部變量的創(chuàng)建 層疊式順序結構有一種稱為“順序局部變量”的機制,用在不同幀之間實現(xiàn)數(shù)據(jù)傳遞。而平鋪式順序結構由于各幀都是可見的,無需借助“順序局部變量”來傳遞數(shù)據(jù)。 添加“順序局部變量”的方法:添加“順序局部變量”后29有三個幀的順序結構局部變量 順序結構的輸出通道僅能有一個數(shù)據(jù)源 數(shù)據(jù)源能被后續(xù)所有幀使用, 但在源幀前面的幀中不能使用(
11、為實心方框) 源幀順序結構對編寫代碼很有幫助,但是不能濫用!書本:P119304.2.4 順序結構應用舉例 將一隨機數(shù)發(fā)生器產(chǎn)生的數(shù)字(0-100之間的整數(shù))與前面板輸入的整數(shù)(0-100之間)進行比較,計算當兩個數(shù)匹配時所執(zhí)行的次數(shù)以及所耗時間。任務如何進行分解?31任務分解:產(chǎn)生0-100整數(shù)隨機數(shù),并與指定數(shù)相比較。相等則停止,不等則繼續(xù)循環(huán)。 產(chǎn)生0-100隨機數(shù) 取整 比較是否相等計算循環(huán)次數(shù)。上述兩個問題可以用While循環(huán)可以解決。計算耗費時間。我們面對的新問題,從“函數(shù)”“編程”“定時”中去尋找答案。32利用While循環(huán)來實現(xiàn):利用順序結構來實現(xiàn)什么?開始計時、運行、結束計時
12、這3個狀態(tài)。33利用順序結構來實現(xiàn):34平鋪式層疊式順序結構:354.3 公式節(jié)點引入公式節(jié)點的必要性: LabVIEW為G語言,通常為圖形化編程。但是,一些復雜的算法(數(shù)學公式)無法完全依賴圖形代碼來實現(xiàn),或者實現(xiàn)起來太麻煩。比如:36 使用算數(shù)功能函數(shù)實現(xiàn) 使用公式節(jié)點計算方程式 簡單明了公式節(jié)點的優(yōu)點374.3.1 公式節(jié)點的創(chuàng)建:函數(shù)選板編程結構38 添加輸入輸出端子 394.3.2 公式節(jié)點語法 公式節(jié)點中代碼的語法與C語言非常接近,但是只能實現(xiàn)基本的邏輯流程和運算,不能對文件或設備進行操作或通信,沒有輸入輸出語句。主要有以下幾種語句:1)變量聲明:float a;2)賦值語句:a+
13、=b;3)條件語句:if語句;ifelse語句4)循環(huán)語句:dowhile語句;while語句;for語句5)switch語句可以對語句進行注釋。注釋方法為/或/*/40注意:1.輸入、輸出端子不是以在公式節(jié)點的邊框上的位置來決定的。左=輸入;右=輸出。輸出端子的邊框線比輸入端子粗。2.輸入、輸出端子的數(shù)量無限制,且可以在邊框上隨意拖動。3.輸入、輸出端子的名稱必須與公式節(jié)點文本代碼中的輸入、輸出變量名稱相同。4.各輸入端子之間名稱不可相同;各輸出端子之間名稱也不可相同;但是輸入端子與輸出端子之間名稱可以相同(但應盡量避免)。41注意:5.公式節(jié)點文本代碼中的每一個變量(包括中間變量)都必須有
14、一個輸入或輸出端子與之對應。y雖然為一個中間變量,也必須要有一個輸出端子與之對應!424.3.3 公式節(jié)點應用實例 使用公式節(jié)點創(chuàng)建一個VI,完成下面公式計算,并將結果顯示在同一個屏幕上。 y1 = m*x*3 b*x*2 + 5 y2 = m * x + b 此處,x取值為0 10。前面板用哪個循環(huán)呢?43框圖程序:444.4 事件結構4.4.1. 引入事件結構的意義:考慮如下程序目的:當用戶單擊“Hit me”按鈕時,計數(shù)器“Hit Counter” 加1。45Hit Counter:局部變量,只是在同一程序內部使用,每個局部變量都對應前面板上的一個控件。一個空間可以創(chuàng)建多個局部變量。上述
15、While循環(huán)+case結構的缺點:1. 當用戶沒有單擊“Hit me”按鈕時處于“空轉”狀態(tài),浪費了大量的計算機資源。2. 當事件發(fā)生速度太快時,事件有可能會被忽略。46為解決上述問題,LabVIEW提供了“事件結構”。僅當事件發(fā)生時,程序才做出相應的響應,類似于VC或VB編程中的事件。通過事件結構:程序變得簡單,降低CPU利用率;當多個事件發(fā)生時會形成事件隊列,直到每個事件對應的代碼都被執(zhí)行為止,因此不會有時間被遺漏的情況。474.4.2. 事件結構的創(chuàng)建:函數(shù)選板編程結構484.4.3. 事件結構的組成:事件超時事件數(shù)據(jù)節(jié)點選擇器標簽49選擇器標簽:標識當前顯示的子框圖所處理事件的事件源
16、。事件數(shù)據(jù)節(jié)點:為子框圖提供所處理事件的相關數(shù)據(jù)。 類型:觸發(fā)事件的類型 時間:觸發(fā)時間事件超時:接入超時時間(ms),超過超時時間將觸發(fā)超時事件。-1用不超時。事件結構的組織方式是把多個子框圖堆疊在一起,根據(jù)所發(fā)生的事件的不同,每次只有一個子框圖得到執(zhí)行,并且該子框圖執(zhí)行完后,事件結構隨之退出。504.4.4. 事件結構邊框上彈出的快捷菜單:書:P123514.4.5. “編輯事件”對話框:具體介紹詳見書P124。52LabVIEW的事件分為通知事件和過濾器事件兩種。 通知事件(綠色箭頭):當事件發(fā)生時通知程序運行該事件所對應的代碼。大部分情況下使用這種事件。 過濾器事件(紅色箭頭,后帶?):當事件發(fā)生時可以選擇是不是過濾該事件(亦即:可以定制自己的事件處理辦法)。 事件結構必須放在While循環(huán)中,否則沒有意義。因為當一個事件完成以后,程序需要等待下一個事件的發(fā)生。53例子:用事件結構編寫按鈕按下計數(shù)程序。要求:由Hit Counter 計數(shù)按下Hit Me的次數(shù)。當5秒內沒有按下Hit Me按鈕時,出現(xiàn)超時提示。當按下“停止”按鈕后,程序結束運行。5-1 事件結構之按鈕計數(shù)(657).wmv54小 結 條件結構(Case 結構)是一種多分支程序控制結構,執(zhí)行哪個分支由選擇
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 下學期教皇的奶牛-課件
- 《證券投資相關》課件
- 《湖泊的水文特征》課件
- 《語文下冊《雪》魯迅》課件
- 七年級英語上冊期末復習課件
- 單位管理制度集粹選集人力資源管理
- 單位管理制度匯編大全人力資源管理篇
- 單位管理制度合并匯編【人事管理篇】
- 單位管理制度范文大合集員工管理篇
- 單位管理制度范例匯編人事管理篇
- 中國特色大國外交和推動構建人類命運共同體
- 《風電場項目經(jīng)濟評價規(guī)范》(NB-T 31085-2016)
- 粗粒土和巨粒土最大干密度記錄表及報告
- 愛麗絲夢游仙境話劇中英文劇本(共6頁)
- 書法少年宮活動記錄
- 表冷器性能計算書
- 走遍德國 A1(課堂PPT)
- 照明公司個人工作總結范文
- 熱控專業(yè)施工質量驗收范圍劃分表
- 2022年sppb簡易體能狀況量表
- 各類傳染病個案調查表集
評論
0/150
提交評論