版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、LabVIEW程序動(dòng)態(tài)運(yùn)行Intelligent Electronics InstituteHuazhong University of Science & TechnologyHttp:/2目錄動(dòng)態(tài)運(yùn)行基礎(chǔ)動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)注冊(cè)事件動(dòng)態(tài)編程實(shí)例遞歸調(diào)用Http:/3動(dòng)態(tài)運(yùn)行基礎(chǔ) 5.1動(dòng)態(tài)運(yùn)行基礎(chǔ)動(dòng)態(tài)運(yùn)行基礎(chǔ) 為實(shí)現(xiàn)用戶可以通過編寫程序代碼來實(shí)現(xiàn)對(duì)程序的控制。相應(yīng)的編程機(jī)制應(yīng)包含兩個(gè)方面的數(shù)據(jù)結(jié)構(gòu)1.內(nèi)存中數(shù)據(jù)的管理組織結(jié)構(gòu)2.訪問這些內(nèi)存數(shù)據(jù)的接口數(shù)據(jù)結(jié)構(gòu) Http:/4動(dòng)態(tài)運(yùn)行基礎(chǔ)動(dòng)態(tài)運(yùn)行基礎(chǔ)-VI Server 技術(shù)作用:1. VI Server是LabVIEW編程環(huán)境內(nèi)部用于組
2、織程序、控件以及其它組件對(duì)象的系統(tǒng)2. VI Server技術(shù)可以使程序員可以通過編程實(shí)現(xiàn)VI的加載執(zhí)行以及退出過程3. 可以動(dòng)態(tài)的改變程序中所有元素的屬性,操作控件的事件等Http:/5動(dòng)態(tài)運(yùn)行基礎(chǔ)動(dòng)態(tài)運(yùn)行基礎(chǔ)-VI Server 技術(shù)實(shí)現(xiàn): 1.VI Server內(nèi)容涵蓋對(duì)象:包括程序類、VI類、控件類、工程類等2.VI Server技術(shù)接口實(shí)現(xiàn):這些類層次架構(gòu)中的每個(gè)對(duì)象都具有兩個(gè)接口,即方法(Methods)和屬性(Properties)Http:/6動(dòng)態(tài)運(yùn)行基礎(chǔ)動(dòng)態(tài)運(yùn)行基礎(chǔ)動(dòng)態(tài)運(yùn)行基礎(chǔ)-Refnum 控件控件 LabVIEW中的一些數(shù)據(jù)控件如右圖所示Http:/7動(dòng)態(tài)運(yùn)行基礎(chǔ)動(dòng)態(tài)運(yùn)行
3、基礎(chǔ)動(dòng)態(tài)運(yùn)行基礎(chǔ)-Refnum 控件說明控件說明1.程序員通過對(duì)象的引用句柄來實(shí)現(xiàn)對(duì)其屬性和方法的訪問??梢允褂肰I 引用句柄可以訪問包括指定VI的屬性和方法2.應(yīng)用于其他非只用于動(dòng)態(tài)調(diào)用。如TCP 網(wǎng)絡(luò)連接引用句柄、事件發(fā)生引用句柄等 Http:/8動(dòng)態(tài)運(yùn)行功能5.2動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能-相關(guān)函數(shù)相關(guān)函數(shù)1.動(dòng)態(tài)運(yùn)行技術(shù)在整個(gè)LabVIEW編程環(huán)境中是相對(duì)獨(dú)立的部分,需要幾個(gè)簡(jiǎn)單的函數(shù)就可以實(shí)現(xiàn)功能2.主要在應(yīng)用程序控制選板中Http:/9動(dòng)態(tài)運(yùn)行功能5.2動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能-相關(guān)函數(shù)相關(guān)函數(shù)應(yīng)用程序控制函數(shù)選板Http:/10動(dòng)態(tài)運(yùn)行功能典型相關(guān)函數(shù)介紹典型相關(guān)函數(shù)介紹 1.打開
4、應(yīng)用程序引用(Open Application Reference) 這個(gè)函數(shù)為程序員獲取運(yùn)行在工作組內(nèi)其他計(jì)算機(jī)上程序的引用句柄,為多臺(tái)計(jì)算機(jī)協(xié)同工作創(chuàng)造可能。返回指定計(jì)算機(jī)上正在運(yùn)行的應(yīng)用程序的Refnum。Http:/11動(dòng)態(tài)運(yùn)行功能2.打開VI引用(Open VI Reference) 返回指定路徑的VI的Refnum,在動(dòng)態(tài)調(diào)用VI時(shí)還必須連接VI的詳細(xì)類型說明。3.關(guān)閉引用(Close Reference) 當(dāng)用戶調(diào)用某個(gè)對(duì)象的Refnum時(shí),這個(gè)對(duì)象就會(huì)被加載到內(nèi)存之中。所有調(diào)用此引用句柄的程序都被關(guān)閉以后,將對(duì)象清除出內(nèi)存。Http:/12動(dòng)態(tài)運(yùn)行功能5.2動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行
5、功能-編程步驟編程步驟 1.配置動(dòng)態(tài)運(yùn)行的屬性,包括TCP/IP地址、訪問賬戶等2.建立VI引用。用“獲取VI引用”函數(shù)建立VI引用3. 用“屬性節(jié)點(diǎn)”或者“通過引用調(diào)用節(jié)點(diǎn)”動(dòng)態(tài)調(diào)用某個(gè)VI調(diào)用修改屬性4.用“關(guān)閉引用”函數(shù)銷毀VI引用Http:/13動(dòng)態(tài)運(yùn)行功能方式屬性設(shè)置屬性設(shè)置實(shí)例屬性設(shè)置實(shí)例Http:/14動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能-屬性控制屬性控制l顯示屬性顯示屬性 顯示屬性包括對(duì)象的顏色、大小、隱藏屬性等l狀態(tài)屬性狀態(tài)屬性 狀態(tài)屬性指示對(duì)象的當(dāng)前狀態(tài)信息屬性l 信息屬性信息屬性 返回對(duì)象相關(guān)的信息,字符型或者數(shù)值型l關(guān)聯(lián)屬性關(guān)聯(lián)屬性 關(guān)聯(lián)屬性為對(duì)象提供更多的關(guān)聯(lián)接口,包
6、含在該對(duì)象中的引用Http:/15動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能-方法調(diào)用方法調(diào)用 方法調(diào)用是對(duì)程序動(dòng)作的控制;即對(duì)應(yīng)用程序和VI的操作。常用方法: 1.連接響應(yīng)-應(yīng)用程序類方法 2.控件值”(Control Value) 3.運(yùn)行VI”(Run VI) 4.前面板控制(Front Panel)Http:/16動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能-屬性特征屬性特征 大多數(shù)屬性和方法的特征基本相同,可以在運(yùn)行中設(shè)置。但是在程序中調(diào)用屬性節(jié)點(diǎn)和調(diào)用節(jié)點(diǎn)出現(xiàn)問題時(shí),應(yīng)首先考察這些屬性Http:/17動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能- -動(dòng)態(tài)調(diào)用動(dòng)態(tài)調(diào)用實(shí)現(xiàn)方法包括:1.利用“運(yùn)行VI”方法
7、調(diào)用2.利用動(dòng)態(tài)調(diào)用節(jié)點(diǎn),這種方法需要嚴(yán)格的端口定義,但相應(yīng)的數(shù)據(jù)傳輸十分方便Http:/18動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)調(diào)用的優(yōu)點(diǎn):1.節(jié)省運(yùn)行內(nèi)存 2.增加程序靈活性 3.簡(jiǎn)化程序 Http:/19動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能動(dòng)態(tài)運(yùn)行功能-遠(yuǎn)程訪問遠(yuǎn)程訪問實(shí)現(xiàn)訪問遠(yuǎn)程的技術(shù)主要有:1.通過前面介紹過的Web 服務(wù)器技術(shù)發(fā)布VI2.利用TCP/IP、UDP等通訊標(biāo)準(zhǔn)的函數(shù)建立連接并傳遞數(shù)據(jù)3.運(yùn)用動(dòng)態(tài)運(yùn)行技術(shù)實(shí)現(xiàn)遠(yuǎn)程Http:/20動(dòng)態(tài)注冊(cè)事件5.3 5.3 動(dòng)態(tài)注冊(cè)事件動(dòng)態(tài)注冊(cè)事件 靜態(tài)事件:綁定明確的響應(yīng)對(duì)象以及設(shè)置固定的響應(yīng)模式 動(dòng)態(tài)注冊(cè)事件:通過引用句柄將對(duì)象和操作相關(guān)聯(lián),動(dòng)態(tài)運(yùn)行的大多數(shù)特性都在這
8、里得到體現(xiàn)Http:/21 相關(guān)函數(shù):程序?qū)υ捒蚺c用戶界面事件選板上動(dòng)態(tài)注冊(cè)事件1.注冊(cè)事件(Register For Events)-產(chǎn)生自定義事件2.取消注冊(cè)事件(Unregister For Events)-用來注銷自定義事件3.創(chuàng)建用戶事件(Create User Events )-引入事件結(jié)構(gòu)Http:/22功能擴(kuò)展功能擴(kuò)展動(dòng)態(tài)注冊(cè)事件1.允許一次激發(fā)多個(gè)事件,而不會(huì)丟失事件2.是可以在程序的任何地方觸發(fā)事件。事件結(jié)構(gòu)和“創(chuàng)建用戶事件”函數(shù)可以不在同一個(gè)VI之中,為程序的模塊化提供了方便Http:/23編程步驟:將希望綁定對(duì)象的引用句柄引入“注冊(cè)事件”節(jié)點(diǎn)動(dòng)態(tài)注冊(cè)事件注冊(cè)事件操作方式
9、Http:/24 在相應(yīng)行選擇合適的事件,本例中都選擇了“值改變”事件動(dòng)態(tài)注冊(cè)事件調(diào)用用戶自定義事件Http:/25動(dòng)態(tài)注冊(cè)事件本例中的三個(gè)注冊(cè)事件特點(diǎn):1.前兩個(gè)都是一般自定義事件-不同之處在于獲取對(duì)象引用句柄的方式不同2.第三個(gè)注冊(cè)事件是用戶事件,注冊(cè)事件相當(dāng)于只響應(yīng)值改變事件Http:/26動(dòng)態(tài)注冊(cè)事件 事件結(jié)構(gòu)調(diào)用了“注冊(cè)事件”節(jié)點(diǎn),將第二個(gè)事件的設(shè)置為空,這樣就解除了對(duì)結(jié)果控件的綁定,結(jié)果控件今后再發(fā)生動(dòng)作也不會(huì)觸發(fā)事件了。在程序的最后應(yīng)該取消注冊(cè)事件并銷毀用戶事件。Http:/27動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例5.3 5.3 動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例1.屬性設(shè)置和方法調(diào)用
10、2.動(dòng)態(tài)調(diào)用3.類型操作4.遠(yuǎn)程調(diào)用5.拖放應(yīng)用6.代碼優(yōu)化Http:/28動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例- -屬性設(shè)置和方法調(diào)用屬性設(shè)置和方法調(diào)用程序運(yùn)行前-用樹形控件(Tree)表示元素的從屬關(guān)系Http:/29動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例樹形控件進(jìn)行添加項(xiàng)操作,就可以實(shí)現(xiàn)程序功能數(shù)組操作插入類插入類類選擇和屬性選擇程序框圖Http:/30動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例程序流程如下:1.數(shù)組操作-數(shù)組操作把有用的信息從數(shù)2. 組中分離出來用,在循環(huán)中依次單個(gè)的插入樹形控件中2.插入類-在前一步的判斷中,發(fā)現(xiàn)屬于不存在的類的元素時(shí),需要插入類3.插入元
11、素-元素插入在類插入之后4.釋放資源-在程序的最后銷毀引用句柄并引出錯(cuò)誤信息Http:/31動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例通過類選擇和屬性選擇方式程序程序運(yùn)行后Http:/32動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例5.4 5.4 動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例- -動(dòng)態(tài)調(diào)用動(dòng)態(tài)調(diào)用 在主程序中采用“通過引用調(diào)用”節(jié)點(diǎn)來實(shí)現(xiàn)動(dòng)態(tài)調(diào)用產(chǎn)生不同信號(hào)并進(jìn)行不同的處理Http:/33動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例功能函數(shù)程序前面板和代碼框圖Http:/34動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例程序運(yùn)行以后首先要探測(cè)在指定目錄中已經(jīng)存在哪些函數(shù)探測(cè)功能VI事件程序框圖Http:/35動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程
12、實(shí)例 主程序的主要功能是通過調(diào)用功能函數(shù)實(shí)現(xiàn)的,主程序和動(dòng)態(tài)調(diào)用VI通過路徑和名字建立聯(lián)系調(diào)用功能VI事件程序框圖Http:/36動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例“通過引用調(diào)用”節(jié)點(diǎn)和屬性節(jié)點(diǎn)的使用方法有些不同。:1.在動(dòng)態(tài)調(diào)用節(jié)點(diǎn)的右鍵快捷菜單VI 服務(wù)器瀏覽中選擇希望動(dòng)態(tài)調(diào)用的VI2.節(jié)點(diǎn)會(huì)包含所調(diào)用VI的端口3. 在節(jié)點(diǎn)的引用句柄端口上創(chuàng)建靜態(tài)VI引用,將它連接到打開 VI 引用的類型說明符VI引用句柄端口4.將打開 VI 引用函數(shù)和動(dòng)態(tài)調(diào)用節(jié)點(diǎn)聯(lián)系起來,并在操作完成后關(guān)閉相應(yīng)的引用句柄Http:/37動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例前面兩例操作方式總結(jié):1.獲取某對(duì)象的引用句柄;2.使
13、用屬性節(jié)點(diǎn)或者調(diào)用節(jié)點(diǎn)來完成操作;3.將引用句柄關(guān)閉??偟膩碚f,操作是線型的,而引用句柄就是貫穿始終的主線。Http:/38動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例5.4 5.4 動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例- -類型操作類型操作 程序中有一組控件需要相同的屬性設(shè)置時(shí),應(yīng)用循環(huán)顯然是便捷的做法:1.要將對(duì)象的引用句柄寫入同一個(gè)數(shù)組。程序經(jīng)常需要將所有控件的引用句柄轉(zhuǎn)換為通用的父類,或提取收集復(fù)雜數(shù)據(jù)結(jié)構(gòu)中的控件2.統(tǒng)一進(jìn)行屬性設(shè)置Http:/39動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例 設(shè)計(jì)虛擬數(shù)字萬用表,通過動(dòng)態(tài)運(yùn)行技術(shù)來解決表頭的顯示問題多個(gè)控件同步顯示的效果Http:/40動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編
14、程實(shí)例編寫程序分析:1.先分析表頭控件2.從常數(shù)中分析簇中是否還有簇和其他的數(shù)字型控件3.在常數(shù)中調(diào)出部分的標(biāo)簽4.取出表頭中控件的引用句柄,得到各控件類型描述 Http:/41動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例解析表頭控件制作表頭:Http:/42動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例獲取目標(biāo)引用句柄數(shù)組:根據(jù)精度和量程定義數(shù)字顯示格式字符串修改控件屬性多對(duì)象屬性設(shè)置Http:/43類型操作獲取目標(biāo)控件的引用句柄數(shù)組:1.還是取出表頭簇中所有控件的引用句柄,得到控件類引用句柄數(shù)組,將它作為判斷的源數(shù)組通過移位寄存器引入循環(huán)2.做一個(gè)Digital類的空數(shù)組,通過寄存器引入循環(huán),作為目標(biāo)數(shù)組3.報(bào)錯(cuò)信
15、息也通過移位寄存器在循環(huán)中傳遞Http:/44類型操作本例總結(jié):1.對(duì)于取到的引用句柄首先需要進(jìn)一步細(xì)化到它本身的類型2.對(duì)于簇類型需要取出其內(nèi)部的控件做進(jìn)一步的判斷,3.對(duì)于數(shù)字型控件,直接將引用句柄寫入目標(biāo)數(shù)組。最終所有的數(shù)字型控件的引用句柄都將寫入目標(biāo)數(shù)組。Http:/45動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例5.4 5.4 動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例- -遠(yuǎn)程調(diào)用遠(yuǎn)程調(diào)用用VI Server技術(shù)實(shí)現(xiàn)兩個(gè)程序間的通訊,兩個(gè)程序可以布置在不同的計(jì)算機(jī)上服務(wù)器面板和客戶端面板Http:/46動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例客戶端程序要獲取服務(wù)器程序中字符串的值。按照動(dòng)態(tài)運(yùn)行的思想程序?qū)崿F(xiàn)過程
16、如下:1.需要獲取目標(biāo)對(duì)象的引用句柄,2.通過屬性節(jié)點(diǎn)和調(diào)用節(jié)點(diǎn)實(shí)現(xiàn)功能。這里要獲取引用句柄的對(duì)象可能在其他計(jì)算機(jī)上。Http:/47動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例服務(wù)器程序框圖客戶端程序框圖Http:/48動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例編程過程:1.通過“打開應(yīng)用程序引用”函數(shù)獲取服務(wù)器上的應(yīng)用程序引用。2.通過“打開VI引用”通過文件名得到服務(wù)器VI的引用。3.最后客戶端程序使用循環(huán)結(jié)構(gòu)不斷讀取服務(wù)器程序中字符串控件的值。Http:/49動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例5.4 5.4 動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例- -拖放應(yīng)用拖放應(yīng)用 拖放為程序提供了方便的操作方式,是程序中常用的
17、功能。下面的例子將實(shí)現(xiàn)允許用戶Source列表中的項(xiàng)目拖拽到Target列表中的功能,以此說明實(shí)現(xiàn)拖放的基本方法Http:/50動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例拖放程序前面板拖放過程有三個(gè)步驟:從源對(duì)象拖曳信息、找到目標(biāo)對(duì)象、將相應(yīng)數(shù)據(jù)寫入目標(biāo)對(duì)象。Http:/51動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例程序?qū)崿F(xiàn)分為三個(gè)事件:1.拖曳開始事件(Drag Starting?)-這個(gè)事 件的觸發(fā)對(duì)象為源對(duì)象2.拖曳經(jīng)過事件(Drag Enter)-這個(gè)事件的觸發(fā)對(duì)象是目標(biāo)對(duì)象3.寫入事件(Drop)-這個(gè)事件的觸發(fā)對(duì)象是目標(biāo)對(duì)象Http:/52動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例從源對(duì)象拖曳信息:拖曳開始事件
18、程序框圖Http:/53拖曳過程:動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例拖曳經(jīng)過事件程序框圖Http:/54將相應(yīng)數(shù)據(jù)寫入目標(biāo)對(duì)象:動(dòng)態(tài)運(yùn)行編程實(shí)例動(dòng)態(tài)運(yùn)行編程實(shí)例寫入事件程序框圖Http:/55遞歸調(diào)用遞歸調(diào)用5.5 5.5 遞歸調(diào)用遞歸調(diào)用 遞歸調(diào)用是程序運(yùn)行時(shí)動(dòng)態(tài)調(diào)用自己的一種特殊的嵌套調(diào)用遞歸過程示意圖Http:/56遞歸調(diào)用遞歸調(diào)用 采用遞歸算法計(jì)算階乘,即計(jì)算n!=n*(n-1)! 。 分析:為實(shí)現(xiàn)n!可以通過逐次相乘前次乘積與本次系數(shù)n來得到,為此我們只要編寫一個(gè)VI實(shí)現(xiàn)功能F(n)=n*F(n-1),然后通過不斷調(diào)用自身直到滿足n=1的條件時(shí)就可以得到階乘結(jié)果了Http:/57遞歸調(diào)
19、用遞歸調(diào)用遞歸調(diào)用遞歸調(diào)用- -動(dòng)態(tài)調(diào)用實(shí)現(xiàn)遞歸動(dòng)態(tài)調(diào)用實(shí)現(xiàn)遞歸動(dòng)態(tài)遞歸調(diào)用Http:/58遞歸調(diào)用遞歸調(diào)用程序運(yùn)行時(shí)步驟如下:1.程序通過打開VI引用,將當(dāng)前路徑下的VI做為引用輸入傳遞給通過引用節(jié)點(diǎn)調(diào)用2.通過引用節(jié)點(diǎn)調(diào)用完成了自己對(duì)自己的調(diào)用,即遞歸3.當(dāng)輸入仍然滿足大于1的條件時(shí),繼續(xù)遞歸,直到輸入不再滿足大于1時(shí),遞歸結(jié)束,返回階乘結(jié)果Http:/59遞歸調(diào)用遞歸調(diào)用遞歸調(diào)用遞歸調(diào)用- -直接遞歸調(diào)用直接遞歸調(diào)用 使用直接遞歸調(diào)用,需要指定VI的“執(zhí)行”屬性為“可重入執(zhí)行”和“在實(shí)例間共享副本”。也需要指定VI連線板與前面板控件的關(guān)聯(lián)Http:/60直接遞歸實(shí)現(xiàn)階乘直接遞歸調(diào)用圖標(biāo)與
20、端口遞歸調(diào)用遞歸調(diào)用Http:/61遞歸調(diào)用遞歸調(diào)用直接遞歸調(diào)用實(shí)現(xiàn)步驟如下:1. 在VI前面板分別放置數(shù)值輸入控件和數(shù)值顯示控件,分別設(shè)置輸入與輸出標(biāo)簽2. 編輯該并分別指定VI連線板的輸入與輸出,3選擇VI屬性中的執(zhí)行類別,選擇“可重入執(zhí)行”和“在實(shí)例見共享副本”4.直接將程序框圖右上角的VI圖標(biāo)拖放至自身程序框圖至此,遞歸程序完成,直接運(yùn)行該VI即可。Http:/62遞歸調(diào)用遞歸調(diào)用遞歸調(diào)用遞歸調(diào)用- -遞歸文件列表遞歸文件列表 列出文件夾或LLB的內(nèi)容。通過遍歷所選定的文件夾,將此文件夾內(nèi)的所有文件和子文件夾內(nèi)所有內(nèi)容全部遍歷到并顯示相關(guān)屬性。Http:/63遞歸調(diào)用遞歸調(diào)用遞歸文件列表Http:/64遞歸調(diào)用遞歸調(diào)用遞歸調(diào)用遞歸調(diào)用- -遞歸效率分析遞歸效率分析內(nèi)容循環(huán)結(jié)構(gòu)實(shí)現(xiàn)直接遞歸調(diào)用動(dòng)態(tài)調(diào)用實(shí)現(xiàn)遞歸VI運(yùn)行后數(shù)據(jù)內(nèi)存使用情況3.01K3.66K7.06KVI運(yùn)行速度15600微秒15600微秒187.2毫秒數(shù)據(jù)塊128VI導(dǎo)入后數(shù)據(jù)內(nèi)存使用情況1.5K1.8K3.5K圖5-33 性能分析Http:/65提示與建議1.應(yīng)用動(dòng)態(tài)程序的結(jié)構(gòu)更加靈活,程序的功能也得到了擴(kuò)展2.動(dòng)態(tài)運(yùn)行技術(shù)的應(yīng)用方式比較模式化3.雖然
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年陜西客運(yùn)資格證考試實(shí)際操作試題答案
- 2024年張家口客運(yùn)從業(yè)資格證考試題庫
- 2024年松原客運(yùn)從業(yè)資格證考試一點(diǎn)通
- 2024年連云港小型客運(yùn)從業(yè)資格證考試培訓(xùn)試題和答案
- 2024年荷澤小型客運(yùn)從業(yè)資格證考試
- 人教部編版六年級(jí)語文上冊(cè)《語文園地四》精美課件
- 玻璃采購與專業(yè)安裝一體化協(xié)議模板
- 第三章導(dǎo)數(shù)及其應(yīng)用(原題版)
- 幼兒園幼小銜接教育活動(dòng)總結(jié)
- 教師資格考試高級(jí)中學(xué)音樂面試試題及解答參考
- 平臺(tái)分銷返傭合作協(xié)議
- 中國(guó)城市行政代碼
- 低纖維蛋白原血癥的護(hù)理查房
- 數(shù)學(xué)4教材介紹
- 全國(guó)大學(xué)生職業(yè)生涯規(guī)劃大賽
- 肩關(guān)節(jié)鏡術(shù)的健康宣教
- 關(guān)于學(xué)校安全保衛(wèi)工作存在的問題及對(duì)策
- 2024年廣西鋁業(yè)集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2024年西藏開發(fā)投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 愛校主題班會(huì)課件
- 黑龍江省哈爾濱市南崗區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末語文試題
評(píng)論
0/150
提交評(píng)論