LabVIEW学习笔记(九)——调用外部DLL

前言:

        为了在LabVIEW中能够调用其他语言编写的程序,提供了强大的外部程序接口能力,这些接口包括DLL、C语言接口(CIN)、 ActiveX、NET. DDE、MATLAB等。通过DLL,用户能够方便地调用C、VC、VB等编程语言编写的程序。因此,本章通过示例来学习如何调用外部dll。动态链接库(Dynamic Link Library,DLL)是一个可以多方共享的程序模块,内部对共享的例程和资源进行了封装。动态链接库文件的扩展名一般是.dllDLL 和可执行文件(EXE)非常类似,最大的区别在于DLL虽然包含了可执行代码却不能单独执行, 必须由Windows应用程序直接或间接调用。

 

一、示例1

       本节我们通过调用外部链接库的方式,来实现:输入一个 Double 型数组数组及其长度,输出一个整型数组。该整型数组中每个元素对应输入数组中每个元素求平方后的基数。

1.1 生成DLL文件

     首先我们在VS2015中新建一个项目,写入算法代码并生成目标DLL文件,生成DLL文件有两种方法:

  (1)方法一:

新建一个win32项目:

在应用程序向导中将应用程序类型选择为DLL:

在源文件中的ArrayFloor1d中编写代码:

  在项目中添加一个新项:

    选择添加一个模块定义文件:

在模块定义文件写入:

选择重新生成解决方案,就可以在项目文件中得到DLL文件:

 

(2)方法二:

新建一个win32项目:

在应用程序向导中将应用程序类型选择为DLL:

    在ArrayFloor1d中直接写入如下代码,无需在新建模块定义文件:

重新生成解决方案,即可在项目文件中找到DLL文件:

 

1.2  编写LabVIEW程序

在前面板上编写程序:

        通过外部编译器(例如Visual C++)将代码编译为动态链接库DLL文件后,在调用库函数对话框中指定该动态链接库的地址,选择函数名:

线程设置可以任意,调用规范必须设置为C

      在参数页中设置函数返回值类型为Void添加input参数为 —维双精度浮点型数组,数组格式为数组数据指针添加input length为整型传值参数, 添加output参数为一维32位整型数组,如下所示:

        配置好参数后,就需要要添加输入输出,由于Output用于得到函数汁算结果,因此输入时只需要输入一个常数初始化数组即可。

       运行程序,可以在前面板看到:

 

 

二、学以致用

         本节我们通过仿真信号函数来产生一个带白噪声的正弦信号,然后调用C语言写的一阶简单低通滤波算法来处理该信号。首先仿真信号函数在函数面板中的位置为:

我们在VS2015中新建一个项目,编写一阶简单低通滤波算法的代码:

然后生成目标DLL文件:

然后在labVIEW中新建一个空白 VI,编写如下代码:

然后在调用库函数对话框进行参数的配置:

这里需要格外注意:我在C语言的程序中对形参使用了double,int,float等类型的数据类型:

它们在labVIEW中有对应的数据类型:

这个数据类型一定要配置正确,否则程序就会出错。

配置完成以后,我们就可以运行程序,在前面板观察:

  • 60
    点赞
  • 364
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
当然,我可以为您提供一些关于 LabVIEW 学习笔记LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种图形化编程环境,主要用于控制、数据采集和处理等应用。以下是一些常见的学习笔记: 1. 界面与控件:LabVIEW 的主要特点之一是其图形化界面。了解如何创建界面和使用各种控件(如按钮、滑块、图表等)是学习 LabVIEW 的第一步。 2. 数据流编程:LabVIEW 是一种基于数据流的编程语言,意味着程序的执行顺序由数据的流动决定。理解数据流编程的概念对于使用 LabVIEW 是非常重要的。 3. 连接与通信:LabVIEW 可以与其他设备或系统进行通信,如传感器、仪器、数据库等。学习如何建立连接和进行数据交换是实际应用中常见的需求。 4. 数据处理与分析:LabVIEW 提供了丰富的数据处理和分析工具,如滤波、傅里叶变换、统计分析等。学习如何使用这些工具可以帮助您更好地处理和分析数据。 5. 并行与多线程:LabVIEW 支持并行处理和多线程操作,可以提高程序的性能和效率。了解如何利用这些特性可以优化程序的运行。 6. 错误处理与调试:在开发过程中,遇到错误是不可避免的。学习如何处理错误和进行调试可以帮助您快速解决问题。 这些只是一些基础的学习笔记,希望对您的 LabVIEW 学习有所帮助。如果您有具体的问题或者需要进一步的指导,请随时告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值