当前位置:首页 > 测试测量 > 测试测量
[导读]虚拟仪器是全新概念的仪器,它是对传统仪器概念的重大突破,它的出现开始了仪器发展的全新时代,是仪器领域的一场革命。设计功能强大、高效、集成完美,应用于测试和测控领域的虚拟仪器系统是信息时代的需求。  1

虚拟仪器是全新概念的仪器,它是对传统仪器概念的重大突破,它的出现开始了仪器发展的全新时代,是仪器领域的一场革命。设计功能强大、高效、集成完美,应用于测试和测控领域的虚拟仪器系统是信息时代的需求。

  1 虚拟仪器系统的构成

  虚拟仪器由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口可以是各种以PC为基础的内置功能插卡、通用接口总线接口卡、串行口、VXI总线仪器接口等设备,或者是其它各种可程控的外置测试设备,设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通讯,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作元素相对应的各种控件。用户用鼠标操作虚拟仪器的面板就如同操作真实仪器一样真实与方便。

  1.1 虚拟仪器系统的硬件构成

  虚拟仪器的硬件系统一般分为计算机硬件平台和测控功能硬件。计算机硬件平台可以是各种类型的计算机,如台式计算机、便携式计算机、工作站、嵌入式计算机等。它管理着虚拟仪器的软件资源,是虚拟仪器的硬件基础。因此,计算机技术在显示、存储能力、处理器性能、网络、总线标准等方面的发展,导致了虚拟仪器系统的快速发展。

  按照测控功能硬件的不同,VI可分为DAQ、GPIB、VXI、PXI和串口总线五种标准体系结构,它们主要完成被测输入信号的采集、放大、模/数转换。

  1.2 虚拟仪器系统的软件构成

  测试软件是虚拟仪器的主心骨。NI公司在提出虚拟仪器概念并推出第一批实用成果时,就用软件就是仪器来表达虚拟仪器的特征,强调软件在虚拟仪器中的重要位置。NI公司从一开始就推出丰富而又简洁的虚拟仪器开发软件。使用者可以根据不同的测试任务,在虚拟仪器开发软件的提示下编制不同的测试软件,来实现当代科学技术复杂的测试任务。在虚拟仪器系统中用灵活强大的计算机软件代替传统仪器的某些硬件,特别是系统中应用计算机直接参与测试信号的产生和测量特性的分析,使仪器中的一些硬件甚至整个仪器从系统中消失,而由计算机的软硬件资源来完成它们的功能。虚拟仪器测试系统的软件主要分为以下四部分。

  1.2.1仪器面板控制软件

  仪器面板控制软件即测试管理层,是用户与仪器之间交流信息的纽带。利用计算机强大的图形化编程环境,使用可视化的技术,从控制模块上选择你所需要的对象,放在虚拟仪器的前面板上。

  1.2.2 数据分析处理软件

  利用计算机强大的计算能力和虚拟仪器开发软件功能强大的函数库可以极大提高虚拟仪器系统的数据分析处理能力,节省开发时间。

  1.2.3 仪器驱动软件

  虚拟仪器驱动程序是处理与特定仪器进行控制通信的一种软件。仪器驱动器与通信接口及使用开发环境相联系,它提供一种高级的、抽象的仪器映像,它还能提供特定的使用开发环境信息。仪器驱动器是虚拟仪器的核心,是用户完成对仪器硬件控制的纽带和桥梁。虚拟仪器驱动程序的核心是驱动程序函数/VI集,函数/VI是指组成驱动的模块化子程序。驱动程序一般分为两层,底层是仪器的基本操作,如初始化仪器配置仪器输入参数、收发数据、查看仪器状态等。高层是应用函数/VI层,它根据具体测量要求调用底层的函数/VI。

  1.2.4 通用I/O接口软件

  在虚拟仪器系统中,I/O接口软件作为虚拟仪器系统软件结构中承上启下的一层,其模块化与标准化越来越重要。VXI总线即插即用联盟,为其制定了标准,提出了自底向上的I/O接口软件模型即VISA。作为通用I/O标准,VISA具有与仪器硬件接口无关性的特点, 即这种软件结构是面向器件功能而不是面向接口总线的。应用工程师为带GPIB接口仪器所写的软件,也可以于VXI系统或具有RS232接口的设备上,这样不但大大缩短了应用程序的开发周期,而且彻底改变了测试软件开发的方式和手段。

  2 虚拟仪器系统软面板的设计标准

  虚拟仪器软面板是用户用来操作仪器,与仪器进行通信,输入参数设置,输出结果显示的用户接口。其设计准则是:

  (1) 按照VPP规范设计软面板,使面板具有标准化、开放性、可移植性。

  (2) 根据测试要求确定仪器功能。根据测试任务确定仪器软面板具体测试、测量功能,开关、控制等设置要求。

  (3) 用面向对象的设计方法设计软面板。按照面向对象的设计思想,一个虚拟仪器集成系统由多个虚拟仪器组成,每个虚拟仪器均由软面板控制。软面板由大量的虚拟控件组成。

  3 虚拟仪器系统的组建方案

  在虚拟仪器系统的组建方案,主要包括底层硬件、软硬件接口、应用程序以及驱动程序的设计与开发。

  3.1 制定所设计仪器的接口形式

  如果仪器设备具有RS-232串行接口,则直接用连线将仪器设备和计算机的RS-232串行口连接即可。如果是GPIB接口,需要额外配备一块GPIB-488接口板,将接口板插入计算机的ISA插槽,建立起计算机与仪器设备之间的通信桥梁。如果使用计算机来控制VXI总线设备,则需要配置一块GPIB接口卡,通过GPIB 总线与VXI主机箱零槽模块通信。零槽模块的GPIB-VXI翻译器将GPIB 的命令翻译成VXI命令并把各模块返回的数据以一定的格式传回主控计算机。DAQ数据采集卡是基于计算机标准总线的,因此可以将数据采集卡直接插到计算机的插槽上。

  3.2 开发硬件采集卡

  一种典型的数据采集卡组成包括,先用传感器把非电的物理量转变成模拟电量,采样/保持器可以保持信号,实现对瞬时信号进行采集,以便ADC进行数字转换,提高ADC转换器的转换精度。实现在测量中同时对多路模拟信号进行采样。多路模拟开关可以分时选通来自多个输入通道的某一路信号,这样在多路开关后的单元电路,只需一套即可,也可以采用计算机进行多路选择控制。当传感器输出的信号比较小,可以用放大器放大和缓冲输入信号,如果采用的是可编程增益放大器就可以通过计算机进行增益选择控制确定增益倍数。精度及性能是仪器系统的生命,而这完全依赖于提供基础数据的信号采集控制电路,因此在硬件采集电路的设计时,需根据所设计的虚拟仪器所要达到的性能指标和被测信号的特点,设计合理的系统结构。系统的结构合理与否,对系统的可靠性、性能价格比等有直接影响,在硬件和软件功能的设计上要尽量使虚拟仪器的结构简单,可靠性高,成本低廉,选用合适的单元器件,尽可能的提高采集卡采集的精度和速度。

  3.3 确定设计采集卡的设备驱动程序方案

  采集卡的设备驱动程序是控制各种硬件采集卡的驱动程序,是连接主控计算机与信号采集调理部件的纽带。驱动程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集,它是虚拟仪器核心软件之一。

  3.4 确定虚拟仪器系统应用程序编程语言

  虚拟仪器系统软件结构的设计在体现整个系统的性能和灵活性方面作用很大,因此在开发虚拟仪器系统的软件部分时,首先要根据所开发的虚拟仪器功能和性能,确定应用程序和软面板程序的模块结构和功能,画出各部分的流程图,采用合适的编程语言。在编制虚拟仪器软件中可采用两种编程方法。一种是采用面向对象的可视化的高级编程语言,如VC++、VB和Delphi等编写虚拟仪器的软件,这种方法实现的系统灵活性高,易于扩充和升级维护。另一种是采用图形化编程方法,如LabVIEW,HPVEE,采用图形化编程的优势是软件开发周期短、编程较简单,特别适合工程技术人员使用。总之在编写程序时,要尽可能的让每一模块都有一定的独立性,模块之间明确定义接口,模块之间可以采用数据传递的形式进行联系。

  3.5 软件调试和运行

  程序编写好以后要对各模块进行调试和运行,可以通过采集各种标准信号来验证虚拟仪器系统功能的正确性和性能的优良性。

  4 结束语

  本文研究了虚拟仪器系统的设计方案,主要包括了虚拟仪器系统的构成,虚拟仪器系统软面板的设计标准、以及虚拟仪器系统的组建方案,用虚拟仪器技术组建的系统,更加灵活、更紧凑、更经济、功能更强大。无论是测量、测试、计量或是工业过程控制和分析处理,还是其它更为广泛的测控领域,设计虚拟仪器系统都是理想的、高效率的解决方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘 要:从硬件与软件方面介绍了基于PXI技术的1553B总线通讯模块的设计,并对PXI总线接口设计、驱动程序的开发、 SDRAM存储器的控制和1553B总线通信协议实现等关键技术进行了详细的阐述,为航空领域测控系统开发P...

