3. T6 定时器定义:标准定义与用途(控制事务超时)

在 SECS/GEM 协议体系中,T6 定时器是专门用于控制控制事务(Control Transaction)超时的关键参数。控制事务是指那些需要立即响应、通常用于设备状态查询、参数设定或操作指令的高优先级消息交换。T6 定时器确保了这些事务不会无限期地等待响应,从而维护了通信的健壮性和设备状态机的确定性。

3.1 标准定义

根据 SEMI E5(SECS-II)和 E37(HSMS)标准,T6 定时器定义如下:

属性 标准定义
全称 Control Transaction Timeout(控制事务超时)
协议层 SECS-II 消息层(会话层)
触发条件 当主机(Host)或设备(Equipment)发送一个需要回复(Reply Expected)的 SECS-II 消息时启动
超时动作 发起方认为事务失败,触发 T6 超时处理流程
默认值 45 秒(通常可配置,范围 1~120 秒)
关联消息 S1F1、S1F3、S2F17、S2F41 等所有带 W-bit 的 Primary 消息
关键区分:T6 与 T3(Reply Timeout)不同。T3 是 HSMS 协议层(传输层)的定时器,用于等待单个数据块的确认;而 T6 是 SECS-II 协议层(会话层)的定时器,用于等待整个控制事务的完成(即收到对应的 Secondary 消息)。

3.2 控制事务的生命周期

一个典型的控制事务从发送 Primary 消息开始,到收到对应的 Secondary 消息结束。T6 定时器覆盖了这个完整的过程:

  1. 发起阶段:发送方构造一条带有 W-bit(等待位)的 Primary 消息,同时启动 T6 定时器。
  2. 等待阶段:发送方进入等待状态,不处理其他与该事务相关的消息。
  3. 响应阶段:接收方处理请求并返回对应的 Secondary 消息(如 S1F2 响应 S1F1)。
  4. 完成阶段:发送方收到 Secondary 消息,停止 T6 定时器,事务正常结束。
事务标识:Primary 消息和对应的 Secondary 消息通过相同的 System Bytes(系统字节)进行关联。T6 定时器正是基于这个 System Bytes 来追踪特定事务的。

3.3 T6 定时器在协议栈中的位置

下面的 SVG 图展示了 T6 定时器在 SECS/GEM 协议栈中的层级位置及其与相邻定时器的关系:

T6 定时器在 SECS/GEM 协议栈中的位置 应用层(GEM 功能) 状态机管理、事件通知、远程命令、数据收集 会话层(SECS-II) 消息编码/解码、事务管理、Stream/Function 路由 T6 控制事务超时(45s) 传输层(HSMS) TCP/IP 连接管理、消息分帧、重传控制 T3 回复超时(45s) T5 连接超时(10s) 说明:T6 位于会话层,管理完整的控制事务生命周期;T3 和 T5 位于传输层,管理底层数据包和连接

3.4 主要用途

T6 定时器在半导体设备通信中承担以下核心职责:

  • 防止死锁:当设备或主机因异常(如任务挂起、资源竞争)无法及时响应时,T6 超时强制终止等待,避免通信链路永久阻塞。
  • 状态机保护:在设备状态机(如 Equipment State Model)中,T6 超时触发状态回退或错误处理,确保状态机不会停留在“等待响应”的中间状态。
  • 资源回收:超时后释放与该事务关联的 System Bytes、内存缓冲区、消息队列等资源,供后续事务使用。
  • 故障隔离:通过 T6 超时日志,运维人员可以快速定位是主机侧处理缓慢、网络延迟还是设备侧响应异常。

3.5 T6 超时处理流程

当 T6 定时器到期时,协议栈会执行以下标准处理步骤:

注意:T6 超时并不等同于通信断开。设备或主机可以选择重试、上报错误或进入特定的故障状态,具体行为由 GEM 状态机定义。
  1. 超时检测:定时器到期,系统检测到未收到预期的 Secondary 消息。
  2. 事务终止:标记该事务为“失败”,释放 System Bytes 和关联资源。
  3. 错误上报:可选地,发送 S6F11(Event Report)或 S5F1(Alarm Report)通知对端或上位系统。
  4. 状态机迁移:根据设备状态机定义,可能从“等待状态”迁移到“空闲状态”或“错误状态”。
  5. 重试逻辑:如果配置了重试策略,系统可以重新发送 Primary 消息并启动新的 T6 定时器。

3.6 T6 与其他定时器的对比

为了更清晰地理解 T6 的定位,下表对比了 SECS/GEM 协议中几个关键定时器:

定时器 协议层 超时时间 触发条件 超时后果
T3 HSMS 传输层 45s 发送数据块后等待链路确认 重传数据块或断开连接
T5 HSMS 传输层 10s 尝试建立 TCP 连接 连接失败,进入未连接状态
T6 SECS-II 会话层 45s 发送带 W-bit 的 Primary 消息 事务失败,状态机回退
T7 HSMS 传输层 10s 连接空闲时发送心跳测试 检测到连接断开
常见误区:不要将 T6 超时与 T3 超时混淆。T3 超时意味着 HSMS 层的数据块确认丢失,通常需要重传;而 T6 超时意味着 SECS-II 层的应用响应丢失,需要事务级处理。在实际调试中,T6 超时往往伴随着多次 T3 超时,但反过来不一定成立。

3.7 配置建议

在实际部署中,T6 定时器的配置需要根据网络延迟、设备处理能力和事务复杂度进行调整:

  • 高速网络(<1ms 延迟):可设置为 10~20 秒,快速检测异常。
  • 标准工厂网络(1~10ms 延迟):推荐 30~45 秒,平衡响应速度与容错。
  • 高延迟或复杂事务(如批量数据上传):可放宽至 60~120 秒,避免误超时。
  • 一致性要求:主机侧和设备侧的 T6 配置必须一致,否则会导致一方频繁超时。

下面的 SVG 图展示了 T6 定时器在控制事务中的完整工作流程:

T6 定时器在控制事务中的工作流程 主机(Host) 设备(Equipment) 1. 发送 Primary 消息(W-bit=1) 2. 启动 T6 定时器(45s) 3. 处理请求,构造响应 4. 发送 Secondary 消息 5. 停止 T6,事务完成 6. [超时] 事务失败,状态机回退 网络传输

通过以上定义和流程分析可以看出,T6 定时器是 SECS/GEM 协议中保障控制事务可靠性的核心机制。正确理解和配置 T6 参数,对于维护设备通信的稳定性和状态机的正确性至关重要。