計(jì)算機(jī)仿真和可視化設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

10、溶解氧濃度超過(guò)2mg/L時(shí),反應(yīng)速度為K0,否則降低為0.1K0。2、添加分支,設(shè)當(dāng)水中溶解氧濃度超過(guò)4mg/L時(shí),反應(yīng)速度為K0;超過(guò)2mg/L時(shí),反應(yīng)速度為0.5K0,否則降低為0.1K0。,例4-5 Case結(jié)構(gòu)演示,4.7公式節(jié)點(diǎn),公式節(jié)點(diǎn)(Formula Node)是—種結(jié)構(gòu),允許用戶使用類(lèi)似于多數(shù)文本編程語(yǔ)言的句法,編寫(xiě)一個(gè)或多個(gè)代數(shù)公式。這對(duì)于實(shí)現(xiàn)有多個(gè)變量的公式來(lái)說(shuō)很有用。否則需要使用復(fù)雜的框圖模型。 通過(guò)在框中

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

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

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

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

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

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

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

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

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

20、元素被加上這個(gè)標(biāo)量。數(shù)組與數(shù)組相加結(jié)果是每個(gè)元素被加到另一個(gè)數(shù)組。標(biāo)量與數(shù)組相乘結(jié)果是每個(gè)元素被乘上這個(gè)標(biāo)量。標(biāo)量與數(shù)組相除結(jié)果是每個(gè)元素被除以這個(gè)標(biāo)量。數(shù)組與數(shù)組相乘結(jié)果是一個(gè)數(shù)組,但由于一個(gè)數(shù)組的尺寸比另一個(gè)小,故得到的輸出與輸入數(shù)組中較小的一個(gè)一樣大小,乘運(yùn)算作用于兩個(gè)輸入數(shù)組中的相應(yīng)元素。,5.5簇,簇(cluster)是一種類(lèi)似數(shù)組一樣的數(shù)據(jù)結(jié)構(gòu),用于分組數(shù)據(jù)。簇具有固定的大小??梢园煌臄?shù)據(jù)類(lèi)型。簇由控件或

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

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

23、(Bundle)數(shù)據(jù) Bundle功能將分散的組件集合為一個(gè)新的簇,2、分解(Unbundle)簇 Unbundle功能是Bundle的逆過(guò)程,它將一個(gè)簇分解為若干分離的組件。,5.5.4數(shù)組和簇的互換,在編程中,有時(shí)需要將數(shù)組變?yōu)榇兀袝r(shí)卻要將簇變?yōu)閿?shù)組。可以使用功能Cluster to Array將簇轉(zhuǎn)換為數(shù)組,在進(jìn)行完數(shù)組的操作后再利用Array to Claster 變換回簇。,,,簡(jiǎn)支梁計(jì)算捆綁成

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論