在LabVIEW的環境下,往往會發現Polymorphic Vis的蹤影。例如在Configuration Files Vis裡,使用Read Key.vi時,使用者可以利用Default Value來改變輸出Value的資料型態 圖1;

圖1 Configuration VIs的Read Key多型
或是使用Input Device Control的Acquire Input Data.vi時,會因為Device ID不同而改變輸出參數 圖2,這些都是利用Polymorphic VIs方式來建構的。

圖2 Input Device Control的多型

圖3 使用Polymorphic Vis Selector選擇不同資料型態的VI
透過Polymorphic Vis的方式,可以容許不同資料型態的Vis在同一個VI裡,透過Polymorphic Vis Selector可以選擇使用不同型態的VI。
開始建構Polymorphic VIs
在開始建立Polymorphic Vis前,必須先建立所需要的不同類型的VI。在建立這些VI時,必須要注意的是所有VI的Patterns必須要相同,以範例中所指定的Patterns數目皆為4個輸入及4個輸出。
步驟一、
設計Add DBL 圖4、Add I32圖5及Add String圖6等3個VI,在Block Diagram或Front Panel上幾乎一樣,而只有輸入的Data Type接點及輸出的接點C資料型態上有些許不同而已。

圖4資料型態為DBL的VI

圖4 資料型態為I32的VI

圖5 資料型態為String的VI
步驟二、
在LabVIEW工具列上選擇File>>New,出現圖6的Create New畫面,選擇Polymorphic VI選項。

圖6 Create New畫面

圖7 Polymorphic VI畫面
步驟三、
出現Polymorphic VI畫面,利用Add按鈕將步驟一所建立的Vi增加到Instance Vis的List裡 圖7。新增完成後,存檔(檔名Polymorphic Main.vi)並關閉。

圖8 將新增的Polymorphic Main.vi引用到Block Diagram上
步驟四、
將建立的Polymorphic Main.vi在Block Diagram上直接引用 圖8並且在Data

圖9 不同資料型態的輸出
Type接點上指定資料型態,就可以發現Vi會隨著Data Type的不同而改變Vi的C接點輸出的型態,圖9為指定不同Data Type所產生的輸出結果。
結論
由圖10可以發現整個Polymorphic Main.vi其實是由三個不同資料型態的Vi所構成的,當資料型態改變時,程式會自動依據Data的改變而引用相對應的Vi。

圖10 Polymorphic Main.vi的Hierarchy
利用Polymorphic Vis的方式,可以增加SubVi的適應性,增加程式在設計階段的彈性。