热门关键词:
位置:首页 > 机械学术资料 > 

基于组件化思想的测控软件开发平台设计与实现

  • 该文件为pdf格式
  • 文件大小:269.77KB
  • 浏览次数
  • 发布时间:2014-11-06
文件介绍:

本资料包含pdf文件1个,下载需要1积分

Design and implementation of general development platform for measurement andcontrol software based on componentization of ideasZHAO Hal·yuan,WANG Li·fang,JIANG Ze-jun(School ofComputer,Northwestern Polytechnical University,Xi吼 710129,China)Abstract:The traditional industrial control software has obvious shorlcomings,such as comparatively long developmentperiod,inconvenience to maintain,etc.Inorder to overcome those disadvantages,a common set of monitoring and controlsoftware development platform hase been proposed,which is based on Componentizati0n of ideas,combining with factory,statemachine and other design paterns.While Reducing the coupling Along the modules,this platform improves the reusability ofcode.Th e configuration software based on that design thought is hierachical,modular and more easy to upgrade.It also Caneficiently allocate resources and reconstruct system。

Key words:platform for measurement and control software;componentization of ideas;design paterns;refactoring随着计算机在各个领域的广泛应用.种类繁多的控制设备和过程监控装置使得传统的测控软件已无法满足用户的各种需求-发传统的测控软件时。当被控对象-旦有变动,就必须修改其控制系统的源程序,导致其开发周期长;已开发成功的测控软件又由于每个控制项目的不同而使其重复使用率很低,导致它的价格非常昂贵 :在修改测控软件的源程序时 ,倘若原来的编程人员因工作变动而离去时,则必须同其他人员或新手进行源程序的修改。因而更是相当困难。

基于构件1技术的测控软件开发平台的出现为解决上述实际工程问题提供了-种崭新的方法,因为它能够很好地解决传统测控软件存在的种种问题,使用户能根据自己的控制对象和控制 目的的任意组态I2](Configuration),完成最终的自动化控制工程。具体地说 ,测控软件开发平台是为测控软件开发、调试和运行提供的集成环境:利用该平台可灵活配置硬件测试资源,以可视化的方式配置测试流程,并加载硬件接口的驱动程序从而自动生成测控软件。

