一、、Piper框架的宗旨
在传统自动化系统中,设备之间的协作通常依赖"硬联锁"与"定制逻辑"完成:
-
每台设备(Machine)由 PLC 控制;
-
上层的生产单元或工艺过程靠 I/O 信号、状态寄存器彼此协调;
-
状态变化、启动顺序、异常恢复往往被固化在控制程序中。
这种方式虽然稳定,却难以扩展与复用 :
当生产线要重新配置、设备更新或柔性制造时,
我们往往不得不重写控制逻辑、重新调试通信、重新定义接口。
Piper 的出现,正是为了打破这种僵化结构,
让"设备协同"也能像"微服务编排"那样灵活而标准化。
二、Piper 是什么
Piper 是由 CESMII(美国智能制造创新研究院) 推出的开放式框架,
其核心目标是:
"以 PackML 状态语义为基础,实现边缘层(Edge)的分布式工业协同与流程编排。"
换句话说,Piper 是一种:
-
语义驱动(Semantic-driven) 的协同模型;
-
事件流导向(Event-driven) 的编排机制;
-
分布式运行(Distributed Coordination) 的系统框架。
它并不是一个控制器或一套具体产品,而是一个架构理念 + 软件参考实现 ,
用于指导设备层系统如何:
-
用标准语义表示自身状态;
-
通过标准化消息进行协作;
-
以声明式的流程定义完成多机协同。
三、从 PackML 到 Piper:语义的延伸
PackML(Packaging Machine Language) 是由 OMAC 定义的设备状态标准,
广泛应用于包装、灌装、装配等行业。
它定义了一台机器的基本状态(如 Idle, Starting, Running, Complete, Aborting, Stopped ),
以及状态转换逻辑与通用数据标签。
然而,PackML 只关注单机层面的状态一致性 ,
当多台设备要协同执行一个生产过程时,
我们还缺少一个能够:
-
调度这些 PackML 状态机;
-
定义设备间依赖关系;
-
统一汇聚执行数据的框架。
Piper 就是这个"PackML 之上的协同层"。
它让"多个 PackML 设备"组成一个"可编排的系统网络"。
四、Piper 的核心思想
1️⃣ 分布式节点模型(Distributed Node Model)
-
每个设备(或功能单元)是一个 Piper Node;
-
每个 Node 运行自己的状态机(PackML);
-
Node 之间通过事件或消息协作,而非 I/O 硬联锁;
-
系统中不存在"中心控制器",而是分布式协同网络。
2️⃣ 语义一致的状态流(Semantic State Flow)
-
所有状态、命令、事件都以 PackML 的语义传递;
-
因此系统层能够理解"Running"、"Complete"等工业意义;
-
这让 Piper 能够自动感知流程进度与异常。
3️⃣ 声明式编排(Declarative Orchestration)
-
协同逻辑不是写死在 PLC 程序中;
-
而是通过 Piper Flow(JSON/YAML 描述) 定义:
flow: - when: Mixer.Complete do: Filler.Start - when: Filler.Complete do: Packer.Start
-
这种方式类似于 DevOps 的 Pipeline 或 Workflow,
使 OT 世界具备了"软编排(Soft Orchestration)"能力。
五、Piper 与现有 OT 架构的关系
层级 | 职责 | 典型标准 / 框架 | Piper 的位置 |
---|---|---|---|
L1 控制层 | 设备控制、执行逻辑 | IEC 61131 / IEC 61499 | Piper 节点的底层实现 |
L2 协同层 | 设备协同与状态流编排 | PackML / OMAC | Piper 主战场 |
L3 管理层 | 工艺调度、批处理、追溯 | ISA-95 / S88 | Piper 向上提供接口 |
L4 业务层 | 计划、ERP、MES | ISA-95 | Piper 可桥接 UNS/MES |
Piper 处于 L1 与 L3 之间,
是工业架构中最接近物理设备的"分布式中层" 。
它使得上层系统(如 Batch/MES)可以通过语义化接口
控制、监视和重构底层设备流程。
六、与 IEC 61499、PackML 的比较
维度 | Piper | PackML | IEC 61499 |
---|---|---|---|
关注点 | 系统级协同 | 单机状态一致性 | 功能模块化控制 |
建模单位 | Node / Flow | Machine | Function Block |
通信模式 | 事件驱动(Event Flow) | 状态机 | 事件与数据流 |
目标层级 | L2 / Edge | L1.5 | L1 |
核心价值 | 分布式语义协同 | 状态标准化 | 控制逻辑可重构 |
可以看出:
-
Piper 衔接了 PackML 与 IEC 61499 的边界;
-
它将"状态标准"变成"系统编排标准";
-
形成了 OT 世界的"服务化协同层"。
七、典型应用场景
-
多机协作生产线
-
灌装 → 封盖 → 打码 → 包装
-
各单机由 PackML 控制,Piper 协同启动/停止/异常联动。
-
-
柔性装配单元
-
通过修改 Piper Flow 文件即可重定义产线顺序;
-
不再需要修改 PLC 程序。
-
-
边缘数据一致化
-
Piper Flow 可汇聚各节点运行数据;
-
向 UNS / MES 上报标准化状态。
-
-
批处理或S88集成
-
Piper 作为 Recipe Engine 的底层执行层;
-
Recipe 调用 Phase → Phase 调用 Piper Node → 执行 Step。
-
八、Piper 的意义
从宏观上看,Piper 的出现代表了 OT 世界的一次范式转变:
从"控制逻辑耦合" → "语义事件编排"
从"硬联锁协作" → "软编排协作"
从"设备孤岛" → "分布式系统"
这意味着 OT 层开始具备:
-
动态重构能力(无需重新编程即可改变流程)
-
标准化语义通信(基于 PackML 状态流)
-
面向对象的协同结构(Node + Flow + Event)
-
边缘自治与上云协同共存的可能性
九、结语:迈向"软件化的机边"
在智能制造的未来,
生产线的柔性不再仅仅依赖机械结构的可换性,
而是取决于机边软件层的可编排性与自组织能力。
Piper 让我们第一次能够以"分布式系统"的思维,
去设计、部署和维护机边协作系统。
它不是取代 PLC,也不是新的 MES,
而是让 OT 架构真正具备"可组合性(Composability)"与"可演化性(Evolvability)"。