APP下载

基于B/S架构的航空发动机试验远程监控系统的设计与开发

2013-08-26翔,刘

机械与电子 2013年9期
关键词:控件站点远程

李 翔,刘 轶

(西北工业大学动力与能源学院,陕西 西安 710072)

0 引言

一种新型号发动机的总体性能设计、总体结构设计、部件研制和调试、发动机各系统设计都离不开相关试验。随着航空发动机技术性能水平的不断提升,试验技术应随之不断提高、发展。新机的性能指标在很大程度上取决于试验设备及试验、测试技术的水平,所以建立高技术试验系统是高性能航空发动机研制的关键技术之一[1]。

传统的航空发动机试验监控系统普遍采用C/S(客户端/服务器)架构,虽然其具有强大的数据操纵和事物处理能力,但随着应用规模的扩大、互联网时代对数据远程访问及共享的强烈需求,其缺陷也逐渐暴露。基于B/S(浏览器/服务器)架构的远程网络监控系统在继承了传统监控系统优点的基础上,对复杂多变的实现过程进行了“瘦身”,并实现了远程监控和远程数据管理等重要功能。

1 系统总体设计

1.1 需求分析

需求分析是系统开发过程中的关键环节[2]。在此环节中,开发者需要对用户需求加以确定。只有在确定了用户需求之后,开发者才能够开始分析、寻求新系统的解决方案。远程网络监控系统主要针对非现场的技术人员、行业专家而开发,其设计目标是实现实时数据的远端观察,以便于数据的事后分析。在航空发动机相关试验中,用户需要在异种网络之间,甚至要在地理位置相对分散的情况下进行数据访问和操作。用户特点决定了系统必须提供一个跨网络、跨平台的解决方案。

1.2 系统结构组成

远程网络实时监控系统主要由2部分组成:本地数据采集系统和实时数据监控站点。系统结构如图1所示。

图1 系统结构

本地数据采集系统在继承了传统数据采集方法的基础上,使用虚拟仪器技术对数据的采集过程进行了优化,可实现发动机试验现场的数据采集、数据分析处理和数据存储等相关功能。

实时数据监控站点由Web服务器和远程客户群组成,远程客户群在掌握浏览器的使用、操作的基础上,几乎不用安装其他软件,即可实现试验过程的监测,而后作出相应的分析与决策[3]。

1.3 三层架构程序设计

从逻辑上来说,一个典型的应用可以由3个部分组成:

a.表示逻辑层。直接面向用户的部分,主要完成应用的前端界面处理,即人机界面处理。

b.业务逻辑层。实现应用的业务规则处理,决定程序流程。

c.数据逻辑层。对数据进行管理的部分,主要完成应用中对数据的存取、更新和管理等工作,并保证数据访问的安全性、完整性和一致性。

三层架构如图2所示。

图2 三层架构

2 系统实现

2.1 本地数据采集系统的开发

设计的数据采集系统包含了“板卡采集”和“人工模拟”2个功能。

由于在实际应用中板卡采集程序可能会因为硬件的不同而有所区别,当系统在设计阶段,甚至投入实际生产后,“人工模拟”功能作为测试工具具有相当的必要性。

板卡数据采集、模拟数据生成的目的均是为Web服务器提供相关数据,Web服务器并不需要了解实时传输的数据细节,而是仅仅负责所接收到数据的显示、处理;数据生成器负责数据来源选择、数据采集和模拟数据生成等工作。为提高系统的执行效率,在系统开发中采用了多线程处理方式;在数据传输过程中使用了NI提供的Network Variable类,来完成数据在采集程序与Web应用程序之间的实时通讯。

线程对象的声明如下:

private Thread paramWorkerThread;

private Thread switchWorkerThread;

private Thread numeralWorkerThread;

paramWorkerThread,switchWorker-Thread,numeralWorkerThread分别用于模拟量数据、开关量数据和频率量数据的实时传输。

数据传输启用后,将会生成新的线程对象,并开始线程运行:

WriteParamData是线程入口函数,在此处负责模拟量数据传输,这部分代码为:

数据传输停止时,线程结束:

paramWorkerThread.Abort();

