电力系统IEC-104报文主要常用详解


          【博主推荐】:前些天发现了一个 巨牛的 人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到学习网站

         对人工智能感兴趣的,快速入口:人工智能学习教程

在这里插入图片描述


作者:xcLeigh
文章地址:https://blog.csdn.net/weixin_43151418/article/details/138184913


电力系统IEC-104报文主要常用详解,经常基础电力系统104报文的小伙伴知道,有个详细的报文讲解,会让自己在开发中事半功倍,所以今天就抽了点时间,详细的描绘了常用的报文的作用,及每个字节的含义,让你能够迅速知道并掌握104报文规则。

1️⃣ IEC-104

电力101和104协议是电力系统中的两种重要通信协议,它们被广泛应用于电力系统的自动化和智能化中。下面将分别介绍这两种协议以及它们在电力系统中的应用。

1.1 前言

    电力系统远动(power system telemechanics):为电力系统调度服务的远距离监测、控制技术,即管理和监控分布甚广的众多厂、所、站和设备、元器件的运行工况的一种技术手段。

    一般来说,电力系统远动终端RTU(Remote Terminal Unit)具有”四遥”等功能。”四遥”主要指的是 遥测、遥控、遥调、遥信四种。其实从”遥”字面意思上我们也可以看到这注定是一个远程远距离的操控了。

  • 遥测:远程测量。采集并传送运行参数,包括各种电气量(线路上的电压、电流、功率等量值) 和负荷潮流等。

  • 遥控:远程控制。接受并执行遥控命令,主要是分合闸,对远程的一些开关控制设备进行远程控制。

  • 遥信:远程信号。采集并传送各种保护告警和开关量信息。

  • 遥调:远程调节。接受并执行遥调命令,对远程的控制量设备进行远程调试,如调节发电机输出功率。

  • 一摇:遥信

  • 二遥:遥信和遥测

  • 三遥:遥信、遥测和遥控

1.2 报文分类

104规约帧报文分为三大类( I帧、S帧、U帧)

  • I帧是信息帧,作用是用于传输具体的通信数据的,长度必大于6个字节。

  • S帧是用于确认接收的I帧,即当接收到I帧后需要返回一个S帧,长度等于6个字节。

  • U帧是控制帧,用于控制启动/停止子站进行数据传输,或测试TCP链路连接,长度等于6个字节。

在这里插入图片描述

1.3 U帧报文

1.3.1 常见报文


--> 68 04 07 00 00 00 :主站开启链路

<-- 68 04 0B 00 00 00 :从站响应开启链路

--> 68 04 13 00 00 00 :主站停止链路

<-- 68 04 23 00 00 00 :从站响应停止链路

--> 68 04 43 00 00 00 :主站测试链路

<-- 68 04 83 00 00 00 :从站响应测试链路

1.3.1 报文解析

报文字节数描述
681起始符
041后面的报文长度
07 00 00 004控制域

1.4 S帧报文

1.4.1 说明

以主站确认子站I帧报文为例:68 04 01 00 0a 00
68:起始字符,固定为68H
04:该字节之后的数据长度,S帧报文中固定为04H
01 00 0a 00:控制域

01 00  是发送序号  低高位  --S帧报文这个是固定的
0a 00  是接收序号  低高位  --这个是根据接收报文的发送序号计算的

接收主站时钟同步[激活确认] <-- 68 14 12 00 0A 00 67 01 07 00 01 00 00 00 00 C9 50 02 10 2F 04 18
回复报文的接收序号:

int fsxh = (receivedBytes[3] + receivedBytes[2]) >> 8 | receivedBytes[2];
int num = ((fsxh)/ 2 + 1)*2
//控制域里的接收序号
第六个字节: (byte)(num & 0xFE)
第七个字节:(byte)((num >> 8) & 0xFF)

1.4.2 报文解析

报文字节数描述
681起始符
041后面的报文长度
07 00 00 004控制域

1.5 I帧报文

1.5.1 报文解析

报文字节数描述
681起始符
041后面的报文长度
02 00 02 004控制域,这里面接发送序号和接收序号都是需要计算的
641ASDU-类型标识
011ASDU-可变结构限定词
06 002ASDU-传送原因
01 002ASDU-公共地址
00 00 003ASDU-信息体地址
14 001ASDU-值-根据具体报文说明后续

1.6 控制域

    控制域有两个作用:一是区分I、S、U三种报文,二是存放报文编号(发送接收序号)。

