GB/T33603-2017

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

Codingspecificationofdynamicmessageforelectricpowersystemmodelanddata

本文分享国家标准电力系统模型数据动态消息编码规范的全文阅读和高清PDF的下载,电力系统模型数据动态消息编码规范的编号:GB/T33603-2017。电力系统模型数据动态消息编码规范共有15页,发布于2017-12-01
  • 中国标准分类号(CCS)F21
  • 国际标准分类号(ICS)29.020
  • 实施日期2017-12-01
  • 文件格式PDF
  • 文本页数15页
  • 文件大小1.05M

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


国家标准 GB/T33603一2017 电力系统模型数据动态消息编码规范 Codingspeeificeationofnamicmess4geforelectricpowersystemmdelanddata 2017-05-12发布 2017-12-01实施 国家质量监督检验检疫总局 发布 国家标准化管理委员会国家标准
GB/33603一2017 前 言 本标准按照GB/T1.1一2009给出的规则起草 本标准由电力企业联合会提出 本标准由全国电网运行与控制标准化技术委员会(SAC/TC446)归口 本标准起草单位:国家电网公司国家电力调度控制中心、南方电网电力调度控制中心、北京科 东电力控制系统有限责任公司国电南瑞科技股份有限公司、电力科学研究院、国家电网公司华东 分部、国网冀北电力有限公司、国网重庆市电力公司、广东电网有限责任公司电力科学研究院、南京南瑞 继保电气有限公司 本标准主要起草人:辛耀中、李军良、陶洪铸尚学伟、陈国平、许洪强、严亚勤、梁寿愚、张亮、张昊、 方文崇、刘力华、叶飞,武力,黄海蜂,徐建航、雷宝龙、张鸿、高原、花静、鲁广明,王磊、刘菲、钱锋、吴迎霞 钱行
GB/T33603一2017 引 言 随着电网规模的增长,电力系统应用日益复杂,迫切需要一种能够灵活、高效的描述电力系统模型 和数据的方法 本标准采用二进制自描述方式描述大型电力系统模型和数据,提高了模型数据描述和 通信传输的效率
GB/33603一2017 电力系统模型数据动态消息编码规范 范围 本标准规定了应用于电力系统模型数据的动态消息编码,包括编码结构、数据类型、编码方式、基本 编码规则以及编码的应用等 本标准适用于动态消息通信和电力系统模型数据描述 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅所注日期的版本适用于本 文件 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 GB/T16263.1一2006信息技术AsN.1编码规则第1部分:基本编码规则(BER),正则编码 规则(CER)和非典型编码规则(DER)规范 GB/T16720.1工业自动化系统制造报文规范(MMs)第1部分:服务定义 GB/T18700.1远动设备和系统第6部分:与ISO标准和ITU-T建议兼容的远动协议第503 篇:TAsE.2服务和协议 DL./T476电力系统实时数据通信应用层协议 DL/T634.5104远动设备及系统第5-104部分:传输规约采用标准传输协议集的IEC60870-5 101网络访问 DL/T860.72电力自动化通信网络和系统第7-2部分;基本信息和通信结构抽象通信服务接 口(ACSI) DL/Z890.401能量管理系统应用程序接口(EMSAPI)第401部分;组件接口规范(CIS)框架 DL/T1080.3电力企业应用集成配电管理的系统接口第3部分;电网运行接口 术语和定义 下列术语和定义适用于本文件 3.1 编码方式edingmde 数据属性描述和数据组织的方式 3.2 动态消息编码dlynamicmessagecodng 以自包含方式动态描述电力系统模型和数据的编码方式,简称M编码 本标准给出了M0,M1、 M2和M3四种编码方式 3.3 类型展开typeexpansion 将复合数据类型处理为简单类型的组合 缩略语 下列缩略语适用于本文件
GB/T33603一2017 ASN.1;抽象语法标记(AbstractSyntaxNotationOne BER;ASN.1中的基本编码规则(BasicEncodingRules CDR;通用数据表示,在cORBAGIoP中定义(CommonDataRepresentation) CH;编码头部(CodingHead) CI:类标识(ClassIdentifier CORBA;公共对象请求代理架构(CommonObjeetRequestBrokerArechitecture) CT;编码类型(CodingType) DL;描述长度(DeseriptionLd Lengtb) EF:扩展标志ExtendFlag GIOP;CORBA的通用对象请求代理间协议(Generallnter-ORBProtocol N-TLV;名字-类型-长度-值(Name-TypeLengthValue) N-TL;名字-类型-长度(Name-Typelength) OC;对象个数(ObjectCount) OS;对象尺寸ObjectSize) Value TLV类型-长度-值,为AsN.1的编吗方式(TypeLength 编码结构 5 5.1M编码区域 -块完整的采用M编码的存储区域称为M编码区域,应由1个M编码头部和M编码数据组成 编码头部为1个八位位组或多个八位位组,其中第1个八位位组用于区分所采用的编码方式 编码区 域示意见图1 M编码头部 M编码数据 编码区域示意图 5.2M编码头部 5.2.1头部定义 M编码中用于区分各类编码方式的顶层数据称为M编码头部,是所有M编码方式公用的数据结 构 编码头部的第1个八位位组用于区分所有的编码方式,也称为类型码,其中编码类型CT和高位标 志H是必选的;扩展标志EF只在M2和M3时使用 高位标志H表示发送方的位序,大端点机器设 置为“1”,小端点机器设置为“o” M编码头部的定义见图2 高比特位 低比特位 编码类型CT 保留默认为0 扩展标志EF 高位标志H 图2编码头部八位位组定义
GB/33603一2017 5.2.2编码类型 编码类型CT用于区分编码的方式,采用编码头部中的两个位表示,按编码类型CT值的不同分成 四种编码方式,其对应关系见表1 表1编码类型表 编码方式 数值 编码类型(a 编码名称 0 M0 00 兼容AsN.1编码方式 Mn 0l 带名字AsN.1编码方式 M2 对象编码方式 10 M3 类编码方式 5.2.3扩展标志 扩展标志EF用于对类描述和头部扩展进行分类,在M2和M3时有效 M0和M1不进行头部扩 展,类描述采用短描述 扩展意义描述见表2 表2扩展标志描述 扩展位置 =0的意义 =1的意义 类描述项为短描述 类描述项为长描述 头部扩展为4个八位位组 头部扩展为8个八位位组 数据类型 本标准直接采用AsN.1定义的基本数据类型,并进行相应扩充 在M编码中当数据类型字段的 第7、8位不置位时.1一6位表示这些基本数据类型和用于扩充的类型,基本数据类型的编号和说明见 表3 基本数据和扩充类型的编码规则如下 基本数据类型范围:0(000000)47(101111):; a b)用户扩充类型范围;48(110000)一63(111111),当需要更多的类型时,可使用该范围的类型 编号 关于指针和泛型的定义采用如下方案 第7位置1:表示指针,即由第0至第5位定义的类型的指针 a b)第8位置1:表示泛型any,后面的7位表示当前的类型 表3基本数据类型编码 编号 类型 类型简称 类型名 说明 保留 B0(oLEAN 布尔类型 简单类型 boolean INT32 2位有符号整型 简单类型 lnteger
GB/T33603一2017 表3(续 类型简称 说明 编号 类型 类型名 位串类型 简单类型 Bitstring STRIN(G 八位位组串 简单类型 octetString Nul 空类型 简单类型 objeetidentifier 客体标识符 简单类型 objectdescrile 客体描述符 简单类型 Externaltype 外部类型 复合类型 简单类型 Realtype 实数类型 ENUMERATED 枚举类型 复合类型 10 enumeratedtype embeddedPDVype 嵌人式pdv 复合类型 12 UTF8string UTF-8字符串 复合类型 13 relativeOIDtype 相对客体标识符类型 简单类型! 14、15 保留 l6 序列类型 复合类型 Sequencetype 17 Settype 集合类型 复合类型 数字字符串型 复合类型 18 numberstring 可打印字符串 复合类型 19 printablestring 20 Teetexstring T61串类型 复合类型 21 Videostring Video串类型 复合类型 22 IA5string IA5串类型 复合类型 23 UTCTime 世界时间 复合类型 24 generalizedtime 通用时间 复合类型 所有G集合+sPACE 复合类型 25 graphicstring 26 Iso646+SPACE Vistblestring 复合类型 27 普通串类型 复合类型 Generalstring 28 通用串类型 复合类型 universalstring 29 eharaeteredstring 引用字符串类型 复合类型 30 Bmpstring bmp串类型 复合类型 31 保留 INTsU 无符号字符型 简单类型 32 unsignedchar INT16 简单类型 33 short 16位有符号整型 INT16U 16位无符号整型 简单类型 34 unsignedshort 35 INT32U 32位无符号整型 简单类型 unsignedint 36 64位有符号整型 简单类型 INT64 long 37 unsignedlong INT64U 64位无符号整型 简单类型
GB/33603一2017 表3(续 编号 类型 类型简称 类型名 说明 38 float FL(OAT32 32位浮点类型 简单类型 64位浮点类型 简单类型 FOAT64 39 double STRUcT 结构类型 复合类型 40 struct 41 联合类型 复合类型 union 42 复数类型 复合类型 complextype 43 INT8 8位有符号整形 简单类型 tinyint 44 24bitint 24位有符号整形 简单类型 45 onglong INT128 128位有符号整型 简单类型 向量类型 复合类型 46 veetor 注,可以通过ypedef将类型转换为类型简称,在使用时二者等效 兼容ASN.1编码方式(0) M0编码方式应采用GB/T16263.1一2006定义的基本编码规则,为动态消息编码,用于 GB/T16720.1,GB/T18700.1,DL/T860.72等的数据结构的描述 M0编码方式在ASN.1编码数据 的开始加人1个八位位组的编码头部,实现对AsN.1编码的兼容 AsN.1基本编码方式采用TLV编 码方式,用类型和长度来标记每个原始数据项,编码灵活且与机器无关,可实现动态编码,保障运行时的 数据类型安全 在实时环境中应用时,可进行适当简化,如:不支持缺省值Default)、可选项 Optional),序列和集合的自动排序等动态特性 M0编码结构示意见图3 低八位位组 高八位位组 M=0 类型 长度L 值V 类型 长度L 值V 个人 个人 'tA&t 品tA t价松金 位位组 位位组 图3M0结构示意图 带名字ASN.1编码方式(1) 8 M1编码方式参照ASN.1的编码规则,为动态消息编码,用于DL/T860.72短结构描述、 DL/Z890.401属性名传递等 M1编码方式在TLV编码方式的基础上加人名字一项,变为N-TLV 其中名字以自然内存零('\0’)结束,从而与其他数据分开 M1编码结构示意见图4 低八位位组 高八位位组 值V \O M=! 名字N o类型T 长度L 值V 名字N 类型T 长度L 1个八 1个八 1个八 L个八 1个八 1个八 L个八 多个八 多个八 位权红 位仪盆位组检 位社组权维组径盆 位位组 夜位组 图4M1结构示意图
GB/T33603一2017 9 对象编码方式(M2) g.1编码规则 M2编码方式参照CDR的编码规则,为静态对象消息编码,用于DL/T476、DL/T634.5104等传 输协议的数据结构的描述 M2编码方式需要扩展编码头部,增加类标识CI用于标识对象的类别,对 象尺寸Os(为无符号数值型)用于标识对象的长度,对象个数OC为无符号数值型)用于标识对象的总 个数 M2的编码结构示意见图5 低八位位组 高八位位组 对象尺os M=2 对象个数OC 对象1 对象2 对象OC 类标识C Os个八 OSs个八 Os个八 !个八位 个八仪 A个八仪 1个八 位维 仪组 位仪组 但2个 但组2个 位然 位仪组 八应位组 八位组 八位位组 总共Oc个对象 图5M12结构示意图 g.2头部扩展 头部扩展分成两种;4个八位位组扩展和8个八位位组扩展,由类型码CH定义中扩展标志(EF)的 第7位决定,为0时扩展为4个八位位组,为1时扩展为8个八位位组 4个八位位组扩展方式扩展为 类型码1个八位位组,对象标识1个八位位组、对象尺寸1个八位位组、对象个数1个八位位组;8个八 位位组扩展方式扩展为类型码1个八位位组、对象标识两个八位位组、对象尺寸两个八位位组、对象个 数三个八位位组,其中所有的两个和三个八位位组数据采用小端点位序排放,即低位在前,高位在后的 排放方式 对象1至对象0C为描述的对象,所有对象的类型、长度一致 类型由扩展头部中的类标识 决定,长度由扩展头部中的对象尺寸决定,个数由扩展头部中的对象个数决定 对象头部扩展方式见 图6. 低八位位组 高八位位组 当CHEF7=0 类标识c 对象尺os 对象个数oc 类型码CH 用个八位位组 扩展 1个八 1个八 1个八 1个八 仪检纸 位位 位位组 但位组 低八位位组 商儿位位银 当CHEE.7-I 类型码CH 类标识cI 对象尺os 对象个数oc 用位位组 扩展 2个八 3个八 4化价 社 检 位福绒 图6对象头部扩展示意图 10类编码方式(M13 10.1编码规则 M3编码方式参照CDR的编码规则,为动态编码规则,用于通信双方协商通信内容,适用于
GB/33603一2017 DL/Z890.401、,DL/T1080.3、,DL/T860.72等标准的数据结构的描述 M3编码方式需要扩展编码头 部,其扩展方式与M2使用的头部扩展方式相似,类标识用于表示类描述的种类,将图6中的对象尺寸 OS换成类长度cs,用于接收方在类展开时进行校验,将图6中的对象个数OC换成类描述长度DL,用 于标识类描述的总长度 头部扩展后是类的名字,以自然内存零('\0')结尾,类名字后对类的属性用类 描述项依次进行描述,将其中的复合类型展开为第6章描述的简单类型 M3编码结构示意见图7 低八位位组 高八位位组 M=3类标识CI类长度CS类描述长DL类名字 名字N \O 类型T长度L 名字No类型T长度 1个八位 1个八位 多个八 多个八 1个八位 个八位 花t &tt公8 t松 1个八 位组2个 应位组 位组 位极组数覆投极h 夜位组 八位组 类描述,总共DL字节 图7M3结构示意图 0.2类描述项 类描述项应采用与N-TLVM1编码方式中使用)相仿的描述方式,去掉其中的V项,成为N-TL 方式,用于描述类属性信息 类描述项的长度分两种;短描述和长描述,由编码头部CH中扩展标志EF 见表2)的第6位决定,为0时表示短描述方式,长度用1个八位位组;为1时表示长描述方式,长度用 2个八位位组,类描述项的示意见图8 高八位位组 低八位位组 CHE6=0 名字 类型 长度 使用1个 八组 多个八 1个八 1个八 应位组 位位组细 位位组 低八位位组 高八位位组 CH.EF.6=1 名字 类型 长度 使用2个 八位组 1个八 多个八 2个八 位组 位组 位位组 图8M编码类描述项示意图 基本编码规则 11.1展开规则 对象内部结构的描述根据C/C十十数据结构定义,将各种复合数据结构如;结构(struct),数组(ar ray),以及数组和结构的组合、嵌套,一律依次展开,直至形成系统支持的简单数据类型(或称原子类型 见表3)的一维列表 一维和多维数组按下标依次展开为元素,直至基本数据类型 复合结构的嵌套 nest)层数没有限制,从实用和效率角度考虑,工程实现应支持两层以上的嵌套 11.2扩展规则 -组整型常数值,枚举值可展开为一个整型常数值 联合(union)类型 枚举(enum)类型可展开为一 对应于ASN.1中的CHO!CE,可按上层选定的结构展开 对于C十十扩展的标准模版库Standard
GB/T33603一2017 eLibr Te1 brary,STL)中的容器类型,如;向量(vector)、字符串(string),列表(Iist),集合(set),队列 emplate queue)等,可按数组展开,在数组第一个元素之前增加size和max_size两个整型变量,分别表示当前 尺寸和最大尺寸 对于容器类型的组合及与结构、数组的复合,可按该规则展开 11.3对齐规则 按简单类型的自然边界对齐原始数据,编码后的对象数据与C/C+十相应数据结构编译后在内存 中的存储方式相同,包括由于数据对齐而产生的孔洞(hole),编译时宜慎用或不用压缩选项 为减少对 齐孔洞,应精心设计数据结构,选择合适的数据类型,调整各数据项的前后顺序,使尺寸较大的数据项在 8或4八位位组位置对齐 常见基本数据类型的对齐边界见表4 表4常用基本数据类型的对齐边界 对齐八位位组边界 c,C十十,coRBA简单类型 char,unsignedcehar,oetet,boolean short,shortint,unsignedshort int,unsignedint,float,long(32位机),enum double,long(64位机 wcehar(对齐取决于代码集 12、4 11.4顺序规则 展开的简单类型列表,由M编码头部的H表示位序 大端点的机器设置为“1”,小端点的机器设 置为“0” 若接收方机器的位序与发送方一致,无需做任何转换处理;不一致时应由接收方进行位序 转换 11.5静态规则 M2为静态对象消息编码,数据不能自我识别,发送方和接收方之间应有关于交换数据类型的约 定 本标准对运行时发生的数据类型不匹配,不规定检测手段 11.6动态规则 M2和M3结合使用可实现动态消息编码,由于类描述规整,而且仅出现一次,发送方和接收方的 编解码简便,编码效率较高,尤其是对同类型机器之间的数据交换,双方可直接使用编码数据 1.7服务规则 原语的描述包括服务程序名字及其参数,与普通数据结构意义不同,宜采用ASN.1中的集合(set) 进行描述,程序名和各参数按出现先后次序依次排列 编码的应用 12 12.1在动态消息通信中的应用 四种编码方式各具特点;M0用于兼容ASN.l;M1在ASN.1的基础上加人名字选项;M2扩展编码 头部,编码效率高;M3扩展头部,描述类信息 应根据应用场景选择编码方式,几种推荐的应用方式 如下:
GB/33603一2017 编码方式M0:用于ASN.1的全兼容方式实现 a b 编码方式M1l;用于少量数据的结构化描述,适用于DL/T860.72的模型直接映射到TCP报 文的应用场合; 编码方式M2;当发送方和接收方已预先知道需要交换的对象数据结构时,推荐采用编码方式 M2,程序处理方便,总体效率高 典型应用场合为:实时应用层通信协议DL 476 DL/T634.5104 d 编码方式M3:用于通信双方交换对象数据结构 组合使用:对于电力系统实时应用场合,可先用M3编码将头部类型和标识列表传输到接收 方,随后持续使用M2编码高效传输对象数据,直到发现头部有变化时,再用M3编码重新传 输头部,发挥M2的高效率和M3的灵活性等优势 12.2在电力系统模型数据描述中的应用 12.2.1整体结构 当需要交互多组具有相关性的结构化数据时,可通过目录(Base)和索引项(Index)对这些结构化数据 进行描述,形成“目录-索引-数据”的整体结构,如图9所示 目录、索引的C语言格式定义可参见附录A Base Index1 Index2 IndexN 数据块1 数据块2 数据块N 图9整体结构关系图 12.2.2目录结构描述 目录用于定位不同的索引项,包括M2头部、修改时间、总尺寸等信息 M2头部采用4个八位位组 扩展方式,详细定义见9对象编码方式(M2),其中类标识固定为1,从而与其他的M2单个结构化数据 描述区分;类定义文件名,用于存放类定义所在文件的文件名;类定义长度,用于存放用M3描述的类结 构的长度;类定义地址,用于存放用M3语言描述的类结构的地址;索引偏移,用于存放第一个索引项的 偏移量;索引地址,用于存放第一个索引项的人口地址(进程内使用);数据块偏移,用于存放第一个数据 块的偏移量;数据块地址,用于存放第一个数据块的人口地址(进程内使用) 目录结构示意图见图10. 低八位位组 高八位位组 M2头部修改时间总尺寸类定义文件名类定义长度类定义地圳索引个数索引偏移索引地址数据块偏移 数据块地址 4个八 4个八 8个八 8个八 4个八 8个八 4个八 4个八 8个八 4个八 8个八 位位组位位组位检组 位位组 但组 位位组 位位组 仪位组 位仪组 位组 仪位组 图10目录结构示意图 12.2.3 索引结构描述 索引项用于捕述和定位不同的数据块.包括对象个数.对象尺寸.对象类狠等信息 对象个数.用于 标识本类对象的个数;对象尺寸,用于标识本类对象的长度;数据块总尺寸,用于存放数据域的总长度; 对象块偏移,用于存放第一个对象的偏移量;,对象块人口地址,用于存散第一个对象块的人口地址(进秘 内使用) 索引结构示意图见图11
GB/T33603一2017 低八位位组 高八位位组 对象个数 对象尺寸 对象类型 数据块总尺寸 对象块偏移 对象块入口地址 2个八 2个八 4个八 4个八 品 极 仪位组 位组 位位组 位位组 图11索引结构示意图 0
GB/33603一2017 录 附 A 资料性附录 电力系统模型数据描述C语言格式定义 A.1Index结构的c语言格式定义如下 typdefstructlndex N32U /对象个数 number; NT16U /对象尺寸 size; NT16U /对象类型 type; NT32u /数据块总尺寸,应大于等于对象个数*对象尺寸 data_size; NT32U /对象块偏移位置 offset; /对象块地址 void 关point; lndex A.2Base结构的C语言格式定义如下: istructBase ypde INT32U m2head //M2头部描述 INT32U oodify-t 7/修改时间 mO t1me; INT64U totalsize; /总尺寸 INT8U dlass_defne[64]; //类定义文件名 INT32U classdefinem3len; //NM3表示的类定义长度 void *class_define_m3; //M3表示的类定义 INT32 iindex_num; 1/索引个数 INT32 index_offset; //首个索引项偏移量 /首个索引项人口地址(进程内使用) tIndex *index; INT32 data_offset; /首个编码数据块偏移量 void *data; /首个编码数据块人口地址(进程内使用 }tBase;

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

1. 编码规范概述

电力系统模型数据动态消息编码规范是为了实现电力系统模型数据在不同系统之间的传输而制定的。该规范描述了电力系统模型数据的编码、传输和解码过程中需要遵循的一系列规则和标准,以确保不同系统之间的数据交流能够顺利进行。

2. 编码方案

根据GB/T33603-2017规范,电力系统模型数据采用ASN.1语言进行编码。ASN.1是一种描述数据类型的标记语言,具有独立于平台和语言的特性,能够确保数据在不同系统之间的互操作性。

该规范还提供了针对电力系统模型数据ASN.1编码的基本规则和约束,包括类型定义、值编码和解码规则等。

3. 消息结构

电力系统模型数据动态消息编码规范GB/T33603-2017定义了一组按照ASN.1语言编写的消息结构。其中包括了多个消息类型,每种消息类型都有其独特的编码格式和定义。例如,该规范针对交换机状态信息、故障事件以及时间同步等情况,分别定义了相应的消息类型。

同时,该规范还明确描述了每种消息类型中包含的具体数据元素。这些数据元素包括消息头、数据长度、数据内容等,用于描述不同的电力系统模型数据。

4. 使用方法

根据电力系统模型数据动态消息编码规范GB/T33603-2017,将电力系统模型数据进行ASN.1编码后可以在不同系统之间进行传输和解码。在使用过程中,需要遵循规范中所定义的各项约束和规则,保证数据的正确性和互操作性。

此外,为了便于实际应用,该规范还提供了相关的代码示例和使用说明。

5. 总结

电力系统模型数据动态消息编码规范GB/T33603-2017是为了实现电力系统模型数据在不同系统之间的传输而制定的编码规范。该规范采用ASN.1语言进行编码,定义了一组按照ASN.1语言编写的消息结构,并提供了代码示例和使用说明。

在实际应用中,遵循该规范的约束和规则,能够保证电力系统模型数据在不同系统之间的正确传输和解码。

电力系统模型数据动态消息编码规范的相关资料

和电力系统模型数据动态消息编码规范类似的标准

电力系统通用服务协议
上一篇 本文分享国家标准电力系统通用服务协议的全文阅读和高清PDF的下载,电力系统通用服务协议的编号:GB/T33602-2017。电力系统通用服务协议共有89页,发布于2017-12-01
电力系统简单服务接口规范
本文分享国家标准电力系统简单服务接口规范的全文阅读和高清PDF的下载,电力系统简单服务接口规范的编号:GB/T33604-2017。电力系统简单服务接口规范共有12页,发布于2017-12-01 下一篇
相关推荐