相对于CIN来讲,NI更推荐用户使用DLL来共享基于文本编程语言开发的代码。除了共享或重复利用代码,开发人员还能利用DLL封装软件的功能模块,以便这些模块能被不同开发工具利用。在LabVIEW中使用DLL一般有以下几种途径:
1. 使用自己开发DLL中的函数。
2. 调用操作系统或硬件驱动供应商提供的API。
对于前一种方法来说,又可以通过以下几步来实现:
a) 在LabVIEW中定义DLL原型;
b) 生成.C或.C++文件,完成实现函数功能的代码并为函数添加DLL导出声明;
c) 通过外部IDE(如VC++)创建DLL项目并编译生成.dll文件。
1. 使用自己开发DLL中的函数。
2. 调用操作系统或硬件驱动供应商提供的API。
对于前一种方法来说,又可以通过以下几步来实现:
a) 在LabVIEW中定义DLL原型;
b) 生成.C或.C++文件,完成实现函数功能的代码并为函数添加DLL导出声明;
c) 通过外部IDE(如VC++)创建DLL项目并编译生成.dll文件。
d) 在LabVIEW项目中使用DLL中的函数。
一、配置Call Library Function Node(CFN)
无论在LabVIEW中使用自己开发的DLL,硬件驱动供应商或者操作系统提供的API,都可以通过配置Call Library Function Node
在CFN图标的右键菜单上选择“Configure…”打开Call Library Function配置对话框,通过该对话框,可以指定动态库存放路径、调用的函数名以及传递给函数的参数类型和函数返回值的类型。在配置完后,CLF节点会根据用户的配置自动更新其显示。通过Browse按钮或者直接在“Library Name or Path”输入框中指定调用函数多在.dll文件的路径。通过Browse按钮下的控件用户可以指定多个线程同时调用DLL。默认情况下,LabVIEW以“Run in UI Thread”方式调用DLL,调用的函数将直接在用户线程中运行。另外一种方式为递归方式“Reentrant”,在这种情况下可以允许多个线程同时调用DLL中