基于WEB的远程自动控制系统研究和实现

2014-05-11 07:29刘太君郑静静
无线电通信技术 2014年3期
关键词:自动测试后台底层

代 成,叶 焱,刘太君,郑静静

(宁波大学信息工程学院,浙江宁波315211)

0 引言

电子技术的快速发展,推动了相关测量技术的发展,现代仪器逐步走向智能化。程控仪器的逐步普及给实验室研究工作方便,推动了科学技术的发展。在通信领域的发展过程中,为了适应通信发展的要求,对通信信号测量要求越来越高,测量的对象以及测量的要求也越来越复杂,精度要求也越来越高。因此单个实验仪器的测量已经不能满足通信发展的需要,实验系统也逐步从单个的测试仪器逐步演变成为了由多台实验仪器联合起来的综合型的测试平台。多个实验仪器的联合使得测试平台在网络化控制中由于平台操作复杂而引起诸多操作上的不便[1-3]。

目前对于实验室仪器平台的控制主要可以分为3种方式:①手动控制,常用于基础实验阶段,目的是让学生去实地体验实验室的仪器,了解基础实验室仪器的使用,常用于教学实验平台上;②远程手动控制,远程手动控制的专业的开发平台是Lab-View,主要是实现高端仪器资源的网络化共享上;③远程网络控制,远程网络控制平台是在资源共享的基础上实现简单化操作[4,5]。

在实际的研究和工业应用过程中,由于系统平台操作比较复杂,科研人员由于不熟悉而导致使用效率低下。为了更好地实现资源有效的共享,给出了一种网络远程自动测试的方案,简化了实验测试流程,提高了测试的效率。

1 远程自动测试系统

1.1 数字预失真硬件平台

数字预失真平台是一个通信信号测试系统平台,主要包含了矢量信号发生器、射频功率放大器、定向耦合器、负载、可变衰减器和频谱分析仪等组成的一系列的测试仪器。在仪器发展过程中,计算机技术的引进使得智能仪器拥有了更加先进的连通性,目前常见的仪器有2种外部接口:一种采用的是GPIB接口,另一种是LAN接口。GPIB接口的单一性不便于多人操作,同时LAN接口的组网成本比GPIB的组网成本要低,而无线网络的普及和便利使采用LAN接口一样方便。因此在开发采用LAN口进行通信[6]。数字预失真的基本结构图如图1所示。

图1 数字预失真的基本结构图

矢量信号发生器E4438C和频谱分析仪E448A都是安捷伦公司开发的高精度的信号产生和测试仪器,具备SCPI指令编程控制功能,为远程自动控制实验仪器是奠定了基础。

1.2 远程自动测试平台系统架构图

根据系统设置的需求,整个的远程控制系统主要可以分为3个部分,分别是客户端部分、数据处理部分和数据存储部分。

①客户端控制部分:是人机交换的界面,主要负责用户信息的采集,实验参数的设置操作,视频信息设置操作以及数据信息的采集功能模块;

②数据处理部分:数据处理部分是整个系统的信息的中心部分,数据处理部分将客户端的参数经过处理之后转换为底层可以识别的语言,通过接口程序传递到底层实验仪器从而实现对底层硬件的控制,实现网络和底层硬件之间的通信;

③数据存储部分:在实验室资源共享的条件下,实验过程中大量实验结果的处理并不能当场进行分析。通过私有云存储平台,可以通过网络将数据信息和用户信息都存储到Mongodb构建的私有云库下,等待下一步的数据分析,整个系统的架构如图2所示。

图2 远程自动测试平台的系统架构图

2 远程自动测试系统实现

2.1 服务器端与硬件通信的实现

VISA(Virtual Instrument Software Architecture)是由美国国家仪器公司开发的用来与各种仪器总线进行通信的高级编程接口。在实际的开发过程中VISA库文件是链接仪器和控制端计算机的一个中间件,由于不受平台、总线和环境的控制,编程人员可以很容易的实现跨平台开发,而SCPI(Standard Commands for Programmable Instruments)指令是一套建立在IEEE基础上,遵循多重标准的标准化仪器编程语言。因为SCPI指令只是定义了命令格式而没有具体的通信方式,所以在实际的开发中支持PXI、RS232、USB、GPIB和TCP/IP等多重的底层通信协议,将VISA和SCPI结合起来进行开发可以大大节省开发者的时间和精力。

