虚拟示波器开发平台对比研究

2015-02-19 00:39:53于文波徐立波郭新宁
浙江交通职业技术学院学报 2015年1期
关键词:示波器虚拟仪器

于文波,于 洋,徐立波,于 佳,郭新宁

(1.沈阳工程学院 电力学院,沈阳 110136;2.沈阳工程学院 计算机基础教学部,沈阳 110136)

虚拟示波器开发平台对比研究

于文波1,于洋1,徐立波2,于佳1,郭新宁2

(1.沈阳工程学院 电力学院,沈阳110136;2.沈阳工程学院 计算机基础教学部,沈阳110136)

摘要:虚拟示波器是一种虚拟仪器,由硬件和软件构成,能够完成数据采集、波形显示、信号分析处理及波形存储回放等功能。介绍了虚拟示波器软件开发平台的现状和存在的问题,详细的阐述了LabVIEW、LabWindows/CVI、Matlab、VisualBasic、VC++、Android、Java等7个开发平台的功能及特点,展望了虚拟示波器开发平台的发展前景,对不同的平台进行了对比分析,可方便研发者快速找到适合自己的开发平台。

关键词:虚拟仪器;示波器;开发平台 ;LabVIEW

0引言

随着计算机技术和软件技术的高速发展,虚拟仪器在处理方面、智能化方面以及性价比方面与传统仪器相比有着巨大的优势。虚拟示波器是实验室常用的虚拟仪器,选用合理的平台开发一款功能完善、精准度高、高性价比的虚拟示波器对于提升科研研发速度与降低科研成本具有重大的意义。虚拟示波器更新换代较快,如何选好一个虚拟示波器的研发平台是多数开发者面临的普遍问题。一个适合自己的虚拟示波器开发平台有利于产品的开发与研究,亦可缩短研发周期。

1虚拟示波器开发平台现状与存在的问题

1.1虚拟示波器的结构

虚拟示波器是一种以计算机技术为平台与仪器硬件相结合组成的测量平台,它主要由数据采集系统、计算机、应用软件三部分组成。数据采集系统顾名思义是采集数据的,它主要靠硬件来采集数据,它采集数据的精度与硬件设备性能有着密切的关系;计算机是用户主要的工作界面,用户通过计算机来发布指令和查看输出结果;应用软件是虚拟示波器的核心,它将数据采集系统和计算机进行连接。虚拟示波器的好坏很大一部分取决于应用软件编写。故要研发出一个性能好的应用软件就需要一个适合开发者自身的开发平台。

1.2虚拟示波器开发平台现状

虚拟仪器是以计算机技术为基础形成的新型仪器,它利用计算机高性能的硬件来完成大量的数据计算和构建强大的图形环境。通过软件的设计,用户可根据自己的需求来定义和设计虚拟仪器的功能,以便设计者对被测量的物品进行采集、判断、分析、数据显示及数据的储存和生成。虚拟仪器的出现改变了传统仪器的概念及其模式。据“世界仪表与自动化”杂志显示,截止到21世纪中叶,虚拟仪器的市场占有率达到电测仪器的50%。这一数据说明了虚拟仪器不仅成为电测行业的发展方向,而且虚拟仪器会逐步取代传统的硬件仪器。随着计算机、通信、电子技术的发展,越来越多的厂家看好了虚拟仪器这一市场。目前虚拟仪器主要应用在测量方面、监控方面、工程处理、远程教育以及报表生成技术上。特别是在教育行业的推动下,这样具有先进技术含量的虚拟仪器自然成为科研者研究的对象。

随着虚拟仪器技术的发展,以虚拟示波器为代表的虚拟仪器开发平台也得到了更新换代。最先出现能编译虚拟示波器的是VB,但是VB是由文字语言编译的,很不方便,所以应用很少。之后NI公司发布了LabVIEW软件,LabVIEW软件是通过图形语言进行编译的,非常直观的反映程序的顺序与功能,操作与编译简单并能够结合Matlab软件,故一直沿用至今。Android作为新兴的开发平台,有着大量的新用户,但是技术还不成熟,有待发展。

1.3虚拟示波器开发平台存在的问题

