Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
在现代电力系统中,调度中心与远方变电站之间的数据通道就是电网运行的”神经系统”。而支撑这条神经系统的核心标准之一,就是 IEC 60870——全球电力行业应用最广泛的远动(telecontrol)通信协议族。从中国国家电网的调度数据网到欧洲输电网的RTU通信,从火力发电厂的DCS到配网自动化的FTU,IEC 60870的身影无处不在。与许多工程师熟悉的Modbus不同,IEC 60870是一个为电力系统量身定制、具有严格状态机和丰富数据类型的工业级协议体系。
IEC 60870-5 的设计哲学与OSI七层模型明显不同——它采纳了源自EPA(Enhanced Performance Architecture)的增强性能三层模型,仅保留物理层、链路层和应用层,故意舍弃了网络层和传输层。这一”瘦身”设计源于远动通信的硬实时约束:在9600 bps的串行通道上,报文每多一层封装就多一层延迟,而对断路器跳闸信号的传送而言,20 ms的额外延迟可能就是一次电网事故的升级。
IEC 60870-5 系列的物理层选择极具工程实用性:101协议运行在基于ITU-T V.24/V.28(即RS-232)或RS-485的串行异步通信链路上,典型速率为9600 bps或19.2 kbps,可采用专线、电力线载波或拨号Modem。104协议则彻底”互联网化”——将101的应用层直接映射到TCP/IP之上,默认使用TCP端口2404,实现了从串行时代到IP时代的平滑过渡。
IEC 60870-5 的链路层采用了FT1.2(Frame Type 1.2)帧格式,这是协议族的标志性设计之一。FT1.2支持三种帧长:固定帧长(仅用于控制功能如确认、链路状态请求)、可变帧长(承载ASDU数据)和单控制字节帧。可变帧长最多可携带255个字节的用户数据,通过精心设计的帧头/帧尾校验(包括起始字符0x68、长度字段重复、结束字符0x16和校验和)实现极高的传输完整性。
| 特性 | IEC 60870-5-101 | IEC 60870-5-102 | IEC 60870-5-103 | IEC 60870-5-104 |
|---|---|---|---|---|
| 应用场景 | 通用远动:遥测/遥信/遥控/遥调 | 电能累计量(积分电量)传输 | 继电保护设备信息交换 | 101的网络版:通过TCP/IP传输 |
| 物理/传输层 | 串口 RS-232/RS-485, 专线/拨号/载波 | 串口(与101共享物理层) | 串口 RS-232/RS-485 或光纤 | TCP/IP(默认端口 2404) |
| 链路层 | FT1.2, 平衡/非平衡模式 | FT1.2, 非平衡模式 | FT1.2, 非平衡模式 | 无链路层(由TCP保证可靠传输) |
| 传输方向 | 双向:监控方向 + 控制方向 | 监控方向为主(计量数据上传) | 监控方向为主(保护事件上传) | 双向:全双工TCP连接 |
| 典型数据类型 | 单/双点遥信, 测量值, 积分电量, 遥控命令, 设点命令, 步调节 | 电能累计量, 周期/非周期冻结, 费率切换 | 保护事件, 保护定值, 故障录波, 装置自检信息 | 同101,增加文件传输、时钟同步增强 |
| ASDU地址长度 | 1 或 2 字节(公共地址) | 1 或 2 字节 | 1 字节 | 2 字节(公共地址) |
| 适用标准 | IEC 60870-5-101:2003 | IEC 60870-5-102:1996 | IEC 60870-5-103:1997 | IEC 60870-5-104:2006 |
IEC 60870-5 的应用层设计是其最重要的技术遗产。ASDU(Application Service Data Unit,应用服务数据单元)和COT(Cause of Transmission,传送原因)这两个概念构成了协议族的”语法”和”语义”。
ASDU的结构包括:类型标识(Type ID,定义遥信/遥测/遥控/参数等数十种数据类型)、可变结构限定词(VSQ,定义信息体数量及寻址方式)、传送原因(COT)、公共地址(Common Address)以及信息体(Information Objects)。信息体又包含信息体地址、信息元素和时标。这种严谨的分层结构使得IEC 60870-5能够以统一框架承载从简单开关量到复杂保护定值的各类电力系统数据。
COT(传送原因)是IEC 60870区别于多数工业协议的关键特征之一。每一条报文都携带一个6位的COT码,精确描述这条数据”为什么被发送”:是周期/循环传送(periodic/cyclic,COT=1)?是背景扫描(background scan,COT=2)?是突发/自发传送(spontaneous,COT=3)?是总召唤(general interrogation,COT=20)?还是在响应对方请求(request/requested,COT=5/6)?这一设计使得接收方不仅能获取数据,还能理解数据的上下文和触发机制,为高级应用(如SOE事件顺序记录分析)提供了关键元信息。
全球电力自动化领域存在三套主流SCADA通信协议——IEC 60870-5(以101/104为代表)、DNP3(分布式网络协议,IEEE 1815)和IEC 61850(变电站通信网络与系统)。理解三者的技术定位和演进关系,是电力通信工程师的基本素养。
IEC 60870-5和DNP3在技术基因上高度同源——DNP3的基础帧结构直接借鉴了IEC 60870-5的FT1.2格式,两者都使用ASDU概念。但两者在市场化路径上出现了显著分化:
DNP3由美国Harris公司(后经GE演进)在1990年代早期开发,天然支持IP网络,在美国和澳大利亚的电力市场占据主导地位。DNP3的一大技术优势是自带安全认证(SAv5/SAv6)机制,在协议层面内置了挑战-响应认证。
IEC 60870-5-101/104则在全球范围(特别是欧洲、中国、中东、亚洲)获得了更广泛的应用。IEC标准体系的规范性更强——每个厂家必须提供PICS和PIXIT文件,这使得多厂家互操作的理论基础更为扎实。但原生的IEC 60870-5-101/104没有任何安全机制,所有报文以明文传输,这是它最大的设计局限(详见第三节)。
可以做一个简明的总结:如果说DNP3是一个”自带安全锁的美国标准”,那么IEC 60870-5就是一个”靠外部围墙保护的欧洲标准”。
IEC 61850代表了变电站通信的更高维度。IEC 60870-5-101/104本质上是一个面向信号(signal-oriented)的协议——它的设计思路是将物理信号(开关位置、电压值、电流值)逐点编码传输。而IEC 61850是一个面向对象(object-oriented)的建模体系——它将整个变电站的一次设备、保护功能以标准化对象模型(Logical Node)组织,并通过MMS、GOOSE和SV三种通信机制实现站控层、间隔层和过程层的全面数字化。
两者的关系并非替代,而是分属不同的自动化层级:IEC 60870-5-101/104主要负责变电站与控制中心之间的远动通信;IEC 61850主要负责变电站内部设备之间的通信。实际工程中最常见的架构是:站内采用IEC 61850,对外网关/远动装置通过IEC 60870-5-101或104与调度中心通信。这种”IEC 61850站内 + IEC 60870-5站外”的混合架构预计将在未来10~15年内持续存在。
| 对比维度 | IEC 60870-5-101 | IEC 60870-5-104 | DNP3 | IEC 61850 |
|---|---|---|---|---|
| 通信模型 | 面向信号 (signal-oriented) | 面向信号 | 面向信号 | 面向对象 (object-oriented),逻辑节点模型 |
| 传输层 | 串行链路 (RS-232/485) | TCP/IP (端口2404) | 串行或TCP/IP (端口20000) | TCP/IP + 以太网 (MMS:102, GOOSE/SV: L2多播) |
| 数据组织 | ASDU + 信息体地址 (IOA) | ASDU + IOA | 对象组 + 变体 (Object Group/Variation) | 逻辑设备/节点/数据对象/数据属性 (LD/LN/DO/DA) |
| 实时性 | 秒级(串行带宽限制) | 百毫秒级 | 百毫秒级 | GOOSE < 3 ms, SV 采样值 < 10 µs |
| 原生安全机制 | 无 (依赖外部加密机/防火墙) | 无 (依赖TLS/防火墙) | SAv5安全认证 (IEC 62351-5认证) | 无 (依赖外部认证/IEC 62351) |
| 主要市场 | 欧洲、中国、中东、亚洲 | 全球(通用) | 北美、南美、澳大利亚、南非 | 全球新建数字化变电站 |
| 典型工程应用 | RTU↔调度中心、老站改造 | 远动网关↔调度数据网 | RTU↔SCADA主站、北美配电自动化 | 智能变电站站控层/间隔层/过程层 |
IEC 60870-5 诞生于1990年代——彼时电网通信是孤立的专线系统,网络安全几乎不是设计考量。而当这些协议通过TCP/IP(104协议)进入调度数据网的广域互联时代,协议本身缺乏认证、加密和完整性保护的三个”原生缺陷”被急剧放大。
在协议层安全增强无法覆盖存量设备的情况下,工程师必须在网络架构和运维层面构建多层防线:
IEC 60870-5 定义了非常庞大的可选功能集——类型标识超过50种,COT超过40种,平衡/非平衡两种模式,以及各种定时参数。这种”菜单式标准化”虽然提供了灵活性,但也意味着两个都声称”符合IEC 60870-5-101″的设备很可能无法直接通信。解决这一问题的关键是要求各厂家提供 PICS(Protocol Implementation Conformance Statement,协议实现一致性声明)和 PIXIT(Protocol Implementation eXtra Information for Testing,协议实现额外测试信息)两份互操作文档。PICS是厂家的”功能菜单勾选表”,PIXIT是具体参数的取值和限制。
在工程实践中,建议在设备招标阶段就将PICS/PIXIT列为必备文件——而不是等到现场调试时才发现双方对”支持ASDU type 31 (Double-point information with time tag CP56Time2a)”的理解不一致。
电力系统的事件顺序记录(SOE,Sequence of Events)要求跨多个变电站的事件时间戳精度达到1 ms级别。IEC 60870-5 采用 CP56Time2a 格式——一种从1980年1月1日起算、单位为毫秒的56位时间戳。然而,串行101协议的传输延迟(报文从RTU发送到主站接收约需数十毫秒至数百毫秒)会严重破坏SOE精度。工程解决方案是:所有RTU必须与GPS/北斗时钟源同步,并在报文中使用信息体自带的时标(而非依赖主站接收时间)。对于104协议,还应合理配置网络NTP时钟同步,确保RTU、网关和主站前端服务器之间的时钟偏差不超过1 ms。
以下整理了IEC 60870-5 工程调试中最常见的故障模式及其诊断思路,供现场工程师参考:
| 故障现象 | 可能原因 | 诊断方法 | 推荐解决方案 |
|---|---|---|---|
| 链路反复Link Reset,无法建立稳定连接 | 链路超时参数(t0/t1/t2/t3)不匹配;非平衡模式下主站轮询间隔过短 | 抓取串行报文(如使用Wireshark的IEC 60870-5-101解析插件),检查链路状态机的时序 | 对齐双方的链路定时参数t0(连接超时)、t1(响应超时)、t2(非活动超时)、t3(确认超时) |
| 104协议连接建立后立即断开 | TCP端口配置错误(不是2404);防火墙拦截;APDU长度超过255字节导致接收方拒绝 | 使用telnet/nc测试TCP连通性;检查防火墙日志;验证ASDU是否在APDU长度约束内 | 检查StartDT/StopDT消息序列;确认APDU长度不超过I帧的最大K值(通常K=12) |
| 总召唤GI收到数据但与就地值不一致 | ASDU的IOA地址映射表不一致;数据类型标识(TI)不匹配 | 逐点对比主站配置库与RTU侧的IOA映射表 | 以PICS/PIXIT为依据,建立标准化的IOA地址分配表;建议使用电子表格进行逐点校核 |
| 遥控操作失败(Select成功但Execute失败) | SBO超时间隔过短;COT错误(Execute阶段使用了错误的通知原因码) | 检查SBO操作的Select-Execute间隔是否在RTU允许的超时窗口内 | 增大SBO超时参数(通常设为10~30秒);确认Execute报文COT=6 (Activation) 而非COT=7 (Activation Confirmation) |
| 主站收到大量重复事件(SOE风暴) | RTU发生故障后重新上电,缓冲区积压导致;或SQ位设置错误 | 检查ASDU的SQ位(单个/序列)是否与信息体数量一致 | 正确设置SQ位(单个信息体×序列信息体);在RTU配置中启用事件过滤去重 |
Q1: 我们现有的RTU只支持IEC 60870-5-101串行通信,但调度中心要求采用104网络协议,应该如何过渡?
A: 推荐采用协议转换网关方案。核心思路是在变电站侧部署一台支持101-to-104的通信管理机或远动网关——该设备在RTU侧通过串口以101协议采集数据,在调度数据网侧以104 TCP客户端/服务器模式与调度中心通信。网关需要完成三项转换:链路层转换(FT1.2 ↔ TCP/IP)、ASDU地址映射(保持IOA一致性)、以及定时参数的适配。在设备选型时,务必确保网关支持101的平衡和非平衡两种模式,并且能够处理至少2000个IOA信息点的数据吞吐量。网关自身的时钟同步(NTP客户端或IRIG-B接口)同样不可忽视。
Q2: IEC 60870-5-104 的 K 值和 W 值如何正确设置?设错了会怎样?
A: K 和 W 是 104 协议流控的核心参数。K 值表示发送方在收到确认之前最多可以发送多少个I格式APDU(默认 K=12),W 值表示接收方在发送确认之前最多可以接收多少个I格式APDU(默认 W=8)。这两个参数必须小于或等于对端对应的K/W限制值。K 值设得过大 → 接收方缓冲区溢出导致报文丢失;K 值设得过小 → 频繁的确认报文浪费带宽并增加延迟。W 值决定了”最新的W个接收帧中最多有K个未被确认”。对于典型的调度自动化通道(2 Mbps带宽,2000个遥测点),建议设置 K=12, W=8,与标准默认值一致。在带宽受限(如GPRS无线)的场景下,可将K适当减小至6~8。
Q3: 我们使用IEC 60870-5-104时遇到一个奇怪的问题——主站看到的开关变位时间戳比实际发生时间晚了近1秒。这是协议本身的延迟吗?
A: 大概率不是协议导致的,而是RTU内部处理延迟。IEC 60870-5-104 在正常网络条件下的端到端传输延迟通常在50 ms以内。你遇到的近1秒延迟很可能是以下原因之一:(1)RTU的对时偏差——如果RTU的时钟与GPS/主站时钟之间存在秒级偏差,需要检查RTU的对时机制(建议采用SNTP或直接IRIG-B同步);(2)RTU的事件缓冲区内的处理延迟——某些RTU在发生大量事件时(SOE风暴)会将事件排队,导致时间戳虽然是准确的但报文被延迟发送——应检查RTU的事件处理优先级机制,确认SOE具有最高的处理优先级;(3)通信中间件/前置机的缓存延迟——检查是否是调度主站前置服务器的处理延迟,而不是通信链路的传输延迟。
Q4: 在一个已经运行了10年的变电站,如果将101升级为104时,现有二次回路是否需要改动?对SCADA系统有什么影响?
A: 二次回路无需改动,但SCADA侧需要配套升级。从101到104的升级仅限于通信层——RTU的交流采样输入(CT/PT二次回路)、遥信输入接点、遥控输出继电器均保持不变。你需要关注的是:(1)RTU本身是否具备104通信接口——老款RTU可能需要更换通信模块或通过外部协议网关实现;(2)SCADA主站端需要增加104协议的通信驱动程序(包括前置机软件升级和数据库配置);(3)信息点表(IOA映射表)需要完整迁移,建议逐点核对——任何两个厂家对同一点的定义偏差都可能在切换后导致数据错位;(4)改造期间需要考虑过渡方案——通常采用”双协议并行运行”策略,即改造后的一段时间内,101和104同时运行,待104运行稳定后再退出101通道。