4. 常见通信协议(下):IEC 61850、IEC 104、DL/T 645 协议特点对比与适用场景分析
好,咱们接着聊通信协议。上一章我们把 Modbus 和 OPC UA 讲透了,这一章我重点说说电力行业里绕不开的三个协议:IEC 61850、IEC 104 和 DL/T 645。
说实话,这三个协议我最早接触的时候也头大。名字长得像,功能又各有侧重。但干能源系统这么多年,我慢慢摸清了它们的脾气。今天我就把压箱底的经验掏出来,帮你理清楚。
4.1 先看一张图,心里有个谱
在讲细节之前,我习惯先画个框架。你想想看,这三个协议其实分别对应了电力系统的三个不同层面:
嗯,这张图你看懂了吗?说白了,IEC 104 管的是调度层,IEC 61850 管的是变电站内部,DL/T 645 管的是最末端的电表。各管一摊,互不抢活。
4.2 IEC 61850:智能变电站的“通用语言”
IEC 61850 是我个人觉得最“重”的一个协议。为什么这么说?因为它定义的东西太多了。
我记得第一次做数字化变电站项目时,光看 61850 的文档就看了两周。它不光定义了通信协议,还定义了数据模型、配置语言(SCL)、甚至测试规范。
4.2.1 核心特点
- 面向对象建模:每个设备都是一个对象,有属性、有服务。比如一个断路器,它有位置状态、有控制命令、有告警信息。
- 抽象通信服务接口(ACSI):把通信机制抽象出来,底层用 MMS、GOOSE 还是 SV,上层不用管。
- GOOSE 快速报文:用于跳闸等实时性要求极高的场景,延时可以做到 3ms 以内。
- 采样值(SV):直接传输电流电压的采样数据,替代了传统的二次电缆。
重要提示:IEC 61850 的配置非常复杂。一个变电站项目,SCL 文件可能多达几十个。我建议你务必使用专业的配置工具,别手写。
4.2.2 适用场景
- 新建或改造的智能变电站
- 需要设备间互操作的场景(不同厂家设备无缝对接)
- 对实时性要求极高的保护和控制
我的经验:如果你做的是传统变电站改造,别一上来就上 61850。先评估一下现有设备是否支持,否则光换设备就够你喝一壶的。
4.3 IEC 104:调度自动化的“老黄牛”
IEC 104 这个协议,说白了就是 IEC 101 的网络版。它把串口通信搬到了 TCP/IP 网络上,但核心思想没变——就是远动通信。
我曾经在一个光伏电站项目里,用 104 协议接了 200 多台逆变器。说实话,这协议虽然老,但胜在稳定。只要配置对了,跑几年都不出问题。
4.3.1 核心特点
- 基于 TCP/IP:默认端口 2404,支持局域网和广域网通信。
- 主从模式:调度主站是主,子站是从。主站轮询,子站应答。
- 支持主动上送:子站可以主动上报变化数据,不用等主站问。
- 数据对象丰富:遥测、遥信、遥控、遥调,四遥功能全支持。
注意避坑:我曾经遇到过一个问题——104 协议的时钟同步机制不够精确。如果你的系统对时间同步要求很高(比如 1ms 以内),建议额外部署 NTP 或 IRIG-B 对时。
4.3.2 适用场景
- 调度主站与变电站之间的通信
- 光伏、风电等新能源场站的监控系统
- 需要与电网调度部门对接的项目
4.4 DL/T 645:电表数据的“搬运工”
DL/T 645 这个协议,我接触得最早。刚入行那会儿,天天跟电表打交道,645 协议几乎是必会的技能。
它其实很简单,就是定义了一个电表怎么把数据告诉采集器。但你别小看它,全国几亿块电表都在用这个协议。
4.4.1 核心特点
- 基于串口通信:RS-485 是主流,也有红外和载波版本。
- 数据标识符(DI):每个数据项都有一个唯一的 DI 码。比如 DI = 00010000 表示正向有功总电能。
- 帧结构固定:起始符、地址域、控制码、数据域、校验码、结束符,格式非常规整。
- 支持冻结数据:电表可以存储多个时段的冻结数据,方便费控和结算。
重要提示:DL/T 645 有两个版本——645-1997 和 645-2007。2007 版增加了更多数据项和功能,但向下兼容。我建议新项目直接用 2007 版。
4.4.2 适用场景
- 居民和工商业用户的电能计量
- 用电信息采集系统(AMI)
- 能耗监测系统中的电表数据接入
我的经验:645 协议的地址域是 6 个字节,但很多电表只用了后 4 个字节。写程序时要注意地址对齐,否则读出来的数据全是错的。我曾经因为这个 bug 排查了整整一天。
4.5 三大协议对比一览
好了,三个协议都讲完了。我整理了一张对比表,方便你快速查阅:
| 对比项 | IEC 61850 | IEC 104 | DL/T 645 |
|---|---|---|---|
| 定位 | 变电站自动化 | 远动通信 | 电表数据采集 |
| 通信方式 | 以太网(MMS/GOOSE/SV) | TCP/IP | RS-485 / 红外 / 载波 |
| 数据模型 | 面向对象(LN、DO、DA) | 点表(遥测、遥信、遥控) | 数据标识符(DI) |
| 实时性 | 极高(GOOSE < 3ms) | 中等(秒级) | 低(秒级到分钟级) |
| 配置复杂度 | 高(SCL 配置) | 中(点表配置) | 低(直接编程) |
| 互操作性 | 强(国际标准) | 中(国内常用) | 弱(国内标准) |
| 典型应用 | 智能变电站、保护控制 | 调度自动化、新能源监控 | 用电信息采集、能耗监测 |
4.6 选型建议:到底用哪个?
你可能会问:那我做项目时到底选哪个?
我的建议很简单:
- 如果你在做变电站内部设备通信,尤其是保护、测控装置之间的数据交换,选 IEC 61850。别犹豫,这是趋势。
- 如果你需要把数据送到调度中心,或者做新能源场站的监控,选 IEC 104。电网调度基本只认这个。
- 如果你只是采集电表数据,做能耗管理或费控,选 DL/T 645。简单、成熟、成本低。
最后提醒一句:别想着一个协议包打天下。我见过有人试图用 61850 去读电表数据,结果折腾了两个月,最后还是老老实实加了 645 的采集器。协议选型,合适就好。
嗯,这一章的内容就到这里。协议这东西,光看文档是不够的,有机会多动手抓包分析,慢慢就熟了。