I帧报文

在这里插入图片描述

I帧报文格式规定控制域1和控制域3的最低位为0;其他部分用于发送序列号和接收序列号的计数;比如:发送计数为 TxCounter 接收计数为RxCounter
控制域1 = TxCounter & 0xFE
控制域2 = (TxCounter >> 8) & 0xFF
控制域3 = RxCounter & 0xFE
控制域4 = (RxCounter >> 8) & 0xFF

S帧报文

在这里插入图片描述

S帧报文格式规定控制域1的第0位为1,第1位为0和控制域第0位为0;
S帧报文的发送序列号都为0
S帧只用于APCI中(意思就是S帧的apdu报文只会有apci不会存在asdu),不能用于传输信息,只用给对方信息的确认,比如子站发送8条报文,结束后主站就会给子站发送一个确认帧(S帧),告诉子站我收到了8条报文。
比如:接收计数为RxCounter
控制域1 = 0x01
控制域2 = 0x00
控制域3 = RxCounter & 0xFE
控制域4 = (RxCounter >> 8) & 0xFF

U帧报文

在这里插入图片描述
U帧只用于控制,并且只存在APCI中(意思就是U帧的apdu报文只会有apci不会存在asdu);
测试、停止和开启在一个U帧报文中只可能存在其中的一种;
如果用于【开启】则:
激活第2位为1 第3位为0,如上图所示所示,测试、停止和开启这三个2biT数据,低biT为ACT,置1表示激活,是主站发往从站的;高biT为CON,置1表示确认,是从站相应主站的。所以U帧的控制域只有以下6种:见上面的U帧报文

介绍

I帧与S帧中的发送序号和接收序号用来防止I帧报文在传送过程中丢失或者重复。发送方每发送一个I格式报文,其发送序号应加1,接收方每接收到一个与其接收序号相等的I格式报文后,其接收序号也应加1。由于代表序号的最后一位未使用(一直为0),所以报文中“序号”像是以“2”为步长进行递增。

当子站发送了若干帧I格式报文后,需要主站用S格式报文予以确认,S格式报文会将子站发送的发送序号小于等于其接受序号的报文全部确认。S格式和U格式报文的发送不会改变子站发送的I格式报文中的发送序号序列。

1.7 ASDU

    ASDU报文是104报文的核心,存储着五遥数据以及总召和对时的命令。类比Modbus规约,五遥的数据也可以理解为是存在寄存器中,五遥数据的上送就是子站通过响应总召或者主动上送变化信息的方式上传给主站,主站根据ASDU类型标识来区分是数据类型,再根据信息体地址来解析数据。

    注意:104规约中,所有长度大于1个字节的数据都是低字节在前。

1.7.1 常见类型标识

常见类型如下表:

在这里插入图片描述
在这里插入图片描述

1.7.2 常见结构限定词

    可变结构限定词,用来表明本帧报文中的数据结构。最高位表示SQ,低7位表示报文中包含数据的个数。内部结构如下表:
在这里插入图片描述
SQ是结构限定词的二进制展现的八位的第一位。
在这里插入图片描述

SQ=0,表示后面数据的信息体地址不连续,信息体地址和信息成对出现,一一对应。
SQ=1,表示后面数据的信息体地址连续,只有第一个信息体元素有地址,其他信息体元素地址从第一个信息体地址起,逐步加一。遥控、遥调和总召报文的可变结构限定词都为01H,表示后面只有一个信息体。

1.7.3 常见传送原因

传送原因COT占2个字节,按bit展开如下表:
在这里插入图片描述
T=0未试验,T=1试验。一般 T= 0。
P/N=0肯定,P/N=1否定。P/N=1说明该报文无效,一般P/N=0。
源发地址:用来记录来时哪个主站的响应数据,一般写 0。
常见的传送原因如下表:
在这里插入图片描述

1.7.4 信息体地址

02版本的104规约信息体地址如下表所示:

在这里插入图片描述

1.8 常用功能报文

1.8.1 启动链路报文

发送:68 04 07 00 00 00 :主站开启链路
接收:68 04 0B 00 00 00 :从站响应开启链路
初始化结束接收:68 0E 00 00 00 00 46 01 04 00 01 00 00 00 00 00 
发送:68 04 01 00 02 00 

1.8.2 总召报文

