LabVIEW调用数据采集卡DLL函数
优采云 发布时间: 2020-08-08 01:06《襄樊大学学报》. ,2004年第25届襄樊大学学报25号5号LabVIEW调用数据采集卡的DLL函数,湖北襄樊襄樊学院物理系441053摘要首先介绍虚拟仪器的特性及其开发环境LabVIEW6,并实现连接LabVIEW的先进技术之一与外部代码. 动态链接库DLL机制. 实践证明,该机制高效且易于实现,是增强LabVIEW与其他Windows应用程序之间数据共享能力的好方法. 关键字虚拟仪器LabVIEW动态链接库DLL中文库分类号TN311.11文档标记代码A文章编号1 05-0015-03 0引言LabVIEW的出现是基于National Instruments的一种基于G语言的开发环境. 虚拟仪器所谓的连接到行业的虚拟仪器就是在通用计算机平台上根据自己的需求定义和设计仪器的测试功能. 本质是将传统仪器硬件与最新的计算机软件技术充分结合,以实现和扩展具有模块化软件的传统仪器. 功能. 与虚拟仪器相比,系统仪器在智能,处理能力,性能价格比和可操作性方*敏*感*词*有明显的技术优势. LabVIEW实验室虚拟仪器工程工作台目前是世界上使用最广泛的虚拟仪器开发环境之一. 它主要用于仪器控制,数据采集,数据分析,数据显示等,并且适用于Windows9X / XP / 2000 /许多不同的操作系统平台,例如NT Macintosh UNIX.
与传统的编程语言不同,LabVIEW使用一种功能强大的图形语言编程语言为测试工程师而非专业程序员服务. 编程非常方便. 人机交互界面直观友好. 它具有强大的数据可视化分析和仪器控制功能. 使用LabVIEW开发环境,用户可以创建32位编译器,从而为常规数据采集,测试和测量任务提供更快的运行速度. LabVIEW是真正的编译器. 用户可以创建独立的可执行文件,这些文件可以独立于开发环境运行. 对于大多数编程任务,LabVIEW通常生成高效的代码. 1 LabVIEW是调用外部程序代码的方法之一. 动态链接库机制1.1动态链接库机制概述LabVIEW是一个功能强大的虚拟仪器开发环境,已与GPIB VXI RS-232 RS-485插值数据采集完全集成在一起. LabVIEW还具有一个内置库,可通过共享ActiveX的DLL和其他方式实现与外部程序代码或软件系统的连接,从而提供大量的连接机制. LabVIEW提供了四种调用外部程序代码的方法. 动态链接库DLL机制是从LabVIEW调用标准共享库和用户定义的库函数的通用方法. 具体实现是使用LabVIEW函数模板的Advanced子模板中的Call Library Function节点.
呼叫库功能节点收录大量数据类型和呼叫规范. 使用它可以调用大多数标准共享库和用户定义的库,包括Windows9X / XP / 2000 / NT下的动态链接库. 动态链接库Macintosh UNIX共享库功能下的“代码片段共享库功能”下的代码片段当用户需要调用的代码已经存在,或者用户熟悉以下代码段UNIX中共享库的创建过程时: 在Windows动态链接库中,调用库函数节点非常有用. 此时,它也是最合适的方法,因为图书馆使用的是收据日期. 2004-04-21基金项目湖北省教育厅重点项目2003A006作者简介襄樊学院物理系副教授,湖北鄂州. 15.调用LabVIEW到数据采集卡DLL功能16适用于多种开发环境的格式标准,因此用户几乎可以使用任何开发环境来创建LabVIEW可以调用的库. 1.2动态链接库机制的实现步骤在Windows 9X下,使用LabVIEW 6.1(Windows95 / 98 / NT)中的动态链接库机制来调用DLL. DLL返回计算机的名称.
1)创建一个调用库函数节点,创建一个新的LabVIEW程序主机名. 将vi保存到新创建的目录d: \ temp. 图1库函数调用前面板框图. 该程序如图2所示的库函数调用框图. 通过在功能模板的“高级”子模板中选择“调用库功能”功能模块,可以选择“调用库功能”节点. 生产的. 该LabVIEW程序通过调用库函数节点来调用DLL. 该DLL将返回计算机的名称,并将返回的结果存储在字符串指示器“计算机名称”中,然后将字符串常量LabVIEW MachineName连接起来以显示字符串指示器“ Message”. 2)配置调用库功能节点在程序框图程序窗口中双击“调用库功能”节点. 在弹出对话框中,配置调用库功能节点,然后在LibraryName Path项目中输入d: \ temp \ hostname. dll表示此节点链接的DLL文件的名称,它是C源代码的主机名. c编译并键入FunctionName项目MachineName,以在链接到该节点的DLL文件中指示函数的名称. 参数返回类型是选择Void的类型. 添加的另一个参数是arg1的类型. 字符串格式为选择“字符串句柄3”. )编辑C源文件以编辑C源文件的主机名.
c保存到目录d: \ temp includeextcode. h收录LabVIEW函数的#include #include #include BOOL WINAPI DllMain(HANDLE hDLL,DWORD dwReason,LPVOID lpReserved)返回TRUE;函数获取计算机名__declspec(dllexport)无效MachineName(void * LVHandle)charcomputerName [MAX_COMPUTERNAME_LENGTH + 1]; intENGTH compNameLength;襄樊学院学报第二十五期2004 Getcomputer name GetComputerName(computerName,&compNameLength); SizeLabVIEW句柄正确大小DSSetHandleSize(LVHandle,compNameLength stringsize LabVIEWhandle **(int32 **)LVHandle LabVIEWhandle sprintf((*(char **)LVHandle)+4,“%s”,computerName);该程序首先调用Windows API函数GetComputerName获取机器名,然后调用LabVIEW函数DSSetHandleSize设置LabVIEW句柄的大小,最后,将机器名的32位整数机器名字符串依次写入到句柄中.
4)编译C源代码. 将C源代码更改为d: \ temp \主机名. c编译为DLL文件d: \ temp \ hostname. dll可以使用VC ++ 6.0 Windows95 / 98/2000 / NT来完成此编译. 5)运行VI以运行LabVIEW程序的主机名. vi的结果如下. 图3前面板运行结果. 2结束语本文重点介绍和实现一种将LabVIEW与外部代码,动态链接库机制连接的高级技术,并给出一个应用示例. 由于LabVIEW中引入了C语言的强大功能,因此LabVIEW的整体性能得到了改善. 该方法已在LabVIEW 6.1 Windows95 / 98 / NT和Visual Windows9X / XP / 2000 / NT环境中实现. 实践证明,该方法高效,易于实现. 这是增强LabVIEW与其他Windows应用程序之间数据共享能力的好方法. 参考文献: National Instruments Corporation LabVIEW用户手册1998. National Instruments Corporation 1998编程参考手册.
LabVIEW数据采集调用DLL函数刘传清(襄樊大学物理系,襄樊441053)摘要介绍了虚拟仪器的开发环境LabVIEW分析了先进技术动态链接库(DLL),该方法通常可从LabVIEW调用外部代码. 事实证明,有效的做法是提高LabVIEW与Windows其他应用程序共享数据的能力. 关键词: 虚拟仪器; LabVIEW;动态链接库