最新版本:LabVIEW对数据采集卡DLL函数的调用.PDF 3页
优采云 发布时间: 2022-12-25 00:10最新版本:LabVIEW对数据采集卡DLL函数的调用.PDF 3页
2004年9月 襄樊学院学报 2004年9月第25卷第5期 襄樊学院学报2004年9月 25 No.5 LabVIEW调用数据采集卡的DLL函数 刘传庆(襄樊学院物理系 湖北襄樊 441053) 摘要:首先介绍了虚拟仪器及其开发环境LabVIEW6的特点,介绍了先进的分析并实现了LabVIEW与外部代码的连接技术。 一——动态链接库(DLL)机制。 实践表明,该机制高效、易于实现,是增强LabVIEW与其他Windows应用程序数据共享能力的一种很好的方式。 关键词:文章仪器; 实验室视图; 动态链接库; DLL语言开发环境LabVIEW的出现,使得虚拟仪器的理念被业界所接受。 所谓虚拟仪器就是在一个通用的计算机平台上,用户根据自己的需要定义和设计仪器的测试功能。 功能。 与传统仪器相比,虚拟仪器在智能化、处理能力、性价比、可操作性等方*敏*感*词*有明显的技术优势。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench─Laboratory Virtual Instrument Engineering Platform)是目前国际上使用最广泛的虚拟仪器开发环境之一,主要应用于仪器控制、数据采集、数据分析、数据显示等领域,并且适用适用于许多不同的操作系统平台,例如 Windows 9X/XP/2000/NT、Macintosh 和 UNIX。 与传统的编程语言不同,LabVIEW使用功能强大的图形化语言(G语言)进行编程。 它针对测试工程师而不是专业程序员。 编程非常方便,人机交互界面直观友好,具有强大的数据可视化分析和仪器控制能力等特点。 使用LabVIEW开发环境,用户可以创建32位编译程序,为日常数据采集、测试和测量任务提供更快的运行速度。 LabVIEW 是一个真正的编译器,允许用户创建可以独立于开发环境运行的独立可执行文件。 对于大多数编程任务,LabVIEW 通常会生成高效的代码。 1 LabVIEW 调用外部程序代码的方式之一——动态链接库机制 1.1 动态链接库机制概述-485 与外挂式数据采集卡等硬件的通信。
LabVIEW还内置了程序库,提供了大量的连接机制,通过DLL、共享库、ActiveX等方式实*敏*感*词*项目:湖北省教育厅重点项目(2003A006) 作者简介: 刘传庆(1964- ),男,湖北鄂州人,襄樊学院物理系副教授。
15 刘传庆:LabVIEW对数据采集卡DLL函数的调用是一种适用于多种开发环境的格式标准,因此用户几乎可以在任何开发环境下创建一个LabVIEW可以调用的库。 1.2 动态链接库机制的实现步骤 在Windows 9X下,使用LabVIEW 6.1(for Windows 95/98/NT)中的“动态链接库机制”调用一个DLL,这个DLL返回机器名。 1)创建“调用库函数节点”新建LabVIEW程序“hostname.vi”,保存到新建目录“d:\temp”。 在库函数调用的框图中,通过在函数模板中的“高级”子模板中选择“CallLibrary Function”功能模块生成“Call Library Function”节点。 这个LabVIEW程序通过“调用库函数节点”调用了一个DLL,这个DLL会返回机器名,返回结果存放在字符串指示符“Machine Name”中,然后是字符串常量“LabVIEW is running on ”和“Machine Name”,拼接结果显示在字符串指示符“Message”中。
2)配置“调用库函数节点” 在程序框图的程序窗口中双击“调用库函数”节点,在弹出的对话框中配置“调用库函数节点”。 其中:在“Library Name or Path”中键入“d:\temp\hostname.dll”(即指定该节点链接的DLL文件的名称,由C源代码“hostname.c”编译而来) ); 在“Function Name”中键入“MachineName”(即指定与该节点链接的DLL文件中的函数名称); 参数类型“return type”选择“Void”; 添加了参数类型“arg1”的选择“String”和字符串格式的“String Handle”; 3)编辑C源文件 编辑C源文件“hostname.c”(保存在目录“d:\temp”下),其内容如下: /* include extcode。 h 其中收录 LabVIEW 函数的原型 */ #include #include #include BOOL WINAPI DllMain (HANDLE hDLL, DWORD dwReason, LPVOID lpReserved) {return TRUE; /* 该函数获取计算机名称并将其返回给 LabVIEW */ __declspec (dllexport) void MachineName(void *LVHandle) {char computerName[MAX_COMPUTERNAME_LENGTH+1];int compNameLength = MAX_COMPUTERNAME_LENGTH+1; (computerName, &compNameLength);/* 将 LabVIEW 句柄调整为正确大小 */DSSetHandleSize(LVHandle, compNameLength + 5);/* 将字符串大小复制到 LabVIEW 句柄 */**(int32 **)LVHandle = compNameLength ;/ * 将字符串复制到 LabVIEW 句柄 */sprintf((*(char **)LVHandle)+4,"%s",computerName); } 本程序首先调用Windows API函数“GetComputerName”获取计算机名称; 然后调用LabVIEW的函数“DSSetHandleSize”来设置LabVIEW句柄的大小; 最后将机器名长度(32位整数)和机器名(字符串类型)依次写入句柄。
4) 编译C 源代码将C 源代码“d:\temp\hostname.c”编译成DLL 文件“d:\temp\hostname.dll”。 您可以使用VC++6.0 (for Windows 95/98/2000/NT)来完成这个编译工作。 5) 运行VI,运行LabVIEW程序“hostname.vi”,结果如下: 图3 前面板运行结果 应用实例。 由于在LabVIEW中引入了C语言的强大功能,从而提高了LabVIEW的整体性能。 该方法已在Windows 95/98/NT 的LabVIEW 6.1 和Windows 9X/XP/2000/NT 的Visual C++ 6.0 中实现。 实践证明,该方法高效、易于实现,是增强LabVIEW与其他Windows应用程序数据共享能力的好方法。 参考资料: [1] LabVIEW 用户手册,National Instruments Corporation,1998。 [2] G 编程参考手册,National Instruments Corporation,1998。
LabVIEW Data Acquisition Invoke for DLL Functions 刘传庆(襄樊学院物理系,襄樊 441053) 摘要:介绍了虚拟仪器及其开发环境─LabVIEW 的特点,分析并实现了点头(DLL),其中是从 LabVIEW 调用外部代码的通用方法之一。 实践证明,该方法高效、实用,是增强LabVIEW与Windows其他应用程序共享数据能力的好方法。 关键词:虚拟仪器; 实验室视图; 动态链接库; DLL17
解决方案:【井下人员***系统工卡智能射频标签考勤读卡器硬件数据采集器IC卡手持机图片】井
当前页面为您展示井下人员定位系统工作卡智能射频标签考勤读卡器硬件数据采集器IC卡掌上机图片由深圳市青通科技*敏*感*词*提供,井下人员定位系统工作卡智能射频标签时间考勤读卡器 卡片硬件数据采集器IC卡掌上机图片的真实性、有效性、合法性由店主全权负责,中国供应商对此不承担任何保证责任.
" />
温馨的提示:
" />
井下人员定位系统IC卡手持设备图片仅供参考,不代表产品最终质量。例如您可以查看井下人员定位系统智能射频标签和考勤读卡器硬件数据 采集器IC卡手持机图片 有意购买该产品,建议您向井下生产厂家索取样品人员定位系统工作卡智能射频标签考勤读卡器硬件数据采集器IC卡掌上机厂家,确认无误后购买,谨防上当受骗。