LabVIEW编程LabVIEW开发从LabVIEW调用动态链接库(DLL) 点击:89 | 回复:0



fjczd

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:552帖 | 36回
  • 年度积分:703
  • 历史总积分:1294
  • 注册:2008年8月14日
发表于:2022-01-26 20:18:40
楼主

LabVIEW编程LabVIEW开发从LabVIEW调用动态链接库(DLL)

我有用C / C ++编写的代码/ API,我希望能够在LabVIEW中调用它。用C代码创建动态链接库(DLL)后,如何从LabVIEW中调用DLL?

若要调用DLL,首先必须确定该库是C / C ++ DLL还是Microsoft .NET Assembly / .NET DLL。


若要确定您具有哪种类型的库,可以检查DLL文件的可移植可执行(PE)标头。

DLL是C / C ++ DLL:

1.如果没有头文件,请查找头文件(* .h)或函数原型定义,请跳至步骤4。

2.确定您要调用的功能。请注意,函数的参数是否包含原始数据类型参数(例如int,char,double等),或者它们是否包含复杂的数据类型(例如struct,数组或向量)。

3.如果函数不包含任何复杂的数据类型,并且您具有头文件(* .h),则可以使用导入共享库向导创建一个包含该头文件中的函数的LabVIEW库。您可以在工具»导入»共享库(.dll)...中找到该选项。继续执行向导。

image.png

4.如果没有头文件,则需要使用“ 调用库功能节点”以及.DLL的正确文档。下图显示了调用库功能节点在托盘中的位置:

 image.png

5.双击“呼叫库功能节点”以配置该节点。在配置窗口的“功能”选项卡上,输入DLL的路径,然后选择要调用的功能。

 image.png

6.如果要调用的函数包含复杂的数据类型,则需要在“调用库函数”节点的配置对话框中手动定义函数原型(如果DLL已使用类型库编译,则参数数据和返回类型将自动定义)。导航到配置窗口中的“参数”选项卡。在这里,您将添加参数并修改返回类型,直到窗口底部的函数原型与DLL的函数定义匹配为止。

 image.png

DLL是.NET程序集:

1.为了在LabVIEW中使用.NET程序集,只需使用.NET面板(Connectivity ».NET )查找所有可用功能。

2.首先使用构造器节点来实例化.NET程序集中的类。可以通过双击“构造器”节点以打开“选择.NET构造器”对话框来完成。

 image.png

3.通过简单地将类引用从构造函数节点连接到属性或调用节点,即可使用属性和调用节点来访问类的属性和方法。如以下VI片段所示。

 image.png

注意:该图像是LabVIEW片段,其中包含可在项目中重复使用的LabVIEW代码。要使用代码段,请右键单击图像,将其保存到计算机,然后将文件拖到LabVIEW图表上。

附加信息

.NET DLL也称为.NET程序集,在.NET编程中很有用。 .NET DLL使用公共语言运行库(CLR)和.NET Framework来管理DLL中的功能。

请注意,如果您的复杂数据类型是具有多个原始数据类型(int,double,char)的结构,则可以使用基于C的语言创建包装DLL,以简化函数调用。


C / C ++结构并不总是与LabVIEW数据类型直接相关,并且包装DLL可以适当地提取复杂结构的内容并将其转换为原始术语。例如,您正在使用的DLL利用C中的结构,其中包含char *(字符串或字符数组)。包装器DLL可以包含带有char *参数的包装器函数,该参数将char *放入结构中,并依次调用原始DLL。在LabVIEW中,您可以调用包装DLL函数。或者,如果您具有DLL源代码,则可以直接修改DLL,以便它采用char *而不是结构。


LabVIEW示例查找器提供了完整且实用的示例,说明了如何在LabVIEW中正确调用外部代码。查看帮助>>查找示例>>与外部应用程序通信



程序如下附件所示。

相关资料说明,如下所示。



北京瀚文网星科技有限责任公司www.bjcyck.com,是一家以LabVIEW(虚拟仪器)为主要技术手段的开发公司。其服务领域包括:汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各领域。涵盖了从研发、测试、生产到服务的产品开发所有阶段。

公司为您提供运动控制、电子设计、视觉和射频以及无线等诸多领域的解决方案,技术咨询以及资源整合。所提供服务确保符合NI产品认证和行业标准,更有效地使用NI的全球资源,提供LabVIEW软件开发、维护、破解等服务以及NI产品代理。

13691203761王工(手机微信)

LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序

文字内容均在附件Word中,同时上文中提到的例子和资料,均在word中的附件里,可点击下载。登录www.bjcyck.com可以查看更多详细信息。这里只是简略的介绍,有任何关于LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序相关问题,请与我们联系。

链接地址为:http://www.bjcyck.com/nd.jsp?id=357#_np=2_358




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师