关键字: PXI技术 驱动程序 SDRAM存储器 1553B总线

星标/置顶 公众号,硬核文章第一时间送达!链接| https://zhuanlan.zhihu.com/p/274473971题很多,先上题后上答案,便于大家思考问题点:1、C和C的特点与区别?2、C的多态3、虚函数实现...

关键字: 腾讯 函数 进程 AI

程序接口是操作系统为用户提供的两类接口之一,编程人员在程序中通过程序接口来请求操作系统提供服务。面向过程语言最基本的单元是过程和函数。

关键字: 程序接口 过程 函数

PnP全称Plug-and-Play,译文为即插即用。PnP的作用是自动配置低层计算机中的板卡和其他设备,然后告诉对应设备都做了什么。PnP的任务是把物理设备和软件设备驱动程序相配合,并操作设备,在每个设备和它的驱动程序...

关键字: PnP 驱动程序 操作设备

星标「嵌入式大杂烩」,一起进步!链接:https://www.cnblogs.com/jozochen/p/8541714.html一、问题复现稳定复现问题才能正确的对问题进行定位、解决以及验证。一般来说,越容易复现的问...

关键字: 嵌入式开发 函数 代码 寄存器

基本上,没有人会将大段的C语言代码全部塞入main()函数。更好的做法是按照复用率高、耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数。C语言代码的组合千变万化,因此函数的功能可能会比较复杂,不同的输入,常...

