SECS是什么?
SEMI电子半导体联盟,为实现设备与工厂系统的快速对接数据,状态,配方,程序的标准化协议,SECS具有多个版本,本文主要介绍E5协议 HSMS通信方式,设备端的处理流程(Passive模式)。
SECS关键字
- Host 主机一般指向工厂控制系统
- EQP 单机设备
- Active 在Tcp通信中主动连接对方的(可理解为客户端)
- Passive 被动等待对方连接(可理解为服务器)
- Device ID 设备标识
- CEID 事件编号
- SVID 设备状态编号
- VID 设备变量ID
- RPTID 报告编号
- PPID 配方编号
- ALCD 报警清除或者报警设置
- ALID 报警编号
- ALTX 报警文本
SECS的流和功能
Secs按照功能大类用Stream标识 按照具体功能Fucntion的方式标识
Stream编号 | 功能名称 | Stream编号 | 功能名称 |
1 | 设备状态 | 10 | 终端服务 |
2 | 设备控制与诊断-I | 11 | 主机文件服务 |
3 | 原料状态 | 12 | 晶元定位 |
4 | 原料控制 | 13 | 数据集传输 |
5 | 意外处理 | 14 | 对象服务 |
6 | 数据采集 | 15 | 配方管理 |
7 | 加工程序控制 | 16 | 加工管理 |
8 | 控制程序输出 | 17 | 设备控制与诊断-II |
9 | 系统错误 | 18 | 子系统控制与数据 |
具体功能可以查看文末链接下。
S1F1,S1F2举例
S1F1 询问对方可以连接。
S1F2 应答对方是否可以连接。
SECS采用这样一问一答的形式,又问必有答。
发送者发送奇数 响应者发送偶数。
SECS 协议与报文
Secs 报文以16进制方式显示
rsp - 响应
req - 请求
Tcp连接是状态转换
- Not Connected 未建立连接状态
- Not Selected 已建立连接但为接受到selecte.rsp
- Selected 可以发送Secs的消息状态
报文格式
Message Length: 报文总长度减去自身占的4个字节(低位在后)
Message Header: 报文头占用10字节
Message Text: 具体消息内容
报文头详解(Message Header)
序号指从左到右字节的顺序
序号 | 标识 | 内容 |
---|---|---|
01 | Session ID up | 相当于设备标识高字节,单机设备固定不变 |
02 | Session ID low | 相当于设备标识低字节,单机设备固定不变 |
03 | Stream | 不同消息不同例如S1则是1 |
04 | Function | 不同消息不同例如F1则是1 |
05 | PType | 消息编码格式 HSMS固定0 |
06 | SType | 取值可参考下面表格 |
07-10 | System Bytes | 标识一次通信 |
连接状态报文
类型 | 报文长度 | 报文头 | 报文内容 |
---|---|---|---|
select.req | 00 00 00 0A | FF FF 00 00 00 01 System Bytes | 无 |
select.rsp | 00 00 00 0A | FF FF 00 00 00 02 System Bytes | 无 |
LinkTest.req | 00 00 00 0A | FF FF 00 00 00 05 System Bytes | 无 |
LinkTest.rsp | 00 00 00 0A | FF FF 00 00 00 06 System Bytes | 无 |
System Bytes 标识每一次消息的标签占4字节,响应时可以依据发送者报文头最后4字节,发送可生成不重复的4个字节。
select.req 请求进入selected状态
select.rsp 回应可以进入selected状态
LinkTest.req 发送测试请求 主要是判断是否网络正常
LinkTest.rsp 回应对方请求
SECS-II 报文格式
上图是数据项头部(Item Header/IH)定义,分为数据项的长度字节和格式字节,数据项头部的长度范围是 2-4个字节,其格式如图 4-11 所示。
格式字节:数据项头部的第1个字节是格式字节,它定义了数据项的格式和表示数据项长度的字节数,第 1、2 位表示长度字节的个数,其取值范围是 1-3,第 3-8 位定义了数据项的格式,即数据项的数据类型,目前 SECS-II 协议一共定义了 16 种数据项类型代码,它们的取值和含义如下面表 4.5 所示。
长度字节:数据项头部的第2~4字节是长度字节,数据项头部的长度由长度字节数决定,长度字节数的取值表示长度字节的个数,长度字节根据的长度字节数取值表示的是 8/16/24 位无符号整数,它表示数据项内容(Item Body/IB)的长度。
下面是一个消息格式的解析案例: