您好, 访客   登录/注册

面向对象终端软件设计

来源:用户上传      作者:

  摘 要:采集终端是坚强智能电网的重要环节,其稳定运行是用电信息采集系统的重要保障。采集终端主要实现电能表数据采集、数据管理、数据双向传输以及转发或者执行相关控制命令。之前电能表信息采集规约主要是面向业务的数据型协议,随着智能电网的深入建设,其拓展性、复用性以及灵活性逐渐显示出不足。因此研究面向对象互操作技术的用电信息采集协议,贯穿主站、采集终端、电能表,实现协议的统一性、灵活性以及规范性,提高系统运行的可靠性,成为当前热点。
  关键词:智能电网;采集终端;电能表
  中图分类号:TM76 文献标志码:A 文章编号:2095-2945(2019)19-0100-02
  Abstract: The collection terminal is an important link of the strong smart grid, and its stable operation is an important guarantee of the power consumption information collection system. The acquisition terminal mainly realizes the watt-hour meter data acquisition, data management, data two-way transmission and forwarding or execution of relevant control commands. Before the watt-hour meter information collection protocol is mainly business-oriented data protocol, with the in-depth construction of smart grid, its expansion, reusability and flexibility gradually show deficiencies. Therefore, it has become a hotspot to study the power information collection protocol of object-oriented interoperation technology, which runs through the main station, collection terminal and watt-hour meter, realizes the unity, flexibility and standardization of the protocol, and improves the reliability of system operation.
  Keywords: smart grid; acquisition terminal; watt-hour meter
  1 概要
  针对用电采集系统的各个环节,本文主要讨论了基于面向对象协议的采集终端,其软件设计模型、设计方法,着重完成各种不同层次的模块设计。
  2 设计策略
  2.1 功能与规约相分离设计
  鉴于终端使用的规约不统一,而且同一种规约在不同地域也会有细微的甚至是较大的差别,如果内部通讯模块与规约相关,修改规约导致需要修改所有实现与规约对应的功能的所有的功能模块。则导致:
  (1)版本过多,无法形成统一的应用软件平台。
  (2)开发重复工作过多,不利于稳定代码和测试。
  (3)开发周期过长,不利于新产品的快速开发。
  考虑到上述的因素,需要建立一个与通讯规约相独立的应用软件平台,具体就是:功能与通讯规约相分离。为了实现功能与规约相分离,对整个终端的模块相关部分必须做到与规约相独立。按照规约与功能相独立的设计思想,终端与规约相关的功能模块只有规约解析模块,其他功能模块均与规约无关。为了实现这一目的在设计时必须对参数,数据和异常处理进行通用化(内部规约)规定。通过制定统一的终端内部使用的内部通用数据,终端内部的功能模块均可在统一的基础上执行功能。内部通用的数据规定包括:通用内部数据格式,通用的内部参数格式(管理),通用的异常事件格式。
  2.2 模块化设计
  实际设计过程中,可以把各功能作为独立的模块进行设计,不同模块间最大程度上解耦合。基础功能实现的模块可以被上层模块调用,因此需要实现为动态链接库;上层功能不仅可以是动态链接库,也可以是可执行文件。
  可执行文件不需要链接所有的动态库,可以通过配置文件加载需要的动态库,以实现为不同功能的程序,并且适应不同的应用场合。
  需要注意的是,为了后续需求变更时修改方便,每个模块最好只实现一个功能。另外,为了达到模块重用的目的,还需要建立一个基础公用动态库,以达到行业应用的目的。
  2.3 層次化设计
  不同用户对终端的使用可能会有不同需求,因此有必要对其功能进行个性化定制,即使需求会随着时间进行而不断出现变化。对于那些核心的基础性功能而言,它们不易受到需求变化的影响。因此,可以根据终端软件功能的稳定性以及业务相关性把各种功能分成不同的层次,以便达到设计目的:核心及稳定的功能可以在后续开发中复用,普通而且不稳定的功能可以随着需求的变化而变更。
  2.4 可动态配置的设计
  所有的功能需求都体现在终端的每个功能模块中。实际设计时,为了避免可能变化的需求带来的设计变更,可以把和业务联系密切并且容易变化的部分实现为可配置的方式,变化最频繁的内容也可以以参数的形式实现;那些基本不变化的需求部分都体现在程序代码中。   这种配置文件以及参数的实现方式能够提高程序的通用性,即使相关的需求目标值发生变化,只要需求根本逻辑没有改变,就可以通过修改配置文件或参数的方式动态实现,大大降低了修改终端程序的可能性。
  3 程序架构
  3.1 层次结构
  可以根据软件和用户的关系进行层次划分,按照用户参与程度分成由下到上的4层:支撑层、数据源层、业务处理层以及数据表示层。除了支撑层之外,只有相邻的两层间才存在通讯交互关系。由于支撑层起到其他业务相关功能的支撑作用,因此能够被其他模块调用。图1表示了这种层次划分。
  从图1可以看出,支撑层是终端的基础层,可以为其他功能模块提供参数、通讯等的支持,其功能模块有运行监控模块、链路通讯模块以及参数管理模块。在设计支撑层各模块的时候,要保证功能模块和业务逻辑相分离。
  数据源层的功能模块包括设备监控模块、数据采集和统计模块以及存储管理模块。数据源层可以为所有上层模块提供业务数据,并完成数据的管理及存储。由于数据源层的主要目的是采集并存储数据,因此在设计时不需要考虑规约因素,可以以配置化的思想进行。
  业务处理层包含功能模块:事件处理,数据处理功能:业务处理层体现着终端的管理功能,事件处理,主动上报等都在这一层中体现。为了体现终端的功能,在设计业务处理层时需要严格遵循实际需求,并且区分是普通需求还是核心需求,以便后续扩展。
  作为终端和用户的交互接口,数据表示层的模块主要是界面展示以及规约解析,以完成本地和远程交互功能。界面展示功能实现时需要考虑不同的硬件,并且显示内容要能夠根据需求及实际硬件环境进行配置。规约解析指的是把主站内规约变成终端内部的数据形式,或反过来将终端内部的数据转换为主站的规约,实际设计时需要可以体现其屏蔽作用。
  3.2 功能关系
  应用软件的模块间的关系见图2,其中可执行程序是:数据采集与统计分析,设备监控,存储管理运行监控负控处理,报警处理,数据处理,规约解析,界面显示,链路通讯。
  其它的功能模块均为动态库方式。
  4 结束语
  本文主要讨论了符合面向对象通信协议的新一代采集终端的软件设计,与面向业务相比,该设计方法兼顾稳定性与灵活性、扩展性的要求,同时降低了嵌入式软硬件的耦合性,完全满足国家电网对于面向对象新一代终端的技术要求。
  参考文献:
  [1]郭宝,项薇,罗黎明,等.基于“互联网+”模式下电网数据采集终端安全接入防护研究[J].计算机应用与软件,2018,35(12):320-324.
  [2]翟术然,卢静雅,吕伟嘉,等.用电信息采集系统运维体系的探索与实践[J].通信电源技术,2018,35(11):169-170.
  [3]刘静,刘瑞敏,沈鑫,等.用电信息采集系统的研究与测试[J].数据通信,2018(06):22-25.
  [4]张利花,伍祥,陈旭,等.电量采集终端及电能表远程对时研究及应用[J].宁夏电力,2018(05):48-52.
  [5]陈宇锋.电能量数据采集终端的应用探究[J].通讯世界,2017(24):212-213.
转载注明来源:https://www.xzbu.com/1/view-14832948.htm