LabVIEW中基于DLL的数据采集

发布于:2007/5/25 8:40:42 | 703 次阅读

 

  摘 要:介绍在LabVIEW编程环境下,通过调用DLL实现的数据采集,并以一PC-6313多功能卡的模入部分为对象编写了实例。
  关键词
:LabVIEW;数据采集;动态连接库

Data Acquisition Based on DLL of the LabVIEW Platform

  YANGXiao-peng,HUANGYan-yan,SHIChun-jing

  (University of Shanghai for Science&Technology,Shanghai200093,China)

  Abstract:This paperintroduces a method to acquire datafromcommon DAQboard by using DLLonthe LabVIEW platform.In addition,anapplication example of PC-6313 board for A/Dpartis given.
  Keywords:LabVIEW;data acquisition;DLL


1 PC-6313简介
  PC-6313多功能模入模出接口卡适用于具有ISA总线的PC系列微机。使用时只需将接口卡插入机内任何一个ISA总线插槽中,其模入模出及I/O信号均可通过信号电缆从机箱外部直接接入。在本文的程序编制中主要针对该卡的模入,即A/D部分。本卡上的A/D转换为12位字长,可用于32个通道的单端或16个通道的双端输入。外部模拟信号经多路开关选择后送入高速放大器处理。处理后的信号送入模数转换器进行转换。模数转换器的启动方式可以选用程序启动或者定时器自动触发,也可用外部触发方式启动。其转换状态可以用程序查询,也可以用中断方式通知CPU读取转换结果。卡内A/D转换的地址分配见表1。

  
  查询A/D转换状态时的数据格式及意义见表2(端口地址为基地址+2)。

  在每个A/D转换程序段开始时,应通过空读低 8位数据初始化A/D转换标志及中断申请标志。

2 利用动态链接库DLL进行数据采集
2.1 数据采集动态链接库(DLL)的建立

  建立动态链接库(DLL)的工具很多,本文介绍用C语言编写动态连接库DLL的步骤。
  (1)生成C语言文件。在MFC界面菜单上选择File>>New选项,在弹出的New对话框中选择Files属性页,在左边列表中选择C/C++HeaderFile项,在右边File一栏中输入程序名:daq.c,在路径一栏输入C:/temp,再按OK按钮结束对话框。
  (2)编写动态连接库中的函数。在生成的程序中编写输出函数代码如下:
 

  上述输出函数是利用PC-6313模入部分进行数据采集的一个例程,这里只用到了一个输入参数ch,即通道号,为整型变量。函数的返回值为value,即通道中采集到的信号电压值,为实型变量。
  (3)将C语言文件编译成工程文件。在MFC界面菜单上选择Build>>Compile MyFunctionl.c选项,将daq.c编译成为工程文件。
  (4)在MFC界面菜单上选择Project>>Settings选项,在弹出的Project Settings对话框中选择Link页面,对Output file name栏和Project Options栏做相应的修改。在Outputfile name栏中输入daq.dll,在Project Op-tions栏中将路径设置改为/subsystem:windows/dll/in-cremental:yes
  (5)生成MyFunctionl.dll的动态连接库。在Build>>Build daq.c选项,生成daq.dll的动态连接库。
