多个进程

VisualApplets 项目可以包含多个进程。 进程是图表的最顶级,可以包含任意数量的运算符和 分层框。 每个进程都可以单独启动和停止。

使用两个进程的一个好例子是双相机应用。 请看下图。 它显示了两个进程,每个进程中包含一个相机、一个缓冲区和一个 DMA 运算符。

包含两个进程的 Applet

图 146. 包含两个进程的 Applet


使用该 applet 时,两个进程(即两个相机)可以分别独立启动和停止。 如果两个相机位于同一个进程中,则必须同时启动和停止它们,因为进程的所有 DMA 始终必须同时启动。

要详细了解如何在硬件上使用 VisualApplets applet,请参见“在硬件上运行 Applet”部分和/或 Framegrabber SDK documentation。

管理进程

要添加新进程,请点击 Design → New Process 或选择 Edit 工具栏中的图标。

创建新处理过程

图 147. 创建新进程


要删除进程,请先选择属于该进程的任意图表窗口,然后选择 Design → Remove Process 或选择 Edit 工具栏中的图标。

进程的索引始终从 0 开始,且必须按升序排列。 如果删除了某个进程,索引更高的进程将会前移以 Fill 空白。

无 DMA 进程 / 触发进程

如前所述,只有在启动相应进程的所有 DMA 之后,applet 进程才能在硬件上使用。 但是,如果某个进程不包含任何 DMA 通道,它将在初始化 applet 后立即启动。 这对于在图像采集启动之前使用的触发和信号处理应用非常有用。

要详细了解如何在硬件上初始化和使用 VisualApplets applet,请参阅 'Running Your Applet on Hardware' 节和/或 Framegrabber SDK documentation。

进程间通信

进程之间的图像数据无法互换。 但是,通过使用运算符 TxSignalLinks 和 RxSignalLinks, 可以建立用于信号的进程间通信。