2.2 实时数据监控站点的开发

实时数据监控站点的开发是利用ASP.NET在Web服务器上建立Web应用程序,即实时数据监控站点。为说明所采集的数据在网络中的传输原理,故将对“远程实时监测页面”的开发过程进行详细的介绍。

要正确接收本地数据采集系统所提供的数据,首先应对数据源进行配置。NI Measurement Studio在ASP.NET中提供了Network Variable Data Source控件,可方便实现针对网络数据源的配置,此控件的任务框提供了Connection Cache Expiration连接过期时间以及Connection Timeout超时时间等属性的设置[4]。

在监控页面的后台代码中调用NetworkVariableDataSource被绑定成员的GetValue()方法,即可得到由试验现场传输来的实时数据。由于传输来的数据均为Object类型,所以需要对接收到的数据进行强制类型转换:将接收到的模拟量数据转化为double[]类型,开关量数据转换为bool[]类型,频率量数据则应转换为long[]类型。部分代码为:

接收到的数据将通过Web页面中的各类控件实时显示给用户,AutoRefresh服务器控件的使用可以在给定时间间隔内对页面上的控件进行更新。Interval属性指明每次更新的时间间隔,定时器时间到后将激发Refresh事件。使用Refresh可指定需要更新的单个控件或控件组。Enabled属性指定定时器是否有效或者Refresh事件是否激活。DefaultRefreshItems集合包含了当Refresh事件发生时需要进行相应更新的控件集。

2.3 系统安全性设计与实现

在创建了可被远程访问的监控页面后,还没有阻止未授权用户访问网站的方法。因此,在系统开发的过程中必须考虑采用特定的安全策略,达到阻止未授权用户访问系统站点的设计目标。

在实现了系统站点的注册、登陆之后,还需要考虑将用户区分为不同角色,并根据角色的不同赋予不同的访问权限。随ASP.NET提供的Role Manager(角色管理器)即可实现系统的权限管理功能。

3 系统测试与验证

系统测试是指在将已确认的软件、计算机硬件、外设和网络等相关元素结合起来构成信息系统之后,针对信息系统进行的各种组装测试和确认测试。系统测试的目的是通过与系统需求进行比对,发现系统与用户需求不符或者相矛盾的地方。对所开发的系统进行了初步测试,主要方案是在数据采集接口程序的“人工模拟”状态下,切换模拟量与开关量的输出类型,接收端的Web应用程序通过实时显示页面对类型的一致性进行校核,从而达到判断通讯有效性的测试目的。

4 结束语

以改进传统监控系统的地域局限性为研究目的,以非现场的技术人员与行业专家为潜在用户,使用了以网络技术为主的分布式计算模型,即B/S架构,将虚拟仪器技术和Web应用程序相结合,提出了适用于航空发动机试验的远程网络监控系统。通过对本地数据采集系统的优化和实时数据监控站点的实现,完成了整个远程网络监控系统的开发。最后,通过调试数据采集接口程序与 Web站点的通讯,对系统效用进行了相关验证并取得了满意的结果。与传统监控系统相比,系统具有易维护性、较好的开放性和较高的安全性等特点,有一定的实际应用价值。

[1]张宝诚.航空发动机试验和测试技术[M].北京:北京航空航天大学出版社,2005.

[2]郑人杰,马素霞,殷人昆.软件工程概论[M].北京:机械工业出版社,2010.

[3]Li Fu-cai,He Zheng-jia,Zi Yany-ang.On-line condition monitoring and diagnostic network system for rotating machine set[J].International Journal of Plant Engineering and Management,2000,5(4):17-22.

[4]Imar Spaanjaar.ASP.NET3.5入门经典[M].张 云,译.北京:清华大学出版社,2008.

猜你喜欢

控件站点远程
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
基于Web站点的SQL注入分析与防范
2017~2018年冬季西北地区某站点流感流行特征分析
远程诈骗
关于.net控件数组的探讨
首届欧洲自行车共享站点协商会召开
怕被人认出
ASP.NET服务器端验证控件的使用
基于嵌入式MINIGUI控件子类化技术的深入研究与应用