多重程序

VisualApplets 專案可能包含多個流程。 流程是圖的最高層級,可包含任意數量的運算元和 層級方塊。 每個流程均可個別啟動或停止。

一個使用兩個程序的典型例子,就是雙鏡頭應用程式。 請參閱下圖。 圖中顯示了兩個程序,每個程序中各包含一個鏡頭、一個緩衝區以及一個 DMA 操作員。

具有兩個程序的小程式

圖 146. 包含兩個進程的小程式


使用該小程式時,兩個進程(即兩台相機)均可分別啟動與停止。 若兩台相機位於同一個進程中,則必須同時啟動與停止,因為一個進程中的所有 DMA 都必須同時啟動。

若要深入了解如何在硬體上使用 VisualApplets applet,請參閱「在硬體上執行您的 Applet」一節,以及/或 Framegrabber SDK documentation。

管理程序

若要新增一個程序,請按一下 「設計」 → 新增流程 ,或點選「編輯」工具列中的圖示。

建立新處理程序

圖 147. 建立新程序


若要移除一個程序,請先選取該程序所屬的任何圖表視窗,然後選取 設計 → 移除流程 ,或點選「編輯」工具列中的圖示。

程序的編號總是從 0 開始,且必須按升序排列。 若移除某個程序,編號較高的程序會向後推移以填補空缺。

不含 DMA 的處理程序 / 觸發處理程序

如前所述,只有在該小程式的所有 DMA 作業皆已啟動後,該小程式才能在硬體上執行。 然而,若某個小程式不包含任何 DMA 通道,則會在小程式初始化完成後立即啟動。 此特性對於觸發器與訊號處理應用相當實用,因為這些應用會在影像擷取開始之前便已投入運作。

若要進一步了解VisualApplets 小程式的初始化與在硬體上的使用方式,請參閱「在硬體上執行您的程式」一節,以及/或Framegrabber SDK 的文件。

程序間通訊

進程之間的影像資料無法相互交換。 不過,若使用運算子 TxSignalLinks 及 RxSignalLinks, 即可建立用於訊號的進程間通訊。