自1986年美国仪器公司(National Instruments corp,NI)提出虚拟仪器的概念至今已有将近30年,虚拟仪器技术飞速发展。虚拟仪器重要代表之一虚拟示波器也得到更新换代,就其开发平台而言仍然存在着很多问题。

一是硬件与软件数据转换的问题。采集数据需要从虚拟示波器数据采集系统获取,但是软件与硬件数据转换是需要一定的算法来计算的。随着时代的发展,人们对数据精准度要求越来越高,如何找到一个更精准的算法是虚拟示波器开发平台的迫切需求。

二是兼容问题。随着用户需求增加,虚拟示波器往往需要增加一些最新的器件,例如协议分析仪、逻辑分析仪、数字电压电流表等等,如何通过虚拟示波器平台来替换旧设备或者添加新的功能并保证设备能够正常运行,也需要研发与制定相关规则。

三是用户操作界面的问题。经过多年的发展,UI得到了很好的发展与补充,但如何能让非专业人员快速熟悉较早使用,对于虚拟示波器的普及与发展也至关重要。

2虚拟示波器的常用开发平台

2.1LabVIEW开发平台

LabVIEW是一个叫做杰夫·考度斯基(Jeff Kodosky)发明的,隶属美国国家仪器公司。早期是为了仪器自动控制,经过20多年的发展逐渐成为一种高级成熟的编程语言[1]。LabVIEW引用虚拟仪表的概念,使研发人员通过面板进行开发使用。此外LabVIEW还提供信号截取与分析、数据的逻辑运算、声音波动分析等功能。目前LabVIEW支持大部分主流系统包括Windows、Linux、Mac OS、Unix等。LabVIEW语言又称G语言,是一种数据流编程语言,研发人员可以将各个不同功能的节点通过绘制导线的方式,决定程序的执行顺序与功能。

编制虚拟示波器程序时需要实现数据采集、信号处理、波形显示、波形存储和回放等功能。信号的采取利用PCI、USB、DAQ等硬件来收集,收集的信号经过信号处理模块,将信号进行放大和滤波处理,通过前面板上的旋钮与开关调试,最终形成所需要的实验结果。

2.2LabWindows/CVI开发平台

LabWindows/CVI由美国国家仪器公司研发的交互式C语言开发平台,可以将C语言与专业测控平台与数据分析平台相结合,利用交互式编程方法和丰富的函数库等大大增强C语言功能,为熟悉C语言的研发者提供一个理想的开发环境[2]。

LabWindows/CVI编写的虚拟示波器利用多线程技术的数据管理机制。操作系统可以单个数据提供单独的CPU时间片,操作系统为每个数据采集线程提供单独的时间片,并且可以频繁切换,运用多线程的优势管理多个数据。

2.3Matlab

Matlab是一种高级技术计算语言,具有算法开发、数据分析、数据计算、数据可视化等功能。尽管Matlab主要应用于计算,但是扩展工具箱功能繁多,可以适应其他领域,例如信号处理与通讯、控制系统设计与分析等[3],同时还有配套软件Simulink提供开发环境,提供研发者进行编译。

基于Matlab设计的虚拟示波器可以充分利用Matlab软件进行数据分析功能,不仅方便需要大量数据分析的实验研究,也为控制系统设计分析提供优化途径。Matlab软件将硬件收集的信息通过工具箱中的函数来完成,通过画图程序将数据呈现出来。

2.4VisualBasic开发平台

VisualBasic是由微软公司开发包含协助开发环境,它是源于Basic编程语言。VB有图形用户界面和快速应用程序开发系统,程序可以使用DAO、RDO、ADO连接数据库,或者创建ActiveX控件。VB有着良好的界面程序,是一款很好的入门软件,但是不适合开发复杂繁重的运算程序。

VB无法单独开发虚拟示波器,需要与LabVIEW等软件相结合,在数据处理、数据分析方面补足其他软件无法睥睨的计算与分析能力,共同开发一款具有强大测控功能的软件系统。

2.5VisualC++开发平台

VisualC++是Microsoft公司推出的Win32环境程序,VisualC++有集成的开发环境,特别是整合Windows API、Miscrosoft.net框架和DirectX API等,并且可以允许用户进行调试和单步调试,在编写大软件程序时有明显的优势[4]。