发送总召:68 0E 00 00 02 00 64 01 06 00 01 00 00 00 00 14 
接收总召确认:68 0E 02 00 02 00 64 01 07 00 01 00 00 00 00 14 
接收单点双点遥信数据:68 1A 04 00 02 00 01 8D 14 00 01 00 01 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 
接收单点双点遥信数据:68 1A 06 00 02 00 03 8D 14 00 01 00 01 02 00 01 01 01 01 00 00 00 00 00 00 00 00 00 
接收遥测数据:68 4E 08 00 02 00 0D 8D 14 00 01 00 01 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 40 00 
接收总召激活终止:68 0E 0A 00 02 00 64 01 0A 00 01 00 00 00 00 14 
发送确认:68 04 01 00 0C 00 

1.8.3 复位进程

发送复位进程:68 0E 00 00 02 00 69 01 06 00 01 00 00 00 00 01 
接收:68 0E 02 00 02 00 69 01 07 00 01 00 00 00 00 01 
发送确认:68 04 01 00 04 00 

报文讲解

68H ---------------------------------1 字节
报文长度 L ---------------------------------1 字节
控制域 C ---------------------------------4 字节
类型标识符 TI ---------------------------------1 字节
可变帧长限定词 VSQ ---------------------------------1 字节
传送原因 COT ---------------------------------2 字节
ASDU 公共地址 ---------------------------------2 字节
信息对象地址(=0) ---------------------------------3 字节
复位进程命令限定词 QRP ---------------------------------1 字节

1.8.4 对时

时钟读取

发送时钟读取:68 14 00 00 02 00 67 01 05 00 01 00 00 00 00 00 00 00 00 00 00 00 
接收返回:68 14 02 00 02 00 67 01 05 00 01 00 00 00 00 5A 2E 13 0F 19 04 18 
发送确认:68 04 01 00 04 00 

报文讲解

68H ---------------------------------1 字节
报文长度 L ---------------------------------1 字节
控制域 C ---------------------------------4 字节
类型标识符 TI ---------------------------------1 字节
可变帧长限定词 VSQ ---------------------------------1 字节
传送原因 COT ---------------------------------2 字节
ASDU 公共地址 ---------------------------------2 字节
信息对象地址(=0)--------------------------------- 3 字节
时标 CP56Time2a ---------------------------------7 字节

时钟写入

发送时钟写入:68 14 02 00 04 00 67 01 06 00 01 00 00 00 00 D7 B0 13 0F 19 04 18 
接收返回:68 14 04 00 04 00 67 01 07 00 01 00 00 00 00 D7 B0 13 0F 19 04 18 
发送确认:68 04 01 00 06 00 

1.8.5 召唤电能量

发送召唤电能量:68 0E 04 00 06 00 65 01 06 00 01 00 00 00 00 05 
接收电能量确认:68 0E 06 00 06 00 65 01 07 00 01 00 00 00 00 05 
接收电能量数据:68 72 08 00 06 00 CE 0D 25 00 01 00 01 64 00 00 00 00 00 00 02 64 00 00 00 00 00 00 03 64 00 00 00 00 00 00 04 64 00 00 00 00 00 00 05 64 00 00 00 00 00 00 06 64 00 00 00 00 00 00 07 64 00 00 00 00 00 00 08 64 00 00 00 00 00 00 09 64 00 00 00 00 00 00 0A 64 00 00 00 00 00 00 0B 64 00 00 00 00 00 00 0C 64 00 00 00 00 00 00 0D 64 00 00 00 00 00 00 
接收电能量终止:68 0E 0A 00 06 00 65 01 0A 00 01 00 00 00 00 05 
发送确认:68 04 01 00 0C 00 

报文讲解

68H  ---------------------------------1 字节
报文长度 L  ---------------------------------1 字节
控制域 C  ---------------------------------4 字节
类型标识符 TI  ---------------------------------1 字节
可变帧长限定词 VSQ  ---------------------------------1 字节
传送原因 COT  ---------------------------------2 字节
ASDU 公共地址  ---------------------------------2 字节
信息对象地址(=0)  ---------------------------------3 字节
计量信息命令限定词 QCC  ---------------------------------1 字节

1.8.6 遥控

  • 发送遥控合闸确认
发送遥控合闸	68 0E 04 00 10 00 2D 01 06 00 01 00 01 60 00 81 
接收	68 0E 10 00 06 00 2D 01 07 00 01 00 01 60 00 81 
--遥控合闸预置确认
发送遥控合闸预置确认	68 0E 06 00 10 00 2D 01 06 00 01 00 01 60 00 01 
接收	68 0E 12 00 08 00 2D 01 07 00 01 00 01 60 00 01 
--遥控合闸执行确认
接收	68 0E 14 00 08 00 2D 01 0A 00 01 00 01 60 00 01 
--遥控合闸执行结束
发送	68 04 01 00 16 00 
  • 发送遥控合闸取消
