示例:OMAC PackML 状态机
产品: CODESYS Development System
该库包含一个基于 OMACPackML 标准的包装行业控制器状态机。
描述
PackML 代表包装机器语言,定义了包装行业自动化机器的通用方法或机器语言。 PackML的首要目标是标准化操作和实施行业创新。这 OMAC_PackML_State_Machine
包中包含的库包含 OMAC PackML 状态机的实现。示例项目展示了如何使用该库。有关 OMAC 和 PackML 的更多信息,请参阅: www.omac.org/
附加信息
PackML 状态机定义机器状态和相应的状态转换。一组机器状态称为“单元模式”。一个单元模式最多可以包含 17 个机器状态。下图显示了所有机器状态以及相应的状态转换。
![]() |
机器状态分为三种类型:
Acting States
(绿色):活动处理状态(示例:ABORTING
或者HOLDING
)Wait States
(橄榄绿):活动处理状态完成后到达的状态,正在等待事件。例子:ABORTED
或者HELD
。Dual States
(蓝色):机器状态Acting State
和Wait State
类型。 PackML 中仅定义了这种类型的一种状态:EXECUTE
。
状态转换由一个动作执行,例如 Start
或者 Stop
。
PackML 还允许定义自定义单位模式。例如,可以创建自定义单元模式以进行设置或维护。所包含的机器状态是最大机器状态的子集。
一次只能激活一种单位模式,但可以在单位模式之间切换。该任务由单元模式管理器处理。单元模式管理器检查当前机器状态是否允许离开以及目标状态是否允许进入。
![]() |
库:OMAC_PackML_State_Machine
这 OMAC_PackML_State_Machine
包中包含的库包含所有必需的组件,包括构建基于 PackML 的状态机的可视化。
这 UnitMode
功能块可用于定义您自己的单元模式以及相应的机器状态(dwSupportedStates
输入)。单位模式之间切换的权限由两者处理 dwAllowsLeavingFromStates
和 dwAllowsEnteringIntoStates
输入。可以通过调用中的方法来更改机器状态 Commands
文件夹 (Start
, Stop
, Abort
, ETC。)。
这 UnitModeManager
功能块可实现单元模式的切换。该功能块用于查询当前状态。
示例项目:PackML_Example
示例项目 PackML_Example
包括两个应用程序来说明该库的使用。
应用程序:PackMLUnitModeManager:
在里面 PackMLUnitModeManager
应用程序,三种单元模式(Production
, Semi Auto
, 和 Setup
)被定义并注册 UnitModeManager
功能块。可视化显示相应单元模式的当前状态,并允许执行命令和切换单元模式。
![]() |
应用程序:PackMLAxisControl:
在示例中,虚拟 SoftMotion 轴的状态通过 PackML 状态机显示和控制。单位模式被定义并且状态被分配在 AxisControl
功能块。
![]() |
系统要求和限制
编程系统 | CODESYS Development System (版本3.5.10.0或更高版本) |
运行时系统 | CODESYS Control Win (版本3.5.10.0) |
附加组件 | - |
注意
下载 项目
安装 OMAC PackML State Machine
软件包后,你会在 C:\Users\<user>\CODESYS Examples\OMAC PackML State Machine
目录中找到示例项目。