Skip to main content

secs/gem

Project description

SecsGemPro

Python License

SecsGemPro 是一个纯 Python 实现的 SECS/GEM 通信协议库,专为半导体制造行业设计。它完整实现了 SEMI E5 (SECS-II)、SEMI E30 (GEM) 和 SEMI E37 (HSMS) 标准,使工厂主机系统与生产设备之间能够进行标准化通信。

📋 目录


简介

SECS/GEM (SEMI Equipment Communications Standard / Generic Equipment Model) 是半导体设备与工厂主机系统之间的标准通信协议,广泛应用于晶圆制造、封装测试等半导体生产环节。

SecsGemPro 提供了:

  • HSMS (High-Speed SECS Message Services):基于 TCP/IP 的高速消息传输层
  • SECS-II:消息编码/解码,完整的 Stream/Function 消息定义
  • GEM:完整的 GEM 设备模型实现,支持 Host 端和 Equipment 端

协议标准参考

SecsGemPro 实现了 SEMI(国际半导体产业协会)发布的以下核心通信标准:

SEMI E5 — SECS-II 消息协议 (Message Content)

Equipment Communications Standard 2 — Message Content

SECS-II 定义了半导体设备与主机之间消息的编码格式内容结构。这是 SECS/GEM 协议栈的消息层,规定了:

概念 说明
Stream 消息分类(如 S01 设备状态、S05 告警报告),共 14 个 Stream
Function Stream 下的具体操作(如 S01F01 在线探测、S05F03 启用告警)
Data Item 消息中的数据结构单元(如 ALID 告警ID、CEID 收集事件ID)
SECS-II 数据类型 22 种基础变量类型,包括 List、Binary、Boolean、U1/U2/U4/U8、I1/I2/I4/I8、F4/F8、A(ASCII)、JIS-8 等

本项目实现了 134 个 Stream/Function 消息定义和 130+ 个数据项,覆盖 SEMI E5 的 §6.1–§6.14 全部主要章节。

SEMI E37 — HSMS 传输层协议 (Transport Layer)

High-Speed SECS Message Services — Generic Services

HSMS 定义了基于 TCP/IP 网络的 SECS-II 消息传输标准,取代了早期的 RS-232(SECS-I)串口通信方式。这是 SECS/GEM 协议栈的传输层,核心功能包括:

特性 说明
连接模式 Active(主动连接)与 Passive(被动监听)两种 TCP 连接模式
控制消息 Select / Deselect(建立/断开 HSMS 会话)、Linktest(心跳检测)、Separate(断开连接)、Reject(拒绝连接)
连接状态机 NOT_CONNECTED → CONNECTED_NOT_SELECTED → CONNECTED_SELECTED 三级状态管理
会话复用 通过 Session ID 区分同一 TCP 连接上的不同会话
多块传输 支持大数据量的分块发送/接收

本项目完整实现了 HSMS 的连接管理、控制消息交换、心跳保活和多块传输机制。

SEMI E30 — GEM 设备模型 (Generic Equipment Model)

Generic Model for Communications and Control of Manufacturing Equipment

GEM 建立在 SECS-II 和 HSMS 之上,定义了半导体生产设备的标准化行为模型,确保来自不同厂商的设备与工厂主机系统(MES/EAP)能够互操作。GEM 定义了:

能力模块 说明 相关 SF
通信状态管理 Communicate / Not-Communicate 状态机,控制通信的建立和终止 S01F13–S01F14
设备控制状态 ONLINE/OFFLINE + LOCAL/REMOTE 组合状态,控制设备操作权限 S01F15–S01F18
告警管理 告警的触发、上报、启用/禁用状态管理 S05F1–S05F8
收集事件 定义事件 → 链接报告 → 触发上报,实现设备状态变化的异步通知 S02F33–S02F38, S06F11–S06F16
设备常量 存储在设备上的只读/可写配置参数 S02F13–S02F16, S02F29–S02F30
状态变量 设备运行时的实时状态数据 S01F3–S01F4, S01F11–S01F12
数据值/数据集合 与收集事件关联的结构化数据采集 S06F1–S06F8
远程控制 主机向设备发送 START/STOP 等远程命令 S02F41–S02F42
工艺程序管理 工艺程序的加载、上传、删除、格式化 S07F1–S07F26
终端消息 操作员终端的文本信息交互 S10F1–S10F4

本项目通过 Capability(能力混入)模式完整实现了 GEM 的 8 大核心能力模块。

SEMI E39 — 对象服务 (Object Services)

Object Services Standard — Concepts, Behavior, and Services

SEMI E39 定义了一套通用的对象属性访问服务,用于对设备上的对象(如配方、晶圆映射等)进行**读取(GetAttr)修改(SetAttr)**操作。本项目在 S14 Stream 中实现了 E39 的对象服务接口:

  • S14F01 / S14F03 — GetAttr/SetAttr 请求(含 OBJSPEC、OBJTYPE、OBJID 和属性过滤)
  • S14F02 / S14F04 — GetAttr/SetAttr 数据回复(含 OBJACK 确认码和错误信息)

SEMI E87 — 载具管理 (Carrier Management)

Specification for Carrier Management (CMS)

SEMI E87 定义了半导体工厂中**载具(Carrier)**的管理规范,包括晶圆载具、料盒等物料的传送、追踪和控制。本项目的 S03 Stream 实现了 E87 的核心消息交互:

  • S03F17 — 载具操作请求(Carrier Action Request),指定载具 ID、操作类型、端口号和自定义属性
  • S03F18 — 载具操作确认(Carrier Action Acknowledge),返回操作接受状态和错误信息

标准与项目分层对应

sequenceDiagram 
    participant GEM as GEM 应用层<br/>E30/E39/E87 
    participant SECS as SECS-II 消息层<br/>E5 
    participant HSMS as HSMS 传输层<br/>E37
    
Note over GEM: 状态机 + 8 个 Capability 
Note over SECS: 134 SF 消息 + 130+ Data Items 
Note over HSMS: TCP 连接 + 控制消息
GEM->>SECS: 消息编码 
Note right of GEM: 将 GEM 语义<br/>编码为 SECS-II 格式 
SECS->>HSMS: TCP/IP 传输 
Note right of SECS: 封装为 HSMS 报文<br/>通过 TCP 发送
HSMS-->>SECS: TCP/IP 接收 
Note left of HSMS: 接收 TCP 数据<br/>解包 HSMS 报文 
SECS-->>GEM: 消息解码 
Note left of SECS: 解析 SECS-II 格式<br/>还原 GEM 语义

其他相关 SEMI 标准

