觸發與影像統計

簡要說明

檔案: \examples\Processing\DebuggingAndTest\TriggerAndImageStatistics.va

預設平台: mE5-MA-VCL

短說明

提供觸發與 Camera Link 功能分析。 使用者可以分析 Camera Link Base 組態中灰階相機的影像資料串流。 此設計僅供硬體使用。

透過範例設計「TriggerAndImageStatistics.va」,可以分析觸發與 Camera Link 功能,例如脈衝數、訊號寬度和週期。 同時也會測量觸發訊號與 Camera Link 訊號之間的差異。 使用者可以在軟體觸發、觸發產生器或外部來源之間選擇來產生觸發訊號。 在此設計中,使用者還可以分析 Camera Link Base 組態中灰階相機的影像資料串流。 此設計僅供硬體使用,不適用於 VisualApplets 內的模擬。此設計適合做為影像處理設計的除錯「附加元件」。 以下將說明「TriggerAndImageStatistics.va」的功能。 其基本設計結構如圖 290 所示。

VA 設計「TriggerAndImageStatistics.va」的基本設計結構

圖 290. VA 設計「TriggerAndImageStatistics.va」的基本設計結構


在 HierarchicalBox ImageAnalysis 中,會分析 Camera Link Base 組態中灰階相機的影像資料串流。 在此會測量目前畫面以及完整影像序列的影像屬性,例如影像尺寸和單一畫面之間的行長度偏差。 畫面透過 DMA 傳送至 PC。此外,使用者可以使用除錯運算子 ImageMonitor 在管線中的任何定義點監控影像。 在 HierarchicalBox TriggerStatistics 中,會測量觸發訊號以及 LVAL 和 FVAL 等 Camera Link 訊號的屬性。 box TriggerAnalysis 的內容請參閱圖 291。

HierarchicalBox TriggerAnalysis 的內容

圖 291. HierarchicalBox TriggerAnalysis 的內容


在此 box CameraLink_LVAL_FVAL 中定義了 LVAL 和 FVAL 訊號。 在每個影像行和每個畫面的開頭與結尾,會使用運算子 LineStartToSignal/ LineEndToSignal 以及 FrameStartToSignal/FrameEndToSignal 產生訊號。運算子 RsFlipFlop 將對應的啟動/停止訊號組合成 LVAL 和 FVAL 訊號,使用者可以將其作為事件進行監控。 這些事件是在 HierarchicalBox CameraLink_Events 中使用運算子 EventToHost 定義的。 在 box CameraLink_LVAl_FVAL_GPO 中,LVAL 和 FVAL 訊號會指派給 PinID 為 1 的 GPO 與 Front GPO。 LVAL 和 F_VAL 啟動與停止脈衝的統計資料定義於 HierarchicalBox CameraLink_InputStatistics 中。 您可以於圖 292 中檢視此 box 的內容。

HierarchicalBox CameraLink_InputStatistics 的內容

圖 292. HierarchicalBox CameraLink_InputStatistics 的內容


此處使用運算子 PulseCounter 計算脈衝數。使用者可以透過運算子 GetStatus_ReadPulses 監控此數值。 LVAL 或 FVAL 啟動或停止脈衝之間的週期是使用運算子 SignalToPeriod 定義的。 使用者可以透過運算子 GetStatus_ReadPeriod 監控此數值,並透過 GetStatus_ReadMax 與 GetStatus_ReadMin 監控其最大值與最小值。 除了監控 Camera Link 訊號的統計資料外,使用者還可以觀察觸發訊號的統計資料。 觸發訊號可以使用觸發 Generator、SoftwareTrigger 或透過 GPI 的外部觸發來源來產生,這些都可以在 GPI_InputSelect 中選取。 使用者可以監控 GPI 輸入事件與輸入狀態 (請參閱 box GPI_InputEvents 與 GPI_InputStatus)。 觸發訊號會套用至 HierarchicalBox TriggerOutput 中的相機控制與 GPO。 使用者可以監控 HierarchicalBox Trigger_Statistics 中所定義的觸發訊號統計資料。 您可以於圖 293 中檢視其內容。

HierarchicalBox Trigger_Statistics 的內容

圖 293. HierarchicalBox Trigger_Statistics 的內容


此處定義了觸發訊號寬度 (請參閱 SignalToWidth 運算子 SignalWidth)。 使用者可以透過 GetStatus 運算子 ReadSignalWidth 觀察此數值。 觸發上升緣脈衝數會使用 PulseCounter 進行計數。 使用者可以透過 GetStatus 運算子 ReadPulses 查看此數值。 觸發上升緣脈衝之間的週期及其最大值和最小值也是如此 (請參閱 GetStatus 運算子 ReadPeriod、ReadMax、ReadMin)。 回到圖 291。在 HierarchicalBox DelayAnalysis 中,會比較 CameraLink 訊號與觸發訊號。 您可以於圖 294 中檢視 DelayAnalysis 的內容。

HierarchicalBox DelayAnalysis 的內容

圖 294. HierarchicalBox DelayAnalysis 的內容


此處會測量 LVAL 或 FVAL 啟動或停止訊號與觸發上升緣之間的延遲。使用者可以透過 GetStatus 運算子存取此數值。 同時也會測量兩個訊號之間的脈衝數差。如果使用者觀察到 ReadDifferenceCount 的值大於 1, 表示已發送觸發訊號但相機未回應。如果此值小於 1,表示相機發送的畫面或行數多於收到的觸發脈衝數。 除了分析觸發與 Camera Link 訊號外,「TriggerAndImageStatistics.va」也在 HierarchicalBox ImageAnalysis 中實作了影像資料串流的分析 (請參閱圖 290)。您可以於圖 295 中檢視其內容。

HierarchicalBox ImageAnalysis 的內容

圖 295. HierarchicalBox ImageAnalysis 的內容


算子 ImageAnalyzer 讓您能夠分析上一影格的影像屬性以及目前影格的中間值。 這些屬性包含影像尺寸、行長度偏差和行的時間間隔。此算子也提供您有關 算子輸入阻塞狀態的資訊。 算子 ImageStatistics 會分析完整的影像序列。系統會測量影像尺寸、行間隔等方面的偏差。 算子 StreamAnalyzer 提供您有關資料流和阻塞條件的資訊。在分析期間,影像資料不會被更動。