4. 通信链路建立流程:物理层连接、TCP三次握手、HSMS连接建立

通信链路是SECS/GEM设备与主机(Host)之间数据交换的物理与逻辑通道。链路建立过程分为三个层次:物理层就绪、TCP传输层连接、HSMS会话层握手。任何一层失败都会导致设备无法进入通信状态,触发状态机异常恢复流程。

4.1 物理层连接

物理层是链路建立的基础,确保设备与主机之间具备电气与介质连通性。常见物理层形态包括:

物理介质 典型场景 关键检查项
以太网(RJ45) 半导体工厂局域网 网线插拔状态、端口LED指示灯、交换机VLAN配置
串口(RS-232/RS-485) 老旧设备或短距离直连 波特率匹配、流控设置、线缆长度
光纤 高噪声、长距离车间 光模块收发功率、光纤弯曲半径
工程经验:物理层故障是链路重连中最容易被忽略的根因。建议在设备端和主机端同时执行 ping 测试,确认IP层可达性;若ping不通,优先排查物理介质与交换机端口状态。

4.2 TCP三次握手

在物理层就绪后,设备与主机通过TCP协议建立可靠的传输通道。TCP三次握手确保双方均具备收发能力,并同步初始序列号(ISN)。

  1. SYN(设备→主机):设备(主动方)发送SYN报文,携带初始序列号 seq=x,进入 SYN_SENT 状态。
  2. SYN+ACK(主机→设备):主机(被动方)收到SYN后回复SYN+ACK,确认号 ack=x+1,自身序列号 seq=y,进入 SYN_RCVD 状态。
  3. ACK(设备→主机):设备收到SYN+ACK后发送ACK,确认号 ack=y+1,双方进入 ESTABLISHED 状态。
关键参数:TCP连接超时时间(通常为 3~10 秒)、重试次数(默认 3~5 次)。在HSMS重连逻辑中,若三次握手超时,设备应等待 t3 超时后重新发起连接,而非无限阻塞。
TCP三次握手流程 设备(主动方) 主机(被动方) CLOSED LISTEN ① SYN (seq=x) SYN_SENT ② SYN+ACK (seq=y, ack=x+1) SYN_RCVD ③ ACK (ack=y+1) ESTABLISHED ESTABLISHED 三次握手完成后,TCP连接建立,后续可承载HSMS消息 设备进入 ESTABLISHED 状态,准备HSMS握手

4.3 HSMS连接建立

TCP连接建立后,设备与主机需要在HSMS(High-Speed SECS Message Services)层面完成会话握手,确认双方SECS/GEM协议版本与通信能力。HSMS连接建立包含两个子步骤:

4.3.1 连接模式选择

HSMS支持两种连接模式,设备需根据配置选择:

模式 主动方 典型场景
主动模式(Active) 设备主动连接主机 设备上电后自动注册到主机
被动模式(Passive) 主机主动连接设备 主机集中管理,设备等待连接
注意:在异常恢复场景中,设备通常配置为主动模式。若设备在被动模式下等待主机连接,而主机因故障未发起连接,设备将长时间处于 NOT_CONNECTED 状态,无法自动恢复。建议关键设备使用主动模式并启用重连定时器。

4.3.2 HSMS握手消息交换

HSMS连接建立通过两条控制消息完成:

  1. Select.req(连接请求):设备(或主机)发送 S1F13 消息,携带设备ID、通信版本号等信息,请求建立HSMS会话。
  2. Select.rsp(连接响应):接收方回复 S1F14 消息,包含响应代码(0=成功,非0=失败),确认会话建立。
协议细节:HSMS握手使用SECS-I消息格式,消息头中 W-bit=0(非事务消息),Stream=1,Function=13/14。若 Select.rsp 返回非零代码,设备应记录错误码并触发重连逻辑。
HSMS连接建立流程 设备 主机 TCP ESTABLISHED TCP ESTABLISHED ① Select.req (S1F13) SELECTING ② Select.rsp (S1F14, HC=0) SELECTED HSMS连接建立成功,设备进入 SELECTED 状态 可开始发送SECS消息(如 S1F1/S1F2 通信测试)

4.4 链路建立完整流程总结

将物理层、TCP、HSMS三个层次串联,通信链路建立的完整步骤如下:

步骤 层次 动作 成功标志 失败处理
1 物理层 网线/光纤连接,交换机端口UP 网口LED亮,ping通 检查物理介质、更换端口
2 TCP 三次握手(SYN→SYN+ACK→ACK) socket状态 ESTABLISHED 等待 t3 超时后重试
3 HSMS Select.req / Select.rsp 交换 收到 HC=0 的 Select.rsp 记录错误码,重新发起Select
4 应用层 可选:S1F1/S1F2 通信测试 收到 S1F2 响应 触发链路完整性检查
最佳实践:在设备固件中实现链路建立状态机,记录每个步骤的耗时与结果。当链路重连时,优先复用已有TCP连接(若未断开),仅重新执行HSMS握手,可减少50%以上的重连时间。