SEMI E40-0200 STANDARD FOR PROCESSING MANAGEMENT(加工管理标准)-(三)完结
10 消息服务详情
10.1 本章定义实现加工管理概念所需的消息服务。这些消息已在第8.1节中初步介绍。
- 协议无关性:这些服务独立于所使用的消息协议,可映射至SECS-II(SEMI E5)或其他类似协议。
10.1.1 消息服务定义内容包括:
- 消息用途:定义需使用的消息类型;
- 参数性质:消息中包含的参数特性;
- 数据类型:参数的数据类型规范。
- 未定义内容:实际传输消息的内部结构(如参数顺序、数据结构表示方式)不在本章范围内。
10.1.2 下表中使用的服务消息表示法详见第5.3节约定。
10.2 服务列表
以下消息用于 主机(Host)与设备(Equipment) 之间的交互,以完成加工管理任务。
Table 4 Service List
消息名称(Message Name) | 类型(Type) | 描述(Description) |
---|---|---|
PRGetAllJobs | R | 获取所有未完成的作业及其状态列表。 |
PRGetSpace | R | 获取当前资源上可创建的作业数量。 |
PRJobAlert | N | 加工资源发送通知,告知作业状态(如准备中、加工中、加工完成或作业终止)。 |
PRJobCommand | R | 对加工任务下达控制命令(如暂停、恢复、终止)。 |
PRJobCreate | R | 监督者(服务使用方)请求执行一个加工任务。 |
PRJobCreateEnh | R | 用户请求执行作业,并为其分配唯一作业标识符。 |
PRJobDequeue | R | 从队列中移除(删除)一个或多个作业。 |
PRJobDuplicateCreate | R | 创建一组相似的加工任务,用户为每个任务分配唯一标识符。 |
PRJobEvent | N | 加工资源通知加工相关事件已发生(如状态变更、异常报警)。 |
PRJobMultiCreate | R | 创建多个(可不同的)加工任务,用户为每个任务分配唯一标识符。 |
PRJobSetRecipeVariable | R | 用户请求为配方变量参数设置新值(用于工艺调节)。 |
PRJobSetStartMethod | R | 用户请求设置加工任务的启动方法(如自动/手动)。 |
PRSetMtrlMethod | R | 请求服务使用特定方法处理物料顺序(如载具优先级)。 |
[!tip]注意
- 类型(Type)含义:
- R(Request):请求类消息(需接收方响应);
- N(Notification):通知类消息(单向上报,无需响应)。
- 功能分类:
- 任务管理:
PRJobCreate
、PRJobDequeue
、PRJobDuplicateCreate
;- 状态监控:
PRGetAllJobs
、PRJobAlert
、PRJobEvent
;- 参数控制:
PRJobSetRecipeVariable
、PRJobSetStartMethod
。- 注意事项:
- PRJobDuplicateCreate:用于批量创建相似任务(如同一载具内的多片晶圆处理)。
10.3 参数字典
Table 5 Parameter Dictionary
参数名称 (Parameter Name) | 定义 (Definition) | 形式/可能值 (Form: Possible Values) |
---|---|---|
CmdParameter | 支持命令类型的参数。 | 结构体 (Structure): - CmdParmName (参数名称)- CmdParmValue (参数值) |
CmdParmName | 参数名称。 | 文本 (Text) |
CmdParmValue | 参数值。 | 因参数而异 (Varies per parameter) |
ErrorCode | 错误代码(枚举值)。 | PRJobCreate错误: - Parameters improperly specified (参数未正确指定)- Insufficient parameters specified (参数不足)- Unsupported option requested (不支持的选项)- Busy (no queue) or queue full (资源繁忙/队列已满)- Unavailable for process jobs (无法处理任务)PRJobCommand错误: - Command invalid in current state (当前状态下命令无效)PRJobComplete错误: - No material altered (未更改物料) |
PRJobID | 加工任务的唯一标识符(通过ObjID 属性访问)。 | 文本 (Text),监督者需确保其在设备域内唯一。 |
PRJobList | 加工任务ID及其状态的列表。 | 结构体列表 (List of Structure): - PRJobID - PRJobState (状态模型值) |
PRJobMilestone | 加工任务里程碑。 | 枚举值 (Enumerated): - PR Job Setup (准备阶段)- PR Job Processing (加工中)- PR Job Processing Complete (加工完成)- PR Job Complete (任务完成)- PR Job Waiting for Start (等待启动) |
PRJobSpace | 当前可创建的加工任务数量。 | 整数 (Integer) |
PRMtlName | 被加工物料的文本标识符。 | 文本 (Text),在加工代理域内唯一。 |
PRMtlType | 物料类型标识符。 | 枚举值 (Enumerated),由具体设备定义。 |
PRMtrlOrder | 定义物料处理顺序的规则。 | 枚举值 (Enumerated): - ARRIVAL (按到达顺序处理)- OPTIMIZE (优化吞吐量顺序)- LIST (按列表顺序) |
PRPauseEvent | 暂停事件信息。 | 事件标识符列表 (List of EventID),需符合SEMI E30或E53标准。 |
PRProcessStart | 指示加工资源就绪时是否立即启动处理。 | 布尔值 (Boolean): - TRUE (自动启动)- FALSE (手动启动) |
PRRecipe | 加工任务配方的规范。 | 结构体 (Structure): - PRRecipeMethod (配方方法)- RecID (配方ID)- Recipe Variable (配方变量列表) |
PRRecipeMethod | 配方规范类型(是否应用调节方法)。 | 枚举值 (Enumerated): - Recipe only (仅配方ID)- Recipe with VariableTuning (配方ID及变量调节) |
RecID | 应用配方的唯一标识符。 | 文本 (Text),在加工代理内唯一。 |
Recipe Variable | 支持配方方法的变量。 | 结构体 (Structure): - RecipeVarName (变量名称)- RecipeVarValue (变量值) |
RecipeVarName | 配方变量名称。 | 文本 (Text),依赖具体配方定义。 |
RecipeVarValue | 配方变量值。 | 因变量类型而异。 |
Timestamp | 事件日期和时间。 | 文本 (Text),格式:yyyymmddhmmsscc (年月日时分秒厘秒) |
10.4 服务详情
以下表格定义了各服务的参数。部分参数包含额外细节,详见参数字典部分。
10.4.1 PRJobCreate(加工任务创建服务)
功能描述:监督者(服务使用方)请求加工资源执行一个加工任务。
表7 PRJobCreate 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
PRJobID | - | M(必需) | 处理代理(Processing Agent)分配的唯一标识符,用于后续所有加工任务通信。 |
PRMtlType | M(必需) | - | - |
(List of) PRMtlName | M(必需) | - | 物料名称列表。若为单晶圆设备,此列表为有序列表,指示加工任务应处理物料的顺序。 |
PRRecipe | M(必需) | - | - |
PRProcessStart | M(必需) | - | - |
PRStatus | - | M(必需) | - |
注意
- 参数类型:
- M(Mandatory):必需参数,消息中必须包含;
- (List of):表示参数为列表形式(如多个物料名称)。
- 参数详解:
- PRMtlType:如
WAFER
(晶圆)、CARRIER
(载具),需与物料物理类型一致;- PRMtlName:物料唯一标识符(如晶圆ID
WFR_12345
),列表顺序决定加工顺序(适用于单晶圆设备);- PRProcessStart:自动启动时,设备就绪后立即执行;手动启动需等待
PRJobStart
指令。
- 工程约束:
- PRJobID 需全局唯一,推荐格式:
设备ID_时间戳_序号
(如ETCH01_20231001120000_001
);- PRRecipe 需预先在设备中定义并通过SEMI E42验证。
表:PRRecipe 参数详情(PRRecipe Parameter Detail Section)
参数名称 (Parameter Name) | 标识 (M/C) | 备注 (Comment) |
---|---|---|
PRRecipeMethod | M(必填) | - |
RecID | M(必填) | 加工任务配方标识符在处理代理(Processing Agent)域内应唯一。 |
(List of)Recipe Variable | C(条件性必填) | 所需参数取决于所选配方方法(如 Recipe with VariableTuning 需提供变量列表)。 |
[!tip] 注意
- 参数标识:
- M (Mandatory):必需参数,消息中必须包含;
- C (Conditional):条件性必填,根据业务逻辑(如配方方法类型)决定是否需提供。
- 参数详解:
- PRRecipeMethod:配方方法类型(如“仅配方”或“配方+变量调节”),需与
PRJobCreate
服务中的定义一致;- RecID:配方唯一标识符(如
REC_ETCH_001
),需在处理代理(设备)域内唯一;- Recipe Variable:配方变量列表(如
GasFlow=50.0
、Temperature=300
),仅当PRRecipeMethod
为Recipe with VariableTuning
时必填。
表:PRStatus 参数详情(PRStatus Parameter Detail Section)
参数名称 (Parameter Name) | 标识 (M/C) | 备注 (Comment) |
---|---|---|
PRAck | M(必填) | 加工确认标识,表示是否接受执行此任务(如 TRUE 表示接受,FALSE 表示拒绝)。 |
(List of) Status | C(条件性必填) | 错误信息列表,仅当 PRAck 为 FALSE 时需提供(包含错误码及描述)。 |
注意
- 参数标识:
- M (Mandatory):必需参数,消息中必须包含;
- C (Conditional):条件性必填,仅在
PRAck
为FALSE
时需提供。
- 参数详解:
- PRAck:布尔值,用于确认加工资源是否接受任务(成功接受为
TRUE
,拒绝为FALSE
);- Status:结构体列表,包含错误码(
ErrorCode
)及文本描述(ErrorMessage
)
10.4.2 PRJobCreateEnh
表8 PRJobCreateEnh 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
PRJobID | M(必填) | M(必填) | 用户提供的任务ID:必须在加工资源已知的任务中唯一,否则资源将拒绝创建请求。 |
PRMtlType | M(必填) | 物料类型:当无物料被加工时可为空值。 | |
(List of)PRMtlName | M(必填) | 有序列表:将一组物料与加工条件(如工艺程序或配方)关联。 | |
PRRecipe | M(必填) | 加工配方:此为结构体参数(包含配方方法与变量)。 | |
PRProcessStart | M(必填) | 启动模式:AUTO (自动)或 USERSTART (用户启动)。 | |
PRPauseEvent | M(必填) | 暂停事件:若为空值,则不会自动暂停加工。 | |
PRStatus | M(必填) | M(必填) | 状态标识:指示任务创建成功或失败(含错误码)。 |
10.4.3 PRJobDuplicateCreate(加工任务批量创建服务)
功能描述:
此服务用于创建多个相同的加工任务。每个任务在以下方面完全一致(即复制品):
- 对必须相同的材料执行完全相同的加工流程;
- 所有任务应用完全相同的
PRRecipe
(加工配方)和PRProcessStart
(启动模式)参数值。
表9 PRJobDuplicateCreate 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
(列表)PRJobDupSpec | M(必填) | C(条件性必填) | 用户提供的任务ID与物料的列表:有序列表,定义批量创建的每个任务的唯一标识及关联物料。结构体: PRJobID-每个任务的唯一标识 PRMtlName-物料名称(如晶圆ID) |
PRMtlType | M(必填) | 物料类型:所有任务处理的物料类型需一致(如均为晶圆)。 | |
PRRecipe | M(必填) | 配方结构体:所有任务共用同一配方参数。 | |
PRProcessStart | M(必填) | 启动模式:AUTO (自动)或 USERSTART (用户启动)。 | |
PRPauseEvent | M(必填) | 暂停事件:若为空值,则加工流程不会自动暂停。 | |
(列表)PRJobID | C(条件性必填) | 任务ID列表:仅当 PRJobDupSpec 未返回时需提供。 | |
PRStatus | M(必填) | M(必填) | 状态标识:指示批量任务创建的整体成功或失败(含错误码)。 |
10.4.4 PRJobMultiCreate(多任务创建服务)
功能描述:
此服务用于创建多个独立加工任务,每个任务均可独立定义其参数(如配方、启动模式等)。与 PRJobDuplicateCreate
不同,此服务允许任务间存在差异,适用于需为不同物料或工艺需求定制化处理的场景。
服务参数表
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
(List of)PRJobSpec | M(必填) | C(条件性必填) | 用户提供的任务配置列表:每个任务可独立定义参数(如配方、物料、启动模式)。 结构体: - PRJobID:任务唯一标识符(需全局唯一)。- PRMtlName:物料名称(如晶圆ID)。- PRRecipe 配方结构体:每个任务可指定不同配方(如 RecipeID 和变量调节参数)- PRProcessStart 启动模式:AUTO (自动)或 USERSTART (用户启动)。 |
PRMtlType | M(必填) | 物料类型:当无物料被加工时可为空值。 | |
(List of)PRJobID | C(条件性必填) | 任务ID列表:仅当 PRJobSpec 未返回时需提供。 | |
PRStatus | M(必填) | M(必填) | 状态标识:指示多任务创建的整体结果(成功/失败),失败时附加错误码。 |
10.4.5 PRJobDequeue(任务出队服务)
功能描述:从队列中移除一个或多个加工任务。若任务不存在或处于 PRJOBACTIVE(活跃状态),则通过 PRStatus
返回无法移除的任务列表及原因。
表11 PRJobDequeue 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
PRJobList | M(必填) | - | 待移除任务的PRJobID列表。 |
PRStatus | - | M(必填) | 状态标识:指示操作成功或失败。 |
注意
- 参数定义:
- PRJobList:需移除的加工任务ID列表(如
["JOB_2305A_01", "JOB_2305A_02"]
);- PRStatus:操作结果(布尔值
TRUE
/FALSE
),失败时附加错误详情(如ERR_JOB_ACTIVE
)。
- 操作规则:
- 仅支持移除 PRJOBQUEUED(排队中)状态的任务;
- 若任务处于 PRJOBACTIVE(活跃状态)或不存在,返回
PRStatus=FALSE
并附加错误码。
10.4.6 PRJobCommand(加工任务控制指令服务)
功能描述:
第8.1节中描述的所有加工任务控制指令均通过 PRJobCommand 服务进行通信。支持的指令包括:
- Abort(终止)、Stop(停止)、Cancel(取消)、Pause(暂停)、Resume(恢复)、Start Process(启动加工)。
规范要求:
- 参数定义:此标准未指定任何必需参数,具体参数由设备厂商或用户自定义;
- 强制支持指令:
Abort
(终止)是唯一要求必须支持的指令。
表12 PRJobCommand 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
PRJobID | M(必填) | - | 加工任务ID:标识需执行命令的加工任务。 |
PRCmdName | M(必填) | - | 命令名称:需执行的操作(如 Abort , Pause , Resume 等)。 |
(List of)CmdParameter | C(条件性必填) | - | 命令参数列表:参数取决于所选命令(如暂停时的安全点规则、终止时的紧急等级等)。 |
PRStatus | - | M(必填) | 状态标识:指示命令执行结果(成功/失败),失败时需附加错误码及描述。 |
注意
- 参数要求:
- PRJobID 和 PRCmdName 为必填参数,需明确指定目标任务及操作类型;
- CmdParameter 根据命令类型动态调整(如
Pause
命令需指定安全点,Abort
命令可附加紧急停机原因)。
- 命令类型:
- 强制支持:
Abort
(终止)为必需支持的命令;- 可选支持:
Stop
(停止)、Pause
(暂停)、Resume
(恢复)等可根据设备能力实现。
10.4.7 PRJobAlert(加工任务里程碑事件通知服务)
功能描述:
加工资源通过 PRJobAlert 服务通知监控系统(如MES)加工任务已达成关键里程碑事件。这些里程碑事件对任务控制与追踪至关重要,具体包括:
- PR Job Setup(任务准备阶段)
- PR Job Processing(加工执行阶段)
- PR Job Processing Complete(加工完成阶段)
- PR Job Complete(任务终结阶段)
- PR Job Waiting for Start(等待手动启动阶段,仅用于手动启动模式)。
表13 PRJobAlert 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 注释 (Comment) |
---|---|---|
Timestamp | M(必填) | |
PRJobID | M(必填) | 标识已达成里程碑的加工任务。 |
PRJobMilestone | M(必填) | |
PRStatus | M(必填) |
注意
- 参数定义:
- Timestamp:事件时间戳,格式为
yyyymmddhmmsscc
(年月日时分秒厘秒);- PRJobID:触发里程碑事件的加工任务唯一标识符;
- PRJobMilestone:已触发的里程碑事件(如
PR Job Setup
、PR Job Processing
);- PRStatus:任务当前状态(如
Active
、Paused
)。
10.4.8 PRJobEvent(加工任务信息事件通知服务)
功能描述:
与加工任务相关的信息性事件(非必需支持)通过 PRJobEvent 服务进行通信。此类事件包括:
- Waiting for Material(等待物料):任务因物料未就绪而暂停;
- Process Job State Change(加工任务状态变更):任务状态迁移(如从
PRJOBACTIVE
进入PAUSING
)。
规范要求:
- 非强制支持:设备厂商或用户可选择是否实现此类事件通知;
- 适用场景:用于增强任务监控与日志追踪的灵活性。
表14 PRJobEvent 服务详情
参数 (Parameter) | 必填/指示 (Req/Ind) | 备注 (Comment) |
---|---|---|
PREventID | M(必填) | 事件唯一标识符,用于区分不同类型的事件(如状态变更、等待物料)。 |
Timestamp | M(必填) | 事件时间戳,格式:yyyymmddhmmsscc (年月日时分秒厘秒)。 |
PRJobID | M(必填) | 加工任务标识符,标识生成此事件的任务(如 JOB_2305A_01 )。 |
PREventData | C(条件性必填) | 事件相关数据,根据事件类型动态定义(如错误详情、状态变更原因等)。 |
10.4.9 PRJobSetRecipeVariable(配方变量参数设置服务)
功能描述:
此服务用于修改指定加工任务的配方变量参数列表。仅当任务处于以下状态时允许修改:
- QUEUED/POOLED(排队/池化状态)
- PAUSED(已暂停)
- WAITINGFORSTART(等待启动)
若任务处于其他状态(如 PROCESSING
或 ABORTING
),此服务请求将失败。
规范要求:
- 实现可选性:设备厂商或用户可选择是否支持此服务;
- 动态调节场景:适用于需实时调整工艺参数(如刻蚀速率、温度)的Run-to-Run控制。
表15 PRJobSetRecipeVariable 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
PRJobID | M(必填) | - | 目标加工任务的唯一标识符。 |
RecVariableList | M(必填) | - | 配方变量列表(List of RecipeVariable):需设置的变量名称及新值。 |
PRStatus | - | M(必填) | 操作结果: - 成功:返回 TRUE ;- 失败:返回 FALSE ,并附加无法设置的变量列表及原因。 |
注意
- 参数定义:
- PRJobID:需修改配方的加工任务ID(如
JOB_2305A_01
);- RecVariableList:结构体列表,每个元素包含
RecipeVarName
(变量名)和RecipeVarValue
(变量值);
- 状态限制:
- 仅当任务处于 QUEUED(排队)、PAUSED(暂停)或 WAITINGFORSTART(等待启动)状态时允许修改变量;
10.4.10 PRJobSetStartMethod(任务启动方法设置服务)
功能描述:
此服务用于修改一个或多个加工任务的启动方法(如从自动启动切换为手动启动)。仅当任务处于 QUEUED/POOLED(排队/池化状态)时允许修改,否则请求将失败。
规范要求:
- 实现可选性:设备厂商或用户可选择是否支持此服务;
- 适用场景:动态调整任务启动策略,适应生产计划变更需求。
表16 PRJobSetStartMethod 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
PRJobList | M(必填) | - | (列表)PRJobID:需修改启动方法的任务ID列表。 |
PRProcessStart | M(必填) | - | 新启动模式:AUTO (自动)或 USERSTART (用户启动)。 |
PRStatus | - | M(必填) | 状态标识:指示操作成功或失败(含错误详情)。 |
注意
- 状态约束:
- 仅当任务处于 QUEUED/POOLED(排队/池化状态)时可修改启动方法;
10.4.11 PRGetAllJobs(获取所有未完成任务列表服务)
功能描述:
此服务用于获取所有未完成加工任务的列表,包括每个任务的唯一标识符(PRJobID
)及其当前状态(PRJobState
)。
表17 PRGetAllJobs 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
PRJobList | - | M(必填) |
10.4.12 PRGetSpace(获取可创建任务剩余容量服务)
功能描述:
此服务用于返回当前加工资源(Processing Resource)剩余可创建的加工任务数量。该数值反映设备队列或资源池的剩余容量,确保任务创建时不会超出资源限制。
表18 PRGetSpace 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
PRJobSpace | -(无请求参数) | M(必填,响应中) | - |
10.4.13 PRSetMtrlOrder(物料处理顺序策略设置服务)
功能描述:
此服务用于请求加工管理服务(Processing Management Service)采用指定的策略来定义物料处理顺序。
表19 PRSetMtrlOrder 服务详情
参数 (Parameter) | 请求/指示 (Req/Ind) | 响应/确认 (Rsp/Cnf) | 注释 (Comment) |
---|---|---|---|
PRMtrlOrder | M(必填) | M(必填) | 设置并返回服务将使用的策略值:用于定义物料处理顺序的规则(如按到达顺序、优化顺序或列表顺序)。 |
10.5 语义与语法的映射关系
表11 提供了第8.1节中定义的消息语义与第10.4节中定义的语法之间的对应关系。
通过使用后缀 .req
、.rsp
和 .nfy
来明确消息流向:
.req
:表示从服务用户(Service User)到服务提供者(Service Provider)的请求消息(Message Request);.rsp
:表示从服务提供者到服务用户的响应消息(Message Response);.nfy
:表示从服务提供者到服务用户的通知消息(Notification)。
10.6 基础要求
功能描述:
加工管理(Processing Management)定义了设备中实现基于作业的材料处理所需的标准服务。所支持的能力允许灵活管理覆盖多种工艺类型的自动化处理,但具体实现可能仅需这些能力的一个子集。
10.6.1 基础功能要求
所有处理代理(Processing Agent)的实现均需满足以下强制性要求(已在文档相应章节中描述并汇总如下):
-
创建并执行单个加工任务直至完成,要求:
- 提供一种适当类型且唯一标识的物料(如晶圆ID);
- 提供唯一配方标识符(
RecID
),且配方可被找到并加载。
-
报告加工任务的里程碑事件:
- Setup(任务准备完成)、
- Processing(加工开始)、
- Processing Complete(加工完成)、
- Job Complete(任务最终完成)。
-
检测并报告任务结果:需明确指示物料是否被完整处理、部分处理或未处理。
-
支持随时终止任务(Abort):立即停止加工活动并终止任务。
-
维护所需任务属性数据:确保表3中定义的任务属性(如状态、配方参数等)实时更新。
-
拒绝非法请求:
- 参数不完整或格式无效的请求;
- 设备不支持的能力请求(如未实现的指令或服务)。
10.6.1.1 扩展性与灵活性
仅满足基础要求可能无法满足部分设备的灵活性或性能需求。此时,需根据系统需求通过可选功能补充基础能力,例如:
- 动态配方变量调节(PRJobSetRecipeVariable);
- 批量创建任务(PRJobMultiCreate);
- 高级状态监控(PRJobEvent)。
10.6.2 可选能力
本标准定义或启用的可选能力包括:
- 加工资源预处理与后处理(Pre-/Post-Conditioning);
- 停止(Stop)、暂停(Pause)与恢复(Resume)加工任务;
- 手动启动加工(Manual Process Start);
- 任务队列管理与队列任务取消(Cancel on Queued Job);
- 工艺参数动态调节(Process Tuning);
- 物料组处理(Processing of Material Groups);
- 多任务并发执行(Multiple Concurrent Process Jobs);
- 单次访问中连续执行多个任务(Multiple Consecutive Jobs in a Single Visit);
- 无物料加工任务(Process Job with No Material);
- 等待物料及任务状态变更事件通知(Notification of Waiting for Material and State Changes)。
10.6.2.1 服务实现约束
服务设计包含拒绝不支持的服务及选项请求的机制,以提升系统鲁棒性,并允许服务用户根据具体加工代理(Processing Agent)的能力调整请求。
10.6.2 可选能力
本标准定义或启用的可选能力包括:
- 加工资源预处理与后处理(Pre-/Post-Conditioning);
- 停止(Stop)、暂停(Pause)与恢复(Resume)加工任务;
- 手动启动加工(Manual Process Start);
- 任务队列管理与队列任务取消(Cancel on Queued Job);
- 工艺参数动态调节(Process Tuning);
- 物料组处理(Processing of Material Groups);
- 多任务并发执行(Multiple Concurrent Process Jobs);
- 单次访问中连续执行多个任务(Multiple Consecutive Jobs in a Single Visit);
- 无物料加工任务(Process Job with No Material);
- 等待物料及任务状态变更事件通知(Notification of Waiting for Material and State Changes)。
10.6.2.1 服务实现约束
服务设计包含拒绝不支持的服务及选项请求的机制,以提升系统鲁棒性,并允许服务用户根据具体加工代理(Processing Agent)的能力调整请求。
相关文章:
SEMI E40-0200 STANDARD FOR PROCESSING MANAGEMENT(加工管理标准)-(三)完结
10 消息服务详情 10.1 本章定义实现加工管理概念所需的消息服务。这些消息已在第8.1节中初步介绍。 协议无关性:这些服务独立于所使用的消息协议,可映射至SECS-II(SEMI E5)或其他类似协议。 10.1.1 消息服务定义内容包括&#…...
算法竞赛进阶指南.次小生成树
目录 题目算法标签: K r u s k a l Kruskal Kruskal, M S T MST MST, 倍增优化, l c a lca lca思路代码*警示后人 题目 356. 次小生成树 算法标签: K r u s k a l Kruskal Kruskal, M S T MST MST, 倍增优化, l c a lca lca 思路 因为要求的是严格次小生成树, 假设最…...
ElasticSearch基本概念
为什么要使用ElasticSearch Elasticsearch 主要为系统提供搜索功能, MySQL 这类传统关系型数据库主要为系统提供数据存储功能 Elasticsearch 的优势 : 支持多种数据类型,非结构化,数值,地理信息。简单的 RESTful AP…...
普通IT的股票交易成长史--20250508晚复盘
声明:本文章的内容只是自己学习的总结,不构成投资建议。价格行为理论学习可参考简介中的几位,感谢他们的无私奉献。 送给自己的话: 仓位就是生命,绝对不能满仓!!!!&…...
SAP 交货单行项目含税金额计算报cx_sy_zerodivide处理
业务背景:SAP交货单只有数量,没有金额,所以开发报表从订单的价格按数量计算交货单的金额。 用户反馈近期报表出现异常: ****2012/12/12 清风雅雨 规格变更 Chg 修改开始 ** 修改原因:由于余数为0时,可能会报错溢出。…...
基于译码器和锁存器的运行逻辑的简易算法
74HC138 def decoder_74hc138(E1, E2, E3, A0, A1, A2):output [1] * 8 # 默认全高电平# 检查使能条件:E1和E2低电平,E3高电平if E1 0 and E2 0 and E3 1:# 计算地址索引(A2为高位,A0为低位)index (A2 <<…...
用电信息采集中的天线种类
一、4G/3G/2G 频率范围“698-960/1710-2700MHz 输入阻抗:50Ω 电压驻波比:<3.0 增益:5dBi/7dBi/9dBi; 824MHz~960MHz频段本体增益≥3.0dBi 1710MHz~2700MHz频段本体增益≥5.0dBi 天线长度225*30mm…...
2025年4月AI算力领域热点事件全景报告
目录 一、政策要闻 01欧洲央行召开会议讨论AI影响 02中国生成式AI备案制落地 03多国政府公布AI基础设施投资计划 04香港发布生成式AI技术及应用指引 05美国出口管制政策影响 06欧盟《人工智能法案》落地 07中国 “东数西算” 工程深化 08美国CHIPS法案争议 09中国发…...
数据结构-非线性结构-二叉树
概述 /** * 术语 * 根节点(root node):位于二叉树顶层的节点,没有父节点。 * 叶节点(leaf node):没有子节点的节点,其两个指针均指向 None 。 * 边(edge)&…...
Android开发补充内容
Android开发补充内容 fragment通信生命周期 Okhttp基本使用websocket Retrofit基本使用 RxJava基本使用定时任务 Hilt基本使用进阶使用例子 组件库Material ComponentsJetpack Compose fragment 通信 fragment于activity通信的一种原生方法是使用Bundle: Bundle …...
Go主要里程碑版本及其新增特性
Go 语言自 2009 年诞生以来,经历了多个里程碑版本的迭代,每个版本都引入了重要特性和改进。以下是 Go 语言的主要版本及其关键特性: Go 1.0 (2012-03-28) 首个稳定版,承诺向后兼容(Go 1 兼容性保证)。核心…...
Cut video with ffmpeg
To cut a snippet from a video based on timestamps like 02:52 to 04:20, the best tool is FFmpeg, which is fast, free, and doesn’t re-encode the video (so it keeps original quality if you don’t want re-encoding). Here’s the command you can run in a termi…...
无刷电机控制算法策略
目录 一、基础控制算法 二、高性能算法 三、无感算法 四、智能算法 五、特殊场景算法 无刷电机的核心控制算法主要包括以下类型: 一、基础控制算法 六步换向法(梯形控制) 通过霍尔传感器检测转子位置,按固定顺序切换…...
LeetCode算法题(Go语言实现)_61
题目 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金…...
Kafka消息不丢失处理
kafka作为消息中间件,吞吐量大(至于为啥吞吐量大,本文不做介绍),所以大家用的多。涉及到异构数据库更换,以及数据预处理后的迁移,基本想到的都是通过kafka。 概览图 我先画个图 生产者到kafka…...
Python+ffmpeg 实现给视频添加字幕
创作灵感 孩子学校经常留作业,需要提交一段录制的视频,视频上要求添加学校、班级、姓名等信息的字幕,手机自带的相机软件字幕添加位置要么只能添加在视频正中,要么无法添加多行文本,要么只能添加在片头或者片尾&#…...
QMK键盘固件自定义指南 - 打造你的专属键盘体验
QMK键盘固件自定义指南 - 打造你的专属键盘体验 🚀 前言 在机械键盘的世界里,QMK固件让你的键盘不再只是简单的输入设备,而是可以按照你的意愿定制的强大工具。本文将深入浅出地介绍如何自定义QMK键盘的行为,从基础概念到高级应…...
Linux-openeuler更换yum镜像源
将 openEuler 系统镜像源更换为华为镜像 以openEuler 24.03 LTS SP1 为例。操作前建议备份原配置文件,并确保系统已联网。 一、确认系统版本与架构 查看系统版本: [rooteulerzy yum.repos.d]# cat /etc/os-releaseNAME"openEuler"VERSION&qu…...
手势、鼠标滑动实现界面切换
手势: #include <QApplication> #include "mainwindow.h"int main(int argc, char *argv[]) {QApplication app(argc, argv);MainWindow window;window.show();return app.exec(); }#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainW…...
什么是变量提升?(形象的比喻)
当然!可以用几个生活中的比喻来形象地解释变量提升: 1. 书架的占位符 想象你有一个书架,但还没放书。 • 变量提升(var): 你先在书架上贴了一个标签(比如写“我的书”)&…...
趣味编程:答案之书
概述:该篇博客主要介绍的是曾经一度风靡全网的答案之书小程序。 目录 1. 效果展示 2. 源码展示 3. 代码逻辑详解 3.1 头文件与全局变量 3.2 main函数 3.3 主循环 3. 4 绘制界面 4. 运行问题 5.小结 1. 效果展示 该小程序是动态的效果, 因此实…...
用kompose将docker-compose文件转换为K8S资源清单
一、什么是kompose Kompose 是什么?它是一个转换工具,可将 Compose (即 Docker Compose)所组装的所有内容转换成容器编排器(Kubernetes 或 OpenShift)可识别的形式。 更多信息请参考 Kompose 官网 Kompos…...
Linux中的防火墙
概述 防火墙通过一系列规则来过滤网络数据包,决定哪些数据包可以进入或离开系统,哪些数据包将被阻止,以此来保护系统免受未经授权的访问、恶意攻击和潜在的安全威胁。 常见的防火墙软件 iptables:是 Linux 系统中常用的防火墙工…...
AI开发跃迁指南(第三章:第四维度1——Milvus、weaviate、redis等向量数据库介绍及对比选型)
1.向量数据库简介 向量数据库(Vector Database)是专门为存储和查询高维向量数据而设计的数据库,主要用于处理由机器学习模型生成的嵌入向量(Embeddings)。它在人工智能(AI)、自然语言处理&…...
深度学习笔记41_调用Gensim库训练Word2Vec模型
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 一、我的环境 1.语言环境:Python 3.8 2.编译器:Pycharm 3.深度学习环境: torch1.12.1cu113torchvision…...
Windows Server 2025 安装AMD显卡驱动
运行显卡驱动安装程序,会提示出问题。但是此时资源已经解压 来到驱动路径 C:\AMD\AMD-Software-Installer\Packages\Drivers\Display\WT6A_INF 打开配置文件,把这两行替换掉 %ATI% ATI.Mfg, NTamd64.10.0...16299, NTamd64.10.0, NTamd64.6.0, NTamd64.…...
debian安装docker
debian安装docker <在Debian上安装Docker的步骤》 在Debian上安装Docker通常涉及几个步骤,以确保你能够顺利运行Docker容器。下面是一份详细的指南,帮助你在Debian系统上安装Docker。 1. 更新你的包列表 首先,更新你的包列表以确保所有…...
uniapp上架苹果APP Store踩雷和部分流程注意事项(非完整流程)
本文是uniapp打包成ios上架到苹果商店一系列踩雷和部分流程介绍 1.打包需要俩个证书 需要xx..mobileprovision和xx.p12证书并且ios打包一天最多5次,超出需要2元/1次付费打包,证书需要使用苹果电脑生成,以下为证书生成教程iOS证书(.p12)和描述…...
【吃透 Elasticsearch 的核心原理】学习步骤
要真正,需深入以下关键机制(结合最新技术演进): 一、倒排索引机制 核心三要素 Term Index:FST 结构加速前缀匹配(如 ap* 查询)Term Dictionary:存储所有 token 及统计信息ÿ…...
springboot使用mybatisPlus进行数据库增删改查
springboot使用mybatisPlus进行数据库增删改查 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是springboot的使用。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】:每个…...
移动端前端开发中常用的css
在开发移动端项目的时候,很多样式都是相同的,比如说图标大小,头像大小,页面底部保存(添加按钮),项目主体颜色等等,对于这些在项目中常用到的,通常都会写在公共样式中(pub…...
C/C++内存分布
内存分布示意图: 内存分布各区域详解: 内核空间: 放置操作系统相关的代码和数据。(用户不能直接进行操作 ------ 可以通过调用系统提供的 api 函数) 栈区: 又叫堆栈,非静态局部变量/函数参数/…...
Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.
版本: 原因 在 Dart Sass 3.0.0 中, @import 规则将被弃用,推荐使用 @use 和 @forward 规则来替代。 1.@use替代@import @use 规则允许你引入其他 Sass 文件中的变量、混合器和函数,并且可以避免命名冲突。 示例: style.scss @use variables;body {color: variables.$pr…...
【计算机网络】用户从输入网址到网页显示,期间发生了什么?
1.URL解析 浏览器分解URL:https://www.example.com/page 协议:https域名:www.example.com路径:/page 2.DNS查询: 浏览器向DNS服务器发送查询请求,将域名解析为对应的IP地址。 3.CDN检查(如果有)&#…...
使用adb设置wifi相关
其他的可以参考以下指令 Android 使用adb操作WiFi连接扫描等相关指令_adb wifi-CSDN博客 但是如果你的wifi账号出现中文的时候: 例如:ssid "wolf的网络" 这种类型的时候,直接使用adb指令是有问题的,基本都会出现乱码…...
MySQL数据库创建、删除、修改
一:建库建表 我们以学校体系进行建表。将数据库命名为school。 以下代码中的大写均可小写不影响。如CREATE DATABASE与create database相同 四个关键的实体分别是学院、老师、学生和课程,其中,学生跟学院是从属关系,这个关系从…...
【Android】动画原理解析
一,基础动画 基础动画,有四种,分别是平移(Translate)、缩放(Scale)、Rorate(旋转)、Alpha(透明度),对应Android中以下四种。 1,Animation基类 1,基本概念 1,插值器 插值器的作用,是控制动画过程的参数,可以理解为 时间(t)与动画进程(d)的函数,动画仅…...
C++从入门到实战(十四)初识STL与STL简介
C从入门到实战(十四)初识STL与STL简介 前言一、什么是 STL?二、STL 的版本三、STL六大组件(目前了解即可,后面会逐步讲解)1. 容器(Containers)—— 装数据的“盒子”2. 算法…...
力扣-142.环形链表II
题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 不允许修改 链表。 class Solution { public:ListNode *detectCycle(ListNode *head) {ListNode *fast head;ListNode *slow head;while (fast) {…...
ERC-20与ERC-721:区块链代币标准的双星解析
一、代币标准的诞生背景 在以太坊生态中,代币标准是构建去中心化应用(DApps)的基石。ERC-20与ERC-721分别代表同质化与非同质化代币的两大核心标准,前者支撑着90%以上的加密资产流通,后者则开启了数字资产唯一性的新时…...
图像管理与人脸识别工具深度解析
这篇Python应用程序代码实现了一个功能丰富的图像管理和人脸识别工具,它集成了多种实用功能,包括人脸检测与裁剪、屏幕截图以及生成PDF等核心功能。我将深入分析这个应用程序的架构、功能和实现方式,帮助读者理解其设计思路和关键技术点。 C…...
【图片合并PDF】一次性将多个文件夹里的图片批量按文件夹为单位合并PDF,多个文件夹图片合并PDF,基于WPF的实现方案
设计行业:设计师需要将项目设计稿按文件夹整理并合并为PDF交付客户 摄影行业:摄影师按主题分类的照片需要合并为PDF存档或分享 企业文档管理:市场调研部门需要将分散在不同文件夹的调研图片合并为PDF报告 教育领域:教师需要将学生的作业图片按班…...
Matlab 数控车床进给系统的建模与仿真
1、内容简介 Matlab217-数控车床进给系统的建模与仿真 可以交流、咨询、答疑 2、内容说明 略 摘 要:为提高数控车床的加工精度,对数控 车床进给系统中影响加工精度的主要因素进行了仿真分析研 动系统的数学模型,利用MATLAB软件中的动态仿真工具 究:依据机械动力学原理建立了…...
HOW - 在 Mac 上的 Chrome 浏览器中调试 Windows 场景下的前端页面
文章目录 为什么需要模拟 Windows 环境?一、修改 User-Agent 模拟 Windows 浏览器方法 1:通过 Chrome 开发者工具修改 UA方法 2:使用浏览器插件 二、模拟 Windows 的字体和滚动条样式1. 模拟 Windows 字体2. 强制显示滚动条(模拟 …...
微信小程序执行C语言库的详细方案
以下是微信小程序中执行C语言库的详细技术方案,分为环境准备、开发流程、优化技巧三个部分: 一、环境准备阶段 1. 工具链安装 # 安装Emscripten核心工具链 git clone https://github.com/emscripten-core/emsdk.git cd emsdk ./emsdk install latest .…...
如何用分布式防御抵扣大规模DDoS攻击?
DDoS攻击是当前最严峻的网络安全威胁之一,其通过海量请求耗尽目标资源,导致服务瘫痪。面对攻击规模的指数级增长,传统的单点防御已难以应对。本文将结合最新技术趋势,探讨分布式防御体系在抵御大规模DDoS攻击中的核心策略与实践。…...
【MySQL】存储引擎 - MyISAM详解
📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...
如何在Jmeter中调用C程序?
在JMeter中调用C语言程序可以通过以下几种方式实现: 方法一:使用OS Process Sampler JMeter的“OS Process Sampler”可以用来调用外部程序,包括C语言编写的可执行文件。 步骤: 准备C语言程序: 编写C语言代码并编译…...
PyTorch 版本、torchvision 版本和 Python 版本的对应关系
PyTorch 版本、torchvision 版本和 Python 版本的对应关系 在深度学习领域,PyTorch 及其配套库 torchvision 的使用极为广泛。但不同版本的 PyTorch、torchvision 与 Python 之间存在严格的对应关系,若版本搭配不当,会导致代码运行出错…...
构建高可维护、易测试的异步任务系统:基于 Celery + Redis + Eventlet 的模块化架构实践
引言:为什么我们需要一个结构清晰的异步任务系统? 在现代软件开发中,异步任务已经成为提升响应性能、解耦业务逻辑、支持高并发的重要手段。尤其对于测试工程师而言,异步任务往往意味着: 任务执行不可控状态追踪困难…...