2.2 LabVIEW中对DLL的调用
  在LabVIEW中,利用库函数节点(calllibrary Func-tion node,简称节点)可以较容易地实现对DLL的调用,从而提高了程序的开发效率。使用Call LibraryFunction,我们可以调用Windows标准的动态连接库(DLL),也可以调用用户自己编制的DLL。Call LibraryFunction位于Function>>Advanced子菜单中,将选择好的Call Library Function图标放在设计面板(diagram)中,然后通过对Call Library Function这一节点图标进行配置,可以指定DLL模块中与LabVIEW数据交换的相应的驱动函数。在调用DLL库中函数时,必须知道以下信息:函数返回的数据类型、函数调用的方式、函数的参数及类型、DLL库文件的位置等。右键单击CallLibrary Function的图标,在弹出的菜单选项中选择Configure...选项,通过Browse选择被调用的库名或路径,在本例中选择C:/temp/debug/daq.dll;在FunctionName选项中输入被调用的函数名,本例中即输入daq;在Calling Conventions选项中选择所调用的库是标准调用(stdcall)还是用户使用C语言自己创建的库,本例中为用C语言创建的库。下面是关于所调用函数参数和返回值的设置。选择返回值(return type)的参数类型,有三种类型可供选择:空(Void),数值(Numeric),字符(String),选定其中的一种后,还要再根据情况选择具体的数据类别,本例中返回值为采样的电压值,选择数值(Numeric)类型,再选择8-bytes double类型。然后单击右侧的Add Parameter After给函数添加个输入参数,和返回值一样,也要选择参数类型和具体的数据类型。再次单击右侧的Add Parameter After可以给函数添加其他的输入参数。本例中只有一个输入参数ch,即通道号,选择数值(Numeric)类型,再选择Signed8-bits Integer。单击“OK”返回LabVIEW的设计面板(diagram)中。此时,Call Library Function已经根据刚才配置好的参数个数和类型设置好了输入输出端口;和其他LabVIEW节点图标一样,只需要将其对应的参数连线即可。具体的框图程序如图1所示。


  在本例中,DLL函数的输入参数只有通道号。其他参数如采样数、采样延时等也可根据需要,设为输入参数。用波形发生器产生的正弦波从PC-6313接口卡通道1输入,在前面板中启动采集开关,则可得到如图2所示的波形,它与波形发生器产生的波形频率一致。

3 结论
  在LabVIEW中,用户通过调用DLL可以很方便地实现普通采集卡的数据采集。对于其他硬件设备,只要花一些时间创建出可对这一硬件设备进行低层操作的库函数,通过Call Library Function将其制作成函数模块,再交给LabVIEW使用,利用LabVIEW图形化编程的方便、快捷和强大的虚拟仪器开发功能,就可以开发出原来LabVIEW不兼容硬件的虚拟仪器。


参考文献

[1]胡峪,刘静.Visual C++编程技巧与示例[M].西安:西安电子科技大学出版社,2000.
[2]洪添胜,李永刚,罗锡文.LabVIEW中数据采集动态链接库的设计及应用[J].计算机自动测量与控制,2000,8(4).
[3]潘伟峰,等.在LabVIEW中调用动态连接库实现与数据采集卡的数据交换[J].电子技术,2003,(9).
参与讨论
后参与讨论

//评论区

推荐阅读

智能网联汽车国际标准法规协调专家组(HEAG)召开工作会议

近年来智能网联汽车快速发展,新技术不断涌现,与相关产业融合度持续提升,正在推动全球汽车产业发生深刻变革。为应对此种形势,欧、美、日等汽车工业发达国家和地区都加大了智能网联汽车的国际标准法规协调的参与力度,在联合国世界车辆法规论坛(UN/WP.29)和国际标准化组织(ISO)层面,智能网联汽车相关国际标准法规协调活动正快速推进。 为更有效地支撑上述组织的国际标准法规协调活动,2017年全国汽车标准

0215jiejie | 发布于:2022-12-01 0评论 0赞

苹果推出搭载M2芯片的新款iPad Pro 799美元起售

据苹果官网,苹果推出搭载M2芯片的新款iPadPro。 11英寸wifi版起售价为799美元,wifi+蜂窝网络版起售价为999美元;12.9英寸wifi版起售价为1099美元,wifi+蜂窝网络版起售价为1299美元。

0215jiejie | 发布于:2022-10-19 0评论 0赞

新能源汽车领衔 “中国智造”加速登陆欧洲市场

全球五大车展之一巴黎车展时隔四年再度启幕。在这场被视为“全球汽车行业风向标”的盛会上,国内外汽车品牌云集,长城汽车、比亚迪等再次领衔中国汽车出海。 长城汽车欧洲区域总裁孟祥军表示:“欧洲是长城汽车最重要的海外市场之一,巴黎车展是长城汽车向欧洲市场展示GWM品牌和产品的最佳机会。长城汽车正在研究汽车行业碳排放的整个生命周期,到2025年,将推出50多款新能源产品,全力支持可再生能源使用,为全球用户

0215jiejie | 发布于:2022-10-19 0评论 0赞

严监管时代来临,电子烟“通配”大战走向何方?