发送	68 0E 04 00 10 00 2D 01 06 00 01 00 01 60 00 81 
接收	68 0E 10 00 06 00 2D 01 07 00 01 00 01 60 00 81 
--	遥控合闸预置确认
发送	68 0E 06 00 10 00 2D 00 08 00 01 00 01 60 00 01 
接收	68 0E 12 00 08 00 2D 01 09 00 01 00 01 60 00 01 
--	遥控合闸停止激活确认
发送	68 04 01 00 14 00 
  • 发送遥控分闸确认
发送	68 0E 08 00 16 00 2D 01 06 00 01 00 01 60 00 80 
接收	68 0E 16 00 0A 00 2D 01 07 00 01 00 01 60 00 80 
--	遥控分闸预置确认
发送	68 0E 0A 00 16 00 2D 01 06 00 01 00 01 60 00 00 
接收	68 0E 18 00 0C 00 2D 01 07 00 01 00 01 60 00 00 
--	遥控分闸执行确认
接收	68 0E 1A 00 0C 00 2D 01 0A 00 01 00 01 60 00 00 
--	遥控分闸执行结束
发送	68 04 01 00 1C 00 
  • 发送遥控分闸取消
发送	68 0E 04 00 10 00 2D 01 06 00 01 00 01 60 00 80 
接收	68 0E 10 00 06 00 2D 01 07 00 01 00 01 60 00 80 
--	遥控分闸预置确认
发送	68 0E 06 00 10 00 2D 00 08 00 01 00 01 60 00 00 
接收	68 0E 12 00 08 00 2D 01 09 00 01 00 01 60 00 00 
--	遥控分闸停止激活确认
发送	68 04 01 00 14 00 

1.8.7 遥调

  • 读定定值号
发送	68 0D 04 00 10 00 C9 01 06 00 01 00 00 00 00 
接收	68 18 10 00 06 00 C9 01 07 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
--	读取定值区激活确认,定值区号:0 
发送	68 04 01 00 12 00 
  • 切换定值区号
发送	68 0F 06 00 12 00 C8 01 06 00 01 00 00 00 00 00 00 
接收	68 0F 12 00 08 00 C8 01 07 00 01 00 00 00 00 00 00 
--	切换定值区激活确认;定值区号:0
发送	68 04 01 00 14 00 
  • 读取数据
发送	68 0F 08 00 14 00 CA 01 06 00 01 00 00 00 01 80 00 
接收	68 32 14 00 0A 00 CA 01 07 00 01 00 00 00 00 01 80 00 04 20 46 54 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
--	定值区号:0 信息体地址:32769 tag:4 值:FTU
--	读取参数定值激活确认
发送	68 04 01 00 16 00 
  • 写入数据-固化预置
发送	68 32 1A 00 30 00 CB 01 06 00 01 00 00 00 80 02 80 00 04 20 46 72 65 65 52 54 4F 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
接收	68 32 30 00 1C 00 CB 01 07 00 01 00 00 00 80 02 80 00 04 20 46 72 65 65 52 54 4F 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
--	终端正常回复激活,弹出固化-撤销,定值区号:0
发送	68 0D 1C 00 30 00 CB 00 06 00 01 00 00 00 00 
接收	68 0D 32 00 1E 00 CB 00 07 00 01 00 00 00 00 
--	终端正常回复激活,弹出固化-撤销,定值区号:0
发送	68 04 01 00 34 00 
  • 写入数据-撤销预置
发送	68 32 26 00 3C 00 CB 01 06 00 01 00 00 00 80 02 80 00 04 20 46 72 65 65 52 54 4F 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
接收	68 32 3C 00 28 00 CB 01 07 00 01 00 00 00 80 02 80 00 04 20 46 72 65 65 52 54 4F 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
--	终端正常回复激活,弹出固化-撤销,定值区号:0
发送	68 0D 28 00 3C 00 CB 00 08 00 01 00 00 00 40 
接收	68 0D 3E 00 2A 00 CB 00 09 00 01 00 00 00 40 
--	停止激活确认
发送	68 04 01 00 40 00 

1.8.8 文件

  • 召唤HISTROY
