执行 MVApp (Hilscher)
使用 Hilscher card进行流程集成时,可通过单步或连续模式执行 MERLIC Vision App。可通过“StartSingleJob”命令触发单次执行。相应的命令代码为 1。可通过命令“StartContinuous”(使用命令代码 5)启动连续执行。必须在从 PLC 发送到 MERLIC 的协议(即 FromPLCProtocol)中定义这些命令。
前提条件
只有通过“PrepareRecipe”命令加载配方后,才能调用“StartSingleJob”和“StartContinuous”命令。如果触发了执行,则将以相应的参数值执行当前准备的配方中引用的 MVApp。因此,在发送执行命令之前,必须确保所需配方已准备就绪。
开始执行
必须相应地设置协议 FromPLCProtocol 的 CommandCode 成员,以启动 MVApp 的执行:
|
Member |
值 |
描述 |
|---|---|---|
|
CommandCode |
1 |
将 CommandCode 设置为 1 以触发命令“StartSingleJob”。MVApp 将执行一次。 |
|
CommandCode |
5 |
将 CommandCode 设置为 5 以触发命令“StartContinuous”。MVApp 将连续执行。 |
可根据如下示例定义从 PLC 发送到 MERLIC 的协议 FromPLCProtocol:
TYPE
FromPLCProtocol :
STRUCT
Preamble : 17;
CommandCode : 1;
Selector : <any>;
END_STRUCT
END_TYPE
“CommandCode”的值设置为 1。因此,如果 MERLIC 处于 “Ready” 状态,则 MERLIC 会识别命令 “StartSingleJob” 并开始执行 MVApp。
同步
下图展示了命令“StartSingleJob”的握手过程。PLC 通过将协议 FromPLCProtocol 中的“CommandCode”设置为 1 触发单次执行。当 MERLIC 识别该命令后,协议 FromMerlicProtocol 的 CommandCode 成员也将设置为 1,作为对 PLC 的确认,并且 MERLIC 开始在单次迭代中执行 MVApp。PLC 从 MERLIC 收到命令已被识别的确认后,FromPLCProtocol 中的 CommandCode 成员会设置为 0,以完成握手流程。完成 MVApp 的单次迭代后,MERLIC 检查 PLC 发来了哪个 CommandCode 并相应地进行处理。