2. EAP系统核心机制

EAP(Equipment Automation Program,设备自动化程序)是MES/APC与生产设备之间的“翻译官+调度员”。它把上层系统的生产指令翻译成设备能理解的SECS/GEM消息,同时把设备内部的运行状态、工艺参数、报警和事件实时回传给上层。理解EAP,关键要抓住五件事:它做什么、用什么协议通信、设备处于什么状态、配方如何管理、数据与事件如何上报。

一、EAP的功能定位

EAP通常以独立进程或服务形式部署在设备旁的工控机上,向上通过TCP/IP与MES、APC、RMS(配方管理系统)通信,向下通过SECS/GEM与设备控制器(如PLC、运动控制器、机台软件)通信。它的核心职责包括:

  • 指令下发:接收MES的派工、开工、暂停、终止等命令,转换为设备可执行的远程命令(RCMD)。
  • 状态监控:持续采集设备状态、子状态、报警、工艺参数,并同步到上层。
  • 配方管理:负责配方的上传、下载、校验、版本比对与切换。
  • 数据采集与事件报告:按周期或触发条件采集数据,生成事件报告并上报。
  • 异常处理:对通信超时、设备报警、配方不匹配等情况进行拦截、重试或告警。

二、SECS/GEM协议:EAP与设备的通信语言

SECS/GEM是半导体及泛半导体设备通信的事实标准。SECS-II定义了消息的格式(Stream和Function,如S1F1、S2F41),GEM则定义了设备应具备的行为模型,包括状态模型、报警、事件、配方、数据采集等。EAP与设备之间通过HSMS(High-Speed SECS Message Services)在TCP/IP上建立会话,典型端口为5000。

一条典型的远程命令交互如下:EAP发送S2F41(Host Command)携带命令名和参数,设备执行后回复S2F42确认;若设备需要主动上报,则通过S6F11(Event Report)发送事件报告,EAP回复S6F12确认。下面是一个S2F41消息的示例结构:

S2F41 W
<L [2]
  <A [6] "START">          // 命令名
  <L [2]
    <L [2]
      <A [8] "RECIPEID">   // 参数名
      <A [10] "RCP_A001">  // 参数值
    >
    <L [2]
      <A [8] "LOTID">
      <A [8] "LOT23001">
    >
  >
>

EAP在实现时,通常会把SECS消息封装成内部对象,再映射为业务方法。例如收到S6F11事件报告后,解析CEID(Collection Event ID)和RPTID(Report ID),再根据配置表把数据写入数据库或转发给APC。

三、设备状态模型:EAP判断设备能否接活的基础

GEM定义了设备状态模型,EAP必须实时维护该状态。核心状态包括:

  • Communicating(通信状态):设备与EAP是否已建立HSMS会话。
  • Control State:设备处于Local(本地控制)还是Remote(远程控制)。只有Remote状态下,EAP才能下发远程命令。
  • Processing State:设备是Idle(空闲)、Setup(准备)、Processing(加工中)还是Paused(暂停)。
  • Alarm State:是否存在未清除的报警。

EAP在派工前必须检查:通信正常、Control State为Remote、Processing State为Idle、无未清除报警。任一条件不满足,派工请求应被拒绝或排队等待。例如,当设备处于Local状态时,EAP下发S2F41会收到S2F42的拒绝响应,此时EAP应记录日志并通知MES“设备未就绪”。

四、配方管理:EAP的“版本守门员”

配方管理是EAP最容易出问题的环节。典型流程是:MES下发配方ID和版本号,EAP先查询设备当前配方,若不一致则通过S7F3(Process Program Send)下载新配方,下载完成后通过S7F5(Process Program Request)回读校验,确认PPID和内容一致后,再允许开工。若校验失败,EAP应阻止开工并触发报警。

实际项目中,EAP通常维护一张配方映射表,记录MES配方ID、设备PPID、版本号、校验码(如MD5)和生效时间。每次下载前比对校验码,避免重复下载;下载后再次比对,确保设备端配方未被篡改。

五、数据采集与事件报告:EAP的“感官系统”

数据采集分为两类:周期采集和事件触发采集。周期采集通过S1F3(Selected Equipment Status Request)或S6F15(Event Report Request)按固定间隔获取温度、压力、流量等参数;事件触发采集则由设备在特定事件发生时主动发送S6F11,例如“加工开始”“加工结束”“报警发生”。

EAP收到S6F11后,解析报告中的VID(Variable ID)和对应值,按配置写入时序数据库或转发给APC。对于APC闭环控制,EAP还需要把APC计算出的新配方参数通过S7F3下发到设备,形成“采集—建模—优化—下发”的闭环。

教学示例:假设某刻蚀设备每5秒上报一次腔体温度,EAP配置的采集周期为5秒,APC模型每30秒计算一次新的温度设定值。EAP在收到S6F11后,将温度值写入时序库,APC读取最近30秒数据后输出新设定值,EAP再通过S7F3更新配方中的温度参数。该示例为合理假设,用于说明数据流关系。
EAP核心机制:协议、状态、配方与数据流 MES / APC 派工·配方·模型 EAP 设备自动化程序 指令转换 RCMD / S2F41 状态维护 Control/Process 配方管理 S7F3 / S7F5 数据采集 S1F3 / S6F11 事件报告与异常处理 CEID / RPTID / Alarm 设备状态模型(GEM) Communicating Control Processing Alarm State(报警) 生产设备 PLC / 机台软件 指令/配方 状态/数据 S2F41/S7F3 S6F11/S7F5 EAP通过HSMS/SECS-II与设备交互,维护状态模型,管理配方版本,采集数据并上报事件,形成闭环控制基础

把上述五部分串起来看,EAP的工作可以概括为:先确认设备状态允许开工,再校验并下发配方,然后下发远程命令启动加工,同时持续采集数据和接收事件报告,最后把结果反馈给MES和APC。任何一个环节的配置错误或状态判断遗漏,都可能导致批次报废或设备停机。因此,在实际集成中,EAP的日志、状态缓存和异常重试策略,往往比协议本身更值得投入精力。