您当前的位置:首页 > 展会资讯

设计模式在通讯软件中的应用

2018-08-28 10:44:14

摘 要

传统电力通信软件基于结构化软件设计方法,具有扩展性差和难理解的特点,为此提出了基于设计模式的软件设计方法。文中介绍了设计模式的基本概念和使用方法,通过对不同的电力通信软件的研究,找到了一种合适快速开发电力通信软件的设计模式,并在实际开发中进行了验证。软件运行结果表明设计模式在面向对象的软件设计和开发中可以有效的提高直观性和扩展性。

【关键词】变电站通信 设计模式 IEC 61850 面向对象

1 设计模式

软件设计有两种设计方法,分别是结构化设计方法和面向对象设计方法。设计模式作为面向对象软件设计进程中知识和经验的总结成果菠萝格防腐木
,具有很重要的作用,可以帮助设计者去分析和解决的问题。

本文主要关注了工厂模式,一个设计模式的描写一般包含模式名、意图、结构、参与者和协作等五个方面。下面结合这五个方面详细介绍工厂方法模式。

1.1 模式名

工厂方法(Factory Method) 模式,又称为虚构造器(Virtual Constructor)模式。

1.2 意图

定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使一个类的实例化延迟到子类。

1.3 结构

工厂方法模式的结构。

1.4 参与者

产品类定义工厂方法所创建的对象的接口,实际产品类实现产品类;接口创建者类声明工厂方法,该方法返回一个产品类型的对象。创建者类也可以定义一个工厂方法的默认实现,它返回一个默许的实际创建者对象。实际创建者类重定义工厂方法返回一个实际创建者类实例。

协作:创建者类依赖于它的子类来定义工程方法,所以它返回一个适当的实际创建者实例

2 电力通信软件的设计方案

传统的电力通讯软件针对具体的通讯规约,每一个软件只能处理单个的通讯规约,造成了巨大的资源浪费并且效率低下。本软件采取通用型规约转换软件方案,在该方案中,变电站内可只有一个通讯软件,该通讯软件负责接入系统中所有智能设备和后台管理系统的信息交换。使用这种通讯软件将大大减少开发规约的工作量,提高了代码的复用率。

根据软件需求分析得出的通信软件应具备3方面的功能。

2.1 系统配置

此功能主要用来配置系统中装备信息、转发信息、通道信息和规约信息。

2.2 数据采集与处理

数据收集与处理系统是通讯换软件实际进行数据交换的地方今古洲花园
,但并不进行解析和转发处理。

2.3 数据转换

数据转换就是使得按照系统配置进行配置的不同装备之间能够进行通讯,这是通讯软件的核心处理部份。

根据需求分析的结果,该软件的系统结构图如图1所示。

本软件主要有系统配置程序、数据采集系统与处理组件、通讯规约库和中间数据处理组件。其工作思想以下:首先运行系统配置程序,在配置界面进行智能设备和监控系统的信息配置、物理通道配置和规约配置,进行规约配置时需要该规约库实际存在,否则无效,配置完成后运行数据收集处理系统则可以根据系统配置的结果进行数据收集,而智能装备和监控系统数据的交换需要经过中间数据处理组件的转换后才可以进行,而中间数据和具体的规约处理过程在各自的规约中处理。

3 传统装备规约和新型智能设备规约(IEC61850)相互转换的实现示例

3.1 中间数据结构介绍

在103规约向IEC61850转换的进程中,103规约作为设备侧使用的规约,IEC61850作为控制转发测的规约。规约转换的实际过程要借助于中间数据来完成,数据的流向为双向,即103规约可以向IEC61850上送数据,IEC61850也可以向103下发命令。具体的转换进程为103规约将自己收集到的数据转换为中间数据IDevData格式,IEC61850从IDevData中获得自己需要的数据,与此相反,IEC61850将需要下发的命令转换为中间数据ICtrlData格式,103规约从ICtrlData中取得下发的命令并下发到自己的装置上去。至此,103规约向IEC61850规约的转换工作完成。

同时,由于IDevData和ICtrlData为中间数据格式,因此当别的规约需要这些数据的时候也可以获得,这样103就可以不需要针对其他的规约另行开发,直接就可以完成和其他规约转换的工作。

在电力通信软件中存在两种意义上规约,分别是装备侧规约和转发侧规约,而设备侧和转发侧其实不进行直接的通信,因此需要一种能够分别和二者进行数据交换的中间数据结构,就是IDevData和ICtrlData两个数据类。

3.1.1 设备数据类

class IDevData

{ quint32 cpuCount;/*装备包括CPU数量*/

cpu *Cpus;/*保存装备包含的CPU数组*/

ueue *cmdAnsQueue;/*命令应答队列,队列达到最大限制时,丢弃最久的数据*/

ueue *ycChangeQueue;/*变化遥测队列,队列到达最大限制时,抛弃最久的数据*/

ueue *yxChangeQueue;/*变化遥信队列,队列到达最大限制时,丢弃最久的数据*/

ueue *soeQueue;/*事件队列,队列到达最大限制时,抛弃最久的数据*/

QHash mIEC61850;/*哈希表,用于和IEC61850映射*/

…};