在开发中这里采用的是10.01版本,在实际的架构中依托Visual Studio 2008开发平台开发的程序通过IOLibrary和仪器上的LAN口链接实现软件和硬件实验仪器之间的通信。IOLibrarySuite是一个集成的库的套件,其中包含了4个IO库文件,在整个的通信过程中起到一个连接作用,很容易将开发端的计算机和实验仪器的通信链路连接起来。其中VISA和VISACOM的为后台控制端的软件的开发奠定了基础[7-9]。

在后台和硬件仪器组成的网络架构上,采用的通过路由器组成一个简单的局域网,通过简单的几根网线将矢量信号发生器和频谱分析仪组成一个简单的局域网,配置他们的IP分别为10.10.10.9和10.10.10.10。后台的控制计算机通过安装IOLibrarySuite可以实现和底层仪器之间的通信。后台控制端的网络架构如图3所示。

在底层通信程序的开发过程中VISA库函数主要用到的就是以下的几个库函数,实际的仪器程控开发过程主要结构可以分为3个步骤来实现:

viOpenDefaultRM(sesn);

图3 后台仪器仪表控制结构图

viOpen(sesn,rsrcName,accessMode,timeout,vi);

第一步,用上述的函数来初始化资源管理器并且打开实验仪器建立通信;

第二步,通过函数viPrinf(ViSession vi。ViString writeFmt,)调用SCPI指令来有效的控制硬件仪器的操作;

第三步,当相应的操作完成以后,就通过vi-Close(ViObject)函数关闭通信,同时关闭济源管理器。

为了实现不同底层语言和服务器端的通信,采用了JNA技术实现底层C++语言和后台的JAVA语言的通信。

在Vistudio2008开发平台进行开发的时候,首先将底层的C++函数进行封装成为功能函数生成DLL(Dynamic-Link Library),根据控制模块的需要设置相应的参数,将每个模块所需的功能函数做成一个DLL文件。其次,为了能让后台的JAVA程序能够访问DLL里的功能函数,需要在功能函数前面加上标示符_declspec(dllexport),在开发工程的头文件添加标示符和函数头,编译之后产生后缀名的.dll的编译文件。

2.2 系统服务端的实现

系统的服务器端是整个远程控制系统的核心部分,是连接客户端和底层硬件的一个中心桥梁。整个的后台服务器的架构可以描述为应用服务器、流媒体服务器、数据库服务器以及WEB服务器。整个的系统架构如图4所示。

图4 服务器端架构图

①应用服务器模块采用JAVA语言开发的功能测试函数,每个模块对应着底层的C++编写的控制仪器的DLL,一方面实现了底层的通信,另一方面也是数据处理的中心,将实验得出的数据结果通过API接口存储到数据库中,采用了JNA技术有助于实现网络化控制底层的硬件平台,同时提升了编译效率;

②流媒体服务器模块将实时记载着本地实验的情景,并将摄像头拍摄的文件流化进行发布,保证了实验观看的实时性,同时流媒体服务器的文件将录取的视频文件存储到数据库中。便于后期处理实验结果的时候进行复查;

③WEB应用服务器中的客户端是人机交互的一个接口,远程实验者进行访问的时候,功能界面就可以直观地展现在用户面前,用户可以在不了解使用原理的情况下,只需要在按照要求设置相应的参数就可以进行实验,采用flex开发平台能够将效果更真实的展示;

④数据库服务器是数据存储中心,在实验过程中,由于出现多种不同的类型的数据包括视频文件,文档文件等不规则的文件,与此同时为了便于用户的管理,采用NoSQL数据库MongoDB构建了私有云存储架构[10,11],如图5所示。

图5 MongoDB的Replica Sets+Sharding架构

用户在进行访问的过程中,首先会将注册信息存储在私有云库的用户管理数据库中,并为用户自动创建一个私有的数据库供用户使用,MongoDB私有库将非结构化的数据很方便地存储在数据中心,并随时随地进行访问。

