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

相关文章

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

解读spring.factories文件配置详情

《解读spring.factories文件配置详情》:本文主要介绍解读spring.factories文件配置详情,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用场景作用内部原理机制SPI机制Spring Factories 实现原理用法及配置spring.f

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

Linux中的进程间通信之匿名管道解读

《Linux中的进程间通信之匿名管道解读》:本文主要介绍Linux中的进程间通信之匿名管道解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基本概念二、管道1、温故知新2、实现方式3、匿名管道(一)管道中的四种情况(二)管道的特性总结一、基本概念我们知道多

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X