更改 MERLIC 配方 (Hilscher)

MERLIC RTE 还允许 PLC 加载不同的配方文件 MERLIC 配方文件是 MERLIC 流程集成的关键部分。它是个单独文件(文件后缀为 .mrcp),定义了为流程集成加载哪个 MERLIC Vision App。它包含了一组预定义的输入值用于选定的工具参数,因此它还定义了参数化 MVApp 的方式。 您可以使用单个输入值集为同一个 MVApp 创建多个配方文件。这让您可以通过不同的参数设置将 MVApp 重复用于各种应用场景。您还可以使用配方文件加载 MVApp用于完全不同的图像处理任务。以供进一步处理。配方更改可通过命令“PrepareRecipe”触发(即相应命令代码 4)。

如果未准备配方,Frontend 将显示相应的文本消息。

前提条件

仅当 MERLIC 处于“Initialized”或“Ready”状态时,才能调用“PrepareRecipe”命令。因此,在更改配方前,必须确保 MERLIC 处于这些状态之一。此外,必须在协议 FromPLCProtocol 的成员“Selector”中定义要加载的配方。

更改配方

在协议 FromPLCProtocol 中设置以下成员以加载配方。

Member

描述

CommandCode

4

为命令 “PrepareRecipe” 定义代码值 4。

Selector

ID

定义应加载的配方的 ID。ID 表示在 MERLIC RTE Setup 的“配方”中为配方分配的 ID,例如,要加载 ID 为 1 的配方,则必须将“Selector”的值设置为 1。如果不存在对应此 ID 的配方,则 MERLIC 将变更为 “Error” 状态。

可根据如下示例定义从 PLC 发送到 MERLIC 的协议 FromPLCProtocol

复制
TYPE
FromPLCProtocol :
STRUCT
    Preamble : 17;
    CommandCode : 4;
    Selector : 5;
END_STRUCT
END_TYPE

在以上示例中,成员 CommandCode 的值设置为 4。因此 MERLIC 识别命令 “PrepareRecipe”。应加载的配方文件在成员 Selector 中定义。在我们的示例中,应准备 ID 为 5 的配方并加载到 MERLIC

同步

下图通过对命令 “PrepareRecipe” 的示例展示了所述的handshaking过程。PLC 通过将协议 FromPLCProtocol 中的 CommandCode 设置为 4 来触发配方更改。在触发配方更改的命令之前,应确保设置要为成员 Selector 加载的配方的 ID。

MERLIC 识别该命令后,协议 FromMerlicProtocol 中的成员 CommandCode 也将设置为 4,作为 PLC 的确认,并且 MERLIC 开始使用指定的配方 ID 加载配方文件,同时也加载配方中引用的 MVApp。PLC 从 MERLIC 收到命令已被识别的确认后,FromPLCProtocol 中的成员 CommandCode 会设置为 0,以完成握手流程。配方加载后,MERLIC 检查 PLC 发来了哪个 CommandCode 并相应地进行处理。