跳至內容

其他工作 (microDisplay X)#

設定使用者偏好設定#

您可以在 microDisplay X 中設定影響以下內容的參數:

  • microDisplay X 的 GUI 顯示(Applet 顯示以及參數值的十進位/十六進位/二進位顯示)
  • 擷取參數(緩衝區數量、擷取逾時、最大 DMA 緩衝區大小)
  • 相機偵測與相機控制的行為

若要設定使用 microDisplay X 的偏好設定:

  1. 在 microDisplay X 中,從 Tools 選單中選取 Settings。
  2. 在開啟的對話方塊中,調整您要變更的設定:

    • Applet 顯示方式: 按一下 GUI,以及於 Applet 版面配置 / 檢視模式,決定 Applet 在程式視窗的 Applet 版面配置窗格中的顯示方式。選取您希望依處理程序 (Process Mode) 或依資源類型 (Resource Mode) 來列出 Applet 的資源(連接埠):
      • 在 process mode 中,屬於單一處理程序(單一擷取通道)的資源(連接埠)會在 Applet 版面配置窗格中列為實體 Acquisition Process。
      • 在 resource mode 中,於 DMAs 下方會列出所有主動式 DMA 連接埠(載入至 microDisplay X 中的 Applet)。於 Camera Ports 下方會列出連接至相關擷取卡的的所有相機。
    • Default integer display mode: 針對程式視窗中的參數和像素值顯示,您可以使用十進位、十六進位和二進位選項。
    • Acquisition parameters: 若要設定擷取參數,請按一下 Acquisition 並定義您的偏好設定:

      擷取參數

    • Discovery settings: 若要設定探索參數,請按一下 Discovery 並定義您的偏好設定:

      探索參數

儲存 Applet 組態#

在您設定好 Applet(於 microDisplay X 中或透過 Framegrabber API)之後,即可儲存您的設定。

儲存 Applet 組態可讓您下次載入 Applet(在擷取卡上、microDisplay X 中和/或您的軟體中)時,所有參數都已設定完成。

資訊

請確保在儲存 Applet 設定以及使用它時,使用的是相同版本的 Framegrabber SDK。例如,如果您使用 Framegrabber SDK 5.9.0 版本設定 Applet 並儲存該設定,則應僅在 5.9.0 版本的環境中載入該設定。

以下章節提供您使用 MCF 檔案所需的的所有資訊。

MCF 與 MFS 檔案#

MCF 檔案#

當您儲存 Applet 組態時,組態資料會儲存至檔案。組態檔案的副檔名為 *.mcf。(MCF = microEnable Configuration File)

MCF 檔案是以文字格式儲存的,因此您不僅可以透過 microDisplay X 或 API 變更個別參數的設定,也可以直接在此檔案中進行修改。

MCF 檔案範例

MCF 檔案包含:

  • 其所屬的 Applet 名稱。
  • 您所進行的所有參數設定(唯一的例外:欄位值)。
  • 如有需要,提供連至 MFS 檔案的連結(其中包含您在 Applet 設定期間定義的欄位值)。

獨立 XML 檔案中的相機組態

MCF 檔案不包含相機設定。您可以將相機設定儲存在獨立的 *.xml 檔案中。MCF 檔案僅包含 Applet 設定。

MFS 檔案#

Applet 的組態可能包含欄位參數,例如 LUT。這些欄位參數不會直接儲存在 MCF 檔案中,而是儲存在副檔名為 *.mfs 的獨立檔案中。(MFS = microEnable Field Storage)

您永遠不需要直接處理 MFS 檔案:

  • 如果您的 Applet 組態包含欄位參數,則在您儲存 Applet 組態時,MFS 檔案將與 MCF 檔案一起自動建立。
  • 載入 Applet 組態時,只需載入 MCF 檔案即可,因為 MFS 檔案的內容(欄位參數)會與 MCF 檔案一起自動載入。

資訊

針對每個擷取卡型號,皆提供一套免費的 Applet。這些 Applet 被稱為 Acquisition Applets。所有 Acquisition Applets 的副檔名皆為 *.dll。Acquisition Applets 以 Applet 套件的形式提供(每個擷取卡型號對應一套)。Applet 套件可以與 Framegrabber SDK 一起安裝,或是透過個別的 Applet 套件安裝程式進行安裝(可於 Basler 網站的下載專區取得)。安裝完成後,Acquisition Applets 會位於 Framegrabber SDK 安裝目錄下的 Dll 子目錄中。(例如:C:\Program Files\Basler\FramegrabberSDK5.x.x\Dll。)Acquisition Applets 可在可程式化與不可程式化的擷取卡上執行(即 A 系列與 V 系列擷取卡)。

所有 Acquisition Applets 都包含欄位參數。因此,每次儲存 Acquisition Applet 的組態時,都會建立兩個檔案,即 *.mcf 檔案和 *.mfs 檔案。不過,您不需要單獨處理 *.mfs 檔案,因為在您儲存/載入 *.mfs 檔案時,它總是會自動建立/載入。

