Professional Documents
Culture Documents
基于labview软件的动态连接库和数据采集
基于labview软件的动态连接库和数据采集
基于 LabVIEW 软件的动态连接库和数据采集
张辉 ,郁凯元 ,龙涛 ,王建强
( 东南大学 机械工程系 ,江苏 南京 210096)
Data Acquisition and Dynamic Link Library Based on Soft ware LabVIEW
ZHANG Hui , YU Kai2yuan , LONG Tao , WANGJian2qiang
(Department of Mechanical Engineering , Southeast University , Nanjing 210096 , China)
Abstract : The paper introduces the back2ground and characteristics of software LabVIEW , and use the dynamic link library of software Lab2
VIEW to create data acuisition for test system.
Key words : LabVIEW ; dynamic link library ; virtual instrument ; data acquisition
DLL 模块可以单独测试 。
1 LabVIEW 软件的特点
2. 2 客户程序到 DLL 模块的连接
LabVIEW 使用图形化编程语言编程 , 执行程序的 DLL 中包含一个导出函数表 。这些函数由它们的
顺序是由块之间的数据流决定的 , 而不是传统文本语 符号名和称作序列号的整数与外界等同起来 。函数表
言的按命令行次序连续执行 。 也包含了 DLL 中的函数地址 。当客户程序首先加载
LabVIEW 是唯一具有编辑器 ( Compiler) 的图形程 DLL 时 ,它并不知道需要调用的函数的地址 ,但它知道
序语言 , 它可以将程序结构最优化 , 使程序拥有与 C 符号和序号 ,动态链接过程在 DLL 中建立一个客户调
语言程序不相上下的执行速度 。另外 ,若使用 Applica2 用与函数地址的表 。如果你编辑和重建 DLL , 不必重
tion Builder 工具软件 , 更可将 LabVIEW 开发出来的程 建客户程序 ,除非已经改变了函数名和参数序列 。
序转换为 Windows 环境下的 . EXE 应用程序 ,可脱离开 DLL 中函数和数据的导出有许多方法 , 可以在
发平台而独立运行 。 DLL 源代码程序中使用像下面这样的声明导出函数 :
LabVIEW 中包含了丰富的函数及子程序库 , 如数 declspec ( dllexport ) void Function ( int n) ;
据信号处理 、
概率统计 、
线性代数以及滤波 、
加窗等子 相应地 ,在客户程序中要求像下面这样明确声明
程序 ,以及 GPIB 、
VXI 、PLC 及串行仪器控制子程序 。 相应的输入函数 ;
通过它所提供的各种函数 、
子程序 ,可以实现硬件系统 declspec ( dllimport ) void Function ( int n) ;
的软化 ,设计符合用户要求的测试控制系统 。 DLL 不能单独执行 , 仅有导出声明并不能使客户
程序链接到 DLL 。客户程序链接 DLL 主要有两种方
2 动态连接库和数据采集卡的驱动
式 : 隐式链接和显式链接 。
2. 1 DLL 动态连接库概述 使用隐式链接时 ,客户程序先链接到编译 DLL 时
所谓“动态链接”
指在生成 EXE 文件时 ,并没有将 生成的导入库 (LIB) 文件 , 在执行这个客户程序时 , 系
DLL 文件直接包含到程序中 ; 只是在程序中记录了函 统也装载它所需的 DLL 。因此 ,要使用隐式链接 ,客户
数的入口点和接口 , 在程序执行时才将库代码装入内 应用程序必须能够从 DLL 开发者那里获得以下信息 :
存 。不管多少程序使用 DLL , 内存中都只有一个 DLL (1) 包含有导出函数以及类声明的头文件 ( h 文
的副本 ,当没有程序使用它时 , 系统就将它移出内存 , 件) ,在程序开发时要知道函数名和函数接口信息 。
减少了对内存与磁盘的要求 。 ( 2) DLL 的导入库文件 (LIB 文件) ,客户应用程序在编
一个大型系统如果用一个 EXE 文件完成 ,程序将 译链接时需要 。( 3) 实际的 DLL 文件 ,它是在客户应
很庞大 ,而且可能有许多重复的功能代码 。如果将程 用程序运行时所必需的 。
序分成主程序和一些小的 DLL , 不但可以减少开发的 显式链接时 ,客户应用程序在运行时通过函数调
工作量 ,而且访问的速度将得到提高 。同时 , 较小的 用来显式装载和下载 DLL , 并通过函数指针来调用
收稿日期 : 2002 - 07
作者简介 : 张辉 (1977 - ) ,男 ,安徽萧县人 ,硕士研究生 ,主要从事机电液一体化控制技术及计算机仿真的研究 。
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
2002 年第 6 期 仪 表 技 术 — 37 —
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.