CN107861724B - 快速适配dlms/cosem对象的脚本化编码方法 - Google Patents
快速适配dlms/cosem对象的脚本化编码方法 Download PDFInfo
- Publication number
- CN107861724B CN107861724B CN201711076852.9A CN201711076852A CN107861724B CN 107861724 B CN107861724 B CN 107861724B CN 201711076852 A CN201711076852 A CN 201711076852A CN 107861724 B CN107861724 B CN 107861724B
- Authority
- CN
- China
- Prior art keywords
- descriptor
- obis
- function
- dlms
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种快速适配DLMS/COSEM对象的脚本化编码方法,将连续的OBIS码归并至一条OBIS描述符,将多条OBIS描述符汇总为OBIS描述符总表;并且,为每一条OBIS描述符建立对应的权限描述符,将权限描述符汇总为权限描述符总表;并且,为每一条权限描述符建立对应的函数描述符,将函数描述符汇总为函数描述符总表;将OBIS描述符总表、权限描述符总表和函数描述符总表连接成脚本表,脚本表中的每一条记录包括OBIS描述符、与该OBIS描述符对应的权限描述符以及与该权限描述符对应的函数描述符。本发明能够保证在访问权限、接口类、OBIS、数据类型都存在较大差异的情况下,仅需要修改很少一部分脚本编码,就可以快速适配DLMS/COSEM对象内容。
Description
技术领域
本发明涉及一种快速适配DLMS/COSEM对象的脚本化编码方法,可用于实现DLMS/COSEM对象的快速编程适配。
背景技术
随着人类社会的发展和科技的进步,对于高效利用电力资源的诉求越来越高,同时对于电能计量设备-电能表,也提出了越来越多的功能需求,例如需量分析、电能质量分析、防窃电检测、历史数据等等。更多集成的功能带来了更大的数据量,使电能表极度依赖于通信能力。
DLMS(Device Language Message specification)作为一种国际通用的电能表通信协议,规定了电能表通信过程中的分层(物理层、链路层、应用层)以及各个层的实现方法,其应用层模型COSEM(Companion Specification for Energy Metering)则规定了具体的应用处理过程中所使用的规则。
COSEM通过使用对象建模技术实现了电能表的数据交换过程,接口类、OBIS(Object Identification System)编码是COSEM的基本组成元素。
由于DLMS/COSEM协议的开放性,DLMS/COSEM只规定了一些基本数据的接口类和OBIS,例如电压、电流、功率、电能,而电能表正常运行还需要很多参数与功能,比如负荷曲线、事件记录曲线、电能表清零功能、电能表校表功能等,对于这些参数和功能,DLMS/COSEM都没有详细规定,需要实际用户自行定义。而不同用户对于自定义内容的访问权限、接口类、OBIS编码乃至数据类型差异很大。
针对上述应用场合,目前比较通用的做法是使用一张OBIS数据表格来处理相同的功能对应不同的OBIS的情况,对于相同的功能,如果OBIS不同,则仅仅需要修改OBIS数据表格中对应的OBIS编码。但是,这种方法无法处理访问权限、接口类、数据类型不同的情况。
由于访问权限、接口类、OBIS、数据类型的差异,为实现相同的功能,电能表的代码需要做比较大的更改才能够适配不同的用户需求。这种差异性引起的代码更改滞后了电能表产品更新的速度,同时也影响了生产效率。
发明内容
本发明提出了一种快速适配DLMS/COSEM对象的脚本化编码方法,其目的是:保证在访问权限、接口类、OBIS、数据类型都存在较大差异的情况下,仅需要修改很少一部分脚本编码,就可以快速适配DLMS/COSEM对象内容。
一种快速适配DLMS/COSEM对象的脚本化编码方法,将连续的OBIS码归并至一条OBIS描述符,将多条OBIS描述符汇总为OBIS描述符总表;
并且,为每一条OBIS描述符建立对应的权限描述符,将权限描述符汇总为权限描述符总表;
并且,为每一条权限描述符建立对应的函数描述符,将函数描述符汇总为函数描述符总表;
将OBIS描述符总表、权限描述符总表和函数描述符总表连接成脚本表,脚本表中的每一条记录包括OBIS描述符、与该OBIS描述符对应的权限描述符以及与该权限描述符对应的函数描述符。
作为本方法的进一步改进:所述OBIS描述符包括基本OBIS码、OBIS通配位置和OBIS通配数据;
所述OBIS通配位置用于表示基本OBIS码中通配的位置,所述OBIS通配数据用于表示基本OBIS码中由OBIS通配位置所指向的位置要通配至的数据。
作为本方法的进一步改进:OBIS通配位置最多指向2个被通配的位置。
作为本方法的进一步改进:所述权限描述符包括Class ID、属性权限部分和方法权限部分;
所述Class ID为该条权限描述符所属的DLMS/COSEM类的ID序号,所述属性权限部分包括若干与该DLMS/COSEM类的各属性一一对应的属性权限值,所述方法权限部分包括若干与该DLMS/COSEM类的各方法一一对应的方法权限值。
作为本方法的进一步改进:所述属性权限值的取值方式为:从“只读”、“只写”、“读写”和“无权限”中选择一项。
作为本方法的进一步改进:所述方法权限值的取值方式为:从“有权限”和“无权限”中选择一项。
作为本方法的进一步改进:所述函数描述符包括若干与该条函数描述符所属的DLMS/COSEM类的各属性一一对应的属性子描述符及若干与该条函数描述符所属的DLMS/COSEM类的各方法一一对应的方法子描述符;
所述子描述符包括函数索引、返回值参数和通配符参数;
所述函数索引用于查找该子描述符对应的功能函数,所述返回值参数用于将返回值信息传递给功能函数、指定返回值的数据类型,所述通配符参数用于将通配符信息传递给功能函数;
所述的功能函数是指实现对应的属性或方法功能的函数。
作为本方法的进一步改进:所述返回值参数从下列数据类型中选择一项:“布尔类型数据”、“位流类型数据”、“有符号4字节长度的整型数据”、“无符号4字节长度的整型数据”、“8位字节字符串”、“ASCII编码类型字符串”、“BCD编码类型数据”、“有符号1字节长度的整型数据”、“有符号2字节长度的整型数据”、“无符号1字节长度的整型数据”、“无符号2字节长度的整型数据”、“有符号8字节长度的整型数据”、“无符号8字节长度的整型数据”以及“枚举型数据”。
作为本方法的进一步改进:所述OBIS描述符包括OBIS通配数据,所述的通配符参数与对应的OBIS通配数据相同。
相对于现有技术,本发明具有以下积极效果:(1)本发明设计了一种脚本化编码结构,利用这种编码结构可以更清晰地管理DLMS/COSEM的接口类、访问权限、OBIS以及数据类型;(2)该脚本化编码结构能够保证在访问权限、接口类、OBIS、数据类型都存在较大差异的情况下,仅需要修改很少一部分脚本编码,就可以快速适配DLMS/COSEM对象内容,大大提高了开发与生产的效率;(3)该脚本化编码结构将DLMS/COSEM接口类的功能细分,以接口类的属性功能为最小单位,取代了传统方法中以接口类为最小单位的设计模式,能够更灵活地适配多变的自定义需求。
附图说明
图1是本发明的脚本表结构示意图。
图2是OBIS描述符示例图。
具体实施方式
下面结合附图详细说明本发明的技术方案:
一种快速适配DLMS/COSEM对象的脚本化编码方法,按如下步骤进行:
步骤1,将连续的OBIS码归并至一条OBIS描述符,将多条OBIS描述符汇总为OBIS描述符总表;
所述OBIS描述符包括基本OBIS码、OBIS通配位置和OBIS通配数据;
OBIS(Object Identification System)对象标识系统,是一个由6个数码组构成的组合编码,它以分层的形式描述了每个数据项的准确含义,OBIS码由A、B、C、D、E、F共6个数值组成,因此所述基本OBIS码由6个字节的数据组成,为OA OB OC OD OE OF;假设基本OBIS码为1.0.1.8.0.255,则OA=1,OB=0,OC=1,OD=8,OE=0,OF=255。
所述OBIS通配位置用于表示基本OBIS码中通配的位置,由一个字节的数据组成,令P表示OBIS通配位置,其Bit0-Bit5分别代表了基本OBIS码A、B、C、D、E、F的位置,Bit0-Bit5的某一位设置为1,表示该位数据被通配。为简化逻辑,本发明最多支持两位数据的通配,即Bit0-Bit5中最多有两位可同时设置为1。假设P=(20)D=(14)H=(00010100)B,其中(·)D表示括号中的数值为十进制,(·)H表示括号中的数值为十六进制,(·)B表示括号中的数值为二进制,可见Bit2和Bit4为1,表示位置C和E被通配。
所述OBIS通配数据用于表示基本OBIS码中由OBIS通配位置所指向的位置要通配至的数据,由两个字节的数据组成,令D0 D1表示OBIS通配数据的两个数字,与OBIS通配位置一一对应,表示基本OBIS码相应位置的数据,通配至D0 D1表示的数字。若P=0,则D0 D1无效;若P只有一位有效,则只有D0有效;若P有两位有效,则D0 D1均有效。假设D0 D1数据分别为3、4,联系前文中基本OBIS码为1.0.1.8.0.255,P=(20)D=(14)H=(00010100)B,如图2,则该条OBIS描述符可以表示为:
将所有的OBIS描述符根据序号排列,获得OBIS描述符总表为:
步骤2,为每一条OBIS描述符建立对应的权限描述符,将权限描述符汇总为权限描述符总表;
所述权限描述符包括Class ID、属性(attribute)权限部分和方法(method)权限部分;
所述Class ID为该条权限描述符所属的DLMS/COSEM类的ID序号,以字母CID表示,所述属性权限部分包括若干与该DLMS/COSEM类的各属性一一对应的属性权限值,所述方法权限部分包括若干与该DLMS/COSEM类的各方法一一对应的方法权限值。
所述属性权限值的取值方式为:从“只读”、“只写”、“读写”和“无权限”中选择一项。所述方法权限值的取值方式为:从“有权限”和“无权限”中选择一项。
假设该DLMS/COSEM类分别有I个属性,J个方法,以Atti表示第i个属性的属性权限值,以Methj表示第j个方法的方法权限值,其中i=1,2,3,…,I,j=1,2,3,…,J。一条完整的权限描述符可以表示为:
CID Att1 Att2…AttI Meth1 Meth2…MethJ。
以n,n=1,2,3,…,N表示第n条权限描述符,则该条描述符可以表示为:
将所有的权限描述符根据序号排列,得到权限描述符总表:
步骤3,为每一条权限描述符建立对应的函数描述符,将函数描述符汇总为函数描述符总表;
所述函数描述符包括若干与该条函数描述符所属的DLMS/COSEM类的各属性一一对应的属性子描述符及若干与该条函数描述符所属的DLMS/COSEM类的各方法一一对应的方法子描述符;
所述子描述符包括函数索引Index、返回值参数R和通配符参数W0 W1;即一条子描述符可以表示为:
Index R W0 W1。
所述函数索引用于查找该子描述符对应的功能函数。所述的功能函数是指实现对应的属性或方法功能的函数,由程序代码实现,在函数描述符中无需对其进行表述。
所述返回值参数用于将返回值信息传递给功能函数、指定返回值的数据类型。举例说明:对于电能表,OBIS为1.0.1.8.0.255的对象通常用于表示正向有功总电能,但是由于DLMS/COSEM为一种描述性质的编码,电表在接收到读取正向有功总电能的报文后,应答报文中必须指定返回数据的类型,不同的用户要求的返回数据类型可能为无符号整型、有符号整型或者其它类型,这就需要向功能函数传递返回值信息。所述返回值参数从下列数据类型中选择一项:“布尔类型数据”、“位流类型数据”、“有符号4字节长度的整型数据”、“无符号4字节长度的整型数据”、“8位字节字符串”、“ASCII编码类型字符串”、“BCD编码类型数据”、“有符号1字节长度的整型数据”、“有符号2字节长度的整型数据”、“无符号1字节长度的整型数据”、“无符号2字节长度的整型数据”、“有符号8字节长度的整型数据”、“无符号8字节长度的整型数据”以及“枚举型数据”。
所述通配符参数用于将通配符信息传递给功能函数,所述的通配符参数与对应的OBIS通配数据相同:
W0=D0
W1=D1。
因此,第i条属性权限值对应的属性子描述符可以表示为:
第j条方法权限值对应的方法子描述符可以表示为:
以n,n=1,2,3,…,N表示第n条权限描述符,其包含I个属性,J个方法,则该条权限描述符对应的函数描述符可以表示为:
将上述得到的函数描述符根据序号排列,得到函数描述符总表:
步骤4,将OBIS描述符总表、权限描述符总表和函数描述符总表连接成脚本表,脚本表中的每一条记录包括OBIS描述符、与该OBIS描述符对应的权限描述符以及与该权限描述符对应的函数描述符。
以n,n=1,2,3,…,N表示第n条脚本编码,则该条脚本编码可以表示为:
如图1,将上述得到的函数描述符根据序号排列,得到函数描述符总表:
Claims (9)
1.快速适配DLMS/COSEM对象的脚本化编码方法,其特征在于:将连续的OBIS码归并至一条OBIS描述符,将多条OBIS描述符汇总为OBIS描述符总表;
并且,为每一条OBIS描述符建立对应的权限描述符,将权限描述符汇总为权限描述符总表;
并且,为每一条权限描述符建立对应的函数描述符,将函数描述符汇总为函数描述符总表;
所述函数描述符包括若干与该条函数描述符所属的DLMS/COSEM类的各属性一一对应的属性子描述符及若干与该条函数描述符所属的DLMS/COSEM类的各方法一一对应的方法子描述符;
将OBIS描述符总表、权限描述符总表和函数描述符总表连接成脚本表,脚本表中的每一条记录包括OBIS描述符、与该OBIS描述符对应的权限描述符以及与该权限描述符对应的函数描述符。
2.如权利要求1所述的快速适配DLMS/COSEM对象的脚本化编码方法,其特征在于:所述OBIS描述符包括基本OBIS码、OBIS通配位置和OBIS通配数据;
所述OBIS通配位置用于表示基本OBIS码中通配的位置,所述OBIS通配数据用于表示基本OBIS码中由OBIS通配位置所指向的位置要通配至的数据。
3.如权利要求2所述的快速适配DLMS/COSEM对象的脚本化编码方法,其特征在于:OBIS通配位置最多指向2个被通配的位置。
4.如权利要求1所述的快速适配DLMS/COSEM对象的脚本化编码方法,其特征在于:所述权限描述符包括Class ID、属性权限部分和方法权限部分;
所述Class ID为该条权限描述符所属的DLMS/COSEM类的ID序号,所述属性权限部分包括若干与该DLMS/COSEM类的各属性一一对应的属性权限值,所述方法权限部分包括若干与该DLMS/COSEM类的各方法一一对应的方法权限值。
5.如权利要求4所述的快速适配DLMS/COSEM对象的脚本化编码方法,其特征在于:所述属性权限值的取值方式为:从“只读”、“只写”、“读写”和“无权限”中选择一项。
6.如权利要求4所述的快速适配DLMS/COSEM对象的脚本化编码方法,其特征在于:所述方法权限值的取值方式为:从“有权限”和“无权限”中选择一项。
7.如权利要求1所述的快速适配DLMS/COSEM对象的脚本化编码方法,其特征在于:所述子描述符包括函数索引、返回值参数和通配符参数;所述函数索引用于查找该子描述符对应的功能函数,所述返回值参数用于将返回值信息传递给功能函数、指定返回值的数据类型,所述通配符参数用于将通配符信息传递给功能函数;
所述的功能函数是指实现对应的属性或方法功能的函数。
8.如权利要求7所述的快速适配DLMS/COSEM对象的脚本化编码方法,其特征在于:所述返回值参数从下列数据类型中选择一项:“布尔类型数据”、“位流类型数据”、“有符号4字节长度的整型数据”、“无符号4字节长度的整型数据”、“8位字节字符串”、“ASCII编码类型字符串”、“BCD编码类型数据”、“有符号1字节长度的整型数据”、“有符号2字节长度的整型数据”、“无符号1字节长度的整型数据”、“无符号2字节长度的整型数据”、“有符号8字节长度的整型数据”、“无符号8字节长度的整型数据”以及“枚举型数据”。
9.如权利要求7所述的快速适配DLMS/COSEM对象的脚本化编码方法,其特征在于:所述OBIS描述符包括OBIS通配数据,所述的通配符参数与对应的OBIS通配数据相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711076852.9A CN107861724B (zh) | 2017-11-06 | 2017-11-06 | 快速适配dlms/cosem对象的脚本化编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711076852.9A CN107861724B (zh) | 2017-11-06 | 2017-11-06 | 快速适配dlms/cosem对象的脚本化编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107861724A CN107861724A (zh) | 2018-03-30 |
CN107861724B true CN107861724B (zh) | 2020-03-20 |
Family
ID=61700872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711076852.9A Active CN107861724B (zh) | 2017-11-06 | 2017-11-06 | 快速适配dlms/cosem对象的脚本化编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861724B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739863B (zh) * | 2019-01-22 | 2021-03-02 | 威胜集团有限公司 | 电能表数据管理方法 |
CN113225304B (zh) * | 2021-02-03 | 2022-08-26 | 宁波三星医疗电气股份有限公司 | 一种用电采集海外高精度电表的方法 |
CN113032373B (zh) * | 2021-05-26 | 2021-08-17 | 杭州炬华科技股份有限公司 | 一种基于负荷通道动态列的数据管理方法和相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080072768A (ko) * | 2006-12-29 | 2008-08-07 | 엘에스산전 주식회사 | 계량기 프로그램 설계 방법 |
CN101520476A (zh) * | 2009-02-05 | 2009-09-02 | 江苏省电力试验研究院有限公司 | 电能计量仪表模型描述方法 |
CN102269779A (zh) * | 2011-06-22 | 2011-12-07 | 哈尔滨电工仪表研究所 | 基于dlms/cosem的电压波动记录装置 |
-
2017
- 2017-11-06 CN CN201711076852.9A patent/CN107861724B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080072768A (ko) * | 2006-12-29 | 2008-08-07 | 엘에스산전 주식회사 | 계량기 프로그램 설계 방법 |
CN101520476A (zh) * | 2009-02-05 | 2009-09-02 | 江苏省电力试验研究院有限公司 | 电能计量仪表模型描述方法 |
CN102269779A (zh) * | 2011-06-22 | 2011-12-07 | 哈尔滨电工仪表研究所 | 基于dlms/cosem的电压波动记录装置 |
Non-Patent Citations (1)
Title |
---|
QlikView培训课程-数据抽取与加载(ELT);sunao007500;《百度文库》;20110323;第1-32页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107861724A (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861724B (zh) | 快速适配dlms/cosem对象的脚本化编码方法 | |
CN113672230B (zh) | 一种工业要素标识编码方法 | |
CN105450232A (zh) | 编码、解码方法以及编码装置和解码装置 | |
CN104283567A (zh) | 一种名称数据的压缩、解压缩方法及设备 | |
KR20220091612A (ko) | 데이터 저장 방법 및 장치, 및 그 컴퓨터 디바이스 및 저장 매체 | |
CN109067704A (zh) | 一种卫星遥控指令格式设计与编码管理系统及方法 | |
WO2022001154A1 (zh) | 一种脚本化的智能电表事件判断解析方法 | |
Qi et al. | A blockchain-driven IIoT traffic classification service for edge computing | |
CN115576998B (zh) | 一种基于多维信息融合的配电网数据整合方法及系统 | |
CN115238568A (zh) | 一种数字孪生模型构建方法、装置及终端设备 | |
CN106649217A (zh) | 数据的匹配方法及装置 | |
CN117271906B (zh) | 肉牛交易管理系统及其方法 | |
CN116610731B (zh) | 一种大数据分布式存储方法、装置、电子设备及存储介质 | |
CN109753685A (zh) | 一种逻辑错误率计算方法 | |
CN117971821A (zh) | 数据存储方法、数据读取方法、设备、存储介质 | |
CN108235019A (zh) | 一种压缩图像的存储方法及装置 | |
CN116257488B (zh) | 岩土工程勘察大数据归档方法、装置、电子设备及介质 | |
CN104636377A (zh) | 数据压缩方法及设备 | |
WO2017157038A1 (zh) | 数据处理的方法、装置和设备 | |
CN114969237A (zh) | 一种地理信息系统的地址自动分析匹配方法 | |
CN110650130B (zh) | 基于多分类GoogLeNet-LSTM模型的工控入侵检测方法 | |
CN108829930A (zh) | 三维数字化工艺设计mbd模型的轻量化方法 | |
CN111371461B (zh) | 一种适用于智能电表的原码与反码混合式数据压缩方法 | |
CN103716127A (zh) | 一种基于ttcn-3的压缩编解码的方法和系统 | |
CN109117648B (zh) | 数据库浮点数据加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200217 Address after: 264003 No. 6 Jindu Road, Laishan District, Yantai City, Shandong Province Applicant after: Yantai Dongfang Wisdom Electric Co., Ltd. Applicant after: Yantai Oriental Weston Electric Power Equipment Co.,Ltd. Address before: 264003 Laishan District Yantai Shandong entrepreneurial center Applicant before: Yantai Dongfang Wisdom Electric Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |