計算機仿真和可視化設計_第1頁
已閱讀1頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機仿真和可視化設計,——基于LabVIEW的工程軟件應用,蔡建安 陳潔華 張文藝,目錄,1LABVIEW概述2LABVIEW模板簡介3創(chuàng)建VI程序4LABVIEW結構5LABVIEW 數據類型6圖表及圖形7字符串和文件I/O8數據采集9工程仿真和設計常用編程技法10虛擬設備實例水環(huán)境工程仿真軟件11附錄,LABVIEW結構,4.1While Loop循環(huán)4.2For Loop

2、 循環(huán)4.3移位寄存器4.4Case結構4.5順序結構4.6結構連線中的常見問題4.7公式節(jié)點4.8局部變量和全局變量,學習指導,LabVIEW 有四種結構控制程序流程:While Loop循環(huán),For Loop循環(huán),Case結構和Sequence結構。公式節(jié)點、局部和全局變量等特殊結構對簡化程序和傳遞數據有重要意義。,學習要點,While循環(huán)的執(zhí)行是根據條件端子上輸入的布爾值是 TRUE或 FALSE確定的,用

3、布爾開關人工控制時需了解對應的機械操作模式;For循環(huán)將子框圖執(zhí)行N次,N為計數端的輸入值;在For 或 While Loop循環(huán)中,應掌握移位寄存器的用法;Case結構是執(zhí)行條件語句的一種方法,能代替常規(guī)語言的 IF…Then…Else和多項選擇語句,需要關注Case下多選子框圖標識符的用法;順序結構為控制節(jié)點按順序執(zhí)行的方法。該結構只有數據相關性不足以控制數據流,而又必需強調執(zhí)行順序時才使用;,學習要點,解決結構連線問題往往是

4、結構編程的關鍵,特別要掌握結構下數據隧道的正確使用;公式節(jié)點是—種允許用文本語言編寫一個或多個代數公式的結構。在公式節(jié)點上建立輸入和輸出端子后,用公式節(jié)點支持的運算符和函數寫出以分號結尾的語句;局部變量用于程序中控制初始化、協調控制功能、臨時保存數據和傳遞數據。全局變量可在不同VI之間交換數據。,4.1While Loop循環(huán),While循環(huán)有兩個端子:條件端子(輸入端子)和重復端子(輸出端子)。重復端子的作用是輸出循環(huán)已執(zhí)行次數

5、的數字。條件端子輸入的是布爾值 TRUE 或 FALSE。在每一次重復執(zhí)行后,Ⅵ 檢查條件端子,如果條件端子值為 TRUE 那么執(zhí)行下一個重復,直到條件端子變成 FALSE。條件端子的默認值是 FALSE。由于檢查條件端子輸入值是循環(huán)結束后,因此While循環(huán)至少也要執(zhí)行—次。,布爾開關機械操作模式,六種模式Switch When Pressed(按下時啟動) Switch When Released(松開時啟動) Switch

6、Until Released(按下啟動直到松開) Latch When Pressed(按下時鎖定)Latch When Released(松開時鎖定)Latch Until Released(直到松開時才鎖定),,,,,,,4.2For Loop 循環(huán),在指定次數的重復操作完成之前,For循環(huán)控制VI執(zhí)行重復操作。For循環(huán)和While 循環(huán)之間的差別是:For循環(huán)的次數是預先指定的; While 循環(huán)則一直執(zhí)行,直到輸入條

7、件變?yōu)镕alse為止。For循環(huán)與While 循環(huán)都可以在Function菜單的Structures選項板中可找到,4.3移位寄存器,移位寄存器(Shifiregister)用于 For循環(huán)或 While循環(huán)中從一個迭代傳輸數據到下一個迭代,它由循環(huán)垂直邊框上一對方向相反的端子組成,通過從左或右循環(huán)邊框上彈出快捷菜單并選擇Add Shift Register,可以創(chuàng)建移位寄存器。右端子(帶向上箭頭的矩形)在每完成一次迭代后存儲數據,移

8、位寄存器將上次迭代的存儲數據在下一次迭代開始時移動到左端子(具有向下箭頭的矩形)上,同一個寄存器端子上數據類型的數據必須是同一類型。,建立循環(huán)結構演示,建立循環(huán)結構和移位寄存器演示,4.4Case結構,Case結構是執(zhí)行條件語句的一種方法。這類似于常規(guī)的文本編程語言中常見的 IF…Then…Else語句。從Functions選項板的Structures子選項板中選擇Case結構并將其放置在框圖上。,4.5順序結構,順序結構用于順序地