关键字: 函数 PEN C语言代码 C语言程序

Part1一、让自己习惯C条款01:视C为一个语言联邦C并不是一个带有一组守则的一体语言:他是从四个次语言(C、Object-OrientedC、Template、STL) 组成的联邦政府,每个次语言都有自己的规约。记住...

关键字: TI 函数 ASPECT 编译器

为什么会写篇栈变化的文章?做系统分析的话你肯定遇到过一些crash,oops等棘手问题,一般大家都会用gdb,objdump或者addr2line等工具分析pc位置来定位出错的地方。但是这些分析工具背后的本质原理就不见得...

关键字: 函数 ARM C语言 AI

前言:一转眼从事前端已经6年了,从当时的小白到如今大厂的技术专家,中间也走过不少弯路,从今天开始我会持续更新前端技术文章,并且整体的文章会进行体系梳理,整个知识体系分为:基础精讲,框架讲解,框架及工具原理,前端面试题精讲...

关键字: 函数 GE FUNCTION APP

作 者:道哥,10年嵌入式开发老兵,专注于:C/C、嵌入式、Linux。关注下方公众号,回复【书籍】,获取Linux、嵌入式领域经典书籍;回复【PDF】,获取所有原创文章(PDF格式)。目录kill命令和信号使用kill...

关键字: 信号 应用程序 驱动程序

测试测量

28648 篇文章

关注

发布文章

编辑精选

技术子站

关闭