色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LabVIEW子VI設計—多態VI與自適應VI

華穗科技 ? 來源:華穗科技 ? 2023-10-23 14:37 ? 次閱讀

使用LabVIEW編寫程序時,工程師都會將自己程序中的部分代碼封裝為子VI,而封裝的部分可能是某個經典的算法,也可能是調用某個設備的專用代碼,還可能是實現某個功能的模塊。總之,為了提高程序的整潔度和可閱讀性,使用模塊化思想去封裝子VI是開發過程中十分重要的步驟。

而在封裝子VI的過程中有時會遇到功能實現相類似但輸入數據類型不同的情況,這時可能需要封裝多個子VI以滿足所有的需求,LabVIEW其實提供了更適用的方法,今天小編為大家帶來的子VI設計中的多態VI和自適應VI就是為此而生,進一步簡化程序并提高可閱讀性。

一、多態VI 多態VI的概念: 多態VI最早是在LabVIEW 6.0被引入的,它能夠在指定的輸入以及輸出端口上接受不同的數據類型。不同的數據類型可以是指不同的數據表示法或不同的數據維數大小。一個多態VI是一組子VI的集合,這些子VI都有一個共同的特點,它們的連線板模式都是類似的,每一個子VI對應著多態VI中的一個VI實例。LabVIEW中有很多多態VI,比如NI-DAQmx驅動庫中的讀取、寫入、定時、觸發等。

多態VI的使用場景:

當我們想要對不同數據類型的數據執行類似或相同的操作的時候,就可以使用多態VI。根據連接在輸入接線端上數據的類型不同,多態VI會自動選擇對應的實例子VI。多態VI允許用戶將它應用到功能類似的不同應用實例中去, 并且這些不同的應用實例處理了不同的數據類型的數據。這樣就可以讓用戶把數據類型不同所造成的VI結構差異在VI的內部就自動處理掉,從而不需要為不同的數據類型放置多個不同的處理VI。

創建多態VI:

1、創建不同的子VI實例,小編創建了幾個不同數據類型簡單計算的實例,;

f3132862-716c-11ee-939d-92fbcf53809c.png

2、在LabVIEW的新建模板界面選擇新建多態VI;

f32e377e-716c-11ee-939d-92fbcf53809c.png

3、在創建的多態VI中選擇添加剛才創建的幾個實例VI,添加完成后可以給它們分別自定義菜單名稱(在程序框圖面板右鍵多態VI>>選擇類型中顯示的名稱)和選擇器名稱(多態VI選擇器顯示的名稱);

f335bf44-716c-11ee-939d-92fbcf53809c.png ?

4、根據需要勾選對應的配置,其中程序框圖外觀勾選“繪制多態VI圖標”和“繪制實例VI圖標”會決定多態VI顯示的圖標。“默認顯示選擇器”選項決定在使用時圖標下方是否顯示多態VI選擇器(舉例說明:NI-DAQmx的定時API就是一個多態VI,而它圖標下面的下拉列表框其實就是多態VI選擇器)。“允許多態VI自動匹配數據類型”選項可以讓多態VI自動識別輸入的數據類型并選擇對應的實例;

f33970bc-716c-11ee-939d-92fbcf53809c.png

5、多態VI就制作完成后測試其功能。如下圖所示,連接不同數據類型時多態VI會自動選擇并執行對應的實例,后續如果要擴展其兼容的數據類型,可以向多態VI中添加新的實例VI;

f343c468-716c-11ee-939d-92fbcf53809c.png

二、自適應VI

自適應VI的概念:

自適應VI可以自動適應輸入的數據類型,它的所有接線端均為多態。用戶每次將輸入數據連線至接線端時,自適應VI將自動檢查連線的數據類型是否可以接受。如可以接受該類型,自適應VI會將接線端自動調整為該輸入數據類型;如果不接受該類型則會顯示斷線。通過自適應VI可以對任意可接收的數據類型執行相同的操作,而無需為每種數據類型保存單獨的VI副本。

自適應VI的使用場景:

自適應VI和多態VI的使用場景相類似,需要對不同數據類型進行相似處理的時候使用,為了提高靈活性,自適應VI也可以支持對某些特定數據類型進行特殊處理。LabVIEW 2020就加入了一些自適應VI,它們的圖標都是以橙色為背景,比如數組選板中的“排序二維數組”。

