設定 CXP-12 介面卡#
資訊
本主題涵蓋基本使用情境。有關介面卡軟體功能的詳細資訊,請參閱資料擷取小程式(applets)的PDF 文件。
在以下情況下,設定介面卡特別有用:
- 您想變更介面卡所使用的Applet。
- 您希望透過介面卡觸發已連接的Basler Boost CXP-12攝影機。
- 您希望在介面卡上執行去拜耳化處理,以提升成像系統的效能。
- 您想使用相機上未提供的輸出格式,例如 16 位元單色格式。
- 您想設定介面卡所接收或傳送的觸發訊號。
限制
在所有小程式中,均無法分配大於 4 GB 的緩衝區。即使小程式允許更大的緩衝區大小,由於驅動程式和韌體的限制,您仍無法分配大於 4 GB 的緩衝區。
您可以透過以下方式計算緩衝區大小:
緩衝區大小 = 影像高度 * 影像寬度 * (像素寬度 / 8)。
對於 RGB 影像:緩衝區大小 = (影像高度 * 影像寬度 * (像素寬度 / 8)) * 3。
可用的區域掃描小程式與預設小程式#
根據介面卡的型號,以下小程式可供使用,並已設定為預設選項:
| Applet 名稱 | 適用於介面卡 | 介面卡上的預設小程式 |
|---|---|---|
| Acq_SingleCXP12Area | 1C、2C、4C | 1C |
| Acq_DualCXP12Area | 2C、4C | 2C |
| Acq_TripleCXP12Area | 4C | - |
| Acq_QuadCXP12Area | 4C | 4C |
除了Acquisition Applets 之外,您也可以使用 Enhanced Applets。Enhanced Applets 目前仍處於原型階段,僅能透過您當地的Basler 銷售代表或現場應用工程師提出申請後取得。所有Enhanced Applets 均具備以下額外功能:
- Binning (目前僅支援單色)最大尺寸為 4x4
- 單色相機的基於區塊的平場校正(FFC)
- PGI high quality Debayering 與影像品質提升
可用的線掃描小程式#
根據介面卡的型號,可使用以下小程式。請注意,預設小程式(即預設載入的小程式)始終為區域掃描小程式。因此,若要使用線性掃描小程式,必須先依照「變更小程式」中的說明載入該小程式。
| Applet 名稱 | 適用於介面卡 |
|---|---|
| Acq_SingleCXP12Line | 1C、2C、4C |
| Acq_DualCXP12Line | 2C、4C |
| Acq_TripleCXP12Line | 4C |
| Acq_QuadCXP12Line | 4C |
說明文件#
以下章節提供 acquisition applets 說明文件的連結:
CXP-12 Interface Card 1C#
| GenTL | Fglib |
|---|---|
| Acq_SingleCXP12x1Area PDF | Acq_SingleCXP12x1Area PDF |
| Acq_SingleCXP12Line PDF | Acq_SingleCXP12Line PDF |
| Frame Grabber Test Applet PDF | Frame Grabber Test Applet PDF |
CXP-12 Interface Card 2C#
CXP-12 Interface Card 4C#
選擇合適的小程式#
如果您僅使用單通道(1-CXP)攝影機,預設的小程式將始終能正常運作,您無需進行任何變更。
然而,如果您使用的是多通道(例如 2-CXP 或 4-CXP)攝影機,必須根據您的攝影機設定選擇正確的小程式。否則,攝影機可能無法運作,或其效能可能會大幅降低。
應選用哪個小程式,取決於相機的數量、每台相機的通道數,以及所需的 ROI 步長。
ROI 的步長取決於影像預處理的 Parallelism,因此會因相機和擷取卡而異。
CXP-12 Interface Card 1C#
適用於的區域掃描小程式CXP-12 Interface Card 1C#
| 最大相機數量 | 單通道攝影機的數量 | 雙通道攝影機的數量 | 4 頻道攝影機的數量 | Applet | ROI 步長 [px] |
|---|---|---|---|---|---|
| 1 | 1 | Acq_SingleCXP12x1Area | x: 4 y: 1 |
適用於的線掃描小程式CXP-12 Interface Card 1C#
| 最大相機數量 | 單通道攝影機的數量 | 雙通道攝影機的數量 | 4 頻道攝影機的數量 | Applet | ROI 步長 [px] |
|---|---|---|---|---|---|
| 1 | 1 | Acq_SingleCXP12Line | x: 4 y: 1 |
CXP-12 Interface Card 2C#
適用於的區域掃描小程式CXP-12 Interface Card 2C#
| 最大相機數量 | 單通道攝影機的數量 | 雙通道攝影機的數量 | 4 頻道攝影機的數量 | Applet | ROI 步長 [px] |
|---|---|---|---|---|---|
| 2 | 1 | Acq_DualCXP12Area | x: 8 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Area | x: 8 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Areaa | x: 16 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Area | x: 16 y: 1 |
適用於的線掃描小程式CXP-12 Interface Card 2C#
| 最大相機數量 | 單通道攝影機的數量 | 雙通道攝影機的數量 | 4 頻道攝影機的數量 | Applet | ROI 步長 [px] |
|---|---|---|---|---|---|
| 2 | 1 | Acq_DualCXP12Line | x: 8 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Line | x: 8 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Lineb | x: 16 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Line | x: 16 y: 1 |
CXP-12 Interface Card 4C#
適用於的區域掃描小程式CXP-12 Interface Card 4C#
| 最大相機數量 | 單通道攝影機的數量 | 雙通道攝影機的數量 | 4 頻道攝影機的數量 | Applet | ROI 步長 [px] |
|---|---|---|---|---|---|
| 4 | 1 | Acq_QuadCXP12Area | x: 8 y: 1 | ||
| 4 | 2 | Acq_QuadCXP12Area | x: 8 y: 1 | ||
| 4 | 3 | Acq_QuadCXP12Area | x: 8 y: 1 | ||
| 4 | 4 | Acq_QuadCXP12Area | x: 8 y: 1 | ||
| 3 | 1 | Acq_TripleCXP12Areac | x:16/8/8 y:1 | ||
| 3 | 2 | Acq_TripleCXP12Areac | x:16/8/8 y:1 | ||
| 3 | 3 | Acq_TripleCXP12Areac | x:16/8/8 y:1 | ||
| 3 | 1 | Acq_TripleCXP12Aread | x:16/8/8 y:1 | ||
| 3 | 1 | 1 | Acq_TripleCXP12Area | x:16/8/8 y:1 | |
| 3 | 2 | 1 | Acq_TripleCXP12Area | x:16/8/8 y:1 | |
| 2 | 1 | Acq_DualCXP12Areac | x: 16 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Areac | x: 16 y: 1 | ||
| 2 | 1 | 1 | Acq_DualCXP12Area | x: 16 y: 1 | |
| 2 | 1 | Acq_DualCXP12Areae | x: 16 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Area | x: 16 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Areac | x: 32 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Areaf | x: 32 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Area | x: 32 y: 1 |
適用於的線掃描小程式CXP-12 Interface Card 4C#
| 最大相機數量 | 單通道攝影機的數量 | 雙通道攝影機的數量 | 4 頻道攝影機的數量 | Applet | ROI 步長 [px] |
|---|---|---|---|---|---|
| 4 | 1 | Acq_QuadCXP12Line | x: 8 y: 1 | ||
| 4 | 2 | Acq_QuadCXP12Line | x: 8 y: 1 | ||
| 4 | 3 | Acq_QuadCXP12Line | x: 8 y: 1 | ||
| 4 | 4 | Acq_QuadCXP12Line | x: 8 y: 1 | ||
| 3 | 1 | Acq_TripleCXP12Lineg | x:16/8/8 y:1 | ||
| 3 | 2 | Acq_TripleCXP12Lineg | x:16/8/8 y:1 | ||
| 3 | 3 | Acq_TripleCXP12Lineg | x:16/8/8 y:1 | ||
| 3 | 1 | Acq_TripleCXP12Lineh | x:16/8/8 y:1 | ||
| 3 | 1 | 1 | Acq_TripleCXP12Line | x:16/8/8 y:1 | |
| 3 | 2 | 1 | Acq_TripleCXP12Line | x:16/8/8 y:1 | |
| 2 | 1 | Acq_DualCXP12Lineg | x: 16 y: 1 | ||
| 2 | 2 | Acq_DualCXP12Lineg | x: 16 y: 1 | ||
| 2 | 1 | Acq_DualCXP12Line | x: 16 y: 1 | ||
| 2 | 1 | 1 | Acq_DualCXP12Linei | x: 16 y: 1 | |
| 2 | 2 | Acq_DualCXP12Line | x: 16 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Line | x: 32 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Line | x: 32 y: 1 | ||
| 1 | 1 | Acq_SingleCXP12Line | x: 32 y: 1 |
變更 Applet#
在介面卡上執行的程式小程式定義了其功能。對於某些攝影機設定,您可能需要變更預設的程式小程式。
若要在 pylon 中變更介面卡所使用的小程式,請設定 InterfaceApplet 將參數設為要載入的小程式的名稱,例如: Acq_DualCXP12Area:

使用介面卡觸發 Basler boost CXP-12 攝影機#
資訊
本節內容僅適用於您希望透過介面卡來觸發攝影機的情況。通常,攝影機是透過其 I/O 連接器來觸發的。如需更多資訊,請參閱「觸發式影像擷取」。
有關此處提及的參數之詳細說明,請參閱您所使用的區域掃描小程式的文件。
硬體觸發(外部)#
啟用外部觸發功能後,您可以將觸發輸入訊號傳送至介面卡,而介面卡會將這些訊號轉發至 Basler Boost 攝影機。
若要設定介面卡以支援外部硬體觸發:
- 將相機中的
AreaTriggerMode參數設為External. - 將相機中的
TriggerInSource將參數設定至所需的「Front GPI」輸入線。
例如,若要使用 GPI0(介面卡上的第 11 和 12 腳位)進行外部觸發,請將該參數設定為FrontGpiTriggerSource0. - 將相機中的
TriggerCameraOutSelect將該參數設定為對應的「繞過」選項。
舉例來說,如果您選擇了FrontGpiTriggerSource0)之間時,請將該記憶體 operator 上的TriggerCameraOutSelect參數設為BypassFrontGpi0. - 將相機中的
TriggerState參數設為Active. - 如有需要,請依照以下說明設定觸發訊號。
所有觸發訊號都將轉發至相機的原始訊號 CxpTrigger0 進行明確的生命週期管理即呼叫 CxpTrigger1. 這些訊號可應用於各種用途。最常見的應用情境是影像擷取。請參閱 以下為範例.
硬體觸發(內部)#
啟用內部觸發功能後,介面卡會以指定的頻率在內部產生觸發訊號。所有外部觸發訊號均將被忽略。
若要將介面卡設定為內部硬體觸發模式:
- 將相機中的
AreaTriggerMode參數設為Generator. - 將相機中的
TriggerOutputFrequency將參數設定為所需的觸發輸出頻率。例如,若將該參數設定為 8,介面卡每秒將產生 8 個觸發訊號。 - 將相機中的
TriggerCameraOutSelect參數設為所需的輸出線路,例如PulseGenerator0. - 將相機中的
TriggerState參數設為Active.
現在,每當您開始進行影像擷取時,介面卡便會以指定的頻率產生觸發訊號。
所有觸發訊號都將轉發至相機的原始訊號 CxpTrigger0 進行明確的生命週期管理即呼叫 CxpTrigger1. 這些訊號可應用於各種用途。最常見的應用情境是影像擷取。請參閱 以下為範例.
範例:利用觸發訊號進行影像擷取#
- 在相機上,將
TriggerSelector參數設為FrameStart. - 將相機中的
TriggerMode參數設為On. - 將相機中的
ExposureMode參數設為Timed. - 將相機中的
TriggerSource參數設為CxpTrigger0或CxpTrigger1.
現在,每當介面卡接收或產生觸發訊號時,攝影機便會擷取一張影像。
資訊
您可以將觸發訊號用作任何可由訊號源控制的 Basler Boost 相機功能的訊號來源。例如,設定 CounterTriggerSource 參數設為 CxpTrigger0 讓您能夠控制 Counter 透過介面卡使用此功能。
在介面卡上執行去拜爾處理#
透過CXP-12 Interface Card 1C ,您可以在介面卡上執行去拜耶運算。這可減輕相機與主機的運算負擔。
若要這樣做:
- 啟動「pylon Viewer 」,並建立與介面卡及攝影機的連線。
- 請使用功能樹進行以下設定:
- 在相機上,將 Pixel Format 選項設定為拜耳像素格式,例如拜耳 RG 12。
- 請導航至「裝置傳輸層」,並停用「自動格式控制」選項。
這樣一來,您便能獨立於攝影機所使用的像素格式,自行設定輸出格式。 - 在介面卡上,將OutputFormat選項設定為相應的 RGB 像素格式。
位元深度必須是拜耳像素格式位元深度的三倍。例如,拜耳 RG 12(相機)= 36 位元色彩(介面卡)。
現在,介面卡將對相機的原始影像資料進行去拜爾處理,並輸出 RGB 影像資料。
資訊
請務必在上述第 3 步中設定正確的 RGB 像素格式。否則,將無法正確擷取影像。
使用相機上未提供的輸出格式#
Basler Boost 相機可輸出多種像素格式的影像資料,例如 Bayer RG 8 或 RBG 8。如需更多資訊,請參閱「像素格式」主題。
如果相機不支援您所需的像素格式,且您也希望避免在主機上進行影像轉換,您可以嘗試使用介面卡所提供的其中一種像素格式。
此介面卡提供以下格式:
| Gray8bit | Gray10bit | Gray12bit | 灰階 16 位元 |
| 24 位元色彩 | 30 位元色彩 | 36 位元色彩 | 48 位元色彩 |
| Bayergr8 | Bayergr10 | Bayergr12 | Bayergr16 |
| Bayerrg8 | Bayerrg10 | Bayerrg12 | Bayerrg16 |
| Bayergb8 | Bayergb10 | Bayergb12 | Bayergb16 |
| Bayerbg8 | Bayerbg10 | Bayerbg12 | Bayerbg16 |
若要使用相機上未提供的輸出格式:
- 在相機上,將
PixelFormat將參數設定為所需的相機像素格式,例如:Mono12. - 在介面卡上,設定
AutomaticFormatControl參數設為false.
這讓您可以獨立於相機所使用的像素格式,自行設定輸出格式。 - 在介面卡上,設定
Format將參數設定為所需的輸出格式,例如:Gray16bit.
根據上述範例數值,介面卡將根據 12 位元相機影像資料,輸出 16 位元影像資料。如以下所示,系統將插入填充位元(零)。
使用gpioTool#
透過 gpioTool 命令列工具,您可以設定介面卡所接收或傳送的觸發訊號之物理屬性:
- 您可以將輸入線路設定為接收單端或差分訊號。
- 您可以將輸入線配置為上拉或下拉模式運作。
- 您可以指定輸出訊號是否應進行反相。
gpioTool 已包含在pylon Software Suite 中。
要啟動此工具:
- 開啟「命令提示字元」視窗(Windows )或「終端機」視窗(Linux )。
-
切換至您的 Pylon 安裝目錄中的bin目錄:
- Windows (64 位元):%programfiles%\Basler\pylon x\Runtime\x64\pylonCXP\bin
- Windows (32 位元):%programfiles%\Basler\pylon x\Runtime\Win32\pylonCXP\bin
- Linux:/opt/pylon/lib/pylonCXP/bin
-
請使用以下所述的選項啟動gpioTool 。
選項#
下列選項可供使用:
-b [board_index]
請指定您要存取系統中的哪一張 CXP-12 介面卡。此參數對於所有選項皆為必填,惟以下情況除外: -h.
的數值範圍為 [board_index] 此處為系統中所有已安裝之 CXP-12 介面卡的索引編號。若系統中僅有一張 CXP-12 介面卡,請設定 [board_index] 至 0.
-b [board_index] -g
顯示指定之 CXP-12 介面卡的當前 GPIO 銀行設定。
-b [board_index] -v
以詳盡輸出方式顯示當前的 GPIO 銀行設定。
-b [board_index] -s [bank]:[settings]
請設定指定之 CXP-12 介面卡上的 GPIO 銀行。
[bank] 指定 GPIO 銀行的索引號。在 CXP 介面卡 1C 上,僅提供一個 GPIO 銀行(前端 GPIO)。因此,請務必設定 [bank] 至 0.
[settings] 設定相關選項。請參閱 下方.
-h
顯示說明。
設定#
關於 [settings] 參與 -b [board_index] -s [bank]:[settings], 可使用以下設定:
| 場景設定 | Value | 結果 |
|---|---|---|
[signal] | se | 將輸入線配置為接收單端訊號。 |
[signal] | ds | 設定輸入線路以接收差分訊號。 |
[pull-up-down] | pu | 將輸入線配置為上拉模式運作。j |
[pull-up-down] | pd | 將輸入線配置為下拉模式運作。k |
[inversion] | ni | 停用輸出線的反轉功能。 |
[inversion] | 位於 | 啟用輸出線的反相功能。 |
您必須以以下格式輸入設定: [signal],[pull-up-down],[inversion]. 範例: ds、pu、ni
此外,您也可以設定 [settings] 設為 default. 這 重設設定 某個 GPIO 銀行的。
範例#
gpioTool -b 0 -s 0:ds,pu,ni
此指令會將介面卡配置如下:
-b 0: 設定板卡 0 上的 GPIO。-s: 開始進行實際的設定。0:: 設定 GPIO 銀行 0(前端 GPIO)。ds,pu,ni: 將前端 GPIO 設定為接收差分訊號 (ds)、以上拉模式 (pu) 運作,並將輸出訊號以非反相形式 (ni) 傳送。
重設設定#
若要將開發板和 GPIO 銀行重設為預設設定,請啟動 gpioTool 與 [settings] 設定為 default:
gpioTool -b [board_index] -s [bank]:default
範例: gpioTool -b 0 -s 0:default
範例程式碼#
// Select the Acq_SingleCXP12Area applet
camera.GetTLParams().InterfaceApplet.SetValue(Acq_SingleCXP12Area);
// Configure the interface card for external triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_External);
camera.GetTLParams().TriggerInSource.SetValue(TriggerInSource_FrontGpiTriggerSource0);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_BypassFrontGpi0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Configure the interface card for internal triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_Generator);
camera.GetTLParams().TriggerOutputFrequency.SetValue(8);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_PulseGenerator0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Use the external or internal trigger signals for image acquisition
camera.TriggerSelector.SetValue(TriggerSelector_FrameStart);
camera.TriggerMode.SetValue(TriggerMode_On);
camera.ExposureMode.SetValue(ExposureMode_Timed);
camera.TriggerSource.SetValue(TriggerSource_CxpTrigger0);
// Perform debayering on the interface card (Bayer RG 12 --> RGB 36 bit)
camera.PixelFormat.SetValue(PixelFormat_BayerRG12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Color36bit);
// Configure the interface card to output 16-bit mono image data based on
// 12-bit mono image data from the camera
camera.PixelFormat.SetValue(PixelFormat_Mono12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Gray16bit);
此範例程式碼僅提供 C++ 版本。
您也可以 use the pylon Viewer 來輕鬆設定參數。
-
僅在您需要鏡像解析度超過 8K 像素的影像時才建議使用。否則,請使用 DualCXP12Area。
-
僅在您需要將解析度超過 21840 像素的影像進行鏡像處理時才建議使用。否則,請使用 DualCXP12Line。
-
僅在您需要鏡像解析度超過 8K 像素的影像時才建議使用。否則,請使用 QuadCXP12Area。
-
不建議使用,請改用 DualCXP12Area。
-
僅在您需要鏡像處理像素數超過 8K 的影像時才建議使用。否則,請使用 TripleCXP12Area(僅限單通道相機)。
-
僅在您需要鏡像寬度超過 21840 像素的影像時才建議使用。否則,請使用 DualCXP12Area。
-
僅在您需要鏡像解析度超過 8K 像素的圖像時才建議使用。否則,請使用 QuadCXP12Line。
-
不建議使用,請改用 DualCXP12Line。
-
僅在您需要鏡像處理超過 8K 像素的影像時才建議使用。否則,請使用 TripleCXP12Line(僅限單通道相機)。
-
在大多數應用中,您需要設定此模式。介面卡會啟用一個 10 kΩ 的上拉電阻,以接收來自 NPN 電晶體(開集極、開漏極)的訊號。
-
介面卡會啟用一個 10 kΩ 的下拉電阻,以接收來自 PNP 電晶體(開放式發射極、開放式源極)的訊號。