标准 名称 说明 本项目支持
SEMI E5 SECS-II Message Content SECS-II 消息编码与内容 ✅ 134 个 SF
SEMI E30 GEM — Generic Equipment Model 设备通用通信与控制模型 ✅ 8 个 Capability
SEMI E37 HSMS — Generic Services 高速 SECS 消息传输服务 ✅ 完整实现
SEMI E37.1 HSMS-SS — Single Session HSMS 单会话模式 ✅ 默认支持
SEMI E39 Object Services 对象属性访问服务 ✅ S14F1-F4
SEMI E87 Carrier Management (CMS) 载具管理规范 ✅ S03F17-F18
SEMI E40 Process Job Management 工艺作业管理 — 计划中
SEMI E90 Substrate Tracking 基板追踪 — 计划中
SEMI E94 Control Job Management 控制作业管理 — 计划中

核心特性

  • 完整的 HSMS 实现:支持 Active/Passive 连接模式,Select/Deselect/Linktest/Separate/Reject 控制消息
  • 丰富的 SECS-II 消息:内置 140+ 个 Stream/Function 消息定义,覆盖 S1-S14
  • GEM 设备模型:完整实现 SEMI E30 GEM 标准
  • 双端支持:同时支持 Host(主机)端和 Equipment(设备)端开发
  • 状态机驱动:基于有限状态机(FSM)的通信状态管理和控制状态管理
  • 事件系统:灵活的事件回调机制,轻松响应连接、消息、告警等事件
  • 能力(Capability)混入模式:设备功能模块化,可按需组合
  • TCP 双模式:内置 TCP 客户端和服务器实现
  • 线程安全:多线程架构确保并发通信的可靠性
  • 编码支持:支持 JIS X 0201 字符编码

项目架构

安装

环境要求

  • Python >= 3.11, < 3.13
  • Poetry

通过 Poetry 安装(推荐)

克隆项目

git clone https://gitee.com/w_liu/SecsGemPro.git 

进入项目目录

cd SecsGemPro

使用 Poetry 创建虚拟环境并安装依赖

poetry install

快速开始

1. Equipment 端(设备被动端)

创建一个 GEM 设备端,监听连接并响应主机请求,通讯上后主动给 host 发送 s1f13 消息:

from secsgem.common import DeviceType
from secsgem.gem import GemEquipmentHandler
from secsgem.hsms import HsmsSettings, HsmsConnectMode


class EquipmentExample(GemEquipmentHandler):
    """设备端 passive 服务示例."""
    hsms_settings = HsmsSettings(
        address="127.0.0.1", port=5000,
        connect_mode=HsmsConnectMode.PASSIVE, device_type=DeviceType.EQUIPMENT
    )
    def __init__(self):
        super().__init__(self.hsms_settings)
        self.enable()  # 启动设备端 passive 服务


if __name__ == '__main__':
    EquipmentExample()

2. Host 端(主机主动端)

创建一个 GEM 主机端,主动连接设备,如果连接上 Passive 服务会主动发送 s1f13 消息:

from secsgem.common import DeviceType
from secsgem.gem import GemHostHandler
from secsgem.hsms import HsmsSettings, HsmsConnectMode


class HostExample(GemHostHandler):
    """Host Active 示例."""
    hsms_settings = HsmsSettings(
        address="127.0.0.1", port=5000,
        connect_mode=HsmsConnectMode.ACTIVE, device_type=DeviceType.HOST
    )
    def __init__(self):
        super().__init__(self.hsms_settings)
        self.enable()


if __name__ == '__main__':
    HostExample()

架构设计

分层模型

SecsGemPro 采用严格的分层架构,每层职责明确:

sequenceDiagram 
    participant Common as Common 公共基础层 
    participant HSMS as HSMS 传输层 - SEMI E37 
    participant SECS as SECS-II 消息层 - SEMI E5 
    participant GEM as GEM 应用层 - SEMI E30
Note over Common: Protocol / Settings<br/>StateMachine / EventProducer<br/>TcpClient/Server
Note over HSMS: HsmsProtocol<br/>ConnectionStateMachine
Note over SECS: SecsHandler / StreamsFunctions<br/>DataItemBase
Note over GEM: GemHandler / GemHostHandler<br/>GemEquipmentHandler + 8 Capability

Common->>HSMS: 继承 Protocol + StateMachine
Note right of Common: HsmsProto → Protocol<br/>ConnSM → StateMachine
HSMS->>SECS: 协议依赖
Note right of HSMS: SecsHandler → HsmsProto
SECS->>SECS: SF 回调注册
Note right of SECS: SecsHandler → SF 140+
SECS->>GEM: Handler 继承
Note right of SECS: GemHandler → SecsHandler
GEM->>GEM: 端类型派生
Note right of GEM: GemHost / GemEquip<br/>→ GemHandler

状态机

SecsGemPro 使用层次化状态机来管理复杂的协议状态:

HSMS 连接状态机 — 管理 TCP 连接和 HSMS 选择状态:

stateDiagram-v2 
[*] --> NOT_CONNECTED 
NOT_CONNECTED --> CONNECTED_NOT_SELECTED : connect 
CONNECTED_NOT_SELECTED --> CONNECTED_SELECTED : select 
CONNECTED_SELECTED --> CONNECTED_NOT_SELECTED : deselect 
CONNECTED_NOT_SELECTED --> NOT_CONNECTED : disconnect 
CONNECTED_SELECTED --> NOT_CONNECTED : disconnect

GEM 通信状态机 — 管理 GEM 层的通信建立流程:

stateDiagram-v2 
[*] --> DISABLED 
DISABLED --> NOT_COMMUNICATING : enable 
NOT_COMMUNICATING --> WAIT_CRA : select 
WAIT_CRA --> COMMUNICATING : s1f14received ✅ 
WAIT_CRA --> WAIT_DELAY : communicationreqfail ⏳ 
WAIT_DELAY --> WAIT_CRA : delayexpired 🔄 
COMMUNICATING --> NOT_COMMUNICATING : communicationfail ❌ 
NOT_COMMUNICATING --> DISABLED : disable 
COMMUNICATING --> DISABLED : disable

设备控制状态机 — 管理设备的在线/离线/本地/远程控制状态:

stateDiagram-v2 
[*] --> EQUIPMENT_OFFLINE 
EQUIPMENT_OFFLINE --> ATTEMPT_ONLINE : switch_online 
ATTEMPT_ONLINE --> HOST_OFFLINE : attempt_online_fail 
ATTEMPT_ONLINE --> ONLINE : online_ok 
HOST_OFFLINE --> ONLINE : online_ok 
ONLINE --> ONLINE_LOCAL : local 
ONLINE --> ONLINE_REMOTE : remote 
ONLINE_LOCAL --> ONLINE_REMOTE : remote 
ONLINE_REMOTE --> ONLINE_LOCAL : local

HSMS 控制消息流程

