CoaXPress over Fiber 擷取卡的資料轉發

imaFlex 2 Dual 100 平臺上的資料轉發

簡短描述

檔案: \Examples\Acquisition\DataForwarding\iF2D100\DFExample_Host.vad
\Examples\Acquisition\DataForwarding\iF2D100\DFExample_Client_MidPosition.vad
\範例\資料擷取\資料轉發\iF2D100\DFExample_Client_EndPosition.vad
\Examples\Acquisition\DataForwarding\iF2D100\hap\DFExample_Host.hap\DFExample_Host.hap
\Examples\Acquisition\DataForwarding\iF2D100\hap\DFExample_Client_MidPosition.hap
\範例\資料擷取\資料轉發\iF2D100\hap\DFExample_Client_EndPosition.hap
\範例\資料擷取\資料轉發\SDK

預設平台: iF2D100

簡短說明

本文介紹了在imaFlex 2 Dual 100 平台上 實現資料轉發的方法。

一個採用菊花鏈式幀擷取卡的典型資料轉發環境如下所示:

串聯式幀擷取卡(資料轉發)

圖 233. 串聯連接的幀擷取卡(資料轉發)


左側的第一個裝置擔任以下連線 客戶端(從機)的主機(主機)。 主機裝置接收到的資料(例如來自攝影機的資料)會轉發 至各客戶端。視使用情境而定,客戶端會轉發完整的原始 串流資料,或僅轉發其中一部分。此運作模式會依序從一個裝置傳遞至下一個裝置,直至 菊鏈的末端為止。

BaslerimaFlex 2 Dual 100 的資料轉發功能不僅能 轉發影像資料,還能轉發元資料,例如用於遠端控制 客戶端裝置。以下章節將介紹一個基本範例,用以展示這兩項 功能。

用法

這些範例小程式是配合對應的資料轉發 SDK 範例 應用程式使用的 DFMaster 進行明確的生命週期管理即呼叫 DFSlave. 因此, 無需手動載入小程式(例如透過microDisplay X )。SDK 範例應用程式會自動載入小程式,而所有使用者互動皆 完全透過主應用程式進行。

有關如何使用幀擷取卡 SDK 腳本的資訊,請參閱位於 以下路徑的對應腳本文件: examples\Acquisition\DataForwarding\SDK 位於VisualApplets 安裝目錄中。

資料轉發範例 Applets

這些範例小程式在展示資料轉發時,著重於以下兩個方面:

  1. 將影像資料從主機傳輸至其後續的客戶端。

  2. 遠端控制及監控客戶端。

資料轉發 VisualApplets Applets

影像資料的傳輸過程簡單明瞭,且易於實作。每個範例小程式 皆透過其影像路徑來展示這一點。

遠端控制與監控需要投入更多心力,因為您無法透過 VisualAopplet 連結所提供的資料(例如傳入的 控制指令)來動態 變更小程式的參數。您可以透過使用VisualApplets 事件 系統來克服此限制。遠端控制元資料路徑即示範了此方法。

雖然該小程式設計中將這兩條路徑分開顯示,但這兩條路徑皆共用同一組 光纖資源,以支援單一裝置對。影像資料是透過編號為零至三的全部四條光纖 通道進行傳輸,而遠端控制資料/元資料則使用 同一光纖模組的第零通道。

換言之,光纖模組的 2×4 通道以 雙向方式連接兩台裝置,同時傳輸影像與元資料。對應的資料轉發 運算子DFTxImage、DFTxMeta、 DFRxImage 及DFRxMeta會於 內部處理此項作業。

下表彙整了在 此範例中實作的資料轉發連線。

光纖埠 主持人 中型客戶 終端客戶
port0 保留(例如相機) 上一頁 上一頁
port1 下一頁 下一頁 —

表 17. 資料轉發連線(光纖埠)


有關範例設計檔案處理結構的詳細說明, 請參閱相應的註解方塊中 *.vad 設計。

VisualApplets 事件系統與資料轉發遠端控制

使用VisualApplets 事件系統進行遠端控制的原理在於, Framegrabber SDK API 提供了用於存取操作員及小程式參數的例程。透過 VisualApplets 事件系統,可將包含有效載荷資料的事件從 小程式傳送至主機電腦,而事件監控 SDK 應用程式則能根據該有效載荷做出反應。

有鑑於此,遙控器的訊號流如下:

  • 主程式小程式向客戶端傳送一則指令。

  • 在客戶端小程式中,每條接收到的控制指令都會觸發一個事件(附帶 有效載荷)。

  • 該事件由幀擷取卡的作業系統驅動程式擷取。

  • 事件監控 SDK 應用程式會根據對 事件載荷的解析結果,執行 SDK 例程。

使用者定義的遠端控制通訊協定

此資料轉發範例採用使用者自訂通訊協定。在此範疇中, 指令交易稱為 訊息。一個 訊息的結構如下所示:

Bit Index 描述 大小(位元)
[55] 唯讀標記 1
[54:48] 客戶端(從屬)裝置位址 7
[47:32] 可由軟體存取的寄存器位址 16
[31:0] 可透過軟體存取的寄存器資料 32

表 18. 訊息位元佈局


一則訊息總共為 56 位元,這相當於 DFTxMeta和DFRxMeta 運算子的單一資料字大小。

A 訊息觸發器 會觸發一則訊息。SDK 主應用程式 會同時設定訊息內容與觸發條件。

一般而言,傳輸於VisualApplets 連線上的資料可透過不同 方式進行處理。就資料轉發範例而言,以下兩種處理方法 與此相關:

  1. 該系統直接使用命令資料位元。例如,它會將一個 專用位元轉換為一個 VALT_SIGNAL 並將其轉送至 GPO 銀行。

  2. 系統會觸發一個 `VisualApplets ` 事件,並可能包含 從遠端指令中擷取的有效載荷資料。

第一種處理方法代表一個 硬體指令。該 系統將訊息位元用作訊號來源,以觸發專屬動作。第二種 處理方式則代表一項 軟體指令,因為驅動程式 軟體會處理傳送至主機電腦的事件。資料轉發範例同時實作這兩種 命令類型,並著重於軟體命令。