LabVIEW调用库函数节点技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LabVIEW调用库函数节点技术
LabVIEW提供了调用库函数节点(Call Library Function node,简称CLF),利用CLF,可以在LabVIEW中实现DLL和API函数的调用。

在LabVIEW中使用CLF 需要了解动态链接库里被调用的函数名称、功能及其输入输出参数等,下面将
详细介绍在LabVIEW 8.6下利用CLF调用6050运动控制卡基于C语言编写的驱动
程序[41]。

首先在框图程序中创建一个空的CLF,CLF位于“函数模板→互连接口→库与可执行程序子模板”,如图1-1所示,下面给出其详细的配置过程:
图1-1 CLF节点图标
(1)双击CLF图标弹出配置对话框,如图1-2所示,首先要指定6050控制卡动态链接库的库名或路径。

点击其右边的文件夹图标,打开一个文件对话框,找
到6050运动控制卡的动态链接库文件“dfjzh6050dll.dll”所在位置。

(2) LabVIEW装载了DLL文件后会自动检测其所包含的函数,但不能检测函数中的参数及其数据类型,因此接下来的要参照DLL说明文件“dfjzh6050dll.h”及控制卡使用手册选择所要配置的函数名,设置函数参数。

(3)在调用规范中有“stdcall(WINAPI)”和“C”两个选项,它们的区别是,若调用函数为Windows标准共享库函数则选择“stdcall(WINAPI)”选项,若调
用函数为VC环境下编译的库函数则选择“C”选项,本文选择“C”选项。

(4)在“线程”选项中选择“在UI线程中运行”。

至此,完成了所有配置选项,在CLF配置图最下方可以看到函数原型。


面阐述配置CLF过程中需注意的两个问题:
图1-2 CLF节点配置图
Figure1-2 CLF Node Setting Chart
(1) LabVIEW线程调用方式
节点配置中,有两种线程调用方式,“在UI线程中运行”和“在任意线程
中运行”。

“在UI线程中运行”表示在用户接口线程中调用,DLL的执行期将
等到用户接口线程(在此即LabVIEW环境下的VI应用程序)执行DLL的导出函
数调用时才开始;“在任意线程中运行”表示允许多个线程同时调用这个DLL。

当DLL仅由一个线程调用,两种调用方式都可选择,若出现多个线程调用情况
且不确定DLL是否为线程安全,选“在UI线程中运行”。

(2)函数参数的配置
对于所调用的DLL库函数的参数类型,如果在配置框中找不到匹配的,可
以在类型下拉列表中选择“匹配至类型”,在数据格式下拉列表中选择“按值
处理”,表示将编程时指定的LabVIEW数据类型与该参数数据类型自动匹配。

下表5-1为常见的LabVIEW和32位系统C语言数据类型对照表[42]
表1-1 两种变量类型的对应关系
Table1-1 Correspondence between the two Types of Variables。

相关文档
最新文档