CN109271146A - 针对电能表软件的模块化设计方法 - Google Patents
针对电能表软件的模块化设计方法 Download PDFInfo
- Publication number
- CN109271146A CN109271146A CN201811037791.XA CN201811037791A CN109271146A CN 109271146 A CN109271146 A CN 109271146A CN 201811037791 A CN201811037791 A CN 201811037791A CN 109271146 A CN109271146 A CN 109271146A
- Authority
- CN
- China
- Prior art keywords
- electric energy
- software
- module
- energy meter
- layer
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种针对电能表软件的模块化设计方法,包括电能表软件分层设计、电能表软件模块定义、模块交互定义、软件模块配置管理和电能表软件最小***;电能表软件分层设计用于将电能表软件分层设计并定义各层级的内容和调用规则;电能表软件模块定义用于建立统一的软件功能模块模型;模块交互定义用于定义各个软件模块之间的数据交互规则;软件模块配置管理用于对软件模块进行功能配置选项的宏定义;电能表软件最小***用于定义电能表软件的最小配置方案。本发明的针对电能表软件的模块化设计方法,使得电能表的软件开发过程能够适用于现今多变的市场环境,软件开发速度快,功能多样化且成本低廉。
Description
技术领域
本发明具体涉及一种针对电能表软件的模块化设计方法。
背景技术
随着经济技术的发展,电能已经成为了人们生产和生活中必不可少的二次能源,给人们的生产和生活带来了无尽的便利。目前,智能电能表已经广泛应用于电力***中。但是,随着用户和计量***对于智能电能表的需求的升级,智能电能表的种类、功能也越来越多。
但是,随着智能电能表的种类和功能增多,对于智能电能表的硬件和软件***的设计均提出了严峻的挑战。智能电能表的硬件,能够通过集成各类型的功能模块的方式,或者进行全面、***、冗余和备用的电路功能设计的方式,来适用于现有的功能多变、类型繁多的市场局面。但是,对于智能电能表的软件而言,由于智能电能表的软件***并无法进行功能备用性质的软件算法设计,因此现有的智能电能表的软件设计方法无法满足现在的市场状况,从而使得现有的智能电能表,在面对市场多变的功能需求时,只能频繁的更改电能表的软件设计,进行重新的定制性设计等工作,费时费力,而且成本高昂。
发明内容
本发明的目的在于提供一种能够适用于现今多变的市场环境,功能多样化且成本低廉的针对电能表软件的模块化设计方法。
本发明提供的这种针对电能表软件的模块化设计方法,包括电能表软件分层设计、电能表软件模块定义、模块交互定义、软件模块配置管理和电能表软件最小***;电能表软件分层设计用于将电能表软件进行分层设计,并定义各层级的内容和调用规则;电能表软件模块定义用于建立统一的软件功能模块模型;模块交互定义用于定义各个软件模块之间的数据交互规则;软件模块配置管理用于对各个软件模块进行功能配置选项的宏定义;电能表软件最小***用于定义电能表软件的最小配置方案。
所述的电能表软件分层设计,用于将电能表软件分为MCU驱动层、设备驱动层、虚拟设备层、***层和应用层;MCU驱动层用于MCU驱动开发,根据电能表设计需求对MCU驱动进行抽象并形成标准的驱动接口供上层调用;设备驱动层用于电能表外设驱动开发并形成标准的设备驱动接口供上层调用;虚拟设备层用于共用外设的抽象化设计;***层用于电能表软件任务调度、文件存储管理和模块之间消息传递;应用层用于应用功能模块的实现。
所述的电能表软件模块定义用于建立统一的软件功能模块模型,将各软件功能模块的对外接口统一进行定义。
所述的模块交互定义包括数据交互、方法交互和内部对象标识定义;数据交互为通过数据对象标识进行访问,访问结果为数据内容及数据格式属性信息;方法交互为通过方法对象标识及输入数据信息进行方法访问,返回方法执行结果及输出数据信息;内部对象标识为对数据、方法对象标识进行统一标准化命名。
所述的软件模块配置管理用于对各功能模块进行功能配置选项宏定义,每个功能模块都提供一个标准的功能配置头文件,对功能模块进行功能配置,同时电表整体定义一个标准的表型配置头文件,对表型功能进行配置管理。
所述的电能表软件最小***包括MCU驱动层、设备驱动层、虚拟设备层、***层、法定计量功能模块、显示功能模块和通信协议模块;其中MCU驱动层包括针对具体硬件平台MCU的驱动程序;其中设备驱动层包括针对具体硬件平台外设的驱动程序;其中虚拟设备层包括液晶、报警LED灯等共用外设的设备抽象程序;其中***层包括任务调度、文件存储管理、模块之间消息传递程序;其中法定计量功能模块包括电能量计量、***时钟程序;其中显示功能模块包括按键响应、数据显示程序;其中通信协议模块包括数据通信交互协议的处理程序,通信协议可配置选择为DL/T645-2007、DL/T698.45、IEC62056。
本发明提供的这种针对电能表软件的模块化设计方法,将电能表软件进行分层设计,并根据电表设计需求对MCU、外部设备进行抽象化设计,标准化驱动接口,提高电能表硬件平台移植开发效率;同时建立了统一的应用层功能模块模型,方便功能模块的添加删除;还建立了模块之间交互方式,通过自定义对象标识进行模块之间数据及方法访问,使模块之间完全独立;此外,各功能模块进行可配置化设计,并提供相应的配置文件,实现了功能模块根据市场需求进行相应功能配置,提高了功能模块的通用性和可共用性;最后,定义了一个电能表软件最小***,在最小***的基础添加相应的扩展功能模块就能够组合出满足相应市场的电能表软件,能够快速开发出稳定可靠的电能表软件产品。
附图说明
图1为本发明方法的电能表软件分层设计的示意图。
图2为本发明方法的应用层功能模块统一模型的示意图。
图3为本发明方法的模块之间数据交互的示意图。
图4为本发明方法的软件模块配置管理的示意图。
具体实施方式
本发明提供的这种针对电能表软件的模块化设计方法,包括电能表软件分层设计、电能表软件模块定义、模块交互定义、软件模块配置管理和电能表软件最小***;电能表软件分层设计用于将电能表软件进行分层设计,并定义各层级的内容和调用规则;电能表软件模块定义用于建立统一的软件功能模块模型;模块交互定义用于定义各个软件模块之间的数据交互规则;软件模块配置管理用于对各个软件模块进行功能配置选项的宏定义;电能表软件最小***用于定义电能表软件的最小配置方案。
其中,电能表软件分层设计(如图1所示)用于将电能表软件分为MCU驱动层、设备驱动层、虚拟设备层、***层和应用层;MCU驱动层用于MCU驱动开发,根据电能表设计需求对MCU驱动进行抽象并形成标准的驱动接口供上层调用;设备驱动层用于电能表外设驱动开发并形成标准的设备驱动接口供上层调用;虚拟设备层用于共用外设的抽象化设计;***层用于电能表软件任务调度、文件存储管理和模块之间消息传递;应用层用于应用功能模块的实现。整个电能表软件由5层组成,从下至上分别为MCU驱动层、外设驱动层、虚拟设备层、***层、应用层。下层为上层提供标准化的驱动接口,层间调用是单向调用关系,即只能上层访问下层的接口,禁止下层访问上层接口。硬件平台移植过程中,一般只影响MCU驱动层和外设驱动层,虚拟设备层、***层、应用层基本不受影响。这种分层设计方法能够加快平台切换时的软件开发效率。
电能表软件模块定义用于建立统一的软件功能模块模型,将各软件功能模块的对外接口统一进行定义;比如,各功能模块对外接口统一为XX_GET(数据读访问)、XX_SET(数据写访问),XX_ACTION(方法访问),XX_INIT(模块初始化),XX_TASK(模块主任务),从而方便模块之间的调用和数据交互等。
模块交互定义包括数据交互、方法交互和内部对象标识定义;数据交互为通过数据对象标识进行访问,访问结果为数据内容及数据格式属性信息;方法交互为通过方法对象标识及输入数据信息进行方法访问,返回方法执行结果及输出数据信息;内部对象标识为对数据、方法对象标识进行统一标准化命名。
软件模块配置管理用于对各功能模块进行功能配置选项宏定义,每个功能模块都提供一个标准的功能配置头文件(比如每个功能模块都提供一个XX_Config.h功能配置头文件),对功能模块进行功能配置,同时电表整体定义一个标准的表型配置头文件(比如电表整体定义一个MeterConfig.h表型配置头文件),对表型功能进行配置管理。
所述的电能表软件最小***包括MCU驱动层、设备驱动层、虚拟设备层、***层、法定计量功能模块、显示功能模块和通信协议模块;其中MCU驱动层包括针对具体硬件平台MCU的驱动程序;其中设备驱动层包括针对具体硬件平台外设的驱动程序;其中虚拟设备层包括液晶、报警LED灯等共用外设的设备抽象程序;其中***层包括任务调度、文件存储管理、模块之间消息传递程序;其中法定计量功能模块包括电能量计量、***时钟程序;其中显示功能模块包括按键响应、数据显示程序;其中通信协议模块包括数据通信交互协议的处理程序,通信协议可配置选择为DL/T645-2007、DL/T698.45、IEC62056。
如图2所示为本发明方法的应用层功能模块统一模型的示意图:应用层功能模块采用了标准化模型定义,一个功能模块由以下几部分内容组成:子功能模块实现、模块数据对象列表、模块方法对象列表、模块对外接口函数、模块功能配置文件。其中模块对外接口标准化为5个接口函数,分别是:模块初始化接口(XX_Init)、模块主任务接口函数(XX_Task)、模块数据读访问接口函数(XX_Get)、模块数据写访问接口函数(XX_Set)、模块方法访问接口函数(XX_Action)。
如图3所示为本发明方法的模块之间数据交互的示意图:从图3可以看出,应用层功能模块之间交互统一通过对象标识进行访问,数据访问通过数据对象标识,方法访问通过方法对象标识,模块之间交互访问时通过一个公共的交互路由中心进行对象标识解析路由,通过交互路由中心,能够大大简化模块之间的交互接口。图中过程标号①②③④为XX模块访问YY模块的访问流程。①为XX模块发起对象访问请求;②为交互路由中心对访问请求进行解析路由,调用YY模块的对象访问接口;③YY模块进行对象访问操作处理;④对象访问操作结果返回到交互路由中心,最后返回到交互访问发起者XX模块。图中过程标号⑤⑥⑦⑧为YY模块访问XX模块的访问流程,其处理流程同①②③④。
如图4所示为本发明方法的软件模块配置管理的示意图:从图4可以看出,各产品表型电能表软件由最小***和扩展功能模块进行灵活组合配置。定义电能表软件整体配置文件Meter_Config.h,用于电表功能模块选配;各功能模块分别定义配置文件XX_Config.h,用于各功能模块功能定义选配。最小***由底层驱动层、***层、法定计量模块、通信协议处理模块、显示模块组成,定义最小***配置文件System_Config.h,用于最小***相关配置,如硬件平台、计量方案、通信协议等。
Claims (6)
1.一种针对电能表软件的模块化设计方法,其特征在于包括电能表软件分层设计、电能表软件模块定义、模块交互定义、软件模块配置管理和电能表软件最小***;电能表软件分层设计用于将电能表软件进行分层设计,并定义各层级的内容和调用规则;电能表软件模块定义用于建立统一的软件功能模块模型;模块交互定义用于定义各个软件模块之间的数据交互规则;软件模块配置管理用于对各个软件模块进行功能配置选项的宏定义;电能表软件最小***用于定义电能表软件的最小配置方案。
2.根据权利要求1所述的针对电能表软件的模块化设计方法,其特征在于所述的电能表软件分层设计,用于将电能表软件分为MCU驱动层、设备驱动层、虚拟设备层、***层和应用层;MCU驱动层用于MCU驱动开发,根据电能表设计需求对MCU驱动进行抽象并形成标准的驱动接口供上层调用;设备驱动层用于电能表外设驱动开发并形成标准的设备驱动接口供上层调用;虚拟设备层用于共用外设的抽象化设计;***层用于电能表软件任务调度、文件存储管理和模块之间消息传递;应用层用于应用功能模块的实现。
3.根据权利要求2所述的针对电能表软件的模块化设计方法,其特征在于所述的电能表软件模块定义用于建立统一的软件功能模块模型,将各软件功能模块的对外接口统一进行定义。
4.根据权利要求3所述的针对电能表软件的模块化设计方法,其特征在于所述的模块交互定义包括数据交互、方法交互和内部对象标识定义;数据交互为通过数据对象标识进行访问,访问结果为数据内容及数据格式属性信息;方法交互为通过方法对象标识及输入数据信息进行方法访问,返回方法执行结果及输出数据信息;内部对象标识为对数据、方法对象标识进行统一标准化命名。
5.根据权利要求4所述的针对电能表软件的模块化设计方法,其特征在于所述的软件模块配置管理用于对各功能模块进行功能配置选项宏定义,每个功能模块都提供一个标准的功能配置头文件,对功能模块进行功能配置,同时电表整体定义一个标准的表型配置头文件,对表型功能进行配置管理。
6.根据权利要求5所述的针对电能表软件的模块化设计方法,其特征在于所述的电能表软件最小***包括MCU驱动层、设备驱动层、虚拟设备层、***层、法定计量功能模块、显示功能模块和通信协议模块;MCU驱动层包括针对具体硬件平台MCU的驱动程序;设备驱动层包括针对具体硬件平台外设的驱动程序;虚拟设备层包括共用外设的设备抽象程序;***层包括任务调度、文件存储管理、模块之间消息传递程序;法定计量功能模块包括电能量计量和***时钟程序;显示功能模块包括按键响应和数据显示程序;通信协议模块包括数据通信交互协议的处理程序。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811037791.XA CN109271146A (zh) | 2018-09-06 | 2018-09-06 | 针对电能表软件的模块化设计方法 |
PCT/CN2019/096051 WO2020048238A1 (zh) | 2018-09-06 | 2019-07-15 | 针对电能表软件的模块化设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811037791.XA CN109271146A (zh) | 2018-09-06 | 2018-09-06 | 针对电能表软件的模块化设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109271146A true CN109271146A (zh) | 2019-01-25 |
Family
ID=65187382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811037791.XA Pending CN109271146A (zh) | 2018-09-06 | 2018-09-06 | 针对电能表软件的模块化设计方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109271146A (zh) |
WO (1) | WO2020048238A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020048238A1 (zh) * | 2018-09-06 | 2020-03-12 | 威胜集团有限公司 | 针对电能表软件的模块化设计方法 |
CN111273895A (zh) * | 2019-11-06 | 2020-06-12 | 浙江零跑科技有限公司 | 一种电池管理***模块开发软件集成方法 |
CN111309309A (zh) * | 2020-02-20 | 2020-06-19 | 杭州涂鸦信息技术有限公司 | 基于设备的软件开发方法及其***和装置 |
CN111857663A (zh) * | 2020-07-17 | 2020-10-30 | 济南浪潮数据技术有限公司 | 一种软件设计方法、***及电子设备和存储介质 |
CN113031984A (zh) * | 2021-02-07 | 2021-06-25 | 南方电网数字电网研究院有限公司 | 双芯智能电表管理单元应用程序远程在线升级方法和装置 |
CN113986359A (zh) * | 2021-09-26 | 2022-01-28 | 北京智芯微电子科技有限公司 | 适用于智能电表的安全操作*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303464A (zh) * | 2015-11-13 | 2016-02-03 | 威胜集团有限公司 | 智能电能表的数据管理*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135885A (zh) * | 2011-03-22 | 2011-07-27 | 曙光信息产业(北京)有限公司 | 一种模块化的软件开发架构 |
CN203101503U (zh) * | 2013-02-05 | 2013-07-31 | 湖南东瑞智能仪表有限公司 | 基于高精度计量的多功能电能表 |
CN106528406A (zh) * | 2016-10-11 | 2017-03-22 | 广西电网有限责任公司电力科学研究院 | 一种基于云服务的智能电表软件测试*** |
CN109271146A (zh) * | 2018-09-06 | 2019-01-25 | 威胜集团有限公司 | 针对电能表软件的模块化设计方法 |
-
2018
- 2018-09-06 CN CN201811037791.XA patent/CN109271146A/zh active Pending
-
2019
- 2019-07-15 WO PCT/CN2019/096051 patent/WO2020048238A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303464A (zh) * | 2015-11-13 | 2016-02-03 | 威胜集团有限公司 | 智能电能表的数据管理*** |
Non-Patent Citations (1)
Title |
---|
欧习洋等: "嵌入式RTOS 在智能电能表中的研究与应用", 《电测与仪表》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020048238A1 (zh) * | 2018-09-06 | 2020-03-12 | 威胜集团有限公司 | 针对电能表软件的模块化设计方法 |
CN111273895A (zh) * | 2019-11-06 | 2020-06-12 | 浙江零跑科技有限公司 | 一种电池管理***模块开发软件集成方法 |
CN111273895B (zh) * | 2019-11-06 | 2023-08-22 | 浙江零跑科技股份有限公司 | 一种电池管理***模块开发软件集成方法 |
CN111309309A (zh) * | 2020-02-20 | 2020-06-19 | 杭州涂鸦信息技术有限公司 | 基于设备的软件开发方法及其***和装置 |
CN111309309B (zh) * | 2020-02-20 | 2023-09-22 | 杭州涂鸦信息技术有限公司 | 基于设备的软件开发方法及其***和装置 |
CN111857663A (zh) * | 2020-07-17 | 2020-10-30 | 济南浪潮数据技术有限公司 | 一种软件设计方法、***及电子设备和存储介质 |
CN111857663B (zh) * | 2020-07-17 | 2022-06-17 | 济南浪潮数据技术有限公司 | 一种软件设计方法、***及电子设备和存储介质 |
CN113031984A (zh) * | 2021-02-07 | 2021-06-25 | 南方电网数字电网研究院有限公司 | 双芯智能电表管理单元应用程序远程在线升级方法和装置 |
CN113986359A (zh) * | 2021-09-26 | 2022-01-28 | 北京智芯微电子科技有限公司 | 适用于智能电表的安全操作*** |
Also Published As
Publication number | Publication date |
---|---|
WO2020048238A1 (zh) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271146A (zh) | 针对电能表软件的模块化设计方法 | |
Verdecchia et al. | Green IT and green software | |
Yang et al. | Design and implementation of cloud platform for intelligent logistics in the trend of intellectualization | |
US8630882B2 (en) | Implementing an optimal intelligent enterprise architecture via virtualization, information intelligence, social computing and green environmental considerations | |
CN106686132A (zh) | 一种云海***部署方法及平台 | |
CN105577446B (zh) | 一种轻量级嵌入式网络管理***和方法 | |
CN111488332B (zh) | 一种ai服务开放中台及方法 | |
CN106250310B (zh) | 一种测试用例生成方法及装置 | |
KR100880536B1 (ko) | 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템 | |
CN109408339A (zh) | 一种cpld/fpga寄存器控制方法和*** | |
CN103729742B (zh) | 一种基于soa架构和模型驱动架构的数据资源管理*** | |
CN104240070A (zh) | 一种数据发布服务***和方法 | |
CN107896242A (zh) | 一种服务共享方法及装置 | |
CN110244943A (zh) | 基于web和移动端的图形化业务设计方法、***及软件存储器 | |
CN109711810B (zh) | 一种以事件为中心的信息栅格资源协同服务*** | |
CN112150042A (zh) | 一种基于“微应用微服务”架构的规划评审管理方法和*** | |
WO2016201813A1 (zh) | 一种基于Android的动态布局方法及*** | |
CN105488229A (zh) | 一种异构数据环境下的数据交换与集成方法 | |
CN114596046A (zh) | 一种基于业务中台及数据中台的统一数字模型的集成平台 | |
CN107392437A (zh) | 电力营销数字化管控指标体系及数据展示方法 | |
CN204066228U (zh) | 一种智能快递签收*** | |
CN103679432A (zh) | 一种支持动态构建应用平台的vnms*** | |
CN112699107B (zh) | 一种支持高度自定义的数据管理平台 | |
Brisebois et al. | LUCY: A Smart City Mobile Application Architecture Model for Multidimensional Interests Spaces and Personas using Machine Learning Models | |
Poola et al. | These plug-ins revolutionize ChatGPT into an Everything App-ChatGPT’s plugin store |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190125 |
|
RJ01 | Rejection of invention patent application after publication |