PackML 准则定义以标准化方式显示包装机基本行为的标准化状态模型。
根据 PackML 准则,每台包装机可能支持多种操作模式。
每种操作模式最多可包括 17 种状态(已终止、正在终止、正在清除、完成、正在完成、执行、已保持、正在保持、闲置、正在复位、正在启动、已停止、正在停止、已挂起、正在挂起、正在取消保护和正在取消挂起)。
要从一种状态移到另一种状态,状态之间存在转换。每个转换由状态转换命令或者 SC(状态完成)条件触发。
PackML 库的实现主要采用 ANSI/ISA TR88.00.02-2015 标准中描述的装置控制模式。在任何情况下,当本文档提到操作模式时,均特指装置控制模式。
PackML 库中的状态模型基于具有 17 种状态的状态模型,如 ANSI/ISA TR88.00.02-2015 中的定义。详情请参见下文的示意图。状态模型必须包含这些状态或这些状态的子集。
定义状态模型的方式是指定操作模式存在哪些状态。状态之间的转换根据选定的状态自动隐性地进行创建。
ST_UnitModeDefinition 是代表操作模式状态模型的结构。
FC_InitStateModelExistingStates 对存在的状态进行初始化。
FC_InitStateModelChangeStates 对可以更改操作模式的状态进行初始化。
FB_ModeManager 验证状态模型的一致性,并验证是否可以更改操作模式以及在该操作模式下的目标状态。
FC_CheckCmd 验证状态转换命令是否有效,并返回产生的目标状态。
视图框架和 FB_VisController 用于显示状态模型,并为它提供调试接口。
您负责根据状态模型中明确规定的转换在状态模型中执行正确的流程,以及完成操作模式的更改。库中提供的 POU 可以帮助实现此逻辑(FB_ModeManager 和 FC_CheckCmd)。
您负责实现对状态和操作模式的跟踪,并负责实现对应于状态、转换和操作模式的机器行为。
下面示意图描述具有 17 种状态的操作模式的状态模型:
在状态模型中分为三种不同类型的状态:
状态类型 |
来自 ANSI/ISA TR88.00.02-2015 的描述 |
示例 |
---|---|---|
等待状态 |
用于指示机器的一组预定义条件已被激活的状态。在此状态下,在切换到正在执行状态之前,机器一直保持一种状态。 |
![]()
|
正在执行状态 |
指示某种处理活动的状态。它隐含以逻辑顺序对处理步骤进行单次执行或反复执行,这种执行持续某个限定的时间或者持续至达到特定条件时为止。 |
![]()
![]()
|
下面列表描述根据状态模型定义操作模式的界线:
o状态的最大数量:17
操作模式的状态可从状态模型中的预定义状态中选择。每种状态只能出现一次,其位置由状态模型指定。您不能添加额外的状态,也不能更改状态的顺序。
o状态模型是单向的。
o等待状态后的状态必须是正在执行状态。
o在每种状态下可执行逻辑。
注意: 使用 PackML 库创建操作模式还有更多的规则需要遵守。请参考 FB_ModeManager。