3. AMHS与MES接口总览:接口交互的典型场景、数据流方向与协议基础
AMHS(自动物料搬运系统)与MES(制造执行系统)的接口是整个半导体/电子制造工厂自动化体系的中枢神经。本章从宏观视角梳理两者之间的交互全景,包括典型业务场景、数据流方向以及底层通信协议栈,为后续章节的逐层深入调试奠定基础。
3.1 典型交互场景
AMHS与MES之间的交互围绕物料搬运的生命周期展开,核心场景可归纳为以下五类:
| 场景 | 触发方 | 描述 | 典型报文方向 |
|---|---|---|---|
| 物料请求 | MES | 生产设备需要物料(FOUP/晶圆盒)时,MES向AMHS请求搬运至指定Port | MES → AMHS |
| 搬运指令 | MES | MES下发明确的搬运任务(源地址→目标地址),AMHS执行调度 | MES → AMHS |
| 到达确认 | AMHS | 物料到达目标设备Port后,AMHS上报到达事件,MES更新物料位置 | AMHS → MES |
| 状态上报 | AMHS | AMHS周期性或事件触发上报设备状态(OHT/Stocker/AGV运行状态) | AMHS → MES |
| 异常处理 | 双方 | 搬运超时、路径阻塞、设备故障等异常事件的双向通知与恢复 | 双向 |
调试要点: 在接口调试阶段,物料请求和到达确认是最容易出错的环节。建议优先验证这两个场景的报文格式与响应超时设置。
3.2 数据流方向分析
AMHS与MES之间的数据流并非单一方向,而是呈现双向、异步、实时的特征。根据业务场景的不同,数据流可分为以下三种模式:
- 下行流(MES → AMHS): 包含物料请求、搬运指令、取消指令、优先级变更等。AMHS作为执行端,必须保证指令的幂等性和时序正确性。
- 上行流(AMHS → MES): 包含到达确认、位置上报、设备状态、报警事件、搬运完成回执等。MES依赖这些信息维护实时物料地图。
- 双向流(MES ↔ AMHS): 包含握手/心跳检测、异常协商、批量数据同步(如Stocker库存清单)等。
3.3 协议基础
AMHS与MES的接口通信依赖标准化的工业协议。根据工厂自动化成熟度和实时性要求,主流协议包括以下三种:
3.3.1 SECS/GEM (HSMS)
SECS/GEM是半导体行业最经典的设备自动化协议,通过HSMS(TCP/IP)传输。AMHS系统中的Stocker、OHT等设备通常作为Equipment端,MES作为Host端。
- 通信模式: 主动/被动模式,通常AMHS作为被动端等待MES连接。
- 典型报文: S1F13 (建立通信请求)、S2F41 (远程命令)、S6F11 (事件报告)。
- 适用场景: 实时性要求高的搬运指令和状态上报。
// SECS/GEM 搬运指令示例 (S2F41)
Stream: 2
Function: 41
WBit: 1
Data:
<L>
<U4> 1001 </U4> // 指令ID
<A> MOVE </A> // 指令类型
<L>
<A> SOURCE </A> <A> STK-01-PORT-03 </A>
<A> DEST </A> <A> EQ-05-PORT-02 </A>
<A> CARRIERID </A> <A> FOUP-12345 </A>
</L>
</L>
3.3.2 Web Service (REST/SOAP)
Web Service适用于IT层与AMHS上层调度系统之间的交互,通常用于非实时性业务,如批量查询、配置下发、报表数据同步。
- RESTful API: 使用JSON格式,轻量级,适合微服务架构。
- SOAP: 使用XML格式,安全性高,适合企业级集成。
- 适用场景: 物料请求、库存查询、历史数据追溯。
// RESTful API 物料请求示例 (JSON)
POST /api/v1/amhs/transport-request
Content-Type: application/json
{
"requestId": "REQ-20250321-001",
"carrierId": "FOUP-A123",
"source": "STK-01",
"destination": "EQ-05-PORT-02",
"priority": 1,
"timestamp": "2025-03-21T10:30:00Z"
}
3.3.3 MQ (消息队列)
消息队列(如RabbitMQ、Kafka、ActiveMQ)用于解耦MES与AMHS之间的异步通信,特别适合高吞吐量的事件流处理。
- 发布/订阅模式: AMHS发布事件,MES订阅消费。
- 持久化: 消息可持久化,防止数据丢失。
- 适用场景: 大批量状态上报、到达确认、报警广播。
// MQ 到达确认消息示例 (JSON)
Topic: amhs/arrival/event
Payload:
{
"eventType": "ARRIVAL_CONFIRM",
"carrierId": "FOUP-A123",
"location": "EQ-05-PORT-02",
"arrivalTime": "2025-03-21T10:35:12.456Z",
"status": "SUCCESS"
}
协议选型建议:
- 实时控制指令(搬运、取消)→ SECS/GEM(毫秒级响应)
- 业务层请求/查询(物料请求、库存)→ Web Service(秒级响应)
- 海量事件流(状态上报、到达确认)→ MQ(异步削峰)
3.4 协议对比总结
| 特性 | SECS/GEM (HSMS) | Web Service (REST/SOAP) | MQ (消息队列) |
|---|---|---|---|
| 传输层 | TCP/IP | HTTP/HTTPS | TCP/IP (AMQP/MQTT) |
| 数据格式 | SECS-II (二进制/ASCII) | JSON / XML | JSON / Avro / Protobuf |
| 实时性 | 高(毫秒级) | 中(秒级) | 中高(毫秒~秒级) |
| 耦合度 | 紧耦合(长连接) | 松耦合(请求-响应) | 松耦合(异步) |
| 典型场景 | 搬运指令、状态上报 | 物料请求、配置查询 | 到达确认、报警广播 |
| 调试难度 | 高(需专用模拟器) | 低(Postman/curl) | 中(需监控队列) |
常见陷阱: 在混合协议架构中,务必注意事务一致性。例如:通过Web Service下发搬运指令后,AMHS执行完成通过MQ上报到达确认,此时MES需要设计去重和时序校验逻辑,避免因网络延迟导致物料状态错乱。