| 簡短描述 | |
|---|---|
|
檔案:
\Examples\Acquisition\DataForwarding\iF2D100\DFExample_Host.vad
|
![]() |
|
預設平台: iF2D100 |
|
|
簡短說明 本文介紹了在imaFlex 2 Dual 100 平台上 實現資料轉發的方法。 |
|
一個採用菊花鏈式幀擷取卡的典型資料轉發環境如下所示:
左側的第一個裝置擔任以下連線 客戶端(從機)的主機(主機)。 主機裝置接收到的資料(例如來自攝影機的資料)會轉發 至各客戶端。視使用情境而定,客戶端會轉發完整的原始 串流資料,或僅轉發其中一部分。此運作模式會依序從一個裝置傳遞至下一個裝置,直至 菊鏈的末端為止。
BaslerimaFlex 2 Dual 100 的資料轉發功能不僅能 轉發影像資料,還能轉發元資料,例如用於遠端控制 客戶端裝置。以下章節將介紹一個基本範例,用以展示這兩項 功能。
這些範例小程式是配合對應的資料轉發 SDK 範例
應用程式使用的 DFMaster 進行明確的生命週期管理即呼叫 DFSlave. 因此,
無需手動載入小程式(例如透過microDisplay X )。SDK
範例應用程式會自動載入小程式,而所有使用者互動皆
完全透過主應用程式進行。
有關如何使用幀擷取卡 SDK 腳本的資訊,請參閱位於
以下路徑的對應腳本文件:
examples\Acquisition\DataForwarding\SDK 位於VisualApplets
安裝目錄中。
影像資料的傳輸過程簡單明瞭,且易於實作。每個範例小程式 皆透過其影像路徑來展示這一點。
遠端控制與監控需要投入更多心力,因為您無法透過 VisualAopplet 連結所提供的資料(例如傳入的 控制指令)來動態 變更小程式的參數。您可以透過使用VisualApplets 事件 系統來克服此限制。遠端控制元資料路徑即示範了此方法。
雖然該小程式設計中將這兩條路徑分開顯示,但這兩條路徑皆共用同一組 光纖資源,以支援單一裝置對。影像資料是透過編號為零至三的全部四條光纖 通道進行傳輸,而遠端控制資料/元資料則使用 同一光纖模組的第零通道。
換言之,光纖模組的 2×4 通道以 雙向方式連接兩台裝置,同時傳輸影像與元資料。對應的資料轉發 運算子DFTxImage、DFTxMeta、 DFRxImage 及DFRxMeta會於 內部處理此項作業。
下表彙整了在 此範例中實作的資料轉發連線。
有關範例設計檔案處理結構的詳細說明,
請參閱相應的註解方塊中 *.vad 設計。
使用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 連線上的資料可透過不同 方式進行處理。就資料轉發範例而言,以下兩種處理方法 與此相關:
-
該系統直接使用命令資料位元。例如,它會將一個 專用位元轉換為一個
VALT_SIGNAL並將其轉送至 GPO 銀行。 -
系統會觸發一個 `VisualApplets ` 事件,並可能包含 從遠端指令中擷取的有效載荷資料。
第一種處理方法代表一個 硬體指令。該 系統將訊息位元用作訊號來源,以觸發專屬動作。第二種 處理方式則代表一項 軟體指令,因為驅動程式 軟體會處理傳送至主機電腦的事件。資料轉發範例同時實作這兩種 命令類型,並著重於軟體命令。



上一頁

