当前位置:首页 > 测试测量 > 测试测量
[导读]引 言 虚拟仪器技术是20世纪90年代发展起来的一种新技术,融计算机和总线技术、微电子技术、测量技术于一身,它是对传统仪器的重大突破,是计算机技术与仪器技术相结合的产物。它利用计算机系统的强大功能,结合

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


1 虚拟仪器开发平台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平台下调用动态链接库驱动普通的数据采集卡来实现数据采集更具有普遍性。


2 基于动态链接库的普通数据采集卡的驱动
2.1 动态链接库概述
    动态链接是一种应用程序在运行时与库文件连接起来的技术。动态链接库(DLL)是一个可以多方共享的程序模块,提供函数供Windows应用程序或其他的动态链接函数库直接或间接调用,只有在别的模块中调用了它的某个函数以后才发生作用。它是在应用程序运行时被装入和链接的,而不是把库代码复制到应用程序中,只是在程序中记录了函数的入口点和接口。动态链接库独立于编程语言,因此LabVIEW可以调用用大多数语言(如Visual C++,C++ Builder等)编写生成的动态链接库。在调用DLL的函数时,必须知道以下4个信息:函数返回的数据类型,函数调用的方式,函数的参数及类型,DLL库文件的位置等。
2.2 LabVIEW对DLL的调用
    通过对Call Library Function Node的配置可以实现DLL的调用,关键要了解被调用的函数名称、功能及其输入/输出参数。配置节点的目的在于指定DLL模块中与LabVIEW数据交换的相应驱动函数。调用Call Library Function模块,双击此模块,在弹出CLF对话框中进行节点配置,CLF函数配置对话框见图1。第一个参数“库名或路径”,填入需要调用的动态链接库文件的名字和路径。第二个参数“函数名”,是链接库中要调用的函数名称。当在库名或路径栏中设定了DLL的路径后,在函数名下拉框中就可以看到该动态链接库所包含的所有函数名。第三个参数“调用规范”,此栏中可以设置该动态链接库是标准WINAPI调用还是普通的C调用。一般来说,都采用C调用,但是对于API调用则必须选择stdeall(WINAPI),最后一个需要注意的参数选项是线程安全选择,此栏中可以选择DLL是否可以被重入调用,默认情况是在UI线程中运行,即该动态链接库只能在User Interrace Thread下运行。如果动态链接库中被调用的函数返回时间很长,那么就会导致LabVIEW不能执行UI线程中的其他任务,因此界面反应可能会很慢,甚至停止。这时候最好把它设为重入,若设置为重人,则该动态链接库可以由多个线程同时调用,但前提是必须保证该DLL能被多个线程同时安全调用。

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


3 普通数据采集卡在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所示。

    图2中4个CLF节点分别用来调用OpenUA300,minitz,readdataz,CloseUA300这四个函数。
    对于LabVIEW与DLL函数之间传递数组类型数据,无论采用何种数组格式进行传递,都需要在Lab-VIEW中为数组预先分配空间,也就是给该数组开辟缓存,不然会导致程序崩溃。该程序在采集数据前预先为其初始化一个二维数组空间,为了使采集到的数据在数组中的位置始终对应于采样的每一通道,初始化数组空间时设置每通道采样点数为行,采集通道数为列,这样数据从采集卡FIFO存入缓存时,每一列对应每一通道的数据,省去了后续通过循环索引出各通道数据的繁琐。
    为了实现数据的连续采集,系统应保持在循环状态,设计中采用WhiIe循环来实现这一功能,但是Lab-VIEW在执行While循环时,如果用户没有给它设定循环时间间隔,则它将以CPU的极限速度运行。这样可能会导致整个LabVIEW程序看上去像死机一样,所以需要给While循环加上一个指定的时间间隔。在采集前首先设置采样通道、采样频率、采样点数、增益和数据传输方式等参数,该接口驱动的前面板见图3。

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

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

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

南京2022年10月17日 /美通社/ -- 日前《2022第三届中国高端家电品牌G50峰会》于浙江宁波落幕,来自两百余名行业大咖、专家学者共同探讨了在形势依然严峻的当下,如何以科技创新、高端化转型等手段,帮助...

关键字: LINK AI BSP 智能家电

测试测量

28688 篇文章

关注

发布文章

编辑精选

技术子站

关闭