版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一講:認(rèn)識(shí)Labview1.1 Labview 簡(jiǎn)介在開始菜單里找見NI Labview7.1 點(diǎn)擊打開,會(huì)出現(xiàn)如下界面:從File>>New VI 或者從右半部分中的New>>Blank VI 都可以打開如下界面:上圖中前圖是虛擬儀器的前面板,是用戶使用的人機(jī)界面,后面的是程序框圖界面(即后面板)。在LabVIEW的用戶界面上,應(yīng)特別注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函數(shù)(Functions)模板。這些模板集中反映了該軟件的功能與特征。下面我們來大致瀏覽一下。工具模板(Tools Palette)該模板提供了各種用于創(chuàng)建
2、、修改和調(diào)試VI程序的工具。如果該模板沒有出現(xiàn),則可以在Windows菜單下選擇Show Tools Palette命令以顯示該模板。當(dāng)從模板內(nèi)選擇了任一種工具后,鼠標(biāo)箭頭就會(huì)變成該工具相應(yīng)的形狀。當(dāng)從Windows菜單下選擇了Show Help Window功能后,把工具模板內(nèi)選定的任一種工具光標(biāo)放在流程圖程序的子程序(Sub VI)或圖標(biāo)上,就會(huì)顯示相應(yīng)的幫助信息。工具圖標(biāo)有如下幾種:圖標(biāo)名稱功能Operate Value(操作值)用于操作前面板的控制和顯示。使用它向數(shù)字或字符串控制中鍵入值時(shí),工具會(huì)變成標(biāo)簽工具Position/Size/Select (選擇)用于選擇、移動(dòng)或改變對(duì)象的大
3、小。當(dāng)它用于改變對(duì)象的連框大小時(shí),會(huì)變成相應(yīng)形狀。Edit Text(編輯文本)用于輸入標(biāo)簽文本或者創(chuàng)建自由標(biāo)簽。當(dāng)創(chuàng)建自由標(biāo)簽時(shí)它會(huì)變成相應(yīng)形狀。Connect Wire(連線)用于在流程圖程序上連接對(duì)象。如果聯(lián)機(jī)幫助的窗口被打開時(shí),把該工具放在任一條連線上,就會(huì)顯示相應(yīng)的數(shù)據(jù)類型。Object Shortcut Menu(對(duì)象菜單)用鼠標(biāo)左鍵可以彈出對(duì)象的彈出式菜單。Scroll Windows(窗口漫游)使用該工具就可以不需要使用滾動(dòng)條而在窗口中漫游。Set/Clear Breakpoint(斷點(diǎn)設(shè)置清除)使用該工具在VI的流程圖對(duì)象上設(shè)置斷點(diǎn)。Probe Data(數(shù)據(jù)探針)可在框圖程
4、序內(nèi)的數(shù)據(jù)流線上設(shè)置探針。通過控針窗口來觀察該數(shù)據(jù)流線上的數(shù)據(jù)變化狀況。 Get Color(顏色提?。┦褂迷摴ぞ邅硖崛☆伾糜诰庉嬈渌膶?duì)象。Set Color(顏色設(shè)置)用來給對(duì)象定義顏色。它也顯示出對(duì)象的前景色和背景色。下面的兩個(gè)模板是多層的,其中每一個(gè)子模板下還包括多個(gè)對(duì)象??刂颇0澹–ontrol Palette)注意:只有打開前面板時(shí)才能調(diào)用該模板該模板用來給前面板設(shè)置各種所需的輸出顯示對(duì)象和輸入控制對(duì)象。每個(gè)圖標(biāo)代表一類子模板。如果控制模板不顯示,可以用Windows菜單的Show Controls Palette功能打開它,也可以在前面板的空白處,點(diǎn)擊鼠標(biāo)右鍵,以彈出控制模板。
5、控制模板如右圖所示,它包括如下所示的一些子模板。子模板中包括的對(duì)象,我們?cè)诠δ苤杏梦淖趾?jiǎn)要介紹。圖標(biāo)子模板名稱功能Numeric(數(shù)值量)數(shù)值的控制和顯示。包含數(shù)字式、指針式顯示表盤及各種輸入框。Boolean(布爾量)邏輯數(shù)值的控制和顯示。包含各種布爾開關(guān)、按鈕以及指示燈等。String & Path(字符串和路徑)字符串和路徑的控制和顯示。Array & Cluster(數(shù)組和簇)數(shù)組和簇的控制和顯示。List & Table(列表和表格)列表和表格的控制和顯示Graph(圖形顯示)顯示數(shù)據(jù)結(jié)果的趨勢(shì)圖和曲線圖。Ring & Enum(環(huán)與枚舉)環(huán)與枚舉的控
6、制和顯示。I/O(輸入/輸出功能)輸入/輸出功能。于操作OLE、ActiveX等功能。Refnum參考數(shù)10Digilog Controls(數(shù)字控制)數(shù)字控制11Clussic Controls(經(jīng)典控制)經(jīng)典控制,指以前版本軟件的面板圖標(biāo)。12Activex用于ActiveX等功能。13Decorations(裝飾)用于給前面板進(jìn)行裝飾的各種圖形對(duì)象。14Select a Controls(控制選擇)調(diào)用存儲(chǔ)在文件中的控制和顯示的接口。15User Controls(用戶控制)用戶自定義的控制和顯示。功能模板(Functions Palette) 注:只有打開了流程圖程序窗口(即后面板),
7、才能出現(xiàn)功能模板。功能模板是創(chuàng)建流程圖程序的工具。該模板上的每一個(gè)頂層圖標(biāo)都表示一個(gè)子模板。若功能模板不出現(xiàn),則可以用Windows菜單下的Show Functions Palette功能打開它,也可以在流程圖程序窗口的空白處點(diǎn)擊鼠標(biāo)右鍵以彈出功能模板。功能模板如右圖所示,其子模塊如下所示。(個(gè)別不常用的子模塊未包含)圖標(biāo)子模板名稱功能Structure(結(jié)構(gòu))包括程序控制結(jié)構(gòu)命令,例如循環(huán)控制等,以及全局變量和局部變量。Numeric(數(shù)值運(yùn)算)包括各種常用的數(shù)值運(yùn)算,還包括數(shù)制轉(zhuǎn)換、三角函數(shù)、對(duì)數(shù)、復(fù)數(shù)等運(yùn)算,以及各種數(shù)值常數(shù)。Boolean(布爾運(yùn)算)包括各種邏輯運(yùn)算符以及布爾常數(shù)。St
8、ring(字符串運(yùn)算)包含各種字符串操作函數(shù)、數(shù)值與字符串之間的轉(zhuǎn)換函數(shù),以及字符(串)常數(shù)等。Array(數(shù)組)包括數(shù)組運(yùn)算函數(shù)、數(shù)組轉(zhuǎn)換函數(shù),以及常數(shù)數(shù)組等。Cluster(簇)包括簇的處理函數(shù),以及群常數(shù)等。這里的群相當(dāng)于C語言中的結(jié)構(gòu)。Comparison(比較)包括各種比較運(yùn)算函數(shù),如大于、小于、等于。Time & Dialog(時(shí)間和對(duì)話框)包括對(duì)話框窗口、時(shí)間和出錯(cuò)處理函數(shù)等。File I/O(文件輸入/輸出)包括處理文件輸入/輸出的程序和函數(shù)。Data Acquisition(數(shù)據(jù)采集)包括數(shù)據(jù)采集硬件的驅(qū)動(dòng),以及信號(hào)調(diào)理所需的各種功能模塊。Waveform(波形)各種
9、波形處理工具Analyze(分析)信號(hào)發(fā)生、時(shí)域及頻域分析功能模塊及數(shù)學(xué)工具 。Instrument I/O(儀器輸入/輸出)包括GPIB(488、488.2)、串行、VXI儀器控制的程序和函數(shù),以及VISA的操作功能函數(shù)。Motion & Vision(運(yùn)動(dòng)與景像)Mathematics(數(shù)學(xué))包括統(tǒng)計(jì)、曲線擬合、公式框節(jié)點(diǎn)等功能模塊,以及數(shù)值微分、積分等數(shù)值計(jì)算工具模塊。Communication(通訊)包括TCP、DDE、ActiveX和OLE等功能的處理模塊。Application Control(應(yīng)用控制)包括動(dòng)態(tài)調(diào)用VI、標(biāo)準(zhǔn)可執(zhí)行程序的功能函數(shù)。Graphics &
10、; Sound(圖形與聲音)包括3D、OpenGL、聲音播放等功能模塊。包括調(diào)用動(dòng)態(tài)連接庫和CIN節(jié)點(diǎn)等功能的處理模塊。Tutorial(示教課程)包括LabVIEW示教程序。Report Generation(文檔生成)Advanced(高級(jí)功能)Select a VI(選擇子VI)User Library(用戶子VI庫)下面我們通過練習(xí)掌握如何應(yīng)用Labview7.1練習(xí)一:建立一個(gè)測(cè)量溫度和容積的VI步驟如下:1. 選擇 File»New VI,打開一個(gè)新的前面板窗口。2. 從 Controls>>All Controls>>numeric中選擇 Tan
11、k放到前面板中。(注:如果前面板中沒有Controls模版,可在菜單欄選window>>show controls palette,即可打開或直接點(diǎn)擊鼠標(biāo)右鍵)3. 在標(biāo)簽(Tank)文本框中輸入“容積” ,然后在前面板中的其他任何位置單擊一下。4. 同樣從Controls>>All Controls>>numeric中選擇Thermometer放到前面板中5. 在標(biāo)簽文本框中輸入“溫度計(jì)” ,然后在前面板中的其他任何位置單擊一下。6. 把容器顯示對(duì)象的顯示范圍設(shè)置為0.0到1000.0。a.雙擊容器坐標(biāo)的10.0 標(biāo)度,使它高亮顯示。在坐標(biāo)中輸入 1000
12、,再在前面板中的其他任何地方單擊一下。 這時(shí)0.0到1000.0之間的增量將被自動(dòng)顯示。7. 在容器旁配數(shù)據(jù)顯示。將鼠標(biāo)移到容器上,點(diǎn)右鍵,在出現(xiàn)的快速菜單中選Visible Iterms>>Digital Display即可。前面板如下圖所示:圖1練習(xí)一的前面板圖8. Windows>>Show block Diagram 打開流程圖窗口,在窗口中建立如下程序:隨機(jī)數(shù)發(fā)生器乘法函數(shù)數(shù)值常數(shù)延時(shí)函數(shù)圖2練習(xí)一的流程圖該流程圖中新增的對(duì)象有兩個(gè)乘法器、兩個(gè)數(shù)值常數(shù)、兩個(gè)隨機(jī)數(shù)發(fā)生器、一個(gè)延時(shí)函數(shù),一個(gè)while循環(huán),一個(gè)布爾常量,溫度和容積對(duì)象是由前棉板的設(shè)置自動(dòng)帶出來的
13、。a. 乘法器(Multiply)、隨機(jī)數(shù)發(fā)生器(Random number (0-1))和數(shù)值常數(shù)(Numberic constant)由Functions>>All Functions>>Numeric中拖出。(注:如果面板中沒有Functions模版,可以從菜單欄中選Window>>Show Functions palette 或點(diǎn)擊鼠標(biāo)右鍵)b. 延時(shí)函數(shù)(Time delay)可以從Functions>>All Functions>>Time&Dialog>>Time delay中拖出,在自動(dòng)彈出的對(duì)話框
14、中輸入要延時(shí)的時(shí)間(比如0.5s)。9連線:把鼠標(biāo)放到函數(shù)端子上,當(dāng)鼠標(biāo)自動(dòng)變?yōu)檫B線模式并出現(xiàn)一閃一閃時(shí),點(diǎn)擊一下鼠標(biāo)左鍵然后找要連接的函數(shù)端子,當(dāng)鼠標(biāo)出現(xiàn)一閃一閃時(shí),再次點(diǎn)擊鼠標(biāo)左鍵,這時(shí)就把兩個(gè)函數(shù)連接起來了。10. 最后選Functions>>All Functions>>Structures>>While Loop,在已編好的程序左上角點(diǎn)擊鼠標(biāo)左鍵,然后移動(dòng)鼠標(biāo),直到出現(xiàn)的虛線把程序全包含起來再點(diǎn)鼠標(biāo)左鍵,就創(chuàng)建了一個(gè)While循環(huán)。在右下角條件端子上點(diǎn)擊鼠標(biāo)右鍵,再彈出的菜單里選Creat constant就可,目的是讓循環(huán)能夠維持下去。11. 在
15、前面板中,單擊Run(運(yùn)行)按鈕,運(yùn)行該 VI12. 在后面板的工具欄中點(diǎn)擊類似燈泡狀的按鈕,就可以看見程序中各個(gè)數(shù)據(jù)流的走向。13. 選擇 File»Save, 把該VI 保存到任意目錄下。14. 選擇File»Close,關(guān)閉該 VI 。練習(xí)一 結(jié)束附注與說明:1. 顯示對(duì)象(Indicator)、控制對(duì)象(Control)和數(shù)值常數(shù)對(duì)象顯示對(duì)象和控制對(duì)象都是前面板上的控件,前者有輸入端子而無輸出端子,后者正好相反,它們分別相當(dāng)于普通編程語言中的輸出參數(shù)和輸入?yún)?shù)。數(shù)值常數(shù)對(duì)象可以看成是控制對(duì)象的一個(gè)特例。在前面板中創(chuàng)建新的控制對(duì)象或顯示對(duì)象時(shí),LabVIEW 都會(huì)在流
16、程圖中創(chuàng)建對(duì)應(yīng)的端子。端子的符號(hào)反映該對(duì)象的數(shù)據(jù)類型。例如,DBL 符號(hào)表示對(duì)象數(shù)據(jù)類型是雙精度數(shù);TF 符號(hào)表示布爾數(shù);I16 符號(hào)表示16位整型數(shù);ABC符號(hào)表示對(duì)象數(shù)據(jù)類型是字符串。一個(gè)對(duì)象應(yīng)當(dāng)是顯示對(duì)象還是控制對(duì)象必須弄清楚,否則無法正確連線。有時(shí)他們的圖標(biāo)是相似或相同的,可以根據(jù)需要明確規(guī)定它是顯示對(duì)象還是控制對(duì)象。方法是將鼠標(biāo)移到圖標(biāo)上,然后點(diǎn)右鍵,可出現(xiàn)快速菜單(例見右圖)。如果菜單中的第一項(xiàng)是Chang to Control,說明這是一個(gè)顯示對(duì)象,你可以根據(jù)需要,將其變?yōu)榭刂茖?duì)象。如果菜單中的第一項(xiàng)是Chang to Indicator ,說明這是一個(gè)控制對(duì)象,你也可以根據(jù)需要
17、,將其變?yōu)轱@示對(duì)象。2. 關(guān)于連線連線是程序設(shè)計(jì)中較為復(fù)雜的問題。流程圖上的每一個(gè)對(duì)象都帶有自己的連線端子,連線將構(gòu)成對(duì)象之間的數(shù)據(jù)通道。因?yàn)檫@不是幾何意義上的連線,因此并非任意兩個(gè)端子間都可連線,連線類似于普通程序中的變量。數(shù)據(jù)單向流動(dòng),從源端口向一個(gè)或多個(gè)目的端口流動(dòng)。不同的線型代表不同的數(shù)據(jù)類型。下面是一些常用數(shù)據(jù)類型所對(duì)應(yīng)的線型和顏色:類型顏色標(biāo)量一維數(shù)組二維數(shù)組整形數(shù)蘭色浮點(diǎn)數(shù)橙色邏輯量綠色字符串粉色文件路徑青色當(dāng)需要連接兩個(gè)端點(diǎn)時(shí),在第一個(gè)端點(diǎn)上點(diǎn)擊連線工具(從工具模板欄調(diào)用),然后移動(dòng)到另一個(gè)端點(diǎn),再點(diǎn)擊第二個(gè)端點(diǎn)。端點(diǎn)的先后次序不影響數(shù)據(jù)流動(dòng)的方向。當(dāng)把連線工具放在端點(diǎn)上時(shí),該
18、端點(diǎn)區(qū)域?qū)?huì)閃爍,表示連線將會(huì)接通該端點(diǎn)。當(dāng)把連線工具從一個(gè)端口接到另一個(gè)端口時(shí),不需要按住鼠標(biāo)鍵。當(dāng)需要連線轉(zhuǎn)彎時(shí),點(diǎn)擊一次鼠標(biāo)鍵,即可以正交垂直方向地彎曲連線,按空格鍵可以改變轉(zhuǎn)角的方向。接線頭是為了幫助正確連接端口的連線。當(dāng)把連線工具放到端口上,接線頭就會(huì)彈出。接線頭還有一個(gè)黃色小標(biāo)識(shí)框,顯示該端口的名字。線型為波折號(hào)的連線表示壞線。出現(xiàn)壞線的原因有很多,例如:連接了兩個(gè)控制對(duì)象;源端子和終點(diǎn)端子的數(shù)據(jù)類型不匹配(例如一個(gè)是數(shù)字型,而另一個(gè)是布爾型)。可以通過使用定位工具點(diǎn)擊壞線再按下 <Delete> 來刪除它。選擇 Edit»Remove Bad Wires 或
19、者按下<Ctrl-B> 可以一次刪除流程圖中的所有壞線。當(dāng) VI 無法運(yùn)行,或者顯示 Signal has Loose Ends (信號(hào)丟失終端)的錯(cuò)誤信息時(shí),這是一個(gè)快捷的調(diào)試方法。程序調(diào)試技術(shù) (以下操作大家可以用練習(xí)一嘗試)1找出語法錯(cuò)誤如果一個(gè)VI程序存在語法錯(cuò)誤,則在面板工具條上的運(yùn)行按鈕會(huì)變成一個(gè)折斷的箭頭,表示程序不能被執(zhí)行。這時(shí)該按鈕被稱作錯(cuò)誤列表。點(diǎn)擊它,則LabVIEW彈出錯(cuò)誤清單窗口,點(diǎn)擊其中任何一個(gè)所列出的錯(cuò)誤,選用Find功能,則出錯(cuò)的對(duì)象或端口就會(huì)變成高亮。2設(shè)置執(zhí)行程序高亮在LabVIEW的工具條上有一個(gè)畫著燈泡的按鈕,這個(gè)按鈕叫做“高亮執(zhí)行”按鈕上。
20、點(diǎn)擊這個(gè)按鈕使它變成高亮形式,再點(diǎn)擊運(yùn)行按鈕,VI程序就以較慢的速度運(yùn)行,沒有被執(zhí)行的代碼灰色顯示,執(zhí)行后的代碼高亮顯示,并顯示數(shù)據(jù)流線上的數(shù)據(jù)值。這樣,你就可以根據(jù)數(shù)據(jù)的流動(dòng)狀態(tài)跟蹤程序的執(zhí)行。3斷點(diǎn)與單步執(zhí)行為了查找程序中的邏輯錯(cuò)誤,有時(shí)希望流程圖程序一個(gè)節(jié)點(diǎn)一個(gè)節(jié)點(diǎn)地執(zhí)行。使用斷點(diǎn)工具可以在程序的某一地點(diǎn)中止程序執(zhí)行,用探針或者單步方式查看數(shù)據(jù)。使用斷點(diǎn)工具時(shí),點(diǎn)擊你希望設(shè)置或者清除斷點(diǎn)的地方。斷點(diǎn)的顯示對(duì)于節(jié)點(diǎn)或者圖框表示為紅框,對(duì)于連線表示為紅點(diǎn)。當(dāng)VI程序運(yùn)行到斷點(diǎn)被設(shè)置處,程序被暫停在將要執(zhí)行的節(jié)點(diǎn),以閃爍表示。按下單步執(zhí)行按鈕,閃爍的節(jié)點(diǎn)被執(zhí)行,下一個(gè)將要執(zhí)行的節(jié)點(diǎn)變?yōu)殚W爍,指
21、示它將被執(zhí)行。你也可以點(diǎn)擊暫停按鈕,這樣程序?qū)⑦B續(xù)執(zhí)行直到下一個(gè)斷點(diǎn)。4探針可用探針工具來查看當(dāng)流程圖程序流經(jīng)某一根連接線時(shí)的數(shù)據(jù)值。從Tools工具模板選擇探針工具,再用鼠標(biāo)左建點(diǎn)擊你希望放置探針的連接線。這時(shí)顯示器上會(huì)出現(xiàn)一個(gè)探針顯示窗口。該窗口總是被顯示在前面板窗口或流程圖窗口的上面。在流程圖中使用選擇工具或連線工具,在連線上點(diǎn)擊鼠標(biāo)右鍵,在連線的彈出式菜單中選擇“探針”命令,同樣可以為該連線加上一個(gè)探針。1.2 子VI的建立子VI(SubVI)相當(dāng)于普通編程語言中的子程序,也就是被其他的 VI調(diào)用的VI??梢詫⑷魏我粋€(gè)定義了圖標(biāo)和聯(lián)接器的 VI作為另一個(gè) VI的子程序。在流程圖中打開
22、Functions»Select a VI. ,就可以選擇要調(diào)用的子 VI 。構(gòu)造一個(gè)子VI主要的工作就是定義它的圖標(biāo)和聯(lián)接器。每個(gè)VI在前面板和流程圖窗口的右上角都顯示了一個(gè)默認(rèn)的圖標(biāo)。啟動(dòng)圖標(biāo)編輯器的方法是,用鼠標(biāo)右鍵單擊面板窗口的右上角的默認(rèn)圖標(biāo),在彈出菜單中選擇 Edit Icon。下圖顯示了圖標(biāo)編輯器的窗口??梢杂么翱谧筮叺母鞣N工具設(shè)計(jì)像素編輯區(qū)中的圖標(biāo)形狀。編輯區(qū)右側(cè)的一個(gè)方框中顯示了一個(gè)實(shí)際大小的圖標(biāo)。圖標(biāo)編輯器的具體使用細(xì)節(jié)參閱練習(xí)二圖標(biāo)編輯器窗口聯(lián)接器是 VI 數(shù)據(jù)的輸入輸出接口。如果用面板控制對(duì)象或者顯示對(duì)象從子 VI 中輸出或者輸入數(shù)據(jù),那么這些對(duì)象都需要在聯(lián)接
23、器面板中有一個(gè)連線端子。您可以通過選擇 VI的端子數(shù)并為每個(gè)端子指定對(duì)應(yīng)的前面板對(duì)象以定義聯(lián)接器。定義聯(lián)接器的方法是,用鼠標(biāo)右鍵單擊面板窗口中的圖標(biāo)窗口,在快捷菜單中選擇 Show Connector。聯(lián)接器圖標(biāo)會(huì)取代面板窗口右上角的圖標(biāo)。LabVIEW 自動(dòng)選擇的端子連接模式是控制對(duì)象的端子位于聯(lián)接器窗口的左邊,顯示對(duì)象的端子位于聯(lián)接器窗口右邊。選擇的端子數(shù)取決于前面板中控制對(duì)象和顯示對(duì)象的個(gè)數(shù)。聯(lián)接器中的各個(gè)矩形表示各個(gè)端子所在的區(qū)域,可以用它們從 VI 中輸入或者輸出數(shù)據(jù)。如果必要,也可以選擇另外一種端子連接模式。方法是在圖標(biāo)上單擊鼠標(biāo)右鍵單出快捷菜單,選擇 Show Connector
24、,再次彈出快捷菜單,選擇Patterns。下面我們通過一個(gè)練習(xí)說明具體操作。練習(xí)二:子VI的建立及調(diào)用步驟如下:1. 打開一個(gè)NEW VI2. 在前面板中放置一個(gè)Number control 控件(數(shù)據(jù)輸入控件)和一個(gè)Number Indicator控件(數(shù)據(jù)顯示),都在All controls>>numberic模板下并把標(biāo)簽分別改為 X 和 X6,如下圖: 3. 后面板程序圖如下圖連接,這是一個(gè)計(jì)算X 的6次方程序 4. 在前面板中,用鼠標(biāo)右鍵單擊窗口右上角的圖標(biāo),在快捷菜單中選擇 Edit Icon.,也可以雙擊圖標(biāo)激活圖標(biāo)編輯器。注意只能在前面板中編輯圖標(biāo)和聯(lián)接器。5. 刪
25、除默認(rèn)圖標(biāo)。使用Select Tool(矩形框),單擊并拖動(dòng)想要?jiǎng)h除的部分,按下<Delete>。也可以通過雙擊工具框中的陰影矩形刪除圖標(biāo)。6. 用 Text Tool(文本工具) 創(chuàng)建文本(寫好后可以用方向鍵移動(dòng)文字在圖標(biāo)中的位置)。得到圖標(biāo)將如下圖所示。7. 單擊OK,關(guān)閉編輯器。新創(chuàng)建的圖標(biāo)就顯示在屏幕右上角的圖標(biāo)窗口中。8. 用鼠標(biāo)右鍵單擊前面板中的圖標(biāo)窗口,在快捷菜單中選擇Show Connector,設(shè)置聯(lián)接器端子連接模式。在默認(rèn)情況下,LabVIEW 會(huì)根據(jù)前面板中的控制對(duì)象和顯示對(duì)象的數(shù)目確定聯(lián)接器的端子連接模式。因?yàn)榍懊姘逯杏袃蓚€(gè)對(duì)象,所以聯(lián)接器有兩個(gè)端子,如右圖
26、所示。用鼠標(biāo)右鍵單擊聯(lián)接器窗口,在快捷菜單中選擇Rotate 90 Degrees(旋轉(zhuǎn)90度),注意聯(lián)接器窗口的變化,如右圖所示。9. 端子連接到X和X6:a. 點(diǎn)擊聯(lián)接器左部端子。光標(biāo)自動(dòng)變成連線工具,同時(shí)端子變成黑色。b. 單擊X控件對(duì)象。一個(gè)移動(dòng)的虛線框把它包圍起來,選中的端子的顏色變?yōu)榕c控制/顯示對(duì)象的數(shù)據(jù)類型一致的顏色。如果單擊前面板中的任何空白區(qū)域以后,虛線消失,選中的端子變暗,這表示您已經(jīng)成功地把顯示對(duì)象和上部端子連接起來。如果端子是白色,則表示沒有連接成功。c. 重復(fù)步驟a 和 b,把右部的端子和X6連接起來。c. 用鼠標(biāo)右鍵單擊聯(lián)接器,在快捷菜單中選擇Show Icon.1
27、0. 選擇File»Save ,保存該 VI,保存名為X6。這樣這個(gè) VI 就完成了,并也可以作為子 VI被其他的VI調(diào)用。子VI 的圖標(biāo)在主 VI 的流程圖中代表它。11. 調(diào)用子VI。新建一個(gè)New VI12. 在前面板中放置一個(gè)Number control 控件和一個(gè)Number Indicator控件,并把標(biāo)簽分別改為 X 和 X6,如下圖 13. 后面板操作。在Functions>>All Functions>>Select a VI ,選中并打開剛才保存的VI,并連接好線如下圖: 14.運(yùn)行該程序練習(xí)二 結(jié)束1.3 使用三種圖表模式目的:查看 VI
28、 分別在三種模式下執(zhí)行時(shí)圖表的顯示。練習(xí)三:建立前面板及流程圖如下步驟:1.在前面板放置chart(Controls>>All Controls>>Graph>>Waveform chart)控件2.在后面板放置Sine函數(shù)(Functions>>All Functions>>Numberic>>Trigonometric>>sine)及Wait Until Next ms Multiple 函數(shù)(Functions>>All Functions>>Time&Dialog>
29、> Wait Until Next ms Multiple)并在左端子建立常數(shù)如100。最后放置while循環(huán)該程序中利用一個(gè)while循環(huán)產(chǎn)生連續(xù)的sin(i)函數(shù)值,并及時(shí)地在chart圖表上顯示出來,現(xiàn)在前面板上的chart是一個(gè)strip,這是一個(gè)坐標(biāo)式顯示器,與紙帶式圖表記錄器相似。每接受一個(gè)新數(shù)據(jù),新數(shù)據(jù)就將顯示在右側(cè),而原有數(shù)據(jù)移動(dòng)到左側(cè)3用鼠標(biāo)選中chart,點(diǎn)擊右鍵,可在快速菜單中選擇Advanced»Update Mode子菜單??梢赃x擇更換其他兩種更新模式。示波器模式是一個(gè)返回式的顯示器,與示波器類似。每接受一個(gè)新數(shù)據(jù)時(shí),它就把新數(shù)據(jù)繪制在原有數(shù)據(jù)的右側(cè)。
30、當(dāng)數(shù)據(jù)曲線到達(dá)顯示區(qū)的右邊緣時(shí),VI 會(huì)刪除全部圖形,從左邊緣重新開始繪制曲線。示波器模式顯然要快于條狀圖模式,因?yàn)樗粫?huì)因?yàn)闈L動(dòng)產(chǎn)生溢出。 掃描模式更接近于示波器模式,但是當(dāng)數(shù)據(jù)曲線到達(dá)顯示區(qū)的右邊時(shí),不會(huì)變成空白,而是會(huì)出現(xiàn)一個(gè)移動(dòng)的垂線,標(biāo)記新數(shù)據(jù)的開始,并當(dāng)VI添加新數(shù)據(jù)時(shí)穿過整個(gè)顯示區(qū)。練習(xí)三 結(jié)束。第二講 程序結(jié)構(gòu)循環(huán)結(jié)構(gòu)While循環(huán)While 循環(huán)可以反復(fù)執(zhí)行循環(huán)體的程序,直至到達(dá)某個(gè)邊界條件。它類似于普通編程語言中的 Do 循環(huán)和 Repeat-Until 循環(huán)。While 循環(huán)的框圖是一個(gè)大小可變的方框,用于執(zhí)行框中的程序,直到條件端子接收到的布爾值為 FALSE。該循環(huán)有
31、如下特點(diǎn):計(jì)數(shù)從0開始(i=0)。先執(zhí)行循環(huán)體,而后i+1,如果循環(huán)只執(zhí)行一次,那么循環(huán)輸出值i=0。循環(huán)至少要運(yùn)行一次。圖4While 循環(huán)示意圖由于在練習(xí)一中已講過While循環(huán)的應(yīng)用,大家可以自己做下面的練習(xí),其前面板和流程圖如下圖所示:.1 移位寄存器(Shift Register)移位寄存器可以將數(shù)據(jù)從一個(gè)循環(huán)周期傳遞到另外一個(gè)周期。在程序設(shè)計(jì)中,經(jīng)常要用到它創(chuàng)建一個(gè)移位寄存器的方法是,用鼠標(biāo)右鍵單擊循環(huán)的左邊或者右邊,在快捷菜單中選擇 Add Shift Register。如右圖所示。移位寄存器在流程圖上用在循環(huán)邊框上相應(yīng)的一對(duì)端子來表示。右邊的端子中存儲(chǔ)了一個(gè)周期完成后的數(shù)據(jù),這
32、些數(shù)據(jù)在這個(gè)周期完成之后將被轉(zhuǎn)移到左邊的端子,賦給下一個(gè)周期。移位寄存器可以轉(zhuǎn)移各種類型的數(shù)據(jù)數(shù)值、布爾數(shù)、數(shù)組、字符串等等。它會(huì)自動(dòng)適應(yīng)與它連接的第一個(gè)對(duì)象的數(shù)據(jù)類型。下圖表示了它的工作過程圖Shift Register的工作過程可以令移位寄存器記憶前面的多個(gè)周期的數(shù)值。這個(gè)功能對(duì)于計(jì)算數(shù)據(jù)均值非常有用。還可以創(chuàng)建其他的端子訪問先前的周期的數(shù)據(jù),方法是用鼠標(biāo)右鍵單擊左邊或者右邊的端子,在快捷菜單中選擇Add Element。例如,如果某個(gè)移位寄存器左邊的端口含有三個(gè)元素,那么就可以訪問前三個(gè)周期的數(shù)據(jù)。練習(xí)四 使用移位寄存器 目的:創(chuàng)建一個(gè)可以在圖表中顯示運(yùn)行平均數(shù)的VI。前面板1. 打開一
33、個(gè)新的前面板,按照下圖所示創(chuàng)建對(duì)象。2. 把波形圖表的坐標(biāo)范圍改為0.0到2.0。3. 在添加開關(guān)之后,用鼠標(biāo)右鍵單擊它,在快捷菜單中選擇Mechanical Action»Latch When Pressed,再選擇Operate»Make Current Values Default,把ON狀態(tài)設(shè)置為默認(rèn)狀態(tài)。2.00.00.51.01.5500隨機(jī)數(shù)BooleanONOFF練習(xí)四 的前面板流程圖1.按下圖創(chuàng)建流程圖。練習(xí)四 的流程圖2.在流程圖中添加 While 循環(huán)(Functions»Structures),創(chuàng)建移位寄存器。a. 用鼠標(biāo)右鍵單擊While
34、循環(huán)的左邊或者右邊,在快捷菜單中選擇Add Shift Register。b. 用鼠標(biāo)右鍵單擊寄存器的左端子,在快捷菜單中選擇Add Element,添加一個(gè)寄存器。用同樣的方法創(chuàng)建第三個(gè)元素。3.Random Number (01)函數(shù)(Functions»Numeric)產(chǎn)生0到1之間的某個(gè)隨機(jī)數(shù)。4.Compound Arithmetic 函數(shù)(Functions»Numeric)在本練習(xí)中,它將返回兩個(gè)周期產(chǎn)生的隨機(jī)數(shù)的和。如果要加入其他的輸入,只需用右鍵單擊某個(gè)輸入,從快捷菜單中選擇Add Input。5.除法函數(shù)(Functions»Numeric)在
35、本練習(xí)中,它用于返回最近四個(gè)隨機(jī)數(shù)的平均值。6.數(shù)值常數(shù)(Functions»Numeric)在While循環(huán)的每個(gè)周期,Random Number (01)函數(shù)將產(chǎn)生一個(gè)隨機(jī)數(shù)。VI就將把這個(gè)數(shù)加入到存儲(chǔ)在寄存器中的最近三個(gè)數(shù)值中。Random Number (01)再將結(jié)果除以4,就能得到這些數(shù)的平均值(當(dāng)前數(shù)加上以前的三個(gè)數(shù))。然后再將這個(gè)平均值顯示在波形圖中。7.Wait Until Next ms Multiple函數(shù) (Functions»Time & Dialog)它將確保循環(huán)的每個(gè)周期不會(huì)比毫秒輸入快。在本練習(xí)中,毫秒輸入的值是500毫秒。如果用鼠標(biāo)
36、右鍵單擊圖標(biāo),從快捷菜單中選擇Visible»Label,就可以看到Wait Until Next ms Multiple的標(biāo)簽。8.用鼠標(biāo)右鍵單擊Wait Until Next ms Multiple 功能函數(shù)的輸入端子,在快捷菜單中選擇Create Constant。出現(xiàn)一個(gè)數(shù)值常數(shù),并自動(dòng)與功能函數(shù)連接。9.將Constant設(shè)置為500。這樣連接到函數(shù)的數(shù)值常數(shù)設(shè)置了500毫秒的等待時(shí)間。因此循環(huán)每半秒執(zhí)行一次。注意,VI用一個(gè)隨機(jī)數(shù)作為移位寄存器的初始值。如果沒有設(shè)置移位寄存器端子的初始值,它就含有一個(gè)默認(rèn)的數(shù)值,或者上次運(yùn)行結(jié)束時(shí)的數(shù)值,因此開始得到的平均數(shù)沒有任何意義。
37、10.執(zhí)行該 VI,觀察過程。11.把該 VI 保存。練習(xí) 四 結(jié)束。附注:移位寄存器的初值:上面的練習(xí)中對(duì)移位寄存器設(shè)置了初值0.5。如果不設(shè)這個(gè)初值,默認(rèn)的初值是。在這個(gè)例子中,一開始的計(jì)算結(jié)果是不對(duì)的,只有到循環(huán)完次后移位寄存器中的過去值才填滿,即第次循環(huán)執(zhí)行后可以得到正確的結(jié)果。 For循環(huán)For循環(huán)用于將某段程序執(zhí)行指定次數(shù)。和While 循環(huán)一樣,它不會(huì)立刻出現(xiàn)在流程圖中,而是出現(xiàn)一個(gè)小的圖標(biāo),而后您可以修改它的大小和位置。具體的方法是,先單擊所有端子的左上方,然后按下鼠標(biāo),拖曳出一個(gè)包含所有端子的矩形。釋放鼠標(biāo)時(shí)就創(chuàng)建了一個(gè)指定大小和位置的For循環(huán)。For循環(huán)將把它的框圖中的程
38、序執(zhí)行指定的次數(shù),F(xiàn)or循環(huán)具有下面這兩個(gè)端子:N: 計(jì)數(shù)端子(輸入端子)用于指定循環(huán)執(zhí)行的次數(shù)。I: 周期端子(輸出端子)含有循環(huán)已經(jīng)執(zhí)行的次數(shù)。上圖顯示了一可以產(chǎn)生100個(gè)隨機(jī)數(shù)并將數(shù)據(jù)顯示在一個(gè)圖表上的For循環(huán)。在該例中,i 的初值是0,終值是99。練習(xí)五 使用For循環(huán)目的:用For循環(huán)和移位寄存器計(jì)算一組隨機(jī)數(shù)的最大值。打開一個(gè)新的前面板,按照下圖創(chuàng)建對(duì)象。a.將一個(gè)數(shù)字顯示對(duì)象放在前面板,設(shè)置它的標(biāo)簽為“最大值”。b.將一個(gè)波形圖表放在前面板,設(shè)置它的標(biāo)簽為“隨機(jī)數(shù)”。將圖表的縱坐標(biāo)范圍改為0.0到1.0。c.在圖表的快捷菜單中選擇Visible Items»Scrol
39、lbar和Digital Display,并隱藏Plot Legend。d.用移位工具修改滾動(dòng)欄的大小。練習(xí)五 的前面板和流程圖按照上圖畫流程圖。在流程圖中放置一個(gè)For循環(huán)(Functions»Structures)。在For循環(huán)的邊框處單擊鼠標(biāo)右鍵,在快捷菜單中選擇Add Shift Register。將下列對(duì)象添加到流程圖。a.Random Number (01)函數(shù)(Functions»Numeric)產(chǎn)生0到1之間的某個(gè)隨機(jī)數(shù)。b.數(shù)值常數(shù)(Functions»Numeric)在這個(gè)練習(xí)中需要將移位寄存器的初始值設(shè)成0。c.Max&Min函數(shù)(F
40、unctions»Comparison)輸入兩個(gè)數(shù)值,再將它們的最大值輸出到右上角,最小值輸出到右下角。這里只需要最大值,只用連接最大值輸出。d.數(shù)值常數(shù)(Functions»Numeric)For循環(huán)需要知道需要執(zhí)行的次數(shù)。本練習(xí)中是100次。按照上圖連接各個(gè)端子。運(yùn)行該VI。將該VI保存。練習(xí)五 結(jié)束。2.2 分支結(jié)構(gòu):CaseCase結(jié)構(gòu)含有兩個(gè)或者更多的子程序(Case),執(zhí)行那一個(gè)取決于與選擇端子或者選擇對(duì)象的外部接口相連接的某個(gè)整數(shù)、布爾數(shù)、字符串或者標(biāo)識(shí)的值。必須選擇一個(gè)默認(rèn)的Case以處理超出范圍的數(shù)值,或者直接列出所有可能的輸入數(shù)值。Case結(jié)構(gòu)見下圖,各
41、個(gè)子程序占有各自的流程框,在其上沿中央有相應(yīng)的子程序標(biāo)識(shí):Ture、False或、。按鈕用來改變當(dāng)前顯示的子程序(各子程序是重疊放在屏幕同一位置上的)。子程序標(biāo)識(shí)按鈕條件端子練習(xí)六 使用 Case結(jié)構(gòu) 目的:創(chuàng)建一個(gè)VI以檢查一個(gè)數(shù)值是否為正數(shù)。如果它是正的,VI就計(jì)算它的平方根,反之則顯示出錯(cuò)。前面板1. 打開一個(gè)新的前面板,并按照下圖所示創(chuàng)建對(duì)象。控制對(duì)象用于輸入數(shù)值,顯示對(duì)象用于顯示該數(shù)值的平方根。流程圖2. 照下圖創(chuàng)建流程圖。練習(xí)六的面板和流程圖3. 從Functions»Structures中選擇一個(gè) Case結(jié)構(gòu),并放置在在流程圖中。 Case 結(jié)構(gòu)是一個(gè)可以改變大小的方
42、框。先來做Ture的情況,照流程圖上半部分構(gòu)造。a. Greater Or Equal To 0? 函數(shù)(Functions»Comparison)如果輸入數(shù)值大于或者等于0就會(huì)返回一個(gè)TRUE值。b. Square Root 函數(shù)(Functions»Numeric)返回輸入數(shù)值的平方根。連好線c. 點(diǎn)擊Case框的選擇按鈕,轉(zhuǎn)入False情況編程數(shù)值常數(shù)(Functions»Numeric)這里用于顯示錯(cuò)誤的代數(shù)值-999.00。d. One Button Dialog函數(shù)(Functions»Time & Dialog)在 這里它用于顯示一
43、個(gè)對(duì)話框,內(nèi)容是Error.。 e. 字符串常數(shù) (Functions»String)用Edit Text Tools在對(duì)話框中輸入字符串。該VI在TRUE或者FALSE情況下都會(huì)執(zhí)行。如果輸入的數(shù)值大于等于0,VI會(huì)執(zhí)行TRUE Case,返回該數(shù)的平方根,否則將會(huì)輸出999.00,并顯示一個(gè)對(duì)話框,內(nèi)容為Error.。返回前面板,運(yùn)行該VI。修改標(biāo)簽為Number的數(shù)字式控制對(duì)象的數(shù)值,分別嘗試一個(gè)正數(shù)和負(fù)數(shù)。注意,當(dāng)把數(shù)字式控制對(duì)象的值改為負(fù)數(shù)時(shí),LabVIEW會(huì)顯示Case結(jié)構(gòu)的FALSE Case中設(shè)置的出錯(cuò)信息。4. 保存該 VI。VI 的算法本練習(xí)中的流程圖功能相當(dāng)于代
44、碼式編程語言中的下列偽代碼:if (Number >= 0) thenSquare Root Value = SQRT(Number)elseSquare Root Value = -999.00Display Message "Error. "end if 練習(xí) 六 結(jié)束。2.3 順序結(jié)構(gòu)和公式節(jié)點(diǎn) 順序結(jié)構(gòu)(Sequence Structure)在代碼式的傳統(tǒng)編程語言中,默認(rèn)的情況是,程序語句按照排列順序執(zhí)行,但LabVIEW中不同,它是一種圖形化的數(shù)據(jù)流式編程語言。在下圖左圖中,假設(shè)有A、B、C、D個(gè)節(jié)點(diǎn),其數(shù)據(jù)流向如右圖所示。按照數(shù)據(jù)流式語言的約定,順序結(jié)構(gòu)的
45、說明任何一個(gè)節(jié)點(diǎn)只有在所有的輸入數(shù)據(jù)有效時(shí)才會(huì)執(zhí)行,所以圖中,當(dāng)且僅當(dāng)A、B、C個(gè)節(jié)點(diǎn)執(zhí)行完,使得D節(jié)點(diǎn)的個(gè)輸入數(shù)據(jù)都到達(dá)D節(jié)點(diǎn)后,D節(jié)點(diǎn)才執(zhí)行。但是你要注意,這里并沒有規(guī)定A、B、C個(gè)節(jié)點(diǎn)的執(zhí)行順序。在LabVIEW中這種情況下,A、B、C的執(zhí)行順序是不確定的,如果你需要對(duì)它們規(guī)定一個(gè)確定的順序,那就需要使用本節(jié)介紹的“順序結(jié)構(gòu)”。 上圖中的右邊是順序結(jié)構(gòu)的圖標(biāo),它看上去像是電影膠片。它可以按一定順序執(zhí)行多個(gè)子程序。首先執(zhí)行0幀中的程序,然后執(zhí)行1幀中的程序,逐個(gè)執(zhí)行下去。與Case結(jié)構(gòu)類似,這多幀程序在流程圖中占有同一個(gè)位置。練習(xí) 七 使用順序結(jié)構(gòu) 目的:創(chuàng)建一個(gè) VI,計(jì)算生成等于某個(gè)給
46、定值的隨機(jī)數(shù)所需要的時(shí)間。前面板打開一個(gè)新的前面板,并按照下圖所示創(chuàng)建對(duì)象。練習(xí)七的前面板我們約定數(shù)據(jù)是到100范圍的整數(shù)。當(dāng)前值用于顯示當(dāng)前產(chǎn)生的隨機(jī)數(shù)。“執(zhí)行次數(shù)”用于顯示達(dá)到指定值循環(huán)執(zhí)行的次數(shù)。匹配時(shí)間用來顯示達(dá)到指定值所用的時(shí)間。流程圖練習(xí) 七 的流程圖(共幀)1. 在流程圖中放置順序結(jié)構(gòu)(Functions»Structures)。2. 用鼠標(biāo)右鍵單擊幀的邊框,在快捷菜單中選擇Add Frame After,創(chuàng)建一個(gè)新幀。重復(fù)這個(gè)步驟,再創(chuàng)建一個(gè)幀。共楨。3. 選中第楨,設(shè)置讀取初始時(shí)間(子)程序4. 第0幀的下邊框上含有一個(gè)小方框,其中有一個(gè)箭頭。這個(gè)方框叫做順序局 部
47、變量,可以在同一個(gè)順序結(jié)構(gòu)中的各個(gè)幀之間傳遞數(shù)據(jù)。用鼠標(biāo)右鍵單擊第0 幀的底部邊框,選擇Add Sequence Local,創(chuàng)建順序局部變量。順序局部變量顯示為一個(gè)空的方塊。當(dāng)您將某個(gè)功能函數(shù)與順序局部變量相連時(shí),方塊中的箭頭就會(huì)自動(dòng)顯示。5. Tick Count (ms) 函數(shù)(Functions»Time & Dialog)返回啟動(dòng) 到現(xiàn)在的時(shí)間(以毫秒為單位)。在這里例子里需要使用兩個(gè)這個(gè)函數(shù)。另一個(gè)在第幀中。6. 按圖連好線。轉(zhuǎn)入第幀。該幀是匹配計(jì)算,內(nèi)含一個(gè)循環(huán)結(jié)構(gòu)。該圖中使 用的新函數(shù)有:Round to Nearest函數(shù)(Functions»Nu
48、meric)在該例中,它用于取0到100之間的隨機(jī)數(shù)到距離最近的整數(shù)。Not Equal?函數(shù)(Functions» Comparison)在該例中,它將隨機(jī)數(shù)和前面板中設(shè)置的數(shù)相比較,如果兩者不相等會(huì)返回TRUE值,否則返回FALSE。Increment函數(shù)(Functions»Numeric)在該例中,它將While循環(huán)的計(jì)數(shù)器加1。7. 按圖連好線。轉(zhuǎn)入第幀在第0幀中,Tick Count (ms)功能函數(shù)將以毫秒為單位表示當(dāng)前時(shí)間。這個(gè)數(shù)值被連到順序局部變量,這樣它就可以被后續(xù)的幀使用。在第1幀中,只要函數(shù)返回的值與指定值不等,VI就會(huì)持續(xù)執(zhí)行While循環(huán)。在第2
49、幀中,Tick Count (ms)功能函數(shù)以毫秒為單位返回新的時(shí)間。VI從中減去原來的時(shí)間(由第0幀通過順序局部變量提供)就可以計(jì)算出花費(fèi)的時(shí)間。8. 返回前面板,在Number to Match控制對(duì)象中輸入一個(gè)數(shù)值,執(zhí)行該VI。9. 把該VI保存。練習(xí) 七 結(jié)束。附注與說明:設(shè)置數(shù)據(jù)范圍在設(shè)定一個(gè)數(shù)據(jù)對(duì)象時(shí),可以設(shè)置對(duì)輸入數(shù)據(jù)的限制,利用快捷鍵選擇Data Range 選項(xiàng),將會(huì)出現(xiàn)如下對(duì)話框: 圖 設(shè)置數(shù)據(jù)范圍它可以防止用戶創(chuàng)建的控制對(duì)象或顯示對(duì)象的值超出某個(gè)預(yù)設(shè)的范圍。您可以選擇忽略這個(gè)值,將它強(qiáng)制修改到范圍以內(nèi),或暫停程序的執(zhí)行。在程序執(zhí)行時(shí),如果發(fā)生溢出錯(cuò)誤,溢出錯(cuò)誤符號(hào)將顯示在
50、工具欄中的執(zhí)行按鈕的位置。而且,一個(gè)立體的黑框?qū)寻l(fā)生溢出的控制對(duì)象包圍起來。2.3.2 公式節(jié)點(diǎn)(Formula Node)公式節(jié)點(diǎn)是一個(gè)大小可變的方框,可以利用它直接在流程圖中輸入公式。從Functions»Structures中選擇公式節(jié)點(diǎn)就可以把它放到流程圖中。當(dāng)某個(gè)等式有很多變量或者非常復(fù)雜時(shí),這個(gè)功能就非常有用。例如等式:y = x2 + x + 1使用公式節(jié)點(diǎn)可以表示為:公式節(jié)點(diǎn)示意圖利用公式節(jié)點(diǎn)可以直接輸入一個(gè)或者多個(gè)復(fù)雜的公式,而不用創(chuàng)建流程圖的很多子程序。使用文本編輯工具來輸入公式。創(chuàng)建公式節(jié)點(diǎn)的輸入和輸出端子的方法是,用鼠標(biāo)右鍵單擊第0幀的底部邊框,選擇Add
51、Input (Add Output)。再在節(jié)點(diǎn)框中輸入變量名稱。變量名對(duì)大小寫敏感。然后就可以在框中輸入公式。每個(gè)公式語句都必須以分號(hào)(;)結(jié)尾。公式節(jié)點(diǎn)的幫助窗口中列出了可供公式節(jié)點(diǎn)使用的操作符、函數(shù)和語法規(guī)定。一般說來,它與C語言非常相似,大體上一個(gè)用C寫的獨(dú)立的程序塊都可能用到公式節(jié)點(diǎn)中。但是仍然建議不要在一個(gè)公式節(jié)點(diǎn)中寫過于復(fù)雜的代碼程序。下面這個(gè)例子顯示了如何在一個(gè)公式節(jié)點(diǎn)中執(zhí)行不同條件時(shí)的數(shù)據(jù)發(fā)送。請(qǐng)閱讀下面這段程序代碼,如果X為正數(shù),它將算出X的平方根并把該值賦給Y,如果X為負(fù)數(shù),程序就給Y賦值-99。if (x >= 0) theny = sqrt(x)elsey = -
52、99end if可以用公式節(jié)點(diǎn)取代上面這段代碼,如下圖所示:注意:公式節(jié)點(diǎn)中變量字母X,Y大、小寫是有區(qū)別的,開方的函數(shù)sqrt(X)中函數(shù)名稱是小寫。練習(xí) 八 使用公式節(jié)點(diǎn) 目的:創(chuàng)建一個(gè)VI,它用公式節(jié)點(diǎn)計(jì)算下列等式:y1 = x 3 x 2 + 5y2 = m* x + bx的范圍是從0到10??梢詫?duì)這兩個(gè)公式使用同一個(gè)公式節(jié)點(diǎn),并在同一個(gè)圖表中顯示結(jié)果。前面板練習(xí) 八 的面板打開一個(gè)新的前面板,按照上圖(該圖中包含運(yùn)行結(jié)果)創(chuàng)建前面板中的對(duì)象。波形圖顯示對(duì)象用于顯示等式的圖形。該 VI使用兩個(gè)數(shù)字式控制對(duì)象來輸入m和b的值。流程圖按照下圖創(chuàng)建流程圖。練習(xí) 八 的流程圖在創(chuàng)建某個(gè)輸入或者
53、輸出端子時(shí),必須給它指定一個(gè)變量名。這個(gè)變量名必須與公式節(jié)點(diǎn)中使用的變量名完全相符。公式節(jié)點(diǎn)中,在邊框上單擊鼠標(biāo)右鍵,在快捷菜單中選擇Add Input,可以創(chuàng)建三個(gè)輸入端子。在快捷菜單中選擇Add Output,創(chuàng)建輸出端子。x的范圍是從0到10(包括10),就必須連接11到計(jì)數(shù)端子。Build Array (Functions»Array)在這個(gè)例子中,它用于將兩個(gè)數(shù)據(jù)構(gòu)成數(shù)組形式提供給一個(gè)多曲線的圖形中。通過用變形工具拖拉邊角就可以創(chuàng)建兩個(gè)輸入端子。返回前面板,嘗試給m和b賦以不同的值再執(zhí)行該 VI。把該VI保存。 練習(xí) 八 結(jié)束。第三講 數(shù)據(jù)類型:數(shù)組、簇和波形3.1概述數(shù)組
54、是同類型元素的集合。一個(gè)數(shù)組可以是一維或者多維,如果必要,每維最多可有2311個(gè)元素。可以通過數(shù)組索引訪問其中的每個(gè)元素。索引的范圍是0到n 1,其中n是數(shù)組中元素的個(gè)數(shù)。圖所顯示的是由數(shù)值構(gòu)成的一維數(shù)組。注意第一個(gè)元素的索引號(hào)為0,第二個(gè)是1,依此類推。數(shù)組的元素可以是數(shù)據(jù)、字符串等,但所有元素的數(shù)據(jù)類型必須一致。圖數(shù)組示意圖簇(Cluster)是另一種數(shù)據(jù)類型,它的元素可以是不同類型的數(shù)據(jù)。它類似于C語言中的stuct。使用簇可以把分布在流程圖中各個(gè)位置的數(shù)據(jù)元素組合起來,這樣可以減少連線的擁擠程度。減少子VI的連接端子的數(shù)量。波形(Waveform)可以理解為一種簇的變形,它不能算是一種
55、有普遍意義的數(shù)據(jù)類型,但非常實(shí)用。3.2 數(shù)組的創(chuàng)建及自動(dòng)索引 創(chuàng)建數(shù)組一般說來,創(chuàng)建一個(gè)數(shù)組有兩件事要做,首先要建一個(gè)數(shù)組的“殼”(shell),然后在這個(gè)殼中置入數(shù)組元素(數(shù)或字符串等)。如果需要用一個(gè)數(shù)組作為程序的數(shù)據(jù)源,可以選擇Functions»Array»Array Constant,將它放置在流程圖中。然后再在數(shù)組框中放置數(shù)值常量、布爾數(shù)還是字符串常量。下圖顯示了在數(shù)組框放入字符串常量數(shù)組的例子。左邊是一個(gè)數(shù)組殼,中間的圖上已經(jīng)置入了字符串元素,右邊的圖反映了數(shù)組的第個(gè)元素為:”ABC”,后兩個(gè)元素均為空。圖數(shù)組的創(chuàng)建在前面板中創(chuàng)建數(shù)組的方法是,從Controls模板中選擇Array & Cluster,把數(shù)組放置在前面板中,然后選擇一個(gè)對(duì)象(例如數(shù)值常量)插入到數(shù)組框中。這樣就創(chuàng)建了一個(gè)數(shù)值數(shù)組。也可以直接在前面板中創(chuàng)建數(shù)組和相應(yīng)的控制對(duì)象,然后將它們復(fù)制或者拖曳到流程圖中,創(chuàng)建對(duì)應(yīng)的常數(shù)。還有很多在流程圖中創(chuàng)建和初始化數(shù)組的方法,有些功能函數(shù)也可以生成數(shù)組。3.2.2 數(shù)組控制對(duì)象、常數(shù)對(duì)象和顯示對(duì)象通過把數(shù)組與數(shù)值、布爾數(shù)、字符串或者簇組合在一起,可以在前面板和流程圖中創(chuàng)建任何一種控制對(duì)象、常數(shù)對(duì)象和顯示對(duì)象。數(shù)組元素不能是數(shù)組、圖表或者圖形。 自動(dòng)索引For循環(huán)和While循環(huán)可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水塘打樁施工方案
- 濟(jì)南地鐵8 號(hào)線施工方案
- 綠化栽植夜間施工方案
- 鋁塑板裝修店面施工方案
- 深州藍(lán)色鐵皮圍擋施工方案
- 窨井改造方案
- 鉆前工程方井施工方案
- 資陽異氰酸酯固化劑項(xiàng)目可行性研究報(bào)告
- 2025年變頻電纜項(xiàng)目可行性研究報(bào)告
- 日用化工品塑料行業(yè)深度研究報(bào)告
- 蔣詩萌小品《誰殺死了周日》臺(tái)詞完整版
- TB 10010-2008 鐵路給水排水設(shè)計(jì)規(guī)范
- 黑色素的合成與美白產(chǎn)品的研究進(jìn)展
- 建筑史智慧樹知到期末考試答案2024年
- 金蓉顆粒-臨床用藥解讀
- 社區(qū)健康服務(wù)與管理教案
- 2023-2024年家政服務(wù)員職業(yè)技能培訓(xùn)考試題庫(含答案)
- 2023年(中級(jí))電工職業(yè)技能鑒定考試題庫(必刷500題)
- 藏歷新年文化活動(dòng)的工作方案
- 果酒釀造完整
- 第4章-理想氣體的熱力過程
評(píng)論
0/150
提交評(píng)論