GBT 33603-2026《电力系统模型数据动态消息编码规范》_第1页
GBT 33603-2026《电力系统模型数据动态消息编码规范》_第2页
GBT 33603-2026《电力系统模型数据动态消息编码规范》_第3页
GBT 33603-2026《电力系统模型数据动态消息编码规范》_第4页
GBT 33603-2026《电力系统模型数据动态消息编码规范》_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1电力系统模型数据动态消息编码规范本文件规定了应用于电力系统模型数据的动态消息编码,包括编码结构、数据类型、编码方式、基本编码规则,描述了编码的应用。本文件适用于动态消息通信和电力系统模型数据描述。2规范性引用文件GB/T16263.1信息技术ASN.1编码规则第1部分:基本编码规则(BER)、正则编码规则(CER)和非典型编码规则(DER)规范3术语和定义下列术语和定义适用于本文件。编码方式codingmode数据属性描述和数据组织的方式。动态消息编码dynamicmessagecoding以自包含方式动态描述电力系统模型和数据的编码方式。类型展开typeexpansion将复合数据类型处理为简单类型的组合。短描述shortdescription用于类属性的精简描述。下列缩略语适用于本文件。CH:编码头部(CodingHead)CT:编码类型(CodingType)EF:扩展标志(ExtendFlag)OC:对象个数(ObjectCount)5编码结构5.1M编码区域一块完整的采用M编码的存储区域称为M编码区域,应由1个M编码头部和M编码数据组成,M编码头部为1个八位位组或多个八位位组,其中第1个八位位组用于区分所采用的编码方式。M编码数据为采用兼容ASN.1编码方式、带名字ASN.1编码方式、对象编码方式、类编码方式编码的数据内容。编码区域示意见图1。图1编码区域示意图5.2M编码头部M编码中用于区分各类编码方式的顶层数据称为M编码头部,是所有M编码方式公用的数据结构。编码头部的第1个八位位组用于区分所有的编码方式,也称为类型码,其中CT和高位标志H是必选项,CE和EF是可选项。M编码头部的定义见图2。(默认为0)编码扩展CE图2编码头部八位位组定义35.2.2编码类型应关系见表1。表1编码类型表编码类型(10)01235.2.3编码扩展编码扩展用于对M0编码方式进行扩展。5.2.4扩展标志表2扩展标志描述675.2.5高位标志高位标志H表示发送方的位序,大端点机器设置为“1”,小端点机器设置为“0”。6数据类型第7位、第8位不置位时,1位~6位表示这些基本数据类型和用于扩充的类型,基本数据类型的编号和说明见表3。基本数据和扩充类型的编码规则如下:a)基本数据类型范围:0(000000)~47(101111);b)用户扩充类型范围:48(110000关于指针和泛型的定义采用如下方案:a)第7位置1:表示指针,即由第0位~第5位定义的类型的指针;b)第8位置1:表示泛型any,后面的7位表示当前的类型。4表3基本数据类型编码类型名说明0一一保留1简单类型2简单类型3简单类型4八位位组串简单类型5空类型简单类型6简单类型7简单类型8复合类型9实数类型简单类型复合类型复合类型UTF-8字符串复合类型简单类型一一保留复合类型复合类型复合类型可打印字符串复合类型复合类型复合类型IA5串类型复合类型世界时间复合类型通用时间复合类型所有G集合+SPACE复合类型复合类型复合类型复合类型引用字符串类型复合类型复合类型高精度时间复合类型表3基本数据类型编码(续)类型名说明16位有符号整型16位无符号整型结构类型复合类型一复合类型一复数类型复合类型一128位有符号整型一向量类型复合类型一一一保留7兼容ASN.1编码方式(M0)低八位位组类型类型T长度L值V1个八1个八L个八位位组位位组位位组图3M0结构示意图MO编码方式对固定长度的简单类型支持精简编码方式,设置CE位为1(见图2),采用与TLV6低八位位组高八位位组位位组位位组位位组位位组位位组图4M0精简编码结构示意图8带名字ASN.1编码方式(M1)述、能量管理系统属性名传递等。M1编码方式在TLV编码方式的基础上加入名字一项,变为N-低八位位组低八位位组→高八位位组位位组位位组位位组位位组1个八1个八L个八位位组位位组位位组图5M1结构示意图9对象编码方式(M2)9.1编码规则M2编码方式参照CDR的编码规则,为静态对象消息编码,用于系统内和系统间通信总线等传输协议的数据结构的描述。M2类型编码方式需要扩展编码头部,增加CI用于标识对象的类别,OS(为无符号数值型)用于标识CI按照展开规则展开并按对齐规则对齐后对象的长度,OC(为无符号数值型)用于标识编码对象的总个数。M2的编码结构示意见图6。低八位位组高八位位组对象个数OC对象1对象21个八1个八位位组/2个1个八位八位位组1个八位位组/3个八位位组OS个八位位组OS个八图6M2编码结构示意图9.2头部扩展展为4个八位位组,为1时扩展为8个八位位组。4个八位位组扩展方式扩展为类型码1个八位位组、对象标识1个八位位组、对象尺寸1个八位位组、对象个数1个八位位组。8个八位位组扩展方式扩展为类型码1个八位位组、对象标识两个八位位组、对象尺寸两个八位位组、对象个数三个八位位组,其中所有的两个和三个八位位组数据采用小端点位序排放,即低位在前,高位在后的排放方式。对象1~对象OC为描述的对象,所有对象的类型、长度一致。类型由扩展头部中的类标识决定,长度由扩展头部中的对象尺寸决定,个数由扩展头部中的对象个数决定。对象头部扩展方式见用4个八位位组扩展用8个八位位组类型码CH类型码CH对象个数OC2个八2个八3个八位位组位位组位位组图7对象头部扩展示意图10类编码方式(M3)M3编码方式参照CDR的编码规则,为动态编码规则,用于通信双方协商通信内容,适用于能量管理系统、配电管理系统、变电站和配电自动化系统等通信的数据结构的描述。M3编码方式需要扩展编码头部,其扩展方式与M2使用的头部扩展方式相似,类标识用于表示类描述的种类,将图6中的OS换成CS,用于接收方在类展开时进行校验,将图6中的OC换成DL,用于标识类描述的总长度。头部扩展后是类的名字,以内存字节为零('\0')结尾,类名字后对类的属性用类描述项依次进行描述,将其中的复合类型展开为第6章描述的简单类型。M3编码结构示意见图8。1个八1个八位位位组位组/2个类描述:总共DL字节类描述长DL类名字1个八位多个八位组/3个位位组1个八1个八位位位组位组/2个M=3类标识CI类长度CS八位位组八位位组位位组1个八图8M3结构示意图10.2类描述项8使用1个使用2个oo图9M编码类描述项示意图对象内部结构的描述根据C/C++数据结构定义,将各种复合数据结构如:结构(struct)、数组(array),以及数组和结构的组合、嵌套,一律依次展开,直至形成系统支持的简单数据类型(或称原子类型,见表3)的一维列表。一维和多维数组按下标依次展开为元素,直至基本数据类型。复合结构的嵌套(nest)层数没有限制,从实用和效率角度考虑,工程实现应支持两层以上的嵌套。11.2扩展规则对应于ASN.1中的CHOICE,可按上层选定的结构展开。对于C++扩展的标准模版库(Standard11.3对齐规则按简单类型的自然边界对齐原始数据,编码后的对象数据与C/C++相应数据结构编译后在内存中的存储方式相同,包括由于数据对齐而产生的孔洞(hole),编译时宜慎用或不用压缩选项。为减少对齐孔洞,应精心设计数据结构,选择合适的数据类型,调整各数据项的前后顺序,使尺寸较大的数据项在8或4八位位组位置对齐。常见基本数据类型的对齐边界见表4。表4常用基本数据类型的对齐边界1char,unsignedchar,oc24int,unsignedint,flo8double,long(64位机)wchar(对齐取决于代码集)911.4顺序规则11.5静态规则M2为静态对象消息编码,数据不能自我识别,发送方和接收方之间应有关于交换数据类型的约定。本文件不规定运行时数据类型不匹配的检测手段。11.6动态规则类描述规整且唯一时,结合使用M2和M3可实现动态消息编码,发送方和接收方的编解码简便,编码效率较高,尤其是对同类型机器之间的数据交换,双方可直接使用编码数据。12M编码的应用12.1面向动态消息通信的编码应用四种编码方式各具特点:a)M0用于兼容ASN.1;c)M2扩展编码头部,编码效率高;d)M3扩展头部,描述类信息。a)编码方式M0:用于ASN.1的全兼容方式实现,适用于GB/T16720.1、GB/T18700.1、c)编码方式M2:当发送方和接收方已预先知道需要交换的对象数据结构时,宜采用编码方式M2,程序处理方便,总体效率高。典型应用场合为:实时应用层通信协议DL/T476、d)编码方式M3:用于通信双方交换对象数据结构,适用于DL/Z890.401、DL/T1080.3、12.2面向电力系统模型数据描述的编码应用当需要交互多组具有相关性的结构化数据时,可通过目录(Base)和索引项(Index)对这些结构化数据进行描述,形成“目录-索引-数据”的整体结构,如图10所示。目录、索引的C语言格式定义可见….….图10整体结构关系图目录用于定位不同的索引项,包括M2头部、修改时间、总尺寸等信息。M2头部采用4个八位位组扩展方式,其中类标识固定为1,从而与其他的M2单个结构化数据描述区分;类定义文件名,用于存放类定义所在文件的文件名;类定义长度,用于存放用M3描述的类结构的长度;类定义地址,用于存放用M3语言描述的类结构的地址;索引偏移,用于存放第一个索引项的偏移量;索引地址,用于存放第一个索引项的入口地址(进程内使用);数据块偏移,用于存放第一个数据块的偏移量;数据块地址,用于存放第一个数据块的入口地址(进程内使用)。目录结构示意图见图11。M2头部4个八4个八位8个八位8个八位4个八位8个八位4个八4个八8个八位4个八位8个八位位位组位组位组位组位组位组位位组位位组位组位组12.2.3索引结构描述索引项用于描述和定位不同的数据块,包括对象个数、对象尺寸、对象类型等信息。对象个数,用于标识本类对象的个数;对象尺寸,用于标识本类对象的长度;数据块总尺寸,用于存放数据域的总长度;对象块偏移,用于存放第一个对象的偏移量;对象块入口地址,用于存放第一个对象块的入口地址(进程内使用)。索引结构示意图见图12。4个八2个八位2个八位组4个八位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论