调用C++dll
LabVIEW支持调用C++dll,用C++编写的软件需要提供LabVIEW二次开发服务的时候可以考虑使用LabVIEW对C++dll中的函数进行封装,提供vi文件给客户做二次开发。 这样不需使用LabVIEW重新开发功能,也能满足LabVIEW二次开发的需求。 只需要简单学习LabVIEW的使用就可以完成。
首先,在程序面板中打开,函数>互联接口>库与可执行程序>调用库函数节点 ,添加到程序框图面板。 选择调用的动态库dll文件,设置函数参数。 完成后就可以在vi中使用节点了。
LabVIEW 兼容处理
LabVIEW 32/64bit 兼容处理
调用C++dll中的函数封装vi文件时需要考虑不同系统的兼容问题。 可以使用条件禁用结构来自动切换不同系统中调用的C++dll文件。
封装时需要注意的是:
a. 条件禁用结构中的dll路径问题
不同条件下调用的dll如果不同,文件名称也不能相同,否则会导致修改默认条件调用的dll,64bit条件下dll调用路径也会被同步修改。
b. dll依赖
调用的dll所依赖的dll文件也要同时拷贝到同路径下,否则会导致函数调用失败。
LabVIEW 早期版本兼容处理
高版本LabVIEW的项目和vi文件不能在低版本中打开使用,在如下菜单中选择保存为早期版本,保存后的项目可以在更早版本的LabVIEW中打开。
注意事项:
a. 设置依赖dll的时候设置的路径都是绝对路径,dll的依赖项也会自动添加到项目中。 但是项目路径移动之后再打开会提示文件已被移除,相对应的vi自然也不能正常运行。 在创建项目时,可以将依赖的dll文件手动添加到项目中,添加dll依赖,移动后打开路径会自动刷新。
b. 有dll依赖时保存为前期版本,会自动添加依赖项。 但是项目移动到其它电脑上后路径不会自动更新,导致找不到dll文件。 可通过下载一个早期版本的LabVIEW重新编辑项目后保存解决。
编辑vi
编辑vi图标
LabVIEW支持编辑vi图标,可以将vi中函数的信息写在图标中,方便编程时查看。 对话框中包含“模板”、“图标文本”、“符号”及“图层”几个部分,可以根据需求进行图标编辑。
编辑vi连接线
封装vi时,功能实现之后需要将输入连接线、输出连接线和控件关联起来,这样才能在外部调用vi,有点类似函数的入参和出参。
编辑vi选板图标
编辑选板,可让选板中的vi列表更整洁易用。 选板编辑完成后,需要在instr.lib目录下找到自己的项目,将mnu文件拷贝出来放在项目目录下方便拷贝使用。
注意事项
a.在LabVIEW中调用dll时,需要注意数据类型匹配、内存管理、线程安全以及调试和错误处理等问题。 通过正确配置调用库函数节点,合理处理指针和数组,确保内存安全和线程安全,可以成功实现dll函数的调用和功能集成。
b.在编辑vi期间要避免以下失误: 要求输入的函数端子未连接; 由于数据类型不匹配或存在散落、未连接的线段,使框图包含断线等。