IEC 104电力规约详细解读(一) - 报文结构、报文分类、ASDU

2024-01-28 02:52

本文主要是介绍IEC 104电力规约详细解读(一) - 报文结构、报文分类、ASDU,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

协议一般规则:

  • 平衡方式传输;也就是说每一个过程的会话,没有规定谁从头发起,双方均可
  • 一般情况下配电主站作为TCP的客户端,配电终端作为TCP的服务器
  • TCP的默认端口号是2404

一、报文结构

在这里插入图片描述

APCI 应用规约控制信息;ASDU 应用服务数据单元(和101协议里定义一致);APDU 应用规约数据单元。

  • 启动字符68H定义了数据流中的起点
  • APDU的长度域定义了APDU体的长度,它包括APCI的四个控制域八位位组和ASDU。第一个被计数的八位位组是控制域的第一个八位位组,最后一个被计数的八位位组是ASDU的最后一个八位位组。ASDU的最大长度限制在249以内,因为APDU域的最大长度是253(APDU最大值=255减去启动和长度八位位组),控制域的长度是4个八位位组。
  • 控制域定义了确保报文不丢失和重复传送的控制信息(也就是发送序列号和接收序列号),报文传输启动/停止,以及传输连接的监视等。控制域的计数器机制是根据ITU-T X.25 标准中推荐的2.3.2.2.1 至2.3.2.2.5来定义的

二、报文分类

2.1 S格式 (Numbered supervisory functions,编号的监视功能格式)

在这里插入图片描述
S帧格式报文不用来传送信息,只用来确认对方的发送序列号。比如,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧,当然也可以不要求(S帧内容示例参考例1)。因为S帧回复确认的序列号在byte3、byte4两个字节,并且byte3的bit1位置固定是0,所以在使用S帧回复确认时,只需在接收报文的发送序列号+2就可以(参考例2)。

举例1:68 04 01 00 0A 00 (接收序列号=5)  举例2:RECV:  68 FA 6C 67 84 00 0D 1E 03 00 01 00 E8 ... 省略 ... 6C 67 低前高后转换成0x676C 再右移一位就是0x33B6 最终发送序列号10进制也就是13238SEND:  68 04 01 00 6E 67 	接受序列号 = 接收报文的发送序列号+1 = 13239 = 0x33B7 左移一位 0x676E 再低前高后转换 就是6E 67 综上得出其实就是在接收来的报文的发送序列号的byte1的bit2位置上+1,也就成了对应10进制上+2

2.2 U格式 (Unnumbered control function,不编号的控制功能格式)

在这里插入图片描述
在同一时刻,TESTFR, STOPDT 或STARTDT中只有一个功能可以被激活。所以U帧格式的控制欲第一个字节就只有6种情况,分别是0x83(TESTER确认)、0x43(TESTER命令)、0x23(STOPDT确认)、0x13(STOPDT命令)、0x0B(START确认)、0x07(START命令)

举例:68  04  07  00  00  00	 START命令

U帧和S帧是没有ASDU的,所以这两种类型的报文长度也就是6字节

2.3 I格式 (Information Transmit Format,编号的信息传输格式)

在这里插入图片描述
遥信、遥测、遥控、遥调、总召、对时等都需要使用I格式传送。

举例:后面几篇文章详细说

三、I格式帧的ASDU

ASDU(应用服务数据单元),协议原文格式最好去101协议去看看,会比较详细。104和101是一样的
在这里插入图片描述

  • 类型标识符(1 byte)。解析来区分属于哪个过程。比如0x01单点遥信、0x0D段浮点遥测
  • 可变结构限定词(1byte)。bit0-bit6 :信息对象的个数 bit7: SQ信息对象地址是否连续,1代表连续,也就是信息对象2 的地址就是信息对象1的地址+1,信息对象2无需再给出它的地址;0代表不连续,每个信息对象都必须给出自己的地址
  • 传送原因(2byte)。
  • ASDU公共地址。一般是一个变电站一个地址
  • 信息对象
    • 信息对象地址。也就是点表对应的点位,遥测信息也就是测量点标号
    • 信息元素集。对应的值,按照不同的类型标识去解析
    • 时标。CP56Time2a格式 7byte
    • 限定词。按照报文类型确定有无限定词。总召唤限定词、复位进行限定词、初始化原因、品质描述词、设置命令限定词

在这里插入图片描述

这篇关于IEC 104电力规约详细解读(一) - 报文结构、报文分类、ASDU的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/652260

相关文章

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

python中各种常见文件的读写操作与类型转换详细指南

《python中各种常见文件的读写操作与类型转换详细指南》这篇文章主要为大家详细介绍了python中各种常见文件(txt,xls,csv,sql,二进制文件)的读写操作与类型转换,感兴趣的小伙伴可以跟... 目录1.文件txt读写标准用法1.1写入文件1.2读取文件2. 二进制文件读取3. 大文件读取3.1

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

python3 gunicorn配置文件的用法解读

《python3gunicorn配置文件的用法解读》:本文主要介绍python3gunicorn配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python3 gunicorn配置文件配置文件服务启动、重启、关闭启动重启关闭总结python3 gun

关于pandas的read_csv方法使用解读

《关于pandas的read_csv方法使用解读》:本文主要介绍关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录pandas的read_csv方法解读read_csv中的参数基本参数通用解析参数空值处理相关参数时间处理相关

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例