在使用者庫中,您可以將需要多次使用的模組組合封裝起來,並儲存此組合以便日後重複使用。
您可以定義任意數量的使用者庫。每個使用者庫都可以包含任意數量的使用者庫元素。
使用者庫元素包含模組與連接的特定組合。建立後,庫元素將可在庫面板(User Library 標籤頁)中使用,並且可以像運算子一樣被使用。
使用者庫元素與階層式方塊(請參閱「Hierarchical Boxes」)非常相似。不同之處在於,使用者庫元素儲存在(使用者定義的)使用者庫中,並且可以插入不同的設計與專案中,就像來自運算子庫的運算子一樣。
使用者庫元素的各個執行個體彼此獨立,也就是說,如果您對其中一個執行個體進行更改,將不會影響同一使用者庫元素的其他執行個體。
使用者庫會被儲存為 *.val 或 *.vl
檔案。這些檔案不屬於特定專案的一部分。因此,它們也可以在其他專案中使用。
在 System Settings 在 VisualApplets 中,您可以指定要將 *.val 或 *.vl 檔案儲存在系統中的哪個位置(請參閱 「System Settings」)。
當您將使用者庫元素的執行個體插入設計中後,載入專案或建置 applet(*.hap 檔案)時將不再需要 *.val 或 *.vl 檔案。
若要建立新的使用者庫,請按照以下步驟操作:
-
在庫面板中,按一下 User Library 標籤頁。
-
在使用者庫視窗中按一下滑鼠右鍵。
-
從內容功能表中選取 。
(或者,您也可以使用主功能表中的 → 。)
-
對話方塊隨即開啟:

-
為您的新使用者庫命名。
-
預設情況下,新使用者庫會以
*.val檔案格式儲存。如果您想在 VisualApplets 3.3.2 或更舊版本中開啟此庫,請選取 。請注意,如果您的舊版使用者庫位於*.vl檔案格式包含受保護的使用者資源庫元素,此元素將不會被儲存,也無法在舊版檔案格式中開啟。 -
按一下
現在已建立一個空的資源庫(功能類似容器),您現在可以在其中填入您的使用者資源庫元素。
當您將滑鼠移至使用者資源庫名稱上方時,工具提示會顯示該資源庫是否已儲存於 *.vl 舊版檔案格式:

