2. 设备通信协议速览

在EAP设备联机工程中,协议选型决定了后续调试的难度、数据采集的粒度以及故障排查的路径。很多现场问题并非设备本身故障,而是协议栈组合与设备能力不匹配。因此,理解SECS/GEM、HSMS、TCP/IP、串口、OPC UA各自扮演的角色,以及它们如何组合,是联机测试的第一道基本功。

一、协议分层:谁承载谁,谁定义语义

这五种协议并非并列关系,而是分布在不同的通信层次上。TCP/IP是传输层与网络层的基础,负责把字节可靠地送到对端;串口(RS-232/RS-485)是物理层与链路层的传统通道,常用于老设备或简单控制器;HSMS是SEMI E37标准,把SECS-II消息封装后跑在TCP/IP之上,是当前300mm设备的主流选择;SECS-II(SEMI E5)定义消息语义,GEM(SEMI E30)定义设备行为模型与状态机;OPC UA则是IEC 62541定义的独立信息模型与通信栈,既可跑TCP,也可跑HTTPS/WebSocket,语义由配套的companion specification或设备厂商自定义信息模型决定。

EAP联机协议分层与典型组合 SECS/GEM 协议栈(半导体设备主流) GEM (SEMI E30) 设备行为模型、状态机、报警、事件 SECS-II (SEMI E5) 消息语义:S1F1、S2F41、S6F11… HSMS (SEMI E37) 消息封装、Select/Deselect、心跳 TCP/IP 端口5000、长连接、字节流 以太网物理层 RJ45、光纤、交换机 OPC UA 协议栈 信息模型 / Companion Spec 节点、变量、方法、类型定义 OPC UA 二进制/JSON 编码 安全通道、会话、订阅 串口通道(老设备/简单控制器) RS-232 / RS-485 波特率、数据位、校验、停止位 自定义报文 / Modbus RTU ASCII或二进制帧、CRC校验 可共存

二、典型组合方式与适用场景

在实际EAP联机中,最常见的组合有以下四类:

  • SECS-II + HSMS + TCP/IP:这是半导体前道设备的标准组合。设备作为HSMS被动端监听5000端口,EAP作为主动端发起连接。GEM层负责定义设备状态、报警、事件上报和远程命令。适合光刻、刻蚀、薄膜等具备GEM接口的机台。
  • SECS-II + HSMS + TCP/IP + 串口网关:当设备只有串口输出时,通过串口服务器或协议网关将串口数据转换为HSMS消息。此时EAP仍按SECS/GEM处理,但需注意网关的缓冲深度和超时设置。
  • OPC UA + TCP/IP:适合非半导体标准设备,如部分检测仪器、环境监控、厂务系统。EAP作为OPC UA Client,通过订阅方式采集变量。语义由设备厂商的地址空间决定,需要提前获取节点ID清单。
  • 串口直连 + 自定义协议:用于极简控制器或老旧设备,EAP通过串口库直接收发字节流。此时没有统一语义,必须依据设备手册逐条实现命令与应答解析。

三、选型依据:从设备能力反推协议栈

选型不是先选协议再找设备,而是先确认设备支持什么。现场可按以下顺序判断:

  1. 查看设备手册或接口清单,确认是否声明支持SECS/GEM、HSMS或OPC UA。
  2. 若支持HSMS,进一步确认是主动模式还是被动模式,端口号是否为5000,是否支持Select/Deselect。
  3. 若只支持OPC UA,确认端点URL、安全策略、是否允许匿名登录、订阅周期最小值。
  4. 若只有串口,确认物理接口类型、波特率、数据格式、命令集是否公开。
  5. 若设备同时支持多种协议,优先选择与工厂MES/EAP平台一致的那一种,减少转换层。
选型提示:HSMS被动端设备通常需要EAP主动连接,若EAP侧防火墙未放行5000端口,表现为连接超时而非协议错误。OPC UA则需确认证书信任关系,否则会卡在安全通道建立阶段。

四、参数与调试观察点

不同协议组合在调试时关注的参数不同。以下表格列出典型观察点,便于快速定位问题。

协议组合 关键参数 正常表现 常见异常
HSMS + TCP/IP 端口5000、T3超时45s、T5连接间隔10s、T6控制超时5s Select成功后持续心跳,S1F1应答S1F2 连接被拒、Select无响应、心跳超时断连
SECS-II + GEM 设备ID、CEID、RPTID、报警ID 事件按CEID上报,报警可清除 CEID未定义、报告未启用、报警卡死
OPC UA Endpoint URL、SecurityPolicy、订阅间隔、节点ID 会话建立、订阅回调正常、变量值刷新 证书不受信、节点不存在、订阅超时
串口 波特率9600/19200、8N1、命令帧格式、CRC 发送命令后收到完整应答帧 乱码、超时、帧不完整、校验失败

五、实操示例:HSMS连接建立的关键报文

以EAP主动连接设备HSMS被动端为例,连接建立后首先交换Select.req与Select.rsp。以下为简化后的报文结构示意,用于理解字段含义:

Select.req  (HSMS控制消息)
  SessionID: 0xFFFF
  HeaderByte2: 0x00
  HeaderByte3: 0x00
  PType: 0x00
  SType: 0x01
  SystemBytes: 0x00000001

Select.rsp  (设备应答)
  SessionID: 0xFFFF
  HeaderByte2: 0x00
  HeaderByte3: 0x00
  PType: 0x00
  SType: 0x02
  SystemBytes: 0x00000001
  SelectStatus: 0x00  (0=成功)

若SelectStatus非0,常见原因包括设备未使能HSMS、SessionID不匹配或设备已处于被占用状态。此时应先检查设备侧HSMS配置,而非反复重连。

注意:串口转HSMS网关场景中,网关的串口超时与HSMS的T3超时需协调设置。若串口响应慢于T3,EAP会先判定HSMS超时,导致误判为网络问题。

六、选型决策的工程化建议

综合来看,选型应遵循“设备能力优先、平台一致性其次、转换层最少”的原则。对于新建产线,优先要求设备支持SECS/GEM over HSMS;对于既有设备改造,若无法加装GEM接口,可考虑OPC UA或串口网关,但需在EAP侧增加协议适配层,并明确该层的维护责任。无论选择哪种组合,联机测试前都应先完成物理层连通性验证、端口探测和协议握手测试,再进入数据采集与命令下发阶段。