創建自適應VI:

1、在LabVIEW的新建模板界面選擇新建自適應VI,也可以新建一個普通VI后將其后綴名更改為.vim,這個VI就會變為一個自適應VI;

f34c15f0-716c-11ee-939d-92fbcf53809c.png

2、使用“類型專用結構”編寫自適應VI的功能,如果有特殊數據類型需要做特殊處理,可以單獨為其創建分支來處理該數據。小編創建了一個數組求和的自適應VI,該VI可以對一維數組進行求和。其中一維布爾數組要先經過“布爾至0,1轉換”之后再求和;一維字符串數組要先進行“分數/指數字符串至數值轉換”后再求和。

f34fd6b8-716c-11ee-939d-92fbcf53809c.png

一維數組求和

f35e306e-716c-11ee-939d-92fbcf53809c.png

對布爾數組進行特殊處理

f36b89d0-716c-11ee-939d-92fbcf53809c.png

對字符串數組進行特殊處理

3、自適應VI創建完成后測試其功能。如下圖所示,該自適應VI可以自動適配輸入的一維數組數據類型并且執行對應功能,如果后續有要擴展的數據類型,也可以直接打開自適應VI為它創建專用的分支。

f379f060-716c-11ee-939d-92fbcf53809c.png

、兩者對比

多態VI與自適應VI都可以為不同輸入數據類型執行其對應的功能,但他們并不是完全相同的,它們之間也有一些不同點,下面這個表格可以清晰地看到兩種VI之間的一些對比:

多態VI 自適應VI
實現方式 帶一組預定義的可接受數據類型的實例VI組。 自動計算實現是否接受某種數據類型的單個VI。
連線板 不同實例VI可以自定義不同的連線板。 所有數據類型的連線板相同。
生成 為每種數據類型創建一個實例VI,并將實例VI包含在多態VI中。 創建帶.vim文件擴展名的VI,或通過將VI擴展名更改為.vim以將標準VI轉換為自適應VI。
自定義 在不同實例VI中實現不同的代碼,以此對不同數據類型定義不同行為。 使用類型專用結構在自適應VI中為特定數據類型自定義代碼。
自適應類? 否,調用類A方法a的多態VI只接受類A或類A的子孫類。 是,如果自適應VI調用類A方法a,則其可接受任何具有與類A方法a相同名稱、連線板模式、接線端方向的公共方法的類。

在封裝子VI時,工程師應該在什么情況下選擇使用多態VI?在什么情況下使用自適應VI呢?下面這個表格可以帶給我們答案:

類型 適用場景
多態VI 1、對于不同的數據類型,操作的實現不同。
2、不同數據類型的連線板不同。
自適應VI 1、可對不同數據類型以相似方式實現操作而無需針對特定數據進行大量自定義。
2、面向對象編程時可以自動適應輸入類。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動器
    +關注

    關注

    52

    文章

    8226

    瀏覽量

    146253
  • LabVIEW
    +關注

    關注

    1970

    文章

    3654

    瀏覽量

    323324
  • 選擇器
    +關注

    關注

    0

    文章

    107

    瀏覽量

    14534

原文標題:知識分享 | LabVIEW子VI設計—多態VI與自適應VI