sequenceDiagram 
participant Active as Active端 (Host) 
participant Passive as Passive端 (Equipment)
Active->>Passive: TCP 连接建立 ✅
Active->>Passive: Select.req
Note right of Active: 请求建立HSMS会话
Passive->>Active: Select.rsp
Note left of Passive: 同意建立会话
Note over Active,Passive: 🔗 进入 SELECTED 状态

loop 链路保活
    Active->>Passive: Linktest.req
    Passive->>Active: Linktest.rsp
    Note over Active,Passive: 心跳检测,确认链路存活
end

Note over Active,Passive: 💬 SECS-II 消息交互...

Active->>Passive: Separate.req
Note right of Active: 主动请求断开HSMS会话<br/>释放通信资源
Note over Active,Passive: 🔓 断开 HSMS 会话

事件系统

项目内置灵活的事件发布/订阅机制,支持以下核心事件:

事件名称 触发时机 适用层
connected TCP 连接建立 HSMS
disconnected TCP 连接断开 HSMS
communicating 通信建立完成 HSMS/GEM
message_received 收到消息 所有层
handler_communicating 处理器通信就绪 GEM
alarm_received 收到告警通知 GEM Host
collection_event_received 收到收集事件报告 GEM Host
terminal_received 收到终端消息 GEM Host

模块说明

Common (公共基础层)

提供整个协议栈的基础抽象和工具类:

  • Settings — 抽象配置类,定义设备类型、超时、会话 ID 等通用参数
  • Protocol — 抽象协议类,定义消息收发、响应队列、系统计数器等核心机制
  • Connection — 抽象连接类,封装底层 TCP 连接的生命周期管理
  • StateMachine — 通用有限状态机框架,支持层次化状态、状态进入/离开事件
  • EventProducer — 事件发布/订阅系统,支持注册回调函数和目标对象
  • TcpClientConnection — TCP 客户端连接实现
  • TcpServerConnection — TCP 服务器连接实现(支持多客户端)
  • ByteQueue — 线程安全的字节缓冲队列
  • ProtocolDispatcher — 协议调度器,管理收发线程
  • Message/Block — 消息和数据块的数据模型

HSMS (高速消息传输层)

基于 SEMI E37 标准的 HSMS 协议实现:

  • HsmsProtocol — HSMS 协议核心实现,处理 Select/Deselect/Linktest/Separate/Reject 控制流程
  • HsmsSettings — HSMS 专用配置(IP、端口、连接模式、Session ID)
  • HsmsConnectMode — 连接模式枚举(Active/Passive)
  • HsmsMessage/HsmsBlock — HSMS 消息和数据块格式
  • ConnectionStateMachine — HSMS 连接状态机(NOT_CONNECTED → CONNECTED_NOT_SELECTED → CONNECTED_SELECTED)

SECS (SECS-II 消息层)

基于 SEMI E5 标准的 SECS-II 实现:

  • SecsHandler — SECS 消息处理器,管理 Stream/Function 回调分发
  • StreamsFunctions — 函数注册表,动态查找 Stream/Function 对应的消息类
  • SecsStreamFunction — 所有 SECS-II 函数的基类,提供编码/解码能力
  • DataItemBase — 数据项基类,定义了数据格式和值约束
  • 130+ Data Items — 完整的 SECS-II 数据项定义(如 ALID, CEID, PPID, RCMD 等)
  • 22 种变量类型 — 支持 SECS-II 的所有数据类型

GEM (设备模型层)

基于 SEMI E30 标准的 GEM 实现:

  • GemHandler — GEM 基础处理器,继承自 SecsHandler,添加 GEM 通信状态管理
  • GemEquipmentHandler — Equipment 端完整实现,通过多重继承组合 8 种设备能力
  • GemHostHandler — Host 端实现,提供远程命令发送、收集事件订阅等功能

设备能力 (Capabilities)

GemEquipmentHandler 通过多重继承(Mixin 模式)组合以下 8 种 GEM 能力:

能力模块 功能 相关 Stream/Function
AlarmCapability 告警管理(设置/清除/启用/禁用告警) S5F1-S5F8
ClockCapability 时钟同步(获取/设置设备时间) S2F17-S2F18
CollectionEventCapability 收集事件管理(定义报告/链接/启用事件) S2F33-S2F38, S6F11-S6F16
DataValueCapability 数据值管理(读取/写入设备数据值) S6F1-S6F6
EquipmentConstantsCapability 设备常量管理(读取/设置设备常量) S2F13-S2F16, S2F29-S2F30
RemoteControlCapability 远程控制(START/STOP/工艺程序管理等) S2F41-S2F42, S7F1-S7F26
StateModelsCapability 设备状态模型管理(ONLINE/OFFLINE/LOCAL/REMOTE) S1F15-S1F18
StatusDataCollectionCapability 状态数据采集(读取设备状态变量) S1F3-S1F4, S1F11-S1F12

API 参考

核心配置类

HsmsSettings

HSMS 连接配置类:

参数 类型 默认值 描述
address str "127.0.0.1" IP 地址
port int 5000 TCP 端口
connect_mode HsmsConnectMode ACTIVE 连接模式
device_type DeviceType HOST 设备类型
session_id int 0 会话 ID
establish_communication_timeout int 10 通信建立超时(秒)

Equipment 端 API

GemEquipmentHandler

方法 描述
enable() 启动设备端服务
disable() 停止设备端服务
waitfor_communicating(timeout) 等待通信建立
set_alarm(alid) 设置告警
clear_alarm(alid) 清除告警
trigger_collection_events(ceids) 触发收集事件
on_commack_requested() 连接确认回调(可重写)

Host 端 API

GemHostHandler

方法 描述
enable() 启动主机连接
disable() 断开主机连接
waitfor_communicating(timeout) 等待通信建立
are_you_there() 发送 S01F01 探测请求
list_svs(svs) 查询设备状态变量列表
request_svs(svs) 获取设备状态变量值
request_sv(sv_id) 获取单个状态变量值
list_ecs(ecs) 查询设备常量列表
request_ecs(ecs) 获取设备常量值
request_ec(ec_id) 获取单个设备常量值
set_ecs(ecs) 设置设备常量值
set_ec(ec_id, value) 设置单个设备常量值
send_remote_command(rcmd, params) 发送远程命令
send_process_program(ppid, ppbody) 发送工艺程序
request_process_program(ppid) 请求工艺程序
get_process_program_list() 获取工艺程序列表
delete_process_programs(ppids) 删除工艺程序
subscribe_collection_event(ceid, dvs, report_id) 订阅收集事件
clear_collection_events() 清除所有收集事件订阅
enable_alarm(alid) 启用告警
disable_alarm(alid) 禁用告警
list_alarms(alids) 列出告警
list_enabled_alarms() 列出已启用的告警
go_online() 将设备设置为在线状态
go_offline() 将设备设置为离线状态
send_equipment_terminal(terminal_id, text) 发送终端消息到设备

