




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四講 程序結(jié)構(gòu),計算機編程的實踐表明,僅僅有順序執(zhí)行的語法和語義是不夠的,還必須有循環(huán)、分支等特殊的控制程序流程的程序結(jié)構(gòu)才可能設(shè)計出功能完整的應用程序。 LabVIEW程序結(jié)構(gòu)種類有: 1、While Loop(While循環(huán)) 2、For Loop(F循環(huán)),3、Flat Sequence Structure(平鋪的順序結(jié)構(gòu)) 4、Case Structure(分支結(jié)構(gòu)) 5、Stacked Sequence Structure (堆疊的順序結(jié)構(gòu)) 6、Formula Node(公式節(jié)點) 7、FeedBack Node(反饋節(jié)點) 8、Event Structure(事件結(jié)構(gòu)),一、循
2、環(huán)結(jié)構(gòu),1、While循環(huán),重復端子:輸出已經(jīng)執(zhí)行循環(huán)的次數(shù),條件端子,放置循環(huán)體代碼,該循環(huán)有如下特點: 計數(shù)從0開始(i=0)。 先執(zhí)行循環(huán)體,而后i+1,如果循環(huán)只執(zhí)行一次,那么循環(huán)輸出值i=0。 循環(huán)至少要運行一次。,2、For循環(huán),計數(shù)端子:循環(huán)執(zhí)行次數(shù),重復端子:輸出已經(jīng)執(zhí)行循環(huán)的次數(shù),放置循環(huán)體代碼,例1:用While循環(huán)創(chuàng)建一個可以產(chǎn)生并在圖表中顯示隨機數(shù)的VI。 前面板有一個控制旋鈕可在0到10秒之間調(diào)節(jié)循環(huán)時間,還有一個開關(guān)可以中止VI的運行。學習怎樣改變開關(guān)的動作屬性,以便不用每次運行VI時都要打開開關(guān)。,控制開關(guān),1.0,0.0,0.2,0.4,0.6,0.8,1023
3、,0,隨機信號,10.0,0.0,2.0,4.0,6.0,8.0,循環(huán)延時,ON,OFF,問題一:循環(huán)結(jié)構(gòu)內(nèi)外的數(shù)據(jù)如何傳送?問題二:當傳送的數(shù)據(jù)類型不一樣時如何處理?,使用數(shù)據(jù)隧道和自動索引功能,3、循環(huán)結(jié)構(gòu)內(nèi)外的數(shù)據(jù)交換與自動索引 循環(huán)結(jié)構(gòu)內(nèi)外的數(shù)據(jù)交換是通過隧道來進行的,方法是直接把其外部對象和內(nèi)部對象用連線連接起來。 循環(huán)的所有輸入數(shù)據(jù)值都是在進入循環(huán)之前被讀取完畢的,循環(huán)開始之后不讀取輸入數(shù)據(jù)值。輸出數(shù)據(jù)只有在完全退出循環(huán)后才有效。 循環(huán)結(jié)構(gòu)具有自動索引功能,當自動索引功能開始時,循環(huán)結(jié)束輸出的數(shù)據(jù)為數(shù)組(可以使用探針來觀察)。,例:,問題三:如何將當前循環(huán)的結(jié)果傳遞給下次循環(huán)?,使
4、用移位寄存器或反饋節(jié)點,4、移位寄存器與反饋節(jié)點,(1)移位寄存器 功能:把當前循環(huán)完成時的某個數(shù)據(jù)傳遞給下一次循環(huán)的開始。 添加移位寄存器的方法 移位寄存器的工作流程,初始化值,循環(huán)開始,第一次循環(huán),初始化值,第一次循環(huán)新值,前一次循環(huán)保留值,本次循環(huán)新值,后面的某次循環(huán),最后一次循環(huán),前一次循環(huán)保留值,本次循環(huán)新值,本次循環(huán)新值,移位寄存器工作流程,例:用For循環(huán)和移位寄存器計算一組隨機數(shù)的最大值。,注意: 1、如果不給移位寄存器指定明確的初始值,則左端子將在對其所在循環(huán)的調(diào)用之間保留數(shù)據(jù)。 2、一個移位寄存器可以有多個左端子,但只能有一個右端子,這時多個左端子中將保留前面多次循環(huán)的數(shù)據(jù)
5、值。能夠保存的數(shù)據(jù)值數(shù)目與左端子數(shù)目相同。在左端子上,最近一次循環(huán)的結(jié)果保留在最上面的端子,原來的數(shù)據(jù)會向下被擠到第二個端子上,第二個左端子的數(shù)據(jù)被擠到第三個端子上,依此類推。最后一個端子中的數(shù)據(jù)被拋棄。(舉例說明),例:創(chuàng)建一個可以在圖表中顯示運行平均 數(shù)的VI。,(2)反饋節(jié)點 與只有一個左端子的移位寄存器的功能完全相同,同樣用于在兩次循環(huán)之間傳遞數(shù)據(jù),是一種更簡潔的表達方式。,練習: 1、分別用While和For循環(huán)編寫1到100的自然數(shù)累計器。,二、分支結(jié)構(gòu)(Case),選擇器端子,減量按鈕,分支選擇器標簽,增量按鈕,分支下的子框圖區(qū)域,結(jié)構(gòu)內(nèi)外如何進行數(shù)據(jù)傳輸?,通過隧道 注意:如果
6、任何一個分支提供了輸出數(shù)據(jù),則所有的分支也都必須提供輸出數(shù)據(jù),否則程序出錯。,例:創(chuàng)建一個VI以檢查一個數(shù)值是否為正數(shù)。如果它是正的,VI就計算它的平方根,反之則顯示出錯。,分支結(jié)構(gòu)的子框圖,可以有多個 子框圖標識符可以是數(shù)字、布爾、字符串等類型控件,例:查詢水果價格,三、順序結(jié)構(gòu),1、堆疊的順序結(jié)構(gòu),執(zhí)行順序結(jié)構(gòu)時,執(zhí)照子框圖序號由小到大逐個執(zhí)行,最小序號為0。 每個子框圖都稱為一個幀。 幀與幀之間的數(shù)據(jù)傳遞需要借助局部變量機制。(后面再講),2、平鋪的順序結(jié)構(gòu) 與堆疊的順序結(jié)構(gòu)實現(xiàn)相同的功能,其區(qū)別在于表現(xiàn)形式不同。,優(yōu)點: 把每個幀平鋪開來比較直觀,方便代碼閱讀,不需借助局部變量這種機制
7、在幀之間傳遞數(shù)據(jù)。 缺點:浪費空間。,例:求循環(huán)時間,四、公式節(jié)點,通過公式節(jié)點,用戶可以實現(xiàn)復雜的數(shù)學公式,還可以通過文本編程寫一些基本的邏輯語句,如ifelse、case、while循環(huán)之類的語句,彌補了圖形化開發(fā)語言相對于文本語言的缺陷。 其語法與C語言基本相同,賦值語句必須以分號結(jié)束,注釋的內(nèi)容通過/*/封起來。,例:用不同溫度單位顯示溫度,五、局部變量和全局變量,(一)變量 1、引入變量的目的: 解決數(shù)據(jù)和對象在同一VI程序中的復用和在不同的VI程序中的共享問題。 2、變量的種類: 本地(局部)變量(Local Variable) 全局變量(Global Variable),(二)本
8、地(局部)變量 相當于傳統(tǒng)編程語言中的局部變量,可以在同一個程序內(nèi)使用。 1、引入理由: (1)每個控制或指示的數(shù)據(jù)端口只有一個; (2)需要在同一個VI的不同位置多次為指示賦值;或多次從控制中取出數(shù)據(jù);或者為控制賦值,從指示中取出數(shù)據(jù)。,2、創(chuàng)建 (1)功能模板的Structures子模板中選擇Local Variable,用此法創(chuàng)建的本地變量中間有一個問號,表明還沒有關(guān)聯(lián)到任何控件上,必須進行關(guān)聯(lián)。 (2)前面板或框圖程序中與之相應端口的右鍵彈出菜單中選擇Create下的Local variaval,3、本地變量的屬性: 讀(Read)和寫(Write) 4、使用 前面板對象的本地變量相當
9、于其端口的一個拷貝,它的值與該端口同步。,舉例: 例1、用一個布爾開關(guān)同時控制兩個循環(huán),例2、給一個控制賦值,從一個指示中讀出數(shù)據(jù)。,例3、在順序結(jié)構(gòu)中的使用:創(chuàng)建一個 VI,計算生成等于某個給定值的隨機數(shù)所需要的時間。,(三)全局變量 與傳統(tǒng)編程語言中的全局變量類似,可以在不同的VI之間進行數(shù)據(jù)傳遞。 1、創(chuàng)建 2、屬性:讀和寫 3、使用(舉例),4、特點 (1)以獨立文件的形式存在 (2)一個全局變量中可以包含多個對象,擁有多種數(shù)據(jù)庫類型 (3)與子VI不同,不能進行編程,只能用于簡單的數(shù)據(jù)存儲。 (4)速度快 (5)其中的數(shù)據(jù)可以分別訪問,(四)慎用局部變量與全局變量 理由: 1、占用大量內(nèi)存 2、使程序可讀性差 3、在多線程并行運行的程序中,局部變量也可能引起競態(tài)條件。(見書P88),六、事件結(jié)構(gòu)(Event Stucture),僅當“事件”發(fā)生時,程序才做出響應 程序簡單化、降低CPU利用率 當多個事件發(fā)生時會形成事件隊列,直到每個事件對應的代碼都被執(zhí)行為止,因此,不會有事件被漏掉,當前事件數(shù)據(jù),當前事件框中程序運行的觸發(fā)事件,超時等待時間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華東師范大學《風景園林設(shè)計實驗古典園林景觀設(shè)計》2023-2024學年第二學期期末試卷
- 武漢工程大學郵電與信息工程學院《立體設(shè)計》2023-2024學年第二學期期末試卷
- 南京師范大學泰州學院《大學美育》2023-2024學年第二學期期末試卷
- 南昌航空大學《電路(下)》2023-2024學年第二學期期末試卷
- 河南檢察職業(yè)學院《造型基礎(chǔ)(工設(shè))》2023-2024學年第二學期期末試卷
- 河源廣東河源紫金縣專門學校駐校教官招聘7人筆試歷年參考題庫附帶答案詳解
- 山東農(nóng)業(yè)大學《組成原理與接口技術(shù)》2023-2024學年第二學期期末試卷
- 山西體育職業(yè)學院《聯(lián)合創(chuàng)作預案》2023-2024學年第二學期期末試卷
- 中國礦業(yè)大學(北京)《基礎(chǔ)造型》2023-2024學年第二學期期末試卷
- 河南2025年河南省工業(yè)學校招聘20人筆試歷年參考題庫附帶答案詳解-1
- 森林質(zhì)量精準提升項目(2024年度)作業(yè)設(shè)計
- 北師大版小學數(shù)學五年級下冊同步課時練習試題含答案(全冊)
- 戰(zhàn)馬魂(2023年重慶A中考語文試卷記敘文閱讀題及答案)
- 2024年全國職業(yè)院校技能大賽中職組(法律實務賽項)考試題庫-下(多選、判斷題)
- 區(qū)塊鏈應用操作員技能大賽考試題庫大全-下(多選、判斷題)
- 二 《“友邦驚詫”論》(同步練習)解析版
- 施工技術(shù)交底(電氣安裝)
- 污水處理廠TOT項目招標文件模板
- 勞工及道德體系法律法規(guī)清單
- 倉儲物流中心物業(yè)管理服務費報價單
- 2024年哈爾濱科學技術(shù)職業(yè)學院單招職業(yè)適應性測試題庫及答案解析
評論
0/150
提交評論