跳至內容

其他工作 (microDisplay X)#

設定使用者偏好設定#

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

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

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

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

    • 小程式顯示: 按一下 GUI,以及在 Applet Layout / View Mode中,決定小程式在程式視窗的小程式配置窗格中的顯示方式。選擇您希望以處理程序(Process Mode)還是以資源類型(Resource Mode)來列出小程式的資源(連接埠):
      • 在 process mode 中,屬於一個處理程序(一個擷取通道)的資源(連接埠)會作為實體 Acquisition Process 列在小程式配置窗格中。
      • 在 resource mode 中,於 DMAs 下方會列出所有作用中的 DMA 連接埠(載入於 microDisplay X 中的小程式)。於 Camera Ports 下方會列出連接至相關擷取卡的的所有相機。
    • 預設整數顯示模式:在程式視窗中顯示參數與像素值時,您可選擇十進位、十六進位與二進位。
    • 擷取參數:若要設定擷取參數,請按一下 Acquisition 並定義您的偏好設定:

      擷取參數

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

      探索參數

儲存小程式組態#

在 microDisplay X 中或透過 Framegrabber API 設定好 Applet 後,即可儲存您的組態。

儲存 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 的一部分:

  • LUT
  • KneeLUT
  • PoCXPStatePort_x (僅限 marathon CXP 擷取卡)
  • PoCXPCurrentPort_x (僅限 marathon CXP 擷取卡)
  • PoCXPVoltagePort_x (僅限 marathon CXP 擷取卡)

資訊

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

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

在 microDisplay X 中將小程式組態儲存至檔案#

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

  1. 從 File 選單中,選取 Save Configuration。

    microDisplay X:儲存組態 (Save Configuration)

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

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

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

在 microDisplay X 中從檔案載入小程式組態#

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

    microDisplay X:選取擷取卡 (Select frame Grabber)

  2. 從 File 選單中,選取 Open Configuration。

    microDisplay X:開啟組態 (Open Configuration)

  3. 在開啟的對話方塊中,瀏覽至包含您 applet 組態的目錄。

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

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

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

透過 Framegrabber API 將小程式組態儲存至檔案#

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

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

參數:

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

如果小程式(applet)組態包含欄位值,將會建立一個額外的 *.mfs 檔案,其中包含該小程式組態的所有欄位參數值。如果小程式包含欄位參數,系統會自動建立 MFS 檔案。

透過 Framegrabber API 從檔案載入小程式組態#

若要從檔案載入小程式組態,可以使用各種函式(庫 fglib5.lib,標頭檔 basler_fg.h):

擷取卡初始化#

您可以透過 *.mcf 檔案直接初始化主機板。由於 MCF 檔案包含小程式名稱,因此擷取卡將使用 MCF 檔案中所指定的小程式進行初始化,並且儲存在 *.mcf 檔案中的小程式組態(參數化)已在擷取卡上設定。

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

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

參數:

  • Config_Name:請在此指定組態檔的名稱與路徑。副檔名一律為 *.mcf。
  • BoardIndex:在此指定您要使用 *.mcf 檔案初始化的擷取卡(透過其主機板索引)。呼叫 Fg_InitConfig後,擷取卡將使用 *.mcf 檔案中命名的小程式以及同一檔案中指定的小程式組態進行初始化。
載入小程式組態#

您也可以在已使用小程式初始化擷取卡之後,載入小程式的組態。

使用此函式的先決條件:

  • 已透過函式初始化擷取卡 FG_Init 或作為主裝置搭配 FG_InitEx.
  • 儲存在 *.mcf 檔案中的小程式組態適用於初始化擷取卡所使用的小程式。(如有疑問,請檢視 *.mcf 檔案。小程式名稱記載於 *.mcf 檔案的前幾行。)

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

用於在擷取卡初始化後載入小程式組態的函式:

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

參數:

  • Fg:在此指定您要使用 *.mcf 檔案中所包含的小程式組態進行參數化的擷取卡(透過主機板索引)。
  • Filename:請在此指定組態檔的名稱與路徑。副檔名一律為 *.mcf。

資訊

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

int Fg_FreeGrabber (Fg_Struct *Fg)

此函式還會釋放先前透過以下項目為此擷取卡配置的影格緩衝區: Fg_AllocMem().