PackML 乃是由 OMAC 开发且被 ISA 所采用的自动化标准 TR88.00.02,能够更为便捷地传输与检索一致的机器数据。PackML 的主要宗旨在于于整个工厂车间倡导通用的“外观和感觉”,并对行业创新予以支持和激励。其核心涵盖状态、模式与标签,使设备操作得以简化,故障排除更为轻松,开发时间亦大幅缩短。
PackML 的三要素(状态、模式、标签):一台制造设备具备多样的模式(modes)(诸如生产、维护、手动、自定义模式等等)和状态(states)(复位中、暂停中、保持中、中止等等)。此外,PackML 还定义了标签(pack Tag),此乃一种标准化的变量结构,用于设备之间的交互以及设备与高层 HMI、MES 和企业系统的交互。
西门子亦开发了相应的 LPML 库,当下所使用的版本为 V3.0.2。
一、硬件及软件需求
- 硬件组件:CPU 1513 - 1 PN V2.0 抑或 CPU 1215C V4.2;
- 软件组件:博图 V16 、NetToPLCsim 、EasyBuilder Pro 6.09.01s;
二、Unit modes (模式)
编号 | 模式 | 相关描述 |
0 | Invalid | 无效模式 |
1 | Production Mode 生产模式 | 该模式用于日常生产。机器依照命 |
2 | Maintenance Mode 维护模式 | 该种模式允许适当的授权人员来运 |
3 | Manual Mode 手动模式 | 该种模式提供了对机器某模块的直 |
4-31 | User Mode 01-user Mode 28 用户模式 01——用户模式 28 | 用户定义模式根据机器及其应用的 |
模式转换(Unit mode transitions)
只允许在等待(Wait) 状态下更改模式(状态类型:等待(Wait) ,例如停止(Stopped) 、空位(Idle) 、 暂停(Suspended) 、中止(Aborted) 、保持(Held) 和完成(Complete) )。 只有在请求的单元模式中也存在等待状态时, 才有可能更改单元模式。
三、状态(States)
编号 | 状态 | 描述 |
0 | Invalid | 非合理模式 |
1 | 清除中(Clearing) | 状态类型: 执行(Acting)由一个状态命令发出,来清除在中 |
2 | 已停止(Stopped) | 状态类型:等待(Wait)在停止状态完成后,机器通电但静 |
3 | 正在启动(Starting) | 状态类型: 执行(Acting)这台机器完成了启动所需的步骤。 |
4 | 空位(Idle) | 状态类型:等待(Wait)该状态表明复位(Resetting)已完 |
5 | 已暂停的(Suspended) | 状态类型:等待(Wait)请参考(Suspending)状态。 |
6 | 执行(Execute) | 状态类型: 执行(Acting)一旦机器开始处理材料,其就处于 |
7 | 正在停止(Stopping) | 状态类型: 执行(Acting)该状态是响应一个停止命令而进行 输入的。当处于这种状态时,机器执行逻辑,使其进入一个受控停止的状态,由停止(Stopped)状态可反映出状态。除非进行了重置(Reset),否则机器无法正常启动。 |
8 | 正在中止(Aborting) | 状态类型: 执行(Acting)中止(Aborting)状态可在任何时间 响应中止命令(Abort command),或机器发生故障时进行输入。其中止逻辑将使机器快速安全停止。 |
9 | 已中止(Aborted) | 状态类型:等待(Wait)机器保持与中止状态相关的状态信 息。机器只有在执行一个明确的清除(Clean)命令后才能退出中止(Aborted)状态,然后进行人工干预来纠正和重置检测到的机器故障。 |
10 | 保持中(Holding) | 状态类型: 执行(Acting)当机器内部(在这台机器内部,而不 是来自生产线上的另一台机器)的工艺条件不允许机器继续生产时, 该状态被使用,即机器因内部条件而执行。 这通常用于需要操作员维护才能继续生产的常规机器。 |
11 | 已保持(Held) | 状态类型:等待(Wait)请参考 Holding 状态;在这种状态下,机器不能生产产品。它要么停止运行,要么继续无生产的循环。当内部机器条件发生变化或操作员启动释放(Unhold)命令时,机器将切换到 Unhold 状态。 |
12 | 解除保持状态(Unholding) | 状态类型: 执行(Acting)请参考 Holding 状态;当机器内部条件(例如,材料等)恢复到一个可接受的水平,机器将自动进入解除保持(Unholding)状态。如果操作员需要执行少量维护 以补充材料或进行调整, 那么解除保持(Unhold)命令将被操作员启动。 |
13 | 正在暂停(Suspending) | 状态类型: 执行(Acting)当外部(在本机之外,但通常在同一 集成生产线上)工艺条件不允许机器继续生产时,即由于生产线上的上游或下游条件,机器不再执行, 该状态被使用。 这通常是由于堵塞或短缺造成的。 该情况可由本地机器传感器或基于监视系统外部命令被检测到 |
14 | 释放暂停(Unsuspending) | 状态类型: 执行(Acting)请参考正在暂停(Suspending)状 态;该状态是工艺条件恢复正常的结果。 释放暂停(Unsuspending)状态初始化所有将机器从暂停(Suspended)恢复到执行 (Execute)状态转换的所需动作或序列。 |
15 | 正在复位(Resetting) | 状态类型: 执行(Acting)此状态是由已停止(Stopped)状态 或已完成(complete)状态的重置复位命令导致的。故障和停止可导致复位。复位通常会使安全装置通电,并将机器置于空位(Idle)状态,等待启动(Start)命令。在这种状态下不应该发生危险的动作。 |
16 | 完成中(Completing) | 状态类型: 执行(Acting)此状态是执行(Execute)状态的自 动响应。正常操作已运行完成,即进料处的物料处理将停止。 |
17 | 完成(Complete) | 状态类型:等待(Wait)机器已经完成了完成中(Completing)状态, 现在正在等待复位(Reset)命令,然后再过渡到复位(Resetting)状态。 |
状态转换(State transitions)
使用启动(Start)命令将机器空位(Idle)状态更改为启动(staring)状态。表格中
越靠右的命令,其更改状态的优先级更高。
附加信息:如果机器模式不包括完成中/完成(Completing/Complete)状态,那么
可使用复位(Reset)命令完成从执行(Execute)到复位(Resetting)的转换。
四、控制命令(Control commands)
编号 | 控制命令 |
0 | 未定义(Undefined) |
1 | 复位Reset |
2 | 启动/开始(Start) |
3 | 停止Stop |
4 | 保持Hold |
5 | 解除保持(Unhold) |
6 | 暂停(Suspend) |
7 | 释放暂停(Unsuspend) |
8 | 中止Abort |
9 | 清除Clear |
10 | 完成Complete |
五、LPML 库之介绍
5.1 库资源
LPML_V30 库在主内存中的强制块 (UnitModeStateManager) 的总大小为 11.8
Kbytes, 在装载内存中是 113.5 Kbytes 。
5.2模块说明
5.2.1
LPMLV30_UnitModeStateManager (FB 30100)单元模式状态管理功能块
功能块
LPMLV30_UnitModeStateManager 是 LPML_V30 模块库中的主要部分,其
依据 OMAC 标准管理机器模式与状态的转换。
根据引脚参数enableBooleanInterface引脚状态,决定功能块实现方法。
项 | 值 | 实现方式 |
1 | FALSE | 1)通过UnitMode值(0-31)UnitModeChangeRequest(0->1)实现UnitMode的切换(前提:机器当前状态为Wait状态) 2)通过CntlCmd值(0-11)CmdChangeRequest(0->1)实现UnitMode的切换 |
2 | TRUE· | 1)通过对应引脚ProductionModeRequest、MaintenanceModeRequest、ManualModeRequest、UserModeRequest01触发实现UnitMode的切换 2)通过ResetCmdRequest、StartCmdRequest、StopCmdRequest、HoldCmdRequest、UnholdCmdRequest、SuspendCmdRequest、UnsuspendCmdRequest、AboortCmdRequest、ClearCmdRequest、CompleteCmdRequest触发实现机器状态切换 |
5.2.2 FB LPMLV30_UnitModeStateTimes (FB 30101)
LPMLV30_UnitModeStateTimes 功能块是可选择的,其以秒为单位计算每个模式下
的每种状态的时间。
5.2.3 FC
LPMLV30_ConfigureDisabledUnitModes (FC 30100) 禁用模式
该功能允许用户轻松地为
LPMLV30_UnitModeStateManager 功能块设置模式配置
。当然,也可以直接在
LPMLV30_UnitModeStateManager 功能块中设置配置。
使用该功能块时,用户必须将不同模式下相应的输入设置为“TRUE”。例如,“MaintenanceModeDisable := TRUE”,用于禁用维护模式。
如果将模式配置从功能块的输出写到相应的模式与状态管理器“UnitMode and State Manager”中,其 disabledUnitModes 输出必须连接到相应的
LPMLV30_UnitModeStateManager 功能块 FB 的输入 configuration 中。
5.2.4 FC
LPMLV30_ConfigureDisabledStates (FC 30101)禁用状态
该功能块允许用户轻松地在
LPMLV30_UnitModeStateManager 功能块中设置每个
模式的状态配置。当然,也可以直接在
LPMLV30_UnitModeStateManager 功能块中设置状态配置。
使用该功能块时,用户必须将不同状态下相应的输入设置为“TRUE”。例如,“HeldDisable:= TRUE”,用于禁用保持状态。
5.2.5 FC LPMLV30_GetUnitModeStateNamesAsString (FC 30102)
该功能块是可选择性使用的,其提供了字符串的形式下的模式和状态名称。 默认名可以在
typeLPMLV30_NamesConfiguration 的 PLC data type 数据类型中进行编
辑。
5.2.6 LPMLV30_Constants 常数
(1)模式常量
(2)状态常量
(3)控制命令常量
(4)语言常量
(5)数组边界常量
6.测试结果
6.1测试界面
6.2使用enableBooleanInterface 为FALSE;
6.3 使用enableBooleanInterface 为TRUE;
参考:西门子官网 “基于 S7 - 1200 / S7 - 1500 的 OMAC PackML V3.0” ,链接为:
https://support.industry.siemens.com/cs/ww/zh/view/49970441