9、執(zhí)行子框圖。這些子框圖看起來像一幀電影膠片,因此稱為幀(frame)。將最先要執(zhí)行的代碼放置在順序結構幀0(0..x)邊框內,然后依次將執(zhí)行代碼放在幀1、幀2 框內。只有當最后一幀完成后,數據才離開結構,4.6結構連線中的常見問題,1、給順序結構局部變量多次賦值2、對順序結構中的多個幀進行連線3、未在Case結構的所有分支中連接隧道4、隧道重疊5、連線從結構下面通過而不是從結構上穿過,例4-5 Case結構演示,1、設當水中

10、溶解氧濃度超過2mg/L時,反應速度為K0,否則降低為0.1K0。2、添加分支,設當水中溶解氧濃度超過4mg/L時,反應速度為K0;超過2mg/L時,反應速度為0.5K0,否則降低為0.1K0。,例4-5 Case結構演示,4.7公式節(jié)點,公式節(jié)點(Formula Node)是—種結構,允許用戶使用類似于多數文本編程語言的句法,編寫一個或多個代數公式。這對于實現有多個變量的公式來說很有用。否則需要使用復雜的框圖模型。 通過在框中

11、直接鍵人公式代碼來代替創(chuàng)建框圖部分。,公式節(jié)點的輸入、輸出變量,從公式節(jié)點邊框上彈出快捷菜單,從中選擇Add Input 或 Add Output。Change to Output可將輸入改變?yōu)檩敵?,Change to Input可將輸出改變?yōu)檩斎?。在公式?jié)點上有了I/O端子,使用Labeling 工具鍵入I/O變量的名字。節(jié)點中每一個變量不能具有相同的名字。用于內部計算的中間變量必須聲明為輸出,但不一定要連接到外部節(jié)點。,Lab

12、VIEW 7.1 一級反應VI,,公式語句,公式語句使用的算術表達式,句法類似于多數文本編程語言??山o語句添加注釋,注釋用一對 “/*” 封閉起來(/*注釋*/ )。使用Labeling工具在公式節(jié)點內輸入公式,每個公式一定要用分號結束,并且變量的名字是大小寫敏感的。,,公式節(jié)點的運算符,[例] 4.9均布載荷簡支梁受力和變形,,,,,,局部變量的創(chuàng)建和使用方法,局部變量的創(chuàng)建既可以通過圖示右鍵彈出菜單獲得,也可以在功能模板上選擇Fu

13、nction/Structures/Local Variable將其拖到框圖上,得到一個代“?”的圖標,再將其與框圖中已有的變量建立關聯。,4.8局部變量和全局變量,局部變量用于程序中控制初始化、協調控制功能、臨時保存數據和傳遞數據。全局變量可在不同VI之間交換數據。,局部變量和公式節(jié)點,,例4.7 LabVIEW 7.1,,全局變量,全局變量與VI地位等同,以獨立文件的形式保存在磁盤中。全局變量只有面板沒有框圖。通過全局變量不同

14、VI之間交換數據。全局變量的創(chuàng)建步驟:在Function\ Structures下選擇Global Variable,將其圖標拖到框圖中。雙擊Global Variable圖標,得到其前面板在其前面板上放上所需要的變量,例如數組、布爾量、字符串變量。命名和保存這個變量。,LABVIEW 數據類型,5.1LabVIEW的數據類型5.2數值類型5.3LabVIEW的數組5.3.1創(chuàng)建控制器數組和指示器數組5.3.

15、2用循環(huán)創(chuàng)建數組5.3.3數組功能,LABVIEW 數據類型,5.4函數的多態(tài)性操作5.5簇5.5.1創(chuàng)建簇控件和指示器5.5.2簇順序5.5.3簇函數5.5.4數組和簇的互換,學習指導,LabVIEW的數據按類型有數值量、邏輯量、字符串、文件路徑等幾類,在結構上有標量、一維、多維和簇,編程需要使數據連線匹配。,學習要點,認識數據類型的概念,編程時需要明確函數和子VI每一個數據結點的數據匹配;數組是同類數據

