当前位置:首页 > 测试测量 > 测试测量
[导读]虚拟仪器是现代计算机技术、仪器仪表技术及现代计算机辅助测试(CAT)技术相结合的产物,广泛应用于数据采集和自动测试领域。 Lab VIEW是一种基于图形程序的虚拟仪器编程语言,Lab VIEW程序称为虚拟仪器程序(简称VI)。

虚拟仪器是现代计算机技术、仪器仪表技术及现代计算机辅助测试(CAT)技术相结合的产物,广泛应用于数据采集和自动测试领域。

Lab VIEW是一种基于图形程序的虚拟仪器编程语言,Lab VIEW程序称为虚拟仪器程序(简称VI)。Lab VIEW按照模块化编程思想,将一些特定的测试任务,建立成一系列的VI,然后通过这些VI的组合来构成各种复杂的、功能强大的测试系统。Lab VIEW除了带有各种基本的VI库(GP-IB、VISA、VXI和串行接口仪器的驱动程序等)和功能超强且庞大的分析函数库外,还可以通过调用外部代码实现Lab VIEW比较复杂的接口功能,其中就包括动态链接库调用机制。

动态链接库可采用VB、VC++6.0等高级语言开发,VC++6.0编制动态链接库,首先由AppWizard生成DLL框架,用户自己键入实现各种功能的代码。DLL需要h函数声明文件、C源文件及def定义文件。h文件的作用是声明DLL要实现的函数原型,供DLL编译使用,同时还提供应用程序编译使用。C文件是实现具体文件的源文件,它有一个入口点函数,在DLL被初次调用时运行,完成初始化工作。def文件是DLL项目中比较特殊的文件,用于定义该DLL项目将输出的函数,只有def文件列出的函数才能被应用函数调用,函数名列在该文件EXPORTS的关键字下。

多滚轮法大直径测量的数据采集系统

多滚轮法大直径测量原理结构
滚轮法大直径测量原理结构主要有被测大轴、滚轮、圆光栅、信号调理与接口、计数器及大轴转数测量标记组成。大轴直径计算公式为
D=α*d/2τN
其中,D为被测大轴直径;d为滚轮直径;α为滚轮转动角度;N为大轴转动周数。滚轮采用特殊的结构设计,以减小测量过程中打滑发生的几率。同时通过3个滚轮的冗余测量信号,可辩识出测量过程中的“打滑发生段”,并在进行三滚轮信号合成时,采用有效的数据融合技术,进一步将“打滑段”的信号剔除。通过对接触压力大小与滚轮直径变化的关系作精确标定,测量时根据拟合数学模型对滚轮变形作适时修正,以消除或减小滚轮变形引起的测量误差。为减小温度场不均匀或变化所导致的测量误差,在工件表面布置多个温度传感器,用以监测工件是否进入恒温状态及工件温度的变化和分布情况,以便对该温度场引起的大直径尺寸变化进行修正。用微位移传感器测量大轴表面形状误差,分离出各次谐波,用以修正测得直径,减小形状误差的影响。

数据采集系统组成
多滚轮法大直径测量系统采用的传感器种类和数目均较多,多参数的测量和控制由虚拟仪器测量系统实现,其结构框图如图1所。


图1 数据采集系统框图

光栅数据采集硬件主要由RENISHAW公司的RESR20圆光栅编码器和FAGOR公司的DRO板组成,RESR20圆光栅编码器的角分辨力可达0.01″,分度不确定度为0.5″。RGH20读数头输出4路信号,DRO板对这4路信号进行细分后转换成数字信号输入计算机,完成对圆光栅信号的数据采集。光电传感器的信号由6071E板(该板为NI公司的多功能数据采集板,具有模拟量、数字量采集单元,该板同时用于位移、压力等信号的采集)上的计数器送入计算机,作为数据采集的触发信号。同时为减小数据采集启停引起的误差,通常在大轴转动数周过程中采集光栅信号。在编制采集软件时设置大轴转动周数单元,当大轴转动且计数标记通过光电传感器时,计算机开始采集数据,当大轴转动周数达到预设值时,停止数据采集。

数据采集系统软件设计

6071E多功能采集卡自身带有适用于LabVIEW环境的驱动程序,直接进行设置即可。DRO板必须用VC++编程调用其动态链接库进行初始化,然后将VC++的调用生成动态链接库,由Lab2VIEW调用完成对DRO板的初始化,参数的初始化包括滚压轮标准参数、测试任务参数以及其他环境参数等。初始化结束,计算机检测到触发信号后开始数据采集,数据采集部分同样需要用VC++编程调用DRO板的动态链接库的库函数。圆光栅信号输入计算机后由软件进行数据的处理和存储,当大轴转动周数等于预设值时,停止采集,一次数据采集过程完成。

LabVIEW调用动态链接库,使用LabVIEW功能模板中“Advanced”子模板的“调用库函数(Call Library Function)”结点。实现动态链接库调用步骤如下:

(1)在LabVIEW程序建立“调用库函数结点”。其中“Call Library Function”结点通过选择功能模板“Advanced”子模板的“Call Library Function”功能产生。

(2)配置“调用库函数结点”。双击框图程序窗口的“Call Library Function”结点,在弹出的对话框中对此“调用库函数结点”进行配置。其中:在“LibraryNameor Path”项中键入结点所链接的DLL文件名,它由c源代码编译而来;在“Function Name”项中键入结点相链接的DLL文件中函数的名称;参数“returntype”的类型选择“Void”,并增加所需的其他返回参数。