通用 API (SecsHandler)

方法 描述
register_stream_function(stream, function, callback) 注册自定义 Stream/Function 回调
unregister_stream_function(stream, function) 注销 Stream/Function 回调
stream_function(stream, function) 获取 Stream/Function 消息类
disable_ceids() 禁用所有收集事件
disable_ceid_reports() 禁用所有收集事件报告

支持的 Stream/Function

SecsGemPro 大部分 SECS-II Stream/Function 消息定义,基于 SEMI E5 (SECS-II) 标准。每个消息类均继承自 SecsStreamFunction,通过 _stream_function 属性标识,_data_format 定义数据格式。

符号约定

  • W = 需要回复(_is_reply_required = True
  • (W) = 可选回复(_has_reply = True, _is_reply_required = False
  • MB = 支持多块传输(_is_multi_block = True
  • E↔H = Equipment 与 Host 双向均可发送
  • E→H = Equipment 端发送到 Host 端
  • H→E = Host 端发送到 Equipment 端

S00 — Abort Transaction(中止事务)

规范: SEMI E5 Section 6.1

SF 类名 描述 格式 回复 方向
S00F00 SecsS00F00 中止事务 (Abort Transaction) Header only E↔H

S01 — Equipment Status(设备状态)

规范: SEMI E5 Section 6.2

SF 类名 描述 格式 回复 方向
S01F00 SecsS01F00 中止 Stream 1 事务 Header only E↔H
S01F01 SecsS01F01 在线探测请求 (Are You Online) Header only W H→E
S01F02 SecsS01F02 在线数据 (On Line Data) [MDLN, SOFTREV] (E→H), [] (H→E) E↔H
S01F03 SecsS01F03 选中设备状态请求 (Selected Status Request) [SVID, ...] W H→E
S01F04 SecsS01F04 选中设备状态数据 (Selected Status Data) [SV, ...] MB
S01F11 SecsS01F11 状态变量名称列表请求 (SV Namelist Request) [SVID, ...] W H→E
S01F12 SecsS01F12 状态变量名称列表回复 (SV Namelist Reply) [{SVID, SVNAME, UNITS}, ...] MB
S01F13 SecsS01F13 建立通信请求 (Establish Communication) [MDLN, SOFTREV] (E→H), [] (H→E) W E↔H
S01F14 SecsS01F14 建立通信确认 (Communication Acknowledge) {COMMACK, [MDLN, SOFTREV]} E↔H
S01F15 SecsS01F15 请求离线 (Request Offline) Header only W H→E
S01F16 SecsS01F16 离线确认 (Offline Acknowledge) OFLACK: B[1] E→H
S01F17 SecsS01F17 请求在线 (Request Online) Header only W H→E
S01F18 SecsS01F18 在线确认 (Online Acknowledge) ONLACK: B[1] E→H
S01F21 SecsS01F21 数据变量名称列表请求 (DV Namelist Request) [VID, ...] W H→E
S01F22 SecsS01F22 数据变量名称列表 (DV Namelist) [{VID, DVVALNAME, UNITS}, ...] E→H
S01F23 SecsS01F23 收集事件名称列表请求 (CE Namelist Request) [CEID, ...] W H→E
S01F24 SecsS01F24 收集事件名称列表 (CE Namelist) [{CEID, CENAME, [VID, ...]}, ...] E→H

S02 — Equipment Constants and Reports(设备常量与报告)

规范: SEMI E5 Section 6.3

SF 类名 描述 格式 回复 方向
S02F00 SecsS02F00 中止 Stream 2 事务 Header only E↔H
S02F13 SecsS02F13 设备常量请求 (EC Request) [ECID, ...] W H→E
S02F14 SecsS02F14 设备常量数据 (EC Data) [ECV, ...] MB
S02F15 SecsS02F15 设置设备常量发送 (New EC Send) [{ECID, ECV}, ...] W H→E
S02F16 SecsS02F16 设置设备常量确认 (New EC Acknowledge) EAC: B[1] E→H
S02F17 SecsS02F17 日期时间请求 (Date & Time Request) Header only W H→E
S02F18 SecsS02F18 日期时间数据 (Date & Time Data) TIME: A[32] E→H
S02F21 SecsS02F21 远程命令发送 (Remote Command Send) RCMD: U1/I1/A (W) H→E
S02F22 SecsS02F22 远程命令确认 (Remote Command Acknowledge) CMDA: U1/I1 E→H
S02F23 SecsS02F23 轨迹初始化 (Trace Initialize) {TRID, DSPER, TOTSMP, REPGSZ, [SVID, ...]} W MB
S02F24 SecsS02F24 轨迹初始化确认 (Trace Init Acknowledge) TIAACK: B[1] E→H
S02F25 SecsS02F25 环回诊断请求 (Loopback Request) ABS: B W H→E
S02F26 SecsS02F26 环回诊断数据 (Loopback Data) ABS: B E→H
S02F29 SecsS02F29 设备常量名称列表请求 (EC Namelist Request) [ECID, ...] W H→E
S02F30 SecsS02F30 设备常量名称列表 (EC Namelist) [{ECID, ECNAME, ECMIN, ECMAX, ECDEF, UNITS}, ...] MB
S02F31 SecsS02F31 设置日期时间请求 (Set Time Request) TIME: A[32] W H→E
S02F32 SecsS02F32 设置日期时间确认 (Set Time Acknowledge) TIACK: B[1] E→H
S02F33 SecsS02F33 定义报告 (Define Report) {DATAID, [{RPTID, [VID, ...]}, ...]} W MB
S02F34 SecsS02F34 定义报告确认 (Define Report Acknowledge) DRACK: B[1] E→H
S02F35 SecsS02F35 链接事件报告 (Link Event Report) {DATAID, [{CEID, [RPTID, ...]}, ...]} W MB
S02F36 SecsS02F36 链接事件报告确认 (Link Report Acknowledge) LRACK: B[1] E→H
S02F37 SecsS02F37 启用/禁用事件报告 (En/Disable Event Report) {CEED: BOOLEAN, [CEID, ...]} W H→E
S02F38 SecsS02F38 启用/禁用事件报告确认 (Event Report Acknowledge) ERACK: B[1] E→H
S02F41 SecsS02F41 主机命令发送 (Host Command Send) {RCMD, [{CPNAME, CPVAL}, ...]} W H→E
S02F42 SecsS02F42 主机命令确认 (Host Command Acknowledge) {HCACK: B[1], [{CPNAME, CPACK: B[1]}, ...]} E→H
S02F43 SecsS02F43 重置假脱机发送 (Reset Spooling Send) [{STRID: U1, [FCNID: U1, ...]}, ...] W H→E
S02F44 SecsS02F44 重置假脱机确认 (Reset Spooling Acknowledge) {RSPACK: B[1], [{STRID, STRACK: B[1], [FCNID, ...]}, ...]} E→H
S02F45 SecsS02F45 定义变量限制属性 (Define Variable Limits) {DATAID, [{VID, [{LIMITID, [UPPERDB, LOWERDB]}, ...]}, ...]} W MB
S02F46 SecsS02F46 定义变量限制属性确认 (Limit Attributes Acknowledge) {VLAACK: B[1], [{VID, LVACK: B[1], [LIMITID, LIMITACK: B[1]]}, ...]} E→H
S02F47 SecsS02F47 变量限制属性请求 (Limit Attribute Request) [VID, ...] W H→E
S02F48 SecsS02F48 变量限制属性数据 (Limit Attribute Data) [{VID, {UNITS, LIMITMIN, LIMITMAX, [{LIMITID, UPPERDB, LOWERDB}, ...]}}, ...] E→H
S02F49 SecsS02F49 增强远程命令 (Enhanced Remote Command) {DATAID, OBJSPEC, RCMD, [{CPNAME, CEPVAL}, ...]} MB
S02F50 SecsS02F50 增强远程命令确认 (Enhanced Remote Command ACK) {HCACK: B[1], [{CPNAME, CPACK: B[1]}, ...]} E→H

S03 — Material/Recipe Status(物料/配方状态)

规范: SEMI E5 Section 6.4

SF 类名 描述 格式 回复 方向
S03F17 SecsS03F17 载具操作请求 (Carrier Action Request) {DATAID, CARRIERACTION, CARRIERID, PTN, [{CATTRID, CATTRDATA}, ...]} W MB
S03F18 SecsS03F18 载具操作确认 (Carrier Action Acknowledge) {CAACK: B[1], [{ERRCODE, ERRTEXT}, ...]} E→H

S05 — Exception/Alarm Reporting(异常/告警报告)

规范: SEMI E5 Section 6.5

SF 类名 描述 格式 回复 方向
S05F00 SecsS05F00 中止 Stream 5 事务 Header only E↔H
S05F01 SecsS05F01 告警报告发送 (Alarm Report Send) {ALCD: B[1], ALID, ALTX: A[120]} (W) E→H
S05F02 SecsS05F02 告警报告确认 (Alarm Report Acknowledge) ACKC5: B[1] H→E
S05F03 SecsS05F03 启用/禁用告警发送 (En/Disable Alarm Send) {ALED: B[1], ALID} (W) H→E
S05F04 SecsS05F04 启用/禁用告警确认 (En/Disable Alarm Acknowledge) ACKC5: B[1] E→H
S05F05 SecsS05F05 列出告警请求 (List Alarms Request) [ALID, ...] W H→E
S05F06 SecsS05F06 列出告警数据 (List Alarms Data) [{ALCD: B[1], ALID, ALTX: A[120]}, ...] MB
S05F07 SecsS05F07 列出已启用告警请求 (List Enabled Alarms Request) Header only W H→E
S05F08 SecsS05F08 列出已启用告警数据 (List Enabled Alarms Data) [{ALCD: B[1], ALID, ALTX: A[120]}, ...] MB
S05F09 SecsS05F09 异常发布通知 (Exception Post Notify) {TIMESTAMP: A, EXID: A[20], EXTYPE: A, EXMESSAGE: A, [EXRECVRA: A[40], ...]} (W) E→H
S05F10 SecsS05F10 异常发布确认 (Exception Post Confirm) Header only H→E
S05F11 SecsS05F11 异常清除通知 (Exception Clear Notify) {TIMESTAMP: A, EXID: A[20], EXTYPE: A, EXMESSAGE: A} (W) E→H
S05F12 SecsS05F12 异常清除确认 (Exception Clear Confirm) Header only H→E
S05F13 SecsS05F13 异常恢复请求 (Exception Recover Request) {EXID: A[20], EXRECVRA: A[40]} W H→E
S05F14 SecsS05F14 异常恢复确认 (Exception Recover Acknowledge) {EXID: A[20], {ACKA: BOOLEAN, {ERRCODE, ERRTEXT: A[120]}}} E→H
S05F15 SecsS05F15 异常恢复完成通知 (Exception Recover Complete) {TIMESTAMP: A, EXID: A[20], {ACKA: BOOLEAN, {ERRCODE, ERRTEXT: A[120]}}} (W) E→H
S05F16 SecsS05F16 异常恢复完成确认 (Exception Recover Complete ACK) Header only H→E
S05F17 SecsS05F17 异常恢复中止请求 (Exception Recover Abort) EXID: A[20] W H→E
S05F18 SecsS05F18 异常恢复中止确认 (Exception Recover Abort ACK) {EXID: A[20], {ACKA: BOOLEAN, {ERRCODE, ERRTEXT: A[120]}}} E→H

S06 — Data Collection(数据采集)

规范: SEMI E5 Section 6.6

SF 类名 描述 格式 回复 方向
S06F00 SecsS06F00 中止 Stream 6 事务 Header only E↔H
S06F01 SecsS06F01 轨迹数据发送 (Trace Data Send) {TRID, SMPLN, STIME, [SV, ...]} (W) MB
S06F02 SecsS06F02 轨迹数据确认 (Trace Data Acknowledge) ACKC6: B[1] H→E
S06F05 SecsS06F05 多块数据查询 (Multi Block Data Inquiry) {DATAID, DATALENGTH} W E→H
S06F06 SecsS06F06 多块数据授权 (Multi Block Data Grant) GRANT6: B[1] H→E
S06F07 SecsS06F07 数据传输请求 (Data Transfer Request) DATAID W E→H
S06F08 SecsS06F08 数据传输数据 (Data Transfer Data) {DATAID, CEID, [{DSID, [{DVNAME, DVVAL}, ...]}, ...]} MB
S06F11 SecsS06F11 事件报告发送 (Event Report) {DATAID, CEID, [{RPTID, [V, ...]}, ...]} W MB
S06F12 SecsS06F12 事件报告确认 (Event Report Acknowledge) ACKC6: B[1] H→E
S06F15 SecsS06F15 事件报告请求 (Event Report Request) CEID W H→E
S06F16 SecsS06F16 事件报告数据 (Event Report Data) {DATAID, CEID, [{RPTID, [V, ...]}, ...]} MB
S06F19 SecsS06F19 单独报告请求 (Individual Report Request) RPTID W H→E
S06F20 SecsS06F20 单独报告数据 (Individual Report Data) [V, ...] MB
S06F21 SecsS06F21 带注释单独报告请求 (Annotated Report Request) RPTID W H→E
S06F22 SecsS06F22 带注释单独报告数据 (Annotated Report Data) [{VID, V}, ...] MB
S06F23 SecsS06F23 请求假脱机数据 (Request Spooled Data) RSDC: U1[1] W H→E
S06F24 SecsS06F24 请求假脱机数据确认 (Spooled Data Acknowledge) RSDA: B[1] E→H

S07 — Process Program Management(工艺程序管理)

规范: SEMI E5 Section 6.7

SF 类名 描述 格式 回复 方向
S07F00 SecsS07F00 中止 Stream 7 事务 Header only E↔H
S07F01 SecsS07F01 工艺程序加载询问 (PP Load Inquire) {PPID: A/B[120], LENGTH} W E↔H
S07F02 SecsS07F02 工艺程序加载授权 (PP Load Grant) PPGNT: B[1] E↔H
S07F03 SecsS07F03 工艺程序发送 (PP Send) {PPID: A/B[120], PPBODY} W MB
S07F04 SecsS07F04 工艺程序确认 (PP Acknowledge) ACKC7: B[1] E↔H
S07F05 SecsS07F05 工艺程序请求 (PP Request) PPID: A/B[120] W E↔H
S07F06 SecsS07F06 工艺程序数据 (PP Data) {PPID: A/B[120], PPBODY} MB
S07F17 SecsS07F17 删除工艺程序发送 (Delete PP Send) [PPID: A/B[120], ...] W H→E
S07F18 SecsS07F18 删除工艺程序确认 (Delete PP Acknowledge) ACKC7: B[1] E→H
S07F19 SecsS07F19 当前工艺程序请求 (Current PP Request) Header only W H→E
S07F20 SecsS07F20 当前工艺程序数据 (Current PP Data) [PPID: A/B[120], ...] MB
S07F23 SecsS07F23 格式化工艺程序发送 (Format PP Send) {PPID, MDLN, SOFTREV, [{CCODE, [PPARM, ...]}, ...]} W MB
S07F24 SecsS07F24 格式化工艺程序确认 (Format PP Acknowledge) ACKC7: B[1] E↔H
S07F25 SecsS07F25 格式化工艺程序请求 (Format PP Request) PPID: A/B[120] W E↔H
S07F26 SecsS07F26 格式化工艺程序数据 (Format PP Data) {PPID, MDLN, SOFTREV, [{CCODE, [PPARM, ...]}, ...]} W MB

S09 — System Errors(系统错误)

规范: SEMI E5 Section 6.9

SF 类名 描述 格式 回复 方向
S09F00 SecsS09F00 中止 Stream 9 事务 Header only E↔H
S09F01 SecsS09F01 未识别的设备 ID (Unrecognized Device ID) MHEAD: B[10] E→H
S09F03 SecsS09F03 未识别的 Stream 类型 (Unrecognized Stream Type) MHEAD: B[10] E→H
S09F05 SecsS09F05 未识别的 Function 类型 (Unrecognized Function) MHEAD: B[10] E→H
S09F07 SecsS09F07 非法数据 (Illegal Data) MHEAD: B[10] E→H
S09F09 SecsS09F09 事务计时器超时 (Transaction Timer Timeout) SHEAD: B[10] E→H
S09F11 SecsS09F11 数据过长 (Data Too Long) MHEAD: B[10] E→H
S09F13 SecsS09F13 会话超时 (Conversation Timeout) {MEXP: A[6], EDID} E→H

S10 — Terminal Messages(终端消息)

规范: SEMI E5 Section 6.10

SF 类名 描述 格式 回复 方向
S10F00 SecsS10F00 中止 Stream 10 事务 Header only E↔H
S10F01 SecsS10F01 终端请求 (Terminal Request) {TID: B[1], TEXT} (W) E→H
S10F02 SecsS10F02 终端请求确认 (Terminal Acknowledge) ACKC10: B[1] H→E
S10F03 SecsS10F03 终端单次显示 (Terminal Display) {TID: B[1], TEXT} (W) H→E
S10F04 SecsS10F04 终端显示确认 (Terminal Display Acknowledge) ACKC10: B[1] E→H

S12 — Wafer Map(晶圆映射)

规范: SEMI E5 Section 6.12

SF 类名 描述 格式 回复 方向
S12F00 SecsS12F00 中止 Stream 12 事务 Header only E↔H
S12F01 SecsS12F01 映射设置数据发送 (Map Setup Data Send) {MID, IDTYP, FNLOC, FFROT, ORLOC, RPSEL, [REFP], DUTMS, XDIES, YDIES, ROWCT, COLCT, NULBC, PRDCT, PRAXI} W E→H
S12F02 SecsS12F02 映射设置数据确认 (Map Setup Ack) SDACK: B[1] H→E
S12F03 SecsS12F03 映射设置数据请求 (Map Setup Request) {MID, IDTYP, MAPFT, FNLOC, FFROT, ORLOC, PRAXI, BCEQU, NULBC} W E→H
S12F04 SecsS12F04 映射设置数据 (Map Setup Data) {MID, IDTYP, FNLOC, ORLOC, RPSEL, [REFP], DUTMS, XDIES, YDIES, ROWCT, COLCT, PRDCT, BCEQU, NULBC, MLCL} H→E
S12F05 SecsS12F05 映射传输询问 (Map Transmit Inquire) {MID, IDTYP, MAPFT: B[1], MLCL} W E→H
S12F06 SecsS12F06 映射传输授权 (Map Transmit Grant) GRNT1: B[1] H→E
S12F07 SecsS12F07 映射数据类型 1 发送 (Map Type1 Send) {MID, IDTYP, [{RSINF: I[3], BINLT}, ...]} W MB
S12F08 SecsS12F08 映射数据类型 1 确认 (Map Type1 Ack) MDACK: B[1] H→E
S12F09 SecsS12F09 映射数据类型 2 发送 (Map Type2 Send) {MID, IDTYP, STRP: I[2], BINLT} W MB
S12F10 SecsS12F10 映射数据类型 2 确认 (Map Type2 Ack) MDACK: B[1] H→E
S12F11 SecsS12F11 映射数据类型 3 发送 (Map Type3 Send) {MID, IDTYP, [{XYPOS: I[2], BINLT}, ...]} W MB
S12F12 SecsS12F12 映射数据类型 3 确认 (Map Type3 Ack) MDACK: B[1] H→E
S12F13 SecsS12F13 映射数据类型 1 请求 (Map Type1 Request) {MID, IDTYP} W E→H
S12F14 SecsS12F14 映射数据类型 1 数据 (Map Type1 Data) {MID, IDTYP, [{RSINF: I[3], BINLT}, ...]} MB
S12F15 SecsS12F15 映射数据类型 2 请求 (Map Type2 Request) {MID, IDTYP} W E→H
S12F16 SecsS12F16 映射数据类型 2 数据 (Map Type2 Data) {MID, IDTYP, STRP: I[2], BINLT} MB
S12F17 SecsS12F17 映射数据类型 3 请求 (Map Type3 Request) {MID, IDTYP, SDBIN: B[1]} W E→H
S12F18 SecsS12F18 映射数据类型 3 数据 (Map Type3 Data) {MID, IDTYP, [{XYPOS: I[2], BINLT}, ...]} MB
S12F19 SecsS12F19 映射错误报告发送 (Map Error Report) {MAPER: B[1], DATLC: U1} E↔H

S14 — Recipe Management(配方管理)

规范: SEMI E5 Section 6.14 / SEMI E39

SF 类名 描述 格式 回复 方向
S14F00 SecsS14F00 中止 Stream 14 事务 Header only E↔H
S14F01 SecsS14F01 获取属性请求 (GetAttr Request) {OBJSPEC, OBJTYPE, [OBJID, ...], [{ATTRID, ATTRDATA, ATTRRELN}, ...], [ATTRID, ...]} W E↔H
S14F02 SecsS14F02 获取属性数据 (GetAttr Data) {[{OBJID, [{ATTRID, ATTRDATA}, ...]}, ...], {OBJACK, [{ERRCODE, ERRTEXT}, ...]}} MB
S14F03 SecsS14F03 设置属性请求 (SetAttr Request) {OBJSPEC, OBJTYPE, [OBJID, ...], [{ATTRID, ATTRDATA}, ...]} W E↔H
S14F04 SecsS14F04 设置属性数据 (SetAttr Data) {[{OBJID, [{ATTRID, ATTRDATA}, ...]}, ...], {OBJACK, [{ERRCODE, ERRTEXT}, ...]}} MB

ACK 值参考

以下是各 Stream/Function 回复中使用的 ACK 数据项的具体值定义。

S01F14 — COMMACK(建立通信确认码)

常量 含义
0 COMMACK.ACCEPTED 接受
1 COMMACK.DENIED 拒绝,请重试
2-63 保留

S01F16 — OFLACK(离线确认码)

常量 含义
0 OFLACK.ACK 离线确认
1-63 保留

S01F18 — ONLACK(在线确认码)

常量 含义
0 ONLACK.ACCEPTED 在线接受
1 ONLACK.NOT_ALLOWED 在线不被允许
2 ONLACK.ALREADY_ON 已经在线
3-63 保留

S02F16 — EAC(设备常量确认码)

常量 含义
0 EAC.ACK 确认
1 EAC.INVALID_CONSTANT 拒绝,常量不存在
2 EAC.BUSY 拒绝,设备忙
3 EAC.OUT_OF_RANGE 拒绝,常量值超出范围
4-63 保留,设备特定

S02F22 — CMDA(远程命令确认码)

常量 含义
0 CMDA.DONE 已完成/已执行
1 CMDA.COMMAND_UNKNOWN 命令不存在
2 CMDA.NOT_NOW 当前无法执行
3-63 保留,设备特定错误

S02F24 — TIAACK(轨迹初始化确认码)

常量 含义
0 TIAACK.OK 正常
1 TIAACK.SVID_EXCEEDED SVID 数量超出限制
2 TIAACK.TRACES_DENIED 不允许更多轨迹
3 TIAACK.INVALID_PERIOD 无效的采样周期
4 TIAACK.SVID_UNKNOWN 未知的 SVID
5 TIAACK.REPGSZ_INVALID 无效的 REPGSZ
6-63 保留

S02F32 — TIACK(时间设置确认码)

常量 含义
0 TIACK.ACK 时间设置成功
1 TIACK.TIME_SET_FAIL 时间设置失败

S02F34 — DRACK(定义报告确认码)

常量 含义
0 DRACK.ACK 确认
1 DRACK.INSUFFICIENT_SPACE 拒绝,空间不足
2 DRACK.INVALID_FORMAT 拒绝,格式无效
3 DRACK.RPTID_REDEFINED 拒绝,RPTID 已定义
4 DRACK.VID_UNKNOWN 拒绝,VID 不存在
5-63 保留,其他错误

S02F36 — LRACK(链接事件报告确认码)

常量 含义
0 LRACK.ACK 确认
1 LRACK.INSUFFICIENT_SPACE 拒绝,空间不足
2 LRACK.INVALID_FORMAT 拒绝,格式无效
3 LRACK.CEID_LINKED 拒绝,CEID 已链接
4 LRACK.CEID_UNKNOWN 拒绝,CEID 不存在
5 LRACK.RPTID_UNKNOWN 拒绝,RPTID 不存在
6-63 保留,其他错误

S02F38 — ERACK(启用/禁用事件报告确认码)

常量 含义
0 ERACK.ACCEPTED 接受
1 ERACK.CEID_UNKNOWN 拒绝,CEID 不存在
2-63 保留

S02F42 / S02F50 — HCACK(主机命令确认码)

常量 含义
0 HCACK.ACK 确认
1 HCACK.INVALID_COMMAND 拒绝,无效命令
2 HCACK.CANT_PERFORM_NOW 拒绝,当前无法执行
3 HCACK.PARAMETER_INVALID 拒绝,参数无效
4 HCACK.ACK_FINISH_LATER 确认,稍后完成
5 HCACK.ALREADY_IN_CONDITION 拒绝,已处于该状态
6 HCACK.NO_OBJECT 无此对象
7-63 保留

S02F42 / S02F50 — CPACK(命令参数确认码)

常量 含义
1 CPACK.PARAMETER_UNKNOWN 参数名未知
2 CPACK.CPVAL_ILLEGAL_VALUE CPVAL 值非法
3 CPACK.CPVAL_ILLEGAL_FORMAT CPVAL 格式非法
4-63 保留

S02F44 — RSPACK(重置假脱机确认码)

常量 含义
0 RSPACK.ACK 确认,假脱机设置已接受
1 RSPACK.REJECTED 假脱机设置被拒绝
2-63 保留

S02F44 — STRACK(假脱机 Stream 确认码)

常量 含义
1 STRACK.NOT_ALLOWED 该 Stream 不允许假脱机
2 STRACK.STREAM_UNKNOWN Stream 未知
3 STRACK.FUNCTION_UNKNOWN 该 Stream 的 Function 未知
4 STRACK.SECONDARY 该 Stream 的次要 Function

S02F46 — VLAACK(变量限制属性确认码)

常量 含义
0 VLAACK.ACK 确认,命令将执行
1 VLAACK.LIMIT_DEF_ERROR 限制属性定义错误
2 VLAACK.NOT_NOW 当前无法执行
3-63 保留,设备特定错误

S02F46 — LVACK(变量限制确认码)

常量 含义
0 LVACK.OK 正常
1 LVACK.VARIABLE_UNKNOWN 变量不存在
2 LVACK.NO_LIMITS 变量无限制
3 LVACK.DUPLICATE_VARIABLE 变量重复
4 LVACK.LIMIT_ERROR 限制值错误
5-63 保留

S02F46 — LIMITACK(限制属性确认码)

常量 含义
0 LIMITACK.OK 正常
1 LIMITACK.LIMITID_UNKNOWN LIMITID 不存在
2 LIMITACK.UPPERDB_MORE_LIMITMAX UPPERDB > LIMITMAX
3 LIMITACK.LOWERDB_LESS_LIMITMIN LOWERDB < LIMITMIN
4 LIMITACK.UPPERDB_LESS_LOWERDB UPPERDB < LOWERDB
5 LIMITACK.ILLEGAL_FORMAT UPPER/LOWERDB 格式非法
6 LIMITACK.ASCII_ILLEGAL ASCII 值非法
7 LIMITACK.DUPLICATE 重复的限制定义
8-63 保留,设备特定错误

S03F18 — CAACK(载具操作确认码)

常量 含义
0 CAACK.ACCEPTED 接受

S05F02 / S05F04 — ACKC5(Stream 5 确认码)

常量 含义
0 ACKC5.ACCEPTED 接受
1-63 ACKC5.ERROR 错误

S05F14 / S05F15 / S05F18 — ACKA(请求成功标记)

含义
True 成功
False 失败

S06F02 / S06F12 — ACKC6(Stream 6 确认码)

常量 含义
0 ACKC6.ACCEPTED 接受
1-63 ACKC6.ERROR 错误

S06F06 — GRANT6(多块数据授权码)

常量 含义
0 GRANT6.GRANTED 授权
1 GRANT6.BUSY
2 GRANT6.NOT_INTERESTED 不感兴趣
3-63 其他错误

S06F23 — RSDC(请求假脱机数据命令)

常量 含义
0 RSDC.TRANSMIT 传输假脱机消息
1 RSDC.PURGE 清除假脱机消息
2-63 保留

S06F24 — RSDA(请求假脱机数据确认码)

常量 含义
0 RSDA.ACK 确认
1 RSDA.DENIED_BUSY 拒绝,忙,请稍后重试
2 RSDA.DENIED_NO_DATA 拒绝,假脱机数据不存在
3-63 保留

S07F02 — PPGNT(工艺程序授权码)

常量 含义
0 PPGNT.OK 确认
1 PPGNT.ALREADY_HAVE 已拥有
2 PPGNT.NO_SPACE 空间不足
3 PPGNT.INVALID_PPID PPID 无效
4 PPGNT.BUSY 忙,请稍后重试
5 PPGNT.WILL_NOT_ACCEPT 不会接受
6-63 保留,其他错误

S07F04 / S07F18 / S07F24 — ACKC7(Stream 7 确认码)

常量 含义
0 ACKC7.ACCEPTED 接受
1 ACKC7.NO_PERMISSION 无权限
2 ACKC7.LENGTH_ERROR 长度错误
3 ACKC7.MATRIX_OVERFLOW 矩阵溢出
4 ACKC7.PPID_NOT_FOUND PPID 未找到
5 ACKC7.MODE_UNSUPPORTED 模式不支持
6 ACKC7.PERFORMED_LATER 稍后执行
7-63 保留

S10F02 / S10F04 — ACKC10(终端确认码)

常量 含义
0 ACKC10.ACCEPTED 接受
1 ACKC10.NOT_DISPLAYED 不会显示
2 ACKC10.TERMINAL_NOT_AVAILABLE 终端不可用
3-63 其他错误

S12F02 — SDACK(映射设置确认码)

常量 含义
0 SDACK.ACK 已接收数据
1-63 错误

S12F06 — GRNT1(映射传输授权码)

常量 含义
0 GRNT1.ACK 确认
1 GRNT1.BUSY 忙,请重试
2 GRNT1.NO_SPACE 空间不足
3 GRNT1.MAP_TOO_LARGE 映射过大
4 GRNT1.DUPLICATE_ID ID 重复
5 GRNT1.MATERIALID_UNKNOWN 物料 ID 未找到
6 GRNT1.UNKNOWN_MAP_FORMAT 未知映射格式
7-63 保留,错误

S12F08 / S12F10 / S12F12 — MDACK(映射数据确认码)

常量 含义
0 MDACK.ACK 映射已接收
1 MDACK.FORMAT_ERROR 格式错误
2 MDACK.UNKNOWN_ID ID 不匹配
3 MDACK.ABORT_MAP 中止/丢弃映射
4-63 保留,错误

S14F02 / S14F04 — OBJACK(对象确认码)

常量 含义
0 OBJACK.SUCCESSFUL 成功
1 OBJACK.ERROR 错误
2-63 保留

汇总统计

Stream 功能范围 规范 SF 数量
S00 Abort Transaction SEMI E5 §6.1 1
S01 Equipment Status SEMI E5 §6.2 18
S02 Equipment Constants and Reports SEMI E5 §6.3 30
S03 Material/Recipe Status SEMI E5 §6.4 2
S05 Exception/Alarm Reporting SEMI E5 §6.5 18
S06 Data Collection SEMI E5 §6.6 16
S07 Process Program Management SEMI E5 §6.7 14
S09 System Errors SEMI E5 §6.9 8
S10 Terminal Messages SEMI E5 §6.10 4
S12 Wafer Map SEMI E5 §6.12 19
S14 Recipe Management SEMI E5 §6.14 / E39 4
合计 134

开发计划

  • 支持更多 GEM 高级特性(Trace Data、Spooling 等)

许可证

本项目基于 MIT 许可证开源。


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secsgempro-1.0.2.tar.gz (117.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

secsgempro-1.0.2-py3-none-any.whl (272.7 kB view details)

Uploaded Python 3

File details

Details for the file secsgempro-1.0.2.tar.gz.

File metadata

  • Download URL: secsgempro-1.0.2.tar.gz
  • Upload date:
  • Size: 117.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.11.9 Windows/10

File hashes

Hashes for secsgempro-1.0.2.tar.gz
Algorithm Hash digest
SHA256 2c025bcf372f84fcf034fef40d3b647224ed9851aa35ca8aab3acca7bd3549a5
MD5 6d191fee71f79901ea747f427b670c50
BLAKE2b-256 595377db8b6320ddd12536dffbfade730a9ba8359270c9e2fc0e992e7b35502d

See more details on using hashes here.

File details

Details for the file secsgempro-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: secsgempro-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 272.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.11.9 Windows/10

File hashes

Hashes for secsgempro-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 356a3be717107bfec9de87acf9a49a59c0fdcbb1bdf4b31fd14511e1a9855269
MD5 e0b144bd43823af82e1f75b2b3b6f281
BLAKE2b-256 1b6248be36cba1047af3b0bc0970e31d8ee413728c59dddbd699e717a9925a8e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page