Operator CXPDualCamera

運算子庫:硬體平台

此運算子代表 CXP 雙通道攝影機與VisualApplets 之間的 影像資料介面。

適用於硬體平台
mE5 marathon VCX-QP
mE5 ironman VQ8-CXP6D
mE5 ironman VQ8-CXP6B

該運算子在其輸出 O 上提供影像資料。此輸出始終存在。

除了這個標準輸出埠之外,您 若因設計需求而需要,亦可指定各種可選埠。

在 運算子實例化過程中,會出現以下彈出對話方塊:

在此處,您可以指定 透過 CXP 纜線連接的通用輸入與輸出之選用埠,以及與攝影機之間 的選用觸發埠。

您可以設定 特定 GPI(通用輸入)、特定 GPO(通用輸出)、 觸發輸入埠以及觸發輸出埠的可用性。

若將埠可用性設定為「0」 (預設值),該埠將不會出現在操作員介面中。若將埠 可用性設定為 1,該埠即會在操作員介面中顯示為可用。

該運算子使用 2 個類型為 CameraPort 的資源。

[重要] 修改圖片寬度與 高度

您可以將寬度和高度調整為 相機專用的設定。不過,操作員埠 O 上的最大影像寬度 上的最大影像寬度必須能被該埠 O 的並行度 。

請確保最大影像寬度能被埠 O 的平行度整除!

[重要] 價值在於Parallelism

埠 O 的並行度必須設定 至少達到最小值(如參數 MinimalParallelism 所指定)。 不允許設定 更低的並行度值。最小並行度是由VisualApplets 根據您為此運算子的其他參數所定義的值計算得出的。如此一來, 傳入資料便能始終被接收。

[重要] 虛擬像素

輸出資料中可能會包含虛擬像素。 這是因為運算子可能會將平行度轉換兩次。首先, 運算子會內部將平行度轉換為其計算出的最小平行度,並將其 作為唯讀值提供給參數 MinimalParallelism 中作為唯讀值提供。這會導致內部 影像寬度可被MinimalParallelism整除, 且可能因平行度轉換而增加虛擬值。 其次, 運算子會將並行度轉換為O。Parallelism , 若第一次並行度轉換所產生的墊充後影像寬度 並非 O 的倍數,則可能會新增更多虛擬值。Parallelism 。因此,輸出資料是否包含 虛擬像素,取決於 MinimalParallelism 參數、影像寬度以及O。Parallelism 。每次 並行度轉換都可能新增虛擬像素。這些額外的虛擬像素包含 未定義的資料值,並導致影像寬度偏離實際影像 寬度。

範例:若 MinimalParallelism為 12, O.Parallelism為 32,且傳輸的影像 寬度為 128 像素,則運算子會根據 MinimalParallelism 參數中定義的內部並行度 12,在內部建立寬度為 132 的影像行, 這是因為在 MinimalParallelism參數中定義的內部平行度為 12。在輸出時, 資料向量會轉換為平行度 32 (O.Parallelism ),從而導致影像行 寬度為 160 像素。

由於存在虛像點,預期輸出影像的寬度為:

[重要] Bit Width 以及格式類型

埠 O(影像埠)的位元寬度 取決於所選的格式類型(參數 FormatType):

  • 若 FormatType = Gray:Bit Width 可取任何值(VAF_Gray 及 FL_NONE)。
  • 若 FormatType = RGB:Bit Width 為 3 的倍數(VAF_Color 及 FL_RGB)
  • 若 FormatType = RGBA:Bit Width 為 4 的倍數(VAF_Gray 及 FL_NONE)
  • 若 FormatType = RAW:Bit Width 的值為 32(VAF_Gray 且 FL_NONE)

I/O Properties

Property Value
Operator Type M
Input Links - 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。

Supported Link Format

Link Parameter 輸出連結 - O 輸入連結 - TriggerI(可選) 輸出連結 - TriggerO(可選) 輸入連結 - GPIx(可選) 輸出連結 - GPOx(可選)
Bit Width any 1 1 1 1
Arithmetic 無號數 無號數 無號數 無號數 無號數
Parallelism any1 1 1 1 1
Kernel Columns 1 1 1 1 1
Kernel Rows 1 1 1 1 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} (default: VALT_IMAGE2D) VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL
Color Format {VAF_GRAY, VAF_COLOR}

VAF_GRAY = FL_NONE

VAF_COLOR = FL_RGB

(若Color Format 為 VAF_GRAY,則 Color Flavor 為 FL_NONE;若Color Format 為 VAF_COLOR,則 Color Flavor 為 FL_RGB。)

VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY
Color Flavor {FL_NONE, FL_RGB}