针对通配烟弹厂商的一系列诉讼的结果,将对生产通配烟弹的品牌未来在电子烟行业的发展产生深远影响。 10月1日,《电子烟强制性国家标准》正式实施,中国电子烟监管全面生效。而在电子烟行业进入规范化、法治化阶段前夕,一场围绕着通配烟弹的争论在行业里发酵。 “通配”是电子烟从业者约定俗成的概念。换弹式电子烟由烟杆和烟弹组成,“通配”烟弹指的是非品牌商生产、可与品牌烟杆匹配使用的烟弹。多位业内人士表示,被

0215jiejie | 发布于:2022-10-19 0评论 0赞

Bourns 全新大功率分流电阻器

采用金属感应引脚,专用于大电流应用中进行精确测量 全新分流电阻器专为电池管理系统、大电流工业控制和电动汽车充电站 提供高可靠性、高成本效益的解决方案 美国柏恩Bourns全球知名电子组件领导制造供货商,宣布新增12款CSM2F系列功率分流电阻器,扩展其产品组合。全新系列采用铆接通孔金属传感引脚,可满足大电流应用中对电压测试点精确定位日益增长的需求。最新型Bourns?CSM2F系列分流电阻器

0215jiejie | 发布于:2022-10-18 0评论 0赞

请尊重元宇宙“这个筐”

元宇宙是个筐,啥都往里装,但区别在于有的像聚宝盆,有的像垃圾桶。国庆假期刚结束,中青宝“90后”董事长李逸伦便亲自上阵,玩起了元宇宙婚礼。靠着老板首秀和代言,中青宝顺势推出“MetaLove元囍”App,正式进军元宇宙婚礼赛道。 就产品而言,如同其他元宇宙产品,李逸伦的元宇宙婚礼“新奇与吐槽齐飞”:有人说是有趣的尝试,有人则认为像QQ炫舞结婚系统。要知道,QQ炫舞是一款推出了十余年的老游戏。

0215jiejie | 发布于:2022-10-13 0评论 0赞

边缘计算:突围商业模式痛点

截至8月末,中国5G基站总数达210.2万个,中国5G发展已经进入下半场。随着5G加速融入千行百业,互动直播、vCDN、安防监控等场景率先大规模落地,车联网、云游戏、工业互联网、智慧园区、智慧物流等场景也快速走向成熟,这些更大流量、更低时延、更高性能的场景涌现,对边缘计算的刚性需求势必爆发。 GrandViewResearch预测,即使在新型冠状病毒肺炎疫情肆虐全球的背景下,边缘计算和5G网络市

0215jiejie | 发布于:2022-10-13 0评论 0赞

商务部回应美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”

商务部新闻发言人10日就美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”应询答记者问。 有记者问:近日,美国商务部在半导体制造和先进计算等领域对华升级出口管制措施。同时,在将9家中国实体移出“未经验证清单”过程中,又将31家中国实体列入,请问中方对此有何回应? 对此,商务部新闻发言人回应称,中方注意到相关情况。首先,通过中美双方前一阶段共同努力,9家中国实体zui终

0215jiejie | 发布于:2022-10-13 0评论 0赞

TCL华星官宣与奔驰合作:推出全球首款横贯A柱的车载显示屏

今年1月,奔驰带来了VISIONEQSS概念车,其中控台采用了一块完全无缝的47.5英寸曲面显示屏,横贯整个A柱,令人印象深刻。今天,TCL华星正式官宣与奔驰达成合作,并认领了VISIONEQSS上这块全球首款横贯整个A柱曲面的车载显示屏。 根据TCL介绍,这款显示屏采用了完全无缝的超薄一体化设计,将仪表盘、中控与副驾娱乐显示融为一体,并能够与3D实时导航系统相辅相成。 同时,这块显示屏还采用

0215jiejie | 发布于:2022-10-12 0评论 0赞

半导体板块暴跌 谁最受伤

国庆假期后首日开盘,上证综指时隔5个月再次失守3000点,与此同时,半导体板块也再度走低,其中,北方华创、雅克科技等个股跌停。10月11日早盘期间,半导体板块持续下挫,北方华创、雅克科技再度跌停。截至下午收盘,北方华创、雅克科技维持跌停状态,华海清科、拓荆科技-U、盛美上海、清溢光电、海光信息的跌幅则超10%。同日,半导体板块中的119只个股中超五成呈现下跌趋势。 在半导体板块遭遇下挫的同时,北

0215jiejie | 发布于:2022-10-12 0评论 0赞