專題介紹 - 透過VIPM佈署自製Library

在進階班中一直提到關於佈署Library的優點,最重要的兩項:

  • 提高模組共用性→不需每開發一次專案就重新寫一次模組
  • 提高程式維護性→只需修改單一模組即可完成全程式維護

因此提到各種方式來建立自有Library。

但是當LabVIEW升級時,會發現有許多的Library需要重新安裝,尤其是當有些Library是手動安裝的,相信這時會讓人非常痛苦。既然會製作自有Library,那麼相信對於VIPM肯定不陌生。既然可以透過VIPM來安裝第三方模組,何不考慮透過VIPM來製作自己的模組呢?


第一步先開啟VIPM,並且在上方的工具列找到 Build Package

接著跳出選單詢問行為,此時選擇Create New即可。

選擇想要建立的Library所在的資料夾,可以直接選擇lvlib所在的資料夾,或是更上一層資料夾。幫你的Library取個名字,並且輸入公司名字。這兩個資訊會顯示在安裝VIP時的畫面。

確認完畢後就會跳出編輯畫面。基本上這個畫面設計的運作原理跟Installer Assistant類似,一樣是透過左方的List來選擇類別,右方的頁面來輸入資料,上方的工具列來進行資料儲存或包裝等。此外部分功能為提供VIPM付費使用者使用的功能,如Licensing等。

首先是Build Information,其中包含之前已輸入的source Directory,這個欄位的資料設定後,未來開啟VIPB設定檔時,就會自動從該欄位讀取物件及設定,如果路徑異動之後,那麼這個VIPB內的資料將會視為找不到然後會被自動刪除...,所以建議一旦設定之後就不要再去改位置了。

接著是Build output Directory,存放建立好的VIP的資料夾位置。
下方有版本號可以調整,基本上都可以手動設置,但最後一個Build會自動增加。

最下方則是Change Log,如果要對外發布或是給工作同仁使用,那麼建議乖乖地寫進一些資訊,減少未來資訊追蹤的難度。

Display Information內主要是建立資訊,這些資訊會顯示在安裝頁面

Description理所當然的就是針對Library的描述。

Install Requirements則是設置這個VIP可以在那些環境下被安裝,如果使用者不符合安裝條件,則無法安裝(廢話)。此外因為這是使用手邊的LabVIEW版本進行編譯,所以版本相容性一樣請考慮進去,以封裝的角度來看,使用舊版的LabVIEW會是比較好的方案。

簡單的安裝資訊設定完畢之後,接著就是設定Library的模板。在Palette項目中,可以設定Library該出現在LabVIEW的Control/Function Palette的哪個地方。

第一個是設定需不需要獨立一個Custom Category。這部分設定因人而異,我個人是沒有設定,因為還要多一層項目操作上有點麻煩。

第二個則是Control/Function Palette,這個幾乎都會用到。在此可以設定Palette的名稱以及這個Library需要安裝在哪個類別下。

當按下Palette的圖示時,他預載了資料夾內的程式,使用者可以重新去編輯這個佈署介面。

編輯的方法基本上設計的跟mnu編輯介面一樣,所以可以很輕鬆的進行VI項目、位置及放置方法編撰。

Palette設定好之後,也可透過右方的Palette Location來部署,一般預設是放置在Function Palette下一個獨立的類別。但我個人則是放置在Programming中方便使用。

花了很多時間在編輯Palette後,接這要在Destinations內定義各種類別的檔案要被佈署到哪個資料夾當中。

透過右方的下拉式選單可以進行定義變更,但我想使用他的預設值幾乎就夠了。

最後一步則是在Source File Setting中設定資料夾中所有Libraries的佈署方式及位置。在此建議所有的Libraries,佈署時都要進行字首或字尾的重新命名,在右下方有相關的項目可以選擇。這個動作可以避免未來佈署到VI.lib資料夾中,與原始檔檔名重複造成開發上的衝突。

除了佈署Libraries之外,也可以佈署tools或是templates,只需要變更佈署的位置即可。

確認沒有問題之後,按下上方的Build Package按鈕,VIPM會自動檢查檔案的dependency以及VI之間引用是否有衝突狀態,如果都沒有的話就會自動開始建立封裝。封裝完畢即可在封裝資料夾下看到VIP檔案的產生。

此時就可以拿這個檔案來安裝到任何工作的電腦上囉!

透過VIPM部屬Library的介紹簡單到此,希望這個分享可以讓大家建立更高效率的工作環境!