| 簡要說明 | |
|---|---|
|
檔案:
\Examples\Acquisition\DataForwarding\iF2D100\DFExample_Host.vad
|
![]() |
|
預設平台: iF2D100 |
|
|
短說明 本文介紹了 imaFlex 2 Dual 100 平台上的資料轉送實作。 |
|
採用菊花鏈連接擷取卡的典型資料轉送環境如下所示:
左側的第一個裝置作為後續連接用戶端(從屬裝置)的主機(主裝置)。主機裝置接收到的資料(例如來自相機的資料)會轉送給用戶端。根據具體使用情境,用戶端會轉送完整的原始串流資料或僅轉送其中一部分。這種行為會在裝置之間持續進行,直至菊花鏈的末端。
Basler imaFlex 2 Dual 100 的資料轉送功能不僅允許轉送影像資料,還允許轉送元資料,例如用於遠端控制用戶端裝置。以下章節將透過一個基本範例來示範這兩個方面。
範例 Applet 旨在與對應的資料轉送 SDK 範例應用程式搭配使用 DFMaster 和 DFSlave。因此,無需手動載入 Applet(例如透過 microDisplay X)。SDK 範例應用程式會自動載入 Applet,且所有使用者互動均完全透過主機(主裝置)應用程式進行。
如需有關使用擷取卡 SDK 用戶端指令碼的資訊,請參閱位於以下位置的對應指令碼說明文件:
examples\Acquisition\DataForwarding\SDK 位於 VisualApplets 安裝目錄中。
影像資料傳輸非常直接且易於實作。每個範例 Applet 都在其影像路徑中展示了這一點。
遠端控制和監控需要更多的處理,因為您無法使用來自 VisualApplets 連結(例如傳入的控制命令)的資料來動態變更 Applet 參數。您可以使用 VisualApplets 事件系統來解決此限制。遠端控制元資料路徑示範了這種方法。
儘管 Applet 設計將這兩個路徑分開顯示,但對於單一裝置對而言,這兩個路徑共用相同的光纖資源。影像資料透過編號 0 到 3 的全部四條光纖通道進行傳輸,而遠端控制資料/元資料則使用同一光纖模組的通道 0。
換句話說,光纖模組的 2×4 通道以雙向方式連接兩個裝置,用於傳輸影像和元資料。對應的資料轉送運算子 DFTxImage、DFTxMeta、DFRxImage 和 DFRxMeta 會在內部管理這項作業。
下表總結了範例中實作的資料轉送連接。
如需關於範例設計檔案處理結構的詳細文件,
請參閱對應項目中的註解方塊 *.vad 設計。
使用 VisualApplets 事件系統進行遠端控制的概念在於, Framegrabber SDK API 提供了用於存取運算子和 applet 參數的常式。透過 VisualApplets 事件系統,可以將包含酬載資料的事件從 applet 傳送至主機 PC,而事件監控 SDK 應用程式可以對此酬載做出反應。
基於此概念,遠端控制訊號流程如下:
-
主機 applet 會向用戶端傳送命令。
-
在用戶端 applet 中,每個接收到的控制命令都會觸發一個事件(包含 酬載)。
-
該事件會被擷取器作業系統驅動程式擷取。
-
事件監控 SDK 應用程式會根據 對事件酬載的解讀來執行 SDK 常式。
資料轉發範例使用使用者自訂的通訊協定。在此範圍內, 命令交易稱為 message。訊息的結構 如下所示:
| 位元索引 | 描述 | 大小 (位元) |
|---|---|---|
| [55] | 讀寫旗標 | 1 |
| [54:48] | 用戶端(從屬)裝置位址 | 7 |
| [47:32] | 軟體可存取的暫存器位址 | 16 |
| [31:0] | 軟體可存取的暫存器資料 | 32 |
表 18. 訊息位元配置
訊息總計 56 位元,這對應於 DFTxMeta 和 DFRxMeta 運算子的一個資料字大小。
message trigger 會啟動訊息。SDK 主機應用程式 會設定訊息內容與觸發條件。
一般而言,在 VisualApplets 連結上傳輸的資料可以透過不同的方式進行處理。針對資料轉發範例,以下兩種處理方式非常相關:
-
系統直接使用命令資料位元。例如,它將專用位元轉換為
VALT_SIGNAL並將其路由至 GPO 庫。 -
系統會觸發 VisualApplets 事件,並且可以包含從遠端命令中提取的酬載資料。
第一種處理方式代表 hardware command。系統使用訊息位元作為訊號來源來觸發專用動作。第二種處理方式代表 software command,因為驅動程式軟體會處理傳送至主機 PC 的事件。資料轉發範例實作了這兩種命令類型,並以 software command 為重點。



上一頁