下列陣列(欄位參數)屬於所有或部分 Acquisition Applets 的一部分:

  • LUTs
  • KneeLUTs
  • PoCXPStatePort_x (僅限 marathon CXP 內接卡)
  • PoCXPCurrentPort_x(僅限 marathon CXP 機板)
  • PoCXPVoltagePort_x (僅限 marathon CXP 內接卡)

資訊

將所有欄位資料儲存至獨立的檔案中,可保持 applet 組態檔 MCF 簡潔,並有助於維持向下相容性。

在 microDisplay X 中進行儲存與載入#

在 microDisplay X 中將 Applet 組態儲存至檔案#

在 microDisplay X 中,您可以將目前載入的 Applet 組態儲存至檔案。

  1. 從檔案選單中,選取儲存組態。

    microDisplay X:儲存組態

  2. 選擇您要儲存 applet 組態檔 (*.mcf) 的目錄。

  3. 為您的 *.mcf 檔案命名。
  4. 按一下 Save。

*.mcf 檔案將建立並儲存於您在第二步驟中指定的目錄中。如果 applet 組態包含欄位值,系統會建立一個額外的 *.mfs 檔案,其中包含 applet 組態的所有欄位 Property 值。如果 applet 包含欄位 Property,系統會自動建立 MFS 檔案。

從 microDisplay X 中的檔案載入 Applet 組態#

  1. 在 microDisplay X 中,選取您想要在其上使用已組態 Applet 的擷取卡。

    microDisplay X:選取擷取卡

  2. 從檔案選單中,選取開啟組態。

    microDisplay X:開啟組態

  3. 在開啟的對話方塊中,瀏覽至包含您 Applet 設定的目錄。

  4. 選取您想要使用的 *.mcf 檔案,然後按一下開啟。

已組態的 Applet 會載入至 microDisplay X 中,並在擷取卡上啟用。如果 Applet 組態包含欄位參數,系統會自動從對應的 *.mfs 檔案載入欄位值。您不需要另外載入 *.mfs 檔案。

透過 Framegrabber API 進行儲存與載入#

透過 Framegrabber API 將 Applet 組態儲存至檔案#

若要儲存 applet 組態檔,Framegrabber API(library fglib5.lib,標頭檔 basler_fg.h):

int Fg_saveConfig (Fg_Struct *Fg, const char *Filename)

參數:

  • Fg:您系統中的擷取卡(機板索引)。請在此指定您想要從中儲存有效設定(有效 Applet 及其參數化)的擷取卡。
  • Filename :在此指定組態檔的名稱與路徑。副檔名一律為 *.mcf。

如果 applet 組態包含欄位值,系統會建立一個額外的 *.mfs 檔案,其中包含 applet 組態的所有欄位 Property 值。如果 applet 包含欄位 Property,系統會自動建立 MFS 檔案。

透過 Framegrabber API 從檔案載入 Applet 組態#

若要從檔案載入 Applet 設定,可以使用各種函式(library fglib5.lib,標頭檔 basler_fg.h):

採集卡初始化#

您可以直接透過 *.mcf 檔案初始化內接卡。由於 MCF 檔案包含 applet 名稱,因此擷取卡會使用 MCF 檔案中指定的 applet 進行初始化,並且會直接套用儲存於 *.mcf 檔案中的 applet 組態(參數化設定)。

如果您的 Applet 設定包含欄位參數,且對應的 *.mfs 檔案與 *.mcf 檔案儲存在同一目錄中,則當您呼叫此函式時,系統會自動載入欄位參數。

Fg_Struct* Fg_InitConfig (const char * Config_Name, unsigned int BoardIndex)

參數:

  • Config_Name:在此指定組態檔的名稱與路徑。副檔名一律為 *.mcf。
  • BoardIndex:在此指定(透過其 board index)您要使用 *.mcf 檔案進行初始化的擷取卡。在呼叫 Fg_InitConfig,擷取卡將會使用 *.mcf 檔案中命名的 Applet 以及在該檔案中指定的 Applet 設定進行初始化。
載入 Applet 組態#

您也可以在已經使用 applet 初始化擷取卡之後,再載入 applet 的組態。

使用此功能的先決條件:

  • 擷取卡已透過函式完成初始化 FG_Init 或作為主設備搭配 FG_InitEx.
  • 儲存於 *.mcf 檔案中的 applet 組態適用於擷取卡初始化時所使用的 applet。(如有疑問,請檢視 *.mcf 檔案。applet 名稱會列在 *.mcf 檔案的前幾行中。)

如果您的 applet 組態包含欄位 Property,且相應的 *.mfs 檔案與 *.mcf 檔案儲存在同一目錄中,則當您呼叫此函式時,系統會自動載入欄位 Property。

用於在影音擷取卡初始化後載入 applet 設定的函式:

int Fg_loadConfig (Fg_Struct *Fg, const char *Filename)

參數:

  • Fg:在此指定(透過 board index)您要使用 *.mcf 檔案中所含的 applet 組態進行參數化設定的擷取卡。
  • Filename:在此指定組態檔的名稱與路徑。副檔名一律為 *.mcf。

資訊

透過函式使用影音擷取卡後,別忘了釋放影音擷取卡資源:

int Fg_FreeGrabber (Fg_Struct *Fg)

此函式也會釋放先前透過下列項目為此擷取卡配置的 frame buffer: Fg_AllocMem().