1 基于组件化思想的测控软件开发平台概述随着近几年 Internet的飞速发展 ,使软件应用置身于更收稿日期:2012-12-06 稿件编号:201211253加广阔的环境中.从而对应用软件的跨语言、跨平台和互操作性提出了更高的要求。在这种情况下,传统的面向对象[31思想难以适应现代的分布式软件应用 ,组件化思想应运而生。

组件化思想使得设计人员在软件设计过程中更倾向于将功能从主程序中剥离出来,封装在独立的拈中。

组件化设计的基本思想是将单独的、庞大而复杂的应用程序划分成多个拈,但这里每-个拈不再是-个简单的代码集 ,而是-个 自给 自足的组件 ,每个组件保持-定的功能独立性 ,在协 同工作时,通过相互之间的接 口完成实际的任务 ;这些组件可以单独开发,单独编译 ,甚至单独调试和测试 。当所有的组件开发完成后 ,把它们组合在- 起 就得 到 了完整 的应用 系统 。当系统 的软硬 件环境 发生变化 或者 用户 的需求 有所 更改 时 ,并不 需要 对所 有 的组件进行修改 .而只需对受影响的组件进行修改 ,然后重新组合得到新的升级软件测控软件开发平台基于组件化思想 ,发布订阅机制 、虚拟共享内存等技术 ,开发人员只需要关注测控逻辑的开发 ,而不用过多地关注程序语言本身相关的知识和技术 。即使是对程序设计了解较少的工程人员,也可以快速地将测控领域的知识 和技术应用在测控软件的开发中.并在短时间内形成软件产品。测控软件通用开作者简介:赵海源(1988-),男,陕西商洛人,硕士研究生。研究方向:网络与信息安全。

赵 海源 .等 基于组件化思想的测控软件开发平 台设计与 实现发平台能通过可视化的流程设计 .构建 出与之相适应的测控软件源码 、工程文件和安装文件。基于组件 化思想 的测控软件通用开发平台”是标准化和规模化的通用测控开发软件 。利用该平台中的标准功能组件可 以实现组件管理 、测控软件 的组装 、双视 图界面的效果模拟 、硬件资源管理 、二次开发 (平 台的扩展 、测控软件 的升级 )、ActiveX和 COM封装与集成等功能。

2 基于组件化思想的测控软件开发平台设计测控软件通用开发平台基于组件化设计思想。平台具有通用性和扩展性。测控软件通用开发平台的框架主要实现测控软件的开发,以及平台的管理功能。为了支持平台的扩展性,实现了平台的扩展机制.包括组件的扩展和组件的调试。

- 甬弄 -罩 -回 圆 瓶、. ..::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.,图 1 开发平台的框架与扩展Fig.1 Framework of the development platform and extend测控软件通用开发平 台的任务是实现测控软件 的开发 ,主要通过组 态设计 和系统发布功能完成 。组态设计包含使用平 台拖放式组 件在双视 图界面 中对测 控软件流程进行设计 。系统发布通 过所完成 的组 态设计 .实现组件 的顺序组装 .生成 VC工程并进行打包 ,系统发布预留了编辑脚本 的接 口,提供开发人员编辑脚本控制测控软件的功能。

测控软件通用开发平台的管理功能包含安全管理 、13志管理、组件管理及资源管理。通过对平台的管理为平台对测控软件开发提供支持。测控软件通用开发平台具有可扩展性,通过提供组件开发向导的功能,为平台提供 ActiveX组件和 COM组件的扩展 ,将非平台原有组件封装成平台自身的组件 ,并且扩展组件时 ,通过组件调试保证组件扩展的可用性。测控软件通用开发平台启动平台框架,动态加载软件平台下的所有组件。当测控软件开发人员对平台进行操作时。

软件平台框架根据操作的信息实例化不同的组件对操作进行相应,其时序图如图 2所示。

圜 回 ⑦扫描平台下所有组、 -- ⑦查询组件ID- 丘哩凰堑佳 - J 把 球图2 时序图Fig.2 Timing diagram3 主体框架的设计实现始化函数业务功能软件平台的框架是-个通用的可独立运行的程序.定义了软件平台的接 1:3规范,可自动加载符合软件平台接 口规范的组件,是整个软件平台的基赐主干.其主要作用有 :1)负责启动整个软件平台和注册组件:软件平台启动后初始化窗体界面和组件管理器(ComponenetManager).扫描组件 目录,完成组件的注册,并保存组件信息;2)负责管理组件 :完成组件接口的初始化。加载和卸载组件,并处理软件平台异常:3)负责向外界提供使用组件功能的界面(如菜单、工具栏等),通过规范接1:3调用工厂类组件实例化功能组件。工厂类组件是框架实例化功能组件的人口.为框架提供功能组件的相关信息,并根据需要实例化相应的功能组件。

软件平台框架为组件的实现和扩展提供了-系列基础接口,并制定组件的开发规范 ,简化了后期组件的开发和扩展。软件平台框架和组件接 口间的类关系如图 3所示。组件可分为显示类组件和不可显示类组件:不可显示类组件主要包括管理和控制软件平台的组件;显示类组件具有界面视图,主要包括窗口管理类组件、双视图类组件、界面视图类组件、组态视图类组件-发组件时,开发人员根据组件的特性 ,继承相应的基从口。例如具有双视图的组件继承Doubleview Component接 口,具有界面视图的组件继承 FacePlate Component接 口,具有组态视 图的组件继承 Link ViewComponent接1:3-发人员无需关心平台底层的特性.只需继承相应接口类 ,结合组件的特定需求即可开发符合软件平台接 13规范的组件。按照软件平台框架所定义的接口规范进行组件的开发,封装组件的功能,提高组件的开发效率。