基于VisualC++的虚拟示波器,还是由硬件来采集数据,通过Modbus协议软件包来实现智能的I/O的信息交换,之后可以将数据在WM Paint消息处理函数ONPaint绘制完成。

2.6Android开发平台

安卓是基于LINUX源代码开发的移动操作系统。安卓是由安迪·鲁宾(Andy Rubin)等人开发,目的是创建数码相机的智能系统,但后来相机市场需求不够大,加上智能收集市场高速发展[5],在2005年由Google收购,改造成智能手机操作系统。

安卓开发的虚拟示波器,它的优势是可移植性好,可以在大多安卓平台运行。通过Usb数据通信将数据储存到SD卡中,再经过设计的软件对波形进行放大、缩小、平移等操作,并且通过JNI方式实现滤波功能,最终将图像展现在移动设备上。

2.7Java开发平台

Java是一种与VC++相似的计算机编程语言,它是由太阳微系统的詹姆斯·高斯林设计的雏形。Java本打算应用于小的家用电器上,但是后来没有市场预期那么高。1990年Sun公司看到互联网的前景后将Java改造,在1995年正式成为正式的网络编程语言。

Java示波器基本都是网络化的虚拟示波器,主要以网络作为信息传递载体,将数据传输到本地并显示出来,用户可以通过一个类似Java中的Canvas控制面板弹出的属性窗口来更改面板属性,同时通过ploty绘出波形图。

上述的7种虚拟示波器开发平台是主流开发平台,除此之外还有一些不常见的开发系统如SPOC、Qt/Embedded等等,在这里就不一一介绍。

3虚拟示波器开发平台的对比分析

市场上的诸多编写软件,各有各的优缺点,如何选择一款适合的开发平台尤为重要。虚拟示波器开发平台优缺点对比分析如表1所示[6]。LabVIEW虽然是最受欢迎的编写软件,但是也有一些不足。首先LabVIEW前期投入成本过大,不仅需要资金,还需要学习程序编写,没有模拟示波器方便,而且为了提高仪器精准度,必须购买NI公司昂贵的硬件设备。LabWindows利用多线程的处理方式,不仅可以避免单元故障长时间占用 CPU的问题,提高软件安全性和运行效率,而且可以实现软件模块化,提升平台的维护性。但是因为LabWindows是基于C语言的,所以开发困难。Matlab软件无法单独使用,必须依靠Labview等程序,所以Matlab缺点包含LabVIEW的缺点。VB尽管有着良好的视窗,编写入门简单,但是编译语言是文字语言,远不如LabVIEW图形化语言直观简便。VisualC++最大优点是允许调试和分步运行,可检测编写错误,提高程序编写效率,但是因为是采用VC文字语言,开发速度慢,要求专业的C语言程序员。Android因为是移动平台,所以硬件性能是最致命的缺陷,加上Android还不够成熟,所以现在还赶不上主流的平台。

表1 虚拟示波器开发平台优缺点对比表

4虚拟示波器开发平台的发展趋势

虚拟仪器的高速发展,即将取代传统领域的各类模拟测量仪器,加上网络通信技术的高速发展,虚拟仪器必将网络化。虚拟仪器技术与通信技术相结合,研发者可以在任何时间、任何地点取得测试数据。对应着虚拟仪器的发展,编写平台软件也将得到大量功能上的跟新。最值得一提的是Android系统,安卓成为当今最大的移动智能平台,有着其他编写系统无法超越的使用人数。如果产品投入使用,使用者可能只需要一部手机来完成实验结果的测量与分析。随着移动产品网络化覆盖,Android必将成为以后主流的编写平台。在远程教学中,虚拟仪器起到了无法替代的作用。远端学员借助网络在任意时间与地点进行虚拟仪器实验和学习。同时中心实验室的虚拟仪器系统与远端学员计算机虚拟仪器系统通过Internet连接,只需要发送少量的数据就可以使网络虚拟仪器系统的建立,方便远程教学。