VAF_GRAY = FL_NONE

VAF_COLOR = FL_RGB

(若Color Format 為 VAF_GRAY,則 Color Flavor 為 FL_NONE;若Color Format 為 VAF_COLOR,則 Color Flavor 為 FL_RGB。)

FL_NONE FL_NONE FL_NONE FL_NONE
Max. Img Width 任意 (預設值:1024) 1 1 1 1
Max. Img Height 任意 (預設值:1024) 1 1 1 1

1

必須設定為至少達到參數 MinimalParallelism 中指定的最小值。

若MinimalParallelism與 O.Parallelism之間存在差異,則 並行度會被轉換兩次,且每次都可能被加入虛擬值。 由於這些虛擬像素的存在,預期輸出影像的寬度為:

Parameters

相機識別碼
Type 靜態寫入參數
Default
Range {-1, 0, 1, 2, 3}

該 CameraID 參數用於向攝影機操作者的韌體定義 CXP 主站埠 ID, 以便進行自動 CXP 拓撲發現(攝影機至小程式以及 小程式至攝影機)。

透過此參數,您可 直接在此操作員中指定 ID。不過,我們建議您在 「資源」對話方塊中指定該操作員的資源。(要開啟「資源」 對話方塊,只需選取相機操作員,然後從「設計」選單中選擇 「資源」選單項目即可。) 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]

一個唯讀參數,用於指定 輸出鏈路 O 的最低並行度,該並行度仍能傳輸 相機的最大頻寬,且不會造成資料遺失。最低並行度將 自動計算。

該數值取決於 您在FormatMode 參數中選取的像素格式。

若將參數 FormatMode定義為動態 參數(請參閱下文對參數FormatMode 的說明),系統將計算可能發生的最小並行度。

最低程度的並行化可能會導致 產生虛擬像素,因為運算子可能會將並行化 轉換兩次,並在此過程中加入虛擬值。由於這些虛擬像素的存在, 預期輸出影像的寬度為:

Status
Type 動態讀取參數
Default
Range {0; 2^7-1}

該 Status 參數是一個執行時期的唯讀參數,用以反映 攝影機操作員的當前狀態。位元[0] 表示偵測到 CXP 流封包遺失。 位元[1] 表示 CXP 資料流封包中偵測到單位元組錯誤。位元[2] 表示 CXP 資料流封包中偵測到多位元組錯誤。位元[3..6] 保留。 此參數在未來版本中可能會有所變更。

格式類型
Type 靜態寫入參數
Default GRAY
Range 灰階、RGB、RGBA、RAW

在此處,您可以選擇要接收哪種 像素格式(依據 CXP 規格定義)。您在此處 選取的值,將決定在參數 FormatMode 中可選用的像素格式。因此,此 參數的設定會直接影響參數FormatMode。 請參閱下方關於參數FormatMode 的說明。

格式模式
Type 靜態或動態(使用者定義)寫入參數
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」參數中選定的格式類型的 像素格式 (依 CXP 規格定義)。

您在此處可選取的像素格式 取決於參數FormatType 的設定。 因此,您所能選用的始終僅限於預設值範圍內的選項。

若要取得另一組像素格式, 請變更FormatType 參數的設定。請參閱 上文有關FormatType參數的說明。

具體而言, 參數FormatType的以下設定,會在參數FormatMode 中提供以下 像素格式:

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.

您可以決定是否要將此 參數設為動態參數或靜態參數。請在「參數 類型」欄位中進行選擇:

TxTriggerPacketMode
Type dynamic write parameter
Default CxpStandard
Range {CxpStandard, RisingEdgeOnly}

透過參數 TxTriggerPacketMode,您可以提升 連接影像擷取卡與攝影機的 CXP 纜線的 頻寬。此 頻寬的提升,是透過對攝影機觸發 訊號的解讀進行微幅調整而實現的。

請注意,此功能僅可 與支援此功能的特定相機搭配使用。如需詳細資訊,請 聯絡您當地的經銷商或Basler 技術支援部門。

參數 TxTriggerPacketMode可取兩種值 (CxpStandard、RisingEdgeOnly):

  • CxpStandard: 建議的設定值為 CxpStandard。若設定為 CxpStandard,相機觸發機制將 依照 CXP 規格運作。(CXP 規格 規定,幀擷取卡須透過 CXP 纜線向 相機傳送兩個封包,方能觸發相機一次。)

  • 僅上升沿:若設定為「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(奈秒)。 該參數會保留其 數值,直到被讀取為止。讀取後,該參數會更新數值。 頻率控制會持續運行,且不受該參數 讀取狀態的影響。

Examples of Use

以下範例示範了如何使用 CXPDualCamera 運算子: