APP下载

基于Web的网络测试仪器及应用

2011-08-09秦树人

中国测试 2011年6期
关键词:数据服务线程网络化

韩 立,秦树人

(1.中国土地勘测规划院,北京 100035;2.重庆大学测试中心,重庆 400044)

0 引 言

虚拟仪器以计算机作为仪器的硬件支撑,把传统仪器的专业化功能软件化,使之与计算机结合起来,用户可以通过友好的图形界面来操作这台计算机,就像在操作自己定义、自己设计的一台仪器一样,从而完成对被测对象的数据采集、分析、判断、显示、数据存储等[1]。网络化测试仪器是继虚拟仪器之后仪器仪表领域出现的又一个新的发展方向,它是将Internet技术与虚拟仪器技术相结合,继承并发展了虚拟仪器的概念,延伸和扩大了虚拟仪器的资源。网络化仪器充分利用网络,将虚拟仪器的各个功能分布到网络上的不同位置,非常灵活地完成各种测试任务[2]。通过网络还可以共享各种资源,利于同行之间的交流沟通。网络化仪器已广泛应用于远程测试、故障监测、远程控制等领域。

1 网络化仪器的结构和功能

1.1 网络化仪器的结构与工作原理

该文以基于Web的网络化频谱分析仪为例对网络仪器系统进行分析,网络仪器是由硬件采集系统、服务器、数据库和信号分析处理等组成,它的系统结构如图1所示。

用户首先通过Web浏览器登陆服务器,并从Web服务器下载频谱分析仪用户端程序,用户端程序可以自动嵌入到浏览器中运行并与数据服务组件通信。

图1 网络化频谱分析仪的系统结构

在用户端进行各种设置后,就可以通过数据服务器控制采集计算机进行数据采集。

信号采集系统由信号调理器、PCI总线的数据采集卡组成。信号传送到信号调理电路,由信号调理电路对它进行放大、滤波、隔离等处理,调理后的信号经数据采集卡进行A/D转换,将模拟信号转换为数字信号,送入采集计算机。采集计算机与数据服务组件进行数据通信,将信号发送到频谱分析仪的用户端程序,用户端程序对测试信号进行频谱分析和处理,得到测试结果,并按要求显示,将结果存储在数据库中。此外用户还可以获得数据库中的历史数据进行分析,并将分析结果存储在数据库中。

1.2 网络化仪器的功能

网络化频谱分析仪用户端如图2,它提供了单通道频谱分析仪功能,信号获取后,即可以进行信号的测试和分析。其主要功能有时域统计分析、幅值域分析、相关分析、频谱分析、数字滤波等。如果网络带宽允许,还能够实时观察输入信号的时域显示和频域显示。在进行实时显示时,采样频率受到网络传输带宽的限制,两者的关系如下:

采样频率≤网络带宽/8s(数据采用float类型时s=4;采用 double类型时 s=8)

图2 网络化频谱分析仪用户端

面板上可选择数据获取的类型,设置采样参数;在显示区域可以对显示的波形进行放大缩小操作,可以翻页;可以进行光标读数,任意两点数据进行对比等操作。

2 系统开发平台和设计

2.1 系统开发平台

系统采用Visual Studio.net 2003开发平台,它提供一个统一的集成开发环境及工具,大大提高了开发者的效率;集成了多种语言支持;简化了服务器端的开发;提供了高效地创建和使用网络服务的方法,可以高效地开发Internet应用程序。在该平台下,主要采用以下技术完成系统的开发。

(1).net组件。.net组件技术最重要的特点就是其组件所具有的“即插即用”的能力,可以提高效率,有利于程序的部署,无需注册到Windows注册表中便能安装。在组件部署时将用户界面组件和它的显示页面放于IIS同一目录下,在显示页面中包含如下代码,用于组件的自动加载。

(2)asp.net。asp.net运行在服务器端,使用编译后的语言,提高了性能和伸缩性。

(3)Socket。在系统中,使用Socket套接字进行通信。通信协议采用TCP协议,保证数据传输的可靠性。

(4)ado.net和数据库。ado.net用于数据库的连接,相对于ado更具有通用性,它聚集了所有可以进行数据处理的类,比如索引、排序、浏览等。数据库采用SQLServer2000。

(5)多线程。在系统设计中,利用多线程技术实现人机交互、网络数据传输、数据分析处理和图形显示等多任务同时进行。

2.2 系统组成与运行过程

利用组件技术构建各种组件,将组件部署在网络的不同位置完成系统的功能[3]。根据需要实现了以下组件:用户界面、信号采集、数据服务、信号分析处理、数据库连接组件、登录组件,组件在系统中的位置如图3所示。

系统运行过程包括用户登录、数据获取、信号处理分析和数据存储等。

(1)用户登录。用户通过浏览器访问IIS服务器,首先显示用户登陆页面,浏览器将用户名和密码发送至服务器,登录组件根据用户名和密码判断用户是否有权限运行网络化频谱分析仪。数据库将用户登陆的信息记录下来。通过验证后,客户端自动从服务器下载.net用户端组件,并嵌入浏览器中运行。该组件可显示虚拟仪器面板,连接数据服务组件传输数据,并对信号进行分析处理。

图3 网络化仪器组件构成

数据获取。数据获取有两种方式,一种是获取实时数据,另一种是获取历史数据。因为同一时刻只能有一个用户拥有采集卡的控制权,所以获取实时数据时只有一个用户可以设置信号采集的参数,获得符合自己要求的信号,其他用户有3种选择:

等待对采集卡的控制权,在数据服务组件中有一个排队队列,用于对发出请求采集卡控制权的用户进行排队。当拥有控制权的用户完成对数据的采集后,将控制权交给队列中第一个用户。定时对队列的用户状态进行查询,排除放弃请求的用户。