- 8-《电子设计工程)2013年第 8期图 3 静态类图Fig.3 Stmic class diagram4 组件设计4.1 组件模型软件平台中的组件是针对测控领域开发的-系列相关功能的集合体 ,组件本身具有良好的扩展性和复用性。组件包含-个工厂 类组件以及-个或多个功能组件 .通常被封装在同-个动态链接库中。软件平台启动时自动扫描组件 目录,并将可用组件注册到框架中。组件的工厂类组件为组件提供与框架交互的接口,是组件实例化的入口。组件的结构图如 4所示 。

: 插件A : l- :f实例化功能组件1l :厂类组件l : : l工厂类组件 蜃 软件平台框架图 4 组 件结构 图Fig.4 Diagram 0f component structure基础组件与功能组件的划分:软件平台中的组件包括基础组件和功能组件。基础组件在软件平台启动时由框架自动加载,仅实例化-次 。初始化软件的界面和基本功能:基础组件包括 Editpanel组件、生成/打包组件、硬件管理组件、日志记录组件。功能组件辅助软件平台实现开发测控软件流程中所需的具体功能 ,软件平台不会自动加载功能组件,需开发人员在使用组件时可将其实例化,并可实例化多次 ;功能组件包括分级组件 、调试组件 、流程控制组件、分布式通信组件、算法组件、脚本组件、数据存储组件、显示组件、加密解密组件。

功能组件是组件内部实现的具有单-功能的程序,由工厂类组件接口实例化,并由软件平台框架调用。启动软件平- 82-台后 ,自动扫描组件目录,调用 LoadHugln接口加载组件。组件中的工厂类组件实例化后 ,调用 Register接口将功能组件注册在组件注册表中。

4.2 组件通信机制软件平台中的组件间通信包括数据交换和消息嘲传递两部分。

1)数据交换组件间的数据交换采用端口机制实现。端 口定义了数据流的信息,包括端口号、端 口在组件图示内的位置、端口传输数据类型、端口输入输出类型、端口接收或发送的数据值-发人员可通过扩展和 自定义端口的数据类型完成批量数据的传输。软件平台使用强类型转换机制,开发人员进行组态时,需保证接收端口的输入数据类型与发送端 口的输出数据类型匹配,否则无法在端口间连线完成组件间通信。软件平台在组态设计阶段完成端口匹配的工作.避免了开发人员因疏忽出现的错误 ,简化了组态的设计和调试,提高了组态运行时的稳定性。

2)消息传递软件平台采用消息捕获机制和发布-订阅机制 共同完成组件间消息的传递。组件捕获软件平台发布的所有消息,并对订阅的消息做出相应处理,同时继续向下分发其它消息。组件间采用 noti接口与 repo接 口共同实现消息的发布-订阅机制 ,对发布订阅机制的描述如图5所示。软件平台根据对消息的解析结果,将组件 B和组件 C注册到组件A上,-个组件可注册到多个组件上,实现消息的传递与控制。

软件平台根据对消息的解析,调用 atach函数将组件 B和组件 C加入到组件 A的 noti链表中,并将组件 A加入到组件 B及组件 C的 repo链表 中。软件平 台采用 双 向记录方式 ,使用 repo链表记录组件注册的对象,使用 noti链表记录注册到该组件之上的其它组件,共同实现组件的注册过 程。

-赵海源,等 基于组件化思想的测控软件开发平台设计与实现图5 平台通信机制Fig.5 Platform communication mechanism组件触发事件时,将事件封装为 XML格式的消息 .查询report和notify链表,将变化的事件发布到链表上的所有组件,软件平台默认组件接受所有类型的事件。

5 结 论测控软件开发平台采用组件化的设计思想。使用组件化编程思想提高了组件的复用率,缩短了开发周期,降低 了开发成本。提高了开发效率。组件化的设计思想使得测控软件开发平 台的通用性、可移植性、可扩展性和开发效率均得到有效提高。使得测控软件通用开发平台具有可靠性和易用性,并具有二次开发功能。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败