1. IEC104协议概述:协议起源、应用场景、OSI七层模型与IEC104的映射关系

各位同行,今天咱们来聊聊IEC104协议。说实话,这个协议在电力自动化领域,几乎是绕不开的坎儿。我最早接触它是在十年前的一个变电站改造项目里,当时被一堆报文搞得头大,后来摸透了才发现,它本质上就是个“规规矩矩的通信管家”。

1.1 协议起源:从哪儿来的?

IEC104协议,全称是“IEC 60870-5-104”。它出生在2000年左右,是国际电工委员会(IEC)搞出来的标准。你想想看,那时候互联网刚兴起,电力系统也想用网络来传数据,但老协议IEC101只支持串口,速度慢、距离短,根本扛不住现代电网的需求。

所以,IEC104就诞生了。它把IEC101的应用层内容,直接搬到了TCP/IP网络上。说白了,就是给老协议换了个“高速公路”。我在一个海外项目中遇到过,当地电网还在用IEC101,我们硬是加了个协议转换器,才把数据接进来。嗯,那会儿我就意识到,IEC104才是未来的主流。

核心要点:IEC104 = IEC101的应用层 + TCP/IP传输层。它解决了远距离、高速率的数据传输问题。

1.2 应用场景:哪儿在用?

IEC104的应用场景,说白了就是电力系统的“神经末梢”。我列几个常见的:

  • 变电站自动化:站内设备(保护装置、测控装置)与后台系统通信。我做过一个220kV变电站,光IEC104点表就配了3000多个。
  • 调度自动化:地调、县调系统从厂站采集遥测、遥信数据。记得有一次,调度端收不到遥测值,排查了半天,结果是点表里的地址偏移搞错了。
  • 新能源并网:光伏、风电场站通过IEC104上传发电功率、设备状态。这里有个坑——新能源设备厂家对协议的理解经常不一致,联调时特别头疼。
  • 配电自动化:FTU、DTU等终端设备与主站通信。我曾经在配电项目里,用IEC104同时接了200多台FTU,稳定性还不错。

个人经验:我建议你在做项目前,先确认对方用的是IEC104的哪个版本。104-2000和104-2009在时间同步、文件传输上有差异,搞错了会出大问题。

1.3 OSI七层模型与IEC104的映射关系

OSI七层模型,学通信的都知道。但IEC104只用了其中四层。为什么会这样?因为电力系统讲究实时性和简洁性,没必要搞那么复杂。我画了张图,你一看就明白:

OSI七层模型 7. 应用层 6. 表示层 5. 会话层 4. 传输层 3. 网络层 2. 数据链路层 1. 物理层 IEC104协议栈 APCI + ASDU (应用层协议控制信息 + 应用服务数据单元) TCP(传输控制协议) IP(网际协议) 以太网(数据链路层 + 物理层) 映射 映射 映射 映射 IEC104 只使用了 OSI 的 1、2、3、4、7 层 5、6 层(会话层、表示层)被合并到应用层中 实际开发中,我们只关心应用层

你看这张图,IEC104把OSI的会话层和表示层直接“吃掉”了。为什么?因为电力系统的数据格式是固定的,不需要协商编码方式。我刚开始学的时候,总纠结表示层干嘛去了,后来做了一套点表配置工具才明白——ASDU里已经定义好了数据类型,根本不需要额外处理。

1.4 实际映射细节

咱们具体看看每一层是怎么对应的:

OSI层 IEC104对应 说明
物理层 以太网(RJ45、光纤) 我建议用光纤,抗干扰能力强。铜缆在变电站里容易被电磁干扰。
数据链路层 以太网MAC帧 这里有个坑——MTU值要设置合理,我遇到过因为MTU太大导致报文分片丢失的情况。
网络层 IP协议 一般用IPv4,IPv6在电力系统里还不多见。
传输层 TCP协议 端口号默认2404。我曾经被客户要求改成其他端口,结果防火墙策略没配好,联调时折腾了两天。
会话层 合并到应用层 IEC104通过启动、停止、测试等命令管理会话。
表示层 合并到应用层 ASDU里的类型标识(TypeID)决定了数据怎么解析。
应用层 APCI + ASDU 这是咱们点表配置的核心,后面会详细讲。

注意:IEC104的TCP连接是长连接。我曾经在调试时发现,如果30秒内没有数据交互,有些设备会自动断开连接。所以,一定要实现心跳机制(测试帧),每隔15-20秒发一次。

1.5 为什么是TCP而不是UDP?

你可能会问,为什么IEC104选TCP而不是UDP?说白了,电力数据丢不起。遥测值少一个,调度员可能误判;遥控命令丢一个,断路器可能合不上。TCP的确认重传机制,虽然增加了延迟,但保证了可靠性。

我做过一个对比测试:用UDP传遥测,丢包率在0.5%时,画面上的数据就开始跳变。换成TCP后,同样的网络环境,数据稳如老狗。嗯,这就是为什么标准制定者选了TCP。

一句话总结:IEC104 = 电力系统的“TCP/IP方言”。它用标准网络协议,讲电力设备听得懂的话。

好了,这一章咱们把IEC104的来龙去脉、应用场景和协议栈结构理清楚了。下一章,我会带你手撕IEC104的报文结构,看看APCI和ASDU到底长什么样。到时候,咱们用Wireshark抓包实战,你就能亲眼看到这些数据在线上怎么跑了。


公众号:蓝海资料掘金营,微信deep3321