1. 104/101协议基础认知
在电力自动化领域,104和101协议就像电力系统的"普通话"和"方言"。作为从业十几年的老调度,我见证了不少新人被这两个协议搞得晕头转向。今天我们就来重点拆解104协议里那个看似简单却暗藏玄机的S帧(Supervisory Frame)。
先说个真实案例:去年某地调中心频繁出现"假死机"现象——前置机显示通信正常,但就是收不到数据。折腾三天才发现是S帧处理逻辑有漏洞。这个看似简单的控制帧,实际上影响着整个通信链路的稳定性。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 协议栈结构解析
2.1 101与104的基因差异
101协议(IEC 60870-5-101)是串行通信时代的"老将",采用典型的平衡式传输。就像老式电报,需要严格的收发时序控制。而104协议(IEC 60870-5-104)则是TCP/IP时代的产物,相当于给101协议套了件"网络外套"。
关键区别在于:
- 物理层:101用RS485/光纤,104走以太网
- 数据组织:101是严格的字节流,104采用TCP字节流+APCI格式
- 控制机制:101依赖链路层控制字,104引入S帧专门做流量控制
2.2 104协议的"三层大衣"
把104协议拆开看就像洋葱:
- 网络层:标准TCP/IP协议栈
- 传输层:APCI(应用协议控制信息)包含:
- 启动字符0x68
- 长度字段
- 控制域(这里藏着S帧的秘密)
- 应用层:ASDU(应用服务数据单元)继承自101协议
经验之谈:很多现场问题就出在没理清这三层关系。有次某厂家把TCP窗口控制与APCI流量控制混为一谈,导致通道利用率不到30%。
3. S帧的解剖课
3.1 控制域比特解析
S帧的控制域只有4个字节,却掌控着通信命脉。看这个典型S帧示例:
code复制68 04 01 00 00 00
- 第1字节0x68:启动符
- 第2字节0x04:APDU长度
- 第3字节0x01:控制域TYPE=1表示S帧
- 第4字节0x00:接收序列号N(R)
关键在TYPE字段的bit位定义:
code复制7 6 5 4 3 2 1 0
┌───┬───┬───┬───┬───┬───┬───┬───┐
│ 0 │
