航空电源综合管理软件设计与分析


打开文本图片集

摘要:针对某型舰舰面航空供电模拟训练系统的研制,提出了航空电源综合管理软件功能和开发方案,并对软件设计中采用多线程、多层分布式结构和安全机制等关键技术及实现方法进行了分析。

Abstract: Based on the study of the simulation training system for the power supply on a aircraft carriers, the software function and the development scheme of the software for an aircraft power supply are described. And the analysis for key techniques of the software based on multithread and multi-distributed and the safety is presented.

关键词: 航空电源;多线程;多层分布式

Key words: aircraft power supply;multithread;multi-tier distributed

中图分类号:TP315 文献标识码:A 文章编号:1006-4311(2015)30-0099-02

0 引言

某型舰舰面航空供电模拟训练系统的研制主要解决目前海军某型舰舰面航空供电系统组训条件特殊难以实现,训练效率较低、设备价格昂贵等问题。该模拟训练系统以教学、训练功能为重点,体现了对操作训练流程进行完整再现的思想,且仿真度高,使受训学员通过该模拟训练系统能够较快的掌握舰面航空供电系统操作,为舰面航空部门培养更多的训练保障人员。

航空电源综合管理装置是航空供电模拟训练系统的信息中枢和监控核心,负责对整个模拟训练系统进行监控和管理,同时也是操作人员进行人机交互的最直接的界面。航空电源综合管理装置主要实现对模拟训练系统相关设备的实时监测,显示主要设备的参数数值及状态信息;航空电源综合管理装置实现对主要设备历史数据进行管理,使相关人员通过电源综合管理装置能够全面地监测和掌握相关设备状态并进行管理,为模拟训练系统的有效运行提供保障;航空电源综合管理装置能与相关外系统进行信息交换,并能模拟训练系统的供配电情况,实现相关设备的控制,有效协调和管理供电运行方式,提高系统供电的可靠性和供电质量。航空电源综合管理装置由航空电源综合管理台和航空电源综合管理软件组成。结合某型舰舰面航空供电模拟训练系统的开发, 对模拟训练系统中航空电源综合管理软件的设计进行分析。

1 软件功能设计

依照软件工程理论的思想,遵循模块划分的模块化、抽象化、信息隐蔽和局部模块独立等基本原则,同时追求系统的“低耦合、高内聚”。对整个航空电源综合管理软件进行了功能的划分,从功能上分为五个功能模块。其模块划分如图1所示。

数据采集模块主要实现各种模拟量板卡驱动程序的开发及封装,并按照不同的采集过程进行驱动程序的工程处理。例如在封装驱动程序中集成了各种具有滤波、抗干扰、采集自动优化等功能的子程序,最终形成一系列适用于本系统的驱动程序库。当程序开发过程中需要对模拟量进行采集时,可以方便地在该驱动程序库中进行驱动程序的调用。数据显示模块主要完成动态数据显示,即通过曲线或其他形式的图形显示主要设备的参数数值及状态信息,实现对相关设备实时监测。数据管理模块将实时数据存入数据库中,方便用户对历史记录进行查询、分析,利于设备故障分析与诊断。开关量控制模块主要完成各种开关量板卡驱动程序的开发及封装,形成一系列适用于本系统的驱动程序库。当程序开发过程中需要对开关量进行操作时,可以方便地在该驱动程序库中进行驱动程序的调用,通过此类控制,软件系统可以完成对所有控制接触器和继电器的可靠控制。用户管理模块主要实现对用户名、密码、权限管理和用户信息的添加、修改和删除等。

2 软件开发方案

2.1 开发工具

选用Borland C++Build 6.0作为开发工具。C++Build 6.0可为应用程序开发提供非常友好和完善的可视化集成开发环境(IDE),大大缩短程序的开发周期。C++Build 6.0是一种快速应用程序开发(RAD)工具,它的编程语言是C++,C++是面向对象的结构化语言,具有极快的编译、连接和执行速度。C++Build 6.0充分利用,已经发展成熟的Delphi的可视化组件库(VCL),功能强大而高效。C++Build 6.0开发了BDE数据库引擎和支持Microsoft的ADO数据库连接技术,具有强大的应用数据库开发能力。

2.2 数据库管理系统

后台数据库管理系统选用SQL Server。SQL Server是目前专业领域内应用较多的一个关系数据库,它以其支持大数据库、多用户的高性能事务处理,支持分布式数据库和分布处理,控制系统比较严谨,安全措施十分到位,可移植、可兼容,并且具有可连接性。

3 软件设计的关键技术及实现方法

3.1 多线程

