


全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
多態(tài)VI一、多態(tài)VI的概念圖1:一些多態(tài) VI LabVIEW 提供的一些 subVI,它們可以用于處理多種不同類型的數(shù)據(jù)。比如讀寫INI文件的VI,它們既可以讀寫數(shù)值型的數(shù)據(jù),也可以讀寫字符串、布爾等數(shù)據(jù)類型。類似的還用聲音輸出的VI、數(shù)據(jù)采集的VI等等。 這種可以處理多種不同數(shù)據(jù)類型的 VI 被稱為“多態(tài)VI”。這個(gè)多態(tài)和 C+ 中的多態(tài)可不是一個(gè)意思,它更類似于 C+ 中的函數(shù)重載。 多態(tài) VI 根據(jù)輸入或輸出的數(shù)據(jù)類型,再選擇調(diào)用一個(gè)的針對(duì)這種數(shù)據(jù)類型實(shí)現(xiàn)功能的 VI。這些準(zhǔn)對(duì)某種數(shù)據(jù)類型實(shí)現(xiàn)功能的 VI 被稱作“實(shí)例VI”。一般一個(gè)多態(tài)VI調(diào)用多個(gè)實(shí)例VI。 在這種場(chǎng)合下,比較適合使用多態(tài)VI:你幫助用戶實(shí)現(xiàn)了一個(gè)算法,這個(gè)算法會(huì)應(yīng)用到幾種不同的數(shù)據(jù)類型上。為了用戶使用方便,最好是不是給用戶看到一組不同的VI,這樣他在使用前,還要根據(jù)數(shù)據(jù)類型的不同先去尋找適合的VI;最好是指停工一個(gè)統(tǒng)一的接口VI,這個(gè)VI可以接受不同的數(shù)據(jù)類型,這個(gè)接口VI自動(dòng)的根據(jù)輸入數(shù)據(jù)類型的不同,去調(diào)用相應(yīng)的算法VI。二、如何實(shí)現(xiàn)多態(tài)VI 比如說(shuō),我們現(xiàn)在需要提供給用戶一個(gè)加法功能,它支持兩種數(shù)據(jù)類型:整數(shù)和字符串。如果輸入是兩個(gè)正整數(shù),輸出就是它們的和;如果輸入是兩個(gè)字符串,輸出就是把兩個(gè)字符串連接在一起。 對(duì)于這個(gè)需求,我們需要實(shí)現(xiàn)一個(gè)多態(tài)VI:add.vi,這個(gè)VI支持兩種數(shù)據(jù)類型:數(shù)值和字符串。這個(gè)名為add.vi的VI根據(jù)輸入數(shù)據(jù)的類型,再去調(diào)用兩個(gè)實(shí)例VI:“add numeric.vi”和“add string.vi”來(lái)實(shí)現(xiàn)具體的加法功能。它們的調(diào)用關(guān)系如圖1所示。圖2:一個(gè)實(shí)現(xiàn)加法功能的多態(tài)VI的調(diào)用關(guān)系 我們?cè)趯?shí)現(xiàn)這樣的多態(tài)VI之前,一般先實(shí)現(xiàn)它的實(shí)例VI,就是那些針對(duì)每個(gè)數(shù)據(jù)類型完成算法功能的VI。在這里是“add numeric.vi”和“add string.vi”。 完成了實(shí)例VI,就可以開始創(chuàng)建多態(tài)VI了。在 LabVIEW 的菜單中選擇 File-New,出現(xiàn) LabVIEW 新建項(xiàng)目的選擇對(duì)話框,再選擇 VI-Polymorphic VI 就會(huì)出現(xiàn)一個(gè)新的多態(tài)VI。 多態(tài)VI和普通的VI看上去不一樣,沒(méi)有前后面板。因?yàn)樗墓δ芏际窃趯?shí)例VI中實(shí)現(xiàn)的,因此多態(tài)VI只要選擇一下它的實(shí)例VI就可以了。圖3:多態(tài)VI 在多態(tài)VI的界面上,右上方是這個(gè)多態(tài)VI的圖標(biāo)。我們可以在這里畫一個(gè)圖標(biāo),讓用戶在使用多態(tài)VI時(shí),程序框圖上一直顯示此圖標(biāo)。但是,有時(shí)候使用實(shí)例VI的圖標(biāo),可以讓程序顯得更清晰,那么我們可以在多態(tài)VI左下方配置此選項(xiàng)。 多態(tài)VI的主體部分是一張列表,通過(guò)“Add”按鈕,可以把它的實(shí)例VI添加進(jìn)來(lái)。在用戶的程序框圖上,多態(tài)VI的數(shù)據(jù)類型可以自動(dòng)確定,也可以由用戶通過(guò)右鍵菜單或選擇欄(圖1中多態(tài)VI下面那個(gè)紫色方框)來(lái)選擇。實(shí)例VI列表中的“Menu Name”和“Selector Name”分別是在選擇是代表每種數(shù)據(jù)類型的在菜單和選擇欄中的文字,可以通過(guò)“Edit Name”按鈕來(lái)編輯它們。 多態(tài)VI右下方兩個(gè)選擇框,“Show Selector by Default”表示當(dāng)多態(tài)VI被拖到程序框圖上的時(shí)候,就把選擇框顯示出來(lái)。否則,用戶也可以通過(guò)右鍵菜單選擇顯示它。 “Allow Polymorphic VI to Adapt to Data Type”表示有多態(tài)VI根據(jù)輸入數(shù)據(jù)類型的不同,自動(dòng)選擇調(diào)用一個(gè)相應(yīng)的實(shí)例VI。如果這項(xiàng)沒(méi)被選中,編程者必須每次手動(dòng)選擇他想要的實(shí)例VI。三、多態(tài)VI的注意事項(xiàng) 在設(shè)計(jì)多態(tài)VI時(shí),有一些事項(xiàng)需要注意。 多態(tài)VI只能處理有限種數(shù)據(jù)類型,它只能處理實(shí)例VI中處理了的那些數(shù)據(jù)類型。數(shù)據(jù)的類型是無(wú)限的,比如:包含兩個(gè)整數(shù)的簇(Cluster)是一種數(shù)據(jù)類型,包含三個(gè)整數(shù)的簇就變成另一種數(shù)據(jù)類型了,包含三個(gè)字符串的簇又是一種新類型。如果你想做一個(gè)多態(tài)VI可以像LabVIEW原有的加法函數(shù)一樣處理無(wú)限種數(shù)據(jù)類型,是做不到的。 多態(tài)VI的每個(gè)實(shí)例VI可以是完全不同的,前面板,程序框圖,使用的子VI等等都可以完全不同。但是,為了便于用戶理解,一個(gè)多態(tài)VI應(yīng)該就是處理某一種算法的,它的每個(gè)實(shí)例VI負(fù)責(zé)一種數(shù)據(jù)類型。并且,為了便于用戶在不同的數(shù)據(jù)類型之間切換,每個(gè)實(shí)例VI的接線方塊(Connector Pane)的接線方式都應(yīng)當(dāng)保持一致。 多態(tài)VI不能嵌套使用,一個(gè)多態(tài)VI不能作為其他多態(tài)VI的實(shí)例VI。四、小技巧 你可以把多態(tài)
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)證書課程試題及答案
- 上??茖W(xué)考試題目及答案
- 臺(tái)球助教兼職合同7篇
- 租房合同范文:房屋租賃定金合同5篇
- 游樂(lè)場(chǎng)和幼兒園合作協(xié)議書4篇
- 瓦房合同書6篇
- 個(gè)人向個(gè)人借款合同書正式版4篇
- 疾病宣教動(dòng)畫制作要點(diǎn)
- 本科護(hù)理學(xué)課程核心要點(diǎn)
- 劇本殺室內(nèi)設(shè)計(jì)
- 綠化設(shè)備車輛管理維護(hù)方案
- 2023汽車智能座艙分級(jí)與綜合評(píng)價(jià)白皮書
- 職業(yè)暴露針刺傷應(yīng)急預(yù)案演練腳本-
- GB/T 16849-2023光放大器總規(guī)范
- 外科學(xué)教學(xué)課件:腸梗阻闌尾炎
- 國(guó)開電大 可編程控制器應(yīng)用實(shí)訓(xùn) 形考任務(wù)4實(shí)訓(xùn)報(bào)告
- 中國(guó)神華能源股份有限公司大柳塔煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 抗菌藥物使用分級(jí)授權(quán)表
- GB/T 2774-2006金屬錳
- GB 2717-2018食品安全國(guó)家標(biāo)準(zhǔn)醬油
- 軍人申請(qǐng)病退評(píng)殘醫(yī)學(xué)鑒定申請(qǐng)表-附表1
評(píng)論
0/150
提交評(píng)論