3 结果

远程自动控制系统采用了基于WEB的应用开发,在实际的工程中,通信过程主要分为3步进行:

①用户在进入实验界面之前,用户都必须先进行注册,注册之后,后台会直接在云存储平台上给用户创建一个私有库,用来存储信息;

②用户在人机交互界面上设置相对应的参数,并TXT信号文件通过网络上传到底层的实验仪器,并通过按钮进行相应的操作;

③可以通过视频模块,实时了解视频信息。了解信号的特点并进行调整,并通过按钮实时采集相应的信息和截图保存在后台的私有库中;

④采集的信息存储之后,能在专门的信息栏,用户可以随时登陆网站,通过在自己的私有库中进行数据信息的调取。

通过上述的操作,用户可以结合开发的人家交互界面,非常清楚的获取资料信息,主要开发了数据采集模块,视频模块,人机交互模块,数据下载模块,每个人进入自己的账号之后,都能下载自己数据库的信息。

4 结束语

基于WEB的数字预失真测试平台远程自动测试系统的研究及实现,能够实现联合测试系统远程操作的简单化,在现实应用中具有重要的意义。本文针对远程自动测试技术提出了一种新的方案,同时对于数据部分我们结合着最新的云存储技术,对每个用户都能建立一个自己的私有库进行处理,能够很好的将数据进行管理。本文采取的设计模式大大简化了后期的学习时间,同时增强了数据的处理能力。

[1]HURLEY W G,LEE C K.Development,Implementation,and Assessment of a Web-Based Power Electronics Laboratory[J].IEEE Transactions on Education,2005,48(4):567-573.

[2]RESTIVO M T,MENDES J.A Remote Laboratory in Engineering Measurement[J].IEEE Transactions on Industrial and Electronics,2009,56(12):4836-4843.

[3]田雪咏,常天庆,史少华.基于多Agent的自动测试系统测试仪器模型设计[J].自动化与仪表,2011(4):14-16.

[4]陈小红.虚拟实验室的研究现状及其发展趋势[J].中国现代教育装备,2010(17):107-109.

[5]CHANDRA J A P,VENUGOPAL C R.Novel Design Solutions for Remote Access,Acquire and Control of Laboratory Experiments on DC Machines[J].IEEE Transactions on Instrumentation and measurement,2012,61(2):349-357.

[6]HE Zhi-yong,GE Jian-hua,GENG Shu-jian,WANG Gang.An Improved Look-Up Table Predistortion Technique for HPA With Memory Effects in OFDM Systems[J].IEEE Transactions on Broadcasting 2005:1-5.

[7]田耕,阮林波,渠红光.基于VISA技术的自动测试软件研制[J].核电子学与探测技术,2009,29(6):1397-1400.

[8]HUANG Jing,QIAO Lei-ling,ZHANG Han-bo.Research of Automatic Digital Multimeter Interface Technology based on UART[C]// 2012 Third International Conference on Networking and Distributed Computing,ZheJiang,2012:108-110.

[9]LI Jian-min,ZHENG Bin,WEN Hou.Design of Supervision Software for Programmable Power Supply Based on Virtual Instrument Development Environment[C]//2009 World Congress on Computer Science and Information Engineering USA,2009:301-305.

[10]GU Gen-qiang,LI Qing-chun,WEN Xiao-long.An Overview of Newly Open-Source Cloud Storage Platforms[C]//2012 IEEE International Conference on Granular Computing,ZheJiang,2012:142-147.

[11]LIU Yi-meng,WANG Yi-zhi,JIN Yi.Research on the Improvement of MongoDB Auto-Sharding in cloud environment[C]//2012 7th International Conference on Computer Science and Education,Australia,2012:851-854.

猜你喜欢
自动测试后台底层
航天企业提升采购能力的底层逻辑
Wu Fenghua:Yueju Opera Artist
JXG-50S型相敏轨道电路接收器自动测试台
关于某型雷达自动测试系统的几点认识和建议
后台暗恋
后台朋友
基于ATE与BIT组合的NAMP自动测试与故障诊断系统设计
后台的风景
一种卫星低频接口自动测试系统
回到现实底层与悲悯情怀