




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2022/5/31虛擬儀器虛擬儀器內(nèi)蒙古科技大學信息學院測控技術(shù)教研室2022/5/313 LabVIEW的程序結(jié)構(gòu) 主要的程序結(jié)構(gòu)有: 循環(huán)(While循環(huán)和For循環(huán)) 選擇(Case結(jié)構(gòu)) 順序(Sequence結(jié)構(gòu)) 事件(Event結(jié)構(gòu)) 2022/5/313.1 For循環(huán) 1For循環(huán)的創(chuàng)建循環(huán)的創(chuàng)建 基本的基本的For循環(huán)結(jié)構(gòu)由循環(huán)框、循環(huán)次數(shù)端口和計數(shù)端循環(huán)結(jié)構(gòu)由循環(huán)框、循環(huán)次數(shù)端口和計數(shù)端口組成??诮M成。 循環(huán)框循環(huán)框計數(shù)端口計數(shù)端口循環(huán)次數(shù)端口循環(huán)次數(shù)端口2022/5/31 2For循環(huán)的工作流程循環(huán)的工作流程 For循環(huán)用于將結(jié)構(gòu)中的程序循循環(huán)用于將結(jié)構(gòu)中的程序循環(huán)執(zhí)行
2、指定的次數(shù)。環(huán)執(zhí)行指定的次數(shù)。 在開始在開始For循環(huán)之前,從循環(huán)次循環(huán)之前,從循環(huán)次數(shù)端口讀入循環(huán)次數(shù),計數(shù)端口數(shù)端口讀入循環(huán)次數(shù),計數(shù)端口輸出輸出0值。值。 接下來執(zhí)行接下來執(zhí)行For循環(huán)框內(nèi)框圖代循環(huán)框內(nèi)框圖代碼程序,每執(zhí)行一次計數(shù)端口值碼程序,每執(zhí)行一次計數(shù)端口值自動加自動加1。 循環(huán)次數(shù)達到設(shè)定值后,退出循循環(huán)次數(shù)達到設(shè)定值后,退出循環(huán)。環(huán)。2022/5/31 3For循環(huán)的時間控制與數(shù)據(jù)傳遞循環(huán)的時間控制與數(shù)據(jù)傳遞 控制循環(huán)速度控制循環(huán)速度等待下一個整數(shù)倍毫秒等待下一個整數(shù)倍毫秒 。 數(shù)據(jù)傳遞數(shù)據(jù)傳遞 隧道上的數(shù)據(jù)在循環(huán)第一次執(zhí)行時進入循環(huán)邊框內(nèi)。以后不再隧道上的數(shù)據(jù)在循環(huán)第一次執(zhí)
3、行時進入循環(huán)邊框內(nèi)。以后不再理會這個數(shù)的變化理會這個數(shù)的變化。 例子:循環(huán)的數(shù)據(jù)輸入輸出2022/5/31 4For循環(huán)的數(shù)據(jù)通道與數(shù)組的自動索引循環(huán)的數(shù)據(jù)通道與數(shù)組的自動索引 數(shù)據(jù)通道是用連線工具連接循環(huán)框內(nèi)外的數(shù)據(jù)端口時,數(shù)據(jù)通道是用連線工具連接循環(huán)框內(nèi)外的數(shù)據(jù)端口時,在框架上自動形成的方形通道圖標在框架上自動形成的方形通道圖標 。 圖標空心表明此時數(shù)據(jù)通道具有自動索引功能,實心圖標不能圖標空心表明此時數(shù)據(jù)通道具有自動索引功能,實心圖標不能索引索引 。 自動索引是指將循環(huán)框外面的數(shù)組成員逐個依次進入循環(huán)體內(nèi),自動索引是指將循環(huán)框外面的數(shù)組成員逐個依次進入循環(huán)體內(nèi),或?qū)⒀h(huán)框內(nèi)的數(shù)據(jù)累加成一
4、個數(shù)組輸出到循環(huán)框外面。或?qū)⒀h(huán)框內(nèi)的數(shù)據(jù)累加成一個數(shù)組輸出到循環(huán)框外面。 2022/5/31例如:下圖中通道自動索引功能有效時,每一次循環(huán)產(chǎn)生一個新的數(shù)例如:下圖中通道自動索引功能有效時,每一次循環(huán)產(chǎn)生一個新的數(shù)據(jù),存儲在循環(huán)的邊框通道上,待循環(huán)結(jié)束以后,產(chǎn)生的據(jù),存儲在循環(huán)的邊框通道上,待循環(huán)結(jié)束以后,產(chǎn)生的6個數(shù)據(jù)將個數(shù)據(jù)將傳送到一個數(shù)組指示器中。自動索引功能無效時,只有最后一次傳送到一個數(shù)組指示器中。自動索引功能無效時,只有最后一次For循環(huán)產(chǎn)生的循環(huán)產(chǎn)生的1個隨機數(shù)傳到循環(huán)外。個隨機數(shù)傳到循環(huán)外??招膶嵭?022/5/31 4移位寄存器移位寄存器 創(chuàng)建:創(chuàng)建:右擊邊框,彈出一個菜單,
5、選擇右擊邊框,彈出一個菜單,選擇Add Shift Register選項,選項,可添加一個移位寄存器??商砑右粋€移位寄存器。 用途:用途:主要用于主要用于While循環(huán)和循環(huán)和For循環(huán),將上一次循環(huán)的值傳給下循環(huán),將上一次循環(huán)的值傳給下一次循環(huán)。一次循環(huán)。 數(shù)據(jù)類型:數(shù)據(jù)類型: 數(shù)字型、布爾型、字符串等數(shù)字型、布爾型、字符串等 。 初始化:初始化:在循環(huán)外將初始值連到移位寄存器的左端口,有默認初在循環(huán)外將初始值連到移位寄存器的左端口,有默認初值。值。 還可以存儲前幾次循環(huán)的值還可以存儲前幾次循環(huán)的值,在移位寄存器的左端口或右端口上,在移位寄存器的左端口或右端口上右擊鼠標彈出菜單,選擇右擊鼠標
6、彈出菜單,選擇Add Element選項,可創(chuàng)建附加的左端選項,可創(chuàng)建附加的左端口來存儲前幾次循環(huán)的值??趤泶鎯η皫状窝h(huán)的值。2022/5/31均為整數(shù))且例:求NMXNMXSNMX,(32022/5/31 5反饋節(jié)點反饋節(jié)點 功能:在循環(huán)中,將數(shù)據(jù)從一次循環(huán)傳遞到下一次循環(huán)。功能:在循環(huán)中,將數(shù)據(jù)從一次循環(huán)傳遞到下一次循環(huán)。 反饋節(jié)點箭頭的方向表示數(shù)據(jù)流的方向。反饋節(jié)點箭頭的方向表示數(shù)據(jù)流的方向。 反饋節(jié)點和移位寄存器可以互換,在反饋節(jié)點或移位寄存反饋節(jié)點和移位寄存器可以互換,在反饋節(jié)點或移位寄存器圖標上彈出快捷菜單選器圖標上彈出快捷菜單選Replace with shift Regist
7、er或或Replace with Feedback Node即可。即可。 移位寄存器左端口多于移位寄存器左端口多于1個時不能轉(zhuǎn)換為反饋節(jié)點。個時不能轉(zhuǎn)換為反饋節(jié)點。 2022/5/31 下面是用移位寄存器(左圖)和反饋節(jié)點(右圖)實現(xiàn)a+的框圖程序。 2022/5/313.2 While循環(huán) For循環(huán)和While循環(huán)的區(qū)別: For循環(huán)要執(zhí)行預(yù)先指定的循環(huán)次數(shù)。 而While循環(huán)只有在條件端口接收到的值為False時才停止循環(huán)。While循環(huán)不必知道循環(huán)次數(shù)。 While循環(huán)不滿足條件也要執(zhí)行1次。 For循環(huán)當N1時1次都不執(zhí)行。2022/5/31 1.While循環(huán)的創(chuàng)建循環(huán)的創(chuàng)建 Wh
8、ile循環(huán)由循環(huán)框、條件端口和計數(shù)端口組成。循環(huán)由循環(huán)框、條件端口和計數(shù)端口組成。循環(huán)循環(huán)框框條件端口條件端口計數(shù)端口計數(shù)端口2022/5/31 2.While循環(huán)的工作流程循環(huán)的工作流程 條件端口控制循環(huán)的停止與否。條件端口控制循環(huán)的停止與否。 條件端口有兩種狀態(tài)條件端口有兩種狀態(tài) : 當使用狀態(tài)為當使用狀態(tài)為Stop if True 時,若輸入值為時,若輸入值為Ture,則停止循,則停止循環(huán)環(huán) 。若輸入值為。若輸入值為False,則繼續(xù)執(zhí)行下一次循環(huán)。,則繼續(xù)執(zhí)行下一次循環(huán)。 當使用狀態(tài)為當使用狀態(tài)為Continue if True 時,若輸入值為時,若輸入值為Ture,則,則繼續(xù)執(zhí)行下一
9、次循環(huán)。若輸入值為繼續(xù)執(zhí)行下一次循環(huán)。若輸入值為False,則停止循環(huán)。,則停止循環(huán)。 循環(huán)結(jié)束后,才去檢測條件端口的值,因此不管條件是循環(huán)結(jié)束后,才去檢測條件端口的值,因此不管條件是否成立,循環(huán)至少要執(zhí)行一次。否成立,循環(huán)至少要執(zhí)行一次。 2022/5/31 計數(shù)端口用于統(tǒng)計循環(huán)執(zhí)行的次數(shù),計數(shù)端口用于統(tǒng)計循環(huán)執(zhí)行的次數(shù),While循環(huán)每執(zhí)行循環(huán)每執(zhí)行一次,計數(shù)端口的值就加一次,計數(shù)端口的值就加1。 計數(shù)端口從零開始計數(shù),也就是說,在第一次循環(huán)結(jié)束計數(shù)端口從零開始計數(shù),也就是說,在第一次循環(huán)結(jié)束時,計數(shù)端口的值為時,計數(shù)端口的值為0,如果循環(huán)執(zhí)行了,如果循環(huán)執(zhí)行了10次,則計數(shù)次,則計數(shù)端口
10、的值為端口的值為9。 While循環(huán)也具有數(shù)據(jù)通道索引和移位寄存器、反饋接循環(huán)也具有數(shù)據(jù)通道索引和移位寄存器、反饋接點的功能,它們的用法與點的功能,它們的用法與For循環(huán)相同,只是循環(huán)相同,只是While循循環(huán)的邊框數(shù)據(jù)通道默認為不能索引。環(huán)的邊框數(shù)據(jù)通道默認為不能索引。 2022/5/31用While 循環(huán)實現(xiàn)求X的立方和 2022/5/313.3 Case結(jié)構(gòu) 1.Case結(jié)構(gòu)的創(chuàng)建結(jié)構(gòu)的創(chuàng)建 Case結(jié)構(gòu)由選擇框架、選擇端口、選擇器標簽,以及結(jié)構(gòu)由選擇框架、選擇端口、選擇器標簽,以及遞增遞增/遞減按鈕組成。遞減按鈕組成。選擇標簽選擇標簽遞增按鈕遞增按鈕遞減按鈕遞減按鈕選擇框架選擇框架選擇
11、端口選擇端口2022/5/31 2Case結(jié)構(gòu)的工作流程結(jié)構(gòu)的工作流程 Case結(jié)構(gòu)有一個條件選擇端口 (Selector),根據(jù)連到該端口 的值來判斷執(zhí)行哪一個子Case。 Selector端口的數(shù)據(jù)類型有布爾型、數(shù)字型和字符串型。 3設(shè)置選擇結(jié)構(gòu)的默認項設(shè)置選擇結(jié)構(gòu)的默認項 應(yīng)設(shè)置一個默認項來處理超出條件選項范圍的情況。應(yīng)設(shè)置一個默認項來處理超出條件選項范圍的情況。 設(shè)置選擇結(jié)構(gòu)默認項的方法是在選擇結(jié)構(gòu)邊框上單擊鼠設(shè)置選擇結(jié)構(gòu)默認項的方法是在選擇結(jié)構(gòu)邊框上單擊鼠標右鍵,選擇標右鍵,選擇Make This The Default Case。2022/5/31 4選擇結(jié)構(gòu)數(shù)據(jù)通道的設(shè)置選擇結(jié)構(gòu)
12、數(shù)據(jù)通道的設(shè)置 輸入數(shù)據(jù)時,每個子輸入數(shù)據(jù)時,每個子Case框可連可不連數(shù)據(jù)通道??蚩蛇B可不連數(shù)據(jù)通道。 輸出數(shù)據(jù)時,每個子輸出數(shù)據(jù)時,每個子Case框必須為通道連接數(shù)據(jù)。否框必須為通道連接數(shù)據(jù)。否則程序不能運行,這時通道的圖標是空心的,只有為每則程序不能運行,這時通道的圖標是空心的,只有為每個子個子Case框的數(shù)據(jù)端口都連接數(shù)據(jù)后,圖標才變成實框的數(shù)據(jù)端口都連接數(shù)據(jù)后,圖標才變成實心。心。 Use Default if Unwired可使程序中沒有連線的子可使程序中沒有連線的子Case框輸出默認值??蜉敵瞿J值。2022/5/31CASE0 (Add),VI就進行加法運算,CASE1,則VI
13、將進行減法運算。使用了一個數(shù)字型Text Ring控制器(在控制模板中的Ring&Enum子模板中)注意:注意:當在一個子Case中建立了一個輸出數(shù)據(jù)通道后,必須給每一個子Case定義輸出數(shù)據(jù)通道。 設(shè)定默認的子設(shè)定默認的子CASE,當所有條件都不滿足時,當所有條件都不滿足時,執(zhí)行默認子執(zhí)行默認子CASE例子例子2022/5/313.4 順序結(jié)構(gòu)LabVIEW是一種數(shù)據(jù)流程序設(shè)計語言,沒有明確的先后順序,當節(jié)點所有輸入端的數(shù)據(jù)全部有效時,節(jié)點才執(zhí)行。Sequence結(jié)構(gòu),它是一種先后順序執(zhí)行的結(jié)構(gòu),看上去象電影膠片的幀(Frame),每一幀為一段框圖程序,按照幀(Frame)的順序來執(zhí)行框圖程
14、序。兩種形式順序結(jié)構(gòu),F(xiàn)lat Sequence Structure平鋪式順序結(jié)構(gòu)和Stacked Sequence Structure層疊式順序結(jié)構(gòu)。功能相同,區(qū)別僅在于表現(xiàn)形式不同。2022/5/31 1. 順序結(jié)構(gòu)的創(chuàng)建順序結(jié)構(gòu)的創(chuàng)建 在函數(shù)模板的在函數(shù)模板的Structures子模板中選擇創(chuàng)建順序結(jié)構(gòu)。選取子模板中選擇創(chuàng)建順序結(jié)構(gòu)。選取Stacked Sequence Structure層疊式順序結(jié)構(gòu)層疊式順序結(jié)構(gòu) 。 在結(jié)構(gòu)邊框上面單擊鼠標右鍵,從彈出的快捷菜單中選擇在結(jié)構(gòu)邊框上面單擊鼠標右鍵,從彈出的快捷菜單中選擇“Add Frame After”或或“Add Frame Befo
15、re”可以增加子圖形代碼框。可以增加子圖形代碼框。 在結(jié)構(gòu)邊框上右擊彈出的快捷菜單,選擇在結(jié)構(gòu)邊框上右擊彈出的快捷菜單,選擇ReplaceReplace with Flat Sequence,可以將層疊式順序結(jié)構(gòu)變換為平鋪式順序,可以將層疊式順序結(jié)構(gòu)變換為平鋪式順序結(jié)構(gòu)結(jié)構(gòu) 2022/5/31 2.順序結(jié)構(gòu)的工作方式順序結(jié)構(gòu)的工作方式 數(shù)據(jù)傳遞至順序結(jié)構(gòu)時,層疊式從標識數(shù)據(jù)傳遞至順序結(jié)構(gòu)時,層疊式從標識0開始執(zhí)行,依次順序執(zhí)行;開始執(zhí)行,依次順序執(zhí)行;平鋪式從左至右執(zhí)行所有子圖形代碼框。平鋪式從左至右執(zhí)行所有子圖形代碼框。 從結(jié)構(gòu)外面向順序結(jié)構(gòu)寫數(shù)據(jù)時,可連接可不連接這個數(shù)據(jù)通道;從結(jié)構(gòu)外面向
16、順序結(jié)構(gòu)寫數(shù)據(jù)時,可連接可不連接這個數(shù)據(jù)通道;但是當順序結(jié)構(gòu)向外輸出數(shù)據(jù)時,各個圖形代碼框中只能有一個但是當順序結(jié)構(gòu)向外輸出數(shù)據(jù)時,各個圖形代碼框中只能有一個連接這個數(shù)據(jù)通道。連接這個數(shù)據(jù)通道。 代碼框之間的數(shù)據(jù)傳遞,平鋪式可從一幀直接連線到另一幀來傳代碼框之間的數(shù)據(jù)傳遞,平鋪式可從一幀直接連線到另一幀來傳遞數(shù)據(jù),層疊式則需要通過局部變量遞數(shù)據(jù),層疊式則需要通過局部變量Sequence Local來傳來傳送數(shù)據(jù)。送數(shù)據(jù)。 2022/5/31 在層疊式順序結(jié)構(gòu)的邊框上面右擊,選擇在層疊式順序結(jié)構(gòu)的邊框上面右擊,選擇Add Sequence Local即可在當前幀創(chuàng)建一個順序局部變量端口。即可在當
17、前幀創(chuàng)建一個順序局部變量端口。 將本幀中的數(shù)據(jù)連接到該局部變量端口,該數(shù)據(jù)就可傳到后面的將本幀中的數(shù)據(jù)連接到該局部變量端口,該數(shù)據(jù)就可傳到后面的幀,該數(shù)據(jù)不會作用到它前面的幀。幀,該數(shù)據(jù)不會作用到它前面的幀。 如下圖示意了層疊式順序結(jié)構(gòu)通過局部變量傳遞數(shù)據(jù)的情如下圖示意了層疊式順序結(jié)構(gòu)通過局部變量傳遞數(shù)據(jù)的情況。在標識是況。在標識是1號幀的一個數(shù)據(jù)傳遞到標識是號幀的一個數(shù)據(jù)傳遞到標識是2號的幀進行號的幀進行“或或”運算,運算,0號幀不能使用該數(shù)據(jù)。號幀不能使用該數(shù)據(jù)。 2022/5/31例:使用Sequence結(jié)構(gòu),設(shè)計一個VI,計算產(chǎn)生一個與指定的數(shù)字相等的隨機數(shù)所需花費的時間。 讀取定時器
18、的當前值 VI程序每隔10ms執(zhí)行循環(huán)四舍五入取整2022/5/313.5 事件結(jié)構(gòu) 1.事件結(jié)構(gòu)的創(chuàng)建事件結(jié)構(gòu)的創(chuàng)建 事件結(jié)構(gòu)包括:結(jié)構(gòu)框、事件標簽、超時端口和事件數(shù)據(jù)端口。事件結(jié)構(gòu)包括:結(jié)構(gòu)框、事件標簽、超時端口和事件數(shù)據(jù)端口。事件標簽事件標簽 :說明當前框圖程序是響應(yīng)說明當前框圖程序是響應(yīng)的什么事件的什么事件 。超時端口,超時端口,默認默認值為值為-1,表示無,表示無限等待限等待 。 事件數(shù)事件數(shù)據(jù)端口據(jù)端口 結(jié)構(gòu)框結(jié)構(gòu)框 2022/5/31 2事件結(jié)構(gòu)的使用事件結(jié)構(gòu)的使用 可有一個或多個子圖形代碼框,該圖形代碼框可以設(shè)置為響應(yīng)多可有一個或多個子圖形代碼框,該圖形代碼框可以設(shè)置為響應(yīng)多個
19、事件。個事件。 右擊事件結(jié)構(gòu)邊框,從彈出的快捷菜單中選擇右擊事件結(jié)構(gòu)邊框,從彈出的快捷菜單中選擇Edit Events Handled by ThisCase,這時將彈出編輯事件對話框。,這時將彈出編輯事件對話框。 顯示當前建立的事件,顯示當前建立的事件,默認默認“Timeout事件。事件。增加事件增加事件刪除事件刪除事件 可以選擇可以選擇的事件源的事件源 相應(yīng)的事件源可相應(yīng)的事件源可產(chǎn)生的事件消息產(chǎn)生的事件消息 2022/5/31例如:建立一個5秒的超時事件和一個“OK Button” 開關(guān)值發(fā)生變化的事件 要求:要求: 方法方法1:任一事件發(fā)生都執(zhí)行同一個子圖形代碼框:任一事件發(fā)生都執(zhí)行同
20、一個子圖形代碼框程序,顯示出對話框程序,顯示出對話框“超時或單擊了超時或單擊了OK按鈕按鈕”。 方法方法2:由不同的框圖程序響應(yīng)不同的事件,顯示:由不同的框圖程序響應(yīng)不同的事件,顯示出對話框出對話框“超時事件超時事件”或或“單擊了單擊了OK按鈕事件按鈕事件”。 2022/5/31 法法1: 在前面板添加放置一個在前面板添加放置一個“OK Button” 控件控件 。 在編輯事件對話框中單擊按鈕在編輯事件對話框中單擊按鈕 新建一個事件,選取新建一個事件,選取“EventSources”事件源窗口中的事件源窗口中的“OK Button”,并在,并在“Event”事件窗口中選擇事件窗口中選擇“Val
21、ue Change” 。 選取選取OneButtonDialog函數(shù),放置在函數(shù),放置在Event Structure中。中。 在在message數(shù)據(jù)端口新建一個常量,輸入數(shù)據(jù)端口新建一個常量,輸入“超時或單擊超時或單擊了了OK按鈕按鈕”。 在超時端口連接值為在超時端口連接值為5000的一個數(shù)字常量。的一個數(shù)字常量。 2022/5/31 運行程序,如果單擊了運行程序,如果單擊了“OK Button”按鈕或等待按鈕或等待5秒都秒都會顯示出對話框會顯示出對話框“超時或單擊了超時或單擊了OK按鈕按鈕”。 2022/5/31 法法2: 在事件結(jié)構(gòu)邊框的快捷菜單中選擇在事件結(jié)構(gòu)邊框的快捷菜單中選擇Add
22、 Event Case來創(chuàng)建事件結(jié)構(gòu)的一個分支來創(chuàng)建事件結(jié)構(gòu)的一個分支 。 在彈出的對話框中,選取在彈出的對話框中,選取“EventSources”事件源窗口事件源窗口中的中的“OK Button” 。并在。并在“Event”事件窗口中選擇事件窗口中選擇“Value Change” 。 后面的設(shè)置與法后面的設(shè)置與法1類似。類似。2022/5/312.3.6 公式節(jié)點 在框圖程序中,如果需要設(shè)計較復(fù)雜的數(shù)學運算,框圖將在框圖程序中,如果需要設(shè)計較復(fù)雜的數(shù)學運算,框圖將會十分復(fù)雜,工作量大,而且不直觀,調(diào)試、改錯也不方會十分復(fù)雜,工作量大,而且不直觀,調(diào)試、改錯也不方便。便。 利用公式節(jié)點,只需將
23、數(shù)學公式的文本表達式輸入在公式利用公式節(jié)點,只需將數(shù)學公式的文本表達式輸入在公式節(jié)點的框圖內(nèi),并連接相應(yīng)的輸入、輸出端口,則節(jié)點的框圖內(nèi),并連接相應(yīng)的輸入、輸出端口,則LabVIEW會自動地根據(jù)公式計算出正確的結(jié)果,并從輸會自動地根據(jù)公式計算出正確的結(jié)果,并從輸出端輸出。出端輸出。2022/5/31 (1)公式節(jié)點的創(chuàng)建)公式節(jié)點的創(chuàng)建 從函數(shù)模板的從函數(shù)模板的Structures子模板上選擇公式節(jié)點子模板上選擇公式節(jié)點Formula Node,在框圖中設(shè)置公式節(jié)點。,在框圖中設(shè)置公式節(jié)點。 公式節(jié)點的邊框大小可以改變,用戶可以使用標簽工公式節(jié)點的邊框大小可以改變,用戶可以使用標簽工具,將數(shù)學
24、公式直接輸入到公式節(jié)點的框內(nèi)。具,將數(shù)學公式直接輸入到公式節(jié)點的框內(nèi)。2022/5/31 (2)公式節(jié)點的使用)公式節(jié)點的使用 可以聲明變量,也支持一些常用的可以聲明變量,也支持一些常用的C語言的語句(包括語言的語句(包括賦值語句、條件語句、循環(huán)語句、賦值語句、條件語句、循環(huán)語句、Switch語句),每語句),每條語句以分號結(jié)尾。條語句以分號結(jié)尾。 輸入公式后,需要添加輸入、輸出端口。輸入公式后,需要添加輸入、輸出端口。 在添加端口后出現(xiàn)的方框內(nèi)填入變量名稱。在添加端口后出現(xiàn)的方框內(nèi)填入變量名稱。 將輸入端口和程序中的數(shù)據(jù)端口相連接。將輸入端口和程序中的數(shù)據(jù)端口相連接。 將輸出端口和程序中的指
25、示端口連接將輸出端口和程序中的指示端口連接 2022/5/31 公式節(jié)點中常用的運算符其中,條件運算符的其中,條件運算符的“?”前的部分是判定條件,前的部分是判定條件,“?”和和“:”間的部分為當條件為間的部分為當條件為True時的表達式,時的表達式,“:”后后的部分為當條件為的部分為當條件為False時的表達式。時的表達式。2022/5/31 公式節(jié)點語句中還可以使用數(shù)學函數(shù):abs、acos、acosh、asin、asinh、atan、atan2、atanh、ceil、cos、cosh、cot、csc、exp、expml、floor、getexp、getman、int、intrz、ln、l
26、np1、log、log2、max、min、mod、pow、rand、rem、sec、sign、sin、sinc、sinh、sizeOfDim、sqrt、tan、tanh。 公式節(jié)點中可使用 IF條件語句, for和do 、while循環(huán) Swtich ( ) case分支語句 公式節(jié)點的語法與C語言相同2022/5/31例:用公式節(jié)點計算y1=x3+x2+5和y2=m*x+b 分析: 公式的輸入端口共有3個輸入量,分別是m、b和x。3個輸入量經(jīng)過公式節(jié)點中的兩條語句完成指定的運算,通過輸出端口輸出y1和y2。2022/5/31補充:前面板對象屬性的動態(tài)控制 在前面板設(shè)計編程時,我們可以修改和設(shè)
27、定對象控件在前面板設(shè)計編程時,我們可以修改和設(shè)定對象控件的屬性,但是在程序運行時能否由用戶修改或程序自的屬性,但是在程序運行時能否由用戶修改或程序自身改變呢?身改變呢? 方法是:創(chuàng)建對象的屬性節(jié)點,通過對屬性節(jié)點的方法是:創(chuàng)建對象的屬性節(jié)點,通過對屬性節(jié)點的“寫寫”操作,完成對對象屬性的修改。操作,完成對對象屬性的修改。 同樣通過對屬性節(jié)點的同樣通過對屬性節(jié)點的“讀讀”操作,在程序中讀取對象操作,在程序中讀取對象的屬性。的屬性。2022/5/31例:程序運行中,用Knob控件改變圖形曲線的顏色提示:建立提示:建立CHART的屬性節(jié)點的屬性節(jié)點 ,改為可寫,并指定為曲線,改為可寫,并指定為曲線P
28、lot的顏的顏色色Color屬性,用屬性,用Knob的值控制的值控制CASE,分別送,分別送5種顏色值給屬性節(jié)點種顏色值給屬性節(jié)點2022/5/312.3.7 局部變量和全局變量 1局部變量局部變量 程序太復(fù)雜,連線困難,需用局部變量。程序太復(fù)雜,連線困難,需用局部變量。 (1)創(chuàng)建)創(chuàng)建 法一:為前面板對象創(chuàng)建局部變量。法一:為前面板對象創(chuàng)建局部變量。 在對象上面單擊鼠標右鍵,在對象上面單擊鼠標右鍵,選擇選擇CreateLocal Variable。 法二:在框圖程序中新建局部變量,然后再指向某個對象。法二:在框圖程序中新建局部變量,然后再指向某個對象。 可以為一個對象創(chuàng)建多個局部變量??梢?/p>
29、為一個對象創(chuàng)建多個局部變量。 局部變量具有讀、寫兩種屬性。并可互換。局部變量具有讀、寫兩種屬性。并可互換。 2022/5/31 (2) 使用示例使用示例 程序中,建立了程序中,建立了“停止停止”控件的兩個局部變量??丶膬蓚€局部變量。 循環(huán)內(nèi)的局部變量處于循環(huán)內(nèi)的局部變量處于“讀讀”狀態(tài),讀出當前狀態(tài),讀出當前“停止停止”控件的狀態(tài),控件的狀態(tài),送給送給“指示燈指示燈”控件顯示。控件顯示。 循環(huán)外的局部變量循環(huán)外的局部變量 則處于則處于“寫寫”狀態(tài),它在每次程序運行前賦狀態(tài),它在每次程序運行前賦給給“停止停止”控件,賦值為控件,賦值為“False”,以保證程序運行時進入循環(huán),以保證程序運行時進
30、入循環(huán)狀態(tài)。狀態(tài)。2022/5/31 2全局變量全局變量 不同程序之間交換數(shù)據(jù),需用全局變量。不同程序之間交換數(shù)據(jù),需用全局變量。 全局變量全局變量VI只有前面板而無框圖程序。只有前面板而無框圖程序。 (1)創(chuàng)建)創(chuàng)建 選擇全局變量圖標,右擊,選擇選擇全局變量圖標,右擊,選擇Open Front Panel,打開全局變量聲明打開全局變量聲明VI的前面板。的前面板。 按照需要的數(shù)據(jù)類型加入控件按照需要的數(shù)據(jù)類型加入控件 。 切換到框圖程序窗口,單擊全局變量圖標,選擇需要切換到框圖程序窗口,單擊全局變量圖標,選擇需要它指向的控件。它指向的控件。 返回到全局變量聲明返回到全局變量聲明VI的前面板,將
31、該的前面板,將該VI文件存盤,文件存盤,完成全局變量的建立。完成全局變量的建立。 2022/5/31 (2)調(diào)用)調(diào)用 由函數(shù)模板中的由函數(shù)模板中的Select a VI子模板打開選擇用戶子模板打開選擇用戶程序?qū)υ捒?,選擇已經(jīng)保存的全局變量聲明程序?qū)υ捒?,選擇已經(jīng)保存的全局變量聲明VI程序,程序,此時將在框圖程序中顯示全局變量數(shù)據(jù)端口。此時將在框圖程序中顯示全局變量數(shù)據(jù)端口。 如果在全局變量聲明如果在全局變量聲明VI中建立多個控件,可以用操中建立多個控件,可以用操作工具在全局變量的圖標上單擊,在列出的所有變作工具在全局變量的圖標上單擊,在列出的所有變量對象中選擇所需的對象。量對象中選擇所需的對象。 2022/5/31 (3)使用示例)使用示例 利用全局變量在不同利用全局變量在不同VI中傳遞數(shù)據(jù)。中傳遞數(shù)據(jù)。 創(chuàng)建一個全局變量聲明創(chuàng)建一個全局變量聲明,其中包含一個數(shù)值型,其中包含一個數(shù)值型控件并命名為控件并命名為“數(shù)值數(shù)值”和布爾型控件并命名為和布爾型控件并命名為“狀狀態(tài)態(tài)”,保存為,保存為“GVvi”。新建一個新建一個VI命名為命名為“采集信息采集
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年多媒體設(shè)計與藝術(shù)的結(jié)合試題及答案
- 介紹國內(nèi)外檔案管理制度試題及答案
- 2024年多媒體設(shè)計師面試技巧試題及答案
- 2024年秘書證考試沖刺指導試題及答案
- 專注核心2024年記者證考試試題及答案
- 2024年系統(tǒng)分析師考試新趨勢:試題及答案
- 2024年重要二級建造師試題及答案
- 現(xiàn)場管理與二級建造師考試試題及答案
- 前瞻性二級建造師試題及答案研究
- 第六單元 第2章 認識生物的多樣性(新教學設(shè)計)2023-2024學年八年級上冊生物(人教版)
- GB 5009.44-2016食品安全國家標準食品中氯化物的測定
- 國家開放大學《民事訴訟法學》課后自測參考答案
- 建設(shè)工程總投資組成表
- 設(shè)備供應(yīng)售后維修服務(wù)方案
- 幼兒園科學教育《海洋生物》課件
- 博士考生體檢表
- 刑事技術(shù)(刑事圖像)教學課件精選
- 奔馳基礎(chǔ)電學培訓Basic electrics-electronics training for new comer
- 籠中鳥科學實驗
- 施工項目增項(變更)表(共4頁)
- 水電交接確認單
評論
0/150
提交評論