SEMI E94-0200 PROVISIONAL SPECIFICATION FOR CONTROL JOB MANAGEMENT(控制作业管理暂行规范)
注意
本文件在2000年2月(0200)发布周期内曾经历两次发布。
1 目的
1.1 本规范阐述设备向工厂提供的服务,这些服务支持高水平的工厂自动化。此类服务使主机能够协调生产设备上的物料加工与处置。
2 适用范围
2.1 本规范可适用于符合SEMI E30 (GEM)标准的设备。同时,本标准也旨在为取代SEMI E30的新一代设备接口(如SEMI E53)提供技术支撑。
2.2 本标准不旨在解决与其使用相关的安全问题(如有)。用户在使用前有责任建立适当的安全健康规范,并确认相关法规限制的适用性。
3 限制条件
3.1 本标准提出控制作业(ControlJob)模型。
该模型界定了控制作业的服务(消息传递)及行为特征。此模型具有协议无关性,因此需选择辅助标准以实现完整实施方案。
3.2 本标准不适用于非生产类设备,包括但不限于:
- 物料运输系统
- 设施(环境)控制器
3.3 临时状态
3.3.1 为解除本标准的临时状态,需完善以下领域:
- 确保多模块设备中控制作业的等效加工能力(不受具体模块影响)
- 完整规范与载具管理(Carrier Management)的关联机制
- 控制作业并行执行的标准化支持
- 支持批次数量的特殊场景:
- 非多载具批次
- 载具基板位置数与批次规模非整数倍关系
- 控制作业与物料、基板追踪的可能关联
- 控制作业队列模型的完善:
- 增补作业队列操作功能及属性
- 符合性章节的补充
3.3.2 专项工作组计划于1999年完成上述领域的研究工作。
3.4 本标准适用于满足以下条件的设备:
- 设备所有输入/输出载具的物料原子单位(atomic unit of material)保持统一
不适用于涉及以下操作的设备: - 需改变物料原子单位的加工(如切片)
- 导致输入/输出物料对象变化的组装工艺
4 引用标准
4.1 SEMI标准
- SEMI E30 — SEMI设备通信与控制通用模型(GEM)
- SEMI E39 — 对象服务标准:概念、行为与服务
- SEMI E40 — 过程管理标准
- SEMI E53 — 事件报告标准
注:所有引用文件均应采用已发布标准的最新版本(含修订版本)。
5 术语定义
5.1 控制作业(Control Job)
定义在设备上执行的一个工作单元,涉及一个或多个载具。该工作由一组应用于载具内物料的工艺作业构成。
5.2 出列(De-queue)
从队列中移除项目的操作。出列动作不涉及项目移除后的状态变更。
5.3 设备(Equipment)
与主机进行通信的智能系统(例如:Etch机台)。
5.4 主机(Host)
与设备进行通信的智能系统(例如:EAP系统)。
5.5 生命周期(Life Cycle)
从对象创建到终止期间的所有流程与活动。
5.6 多模块设备(Multi-module Equipment)
具备多个独立处理资源(如工艺腔室)的设备(例如:Cluster Tools)。
5.7 生产设备(Production Equipment)
对产品进行增值加工或量测的设备。
5.8 协议无关性(Protocol Independent)
指软件的消息描述独立于传输机制的特性。
5.9 配置(Set-up)
描述设备当前工艺能力的参数集合。
5.10 基板(Substrate)
产品加工的基础物料单位,包括但不限于:
- 晶圆(Wafer)
- 引线框架(Lead Frame)
- 光盘(CD)
- 芯片(Die)
- 平板显示器(Flat Panel Display)
- 电路板(Circuit Board)
- 磁盘(Disk)
5.11 基板端口(Substrate Port)
设备存取基板的载具定位点。
5.12 单载具模式(Uni-carrier)
设备运行模式:所有物料加工后返回原始载具。
5.13 用户启动(User Start)
由其他系统或操作员触发的系统启动活动。
6 规范约定
6.1 对象模型
6.1.1
本标准采用对象模型(Object Model)技术规范控制作业接口。
6.1.2 对象服务标准
6.1.2.1
本文档遵循SEMI E39标准建立的对象模型规范体
6.1.3 对象正式命名
6.1.3.1
正式对象名称采用首字母大写形式(如:ControlJob),类似讨论实体时的常规大写规则。通用类别描述使用小写(如cities),特定实体则首字母大写(如New York City)。
6.2 状态模型方法论
6.2.1
采用哈雷尔状态图(Harel State Chart)描述对象动态行为,该方法论概要见SEMI E30附录。完整定义参见D. Harel在《计算机编程科学》1987年第8期发表的《State Charts: A Visual Formalism for Complex Systems》。
6.2.2
哈雷尔方法论未包含表达临时实体的"创建"与"消亡"状态模型。本标准中的"作业(Job)"属此类实体,新创建独立作业时复用相同状态模型。本文档采用以下符号:
- 内含实心圆的双层圆环表示实体消亡
- 纯黑实心圆表示状态模型入口(实体创建)
6.2.3
状态图配套提供转移表(Transition Table),包含6个核心字段:
字段序号 | 字段名称 | 说明 |
---|---|---|
1 | 转移编号 | 状态转移唯一标识符 |
2 | 前序状态 | 转移前的系统状态 |
3 | 触发条件 | 引发状态转移的事件 |
4 | 新状态 | 转移后的目标状态 |
5 | 执行动作 | 包含三类操作: 1) 退出前序状态时的操作 2) 进入新状态时的操作 3) 与转移直接关联的操作 |
6 | 备注 | 特殊说明事项 |
6.2.3.1
上述三类操作在规范中不作区分性描述。
6.3 服务消息表示
6.3.1 服务指设备或主机提供的功能或方法。服务消息分为两类:
- 请求消息(Request Message):必须得到响应
- 通知消息(Notification Message):无需响应
6.3.2 服务定义
6.3.2.1 服务定义表用于规定特定服务资源的消息集合,如下表示例:
6.3.2.2 消息类型标识符定义:
- "N" = 通知(Notification)
- "R" = 请求与响应(Request & Response)
6.3.2.3
通知类消息:
- 由服务提供者(如设备)主动发起
- 不要求服务用户返回响应
请求类消息:
- 由服务用户(如主机)主动发起
- 向提供者索取数据或请求执行操作
- 必须获得特定响应消息(不预设消息内容)
6.3.3 服务参数字典
6.3.3.1 服务参数字典表用于定义服务参数的描述、格式及允许值,如下表示例:
6.3.3.2 服务参数表中,每个参数对应独立的数据行。
6.3.4 服务消息定义
6.3.4.1 服务消息定义表用于规定服务中使用的参数集,如下表示例:
6.3.4.2 REQ/IND(请求/指示)与RSP/CNF(响应/确认)列用于关联参数与消息方向:
- 发起方发送的消息称为"请求(Request)"
- 接收方将收到的消息视为"指示(Indication)"
- 接收方返回的消息称为"响应(Response)"
- 发起方将接收到的响应视为"确认(Confirmation)"
6.3.4.3 参数方向标识符定义(用于REQ/IND和RSP/CNF列):
符号 | 含义 | 备注 |
---|---|---|
M(Mandatory) | 强制参数——必须赋予有效值 | |
C(Conditional) | 条件参数——在特定场景下有定义,其他场景未定义。赋值可能可选或依赖其他参数值 | |
U(User-Defined) | 用户自定义参数 | |
- | 该参数未使用 | |
= | (仅用于响应)响应中此参数值必须与主参数值(如已定义)匹配 | 响应消息专用约束条件 |
7 概述
7.1 本章概述控制作业(ControlJob)功能框架,不包含具体功能规范。
7.1.1 控制作业为物料加工设备提供工艺作业(ProcessJob)的监督级控制,可减少物料加工过程中主机端的交互频次。
工厂主机可通过以下方式管理设备:
- 仅接收关键工厂级事件(如载具加工完成)
- 获取物料加工后处置方法
7.2 用户需求
7.2.1 设备须支持协调处理服务以满足制造复杂性需求,控制作业为此提供以下核心服务:
- 设备协调关联作业(如载具相关所有工艺作业)
- 物料加工后去向通知机制
注:控制作业并非工艺作业类型,不负责协调加工资源与待加工物料。
7.2.2 工艺作业启动与监控
7.2.2.1
- 控制作业实施队列管理
- 支持控制作业的设备不维护工艺作业队列
- 设备根据资源可用性(及物料就绪状态)执行控制作业指定的工艺作业顺序
7.3 供应商需求
7.3.1 加工物料管理
7.3.1.1 供应商需实现符合工厂预期的物料管理操作模型,例如:
- 设备需判断载具加工完成状态
- 触发载具移除信号机制
- 本标准规定外部事件接口规范(不限定具体实现)
7.3.2 控制作业事件
7.3.2.1 控制作业通过两种方式向主机传递信息:
- 请求消息响应
- 主动事件推送
事件机制可通过以下标准实现:
- SEMI E30(GEM)
- SEMI E53(事件报告)
7.4 操作描述
7.4.1 控制作业模型中的工艺作业引用自SEMI E40标准:
- 设备自主管理工艺作业内的物料加工顺序
- 部分设备类型允许用户配置加工顺序(供应商须完整文档化此特性)
7.4.2 建议单基板加工场景使用PRJobMultiCreate
服务(参见SEMI E40)简化接口。
7.4.3 控制作业将覆盖部分SEMI E40功能,包括:
- 设备原生的工艺作业队列管理功能
- 工艺作业执行顺序以控制作业定义为准
7.4.4 控制作业与工艺作业的关联关系因设备类型而异:
场景类型 | 处置规则 |
---|---|
常规设备 | 中止工艺作业不影响控制作业状态 |
1:1绑定型设备 | 工艺作业中止可联动中止对应控制作业 |
1:N控制作业 | 全部工艺作业中止时自动中止控制作业 |
工程实践要求:
- 供应商须文档化具体关联机制
- 设备需根据工艺作业终止方式正确处置物料
8 控制作业对象模型
8.1
本标准仅标准化控制作业(ControlJob)对象的接口。其他对象为控制作业接口提供上下文环境。
- 标准化范围限定在接口层面
- 不强制设备内部实现控制作业对象
- 设备需提供符合控制作业服务定义的外部接口
8.2 物料与作业关联
8.2.1
设备通过基板/载具追踪能力建立工艺作业物料清单与实际载具物料的关联,具体要求:
责任方 | 职责要求 |
---|---|
设备 | 基于追踪能力实现工艺作业物料清单与载具物料的映射 |
工厂主机 | 确保载具物料描述/标识符与工艺作业定义的物料标识符可对应 |
ControlJob Object Model |
8.3 控制作业与载具
8.3.1
单个控制作业(ControlJob)可为多个载具(Carrier)指定加工作业。当同一载具被多个控制作业同时指定使用时,设备供应商须文档化记录设备的处理行为。
8.4 属性定义
8.4.1 表1所列属性应通过对象服务标准(SEMI E39)进行访问:
- 对象服务是为基于对象建模的服务提供者定义的消息集合
- 服务对象模型为服务提供者与用户建立统一的信息交换命名规则
表1 控制作业属性表
属性名称 | 定义 | 必需性 | 访问权限 | 格式/形式 |
---|---|---|---|---|
ObjID | 主机定义的控制作业唯一标识符 | 是(Y) | 只读(RO) | 文本(Text) |
ObjType | 对象类型标识 | 是(Y) | 只读(RO) | 文本=“ControlJob” |
CurrentPRJob | 当前运行的工艺作业标识列表 | 是(Y) | 只读(RO) | PRJobID列表 (参见SEMI E40) |
DataCollectionPlan | 控制作业执行期间采用的数据采集方案标识 | 否(N) | 读写(RW) | 文本 |
CarrierInputSpec | 控制作业使用的载具ID列表 (允许空列表) | 是(Y) | 读写(RW) | CarrierID列表 |
MtrlOutSpec | 物料加工后从源到目标的映射规则 (单载具模式下为空列表) | 是(Y) | 读写(RW) | 结构体列表: - 源映射(SourceMap) - 目标映射(DestinationMap) |
MtrlOutByStatus | 根据物料状态定义加工后位置的映射结构 | 否(N) | 读写(RW) | 结构体列表: - 目标位置(Destination) - 物料状态(MaterialStatus) |
PauseEvent | 触发控制作业暂停的事件ID列表 | 否(N) | 读写(RW) | EventID列表 |
ProcessingCtrlSpec | 定义控制作业内工艺作业执行规则的结构体列表 | 是(Y) | 读写(RW) | 结构体列表: - 工艺作业ID(PRJobID) - 控制规则(ControlRule) - 输出规则(OutputRule) |
ProcessOrderMgmt | 工艺作业启动顺序管理方式 | 是(Y) | 读写(RW) | 枚举值: - 列表顺序(LIST) - 到达顺序(ARRIVAL) - 优化顺序(OPTIMIZE) |
StartMethod | 控制作业启动方式逻辑标识 | 是(Y) | 只读(RO) | 布尔值: - TRUE: 自动启动 - FALSE: 手动启动 |
8.4.2 控制作业(ControlJob)的多个属性采用复合数据类型,其组成数据的详细定义见表2。
表2 属性数据定义表
数据标识符 | 描述 | 形式 |
---|---|---|
CarrierID | 作为基板来源或目的地的载具标识符 | 文本 |
ControlRule | 提供额外的作业控制功能(设备类型相关)。可根据加工结果调整工艺流程 | 结构体: - 规则名称(RuleName) - 规则值(RuleValue) |
Destination | 基板放置位置的标识符(需符合基板追踪标准) | 文本 |
DestinationMap | 定义完成物料放置的载具位置 (空列表时按源载具顺序执行) | 结构体: - 载具ID(CarrierID) - 基板位置列表(SubstrateLocation) |
MaterialStatus | 控制作业分配给完成物料的处理状态值 (通过状态与目的地的映射实现定向放置) | 设备相关枚举值 |
OutputRule | 根据工艺结果定义物料状态 (如:合格/拒收/中止/监控等) | 设备相关规则 |
PRJobID | SEMI E40定义的工艺作业标识符 (主机需与工艺作业创建时保持命名一致) | 参见SEMI E40 |
RuleValue | 设备执行控制规则时使用的参数值 | 设备相关值 |
RuleName | 控制规则标识符 | 文本 |
SourceMap | 定义加工物料的来源位置 (空列表时默认按升序执行) | 结构体: - 载具ID(CarrierID) - 基板位置列表(SubstrateLocation) |
SubstrateLocation | 基板在来源/目的地的具体位置 (例如载具插槽号) | 数值 |
8.4 控制作业属性扩展说明
8.4.3 ControlRule(控制规则)
8.4.3.1
支持此属性的设备中,主机通过设置该属性实现更优的工艺控制。典型应用场景:
应用案例 | 实现方式 |
---|---|
配方偏置调整 | 基于物料测量特征,通过规则值(RuleValue)对标准配方进行参数偏置 |
动态工艺调整 | 根据前道工序结果实时修改加工参数 |
注:控制规则应用不限于上述场景,供应商需文档化支持的特殊规则
8.4.4 DataCollectionPlan(数据采集方案)
8.4.4.1
特性 | 说明 |
---|---|
功能定位 | 关联数据采集活动与控制作业的标识符 |
设备端处理 | 仅作标签存储,无业务逻辑影响 |
主机操作流程 | 收到ControlJob START事件后,根据此方案设置追溯报告和事件报告 |
复用规则 | 相同产品类型&工艺能力的作业可复用同一方案 |
8.4.5 OutputRule(输出规则)
8.4.5.1
支持条件 | 数据形式 |
---|---|
设备具备物料状态判定能力 | 名称-值对列表(例:Good=0.15μm, Reject=>0.25μm) |
历史记录要求 | 状态变更需记录在设备生成的基板历史数据中 |
8.4.5.2 支持MtrlOutbyStatus的设备,必须根据OutputRule确定的状态执行物料定向放置
8.4.6 PauseEvent(暂停事件)
8.4.6.1
要素 | 规范 |
---|---|
事件列表 | 主机指定的设备事件集合 |
作业影响 | 暂停时停止启动新工艺作业(已启动作业继续执行) |
典型应用场景 | 批次加工中途等待量测结果 |
文档要求 | 供应商须文档化所有支持暂停控制作业的事件 |
8.4.7 ProcessOrderMgmt(工艺顺序管理)
8.4.7.1
顺序管理枚举类型:
枚举值 | 执行规则 |
---|---|
LIST | 严格按ProcessingCtrlSpec列表顺序执行 |
ARRIVAL | 物料到达即启动,无需物料的作业优先执行 |
OPTIMIZE | 设备自主优化顺序(通常基于吞吐量最大化算法) |
各模式详细规范
8.4.7.2 LIST模式
- 执行原则:严格遵循ProcessingCtrlSpec定义的工艺作业顺序
- 适用设备:必须支持顺序强约束的机台(如光刻机)
8.4.7.3 ARRIVAL模式
- 物料驱动型执行策略
- 空跑作业(无需物料)优先机制
8.4.7.4 OPTIMIZE模式
- 设备内置智能调度算法
- 优化目标通常包括:
✓ 设备资源利用率最大化
✓ 物料驻留时间最小化
✓ 瓶颈工序优先处理
9 控制作业状态模型——行为规范
9.1 本状态图定义控制作业(ControlJob)的行为逻辑。
9.2 状态定义
9.2.1 QUEUED(队列中)
- 触发条件:控制作业创建或取消选择后进入队列
- 队列规则:
- 新创建的控制作业置于队列尾部
- 支持队列重排序操作(需设备支持)
9.2.2 SELECTED(已选择)
- 核心特征:
- 不启动指定的工艺作业
- 允许修改基于配方变量参数的预设工艺条件
- 独占处理资源(其他作业不可占用)
- 状态保持条件:
- 所需物料未到达设备时持续等待
- 无物料要求的作业立即退出本状态
- 操作权限:
- 可取消选择未到料作业(Deselect操作)
9.2.3 WAITING FOR START(等待启动)
- 进入条件:
- StartMethod=FALSE(用户启动模式)
- 相关物料已就绪
- 响应机制:
- 等待手动/远程启动指令
- 接收Host发送的Start命令后激活
9.2.4 EXECUTING(执行中)
-
工艺调度规则:
- 按ProcessingCtrlSpec顺序启动工艺作业
- 资源可用性 & 物料验证通过后执行
-
资源阻塞机制:
注:被阻塞资源将阻止后续使用相同资源的工艺作业启动(参照SEMI E40)
9.2.5 PAUSED(暂停中)
- 限制条件:
- 禁止启动新的工艺作业
- 允许修改未进入"PROCESSING"状态的工艺作业
- 扩展权限:
- 可修改控制作业属性(具体权限由设备实现决定)
- 供应商须文档化支持的修改操作
9.2.6 COMPLETED(已完成)
- 终态条件:
- 所有工艺作业完成/停止/中止
- 释放占用的全部资源
- 终态响应:
- 仍可响应属性查询请求
- 生成最终作业报告(含物料处置记录)
表3 控制作业状态转换表
序号 | 先前状态 | 触发条件 | 新状态 | 操作 | 注释 |
---|---|---|---|---|---|
1 | 无状态 | 接收来自主机/操作员的Create 命令 | QUEUED(队列中) | 创建控制作业并置于队列尾部 | 若作业队列已满,拒绝创建请求 |
2 | QUEUED | 接收Cancel/Abort/Stop 命令 | 无状态 | 移出队列并终止作业 发送 ControlJobCanceled 事件 | 队列后续作业前移填补空缺 |
3 | QUEUED | 处理资源可开始新作业 | SELECTED(已选择) | 选择并移出队列头部作业 发送 Selected 事件 | 物料不一定已到达设备 |
4 | SELECTED | 接收De-select 命令且物料未到达 | QUEUED | 取消选择的作业移至队列头部 | 若队列头部资源不可用,拒绝命令(参见队列模型) |
5 | SELECTED | 首道工艺作业物料到达(或无需物料) | EXECUTING(执行中) | 发送ExecutionBegan 事件 | 当载具ID和基板槽位图可用时立即执行 |
6 | SELECTED | 同转换5条件,但StartMethod=UserStart | WAITING FORSTART(等待启动) | 发JobWaitingForStart 事件 | 需手动启动 |
7 | WAITING FORSTART | 接收用户启动命令 | EXECUTING | 同转换5操作 | 同转换5注释 |
8 | EXECUTING | 接收暂停命令或触发暂停事件 | PAUSED(暂停中) | 发送Pause 事件 | 可修改未启动的工艺作业 |
9 | PAUSED | 接收恢复命令 | EXECUTING | 继续启动作业 发送"Resumed"事件 | |
10 | EXECUTING | 所有工艺作业完成 | COMPLETED(已完成) | 发送Complete 事件 | 可能包含后处理完成操作 |
11 | ACTIVE | 接收停止命令或所有工艺作业已停止 | COMPLETED | 发送Stopped 事件 | 终止物料加工流程 |
12 | ACTIVE | 接收中止命令 | COMPLETED | 发送Aborted 事件 |
Control Job State Model
10 控制作业队列模型
10.1 队列机制
采用 先进先出(FIFO) 原则管理控制作业队列,通过以下机制实现队列监控与死锁预防:
- 队首服务(CJHOQ)
- 队列完整性维护
- 死锁处理协议
10.2 队列完整性
10.2.1
机制 | 操作规范 |
---|---|
互斥锁 | 队列操作期间自动锁定(如执行CJHOQ服务时拒绝"Create"请求) |
原子操作 | 单次仅允许一个队列操作(创建/取消/中止等) |
10.3 队首服务(CJHOQ)
10.3.1 服务规则:
- 队列重排逻辑
- 指定作业前所有作业后移一位
- 指定作业占据队首位置
- 操作锁定
- 服务执行期间队列禁止其他操作
- 单作业队列
- 队列仅含单个作业时无动作
10.4 死锁处理
10.4.1
死锁场景 | 解决方案 |
---|---|
队首作业与SELECTED态作业同时等待物料 | 1. 使用CJHOQ更换队首作业 2. 发送DE-SELECT请求解除资源占用 |
10.5 队列优先级管理
10.5.资源冲突处理流程:
10.5.2 紧急作业处理:
- 向SELECTED态作业发送CJStop消息释放资源
- 仅当队首"热作业"资源不足时触发
注:支持并行作业的设备需扩展队列管理机制(超出本标准范围)
10.6 队列空间管理
10.6.1 QueueAvailableSpace变量规则
操作类型 | 变量变化 | 约束条件 |
---|---|---|
作业出列 | +1 | 队列态作业收到Cancel/Abort/Stop命令并完成 |
作业入列 | -1 | Create命令被接受时 |
SELECTED态转换 | 条件变化 | 因Deselect命令导致的转换不改变变量值 |
队列满(=0) | 拒绝Create命令 | 返回错误代码EQ_QUEUE_FULL |
10.7 队列作业列表查询
10.7.1 QueuedCJobs变量
- 数据结构:按队首到队尾顺序排列的作业名列表
- 更新触发条件:
✓ 成功执行Create命令
✓ 队列作业收到Cancel/Abort/Stop命令
✓ 执行Deselect命令
10.7.2
查询保障机制 | 说明 |
---|---|
操作互斥性 | 队列无并发操作时保证数据有效性 |
实时更新 | 每次队列结构变更后同步更新 |
11 载具属性规范
11.1 载具状态追踪要求
为满足控制作业(ControlJob)管理的合规性要求,设备须实现以下载具状态追踪机制:
- 实时监控单个载具的状态
- 向工厂主机报告载具与控制作业的关联状态
- 记录扩展属性(供应商自定义属性需文档化说明)
11.2 载具验证机制
11.2.1 载具验证流程标准:
验证步骤 | 验证内容 | 启动条件 |
---|---|---|
载具ID验证 | 读取载具标识符(CarrierID)并校验合法性 | 载具进入基板端口(Substrate Port) |
基板槽位图验证 | 扫描并验证载具内基板位置分布(参见SEMI E87载具管理标准) | 载具锁定后 |
工艺关联性验证 | 确认载具关联的工艺作业(ProcessJob)参数有效性 | 控制作业启动前 |
控制作业约束:仅允许启动通过三级验证的载具关联工艺作业
11.3 载具生命周期管理
11.3.1 载具在设备中的三阶段状态转换:
阶段名称 | 状态条件 | 触发事件 | 主机操作权限 |
---|---|---|---|
未处理(Not Processed) | 载具已装载但未被控制作业访问 | CarrierLoaded事件 | 允许移除 |
处理中(In Process) | 基板开始卸载/加工 | CarrierInProcess事件 | 禁止移除 |
已完成(Completed) | 满足以下条件: 1. 所有物料返回载具 2. 无关联控制作业运行/排队 | CarrierCompleted事件 | 允许移除 |
事件触发机制
12 服务定义要求
12.1 服务定义规范
消息服务名称 | 类型 | 描述 |
---|---|---|
CJStart | R | 启动一个控制作业 |
CJPause | R | 请求控制作业暂停 |
CJResume | R | 请求已暂停的控制作业进入执行状态 |
CJCancel | R | 请求从队列中移除控制作业 |
CJDesselect | R | 请求取消选择控制作业;该作业将不再作为下一个待运行作业 |
CJStop | R | 请求控制作业停止(在不影响物料安全的情况下停止作业) |
CJAbort | R | 请求中止控制作业(用于设备故障时停止作业,存在物料风险) |
CJHQQ | R | 请求将指定控制作业设为下一个待选择作业 |
12.1 服务参数定义
参数名称 | 描述 | 格式/可能值 |
---|---|---|
ACKcode | 服务调用结果状态指示 | 枚举类型: SUCCESS(成功) FAILURE(失败) |
Action | 控制作业收到取消/中止/停止请求时对工艺作业的操作指令 | 枚举类型: SAVEJOBS(保留作业) REMOVEJOBS(删除作业) |
CtrlJobID | 控制作业对象唯一标识符 | 文本 |
ErrorCode | 错误类型标识符 | 枚举类型(待定义) |
ErrorInfo | 错误详情(SUCCESS时可为空) | 结构体: - ErrorCode(错误代码) - ErrorText(错误描述) |
ErrorText | 错误描述信息 | 文本 |
Status | 服务调用结果综合信息 | 结构体: - ACKcode(状态码) - ErrorInfo(错误信息,FAILURE时生效) |
12.3 消息明细
12.3.1
本章规范服务消息的参数使用规则。
12.3.2 创建控制作业
创建流程规范
控制作业属性映射表
控制作业属性名称 | 创建服务属性设置类型 |
---|---|
ObjID | M(必填) |
ObjType | R(受限) |
CurrentPRJob | R(受限) |
DataCollectionPlan | O(可选) |
CarrierInputSpec | M(必填) |
MtrlOutSpec | M(必填) |
MtrlOutbyStatus | O(可选) |
PauseEvent | O(可选) |
ProcessingCtrlSpec | M(必填) |
ProcessOrderMgt | M(必填) |
StartMethod | M(必填) |
State | R(受限) |
关键约束:
- ObjType参数为Object Create消息的必填参数,不得通过AttrSetting重置
- 控制作业队列满时拒绝创建请求(返回EQ_QUEUE_FULL错误码)
12.3.3 工艺作业预检机制
执行校验流程
-
存在性校验
- 校验ProcessingJobList中所有PRJobID是否已存在
- 缺失ID清单通过ObjStatus返回
-
队列容量校验
- 查询QueueAvailableSpace变量
- 队列空间=0时立即拒绝请求
-
队列排序
- 新作业默认置于队列尾部
- 支持通过CJHOQ服务调整顺序
12.3.4 CJStart服务规范
参数/属性 | 描述 |
---|---|
服务名称 | CJStart(控制作业启动服务) |
服务类型 | 请求-响应型(R-R型) |
触发条件 | 仅当控制作业处于 WAITINGFORSTART(等待启动) 状态时有效 |
功能定义 | 启动需人工干预的用户启动型控制作业 |
协议映射 | 对应SECS-II消息: - 请求:S7F23 - 响应:S7F24 |
状态迁移 | WAITINGFORSTART → EXECUTING(等待启动→执行中) |
控制作业服务参数表
参数名称 | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释说明 |
---|---|---|---|
CtrlJobID | M | M | 标识具体作业 |
Status | - | M | 操作成功或失败 |
12.3.5 CJPause服务规范
控制作业(ControlJob)应停止启动处理作业。处于执行状态(EXECUTING)的处理作业不受此命令影响。
参数名称 | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释说明 |
---|---|---|---|
CtrlJobID | M | M | 标识具体作业 |
Status | - | M | 操作成功或失败 |
12.3.6 CJResume服务
控制作业(ControlJob)应恢复启动处理作业。
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
CtrlJobID | M | M | 标识具体作业 |
Status | - | M | 成功或失败 |
12.3.7 CJCancel服务
用于从队列中移除控制作业(ControlJob)。该命令仅对处于队列中状态(QUEUED)的作业生效。
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
CtrlJobID | M | M | 标识具体作业 |
Action | M | - | 移除操作类型(保留字段) |
Status | - | M | 成功或失败 |
12.3.8 CJDeselect(取消选择)
功能描述
仅对处于 SELECTED(已选择)状态 的控制作业生效。取消选择的作业必须与当前队首作业交换位置。若队首作业无法转移至 SELECTED 状态,请求将被拒绝。(详见“控制作业队列模型”章节的死锁处理规则)
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
CtrlJobID | M | M | 目标作业标识符 |
Status | - | M | 操作结果(成功/失败) |
12.3.9 CJStop(停止作业)
功能描述
停止控制作业启动新的处理作业:
- 设备需向所有运行中的处理作业发送 STOP 命令
- 所有处理作业停止后,控制作业发送状态码为 STOPPED 的完成事件
- 仅对 ACTIVE(活动)状态 的作业生效
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
CtrlJobID | M | M | 目标作业标识符 |
Action | M | - | 保留字段(固定值) |
Status | - | M | 操作结果(成功/失败) |
12.3.10 CJAbort(中止作业)
功能描述
强制中止控制作业:
- 设备向运行中的处理作业发送 ABORT 命令
- 检测到所有处理作业中止后,控制作业发送状态码为 ABORTED 的完成事件
- 可由设备内部因严重报警(如操作风险)自动触发
- 仅对 ACTIVE(活动)状态 的作业生效
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
CtrlJobID | M | M | 目标作业标识符 |
Action | M | - | 保留字段(固定值) |
Status | - | M | 操作结果(成功/失败) |
12.3.11 CJHOQ(队首服务)
功能描述
将指定控制作业移至队列头部,其余作业依次后移(队列顺序不变):
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
CtrlJobID | M | M | 目标作业标识符 |
Status | - | M | 操作结果(成功/失败) |
13 变量数据
13.1 变量定义表
变量名称 | 描述 | 类型 | 访问权限 | 注释 |
---|---|---|---|---|
CtrlJobID | 控制作业标识符(可用于控制作业相关事件报告) | 文本 | 只读(RO) | |
DataCollectionPlan | 报告控制作业的数据采集方案属性 | 文本 | 只读(RO) | 可选支持 |
QueuedCJobs | 当前队列中的控制作业有序列表(列表首项为队首作业) | 文本列表 | 只读(RO) | 每个列表项为控制作业标识符 |
QueueAvailableSpace | 队列可接受作业数量 | 数值 | 只读(RO) | 值不能为负,0表示队列已满 |
SetUpName | 主机设置的设备运行条件标识符 | 文本 | 读写(RW) | 设备本地操作时设为"unknown",主机请求时返回设定值 |
13.2 附加要求
13.2.1 控制作业的串行执行
- 执行顺序:按队列顺序启动作业
- 完成条件:所有基板放入目标载具后才发送完成事件
- 多作业优化:前序作业最后一个工艺作业开始后,立即启动后续作业(提升设备利用率)
- 多模块设备:需特别支持并行启动机制
13.2.2 控制作业的并行执行
- 供应商责任:必须完整记录并行执行行为及所需附加服务
- 兼容性要求:需说明与标准服务的差异点
13.2.3 控制作业修改
- 状态约束:仅允许修改非EXECUTING/COMPLETED状态的作业
- 修改方式:通过OSS对象服务修改属性
- 拒绝条件:设备状态不符或参数值超范围
13.2.4 设置与前后条件
- SetupName定义:标识设备完成加工后的工艺能力状态
- 主机操作:主机定向加工或参数修改后设定该值
- 本地操作:设为"unknown"
- 参数变更:任何设备常量修改后立即重置为"unknown"
13.2.5 事件关系
- 本节内容:保留工艺作业事件与控制作业事件关系的规范定义
- 预留条款:
- 13.2.5.2 工艺作业暂停
- 13.2.5.3 工艺作业中止/停止
14 合规性要求
14.1 合规实施规范
实施要求
合规要素 | 规范要求 |
---|---|
消息实现 | 必须完整实现第12章定义的所有服务消息 |
必填参数 | 强制支持所有标记为"M"(必填)的参数 |
可选参数 | 供应商需文档化说明支持的任意可选参数(标记为"O") |
扩展参数/消息 | 供应商需完整文档化所有新增参数和消息(禁止替代本标准定义的消息) |
文档规范
- 技术文档:
- 包含所有扩展功能的详细接口说明
- 明确标注自定义参数与标准参数的互操作性规则
- 兼容性声明:
- 需在设备规格书中声明符合SEMI E94标准版本号