LabVIEW调用库诘慵际LabVIEW调用库函数节点技术aspan class=

LabVIEW调用库诘慵际LabVIEW调用库函数节点技术aspan class=

ID:42605550

大小:133.59 KB

页数:3页

时间:2019-09-18

LabVIEW调用库诘慵际LabVIEW调用库函数节点技术aspan class=_第1页
LabVIEW调用库诘慵际LabVIEW调用库函数节点技术aspan class=_第2页
LabVIEW调用库诘慵际LabVIEW调用库函数节点技术aspan class=_第3页
资源描述:

《LabVIEW调用库诘慵际LabVIEW调用库函数节点技术aspan class=》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、LabVIEW调用库函数节点技术LabVIEW提供了调用库函数节点(CallLibraryFunctionnode,简称CLF),利用CLF,可以在LabVIEW中实现DLL和API函数的调用。在LabVIEW中使用CLF需要了解动态链接库里被调用的函数名称、功能及其输入输出参数等,下面将详细介绍在LabVIEW8.6下利用CLF调用6050运动控制卡基于C语言编写的驱动程序[41]。首先在框图程序中创建一个空的CLF,CLF位于“函数模板→互连接口→库与可执行程序子模板”,如图1-1所示,下面给出其

2、详细的配置过程:图1-1CLF节点图标(1)双击CLF图标弹出配置对话框,如图1-2所示,首先要指定6050控制卡动态链接库的库名或路径。点击其右边的文件夹图标,打开一个文件对话框,找到6050运动控制卡的动态链接库文件“dfjzh6050dll.dll”所在位置。(2)LabVIEW装载了DLL文件后会自动检测其所包含的函数,但不能检测函数中的参数及其数据类型,因此接下来的要参照DLL说明文件“dfjzh6050dll.h”及控制卡使用手册选择所要配置的函数名,设置函数参数。(3)在调用规范中有“s

3、tdcall(WINAPI)”和“C”两个选项,它们的区别是,若调用函数为Windows标准共享库函数则选择“stdcall(WINAPI)”选项,若调用函数为VC环境下编译的库函数则选择“C”选项,本文选择“C”选项。(4)在“线程”选项中选择“在UI线程中运行”。至此,完成了所有配置选项,在CLF配置图最下方可以看到函数原型。下面阐述配置CLF过程中需注意的两个问题:图1-2CLF节点配置图Figure1-2CLFNodeSettingChart(1)LabVIEW线程调用方式节点配置中,有两种线

4、程调用方式,“在UI线程中运行”和“在任意线程中运行”。“在UI线程中运行”表示在用户接口线程中调用,DLL的执行期将等到用户接口线程(在此即LabVIEW环境下的VI应用程序)执行DLL的导出函数调用时才开始;“在任意线程中运行”表示允许多个线程同时调用这个DLL。当DLL仅由一个线程调用,两种调用方式都可选择,若出现多个线程调用情况且不确定DLL是否为线程安全,选“在UI线程中运行”。(2)函数参数的配置对于所调用的DLL库函数的参数类型,如果在配置框中找不到匹配的,可以在类型下拉列表中选择“匹配

5、至类型”,在数据格式下拉列表中选择“按值处理”,表示将编程时指定的LabVIEW数据类型与该参数数据类型自动匹配。下表5-1为常见的LabVIEW和32位系统C语言数据类型对照表[42]表1-1两种变量类型的对应关系Table1-1CorrespondencebetweenthetwoTypesofVariablesVC++数据类型LabVIEW对应的数据类型备注简单基本类型CharInt8对于这些基本类型的指针的指针类型变量,应在Parameters栏中的“Pass”传递类型中选择“Pointert

6、ovalue”(通过指针传递)而不是“Value”(值传递)UnsignedcharUint8ShortintInt16IntInt32LongInt32UnsignedlongUint32FloatFloat32,4BsingleDoubleFloat64,8Bdouble数值数组类型一维数值型数组Array具体设置:Type→Array,DataType→对应数组的基类型,Dimensions→对应数组的维数,ArrayFormat→ArrayDataPointer二维数据值型数据Array指向数

7、组的指针没有对应类型如果不使用LabVIEW本身提供率,而单纯使用VC++,则不能在LabVIEW中正确使用指向指针的数组没有对应类型字符串Char*string具体设置:Type→string,stringFormat→CstringpointerChar[n]Char[][]没有对应类型如果不使用LabVIEW本身提供率,而单纯使用VC++,则不能在LabVIEW中正确使用Char**结构体sPeopletmp没有对应类型设结构体名称为:sPople,且结构体内变量定义不能使用LabVIEW中不支

8、持的类型。在进行连线时,要根据结构内变量来定义ClustersPeople*tmp可以使用AdapttoType具体设置:Type→AdapttoType,DataFormat→Handlesbyvalue

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。