(3)编辑c源文件。c源文件包括硬件初始化文件和数据采集文件。硬件初始化部分源代码如下:
//FirstInittheBoardConfigandAxisConfigData
BoardConfig.NumberOfAxes=4;
do
{
  printf(“Selectsignaltype(0=TTL,1=1Vpp):”);
  signal_type=getch();
}while((signal_type<‘0’)(signal_type>‘1’));
signal_type=signal_type-‘0’;
//Enteryourownvalues,theseareonlyasample.
for(i=0;i {
  AxisConfigData[i].Resolution=0.005;
  AxisConfigData[i].CountDirection=0;
  AxisConfigData[i].SignalType=signal_type;
  AxisConfigData[i].TTLWaveMultiply=0;
  AxisConfigData[i].SineWaveMultiply=0;
  AxisConfigData[i].MachineErrorComp=0;
  AxisConfigData[i].I0Type=0;
  AxisConfigData[i].EncoderFactor=1000;
  AxisConfigData[i].EncoderOffset=0;
  AxisConfigData[i].ExternalMultiply=1;
}
//CallingtoIniBoardfunction.
if(IniBoard(&BoardConfig,&AxisConfigData[0])==0)
{
  printf(“Errorduringinicialization”);
  exit(0);
}
数据采集部分源代码如下:
//CounterTest
voidCounterTest(void)
{
  ReadAllCounters(&AxisValuesData);
Axis_X=AxisValuesData.AxisDisplayValue[0];
Axis_Y=AxisValuesData.AxisDisplayValue[1];
Axis_Z=AxisValuesData.AxisDisplayValue[2];
Axis_W=AxisValuesData.AxisDisplayValue[3];
printf(“X=%4.4f”,Axis_X);       //PrintthevalueofAxisX
printf(“Y=%4.4f”,Axis_Y);
printf(“Z=%4.4f”,Axis_Z);
printf(“W=%4.4f”,Axis_W);
printf(“”);
}

(4)编译c源代码。将c源文件编译成DLL文件,使用VC++6.0完成。

(5)运行VI。运行由上述步骤生成的LabVIEW程序。

结束语

LabVIEW的外部代码扩展功能是其重要特点之一,调用动态链接库是LabVIEW提供的调用外部代码的4种途径中最通用的一种。可调用标准共享库和用户自定义的库函数,对于不附带LabVIEW驱动程序的硬件尤其具有使用价值。通过调用动态链接库机制可引入C语言的强大功能,确实是一条增强LabVIEW与其它Windows应用程序之间的数据共享能力的良好途径。

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

虚拟仪器是一种基于计算机软件和硬件的仪器系统,能够模拟和实现各种测试、测量和控制功能。在虚拟仪器应用中,准确的测量结果对于实验和生产的准确性和可靠性至关重要。因此,虚拟仪器在应用中需要进行校准以确保其测量结果的精确性和可...

关键字: 虚拟仪器 硬件 计算机软件

虚拟仪器技术是一种基于计算机仿真和虚拟现实技术的创新工具,可以模拟各种真实世界的仪器和设备,并提供沉浸式的体验和交互。本文将详细探讨虚拟仪器技术在各领域的广泛应用与用途,包括科学研究、医疗诊断、工程设计、教育培训等方面。...

关键字: 虚拟仪器 计算机仿真 虚拟现实技术

随着科技的不断进步,虚拟仪器作为一种先进的测量和控制工具,逐渐引起了广泛关注。与传统仪器相比,虚拟仪器在设计、功能、操作、数据处理等方面存在一些差异。虚拟仪器和传统仪器是现代化科学实验和测试领域中常用的工具。虚拟仪器通过...

关键字: 虚拟仪器 传统仪器 控制工具

虚拟仪器技术是指利用计算机和虚拟现实技术,将仪器的功能和操作界面通过虚拟现实方式呈现出来,以实现仪器操作的虚拟化。虚拟仪器技术的应用原理主要包括传感器数据采集、模型建立、虚拟现实展示和用户交互等关键步骤。

关键字: 虚拟仪器 虚拟现实 计算机

虚拟仪器技术是一种基于计算机和软件的测量与控制技术,它利用计算机软硬件平台,替代传统仪器设备,实现了仪器的虚拟化和软件化。通过虚拟仪器技术,我们可以设计出高灵活性、可扩展性和集成性的测量系统。以下是一些采用虚拟仪器技术实...

关键字: 虚拟仪器 测量 计算机

基于虚拟仪器技术的系统设计广泛而多样。通过结合计算机硬件和软件,虚拟仪器技术不仅可以模拟传统仪器的功能,还可以实现更高级的系统设计。以下是虚拟仪器技术在不同领域中的应用示例。

关键字: 虚拟仪器 自动化控制 计算机

虚拟仪器技术(Virtual Instrumentation,简称VI)是指利用计算机硬件与软件结合,将仪器测量功能和人机交互界面融合在一起的技术。虚拟仪器技术通过使用计算机界面和用户定制的软件程序,实现了传统仪器所具备...

关键字: 虚拟仪器 计算机 软件

虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应...

关键字: PCI总线 虚拟仪器

以下内容中,小编将对测试测量的相关内容进行着重介绍和阐述,希望本文能帮您增进对测试测量的了解,和小编一起来看看吧。

关键字: 电子测量仪器 测试测量 虚拟仪器

学习Linux动态链接库是一个绕不开的话题,我们今天就一起来看一下什么是动态链接库、动态链接库有什么好处、如何编译出一个动态链接库等几个关于动态链接库的几个基本概念,废话少说咱们直接开始

关键字: Linux 静态链接库 动态链接库
关闭
关闭