IEC104协议详解:电力系统远程控制的TCP/IP通信标准
1. 引言
电力系统作为国家关键基础设施,其安全稳定运行依赖于高效可靠的远程监控与控制系统。随着电力网络的不断扩大和智能化发展,传统的串行通信方式已无法满足现代电力系统对实时性、可靠性和传输距离的要求。在此背景下,IEC 60870-5-104(简称IEC 104) 协议应运而生,它是一种基于TCP/IP的电力系统远动通信标准,为电力系统的远程控制提供了高效、可靠的通信解决方案。
1.1 电力系统远动通信的需求
电力系统远动通信需要实现以下核心功能:
- 遥测(Telemetry, YC):实时采集发电厂、变电站的运行参数(如电压、电流、功率等)
- 遥信(Telecommand, YX):实时采集设备状态(如开关位置、保护动作等)
- 遥控(Remote Control, YK):远方控制设备的运行状态(如合闸、分闸等)
- 遥调(Remote Setting, YT):远方调整设备的参数(如变压器分接头位置、保护定值等)
这些功能对通信系统提出了严格要求:
- 实时性:控制命令和状态信息需在毫秒级内传输
- 可靠性:通信链路需具备冗余机制,确保数据不丢失
- 安全性:防止未经授权的访问和数据篡改
- 可扩展性:支持电力网络的不断扩展
1.2 IEC 104协议的由来
IEC 104协议是IEC 60870-5系列协议的一部分,该系列协议是国际电工委员会(IEC)制定的电力系统远动通信标准。IEC 60870-5系列包括:
- IEC 60870-5-101:基于串行通信的远动协议(适用于点对点、多点结构)
- IEC 60870-5-102:用于电能计量的远动协议
- IEC 60870-5-103:用于继电保护设备的远动协议
- IEC 60870-5-104:基于TCP/IP的远动协议(适用于网络通信结构)
IEC 104协议在保持IEC 101协议应用层数据格式不变的基础上,将传输层由串行通信改为TCP/IP,从而实现了长距离、高速度的网络通信。
2. IEC 104协议的核心概念与架构
2.1 协议栈架构
IEC 104协议基于TCP/IP协议栈,仅使用了TCP传输层协议,没有定义自己的传输层机制。其协议栈结构如下:
| OSI七层模型 | TCP/IP四层模型 | IEC 104协议层 |
|---|---|---|
| 应用层 | 应用层 | IEC 104应用层 |
| 表示层 | 应用层 | - |
| 会话层 | 应用层 | - |
| 传输层 | 传输层 | TCP |
| 网络层 | 网络层 | IP |
| 数据链路层 | 网络接口层 | Ethernet/SDH |
| 物理层 | 网络接口层 | 光纤/电缆 |
这种架构设计的优点是:
- 复用了成熟的TCP/IP协议栈,减少了开发成本
- 利用TCP的可靠性保证数据传输的完整性
- 支持跨网络、长距离传输
2.2 客户端-服务器模型
IEC 104协议采用典型的客户端-服务器(Client-Server) 通信模型:
- 客户端(Control Station):通常是调度中心的SCADA(监控与数据采集)系统或EMS(能量管理系统)
- 服务器(Controlled Station ):通常是变电站的RTU(远程终端单元)、PLC(可编程逻辑控制器)或IED(智能电子设备)
通信流程特点:
- 服务器端监听固定TCP端口(默认2404)
- 客户端主动发起TCP连接请求
- 连接建立后,双方可以双向传输数据
- 客户端负责管理连接的建立、维持和释放
2.3 核心组件
IEC 104通信系统主要包括以下核心组件:
2.3.1 SCADA/EMS系统
- 位于调度中心,负责集中监控整个电力系统的运行状态
- 作为IEC 104客户端,主动发起与各变电站的通信连接
- 接收遥测、遥信数据,发送遥控、遥调命令
2.3.2 RTU/IED设备
- 位于发电厂或变电站,负责采集现场设备的运行数据
- 作为IEC 104服务器,监听客户端的连接请求
- 执行来自SCADA系统的控制命令,并返回执行结果
2.3.3 通信网络
- 通常是电力专用通信网络(如SDH、光纤以太网)或公用IP网络
- 提供TCP/IP通信通道,确保数据的可靠传输
2.4 协议的主要特点
IEC 104协议具有以下主要特点:
- 面向连接:基于TCP协议,提供可靠的端到端通信
- 全双工通信:支持同时双向传输数据
- 无连接建立延迟:连接建立后可以立即传输数据
- 支持多客户端连接:一个服务器可以同时处理多个客户端的连接请求
3. IEC 104协议的通信机制与消息格式
3.1 通信机制
IEC 104协议定义了完整的通信流程和控制机制,确保数据传输的 可靠性和实时性。
3.1.1 连接管理
IEC 104的连接管理完全依赖于TCP协议的三次握手和四次挥手机制。服务器端监听默认端口2404,客户端发起连接请求。
3.1.2 数据传输模式
IEC 104支持三种数据传输模式:
- 循环传输:服务器按固定周期主动发送遥测、遥信等数据
- 自发传输:当设备状态发生变化时(如开关跳闸),服务器立即发送事件数据
- 询问传输:客户端主动向服务器请求特定数据
3.1.3 控制机制
IEC 104定义了三种控制帧用于管理通信:
- 启动帧(StartDT):连接建立后,客户端发送启动帧通知服务器可以开始数据传输
- 测试帧(TestFR):客户端和服务器可以定期发送测试帧以维持连接
- 停止帧(StopDT):客户端发送停止帧通知服务器停止数据传输,随后关闭TCP连接
3.2 消息格式
IEC 104的消息由协议数据单元(PDU) 组成,PDU包含应用服务数据单元(ASDU) 和TCP/IP头部。
3.2.1 应用服务数据单元(ASDU)
ASDU是IEC 104协议的核心,用于携带实际的应用数据。其基本结构如下:
| 字段名 | 长度 | 说明 |
|---|---|---|
| TypeID | 1字节 | 应用服务数据单元类型 |
| VSQ | 1字节 | 可变结构限定词,指示ASDU中包含的信息元素数量 |
| CauseOfTransmission | 2字节 | 传输原因,指示ASDU的传输目的(如自发、循环、询问等) |
| CommonAddressOfASDU | 2字节 | ASDU的公共地址,用于区分不同的受控站或设备 |
| InformationObjectAddress | 2-3字节 | 信息对象地址,用于区分不同的遥测、遥信点 |
| InformationElement | 可变 | 实际的应用数据(如开关状态、电压值等) |
| TimeTag | 0-7字节 | 时间标签,记录数据产生的时间 |
3.2.2 协议数据单元(PDU)
PDU由TCP头部和ASDU组成。TCP头部的长度为20字节,包含源端口、目的端口、序列号、确认号等信息。IEC 104的PDU结构如下:
+---------------------------------+---------------------------------+
| TCP Header | IEC 104 ASDU |
| (20 bytes) | (variable length) |
+---------------------------------+---------------------------------+3.2.3 常用ASDU类型
IEC 104定义了多种ASDU类型,以下是电力系统中常用的几种:
| TypeID | ASDU类型 | 说明 |
|---|---|---|
| 1 | M_SP_NA_1 | 单点信息(遥信) |
| 3 | M_DP_NA_1 | 双点信息 |
| 9 | M_ME_NA_1 | 不带时标的测量值(遥测) |
| 13 | M_ME_TA_1 | 带时标的测量值 |
| 20 | C_SC_NA_1 | 单点控制命令(遥控) |
| 21 | C_DC_NA_1 | 双点控制命令 |
| 23 | C_SE_NA_1 | 设定命令(遥调) |
| 45 | C_IC_NA_1 | 总召唤命令 |
3.3 消息示例
以下是两个典型的IEC 104消息示例:
3.3.1 遥信消息(M_SP_NA_1)
01 01 00 01 00 01 00 01 01
| | | | | | | |
| | | | | | | +- 信息元素:开关处于合闸状态(0x01)
| | | | | | +- 信息对象地址:0x0001
| | | | | +- 信息对象地址:0x00
| | | | +- ASDU公共地址:0x0001
| | | +- 传输原因:自发(0x0001)
| | +- 可变结构限定词:1个信息元素(0x01)
| +- 应用服务数据单元类型:M_SP_NA_1(0x01)3.3.2 遥控命令(C_SC_NA_1)
14 01 00 06 00 01 00 01 81 00
| | | | | | | | |
| | | | | | | | +- 选择确认:0x00
| | | | | | | +- 控制命令:合闸(0x81)
| | | | | | +- 信息对象地址:0x0001
| | | | | +- 信息对象地址:0x00
| | | | +- ASDU公共地址:0x0001
| | | +- 传输原因:遥控选择(0x0006)
| | +- 可变结构限定词:1个信息元素(0x01)
| +- 应用服务数据单元类型:C_SC_NA_1(0x14)这些示例展示了IEC 104消息的基本结构和内容,实际应用中消息可能会包含更多的信息元素和时间标签。
4. IEC 104协议在电力系统中的应用场景
IEC 104协议已经成为电力系统远动通信的主流标准,广泛应用于各种电力系统场景。
4.1 变电站自动化系统
应用范围:连接变电站内的RTU、IED设备与调度中心的SCADA系统
具体应用:
- 实时采集变电站的电压、电流、功率等遥测数据
- 实时监测开关、刀闸的位置等遥信状态
- 远方控制开关的合闸、分闸等遥控操作
- 调整变压器分接头位置等遥调操作
优势:
- 支持长距离通信,适合跨区域变电站监控
- 实时性高,满足电力系统的快速响应要求
- 可靠性强,确保控制命令的准确执行
4.2 智能电网与分布式能源
应用范围:连接分布式能源资源(DER)、微电网与调度中心
具体应用:
- 监测光伏电站、风力发电场的发电数据
- 控制储能设备的充放电操作
- 管理电动汽车充电设施