LabVIEW使用图形化编辑语言G编写程序,产生的程序是框图的形式,LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,帮助工程师和科学家解决问题、提高生产力和不断创新。越高级的语言在处理速度上也会越慢,某些简单的功能或者因为某种原因必须使用C/C++程序的时候,如何将LabVIEW和C/C++程序结合呢? 可以使用CIN(Code Interface Node)将C语言代码或者使用“调用库函数节点”将其他工具生成的DLL集成到LabVIEW。与调用DLL不同,CIN可以将外部代码与VI集成,编译成功后一起分发。从运行效率上DLL和CIN是相同的。 但是从2010版开始LabVIEW取消了CIN功能,推荐使用DLL。 演示如何使用外部DLL实现a+b的计算。 使用的环境是LabVIEW2014和Visual Studio Community 2015。 在LabVIEW中新建一个VI工程,打开程序框图,函数->互联接口->调用库函数节点。 依次设置两个参数和返回值类型。 设置函数名字。 创建三个数值,两个作为输入,一个作为输出。框图上右键,点击“创建C文件”。 打开Visual Studio,创建一个DLL工程,空白项目即可。 将刚刚生成的C文件加入工程中。设置包含目录。 工程属性中,VC++目录,将LabVIEW安装目录/National Instruments\LabVIEW2014\cintools 加入包含目录。 完成代码,编译生成DLL文件。 (注意,_declspec(dllexport)宏定义,如果是函数在返回值声明前添加,如果是类在class标识符后加,这个宏可以允许函数或类在文件外被其他程序调用) 回到LabVIEW,配置节点,选择DLL文件路径,完成设置。 无误,运行查看结果。 需要注意的是,LabVIEW在调用外部代码的时候,执行的线程将被占用,知道执行节点返回,也就是说如果现成正在执行外部代码,那么它将不会处理其他任务,用户也不能中断执行的过程。如果任务完成的时间较长,一定要慎重处理。 |