网站地图 | Tags | 热门标准 | 最新标准 | 订阅

GB/T 33603-2017 电力系统模型数据动态消息编码规范

  • 名  称:GB/T 33603-2017 电力系统模型数据动态消息编码规范 - 下载地址2
  • 下载地址:[下载地址2]
  • 提 取 码
  • 浏览次数:3
下载帮助: 发表评论 加入收藏夹 错误报告目录
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
新闻评论(共有 0 条评论)

资料介绍

  ICS 29 . 020 F 2 1

  中 华 人 民 共 和 国 国 家 标 准

  GB/T 33603—2017

  电力系统模型数据动态消息编码规范 Codingspecificationofdynamicmessageforelectricpowersystem modelanddata

  2017-05-12 发布 2017-12-01 实施

  中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会

  发

  布

  GB/T 33603—20 17

  GB/T 33603—20 17

  前 言

  本标准按照 GB/T 1 . 1—2009 给出的规则起草。

  本标准由中国电力企业联合会提出。

  本标准由全国电网运行与控制标准化技术委员会(SAC/TC 446)归口 。

  本标准起草单位:国家电网公司国家电力调度控制中心、中国南方电网电力调度控制中心、北京科东电力控制系统有限责任公司、国电南瑞科技股份有限公司、中国电力科学研究院、国家电网公司华东分部、国网冀北电力有限公司、国网重庆市电力公司、广东电网有限责任公司电力科学研究院、南京南瑞继保电气有限公司。

  本标准主要起草人:辛耀中、李军良、陶洪铸、尚学伟、陈国平、许洪强、严亚勤、梁寿愚、张亮、张昊、方文崇、刘力华、叶飞、武力、黄海峰、徐建航、雷宝龙、张鸿、高原、花静、鲁广明、王磊、刘菲、钱锋、吴迎霞、钱行。

  GB/T 33603—20 17

  引 言

  随着电网规模的增长,电力系统应用 日益复杂,迫切需要一种能够灵活、高效的描述电力系统模型和数据的方法。 本标准采用二进制 自描述方式描述大型电力系统模型和数据,提高了模型数据描述和通信传输的效率。

  GB/T 33603—20 17

  电力系统模型数据动态消息编码规范

  1 范围

  本标准规定了应用于电力系统模型数据的动态消息编码,包括编码结构、数据类型、编码方式、基本编码规则以及编码的应用等。

  本标准适用于动态消息通信和电力系统模型数据描述。

  2 规范性引用文件

  下列文件对于本文件的应用是必不可少的。 凡是注 日期的引用文件,仅所注 日期的版本适用于本文件。 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

  GB/T 16263 . 1—2006 信息技术 ASN . 1 编码规则 第 1 部分:基本编码规则(BER)、正则编码规则(CER)和非典型编码规则(DER)规范

  GB/T 16720 . 1 工业自动化系统 制造报文规范(MMS) 第 1 部分:服务定义

  GB/T 18700 . 1 远动设备和系统 第 6 部分:与 ISO 标准和 ITU-T建议兼容的远动协议 第 503篇:TASE. 2 服务和协议

  DL/T 476 电力系统实时数据通信应用层协议

  DL/T 634 . 5104 远动设备及系统 第 5-104 部分:传输规约采用标准传输协议集的 IEC 60870-5 - 101 网络访问

  DL/T 860 . 72 电力 自动化通信网络和系统 第 7-2 部分:基本信息和通信结构-抽象通信服务接口 (ACSI)

  DL/Z 890 . 401 能量管理系统应用程序接口 (EMS-API) 第 401 部分:组件接口规范(CIS)框架DL/T 1080 . 3 电力企业应用集成配电管理的系统接口 第 3 部分:电网运行接口

  3 术语和定义

  下列术语和定义适用于本文件。

  3.1

  编码方式 codingmode

  数据属性描述和数据组织的方式。

  3.2

  动态消息编码 dynamicmessagecoding

  以 自包含方式动态描述电力系统模型和数据的编码方式,简称 M 编码。 本标准给出了 M0 、M1 、 M2 和 M3 四种编码方式。

  3.3

  类型展开 typeexpansion

  将复合数据类型处理为简单类型的组合。

  4 缩略语

  下列缩略语适用于本文件。

  GB/T 33603—20 17

  ASN.1:抽象语法标记(Abstract Syntax Notation One)

  BER: ASN.1 中的基本编码规则(Basic Encoding Rules)

  CDR:通用数据表示,在 CORBA GIOP 中定义(Common Data Representation)

  CH:编码头部(Coding Head)

  CI:类标识 (Class Identifier)

  CORBA:公共对象请求代理架构(Common Object Request Broker Architecture)

  CT:编码类型(Coding Type)

  DL:描述长度(Description Length)

  EF:扩展标志(Extend Flag)

  GIOP: CORBA 的通用对象请求代理间协议(General Inter-ORB Protocol)

  N-TLV:名字-类型-长度-值(Name-Type Length Value)

  N-TL:名字-类型-长度(Name-Type Length)

  OC:对象个数(Object Count)

  OS:对象尺寸(Object Size)

  TLV:类型-长度-值,为 ASN.1 的编码方式(Type Length Value)

  5 编码结构

  5 . 1 M 编码区域

  一块完整的采用 M 编码的存储区域称为 M 编码区域,应由 1 个 M 编码头部和 M 编码数据组成,编码头部为 1 个八位位组或多个八位位组,其中第 1 个八位位组用于区分所采用的编码方式。 编码区域示意见图 1 。

  图 1 编码区域示意图

  5 . 2 M 编码头部

  5 . 2 . 1 头部定义

  M 编码中用于区分各类编码方式的顶层数据称为 M 编码头部,是所有 M 编码方式公用的数据结构 。编码头部的第 1 个八位位组用于区分所有的编码方式,也称为类型码,其中编码类型 CT 和高位标志 H 是必选的;扩展标志 EF 只在 M2 和 M3 时使用。 高位标志 H 表示发送方的位序,大端点机器设置为“1”,小端点机器设置为“0”。M 编码头部的定义见图 2 。

  图 2 编码头部八位位组定义

  GB/T 33603—20 17

  5 . 2 . 2 编码类型

  编码类型 CT用于区分编码的方式,采用编码头部中的两个位表示,按编码类型 CT值的不同分成四种编码方式,其对应关系见表 1 。

  表 1 编码类型表

  5 . 2 . 3 扩展标志

  扩展标志 EF用于对类描述和头部扩展进行分类,在 M2 和 M3 时有效。 M0 和 M1 不进行头部扩展,类描述采用短描述。 扩展意义描述见表 2 。

  表 2 扩展标志描述

  6 数据类型

  本标准直接采用 ASN . 1 定义的基本数据类型,并进行相应扩充。 在 M 编码中当数据类型字段的第 7、8 位不置位时,1~6 位表示这些基本数据类型和用于扩充的类型,基本数据类型的编号和说明见表 3 。基本数据和扩充类型的编码规则如下:

  a) 基本数据类型范围:0(000000) ~47(101111) ;

  b) 用户扩充类型范围:48(110000) ~63(111111) , 当需要更多的类型时,可使用该范围的类型编号。

  关于指针和泛型的定义采用如下方案:

  a) 第 7 位置 1:表示指针,即由第 0 至第 5 位定义的类型的指针;

  b) 第 8 位置 1:表示泛型 any,后面的 7 位表示当前的类型。

  表 3 基本数据类型编码

  GB/T 33603—20 17

  表 3(续)

  GB/T 33603—20 17

  表 3(续)

  7 兼容 ASN.1 编码方式(M0)

  M0 编码 方 式 应 采 用 GB/T 16263 . 1—2006 定 义 的 基 本 编 码 规 则,为 动 态 消 息 编 码,用 于GB/T 16720 . 1、GB/T 18700 . 1、DL/T 860 . 72 等的数据结构的描述。 M0 编码方式在 ASN . 1 编码数据的开始加入 1 个八位位组的编码头部,实现对 ASN . 1 编码的兼容。 ASN . 1 基本编码方式采用 TLV 编码方式,用类型和长度来标记每个原始数据项,编码灵活且与机器无关,可实现动态编码,保障运行时的数据类 型 安 全。 在 实 时 环 境 中 应 用 时,可 进 行 适 当 简 化,如:不 支 持 缺 省 值 ( Default) 、可 选 项(Optional)、序列和集合的自动排序等动态特性。 M0 编码结构示意见图 3 。

  图 3 M0 结构示意图

  8 带名字 ASN.1 编码方式(M1)

  M1 编 码 方 式 参 照 ASN . 1 的 编 码 规 则,为 动 态 消 息 编 码,用 于 DL/T 860 . 72 短 结 构 描 述、 DL/Z 890 . 401 属性名传递等。 M1 编码方式在 TLV 编码方式的基础上加入名字一项,变为 N-TLV,其中名字以 自然内存零(’/0’)结束,从而与其他数据分开。 M1 编码结构示意见图 4 。

  图 4 M1 结构示意图

  GB/T 33603—20 17

  9 对象编码方式(M2)

  9 . 1 编码规则

  M2 编码方式参照 CDR 的编码规则,为静态对象消息编码,用于 DL/T 476、DL/T 634 . 5104 等传输协议的数据结构的描述。 M2 编码方式需要扩展编码头部,增加类标识 CI 用于标识对象的类别,对象尺寸 OS(为无符号数值型)用于标识对象的长度,对象个数 OC(为无符号数值型)用于标识对象的总个数。 M2 的编码结构示意见图 5 。

  图 5 M2 结构示意图

  9 . 2 头部扩展

  头部扩展分成两种:4 个八位位组扩展和 8 个八位位组扩展,由类型码 CH 定义中扩展标志(EF)的第 7 位决定,为 0 时扩展为 4 个八位位组,为 1 时扩展为 8 个八位位组。 4 个八位位组扩展方式扩展为类型码 1 个八位位组、对象标识 1 个八位位组、对象尺寸 1 个八位位组、对象个数 1 个八位位组;8 个八位位组扩展方式扩展为类型码 1 个八位位组、对象标识两个八位位组、对象尺寸两个八位位组、对象个数三个八位位组,其中所有的两个和三个八位位组数据采用小端点位序排放,即低位在前,高位在后的排放方式。 对象 1 至对象 OC为描述的对象,所有对象的类型、长度一致。 类型由扩展头部中的类标识决定,长度由扩展头部中的对象尺寸决定,个数由扩展头部中的对象个数决定。 对象头部扩展方式见图 6 。

  图 6 对象头部扩展示意图

  10 类编码方式(M3)

  10 . 1 编码规则

  M3 编码 方 式 参 照 CDR 的 编 码 规 则,为 动 态 编 码 规 则,用 于 通 信 双 方 协 商 通 信 内 容,适 用 于

  GB/T 33603—20 17

  DL/Z 890 . 401、DL/T 1080 . 3、DL/T 860 . 72 等标准的数据结构的描述。 M3 编码方式需要扩展编码头部,其扩展方式与 M2 使用的头部扩展方式相似,类标识用于表示类描述的种类,将图 6 中的对象尺寸OS换成类长度 CS,用于接收方在类展开时进行校验,将图 6 中的对象个数 OC换成类描述长度 DL,用于标识类描述的总长度。 头部扩展后是类的名字,以 自然内存零(’/0’)结尾,类名字后对类的属性用类描述项依次进行描述,将其中的复合类型展开为第 6 章描述的简单类型。 M3 编码结构示意见图 7 。

  图 7 M3 结构示意图

  10 . 2 类描述项

  类描述项应采用与 N-TLV(M1 编码方式中使用)相仿的描述方式,去掉其中的 V 项,成为 N-TL方式,用于描述类属性信息。 类描述项的长度分两种:短描述和长描述,由编码头部 CH 中扩展标志 EF (见表 2)的第 6 位决定,为 0 时表示短描述方式,长度用 1 个八位位组;为 1 时表示长描述方式,长度用2 个八位位组,类描述项的示意见图 8 。

  图 8 M 编码类描述项示意图

  1 1 基本编码规则

  1 1 . 1 展开规则

  对象内部结构的描述根据 C/C++数据结构定义,将各种复合数据结构如:结构(struct)、数组( ar- ray), 以及数组和结构的组合、嵌套,一律依次展开,直至形成系统支持的简单数据类型(或称原子类型,见表 3)的一维列表。 一维和多维数组按下标依次展开为元素,直至基本数据类型。 复合结构的嵌套 (nest)层数没有限制,从实用和效率角度考虑,工程实现应支持两层以上的嵌套。

  1 1 . 2 扩展规则

  枚举(enum)类型可展开为一组整型常数值,枚举值可展开为一个整型常数值。 联合(union)类型对应于 ASN . 1 中的 CHOICE,可按上层选定的结构展开。 对于 C++扩展的标准模版库(Standard

  GB/T 33603—20 17

  Template Library, STL) 中的容器类型,如:向量 (vector)、字符串 (string)、列表 (list)、集合 (set)、队列

  (queue)等,可按数组展开,在数组第一个元素之前增加 size 和 max_size 两个整型变量,分别表示当前尺寸和最大尺寸。 对于容器类型的组合及与结构、数组的复合,可按该规则展开。

  1 1 . 3 对齐规则

  按简单类型的自然边界对齐原始数据,编码后的对象数据与 C/C++相应数据结构编译后在内存中的存储方式相同,包括由于数据对齐而产生的孔洞(hole),编译时宜慎用或不用压缩选项。 为减少对齐孔洞,应精心设计数据结构,选择合适的数据类型,调整各数据项的前后顺序,使尺寸较大的数据项在8 或 4 八位位组位置对齐。 常见基本数据类型的对齐边界见表 4 。

  表 4 常用基本数据类型的对齐边界

  1 1 . 4 顺序规则

  展开的简单类型列表,由 M 编码头部的 H 表示位序。 大端点的机器设置为“1”,小端点的机器设置为“0”。若接收方机器的位序与发送方一致,无需做任何转换处理;不一致时应由接收方进行位序转换。

  1 1 . 5 静态规则

  M2 为静态对象消息编码,数据不能 自我识别,发送方和接收方之间应有关于交换数据类型的约定 。本标准对运行时发生的数据类型不匹配,不规定检测手段。

  1 1 . 6 动态规则

  M2 和 M3 结合使用可实现动态消息编码,由于类描述规整,而且仅出现一次,发送方和接收方的编解码简便,编码效率较高,尤其是对同类型机器之间的数据交换,双方可直接使用编码数据。

  1 1 . 7 服务规则

  原语的描述包括服务程序名字及其参数,与普通数据结构意义不同,宜采用 ASN . 1 中的集合(set)进行描述,程序名和各参数按出现先后次序依次排列。

  12 编码的应用

  12 . 1 在动态消息通信中的应用

  四种编码方式各具特点:M0 用于兼容 ASN . 1 ; M1 在 ASN . 1 的基础上加入名字选项;M2 扩展编码头部,编码效率高;M3 扩展头部,描述类信息。 应根据应用场景选择编码方式,几种推荐的应用方式如下:

  GB/T 33603—20 17

  a) 编码方式 M0:用于 ASN . 1 的全兼容方式实现;

  b) 编码方式 M1:用于少量数据的结构化描述,适用于 DL/T 860 . 72 的模型直接映射到 TCP 报文的应用场合;

  c) 编码方式 M2:当发送方和接收方已预先知道需要交换的对象数据结构时,推荐采用编码方式M2,程 序 处 理 方 便,总 体 效 率 高。 典 型 应 用 场 合 为:实 时 应 用 层 通 信 协 议 DL 476 、 DL/T 634 . 5104 ;

  d) 编码方式 M3:用于通信双方交换对象数据结构。

  e) 组合使用:对于电力系统实时应用场合,可先用 M3 编码将头部类型和标识列表传输到接收方,随后持续使用 M2 编码高效传输对象数据,直到发现头部有变化时,再用 M3 编码重新传输头部,发挥 M2 的高效率和 M3 的灵活性等优势。

  12 . 2 在电力系统模型数据描述中的应用

  12 . 2 . 1 整体结构

  当需要交互多组具有相关性的结构化数据时,可通过目录(Base)和索引项(Index)对这些结构化数据进行描述,形成“目录-索引-数据”的整体结构,如图 9 所示。 目录、索引的 C语言格式定义可参见附录 A。

  图 9 整体结构关系图

  12 . 2 . 2 目录结构描述

  目录用于定位不同的索引项,包括 M2 头部、修改时间、总尺寸等信息。 M2 头部采用 4 个八位位组扩展方式,详细定义见 9 对象编码方式(M2),其中类标识固定为 1,从而与其他的 M2 单个结构化数据描述区分;类定义文件名,用于存放类定义所在文件的文件名;类定义长度,用于存放用 M3 描述的类结构的长度;类定义地址,用于存放用 M3 语言描述的类结构的地址;索引偏移,用于存放第一个索引项的偏移量;索引地址,用于存放第一个索引项的入口地址(进程内使用);数据块偏移,用于存放第一个数据块的偏移量;数据块地址,用于存放第一个数据块的入口地址(进程内使用)。 目录结构示意图见图 10 。

  图 10 目录结构示意图

  12 . 2 . 3 索引结构描述

  索引项用于描述和定位不同的数据块,包括对象个数、对象尺寸、对象类型等信息。 对象个数,用于标识本类对象的个数;对象尺寸,用于标识本类对象的长度;数据块总尺寸,用于存放数据域的总长度;对象块偏移,用于存放第一个对象的偏移量;对象块入口地址,用于存放第一个对象块的入口地址(进程内使用)。索引结构示意图见图 11 。

  GB/T 33603—20 17

  图 1 1 索引结构示意图

  GB/T 33603—20 17

  附 录 A

  (资料性附录)

  电力系统模型数据描述 C语言格式定义

  A.1 Index结构的 C语言格式定义如下:

  typdef struct Index {

  } tIndex ;

  A.2 Base结构的 C语言格式定义如下:

  typdef struct Base {

  } tBase ;

29141411429
下载排行 | 下载帮助 | 下载声明 | 信息反馈 | 网站地图  360book | 联系我们谢谢