01
SECS/GEM 概述
半导体工厂自动化与 SECS/GEM 协议的历史、应用场景及核心价值。
历史价值
02
HSMS 通信基础
HSMS 协议栈、连接建立与断开、消息格式 (Message Header & Data)。
协议栈消息格式
03
SECS-I 通信基础
RS-232 物理层、块传输协议、与 HSMS 的对比。
RS-232块传输
04
消息结构详解
Stream & Function 概念、Message ID、W-Bit、系统字节。
SxFyW-Bit
05
数据类型与编码
SML 格式、Item 结构、L/U/A/B/BOOLEAN/I1/I2/I4/I8/F4/F8 详解。
Item编码
06
SML 语言入门
SML 语法、Item 嵌套、列表与数组的表示。
语法嵌套
07
Python 环境搭建
虚拟环境、依赖管理、常用 SECS/GEM 库 (secsgem, pysecs)。
venvsecsgem
08
使用 secsgem 库建立连接
安装 secsgem、配置 HSMS 主动/被动模式、连接模拟器。
主动/被动模拟器
09
发送与接收消息
使用 secsgem 发送 SxFy 消息、解析响应、处理超时。
SxFy超时
10
消息解析实战
解析 S1F1 (Are You There)、S1F2、S5F1 (Alarm Report) 等。
S1F1S5F1
11
异常处理基础
Python 异常机制 (try/except/finally)、SECS/GEM 常见异常类型。
try/except异常类型
12
连接异常处理
连接超时、断开、重连机制的设计与实现。
重连超时
13
消息超时处理
T3/T5/T6/T7/T8 超时概念、超时异常捕获与重试策略。
T3重试
14
数据解析异常
数据类型不匹配、Item 缺失、SML 解析错误处理。
Item缺失SML错误
15
状态机与异常
SECS/GEM 状态模型 (Init/Communicating/Remote)、状态转换异常。
状态模型转换异常
16
日志与监控
使用 logging 模块记录通信日志、异常日志、关键事件追踪。
logging监控
17
单元测试
使用 unittest/pytest 对消息解析、异常处理逻辑进行测试。
pytestunittest
18
模拟器开发
用 Python 开发简单 SECS/GEM 设备模拟器,用于测试。
模拟器测试
19
实战:E87 场景
解析 Carrier 信息 (S1F3/S1F4)、处理数据缺失异常。
E87Carrier
20
实战:E39 场景
解析 Equipment Constant (S2F13/S2F14)、处理值越界异常。
E39Equipment Constant
21
实战:E5 场景
解析 Alarm 管理 (S5F1/S5F2/S5F3)、处理 Alarm ID 异常。
E5Alarm
22
实战:E10 场景
解析 Process Program (S7F1/S7F2/S7F3)、处理程序名异常。
E10Process Program
23
实战:E90 场景
解析 Substrate Tracking (S1F3/S1F4 扩展)、处理 Carrier ID 异常。
E90Substrate
24
性能优化
消息批处理、异步 I/O 与 asyncio 在 SECS/GEM 中的应用。
asyncio批处理
25
安全性考虑
TLS/SSL 加密 HSMS、身份验证、防重放攻击。
TLS身份验证
26
多设备管理
管理多个设备连接、消息路由、会话隔离。
路由会话隔离
27
配置管理
使用 YAML/JSON 配置文件管理设备参数、超时设置、重试策略。
YAMLJSON
28
高级调试技巧
Wireshark 抓包分析 HSMS 消息、断点调试、日志分析。
Wireshark调试
29
项目实战:通信中间件
构建完整 SECS/GEM 中间件:连接管理、消息路由、异常处理、日志监控。
中间件项目
30
总结与展望
SECS/GEM 未来、EtherCAT 与 OPC UA 融合趋势、学习资源。
趋势资源