基于虚拟仪器开发软件平台怎么来实现普通数据采集卡的设计

  虚拟仪器技术是20世纪90年代发展起来的一种新技术,融计算机和总线技术、微电子技术、测量技术于一身,它是对传统仪器的重大突破,是计算机技术与仪器技术相结合的产物。它利用计算机系统的强大功能,结合相应的硬件,大大突破传统仪器在数据处理、显示和存储以及系统维护和扩展等方面的限制。虚拟仪器的众多优点使其得到了广泛的应用,然而当今著名的虚拟仪器开发软件(如LabVIEW等)只能支持NI公司生产的数据采集卡,而不能直接驱动普通的数据采集卡。本文重点研究了在虚拟仪器开发软件平台LabVIEW下使用普通数据采集卡的方法。

  LabVIEW是美国NI公司推出的一种基于G语言(Graphics Language),即图形化编程语言的虚拟仪器软件开发工具,具有强大的数据采集功能,通常只支持NI公司的数据采集卡,而这些卡的价格相对较昂贵。因此,为了能在LabVIEW平台上驱动普通的数据采集卡,用户一定要通过LabVIEW所提供的调用库函数节点(call Library Function Node,CLFN)及代码接口节点(Code Interface Node,CIN)等功能,将功能强大、编程灵活、而且已有很多现成程序模块的C语言同Lab-VIEW中编程直观方便的图形化G语言结合起来,以此来实现用普通的数据采集卡来采集数据的功能,使LabVIEW在对硬件的支持上有了一个质的飞跃。

  在LabVIEW中利用CLFN节点可以较容易地实现访问动态链接库(DLL),而且在购买数据采集卡的时,厂商一般会给用户更好的提供动态链接库。所以研究在LabVIEW平台下调用动态链接库驱动普通的数据采集卡来实现数据采集更具有普遍性。

  动态链接是一种应用程序在运行时与库文件连接起来的技术。动态链接库(DLL)是一个可以多方共享的程序模块,提供函数供Windows应用程序或其他的动态链接函数库直接或间接调用,只有在别的模块中调用了它的某个函数以后才发生作用。它是在应用程序运行时被装入和链接的,而不是把库代码复制到应用程序中,只是在程序中记录了函数的入口点和接口。动态链接库独立于编程语言,因此LabVIEW可以调用用大多数语言(如VisualC++,C++ Builder等)编写生成的动态链接库。在调用DLL的函数时,必须知道以下4个信息:函数返回的数据类型,函数调用的方式,函数的参数及类型,DLL库文件的位置等。

  通过对Call Library Function Node的配置能轻松实现DLL的调用,关键要了解被调用的函数名称、功能及其输入/输出参数。配置节点的目的是指定DLL模块中与LabVIEW数据交换的相应驱动函数。调用Call Library Function模块,双击此模块,在弹出CLF对话框中进行节点配置,CLF函数配置对线。第一个参数“库名或路径”,填入需要调用的动态链接库文件的名字和路径。第二个参数“函数名”,是链接库中要调用的函数名称。当在库名或路径栏中设定了DLL的路径后,在函数名下拉框中就能够正常的看到该动态链接库所包含的所有函数名。第三个参数“调用规范”,此栏中可设为该动态链接库是标准WINAPI调用还是普通的C调用。一般来说,都采用C调用,但是对于API调用则一定要选择stdeall(WINAPI),最后一个必须要格外注意的参数选项是线程安全选择,此栏中可以再一次进行选择DLL是不是能够被重入调用,默认情况是在UI线程中运行,即该动态链接库只能在User Interrace Thread下运行。如果动态链接库中被调用的函数返回时间非常长,那么就会导致LabVIEW不能执行UI线程中的其他任务,因此界面反应可能会很慢,甚至停止。这时候最好把它设为重入,若设置为重人,则该动态链接库可以由多个线程同时调用,但前提是一定要保证该DLL能被多个线程同时安全调用。

  在参数配置菜单下设置函数的返回值类型和输入参数。对话框右侧对应每一个参数的参数名称、类型、数据类型、参数传递方式。其中,必须要格外注意的是数据类型选项,在不同的编译平台下,数据类型的定义名称是不一样的。为了将数据类型一一对应,在LabVIEW中必须对数据类型名称定义进行转换。

  以北京优采公司的UA301A型A/D数据采集卡为例,该采集卡在LabVIEW平台下不能直接被驱动。该采集卡提供了一个动态链接库ua300a.dll,此动态链接库中提供了许多简洁高效的采集和控制函数,支持UA301A采集器的各种功能。

  UA301A为12位的A/D卡,系统中采用的是双极性输入信号和双极性原码的编码方法。转换的结果为二进制数,转换后得到0~4 095的数字量。为了直观表示被测物理量,需将转换后的数字量变换为具有实际工程意义的数值。当单极性信号输入时,模拟电压值V与数字量D的对应关系可描述为:V=D/4 095×10;当输入信号为双极性时,两者的对应关系为:V=(D-2 048)/4 095×10。这个转换过程在驱动设计中可采用Case结构来完成,把选择输入信号为单极性还是双极性作为这个Case结构的布尔值输入。数据采集驱动程序框图如图2所示。

  对于LabVIEW与DLL函数之间传递数组类型数据,无论采用何种数组格式进行传递,都需要在Lab-VIEW中为数组预先分配空间,也就是给该数组开辟缓存,不然会导致程序崩溃。该程序在采集数据前预先为其初始化一个二维数组空间,为了使采集到的数据在数组中的位置始终对应于采样的每一通道,初始化数组空间时设置每通道采样点数为行,采集通道数为列,这样数据从采集卡FIFO存入缓存时,每一列对应每一通道的数据,省去了后续通过循环索引出各通道数据的繁琐。

  为了实现数据的连续采集,系统应保持在循环状态,设计中采用WhiIe循环来实现这一功能,但是Lab-VIEW在执行While循环时,若用户没有给它设定循环时间间隔,则它将以CPU的极限速度运行。这样有几率会使整个LabVIEW程序看上去像死机一样,所以要给While循环加上一个指定的时间间隔。在采集前首先设置采样通道、采样频率、采样点数、增益和数据传输方式等参数,该接口驱动的前面板见图3。

  由此能够准确的看出,在LabVIEW中调用动态链接库函数,来驱动普通数据采集卡的技术,显示出了Lab-VIEW强大的外部程序接口能力。应用此方法设计数据采集系统一方面可充分的利用LabVIEW的界面友好、图形显示和虚拟仪器强大的开发功能等优点;另一方面又能大幅度的降低系统的开发成本,可以使LabVIEW在对硬件的支持上有一个质的飞跃。通过LabVIEW的外部程序接口CLF节点访问动态链接库来调用Windows标准库函数,使得LabVIEW支持的数据采集板卡范围突破了限制,同时也为Lab-VIEW访问底层函数提供了一种新的思路。

  下一篇:基于FPGA芯片EP1c3T144和开发平台实现虚拟仪器接口设计

  随着人们对居住环境的舒适度、便捷性和安全性需求的日益提高,智能家居系统应运而生。智能家居系统的核心功能是实现家用设备正常运行状况的实时监测和传输,最重要的包含:安全防盗报警;火警、水电、煤气泄漏等实时监测和自动报警;室内温度、湿度、灯光自动调节和遥控等 。因此采集和传输各种设备的运行信息是保证智能家居系统正常运行的关键。MB90F462是Fujitsu公司生产的一款通用16位单片机,最小指令周期仅为62.5m,适用于工业控制和高速实时数据处理等场合;同时,该芯片具有多功能定时器和多脉冲发生器,适用于交流感应电机和直流无刷电机的控制。本文利用MB90F462丰富的片内资源设计了一款智能家居系统的低速数据采集卡。 1系统结构及功能概述 根

  自动气象站体积比较庞大,而且使用时地点和空间会受到地点、空问上的影响。如果借助虚拟仪器技术中易开发、小体积和方便使用等优点,就可通过虚拟仪器替代自动气象站的数据采集器和数据预处理器。 虚拟仪器技术是利用计算机的硬件资源(CPU、存储器、显示器、键盘、鼠标)、标准数字电路(GPIB、RS 232接口总线、新型的VXI接口总线、信号调理和转换电路、图像采集电路、现场总线等),经过有明确的目的性的开发测试,使之成为一套相当于使用者自己专门设计的传统仪器。LabVIEW(laboratory virtual instrumentengineering workbench)是NI(naTIonal instruments)美国国家仪器公司的

  实现气象监测系统的设计 /

  在一些电子部件产品测试时,早先很多生产厂商都使用继电接触控制管理系统。该系统由分立元件组成,由于线路简单,元件控制精度不高,加上抗干扰能力级差,所以运行不够稳定,误动作频繁,使产品的测试和分析不准确。 随着现代工艺的高精度要求,为了适应市场需求,采用可编程控制器对原继电电气控制管理系统进行改造,但由于各PLC厂家硬件模块和软件结构绝大多数都是专用的、互不兼容的,系统各模块间的交互方式、通信机制也各不相同,这使得控制系统相对独立、彼此封闭。随技术的进步和市场之间的竞争的加剧,这种专用体系结构的控制管理系统越来越暴露了其固有的缺陷。由于基于PC平台的软件PLC无需专门的编程器,可充分的利用PC机的软硬件资源,直接采用梯形图或语言编程,具有良好

  引言 故障录波器是提高电力系统安全运作的重要自动装置,当电力系统出现故障或振荡时,能自动记录故障点前后一段时间内各种电气量的变化。参考文献设计的故障录波器采用虚拟软件与数据采集卡相结合的方法,其缺点是必须依靠计算机来进行计算分析,设备移动不方便,而且数据采集卡的价格也比较高,使得产品应用有一定的局限性。参考文献设计的是一种基于DSP和A/D转换器件相结合的故障录波器,所用的A/D转换器件不能同步转换6路信号,所测结果之间有一定的延迟。针对以上缺点,现采用DSP和AD7656相结合的方法,通过外接LCD显示波形和数据,使其可当作手持设备使用,也可连接电脑通过LabWindows/CVI软件在电脑上实时显示,所用的AD7656具有的

  实现故障录波器系统的设计 /

  随着国内经济的持续迅速增加,家具、地板等木制品消费量将急速上升。2003 年,中国木地板销量已跃居世界第一 。虽然我国是地板生产大国,但还不是强国。中国的地板生产企业都会存在问题,如设备落后,人员素质不高,管理不到位,产品质量档次低且不稳定,及在国际市场中没有著名品牌产品。而木板颜色分选是影响木板生产质量的重要工序 。经调查,国内木板分选主要利用人工根据颜色依靠经验判断或者利用滤光片观测进行分选地板,不仅需要耗用大量的人力而且由于人工判断,容易疲劳、花眼,使分选精度低,板色不均匀,所生产的地板质量不高。另外,由于成本的制约,难以增加较多的分选层次。因此,有必要研究一种木板(如竹材、人造板、木材、装饰单板等)颜色自动分选的系统,

  技术的木板自动分选系统 /

  莫仕 (Molex) 旗下 BittWare 公司是企业级 FPGA 加速器产品领域一家领先的供应商,现正式对外发布RFX-8440 数据采集卡,采用了赛灵思公司的 Zynq UltraScale+射频片上系统 (RFSoC) 技术。这种创新性的 PCIe 卡发挥了第三代版本赛灵思 RFSoC 技术的独一无二功能,可充分的利用 6 GHz 以下的整个波谱,代表了 5G、LTE 无线、相控阵雷达和卫星通信的关键性需求。我们鼓励有兴趣的客户马上申请加入早期取得计划。 BittWare 市场副总裁 Craig Petrie 表示:“传感器处理在三十多年来一直都是我们的核心市场之一。FPGA 已经广泛的用于嵌入式应用,以进行实时的数据采集、

  本检测系统通过先进的虚拟仪器技术和LabVIEW 7.0编程,实现了对传统光学测试仪器的控制并利用信号源和NI PCI-6104E多功能采集卡进行激光接收器模拟仿真;该系统能实时地采集和分析相关测试数据,并能显示、保存和打印最终测试结果。由于使用选进的LabVIEW编程开发软件和虚拟仪器技术,该系统成为能自动化检测激光接收器各项参数的综合测试系统。实际的测试结果证明,这种方法实用、方便,测量精度高。 下载文章

  Measurement Computing Corporation(简称:MCC公司)在2017年7月推出全新数据采集卡USB-1808系列。该系列内置18位高精度数据采集模数转换芯片,并提供8通道差分同步采集功能。从目前市场行情上看,如此这般参数的数据采集卡,在市场上的定价必定会在五位数以上。但是MCC公司的数据采集卡却实际做到了超高的性价比,USB-1808系列提供了高低性能两个版本,而价格均在一万人民币内。 软件方面,MCC公司提供了最新的开箱即用的数据采集软件和通用编程库两种选择。用户都能够根据自己的需求,既可以使用开箱即用的数据采集软件DAQami,五分钟快速搭建数据采集系统,也能够最终靠通用编程语言(C, C++

  USB-1808系列 /

  的质量检测机器视觉系统的设计

  TI 中功率音频功放开发软件 PurePath Console 3 详解

  MPS电机研究院 让电机更听话的秘密! 第一站:电机应用知识大考!跟帖赢好礼~

  电源小课堂 从12V电池及供电网络优化的角度分析电动汽车E/E架构的趋势

  日前,福迪威(Fortive)公司 宣布完成对Elektro-Automatik Holding GmbH (EA)公司的收购,加强了公司在精密技术业务平台(Precision ...

  • 带宽超过 50 GHz的高阻抗探测解决方案• 一站式高阻抗探测解决方案提供了高达 52 GHz Brickwall 和 40 GHz Bessel-Thomson ...

  提高垂直分辨率一直是示波器设计者的目标,因为工程师需要测量更精细的信号细节。但是,想获得更高垂直分辨率并不只理论上增加示波器模数转 ...

  数据采集 (DAQ) 指的是测量电压、电流、温度、压力、声音或运动等电气或物理参数的过程。为分析和存储相关信号以供后续处理,我们一定要 ...

  高功率脉冲激光器是许多科学和工程实验的核心技术,在光谱学、计量学、量子信息、原子物理学和材料研究领域中发挥驱动作用。为了可以可靠、 ...

  04-S3C2440u-boot学习之u-boot分析(2)之Makefile结构分析

  下载《基于巨磁(GMR)的Allegro IC》白皮书,赢50元京东卡

  站点相关:信号源与示波器分析仪通信与网络视频测试虚拟仪器高速串行测试嵌入式系统视频教程其他技术综合资讯

其他人还喜欢