Operator Library: Hardware Platform
此運算子代表 CXP 雙通道相機與 VisualApplets 之間的影像資料介面。
| 適用於硬體平台 |
|---|
| mE5 marathon VCX-QP |
| mE5 ironman VQ8-CXP6D |
| mE5 ironman VQ8-CXP6B |
該運算子在其輸出 O 上提供影像資料。此輸出始終存在。
除了此標準輸出連接埠之外,如果您的設計需要,您還可以指定各種選配連接埠。
在運算子實例化期間會出現以下彈出對話方塊:

在此,您可以指定透過 CXP 電纜進行通用輸入和輸出的選配連接埠,以及往返相機的選配觸發連接埠。
您可以定義特定 GPI(通用輸入)、特定 GPO(通用輸出)、觸發輸入連接埠以及觸發輸出連接埠的可用性。
如果您將連接埠可用性設為「0」(預設值),則運算子中將不存在該連接埠。如果您將連接埠可用性設為 1,則該特定連接埠將在運算子介面中可用。
該運算子使用 2 個類型為 CameraPort 的資源。

![]() |
修改影像寬度與影像高度 |
|---|---|
|
您可以將寬度和高度修改為相機特定的設定。不過,運算子連接埠 O 上的最大影像寬度 必須可被 連接埠 O 的 Parallelism 整除。 確保最大影像寬度可被連接埠 O 的 Parallelism 整除! |
![]() |
Parallelism 的值 |
|---|---|
|
連接埠 O 上的 Parallelism 至少需要設定為最小值(在 MinimalParallelism 參數中規定)。不允許使用較小的 Parallelism 值。最小 Parallelism 是由 VisualApplets 根據您為該運算子其他參數定義的值計算得出的。這樣一來,始終可以接收傳入的資料。 |
![]() |
虛擬像素 (Dummy Pixels) |
|---|---|
|
輸出資料可能包含虛擬像素 (dummy pixel)。發生這種情況是因為運算子可能會將 Parallelism 轉換兩次。首先,運算子在內部轉換為它計算出的最小 Parallelism,並作為參數 MinimalParallelism 中的唯讀值提供。這會導致內部影像寬度可被 MinimalParallelism 整除,且由於 Parallelism 轉換可能會新增虛擬值。其次,如果第一次 Parallelism 轉換產生的填充影像寬度不是 O.Parallelism 的倍數,運算子會將 Parallelism 轉換為 O.Parallelism,這可能會新增更多虛擬值。因此,輸出資料是否包含虛擬像素取決於 MinimalParallelism 參數、影像寬度和 O.Parallelism。每次 Parallelism 轉換都可能會新增虛擬像素。額外的虛擬像素包含未定義的資料值,並會導致影像寬度偏離實際影像寬度。 範例:如果 MinimalParallelism 為 12,O.Parallelism 為 32,且傳輸的影像寬度為 128 像素,則由於 MinimalParallelism 參數中定義的內部 Parallelism 為 12,運算子會在內部建立寬度為 132 的影像行。對於輸出,資料向量會轉換為 Parallelism 32(O.Parallelism),這會導致影像行寬度為 160 像素。 由於虛擬像素的存在,預期的輸出影像寬度為:
|
![]() |
Bit Width and Format Type |
|---|---|
|
連接埠 O(影像連接埠)上的 Bit Width 取決於選定的格式類型(參數 FormatType):
|
| Property | Value |
|---|---|
| Operator Type | M |
| 輸入連結 | - TriggerI (選填),由擷取卡透過 CXP 通道傳送至相機的觸發訊號。此連接埠通常用於觸發線形掃描相機。 - GPIx (選填),由擷取卡透過 CXP 通道傳送至相機的通用輸入 [x]。可用的選項有 GPI0、GPI1、GPI2、GPI3、GPI4、GPI5、GPI6 以及 GPI7。 |
| 輸出連結 | - O,影像資料輸出 - TriggerO (選填),由相機透過 CXP 通道傳送至擷取卡的觸發訊號。 - GPOx (選填),由相機透過 CXP 通道傳送至擷取卡的通用輸出 [x]。可用的選項有 GPO0、GPO1、GPO2、GPO3、GPO4、GPO5、GPO6 以及 GPO7。 |
| CameraID | |
|---|---|
| Type | 靜態寫入參數 |
| Default | |
| Range | {-1, 0, 1, 2, 3} |
|
CameraID 參數定義了相機運算子韌體的 CXP 主連接埠 ID,以允許自動 CXP 拓撲發現(相機到 Applet 以及 Applet 到相機)。 透過使用此參數,您可以直接在這裡的運算子中指定 ID。不過,我們建議在 Resources 對話方塊中指定運算子的資源。(若要開啟 Resources 對話方塊,只需反白顯示相機運算子,然後從 Design 選單中選取 Resources 選單項目。)CameraID 參數將使用資源對話方塊參數自動更新為正確的主連接埠。以下範例使用單一相機和一個雙相機: ![]()
![]() module3(單相機)的 CameraID(CXP 主連接埠 ID)為 2。module5(雙相機)的 CameraID(CXP 主連接埠 ID)為 1。 雙相機需要 2 個 CXP 相機連接埠。(四相機需要 4 個連接埠。)只有主連接埠會反映在運算子的 CameraID 參數中。 當您定義的 CameraPort 資源超出可能數量(最大值為 4)時,例如當您實例化 5 個「CXPSingleCamera」運算子時,最後請求 CameraPort 資源的相機運算子(此時所有四個可用資源已被佔滿)會將其 CameraID 設定為 -1。在這種情況下,設計規則檢查會回報錯誤。 CameraID 參數的範圍為 {-1,0,1,2,3}。 |
|
| MinimalParallelism | |
|---|---|
| Type | 靜態讀取參數 |
| Default | 12 |
| Range | [1 : 512] |
|
這是一個唯讀 Property,提供輸出鏈路 O 所需的最小 Parallelism,且在不遺失資料的情況下仍能傳輸相機的最大頻寬。最小 Parallelism 是自動計算的。 該數值取決於您在 FormatMode Property 中所選取的 Pixel Format。 如果您將參數 FormatMode 定義為動態參數(請參閱下方參數 FormatMode 的說明),則會計算可能發生的最小 Parallelism。 最小 Parallelism 可能會導致建立虛擬像素(dummy pixels),因為運算子可能會將 Parallelism 轉換兩次並在此過程中加入虛擬值。由於這些虛擬像素,預期的輸出影像寬度為:
|
|
| Status | |
|---|---|
| Type | 動態讀取參數 |
| Default | |
| Range | {0; 2^7-1} |
|
Status 參數是一個執行階段的唯讀參數,用於反映相機運算子的目前狀態。Bit[0] 表示偵測到 CXP 資料流封包遺失。Bit[1] 表示 CXP 資料流封包中的單位元組錯誤修正。Bit[2] 表示偵測到 CXP 資料流封包中的多位元組錯誤。Bit[3..6] 為保留位元。此參數可能會在未來版本中變更。 |
|
| FormatType | |
|---|---|
| Type | 靜態寫入 Property |
| Default | GRAY |
| Range | GRAY, RGB, RGBA, RAW |
|
在此,您可以選擇要接收的 Pixel Format 類型(由 CXP 規格定義)。您在此處選擇的值決定了可以在參數 FormatMode 中選擇的 Pixel Format。因此,此參數的設定會直接影響參數 FormatMode。另請參閱下方參數 FormatMode 的說明。 |
|
| FormatMode | |
|---|---|
| Type | 靜態或動態(使用者定義)寫入 Property |
| Default | Mono8 |
| Range | {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16, RGB8, RGB10, RGB12, RGB14, RGB16, RGBA8, RGBA10, RGBA12, RGBA14, RGBA16, Raw} |
|
該參數提供屬於您在參數 FormatType 中所選格式類型的所有 Pixel Format(由 CXP 規格定義)。 ![]() 您在此處可選擇的 Pixel Format 取決於參數 FormatType 的設定。因此,您始終只能使用完整值範圍的預設子集。 若要取得另一組 Pixel Format,請變更參數 FormatType 的設定。另請參閱上方參數 FormatType 的說明。 詳細而言,參數 FormatType 的下列設定會在參數 FormatMode 中提供下列 Pixel Format: FormatType == GRAY: {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16} FormatType == RGB: {RGB8, RGB10, RGB12, RGB14, RGB16} FormatType == RGBA: {RGBA8, RGBA10, RGBA12, RGBA14, RGBA16} FormatType == RAW: {Raw} Pixel format Raw has a fix bit width of 32Bit. The data are interpreted as received. 您可以決定是要將此參數用作動態參數還是靜態參數。請在「Parameter Type」欄中進行選擇: ![]() |
|
| TxTriggerPacketMode | |
|---|---|
| Type | 動態寫入參數 |
| Default | CxpStandard |
| Range | {CxpStandard, RisingEdgeOnly} |
|
透過參數 TxTriggerPacketMode,您可以增加連接擷取卡與相機之 CXP 連接線的頻寬。頻寬的增加是透過稍微修改相機觸發訊號解讀方式来实现的。 請注意,此功能只能搭配支援此功能的特定相機使用。如需詳細資訊,請聯絡您的當地經銷商或 Basler 支援服務。 參數 TxTriggerPacketMode 允許兩個值(CxpStandard、RisingEdgeOnly):
|
|
| TxTriggerEventCount | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | {0;2^20-1} |
|
TxTriggerEventCount 參數指示已向相機發送了多少觸發邊緣事件。 |
|
| TxTriggerAcknowledgementCount | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | {0;2^20-1} |
|
TxTriggerAcknowledgementCount 參數指示擷取卡已接收到多少由相機發送的觸發確認封包(作為先前發送的觸發邊緣封包的回應)。 |
|
| TxTriggerWaveformViolation | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | {0,1} |
|
如果相機運算子偵測到連接埠 TriggerI 上的兩個觸發邊緣之間的距離違反了最小邊緣頻率,則相機運算子會將此參數設定為 1。所有 microEnable 5 平台上的最小邊緣頻率均為 550 奈秒 (ns)。此參數會保留其值,直到被讀取為止。讀取後,該參數會更新其值。頻率控制持續運行,不受參數讀取狀態的影響。 |
|
以下範例顯示了 CXPDualCamera 運算子的使用方式:
-
Examples - Basic Acquisition
-
「針對兩個雙線 CoaXPress 面陣相機的基本擷取範例」
Examples - Basic Acquisition
-
Examples - Basic Acquisition
-
「針對兩個雙線 CoaXPress 線陣相機的基本擷取範例」
Examples - Basic Acquisition

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





上一頁

