纬图虚拟仪器论坛

 找回密码
 立即注册
搜索
查看: 30129|回复: 10

图解LabVIEW中调用用户自定义DLL

[复制链接]
发表于 2012-11-21 16:00:06 | 显示全部楼层 |阅读模式
本帖最后由 wdluo 于 2012-11-21 16:01 编辑

前言:
LABVIEW是一个强大的图形编程语言,使用很简单,就是你没有任何编程经 验也可以LABVIEW编程,对于需要快速上手图形编程的人是一个不错的选择。在很多时候我们会用C语言写一些计算机的底层驱动,比如USB数据传输或者 串口数据传输,如何把我们自己写的驱动程序集成到LABVIEW中呢?下面我就用图和简单说明的方式给大家说说,由于我也是初学,所以有的地方可能会有错 误或不准确的地方,欢迎大家指正,废话不多说了,下面开始正式的教程。
目的:
通过一个现成的I2C适配器控制I2C接口的AM2311温湿度传感器,将测得的温度和湿度用LABVIEW显示出来,最终效果如图所示。

1.png

准备:
1、安装LABVIEW2010
2Ginkgo I2C适配器1台。
3Ginkgo I2C适配器上位机驱动函数库,和函数库头文件。
4AM2311传感器模块一台。
第一步:
打开LABVIEW2010,按下图导入我们需要使用的DLL文件。

2.png

得到如下界面,点击下一步。
3.png
打开DLL和头文件,点击下一步。
4.png

5.png

6.png

7.png

8.png

9.png

10.png

11.png

12.png

13.png

到这里我们的库就基本上导入完毕,但是还有一件事情要做,因为在Ginkgo_Driver.dll里面用到了vt214x.dll里面的一些函数,所以要 把这个文件拷贝到刚刚生成库的目录下,否则在运行程序的时候会出现找不到这个DLL的错误提示,而且程序也不能正常工作。我生成的库目录 是:D:\Program Files (x86)\National Instruments\LabVIEW 2010\user.lib\Ginkgo_Driver。你可以根据自己的实际情况处理,拷贝这个文件后在这个目录下的文件如下图所示:

14.png

到这里库基本上就导入完毕,下面我们就可以在VI程序里面使用这些库函数了。
第二步:
打开LABVIEW软件,新建一个VI文件,另存名字为AM2311.vi。我们在前面板设计为如下界面。
15.png

切换到程序款图界面,因为我们程序需要顺序执行,最后需要在一个循环里面循环读取数据,所以我们可以通过平铺顺序结构来设计程序,在平铺顺序结构的第一帧调用刚刚导入的VTIF_I2C_SelectDevice()函数选择设备,在第二帧调用VTIF_I2C_Init()初始化函数初始化I2C适配器,然后就可以循环的读取数据了,最好将数据解析出来并显示出来。
使用我们刚刚导入的库的方法如下图所示
16.png

在调用VTIF_I2C_SelectDevice()函数的时候需要在in端口输入设备号字符串,在out out端口会输出选择设备是否成功的一些说明,具体使用方法如下图所示
17.png

初始化函数的使用也一样,也是在in输入初始化字符串,在out out会输出初始化后的一些说明,程序返回0代表操作成功,具体使用方法如下图所示

18.png

整个程序设计框图如下图所示

19.png

设计完程序框图后就可以运行程序了,切换到前面板,点击运行按钮就可以运行程序了。
20.png
程序运行效果图:
21.png

驱动函数库下载:
Ginkgo Driver.rar (81.05 KB, 下载次数: 287)
回复

使用道具 举报

发表于 2012-11-21 23:07:37 | 显示全部楼层
过阵子就要开始学labview了,到时候可以借鉴下
回复 支持 反对

使用道具 举报

发表于 2012-11-21 23:54:25 | 显示全部楼层
我日,关键是,探头在哪里.........
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-22 09:08:02 | 显示全部楼层
moline 发表于 2012-11-21 23:54
我日,关键是,探头在哪里.........

我用的USB转I2C适配器做的
回复 支持 反对

使用道具 举报

发表于 2013-4-8 08:51:39 | 显示全部楼层
好帖要顶,楼主的头像还是不错滴
回复 支持 反对

使用道具 举报

发表于 2013-6-9 05:35:10 | 显示全部楼层
好帖要顶,楼主的头像还是不错滴
回复 支持 反对

使用道具 举报

发表于 2015-1-14 19:26:11 | 显示全部楼层
学习了。。。
回复 支持 反对

使用道具 举报

发表于 2017-4-11 15:20:28 | 显示全部楼层
大神门,帮忙看一下,这个问题怎们解决:
QQ图片20170411151716.png
回复 支持 反对

使用道具 举报

发表于 2021-10-19 10:32:05 | 显示全部楼层
如果使用新版本的labview, 直接打开sub-vi可能会打不开相关联的Ginkgo_Driver.dll,
解决办法:通过导入Labview库(DLL)的方式就可以打开了。
回复 支持 反对

使用道具 举报

发表于 2021-11-25 15:05:42 | 显示全部楼层
补充说明一下:加载的DLL时,
1. 所在的路径不要过长。
2. 也不要有中文路劲。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|纬图虚拟仪器

GMT+8, 2024-12-22 00:37 , Processed in 3.916792 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表