获得和当前控制采集卡的用户同样的数据,数据服务组件将当前采集的信号发送到这类用户端。

获取历史数据,将历史数据从数据库中提取出来进行显示分析。

(2)信号处理分析[4]。对获得的数据进行时域和频域中的分析处理。为了减轻服务器的压力,将这个功能与用户界面一同部署在浏览器端,信号处理结果直接显示在浏览器中。如果需要保存处理结果,可以通过数据服务组件连接数据库,将结果存于数据库中。

(3)数据存储。由于在浏览器中不能对硬盘进行写操作,所以需要将信号分析处理的结果保存在远程数据库中。

2.3 组件设计与实现[5]

组件设计采用面向对象的程序设计,完成了以下.net组件:

(1)用户界面组件用于显示频谱分析仪面板(见图1)。面板包括时域与幅值谱旋钮,可以实现时域分析和频域分析;功率谱密度旋钮,可以实现频域分析;滤波与相关旋钮,实现数字滤波和自相关功能;窗函数旋钮,实现对窗函数的选择,可选择矩形窗、汉宁窗、海明窗、布克窗、高斯窗、余弦窗等;数据获取按钮,包括4种获取方式,实时数据、实时获取且显示波形、共享数据和历史数据;数字滤波控制按钮,包括高通、低通、带通、带阻、设置和存盘。

(2)信号分析处理组件对信号在用户端进行时域和频域的分析处理。时域分析包括显示时域波形、统计特征值、概率直方图、概率密度函数;频域分析包括加窗函数、幅值谱、对数幅值谱、幅值倒频谱、功率谱、功率谱密度、对数谱密度、功率谱密度倒频谱等,还可以进行数字滤波和自相关分析。

(3)数据服务组件是该系统的核心,它负责与用户界面组件、信号分析处理组件、数据库连接组件、信号采集组件等进行相互通信。在系统中利用多线程技术管理与各个组件之间的通信。图4表示数据服务组件通信示意图。

图4 数据服务组件结构

用户侦听线程侦听来自用户端的连接,并创建线程与用户建立连接。创建的线程添加到数据服务组件的线程数组中,通过该线程数组对所有用户连接线程进行管理。对应数据的3种获取方式,这些连接线程也分为3种。在图4中线程3获取采集卡的实时数据,线程4获得数据库中的历史数据,线程5获得实时共享数据。线程1是与数据采集通信的线程,线程2是与数据库连接通信的线程。

系统启动后,数据服务组件进行初始化,打开用户侦听线程。如果用户请求获得采集卡的数据,则将采样指令发给数据采集线程。数据采集线程将采集的数据发送到共享数据缓存,共享数据缓存的数据发送给数据库。如果这时有用户请求实时共享数据,则将数据缓存中的数据同时发送到该用户。如果用户请求数据库中的历史数据,则如图4中线程5所示,将数据库中数据直接发送给用户。

图5 偏心电机振动测试

图6 测试分析结果

在TCP/IP网络环境下,组件之间的通信过程是利用TCP/IP协议中的传输层接口Socket来实现。

(4)登录组件。登录组件接收用户的请求信息,查询数据库以确定用户是否有相应权限,并且区分3种获取数据的方式。

(5)信号采集。信号采集组件接收用户发来的采集指令,将采集的数据发送到数据服务组件中。

信号采集组件部署在数据采集计算机上,为了更加容易地控制采集卡,信号采集程序采用了传统的桌面程序。

(6)数据库连接。该组件将数据库连接、查询、添加、删除、存储等功能封装在一起,与数据服务组件部署在一起。

3 应用实例

该测试实验采用ZK-3VIC型虚拟测试振动与控制实验装置的实验台架[6],测试对象为偏心电动机的振动信号测试分析,如图5所示[7]。实验设备准备就绪后,用户即可通过网络访问Web服务器,基于Web的网络化频谱分析仪运行如图1所示。该仪器在内部局域网运行正常,图6表示网络化频谱分析仪对偏心电机振动信号的分析结果。

4 结束语

基于Web的网络化频谱分析仪采用网络技术、组件技术、多线程技术将传统虚拟仪器的面板和分析功能嵌入用户浏览器中,实现分析仪器的功能,具有在用户端不需要软件安装,只需要用户利用浏览器连接Internet;用强大的数据库服务器对用户的数据进行管理,提高了可靠性和安全性;用户在使用仪器时不受地点限制等特点。

[1] Jamahl Overstreet,Anthony Tzes1.Internet-based client/server virtual instrument designs for real-time remoteaccess control engineering[C]∥IEEE American Control Conference,San Diego,CA USA,1999.

[2] 何岭松,张蓉.基于Web的网络化虚拟仪器技术及应用[J].中国机械工程,2002,5(1):759-761.

[3]尹爱军.秦氏模型——基于智能虚拟控件的仪器[M].2版.北京:科学出版社,2008(11):189-190.

[4] 秦树人.工程信号处理[M].北京:科学出版社,2008(3):9-10

[5] 秦树人.智能控件化虚拟仪器[M].北京:科学出版社,2004(9):159-163.

[6] 秦树人.现代虚拟仪器[M].北京:机械工业工业出版社,2011(3):432.

[7]杨炯明.虚拟式旋转机械振动信号特征分析仪[J].中国机械工程,2005(3):432-435.

猜你喜欢

数据服务线程网络化
大数据时代高校图书馆数据服务的困境及优化路径
地理空间大数据服务自然资源调查监测的方向分析
基于数据中台的数据服务建设规范研究
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
数据服务依赖图模型及自动组合方法研究
基于最优树的网络化作战装备体系结构优化
基于HDS和CANopen多品牌PLC网络化控制实验平台搭建
网络化时代社会认同的深刻变迁