3.1.2 控制数据类   class ICtrlData

{ quint32 cpuCount;/*控制系统包含CPU数量*/

cpu *Cpus;/*保存控制系统包括的CPU数组*/

ueue *cmdQueue;/*命令队列,队列达到最大限制时,抛弃最久的数据*/

ueue *ycChangeQueue;/*变化遥测队列,队列达到最大限制时,抛弃最久的数据*/

ueue *yxChangeQueue;/*变化遥信队列,队列达到最大限制时,丢弃最久的数据*/

ueue *soeQueue;/*事件队列,队列达到最大限制时彩灯
,抛弃最久的数据*/

QHash mIEC61850;/*哈希表,用于和IEC61850映照*/

…};

3.2 IEC61850数据映照实现

IEC61850[3]是基于ISO/IEC9506制造报文规范(MMS)实现双方的通信,而IEC[4]中提出了可以扩充原有的数据类型,同时也给出了IEC和IEC数据向IEC61850映照的列子,结构如下所示。其中casdu、ioa和ti分别映射的是IEC61850中的逻辑设备(Logical Device)、逻辑节点(Logical Node)、数据(Data)。而传统的规约中仍是靠点索引来建模,即通过CPU号、组号和点号等来组织数据,因此传统规约向IEC61850转换时必然要进行一定的映照,这样就利用扩展的数据类型使得传统数据点和IEC61850数据一一对应起来。

数据结构:

当系统在初始化时,将中间数据中的哈希表进行初始化。当IEC61850作为智能设备规约时,通过解析配置文件名,得到主键,依照一定的解析方法就可以得到对应传统规约的CPU号、组号和点号;而IEC61850作为控制规约时,将转出的CPU号、组号和点号按照一定的组织方法构成具体的主键,便可在哈希表中得到唯一对应的IEC61850的SCL脚本。这样使得IEC61850和传统规约就可以方便的进行规约转换工作。

4 结语

本软件的开发采用了具有跨平台特性的Qt开发环境,使得开发者仅开发一次就可以将源码应用在Windows系列、Unix/Linux、嵌入式等操作系统等平台上,节约开发时间,提高开发效率。

本文对设计模式在电力通信软件中的设计原理和功能框架进行了分析,为通讯软件提供了人机友好的配置界面,并结合实际开发的IEC、IEC61850等通讯规约验证规约模式的正确性,为其他的规约开发者提供了一个新的思路和方法。

经验表明,使用工厂模式进行新的电力通讯软件开发不仅可以大大提高开发速度,而且可以在一定程度上避免不必要的错误。

参考文献

[1]李一峰,柏瑞,卢毅等.电力设备检测软件中设计模式思想的运用[J].电力系统及其自动化学报,2002(06):.

[2]高志勇,宋廉,陈勇等.一种通用的基于“观察者模式”的规约转换器设计方案[J].电力自动化装备,2011(09):.

[3]李永亮,李刚.IEC61850第二版简介及其在智能电中的应用展望[J].电技术,2010(04):.

[4]C Exchanging information from a CDC-based data model using IEC60850 or IEC[S].Ed 1.0..

作者单位

1.中电普瑞科技有限公司 北京市 102200

2.国四川检验公司 四川省成都市 610041

CC-14轮廓投影仪
推荐阅读
  • 法式设计风格
    法式设计风格

    法式设计风格 有哪些欧式风格和法式风格的头像?问题详情:比较城市化的,或者是外国推荐回答:以前在网上看...[详细]

  • 贷款买房逾期退房
    贷款买房逾期退房

    贷款买房逾期退房 办了按揭贷款可以退房吗?问题详情:办了按揭贷款可以退房吗推荐回答:1、办了按揭贷款可以...[详细]

  • 结构设计软件ug
    结构设计软件ug

    结构设计软件ug 用ug怎样做模具动画?问题详情:怎么画啊!求教推荐回答:1. 打开装配文件第三个。创建一个新序...[详细]

  • 装潢设计学徒有工资吗
    装潢设计学徒有工资吗

    装潢设计学徒有工资吗 农民工一天的工资,到底有多少?问题详情:农民工群体,是庞大的一个群体,农民工一天...[详细]

  • 开油漆桶扳手
    开油漆桶扳手

    开油漆桶扳手 开家熟食店怎么样?问题详情:从选店面、进货到销售等等,我需要注意些什么?推荐回答:熟食作...[详细]

  • 最适合年轻人买房
    最适合年轻人买房

    最适合年轻人买房 年轻人应该买房买车吗?推荐回答:买房还是买车,相信当今很多年轻人都被这个问题困扰过。...[详细]

图文聚焦