文章出處:【微信號:華穗科技,微信公眾號:華穗科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【資料】多態VI

    多態VI,剛看到的,分享給大家,希望對新學者有幫助。。。。。。
    發表于 12-11 13:50

    LabVIEW中DAQmxVI斷開或這是“無法執行VI”?

    最近弄LabVIEW數據采集的內容,打開了一個老師給的代碼給出的錯誤就是DAQmx Read 多態VI無法執行或者是
    發表于 02-26 15:30

    多態VI已斷開,運行該VI前必須解決多態VI的所有錯誤。

    多態VI已斷開,運行該VI前必須解決多態VI的所
    發表于 01-14 20:35

    LabVIEW多態 VI (Polymorphic VIs)的使用

    對不同的數據類型的數據執行類似或相同的操作的時候,多態 VI 就會非常有幫助。 根據連接在輸入接線端上的數據的類型的不同, 一個對應的 VI 就會被
    發表于 05-10 21:04

    創建和編輯VI程序、及建立和調用VI

    創建和編輯VI程序、及建立和調用VI 一、實驗室名稱:虛擬儀器實驗室             
    發表于 06-22 09:01 ?6222次閱讀

    VI圖標和連線板

    當一個VI A.viVI B.vi 中使用,就稱A.vi為B.vi
    發表于 09-12 10:41 ?33次下載

    Labview之上調用VI

    Labview之上調用VI,很好的Labview資料,快來下載學習吧。
    發表于 04-19 09:54 ?0次下載

    Labview之子VI的建立

    Labview之子VI的建立,很好的Labview資料,快來下載學習吧。
    發表于 04-19 10:23 ?0次下載

    LabVIEW的登錄主程序和VI程序運行的詳細概述

    LabVIEW【登錄程序】:利用LaBVIEW簡單的比較判斷,當密碼正確時,進入下一個VI程序運行。
    發表于 06-01 11:00 ?73次下載

    labview如何調用vi

    labview如何調用vi?這種技巧經常用在多個參數順序測量時,實現波形實時切換,顯示當前測試參數的波形。具體步驟為:在主VI中右鍵,單擊選擇VI
    的頭像 發表于 11-14 16:10 ?4.9w次閱讀

    LabVIEW編程實用教程之多態VI的創建的視頻教程免費下載

    本文檔的主要內容詳細介紹的是LabVIEW編程實用教程之多態VI的創建的視頻教程免費下載。
    發表于 12-27 08:00 ?15次下載

    LabVIEW的subVI詳細介紹和如何創建一個VI的說明

    本文檔的主要內容詳細介紹的是LabVIEW的subVI詳細介紹和如何創建一個VI的說明。
    發表于 02-19 08:00 ?14次下載
    <b class='flag-5'>LabVIEW</b>的subVI詳細介紹和如何創建一個<b class='flag-5'>子</b><b class='flag-5'>VI</b>的說明

    LabVIEW編程的實用技巧多態VI的創建視頻教程免費下載

    本文檔的主要內容詳細介紹的是LabVIEW編程的實用技巧多態VI的創建視頻教程免費下載。
    發表于 03-07 08:00 ?8次下載
    <b class='flag-5'>LabVIEW</b>編程的實用技巧<b class='flag-5'>多態</b><b class='flag-5'>VI</b>的創建視頻教程免費下載

    基于LABVIEW編程的USB攝像頭拍照VI文件

    LABVIEW2018編寫的USB攝像頭攝像拍照VI,給有需要的朋友。
    發表于 09-15 14:31 ?56次下載

    LABVIEW打開調用VI的幾種辦法

    總結了LABVIEW打開調用VI的幾種辦法,程序寫法
    發表于 08-20 15:31 ?52次下載
    主站蜘蛛池模板: 小黄飞二人转| 色www.亚洲免费视频| 免费国产网站| 亚洲欧美一区二区三区四区 | 美女岔开腿露出粉嫩花苞| 一本道高清无码v| 狠狠色狠狠色综合日日92 | 精品人妻伦九区久久AAA片69| 亚洲 欧美 国产 综合久久| 国产九九九九九九九A片| 无修肉动漫在线观看影片| 国产互换后人妻的疯狂VIDEO| 日本工口生肉全彩大全| 成人高清网站| 善良的小峓子2在钱中文版女主角 善良的小峓子2在钱免费中文字 | 伊人久久综合网站| 久久亚洲精品成人综合| 中文字幕成人在线观看| 久久综合色悠悠| 98色精品视频在线| 日本xxxxx按摩19| 国产精品青青青高清在线密亚| 无码日韩人妻精品久久蜜桃免费| 国产亚洲精品久久久久小| 亚洲中文久久久久久国产精品 | 19十主播福利视频| 欧美伦理片第7页| 二级毛片在线观看| 小箩莉奶水四溅小说| 精品国产在线亚洲欧美| 97国内精品久久久久久久影视| 青青青青草原国产免费| 国产精品九九久久精品视| 亚洲精品资源网在线观看| 久久综合久久伊人| 草久热的视频在线观看| 性西欧俄罗斯极品| 乱码国产丰满人妻WWW| 扒开女生尿口| 亚洲男人天堂2018av| 女人的选择hd|