在数据采集和动态显示时,为了提高数据采集与显示的实时性、应用程序中进程的整体执行效率和处理器处理时间的利用率、增强软件的响应能力和适应性,同时有助于改善程序的结构,从而使用户能够更加有效地利用好系统的资源。在软件设计中引入了多线程技术。利用C++Builder 6.0提供的Tthread 对象,支持多线程的编程,操作过程十分便捷。在程序中除主线程外,需要设计TDataCollection 类采集线程与TDataDisplay 类显示线程,分别进行数据采集与数据显示,这两个线程均派生于C++Builder 提供的TThread类。TThread 类封装了使用Windows API 函数创建线程、挂起线程、终止线程、控制线程同步的所有复杂的内部细节,并提供软件开发的方法、事件及软件属性等控制线程。软件开发者可以通过主线程操控这两个线程。这种设计能确保数据采集与数据显示同步进行,同时由两个独立的线程分别完成数据采集和数据显示,能确保主线程的快速响应能力。在设计程序时,公共数据或对象可能要多个线程中共享或同步使用。为防止访问线程之间相互撞车,在某一线程访问期间该数据模块时,必须对公共数据模块进行保护,直至访问结束。这可以通过临界区域(Critical Section)的使用来实现,C++ Builder提供了一个TCriticalSection 类来进行临界区域的划定,该对象有两个方法,Acquire()和Release()。它设定的临界区域可以保证一次只有一个线程对该区域进行访问。

3.2 多层分布式结构

多层分布式应用程序服务(Multi-tier Distributed Application Services,MIDAS)支持三层技术: 客户端、应用服务器和数据库服务器。客户端主要负责用户端界面,提供给用户一个操作方便且简单快捷的应用服务接口;应用程序服务器负责实现应用逻辑,是整个结构中最重要的部分;数据库服务器主要负责数据的存取和管理。在某些条件下,多个层可以存在于同一台机器上,只要该层能够独立的运行,仍然被看作独立的层。所有的这些层能够被扩展到多台机器上,因此,准确地说,MIDAS 支持的不是三层技术而是多层或N 层,其结构如图2 所示。

多层分布式应用程序中的应用程序服务器实质是一个COM(Component Object Modal)程序,在Borland C++ Builder中是通过数据模块 来实现的。数据模块是一种类似于窗体Form的容器,可以在其编辑框中添加DataSetProvider、Query、Table等相应的组件。在多层分布式结构中应用程序服务器充当了客户/服务器结构中的客户端程序的主要功能,即连接和访问数据库功能。MIDAS创建到SQL Server 数据库服务器的连接,并向SQL Serve数据库发送SQL命令。SQL Serve数据库服务器在运行SQL命令后并将产生的结果返回给服务器。DataSetProvider组件一般放在远程数据模块中,它是MIDAS与客户端程序之间数据传送的IAppServer 接口。在运行时,它将MIDAS上的数据打包,再传给客服端程序。DataSetProvider组件并不是直接连接到SQL Server数据库,而是连接到MIDAS中的数据集组件(Query、Table等)。在客户端程序中与DatasSetProvider组件相连接的是ClientDataset 组件,它是MIDAS服务器中对应数据集的一个副本。

3.3 安全机制

整个软件的安全机制分为系统级、数据库级和应用程序级。系统级的安全保护通过操作系统的自身的安全控制和系统操作规程实现;数据库级安全由SQL Server 2000数据库系统本身和数据服务器的安全机制控制,它与Windows NT 操作系统紧密集成, 对用户进行分组管理和身份认证,提供完善的事务处理和日志功能, 有力地保证了数据操作的安全性。在数据库中建立系统功能模块表和用户操作权限表,当用户登录时, 系统只显示该用户有权操作的功能模块,从而避免了用户越权操作,进一步提高了系统的安全性。程序级的安全机制只要从以下三个方面进行控制。

①加密技术管理用户密码。注册用户时,在用户输入密码后先使用加密技术加密,再对输入的密码进行保存;用户登录时,已经先前保存的密码会经过解密,再与用户此时输入的密码进行核对,从而提高软件的安全性。

②数据处理权限的设置。数据处理权限与用户级别是相一致的,数据集中放在数据服务器上,由超级管理员统一管理。低级别用户根据权限设置可以浏览相关数据,但在数据的导出、删除、相关设备的控制、作业计划的制定方面有限制,保证数据的完整性和可靠性。

③日志与审计功能。系统自动建立访问日志和数据维护日志,还提供日志的保存、打印、卸出功能。对日志可以按日期、用户、和业务进行检查。通过查看日志和审计信息,能够了解对系统的各种操作及重要数据的处理情况,同时对非法入侵者,追查相关责任者也大有帮助。

4 结束语

实际表明,该软件实现了设计方案中要求的功能,通过采用多线程、多层分布式结构和安全机制等设计,解决了数据采集、传输、显示和安全等方面的问题,启用了应用程序服务器,减少了对数据库服务器访问量,改进了系统的性能和效率,提高了系统的可靠性、维修性和安全性。

参考文献:

[1]邱伟江,宋志强,赵梓浩,朱成敏.基于C++Builder的虚拟仪器的设计[J].工业控制计算机,2010(5):86-87.

[2]蒙祖强,龚涛等.C++Builder程序员成长攻略[M].中国水利水电出版社,2007(4):1-2.

[3]班珂.基于C++Builder的数据库技术[J].广东农工商职业技术学院学报,2010,26(2).

[4]张蕊.计算机中的多线程问题[J].信息科技,2013(11):218-219.

[5]安金鑫,王军,孙章,熊双桥,邢磊.基于分布式网络的并行多通道数据采集系统设计[J].电测与仪表,2013(6):109-114.

[6]林金山.基于C++Builder的多层分布式结构设计与分析[J].沈阳工程学院学报,2006(10):367-369.

推荐访问:管理软件 电源 航空 分析 综合