建立新的使用者資源庫元素有兩種方式。您可以
-
將階層方塊儲存為使用者資源庫元素(關於階層方塊的一般資訊,請參閱 「階層方塊」),或者
-
從頭開始建立使用者資源庫元素(請參閱 「從頭開始建立新的使用者資源庫元素」)。
-
在階層方塊上按一下滑鼠右鍵以開啟模組的快顯功能表。
-
選取 。
隨即會彈出一個 Save 對話方塊:
-
選取要儲存新元素的目標使用者資源庫(或者,按一下 New User Library 並定義新的資源庫)。
-
為您的新使用者資源庫元素輸入名稱(位於 Element Type 下方)。
-
選擇性:如果您想要新增有關元素的資訊(版本號碼、簡短說明、自訂 GUI 圖示、HTML 說明檔形式的說明文件):
-
按一下 。隨即會開啟一個新對話方塊:
-
若有需要,請為您的資源庫元素輸入版本號碼。
-
若有需要,請為您的資源庫元素輸入簡短說明。
-
若要指定要在 VisualApplets GUI 上與資源庫元素一起顯示的特定圖示,請在 欄位中指定 PNG 檔案的路徑,或使用欄位右側的瀏覽按鈕。
-
若要新增描述您使用者資源庫元素的說明文件,請按一下 下方的加號按鈕,然後瀏覽並選取包含說明文件文字的 HTML 檔案。
您可以指定多個 HTML 和影像檔案。如果您新增多個 HTML 檔案,清單中的第一個 HTML 檔案將會成為說明文件的起始頁面。起始頁面會作為使用者資源庫元素的說明文件顯示(位於資訊面板的 Help 索引標籤中)。其他檔案則可包含由起始頁面連結的影像或其他 HTML 檔案。
![[備註]](../common/images/admon/note.png)
說明檔案的命名與儲存 When you save your user library element later on, all the files you specify here will be copied to the VisualApplets installation directory, sub-directory . The starting page of your documentation (first HTML file in the list) will be renamed and will have the name of the user library element:<elementname>.html
若要取消連結資源庫元素的 HTML 檔案,請選取該檔案並按一下刪除按鈕。該 HTML 檔案將會被取消連結,但仍會保留在您的檔案系統中。
-
使用 確認新使用者程式庫元件的詳細規格。
-
-
如果您想要保護使用者程式庫元件,請選取 Protection 選項。透過這種方式,使用者程式庫元件會變成「黑盒子」。(有關元件保護的詳細資訊,請參閱 'Protecting User Library Elements'。)
-
按一下 。
選用的 PNG 和 HTML 檔案會被複製到 VisualApplets 安裝目錄的子目錄 中。
如果您啟用了 Protection 選項,將會出現一個額外的對話方塊 Protect User Library Element。
所有使用者程式庫及其內容皆可在程式庫面板中取得(請參閱 The User Interface of VisualApplets)。按一下 User Library 標籤頁以顯示使用者程式庫視窗。
您所選取的圖示會與程式庫元件一同顯示。
關於個別元件的詳細資訊會顯示在工具提示中:
如果您選取新的使用者程式庫元件,相關的說明資訊將會顯示在 Help 標籤頁底下的資訊面板中。
設計視窗內的顯示方式已變更:畫面上顯示的不再是 "HierarchicalBox",而是使用者程式庫元件的名稱。階層方塊的圖示已被您為程式庫元件選取的圖示所取代。設計中執行個體的名稱(圖示下方)維持不變。
您稍後可以隨時變更使用者程式庫元件(請參閱 'Editing User Library Elements' 節)。不過,這些變更不會套用到該元件的現有執行個體。如果您希望更新使用者程式庫元件的執行個體,您有多種選項可供選擇(請參閱 'Updating Instantiated User Library Elements' 節)。
![]() |
使用者程式庫元件分析 |
|---|---|
|
可以進行設計規則檢查等級 1 (Design Rules Check Level 1)。 無法進行資源分析、建置與模擬。 |
或者,您可以從頭開始建立新的使用者程式庫元件。若要定義和/或變更使用者程式庫元件,您可以使用 User Library Editor。
若要從頭開始定義新的使用者程式庫元件:
-
從主選單中,選取 → → 。
現在,設計編輯器將關閉。隨著設計編輯器一起關閉的,還有您一直在處理的設計。
使用者程式庫編輯器隨之開啟。使用者程式庫編輯器的運作方式與一般設計編輯器相同。
-
為您的新使用者程式庫元素定義名稱。
-
選擇目標硬體平台。
(不過,唯有當您在元素中包含相依於硬體問題(例如相機運算子)的運算子時,此平台才具有相關性。)
-
按一下 。
-
只要按一下 ,就會開啟一個對話方塊,您必須在其中指定元素的輸入和輸出連接埠數量。請務必指定正確的輸入和輸出 link 數量,因為事後將無法變更這些數量。
-
指定您需要的輸入連接埠數量。
-
指定您需要的輸出連接埠數量。
![[注意]](../common/images/admon/caution.png)
定義必要的 link 數量 請務必指定正確的輸入和輸出 link 數量,因為事後將無法變更這些數量。
-
-
使用 OK 確認連接埠定義。
使用者程式庫編輯器隨即開啟,其中包含一個空的元素設計,且僅具備您剛剛指定的輸入和輸出連接埠。
-
根據您的需求編輯使用者程式庫元素的設計。
-
完成後,請從主功能表中選取 → 來儲存您的元素。
-
選取要儲存新元素的使用者程式庫(或者,按一下 New User Library 並定義新的程式庫)。
-
選用:如果您想新增有關元素的資訊(版本號碼、簡短描述、個別 GUI 圖示、以 HTML 說明檔案形式提供的說明文件):
-
按一下 。隨即會開啟一個新對話方塊:
-
若您願意,可為您的程式庫元素輸入版本號碼。
-
若您願意,可為您的程式庫元素輸入簡短描述。
-
若要指定要與 VisualApplets GUI 上的程式庫元素一起顯示的特定圖示,請在 欄位中指定 PNG 檔案的路徑,或使用欄位右側的導覽按鈕。
-
若要新增描述使用者程式庫元素的說明文件,請按一下 下方的加號按鈕,並瀏覽至包含說明文件文字的 HTML 檔案。
您可以指定多個 HTML 與圖片檔案。如果您新增多個 HTML 檔案,清單中的第一個 HTML 檔案將會作為您說明文件的起始頁面。起始頁面會顯示為您的使用者庫元素的說明文件(在資訊面板的 Help 標籤中)。其他檔案則可能包含由起始頁面所連結的圖片或其他 HTML 檔案。
![[備註]](../common/images/admon/note.png)
說明檔案的命名與儲存 When you save your user library element later on, all the files you specify here will be copied to the VisualApplets installation directory, sub-directory . The starting page of your documentation (first HTML file in the list) will be renamed and will have the name of the user library element:<elementname>.html
若要取消 HTML 檔案與庫元素的連結,請選取該元素並按一下刪除按鈕。該 HTML 檔案將會被取消連結,但仍會保留在您的檔案系統中。
-
請使用 確認您新使用者庫元素的詳細規格。
-
-
如果您想要保護您的使用者庫元素,請選取 Protection 選項。如此一來,使用者庫元素就會變成一個「黑箱」。(有關元素保護的詳細資訊,請參閱 'Protecting User Library Elements'。)
![[備註]](../common/images/admon/note.png)
受保護的元素無法儲存至舊版檔案格式 如果您將使用者庫儲存於
*.vl舊版檔案格式,將無法儲存受保護的元素。在這種情況下,請取消保護,或者將使用者庫儲存至更新且建議使用的*.val檔案格式。透過舊版檔案格式,您可以在 VisualApplets 3.3.2 或更舊版本中開啟使用者庫。
-
按一下 。
選用的 PNG 與 HTML 檔案會被複製到 VisualApplets 安裝目錄下的 子目錄中。
如果您啟用了 Protection 選項,將會出現一個額外的 Protect User Library Element 對話方塊。
所有使用者庫及其內容均可在庫面板中取得(請參閱 The User Interface of VisualApplets)。按一下 User Library 標籤以顯示使用者庫視窗。
您所選取的圖示會與程式庫元件一同顯示。
個別元素的詳細資訊會顯示在工具提示中:
如果您選取新的使用者庫元素,對應的說明資訊將會顯示在資訊面板的 Help 標籤下方。
-
如果您想要繼續進行設計工作,請關閉使用者庫元素設計與使用者庫編輯器:從主功能表中選取 → 。
![[注意]](../common/images/admon/caution.png)
透過 File->Close 關閉元素設計 僅關閉設計的分頁並不足以關閉元素設計。您也需要關閉使用者庫編輯器。
若要同時關閉兩者,請按一下 → 。唯有透過這種方式關閉您的使用者庫元素設計(進而關閉庫編輯器)之後,您才能重新開啟一般設計編輯器以及您的整體小程式設計。
-
若要繼續進行您的設計,請開啟您的設計。
您稍後可以隨時變更使用者程式庫元件(請參閱 'Editing User Library Elements' 節)。不過,這些變更不會套用到該元件的現有執行個體。如果您希望更新使用者程式庫元件的執行個體,您有多種選項可供選擇(請參閱 'Updating Instantiated User Library Elements' 節)。
![]() |
使用者程式庫元件分析 |
|---|---|
|
可以進行設計規則檢查等級 1 (Design Rules Check Level 1)。 無法進行資源分析、建置與模擬。 |
您可以調整使用者庫元素的執行個體以符合您的整體設計。您可能需要
-
修改個別算子參數
-
修改版面配置(新增與刪除算子和連結)
![]() |
變更 Link Properties |
|---|---|
|
變更的 link properties 不會改變 library 元素實例的實作方式。範例:如果某個 library 元素的儲存 Parallelism 為 4,但其實例連接到 Parallelism 為 8,這當然會對實例內部的 link 產生影響。然而,這並不是對實例實作方式的更改,因為算子參數不會受到 link properties 變更的影響。 |
在您修改了使用者 library 元素的實例後——無論是透過修改個別算子參數,還是透過修改版面配置(新增與刪除算子和連結)——該實例將不再只是使用者 library 元素的單純複本。
為了讓您知道哪個實例包含變更,修改過的使用者 library 元素實例會標記為:
這對您來說非常重要,因為更新使用者 library 元素的實例(請參閱 'Updating Instantiated User Library Elements' 節)將會覆寫您對實例所做的變更。在為包含變更的實例選擇自動更新之前,您應該始終仔細權衡利弊。
您可以保護使用者 library 元素。 啟用保護後,使用者 library 元素將變為「黑箱」。 然而,包含動態參數或參考自 Parameters library 算子之參數的受保護元素,在執行階段中仍然是可見的。
![]() |
受保護的元素無法儲存至舊版檔案格式 |
|---|---|
|
如果您將使用者庫儲存於 使用舊版檔案格式,您可以在 VisualApplets 3.3.2 或更舊版本中開啟使用者 library。 |
有兩種方法可以保護使用者 library 元素:
-
透過密碼保護:之後可以使用密碼開啟和編輯使用者 library 元素。沒有密碼的使用者甚至無法看到使用者 library 元素中使用了哪些算子(黑箱)。
-
不可逆保護:使用者 library 元素將永遠成為黑箱,無法再次開啟,甚至連您自己也無法開啟。
若要透過密碼保護使用者 library 元素:
-
在元素上按一下滑鼠右鍵。
-
從內容功能表中,選取 。
-
確保保護模式 已啟用。
-
輸入您的密碼。
-
按一下 。
![]() |
「單向」不可逆保護 |
|---|---|
|
如果您選取保護模式 One Way(而非 Password),則使用者函式庫元素將永遠無法再次開啟,即使由您本人亦然。如果您計畫在稍後增強該元素,請務必改選保護模式 。或者,您也可以在啟用此保護模式之前,先儲存該元素的副本(作為階層方塊或未受保護的運算子)。 |
您可以對使用者函式庫元素進行變更。您可以透過以下方式執行此操作
-
在函式庫編輯器中直接編輯函式庫元素本身,或者
-
使用變更後的例項或階層方塊將其覆寫。
不過,這些變更並不會自動傳播。如果您希望函式庫元素的例項能夠反映您對該元素所做的變更,您需要更新該例項(請參閱 'Updating Instantiated User Library Elements' 一節)。
您可以在使用者函式庫編輯器中編輯使用者函式庫元素。若要開啟使用者函式庫編輯器:
此時,設計編輯器將會關閉。隨同設計編輯器一起關閉的,還有您一直在處理的設計。
使用者函式庫編輯器隨即開啟。使用者函式庫編輯器的運作方式與一般設計編輯器相同。
-
進行您的變更。
-
儲存您的變更。
如果您想要編輯元素說明和版本號碼:
-
從主選單中,選取 → 。
-
儲存編輯過的元素。
Analysis of User Library Elements: 您可以執行 Design Rules Check Level 1。不過,頻寬分析、資源分析、建置與模擬則無法進行。
![]() |
更新例項 |
|---|---|
|
當您對使用者函式庫元素進行變更時設計中的例項化元素將 不會 自動套用這些變更。如果您希望函式庫元素的例項能夠反映您對該元素所做的變更,則需要更新該例項(請參閱 'Updating Instantiated User Library Elements' 一節)。 |
或者,您也可以透過直接覆寫來編輯使用者函式庫元素。若要這樣做:
-
以現有使用者函式庫元素的名稱儲存階層方塊或例項化的使用者函式庫元素(如 'Saving a Hierarchical Box as a User Library Element' 中所述)。
![]() |
更新例項 |
|---|---|
|
當您對使用者函式庫元素進行變更時設計中的例項化元素將 不會 自動套用這些變更。如果您希望函式庫元素的例項能夠反映您對該元素所做的變更,則需要更新該例項(請參閱 'Updating Instantiated User Library Elements' 一節)。 |
在接下來的章節中,您將取得有關如何更新例項化使用者函式庫元素的資訊。
在正常的工作流程中,通常需要更新使用者函式庫元素。不過,您對元素所做的變更不會影響該元素的執行個體 (instance)。若要更新設計中的元素執行個體,您可以手動套用變更,或使用 VisualApplets 提供的兩種更新機制之一(請參閱下方)。
如果您決定手動更新已變更元素的執行個體,可以在設計中選取多個元素執行個體,並在一個步驟中同時進行變更。
![]() |
無階層式更新 |
|---|---|
|
不支援使用者函式庫元素的階層式更新。如果您選取多個階層模組進行更新,則只會更新該階層中最高的模組。 |
您可以使用「Quick Update」功能來更新設計中的使用者函式庫元素執行個體。
![]() |
更新會覆寫執行個體內的變更 |
|---|---|
|
更新使用者函式庫元素的執行個體會覆寫您對執行個體所做的所有變更(參數設定或新增/刪除運算子)。在對包含變更的執行個體選擇自動更新之前,您應始終仔細評估利弊。 為了讓您知道哪些執行個體包含變更,函式庫元素的修改過執行個體會加上標記: ![]()
|
若要透過 Quick Update 更新函式庫元素的執行個體:
-
選取您要更新的執行個體。
-
從主選單中,選取 → 。
所選的元素執行個體將被新執行個體取代,該新執行個體反映了您在函式庫中對元素所做的變更。
唯有當您要更新的執行個體與編輯過的使用者函式庫元素具有相同數量的輸入和輸出連接埠時,Quick Update 才能生效。無法使用 Quick Update 將 A 類型使用者函式庫元素的執行個體替換為 B 類型使用者函式庫元素的執行個體。
透過 Quick Update,您可以一次更新元素的多個執行個體:
-
按住 Ctrl 鍵不放,同時選取所有您要更新的執行個體。
-
從主選單中,選取 → 。
所有選取的元素執行個體都會被新的執行個體取代。
當您選擇此選項時,您要替換的執行個體不需要與用來更新它們的函式庫元素屬於同一類型。因此,您可以使用此選項將使用者函式庫元素或階層方塊的執行個體替換為另一個使用者函式庫元素的執行個體。例如,您可以將 A 類型使用者函式庫元素的執行個體替換為 B 類型使用者函式庫元素的執行個體(這與「Quick Update」選項不同)。不過,同樣地,唯有當您要替換的執行個體與您要用來取代它們的使用者函式庫元素具有相同數量的輸入和輸出連接埠時, 才能生效。
若要將元素的一個或多個執行個體替換為另一個使用者函式庫元素的執行個體:
-
選取您要替換的模組(按住 Ctrl 鍵)。
-
從主選單中,選取 → 。
對話方塊 Update User Library Elements 隨即開啟。左側面板會顯示您選擇更新的模組。右側面板會顯示您的使用者函式庫。
-
在右側面板中,選取您需要的 usuário 函式庫元素。在左側面板中,所有可按照您的期望進行替換的模組都會以綠色反白顯示(若否,請檢查輸入和輸出數量是否吻合)。
-
按一下 。
隨後,所有節點數量相符的列出模組都會立即被新使用者庫元素的執行個體所取代。
以上範例:有兩種情況的輸入和輸出數量不符。模組 28 只有 1 個輸入和 1 個輸出連接埠,而 USRLibraryELement5 則有三個輸入和三個輸出。由於模組 32、31 和 33 的輸入和輸出連接埠數量與 USRLibraryELement5 完全相同,因此可以將其替換為 USRLibraryELement5。
有時候,您可能會發現取消元素執行個體與使用者庫的連結很有幫助。為此,您可以將使用者庫元素的執行個體轉換為階層方塊。
-
在您的設計中選取要轉換的模組。(如果您想轉換多個模組,請按住 Ctrl 鍵並選取所有要轉換的模組。)
-
從主選單中,選取 → 。
隨後,所有選取的模組都會立即轉換為完全獨立的階層方塊。
VisualApplets 發行版本包含兩個使用者庫:

如果您沒有看到這些隨附的使用者庫,請在 User Library 面板中按一下滑鼠右鍵,然後從開啟的快顯功能表中選取 :

然後,VisualApplets 會開啟位於 → → 中指定目錄的程式庫。
JPEG_Color 使用者庫包含下列元素:

-
JPEGEncoder_Color_800MPs_VCX:透過此使用者庫元素,您可以將 8 位元彩色影像轉換為 JPEG 影像。JPEG_Encoder_Color_800MPs_VCX 適用於 CXPx2 擷取卡,並在 160 MHz 時脈頻率下提供 800 MP/s 的頻寬。輸入 Parallelism 為 8。
-
JPEGEncoder_Color_1500MPs_VCX:透過此使用者庫元素,您可以將 8 位元彩色影像轉換為 JPEG 影像。JPEG_Encoder_Color_1500MPs_VCX 適用於 CXPx2 擷取卡,並在 160 MHz 時脈頻率下提供 1200 MP/s 的頻寬。輸入 Parallelism 為 8。
-
JPEGEncoder_Color_2500MPs_VCX:透過此使用者庫元素,您可以將 8 位元彩色影像轉換為 JPEG 影像。JPEG_Encoder_Color_2500MPs_VCX 適用於 CXPx4 擷取卡,並在 160 MHz 時脈頻率下提供 2400 MP/s 的頻寬。輸入 Parallelism 為 16。
-
JPEGEncoder_Color_300MPs_VCL:透過此使用者庫元素,您可以將 8 位元彩色影像轉換為 JPEG 影像。JPEG_Encoder_Color_300MPs_VCL 適用於 Camera Link (CL) 擷取卡,並提供 300 MP/s 的頻寬。輸入 Parallelism 為 4。
-
JPEGEncoder_Color_600MPs_VCL:透過此使用者庫元素,您可以將 8 位元彩色影像轉換為 JPEG 影像。JPEG_Encoder_Color_600MPs_VCL 適用於 Camera Link (CL) 擷取卡,並在 155 MHz 時脈頻率下提供 600 MP/s 的頻寬。輸入 Parallelism 為 4。
-
JPEGEncoder_Color_850MPs_VCL:透過此使用者庫元素,您可以將 8 位元彩色影像轉換為 JPEG 影像。JPEG_Encoder_Color_850MPs_VCL 適用於 Camera Link (CL) 擷取卡,並在 170 MHz 時脈頻率下提供 850 MP/s 的頻寬。輸入 Parallelism 為 8。
您可以在 VisualApplets 安裝的 Help 面板中找到使用者庫元素的詳細說明文件。
![]() |
改用 imaFlex_CXP12_Tools_Advanced User Library |
|---|---|
|
imaFlex_CXP12_Tools 使用者庫僅基於向下相容性的考量而提供。如果可能,請改用 imaFlex_CXP12_Tools_Advanced 使用者庫。 |
imaFlex_CXP12_Tools 使用者庫包含下列元素:

