标准 · PackML
PackML — 不同机器的状态一致
来自 ISA-TR88.00.02 的状态模型和交换标签。操作员和相邻单元在不同厂商的机器上看到相同的“运行”“暂停”“故障”。
是什么
状态模型与标签字典
PackML 描述机器不是按其结构,而是按其行为:处于什么状态、能接受什么命令、向相邻设备报告什么。该模型源于包装行业,固化在技术报告 ISA-TR88.00.02 中,以 ISA-88 为基础。
道理很简单:操作员、相邻机器和上层系统看到不同制造商机器的“运行”“暂停”“故障”都是一样的。集成归结为交换标准标签,而不是分析别人的逻辑。
- 状态机任何机器都有相同的状态和转换:等待、运行、暂停、完成、停止、故障。
- 模式生产、维护、手动——每种模式都有各自允许的转换。
- 交换标签Command——命令机器做什么,Status——机器当前状态,Admin——计数与故障。
- 与相邻单元握手上下游单元通过远程接口协调。
状态
等待状态和动作状态
状态分为两类。等待状态一直保持,直到命令到来。动作状态(以“-ing”结尾)执行转换,完成后自行结束。
| 组 | 状态 | 发生什么 |
|---|---|---|
| 主循环 | Idle → Starting → Execute → Completing → Complete → Resetting | 等待、启动、运行、完成批次、回到等待 |
| 因机器原因暂停 | Holding → Held → Unholding | 内部原因:例如机器内物料用完 |
| 因物流原因暂停 | Suspending → Suspended → Unsuspending | 外部原因:输入没有工件或输出被占用 |
| 停止 | Stopping → Stopped | 按命令受控停止 |
| 故障 | Aborting → Aborted → Clearing | 从任何状态紧急停止并清除原因 |
模型命令:Reset、Start、Stop、Hold、Unhold、Suspend、Unsuspend、Abort、Clear。命令使机器从等待状态进入动作状态;之后转换自行进行。
我们如何使用
每个产线单元的接口
| PackML 元素 | 在我们这里 |
|---|---|
| 状态机 | 每种单元都有;没有接口的单元不能加入产线项目——以文字拒绝 |
| Complete | 单元 SFC 程序的最终步 |
| Aborted | 轴故障——跟随误差;输出已接通但未确认—— 准备中 |
| Manual 模式 | 驱动器和轴的调试;从该模式“停止”会使机床停机 |
| Stop 与 Abort | 所有窗口中同一条“停止”命令 |
| Command / Status | 项目标签:“写入方 Status → 读取方 Command”连接,每条连接一个写入方 |
| 远程接口 | 相邻单元握手;单元只知道自己的标签,谁与谁连接由项目决定 |
| 带参数的阶段 | 机床也是单元:“上料、程序、下料”阶段;阶段参数可从外部读取和修改 |
带周期的信号
每个信号只描述一次:名称、类型、写入方、读取方、类型和周期。信号超时,单元逻辑会自行进入安全状态。
工件——走单独的连接
物料连接传递工件,信息连接传递信号。信息连接不会凭空产生工件。
安全不是标签
急停、门和光幕是独立的硬件回路;单元逻辑只读取它。
单元如何加入产线
种类声明接口,项目负责连接
- 种类声明接口状态机、Command 和 Status 标签、远程接口、物料端口、阶段、Admin。
- 实例获得接口您的单元继承种类的接口;没有接口不能加入项目。
- 项目负责连接“图”上的连线:一个单元的 Status 接到另一个单元的 Command,每条连接一个写入方。
- 流程负责指挥单元格流程的一步是向单元发出阶段命令并按标签等待其完成。
- 产线启动与停止一个按钮按实际状态切换;单元故障在产线中显示为 Aborted。
状态
哪些可用、哪些进行中
- 运行单元的 Complete 和 Aborted 状态、所有窗口中同一条“停止”命令、项目“图”上的标签连接。
- 进行中完整的 PackML 单元接口:每种设备的所有状态、模式和远程接口。
- 实施内容在您的产线上与不同制造商单元配合运行接口。
问题
关于 PackML 的问题
如果产线不是包装线,还需要 PackML 吗?
状态模型适用于任何机器。在 SyncTwin 中,每种单元都有接口,包括机床:其阶段为上料、程序、下料。
如果供应商的机器不支持 PackML 怎么办?
没有接口的单元不能加入项目——平台以文字拒绝。为此类单元开发接口属于研究内容,并写入实施技术任务书。
在哪里可以看到单元状态?
在 PLC 实验室的底部“单元”面板、单元驾驶舱和设备旁面板中;从任何窗口发出的“停止”都是同一条命令。