获取 MVApp 结果(I/O 相机)

MERLIC 流程集成 MERLIC 用于集成在制造机器中的机器视觉系统。机器控制器(例如,可编程逻辑控制器 [PLC])必须能够控制集成视觉系统、监控执行情况和查询结果。因此,MERLIC 提供了一个流程集成模式以支持与机器控制器的通讯。 可使用应用程序“MERLIC RTE”在流程集成模式下启动,该应用程序随 MERLIC 安装一起提供。 模式使用数字 I/O 设备时,可以查询最新的 MVApp 迭代的结果。此结果通过在 MERLIC RTE Setup 的设备配置选项卡中为 MVApp 结果分配的相应输出通道进行传输。它们以名称“Result”表示,后跟 ID,例如“Result0”。为了清楚地确定为特定输出引脚返回的结果,我们建议检查为每个数字输出选择了哪个 MVApp 结果

限制

如果请求的 MVApp 结果包含元组 元组是一系列元素,例如数值和字符串。,则仅第一个元组元素的值会传输到设备。其他元组元素的值无法访问。因此,建议避免为流程集成定义可能获取元组值作为 MVApp 结果的工具结果。

当使用带数字 I/O 通道的相机设备时,仅可以传输数据类型为 BOOLMVApp 结果。其他数据类型的结果会被忽略。

此外,当状态机切换到“Stopped”状态时,所有先前设置的结果信号都将置零。这包括 MERLIC 关闭或进行 Frontend 写入访问时的情况。

检查 MVApp 结果的数字输出

  1. 如果不确定 I/O 设备的配置,请查询输出通道的当前配置:
    1. 打开 MERLIC RTE Setup 并转到“I/O”选项卡。
    2. 选择 I/O 设备并检查为信号(尤其是“Result”信号和“ResultState”信号)选择了哪些输出通道。

  2. 现在,您可以监控设备上的“ResultState”信号。如果该信号处于活动状态,则可以查看最近一次执行的结果。然后,您可以检查每个结果的信号。请记住,只有 Boolean 结果可以传输。例如,如果各引脚连接到 LED 或灯泡,您就可以轻松监控灯是否打开。

以下信号保留用于传输结果和结果状态。可用信号的数量取决于设备上可用引脚的数量。

Signal

描述

ResultState

此信号可用于检查查询结果数据的状态。

如果值为 1,表示处理已正确完成,且查询结果是最新的。

如果值为 0,表示处理失败或已中止。在这种情况下,可能没有可用的结果或现有的结果值可能不是最新的,例如,这些值可能已过时和来自于先前执行。

  • 0 (Undefined/Processing/Aborted/Failed):处理失败或已中止。
  • 1 (Completed):处理已正确完成。

Result0 ... Resultn

这些数字输出信号可用于将 MVApp 结果传输到设备。

使用带数字 I/O 通道的相机设备时,只能传输数据类型为 BOOL 的结果。有关 MVApp 结果的更多信息,请参阅 MVApp 结果

同步

结果是在 MVApp 执行期间生成的。因此,仅当 “Ready” 信号再次设置为 1 时,才应查询结果。这样可确保为上一次迭代正确生成查询结果。