虚拟仪器也可以应用于航空航天、军事企业、汽车工程、电力工程、地质勘探和生物医疗等行业。例如,在汽车工程中,DAQ板虚拟仪器系统以PC基础,不仅可实现虚拟化过程监控和控制,也可以进行远程监控和数据采集。在航空航天中,虚拟仪器可以模拟工作环境,进行噪声测试、发动机功能测试、飞行控制系统测试。

5结语

虚拟示波器是基于计算机平台与仪器硬件相结合来完成信号处理和波形显示的测量平台,能够实现比传统仪器更多功能的虚拟仪器。性能良好的虚拟示波器将由优秀的开发平台支撑,开发平台的发展状况必将制约着虚拟示波器的发展,好的开发平台能够加快虚拟示波器的研发与发展。在实际应用中,恰当的选择开发平台尤为重要,也可以将各个平台有机的结合,开发出性能优良的虚拟示波器,对于虚拟仪器行业的发展将起到不可忽视的作用。

参考文献:

[1]苏娜.虚拟仪器LabVIEW的发展与应用[J].计算机光盘软件与应用,2013,(23):131-132.

[2]张红光,李正明.基于LabWindows/CVI的虚拟示波器研究与设计[J].现代电子技术,2013,36(9):168-170.

[3]罗彬,曾岳南,张雪群.基于MATLAB的虚拟示波器设计[J].仪器仪表用户,2006,(4):107-109.

[4]李同立.基于VC++的虚拟示波器软件设计[D].软件导刊,2013,(11):56-59.

[5]王升.基于Android平台的虚拟示波器开发[D].哈尔滨:哈尔滨理工大学,2014.

[6]王海龙.虚拟示波器开发软件的比较[J].电子世界,2014,(5):121-122.

Comparative Study of the Development Platform of

Virtual Oscilloscope

YU Wen-bo1,YU Yang1,XU Li-bo2YU Jia1, GUO Xin-ning2

(1.College of Electric Power,Shenyang Institute of Engineering,Shenyang 110136, China;

2.Computer Science Teaching Department,Shenyang Institute of Engineering,Shenyang 110136, China)

Abstract:The virtual oscilloscope is a kind of virtual instrument, composed of hardware and software. It can complete data acquisition, waveform display, signal processing and waveform storage and playback functions.The paper mainly introduces the current situation of the development platform of virtual oscilloscope and problems. Describes in detail the functions and characteristics of the development platform,it including LabVIEW, LabWindows/CVI, Matlab, VisualBasic, VC++, Android, Java etc.. Looks forward to the development prospect of the development platform of virtual oscilloscope. It gives a comparative a nalysis of different platforms. To facilitate developers to quickly find suitable for their own development platform.

Key words:virtual instrument;oscilloscope;development platform;labVIEW

浙江交通职业技术学院学报,第16卷第1期,2015年3月

Journal of Zhejiang Institute of Communications

Vol.16 No.1,Mar.2015

作者简介:程文(1989-),女,湖北随州人,助教,硕士,E-mail:chengw@zjvtit.edu.cn。

收稿日期:2015-01-27

文章编号:1671-234X(2015)01-0038-04

中图分类号:TM13;TP393?

文献标识码:A doi:10.3969/j.issn.1671-234X.2015.01.009

猜你喜欢
示波器虚拟仪器
基于LabWindows/CVI与TekVISA的Tek示波器远程测控软件设计
测控技术(2018年2期)2018-12-09 09:01:00
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
电子制作(2017年13期)2017-12-15 09:00:26
一款教学示波器的Y通道设计与实现
电子制作(2017年13期)2017-12-15 09:00:08
虚拟仪器及其在电工电子实验中的应用
电子制作(2017年1期)2017-05-17 03:54:33
可携带式虚拟双踪示波器
电子制作(2017年20期)2017-04-26 06:57:46
一种基于虚拟仪器的电控柴油机实验台的设计
电子制作(2017年9期)2017-04-17 03:00:35
虚拟仪器技术在农业装备测控中的应用
基于虚拟仪器的DMFC实时监控系统
电源技术(2016年9期)2016-02-27 09:05:28
基于FPGA的手持式示波器的设计与实现
虚拟仪器在三相不平衡度测量中的应用研究
电测与仪表(2014年7期)2014-04-04 12:09:38