-
ImageBufferMultiRoI:此運算子為每個緩衝影像提供多個感興趣區域 (ROI) 的支援。作為 imaFlex 平台工具元素的強大使用者庫元素 ImageBufferMultiRoI 提供了與 VisualApplets 標準運算子 ImageBufferMultiRoI 相同的功能,而該標準運算子在 imaFlex 平台上不受支援。
-
ImageBufferMultiRoIDyn:此運算子為每個緩衝影像提供多個動態感興趣區域 (ROI) 的支援。作為適用於 imaFlex 平臺的工具元素,使用者函式庫元素 ImageBufferMultiRoIDyn 提供與 VisualApplets 標準運算子 ImageBufferMultiRoIDyn 相同的功用,而後者在 imaFlex 平臺上不被支援。
imaFlex_CXP12_Tools_Advanced 使用者函式庫包含下列元素:
-
FrameBufferMultiRoi:此運算子為每個緩衝影像提供多個感興趣區域 (ROI) 的支援。作為適用於 imaFlex 平臺的工具元素,使用者函式庫元素 FrameBufferMultiRoi 提供與 VisualApplets 標準運算子 ImageBufferMultiRoi 相同的功用,而後者在 imaFlex CXP-12 平臺上不被支援。
-
JPEG_Encoder_Color_iF_Penta:JPEG_Encoder_Color_iF_Penta 允許您將 8-bit 彩色影像轉換為 JPEG 影像。
-
JPEG_Encoder_Color_iF:JPEG_Encoder_Color_iF 允許您將 8-bit 彩色影像轉換為 JPEG 影像。
您可以在 VisualApplets 安裝的 Help 面板中找到使用者函式庫元素的詳細說明文件。此外,亦提供相關範例以展示如何使用這些使用者函式庫元素,請參閱 'Basic Acquisition Examples for Cameras for CoaXPress 12 imaFlex Frame Grabber'








![[提示]](../common/images/admon/tip.png)




![[重要]](../common/images/admon/important.png)

上一頁

