版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
#用鼠標右鍵單擊寄存器的左端子,在快捷菜單中選擇 AddElement,添加一個寄存器。用同樣的方法創(chuàng)建第三個元素。RandomNumber(0-)函數(shù)(Functions?Numeric) 產(chǎn)生0至U1之間的某個隨機數(shù)。CompoundArithmetic函數(shù)(Functions?Numeric) 在本練習中,它將返回兩個周期產(chǎn)生的隨機數(shù)的和。 如果要加入其他的輸入, 只需用右鍵單擊某個輸入, 從快捷菜單中選擇AddInput。除法函數(shù)(Functions?Numeric) 在本練習中,它用于返回最近四個隨機數(shù)的平均值。9.數(shù)值常數(shù)(Functions?Numeric) 在While循環(huán)的每個周期, RandomNumber(0-1)函數(shù)將產(chǎn)生一個隨機數(shù)。 VI就將把這個數(shù)加入到存儲在寄存器中的最近三個數(shù)值中。RandomNumber(0-)再將結(jié)果除以4,就能得到這些數(shù)的平均值(當前數(shù)加上以前的三個數(shù))。然后再將這個平均值顯示在波形圖中。WaitUntilNextmsMultiple函數(shù)(Functions?Time&Dialog) 它將確保循環(huán)的每個周期不會比毫秒輸入快。 在本練習中,毫秒輸入的值是500毫秒。如果用鼠標右鍵單擊圖標,從快捷菜單中選擇Visible?Label,就可以看到WaitUntilNextmsMultiple的標簽。用鼠標右鍵單擊WaitUntilNextmsMultiple 功能函數(shù)的輸入端子,在快捷菜單中選擇CreateConstant。出現(xiàn)一個數(shù)值常數(shù),并自動與功能函數(shù)連接。將Constant設置為500。這樣連接到函數(shù)的數(shù)值常數(shù)設置了 500毫秒的等待時間。因此循環(huán)每半秒執(zhí)行一次。注意,VI用一個隨機數(shù)作為移位寄存器的初始值。如果沒有設置移位寄存器端子的初始值, 它就含有一個默認的數(shù)值, 或者上次運行結(jié)束時的數(shù)值,因此開始得到的平均數(shù)沒有任何意義。執(zhí)行該VI,觀察過程。把該VI保存為LabVIEW\Activity目錄下的RandomAverage.vi。練習2—2結(jié)束。附注:移位寄存器的初值:上面的練習中對移位寄存器設置了初值0.5。如果不設這個初值,默認的初值是0。在這個例子中,一開始的計算結(jié)果是不對的,只有到循環(huán)完3次后移位寄存器中的過去值才填滿,即第4次循環(huán)執(zhí)行后可以得到正確的結(jié)果。2.1.3For循環(huán)For循環(huán)用于將某段程序執(zhí)行指定次數(shù)。和While循環(huán)一樣,它不會立刻出現(xiàn)在流程圖中, 而是出現(xiàn)一個小的圖標,而后您可以修改它的大小和位置。具體的方法是,先單擊所有端子的左上方,然后按下鼠標,拖曳出一個包含所有端子的矩形。 釋放鼠標時就創(chuàng)建了一個指定大小和位置的 For循環(huán)。Loohl
For循環(huán)將把它的框圖中的程序執(zhí)行指定的次數(shù),For循環(huán)將把它的框圖中的程序執(zhí)行指定的次數(shù),For循環(huán)具有下面這兩個端子:N:計數(shù)端子(輸入端子)一一用于指定循環(huán)執(zhí)行的次數(shù)。I:周期端子(輸出端子)一一含有循環(huán)已經(jīng)執(zhí)行的次數(shù)。上圖顯示了一可以產(chǎn)生100個隨機數(shù)并將數(shù)據(jù)顯示在一個圖表上的For循環(huán)。在該例中,i的初值是0,終值是99。練習2-3使用For循環(huán)目的:用For循環(huán)和移位寄存器計算一組隨機數(shù)的最大值。打開一個新的前面板,按照下圖創(chuàng)建對象。將一個數(shù)字顯示對象放在前面板, 設置它的標簽為“最大值”。將一個波形圖表放在前面板,設置它的標簽為“隨機數(shù)”。將圖表的縱坐標范圍改為 0.0至U1.0。在圖表的快捷菜單中選擇 VisibleItemsoScrollbar和DigitalDisplay,并隱藏PlotLegend。用移位工具修改滾動欄的大小。隨機數(shù)1004JPH4TOBno隨機數(shù)1004JPH4TOBno圖2—5練習2—3的面板和流程圖按照上圖畫流程圖。.在流程圖中放置一個For循環(huán)(FunctionsoStructures )。.在For循環(huán)的邊框處單擊鼠標右鍵, 在快捷菜單中選擇AddShiftRegister。.將下列對象添加到流程圖。aRandomNumber(0-1)函數(shù)(FunctionsoNumeric)——產(chǎn)生0到1之間的某個隨機數(shù)。b 數(shù)值常數(shù)(FunctionsoNumeric) 在這個練習中需要將移位寄存器的初始值設成 0。c Max&Min函數(shù)(FunctionsoComparison) 輸入兩個數(shù)值,再將它們的最大值輸出到右上角,最小值輸出到右下角。這里只需要最大值,只用連接最大值輸出。d 數(shù)值常數(shù)(FunctionsoNumeric) For循環(huán)需要知道需要執(zhí)行的次數(shù)。本練習中是 100次。?按照上圖連接各個端子。.運行該VI。將該VI保存為LabVIEW\Activity 目錄下的CalculateMax.vi。練習2-3結(jié)束。2.2 分支結(jié)構(gòu):CaseCase結(jié)構(gòu)含有兩個或者更多的子程序(Case),執(zhí)行那一個取決于與選擇端子或者選擇對象的外部接口相連接的某個整數(shù)、布爾數(shù)、字符串或者標識的值。必須選擇一個默認的 Case以處理超出范圍的數(shù)值,或者直接列出所有可能的輸入數(shù)值。 Case結(jié)構(gòu)見下圖,各個子程序占有各自的流程框, 在其上沿中央有相應的子程序標識:Ture、False或1、2、3,。按鈕用來改變當前顯示的子程序(各子程序是重疊放在屏幕同一位置上的)。練習2-4使用Case結(jié)構(gòu)目的:創(chuàng)建一個VI以檢查一個數(shù)值是否為正數(shù)。如果它是正的, VI就計算它的平方根,反之則顯示出錯。前面板1. 打開一個新的前面板,并按照下圖所示創(chuàng)建對象。控制對象用于輸入數(shù)值,顯示對象用于顯示該數(shù)值的平方根。流程圖2?照下圖創(chuàng)建流程圖。NumberSQRI評.001.41圖2—6練習2—4的面板和流程圖從FunctionsoStructures 中選擇一個Case結(jié)構(gòu),并放置在在流程圖中。Case結(jié)構(gòu)是一個可以改變大小的方框。先來做Ture的情況,照流程圖上半部分構(gòu)造。aGreaterOrEqualTo0?函數(shù)(FunctionsoComparison)――如果輸入數(shù)值大于或者等于 0就會返回一個TRUE?。bSquareRoot函數(shù)(FunctionsoNumeric) 返回輸入數(shù)值的平方根。c連好線d點擊Case框的選擇按鈕,轉(zhuǎn)入False情況編程e 數(shù)值常數(shù)(FunctionsoNumeric) 這里用于顯示錯誤的代數(shù)值-999.00。OneButtonDialog函數(shù)(FunctionsoTimeDialog) 在這里它用于顯示一個對話框,內(nèi)容是Error...g 字符串常數(shù) (FunctionsoString) 用EditTextTools在對話框中輸入字符串。h該VI在TRUE或者FALSE情況下都會執(zhí)行。如果輸入的數(shù)值大于等于0,VI會執(zhí)行TRUECase,返回該數(shù)的平方根,否則將會輸出—999.00,并顯示一個對話框,內(nèi)容為Error...。返回前面板,運行該VI。修改標簽為Number的數(shù)字式控制對象的數(shù)值,分別嘗試一個正數(shù)和負數(shù)。 注意,當把數(shù)字式控制對象的值改為負數(shù)時, LabVIEW會顯示Case結(jié)構(gòu)的FALSE
Case中設置的出錯信息。保存該VI 至I]LabVIEW\Activity目錄中的SquareRoot.vi。VI的算法本練習中的流程圖功能相當于代碼式編程語言中的下列偽代碼:if(Number>=0)thenSquareRootValue=SQRT(Number)elseSquareRootValue=-999.00DisplayMessage"Error.."endif練習2-4結(jié)束。2.3順序結(jié)構(gòu)和公式節(jié)點順序結(jié)構(gòu)(SequeneeStructure)在代碼式的傳統(tǒng)編程語言中,默認的情況是,程序語句按照排列順序執(zhí)行,但 LabVIEW中不同,它是一種圖形化的數(shù)據(jù)流式編程語言。在圖2—7左圖中,假設有 ABCD4個節(jié)點,其數(shù)據(jù)流向如右圖所示。按照數(shù)據(jù)流式語言的約定,任何一個節(jié)點只有在所有的輸入數(shù)據(jù)有效時才會執(zhí)行,所以圖中,當且僅當3的輸入數(shù)據(jù)有效時才會執(zhí)行,所以圖中,當且僅當3個輸入數(shù)據(jù)都到達D節(jié)點后,D節(jié)點才執(zhí)行。個節(jié)點的執(zhí)行順序。在LabVIEW中這種情況下,圖2—7 順序結(jié)構(gòu)的說明AB、C3個節(jié)點執(zhí)行完,使得D節(jié)點的但是你要注意,這里并沒有規(guī)定 AB、C3A、B、C的執(zhí)行順序是不確定的,如果你需要對它們規(guī)定一個確定的順序,那就需要使用本節(jié)介紹的“順序結(jié)構(gòu)”圖2—7中的右邊是順序結(jié)構(gòu)的圖標, 它看上去像是電影膠片。它可以按一定順序執(zhí)行多個子程序。首先執(zhí)行0幀中的程序,然后執(zhí)行1幀中的程序,逐個執(zhí)行下去。與 Case結(jié)構(gòu)類似,這多幀程序在流程圖中占有同一個位置。練習2-5使用順序結(jié)構(gòu)目的:創(chuàng)建一個VI,計算生成等于某個給定值的隨機數(shù)所需要的時間。前面板打開一個新的前面板,并按照下圖所示創(chuàng)建對象。???金Y:50±??L506±??L5060.00?D?忙圖2—8練習2—5的前面板我們約定數(shù)據(jù)是0到100范圍的整數(shù)。當前值用于顯示當前產(chǎn)生的隨機數(shù)。 “執(zhí)行次數(shù)”用于顯示達到指定值循環(huán)執(zhí)行的次數(shù)。匹配時間用來顯示達到指定值所用的時間。流程圖圖2—8練習圖2—8練習2—5的流程圖(共3幀)在流程圖中放置順序結(jié)構(gòu)(FunctionsoStructures)。用鼠標右鍵單擊幀的邊框,在快捷菜單中選擇AddFrameAfter,創(chuàng)建一個新幀。重復這個步驟,再創(chuàng)建一個幀。共3楨。選中第0楨,設置讀取初始時間(子)程序第0幀的下邊框上含有一個小方框, 其中有一個箭頭。這個方框叫做順序局部變量, 可以在同一個順序結(jié)構(gòu)中的各個幀之間傳遞數(shù)據(jù)。用鼠標右鍵單擊第 0幀的底部邊框,選擇AddSequeneeLocal,創(chuàng)建順序局部變量。順序局部變量顯示為一個空的方塊。當您將某個功能函數(shù)與順序局部變量相連時, 方塊中的箭頭就會自動顯示。TickCount(ms)函數(shù)(FunctionsoTimeDialog)――返回啟動到現(xiàn)在的時間 (以毫秒為單位)在這里例子里需要使用兩個這個函數(shù)。另一個在第2幀中。按圖連好線。轉(zhuǎn)入第1幀。該幀是匹配計算,內(nèi)含一個循環(huán)結(jié)構(gòu)。該圖中使用的新函數(shù)有:卜-RoundtoNearest函數(shù)(FunctionsoNumeric) 在該例中,它用于取0到100之間的隨機數(shù)到距離最近的整數(shù) 。怡NotEqual?函數(shù)(FunctionsoComparison) 在該例中,它將隨機數(shù)和前面板中設置的數(shù)相比較, 如果兩者不相等會返回TRUE直,否則返回FALSEIncrement函數(shù)(FunctionsoNumeric) 在該例中,它將While循環(huán)的計數(shù)器加1。按圖連好線。轉(zhuǎn)入第2幀在第0幀中,TickCount(ms)功能函數(shù)將以毫秒為單位表示當前時間。這個數(shù)值被連到順序局部變量,這樣它就可以被后續(xù)的幀使用。在第1幀中,只要函數(shù)返回的值與指定值不等,VI就會持續(xù)執(zhí)行While循環(huán)。在第2幀中,TickCount (ms)功能函數(shù)以毫秒為單位返回新的時間。 VI從中減去原來的時間(由第0幀通過順序局部變量提供)就可以計算出花費的時間。返回前面板,在NumbertoMatch控制對象中輸入一個數(shù)值,執(zhí)行該VI。把該VI保存為LabVIEW\Activity目錄下TimetoMatch.vi。練習2-5結(jié)束。附注與說明:設置數(shù)據(jù)范圍附注與說明:在設定一個數(shù)據(jù)對象時, 可以設置對輸入數(shù)據(jù)的限制, 利用快捷鍵選擇DataRange, 選項,將會出現(xiàn)如下對話框:
DataRdngeRepresentatianLongSuspendIIValueisOutofRange:DataRdngeRepresentatianLongSuspendUseDefaultValuesJCancel圖2—9設置數(shù)據(jù)范圍它可以防止用戶創(chuàng)建的控制對象或顯示對象的值超出某個預設的范圍。您可以選擇忽略這個值,將它強制修改到范圍以內(nèi),或暫停程序的執(zhí)行。在程序執(zhí)行時,如果發(fā)生溢出錯誤,溢出錯誤符號將顯示在工具欄中的執(zhí)行按鈕的位置。 而且,一個立體的黑框?qū)寻l(fā)生溢出的控制對象包圍起來。公式節(jié)點(FormulaNode)公式節(jié)點是一個大小可變的方框,可以利用它直接在流程圖中輸入公式。從FunctionsoStructures 中選擇公式節(jié)點就可以把它放到流程圖中。當某個等式有很多變量或者非常復雜時, 這個功能就非常有用。例如等式: y=x2+x+1使用公式節(jié)點可FormulaNode以表示為:FormulaNode圖2—10 公式節(jié)點示意圖利用公式節(jié)點可以直接輸入一個或者多個復雜的公式, 而不用創(chuàng)建流程圖的很多子程序。使用文本編輯工具來輸入公式。創(chuàng)建公式節(jié)點的輸入和輸出端子的方法是,用鼠標右鍵單擊第 0幀的底部邊框,選擇 AddInput(AddOutput) 。再在節(jié)點框中輸入變量名稱。變量名對大小寫敏感。然后就可以在框中輸入公式。每個公式語句都必須以分號(;)結(jié)尾。
公式節(jié)點的幫助窗口中列出了可供公式節(jié)點使用的操作符、函數(shù)和語法規(guī)定。一般說來,它與C語言非常相似,大體上一個用C寫的獨立的程序塊都可能用到公式節(jié)點中。 但是仍然建議不要在一個公式節(jié)點中寫過于復雜的代碼程序。下面這個例子顯示了如何在一個公式節(jié)點中執(zhí)行不同條件時的數(shù)據(jù)發(fā)送。請閱讀下面這段程序代碼, 如果X為正數(shù),它將算出X的平方根并把該值賦給Y,如果X為負數(shù),程序就給Y賦值-99。if(x>=0)theny=sqrt(x)elsey=-99endif可以用公式節(jié)點取代上面這段代碼,如下圖所示:注意:公式節(jié)點中變量字母X,Y
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人經(jīng)營性貸款還款協(xié)議模板8篇
- 二零二五年廢棄物處理及廢品回收承包合同書3篇
- 二零二五年度倉儲租賃與智能化改造合同3篇
- 二零二五年度外資獨資公司股權(quán)變更操作細則合同
- 2025年個人汽車維修服務質(zhì)押擔保合同3篇
- 2025版高端餐飲集團租賃管理與服務保障合同3篇
- 個人委托支付事務具體合同版B版
- 2024酒店裝修設計合同
- 2025年度智能果園蘋果采購與銷售管理合同4篇
- 2025年度園林景觀設計專利授權(quán)許可合同3篇
- 碳纖維增強復合材料在海洋工程中的應用情況
- 多重耐藥菌病人的管理-(1)課件
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 環(huán)境監(jiān)測對環(huán)境保護的意義
- 2023年數(shù)學競賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2024年低壓電工證理論考試題庫及答案
- 2023年十天突破公務員面試
- 《瘋狂動物城》中英文對照(全本臺詞)
- 醫(yī)院住院醫(yī)師規(guī)范化培訓證明(樣本)
- 小學六年級語文閱讀理解100篇(及答案)
評論
0/150
提交評論