发送召唤HISTROY目录报文	68 2A 04 00 10 00 D2 00 05 00 01 00 00 00 00 02 01 00 00 00 00 07 48 49 53 54 4F 52 59 00 AE E2 34 0D 02 07 18 AE E2 34 0D 02 07 18 
接收目录数据报文	68 79 10 00 06 00 D2 01 05 00 01 00 00 00 00 02 02 00 00 00 00 00 01 04 06 63 6F 2E 6D 73 67 00 2F 0A 00 00 B7 44 28 0D 42 07 18 07 73 6F 65 2E 6D 73 67 00 24 0C 00 00 D7 15 12 08 8D 06 18 11 66 69 78 70 74 32 30 37 39 31 31 31 36 2E 6D 73 67 00 4F 17 00 00 37 89 0F 0A 30 0B 46 11 66 69 78 70 74 32 30 37 39 31 31 32 31 2E 6D 73 67 00 3B 18 00 00 37 89 0F 0A D5 0B 46 
接收目录数据报文	68 52 1E 00 06 00 D2 01 05 00 01 00 00 00 00 02 02 00 00 00 00 00 00 02 11 66 69 78 70 74 32 30 32 34 30 36 30 35 2E 6D 73 67 00 F1 15 00 00 37 89 00 0C 65 06 18 11 66 69 78 70 74 32 30 32 34 30 36 30 38 2E 6D 73 67 00 27 03 00 00 37 89 0F 12 C8 06 18 
发送报文	68 04 01 00 1E 00 
  • 读文件-文件名称:co.msg
发送	68 16 06 00 20 00 D2 00 06 00 01 00 00 00 00 02 03 06 63 6F 2E 6D 73 67 
接收	68 1F 20 00 08 00 D2 01 07 00 01 00 00 00 00 02 04 00 06 63 6F 2E 6D 73 67 00 00 00 00 2F 0A 00 00 

1.9 文档下载

在这里插入图片描述

【PDF,HTML两种格式浏览文档】电力系统IEC-104报文主要常用详解 ZIP文档下载

--------------- 业精于勤,荒于嬉 ---------------
 

请添加图片描述

--------------- 行成于思,毁于随 ---------------

万套模板,程序开发,在线开发,在线沟通


优质资源分享

🧡🧡🧡🧡🤍【总览】程序员前端、后端资源合集

🧡🧡🧡🧡🤍【源码】程序员优质资源汇总

🧡🧡🧡🧡🤍【博主推荐】JAVA SSM框架的后台管理系统(附源码)

🧡🧡🧡🧡🤍【博主推荐】SpringBoot API接口对数据库增删改查,路由,TOKEN,WebSocket完整版(附源码)

🧡🧡🧡🧡🤍【博主推荐】HTML制作一个美观的个人简介网页(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的个人简历网页版(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的个人主页(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的邀请函(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的音乐播放器(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的拼图小游戏(附源码)

🧡🧡🧡🤍🤍【博主推荐】html好看的拼图验证码(附源码)

🧡🧡🧡🧡🧡【博主推荐】html界面绘制SVG图形(附源码)

🧡🧡🧡🧡🤍【博主推荐】html操作SVG图(附源码)

🧡🧡🧡🧡🤍【博主推荐】html下拉框树形(附好看的登录界面)

🧡🧡🧡🧡🤍【博主推荐】HTML5响应式手机WEB(附源码)

🧡🧡🧡🧡🤍【博主推荐】大数据可视化大屏(源码下载)

🧡🧡🧡🧡🧡【博主推荐】html引用百度地图定位闪烁弹框树形(附源码)

🧡🧡🧡🧡🤍【博主推荐】HTML酷炫动画表白求爱界面(附源码)


请添加图片描述


     💞 关注博主 带你实现畅游前后端

     🏰 加入社区 带你体验马航不孤单

     💯 神秘个人简介 带你体验不一样得介绍

     🎀 酷炫邀请函 带你体验高大上得邀请


     ① 🉑提供云服务部署(有自己的阿里云);
     ② 🉑提供前端、后端、应用程序、H5、小程序、公众号等相关业务;
     如🈶合作请联系我,期待您的联系。
    :本文撰写于CSDN平台,作者:xcLeigh所有权归作者所有)https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


     亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌


原文地址:https://blog.csdn.net/weixin_43151418/article/details/138184913(防止抄袭,原文地址不可删除)

评论 95
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xcLeigh

万水千山总是情,打赏两块行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值