16、元素的集合,簇是混合元素的集合。熟悉數組的建立和使用過程,掌握數據類型及其結構在使用時的轉換方法;掌握循環(huán)結構的自動索引功能和函數的多態(tài)性操作方法。,5.1LabVIEW的數據類型,,,5.2數值類型,最基本的數據類型是數值類型,這是一種標量值,通常包括一個整型值或實型數值(浮點)。LabVIEW可以處理當前32位處理器提供的可能整型和實型的表示法。選擇合適數值表示法的關鍵是要求的范圍和精度。數據類型占用的字節(jié)越多,取值的可能

17、范圍越大。浮點類型和單精度類型可以處理的最大值為1038,一個無符號整型數的上限為2 N-1,其中N是位的數值。,5.3LabVIEW的數組,5.3.1創(chuàng)建控制器數組和指示器數組從控制模板中的Array & Cluster子模板中選擇一個空的數組殼;將有效數據對象(諸如數字、布爾型或字符串)拖進數組殼或者從數組殼的彈出菜單中選一個控制對象或指示器直接放入數組殼中。 5.3.2用循環(huán)創(chuàng)建數組For循環(huán)和 While

18、循環(huán)可以在其邊界處自動地檢索和累積數組元素,這種能力稱為自動索引。每循環(huán)一次就建立一個數組元素,在循環(huán)結束后,把數組送到一個數組指示器。,5.3.3數組功能,Array Size指的是輸入數組的元素數,N維數組的輸出則是N個元素的數組。Initialize Array創(chuàng)建—個包含初始值的數組。初始值由Element給出。Build Array構組數組,用于合并多個數組或給數組添加元素。,,,,5.3.3數組功能,Arra

19、y Subset數組子集從輸入數組中,輸出個數組子集,以index指定開始的元素,以length指定元素個數。Index Array索引數組index指定索引號,指定元素,第一個元素的索引號是0。,,,5.4函數的多態(tài)性操作,多態(tài)性(Polymorphism)是LabVIEW的函數接受不同維數數組和類型輸入的能力。擁有這種能力的算術是多態(tài)函數。,5.4多態(tài)函數的運算規(guī)則,標量與標量相加輸出結果是一個標量。標量與數組相加結果每個

20、元素被加上這個標量。數組與數組相加結果是每個元素被加到另一個數組。標量與數組相乘結果是每個元素被乘上這個標量。標量與數組相除結果是每個元素被除以這個標量。數組與數組相乘結果是一個數組,但由于一個數組的尺寸比另一個小,故得到的輸出與輸入數組中較小的一個一樣大小,乘運算作用于兩個輸入數組中的相應元素。,5.5簇,簇(cluster)是一種類似數組一樣的數據結構,用于分組數據。簇具有固定的大小??梢园煌臄祿愋?。簇由控件或

21、指示器組成。簇通常用于將出現在框圖上的有關數據元素分組管理。因為簇在框圖中僅用惟一的連線,在框圖上,只有當簇具有相同類型、相同元素數量和相同元素順序時,才可以將簇的端子連接。多態(tài)性應用于簇時,需要簇具有相同元素數量和相同元素順序。,創(chuàng)建簇控件和指示器,在前面板上放置簇框架(cluster shell)創(chuàng)建簇控件和指示器。將數字、布爾型、字符串、圖表、圖形、數組等任意組合放進來創(chuàng)建。簇可以包含控件或指示器,但兩者不能同時存在。一

22、個簇成為控件簇或指示器簇取決于放進簇中的第一個元素。如果放進簇框架中的第一個元素是控件,后來給簇添加的任何對象都將變成控件對象。,創(chuàng)建數組指示器,創(chuàng)建簇控件和指示器,5.5.2簇順序,簇元素按照它們放人簇中的先后順序排序,而不是按照簇框架內的物理位置排序。簇框架中的第—個對象標記為元素0,插入的第二個對象是元素1等等。如果要訪問簇中單個元素,必須記住簇順序,因為簇中的單個元素是按順序而不是按名字訪問的。,5.5.3簇函數,1、捆綁

23、(Bundle)數據 Bundle功能將分散的組件集合為一個新的簇,2、分解(Unbundle)簇 Unbundle功能是Bundle的逆過程,它將一個簇分解為若干分離的組件。,5.5.4數組和簇的互換,在編程中,有時需要將數組變?yōu)榇兀袝r卻要將簇變?yōu)閿到M??梢允褂霉δ蹸luster to Array將簇轉換為數組,在進行完數組的操作后再利用Array to Claster 變換回簇。,,,簡支梁計算捆綁成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論