OMAC: The Organization for Machine Automation and Control
PackML : packaging machinery language
模式
- 维修运行模式
- 手动运行模式
- 自动运行模式
状态
状态预先定义了 17 个,可以根据需要选取其中部分状态。
Types of states
- Acting state:
-
Wait state:
操作模式
状态转换命令
状态列表
标识 | 状态 | 描述 |
---|---|---|
按钮颜色
保持 暂停的区别
保持:由内部条件触发
暂停:有外部条件触发
suspending
原因:
上游缺料 下游满料
因外部条件由操作员停止设备
说明:
设备依然可以以一定的速度运行,但不会向下游单元或设备传递产品
可以有传感器或者监管系统的外部命令来触发
completing
原因
完成定量产品的生产数量
操作员按压停止按钮
说明:
是否进料停止,是否清线 应该和最终用户商讨。
stopping
由监管系统触发
客户需要停止。
说明
执行此操作是否需要特殊处理,清线,立即紧急停止
需要和用户商讨
ABORTING
可在任何时刻由abort 命令触发
此命令引起设备安全快速停机。
标签
- 控制标签:机器输入的信息,例如控制命令、速度指令、参数等;
- 状态标签:机器输出的信息,例如机器当前速度、当前操作模式、当前状态等;
- 管理标签:机器向上层系统输出的信息,例如报警信息、状态运行时间信息等
模块划分
方法 S88:Make2Pack 分六层
- 企业:拥有设施的公司。
- 现场:单个设施的位置。
(区域) - 生产线(或过程单元):连接在一起的一个或多个单元的集合,它们必须按照定义的顺序,生产一个或多个产品,执行单一的或多个过程任务。
- 单元(UN):相关控制模块与设备模块的集合,能够执行一个或多个过程动作。
- 设备模块(EM):执行有限动作的功能组。
- 控制模块(CM):最低层,执行单个功能
PackML 实施过程
仅使用标签。
不使用 PackML 模式、状态管理器,不将代码结构更改为符合 S88:Make2Pack 模块化编程,只使用标签。使用该方法,只要将标签数据映射到现有的控制程序上。当对现有控制程序改动不大或者模块化和 PackML 模式、状态管理器难以实现时使用该方法。优缺点如表 所示
优点 | 缺点 |
---|---|
为机器集成提供通用的接口 | 不遵从 PackML 状态和操作模式模型 |
不需要详细了解原代码 | 没有一致的操作界面: PackML 状态标签可能信息错误 代码不满足模块化格式, 不容易重用可能导致代码维护工作的增加 |
完全使用 PackML。
使用 PackML 模式、状态管理器,使用 S88:Make2Pack 模块化编程,使用标签。当使用 PackML 模式和状态管理器时,最好使用编程模版来做(可以自己做或者由自动化厂商提供)。使用该方法,可以获得 PackML 和模块化编程的所有优点。
优缺点如表 所示
优点 | 缺点 |
---|---|
为机器集成提供通用的接口 | 需要详细了解机器和现有控制程序 |
遵从 PackML 状态和操作模式模型 | 移植现有程序需要比较长的时间 |
为开发者和操作者提供一致的界面 | |
操作界面可以为操作者提供 PackML 信息 |
开发步骤:
- 按照 S88:Make2Pack 物理层次结构分解机器(定义单元、设备模块、控制模块);
- 定义 PackML 模式和状态;
- 定义在每个 PackML 模式和状态下的单元、设备模块、控制模块的动作;
- 定义用于生产线集成和制造执行系统(MES)功能的标签(PackTags);
- 定义报警信息(触发 Stop 和 Abort 命令的条件);
- 使用上述信息进行控制系统编程
报警处理
对于操作者,机器异常停机、无法启动的原因是非常重要的,所以任何导致PackML发出 Stop 和 Abort 指令的原因都应该能及时呈现给操作者。一个解决方案是使用一个报警管理器来监测触发 Stop 和 Abort 指令的条件,由报警管理器直接发出 Stop 和 Abort指令,这样保证所有的信息都不会漏掉。 OMAC 组织推荐使用报警/事件处理模块(alarm/event handling AOIs)来发出 Stop 和 Abort 指令
事件处理模块(Event Handling AOI)
主要用来将故障信息、警告信息或其他信息组织成一个信息列表呈现给操作者。该模块需要系统模块化分解为控制模块、设备模块和单元,各个层次之间的数据流如图 2-3 所示。可以详细分为以下模块:
- AOI_CM_Event: 该模块在控制模块中,其扫描时间最短。当响应条件为真时,将事件信息复制给设备模块,并保持锁定,直到设备模块发送复位指令。每个不同的事件均对应一个该模块的实例。
- AOI_EventManager: 从设备模块(AOI_CM_Event)中获取信息并为设备模块
创建一个信息列表。这个模块同时也可以向控制模块发送复位指令。对于每个设备模块的每种类型事件都应该创建一个该模块的实例,例如一个用来处理报警,一个用来处理警告。 - AOI_EventSummation: 汇总设备模块的信息(AOI_EventManager) ,并且为单元创建一个信息列表。
- AOI_EventSortFilter: 对事件进行分类和过滤,可以将事件按照时间排序和将事
件分类。