CN101789944A - 多功能电能表通信协议栈的开发系统 - Google Patents
多功能电能表通信协议栈的开发系统 Download PDFInfo
- Publication number
- CN101789944A CN101789944A CN201010107045A CN201010107045A CN101789944A CN 101789944 A CN101789944 A CN 101789944A CN 201010107045 A CN201010107045 A CN 201010107045A CN 201010107045 A CN201010107045 A CN 201010107045A CN 101789944 A CN101789944 A CN 101789944A
- Authority
- CN
- China
- Prior art keywords
- module
- layers
- data processing
- concrete
- function
- 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.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种多功能电能表通信协议栈的开发系统,包括通信协议栈和应用数据处理单元,所述通信协议栈具有用于识别和调用不同具体协议的三层框架和具体协议三层模块,所述三层框架由物理层、链路层、应用层组成,所述具体协议三层模块是将所有的具体协议都划分成的物理层模块、链路层模块、应用层模块,所述应用数据单元包括数据处理库及对象管理模块,数据处理库中建有函数库,该函数库基于对象管理的存储结构建立,所述对象管理模块对对象采用列表的方式管理,数据处理库为通信、显示、事件、计量等各种访问提供统一的数据处理接口。本发明能实现多协议的管理,方便修改,有效降低了电表通信程序维护的成本,很好地满足了客户的不同需求及实现平台的改变移植。
Description
技术领域
本发明涉及一种多功能电能表通信协议栈的开发系统。
背景技术
通信协议是随着电表行业的发展而发展,从最初的抄读电量到现在抄读电量、需量、时时量、负荷曲线、事件记录、报警信息等。以后还有事件上报、程序自检、客户查询、程序升级等等功能,客户的需求越来越丰富,然而现有电表通信协议的架构滞后于客户需求的发展(见图5),从图5可见其数据处理方式上按交互方式分开,各自为战并未有效统一。没有仪表对象管理模块,客户条件的变化需要通过大量程序修改体现。通信的协议处理上是一个.C文件处理到底,没有有效的模块化,只有应用进程,不利于多协议的并存开发。其应用进程包揽了所有任务,即处理编解码又处理访问数据和调度,并且没有对象管理,程序中使用大量switch语句或条件语句枚举所有对象并对对象进行数据访问,难以满足日益丰富的客户需求。客户条件的变化使得程序员维护程序时非常困难导致协议扩展或者改变引起的软件维护成本很高。在数据处理上通信、显示、事件、计量是各自独立的访问数据,写通信的程序员会书写一份数据访问函数,写显示的程序也写一份数据访问函数,做事件处理的程序员也写一份数据访问函数,如此导致大量的单片机资源被浪费,代码功能的重复书写、可维护性很低,增加了访问出错率、程序容量和调试成本。因此如何降低维护成本,满足各种不同的客户需求、不同的平台移植,是目前亟待解决的问题。
发明内容
本发明的目的在于提供一种能有效降低维护成本、满足客户日益丰富的需求,能兼容不同协议的多功能电能表通信协议栈的开发系统。
本发明多功能电能表通信协议开发系统,包括通信协议栈和应用数据处理单元,所述通信协议栈具有用于识别和调用不同具体协议的三层框架和具体协议三层模块,所述三层框架由物理层、链路层、应用层组成,所述具体协议三层模块是将所有的具体协议都划分成的物理层模块、链路层模块、应用层模块,所述应用数据单元包括数据处理库及对象管理模块,数据处理库中建有函数库,该函数库基于对象管理的存储结构建立,所述对象管理模块对对象采用列表的方式管理,数据处理库为通信、显示、事件、计量等各种访问提供统一的数据处理接口。
所述三层框架的物理层嵌入具体协议三层模块的物理层处理函数,三层框架的链路层嵌入具体协议三层模块的链路层模块处理函数,三层框架的应用层嵌入具体协议三层模块的应用层模块处理函数,通过模式字控制调用的协议种类和具体调用函数。所述对象管理模块采用树型建模方式按数据标识建树,由上位机软件生成对象管理的.C文件,文件的主体包括对象树结构和对象对应的存储结构,每一棵树的叶子对应一个具体的存储结构,存储结构包括对象、权限管理、存储位置、存储格式、访问函数。所述数据处理库的函数库由基本函数库和扩展函数库两部分组成。本发明系统还具有底层函数接口模块,用于通过所述三层框架的物理层实现不同硬件平台上的移植。
本发明系统,由于构建了用于调度多个具体协议的三层框架,并且无论哪种具体协议都划成与之对应的三层模块,这样便于每一部分的移值,并且可以很好的兼容其他协议。在应用数据处理单元部分,提出对象管理模块,对对象统一管理。数据处理库是基于对象管理的访问实现。并给出和底层的交互接口,便于平台改变移植。因此本发明系统能对各种交互方式进行数据统一访问、减少程序空间资源开销,减少不同程序员书写导致的兼容性错误,能实现多协议的管理,有利于多协议的并存开发,方便增、减、修改,有效降低了电表通信程序维护的成本,很好地满足了客户的不同需求及实现平台的改变移植。
附图说明
图1是本发明系统的结构示意框图。
图2本发明系统中协议栈的结构示意图。
图3是本发明系统中函数库的结构示意图。
图4是本发明系统中对象模块的结构示意图。
图5是现有技术系统的结构示意图。
具体实施方式
图1反映了本发明系统的结构,图中可以看出本发明系统主要由应用数据处理单元和通信协议栈组成,交互方式和底层接口是系统与外围的联系。应用数据处理单元由数据处理库和对象管理两部分组成。此系统与外围的交互方式丰富,不但可以应用于通信,还应用于显示和事件记录等其他。系统数据访问需要调用底层接口。接口部分根据硬件平台不同而不同。
图2反映了通信协议栈的具体构成,该协议栈具有用于识别和调用具体协议的三层框架和具体协议三层模块,三层框架是图左半边的物理层,链路层和应用层。具体协议三层模块是将所有的具体协议都划分成的物理层模块、链路层模块、应用层模块。
图3是应用数据处理单元部分的数据处理库组成,其构成方式由基本函数库和扩展函数库组成。基本函数库的调用是基于对象管理中的数据存储结构。其函数主体不会根据协议不同而改变。扩展函数库是根据客户需要和协议不同扩展出的函数库。
图4是应用数据处理单元部分的对象管理框图。包括对象建模和对象存储结构两部分。对象建模根据协议的不同可以有所不同,本系统实例的DLT645-2007协议是树形建模管理。对象存储结构内容固定包括权限管理、存储位置、存储格式、访问函数4部分组成。
下面以通信协议DL/T645-2007的实施为例对本发明做详细介绍:
首先设计物理层、链路层、应用层三层框架,建立格式为PH.C,PH.H;,DL.C,D L.H;AP.C,AP.H文件。这些文件是用于多协议并存的总的调度接口,具有框架性质,一旦设计完成,后续维护无需重新继续。其实现方式是定义一个消息机制的模式字和一个协议模式字。消息机制模式字中包含有物理层解码、编码标志;链路层解码、编码标志;应用层的解码、编码标志;应用进程的执行操作标志。协议模式字中包含各种不同协议的标志,如DL645-1997,DL645-2007,mudbus,IEC62056协议等。消息机制模式字是用于三层行为交互,协议模式字用于协议模块的选择。当物理层编码或解码标志有效时,程序开始调度具体协议的物理层模块,根据查找协议模式字决定执行的那种协议的物理层,如果有多个协议并存,则顺序执行所有协议的物理层,执行完毕后设置相应的链路层消息模式字已备链路层执行时判断。链路层和应用层执行方式雷同。
2、设计具体协议三层模块,即将所有通信协议都设计成具有物理层模块、链路层模块、应用层模块的三层模块形式,设计DL/T645-2007的三层模块就是:
PH_645_2007.C,PH_645_2007.H;
DL_645_2007.C,DL_645_2007.H;
AP_645_2007.C,AP_645_2007.H。
这些文件分别设计各自层的编解码函数。
3、设计应用数据处理单元中的对象管理,例如DL/T645-2007通信协议的仪表对象OBIS.C文件。对于这个对象管理可以采用各种存储建模方式:树型建模、无序列表、有序列表、堆栈结构等。每一个数据对象必须包含自身的数据存储结构,这个数据存储结构用于存储访问的信息。其内容包括:权限管理,存储位置,存储格式,访问函数。
对象权限管理。包括通信权限,显示权限,密码等级要求,是否铅封等。
存储位置,指对象存储的地址。存储格式,包括单位和尺度。
访问函数:包括写前检查函数,写后执行函数,读取调用函数。
所有对象存储结构的统一性是保证数据处理函数的统一性。
4、设计应用数据处理单元。应用数据单元包括数据处理库及对象管理模块
先设计对象管理模块。以对象数据标识建树方式管理对象,然后是设计每个叶子对应的存储结构。
然后根据设计的存储结构结合实现的功能,设计数据处理库,建立函数库一旦数据处理库设计成功,以后基本不需要更改只需要添加功能扩展。如果实现多个协议,则设计多个对象管理。但设计的带有基本函数库的数据处理库不变,只需添加功能扩展函数。
设计统一的数据处理接口,为通信、显示、事件、计量等各种访问提供统一的数据处理接口。不同的协议数据处理接口函数不一样,这些函数库组成DATAACCESS.C文件。下面提供DL/T645-2007协议的部分数据接口函数。基本的数据处理函数库必须包括如下几部分:
_FindServerRight查找服务对象的正确性。
_FindRi ght;查找读取操作的权限允许。
_ReadData();读取数据。DLT645-2007协议ReadData函数由2大操作组成,第一是简单操作读取,也就是非块操作读取第二是块操作读取,块操作读取可看出是对简单操作读取的重复循环操作。
包括子函数:ReadData_single()//读取单一数据、ReadData_Block()//读取块操作数据
写函数库包括:
_WriteData()//写数据
_WriteEvent()//写事件
_WriteFuHe()//写负荷曲线
DataChange()数据转换函数。根据访问方式要求不同,将读取的数据进行转换。例如通信访问时需要倒压缩BCD格式,显示和事件记录时需要HEX数据格式。
本发明的通信协议栈和应用数据处理单元可以并行开发。
按照上述的设计方式,本发明能实现多协议的管理,方便增、减、修改,有效降低了电表通信程序维护的成本,很好地满足了客户的不同需求及实现平台的改变移植。
Claims (5)
1.一种多功能电能表通信协议开发系统,其特征在于该系统包括通信协议栈和应用数据处理单元,所述通信协议栈具有用于识别调用具体协议的三层框架和具体协议三层模块,所述三层框架由物理层、链路层、应用层组成,所述具体协议三层模块是将所有的具体协议都划分成的物理层模块、链路层模块、应用层模块,用于所述三层框架调用某个具体协议;所述应用数据单元包括数据处理库及对象管理模块,数据处理库中建有函数库,该函数库基于对象管理的存储结构建立,所述对象管理模块对对象采用列表的方式管理,数据处理库为通信、显示、事件、计量等各种访问提供统一的数据处理接口。
2.根据权利要求1所述的多功能电能表通信协议开发系统,其特征在于所述三层框架的物理层嵌入具体协议三层模块的物理层处理函数,三层框架的链路层嵌入具体协议三层模块的链路层模块处理函数,三层框架的应用层嵌入具体协议三层模块的应用层模块处理函数,通过模式字控制调用的协议种类和具体调用函数。
3.根据权利要求1或2所述的多功能电能表通信协议开发系统,其特征在于所述对象管理模块采用树型建模方式按数据标识建树,由上位机软件生成对象管理的.C文件,文件的主体包括对象树结构和对象对应的存储结构,每一棵树的叶子对应一个具体的存储结构,存储结构包括对象、权限管理、存储位置、存储格式、访问函数。
4.根据权利要求1或2所述的多功能电能表通信协议开发系统,其特征在于该系统还具有底层函数接口模块,用于通过所述三层框架的物理层实现不同硬件平台上的移植。
5.根据权利要求1或2所述的多功能电能表通信协议开发系统,其特征在于所述数据处理库的函数库由基本函数库和扩展函数库两部分组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010107045 CN101789944B (zh) | 2010-02-09 | 2010-02-09 | 多功能电能表通信协议栈的开发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010107045 CN101789944B (zh) | 2010-02-09 | 2010-02-09 | 多功能电能表通信协议栈的开发系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101789944A true CN101789944A (zh) | 2010-07-28 |
CN101789944B CN101789944B (zh) | 2012-12-19 |
Family
ID=42532997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010107045 Active CN101789944B (zh) | 2010-02-09 | 2010-02-09 | 多功能电能表通信协议栈的开发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101789944B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917451A (zh) * | 2010-09-17 | 2010-12-15 | 威胜集团有限公司 | 多功能电能表用dl/t645通信协议进行通信的方法 |
CN103489298A (zh) * | 2013-09-10 | 2014-01-01 | 无锡聚为传感科技有限公司 | 一种多协议无线抄表装置 |
WO2018065344A1 (de) | 2016-10-07 | 2018-04-12 | Basf Se | Farbstabile härterzusammensetzungen enthaltend polyisocyanate (cyclo)aliphatischer diisocyanate |
CN108449398A (zh) * | 2018-03-06 | 2018-08-24 | 江阴长仪集团有限公司 | 一种面向对象数据交换协议的实现方法和电能表 |
CN109683861A (zh) * | 2018-12-10 | 2019-04-26 | 积成电子股份有限公司 | 一种电能表的轻型协作式操作系统及其实现方法 |
CN111866021A (zh) * | 2020-07-31 | 2020-10-30 | 武汉阿迪克电子股份有限公司 | 一种智能电表的多协议管理方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106324337A (zh) * | 2016-08-03 | 2017-01-11 | 宁波三星医疗电气股份有限公司 | 一种基于电量同步处理的智能电能表双芯间的通讯方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101277299B (zh) * | 2008-05-13 | 2011-12-21 | 珠海中慧微电子有限公司 | 协议转换系统及其协议转换过程 |
CN101275978A (zh) * | 2008-05-13 | 2008-10-01 | 珠海中慧微电子有限公司 | 虚拟电能表及其制作方法 |
-
2010
- 2010-02-09 CN CN 201010107045 patent/CN101789944B/zh active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917451A (zh) * | 2010-09-17 | 2010-12-15 | 威胜集团有限公司 | 多功能电能表用dl/t645通信协议进行通信的方法 |
CN101917451B (zh) * | 2010-09-17 | 2013-02-13 | 威胜集团有限公司 | 多功能电能表用dl/t645通信协议进行通信的方法 |
CN103489298A (zh) * | 2013-09-10 | 2014-01-01 | 无锡聚为传感科技有限公司 | 一种多协议无线抄表装置 |
WO2018065344A1 (de) | 2016-10-07 | 2018-04-12 | Basf Se | Farbstabile härterzusammensetzungen enthaltend polyisocyanate (cyclo)aliphatischer diisocyanate |
US11001730B2 (en) | 2016-10-07 | 2021-05-11 | Basf Se | Colour-stable curing compositions containing polyisocyanates of (cyclo)aliphatic diisocyanates |
CN108449398A (zh) * | 2018-03-06 | 2018-08-24 | 江阴长仪集团有限公司 | 一种面向对象数据交换协议的实现方法和电能表 |
CN109683861A (zh) * | 2018-12-10 | 2019-04-26 | 积成电子股份有限公司 | 一种电能表的轻型协作式操作系统及其实现方法 |
CN111866021A (zh) * | 2020-07-31 | 2020-10-30 | 武汉阿迪克电子股份有限公司 | 一种智能电表的多协议管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101789944B (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101789944B (zh) | 多功能电能表通信协议栈的开发系统 | |
CN100594498C (zh) | 海量数据实时处理架构及用于该架构的实时随需处理平台 | |
CN101661494B (zh) | 一种分布式中间件与数据库数据交互方法 | |
CN107967316A (zh) | 一种数据同步方法、设备及计算机可读存储介质 | |
CN108536761A (zh) | 报表数据查询方法及服务器 | |
WO2016169530A2 (zh) | 面向服务的模块化系统体系架构 | |
CN101710281B (zh) | 基于Agent的动态集成开发平台系统和方法 | |
WO2023082537A1 (zh) | 一种基于拟态数据库的网络操作系统设计方法 | |
CN107766402A (zh) | 一种楼盘字典云房源大数据平台 | |
CN102576354A (zh) | 支持不同部署架构的可扩展框架 | |
CN103544153A (zh) | 一种基于数据库的数据更新方法和系统 | |
CN103092645B (zh) | 一种基于微内核技术的地理空间信息应用系统及其实现方法 | |
CN109254836B (zh) | 面向云计算系统优先依赖任务的期限约束成本优化调度方法 | |
CN101482828B (zh) | 一种基于hla的通用分布式视景仿真系统及实现方法 | |
CN110188149A (zh) | 一种数据仓库系统 | |
CN104102949A (zh) | 一种分布式工作流装置及其处理工作流的方法 | |
CN104517181A (zh) | 一种核电站企业内容管理系统及方法 | |
CN110121704A (zh) | 一种用于存储过程的执行方法、设备以及系统 | |
CN110309108A (zh) | 数据采集及储存方法、装置、电子设备、存储介质 | |
CN103440279A (zh) | 一种数据采集过程中的数据适配器及其数据适配方法 | |
Singh et al. | A digital transformation approach for event driven micro-services architecture residing within advanced VCS | |
US9373093B2 (en) | Gateway service manager for business object applications | |
CN110378778A (zh) | 多数据源对账方法、系统、电子设备及存储介质 | |
CN103077068B (zh) | 一种基于共享内存的高性能仿真系统实现方法 | |
CN103268245B (zh) | 一种气象数据快速处理流程化的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |