LabVIEW使用Python MathWorks® MATLAB®软件和C/C++

简介: LabVIEW使用Python MathWorks® MATLAB®软件和C/C++

LabVIEW使用Python MathWorks® MATLAB®软件和C/C++


LabVIEW与其他编程语言的集成对于构建测试系统的工程师来说是一项非常实用的功能。将Python、MathWorksMATLAB软件、C/C++和.NET等编程语言与LabVIEW的图形化数据流相结合,能够集各语言之所长,在更短的时间内构建灵活的测试系统。


从LabVIEW调用Python脚本


过去数年,Python的应用日益普及且不断扩展,为各种应用提供了数十万个现成的代码库。将Python集成到LabVIEW中,即可将Python灵活的脚本功能与LabVIEW的系统设计工具相结合。


通过Python节点,用户可在LabVIEW的程序框图中本地调用Python脚本。这使得两种编程语言之间能够以低延迟实现互操作。

7d0f218a823f2de2d9e64fc1ab3ec5ed.png



在Python节点中,可以在调用函数时指定使用的版本和Python路径,从而能够访问安装在自定义目录中的Python。这意味着能够使用多个Python节点来打开基于不同版本的多个会话或打开存储在自定义目录中的可执行文件。


LabVIEW2022 Q3新增了对将Python类对象作为参数进行传递的支持。Python节点上的引用句柄输出表示一个Python类对象,可以将其作为输入传递给另一个Python节点,从而对类对象进行操作。


b4956cfdb90f8f09104ff85093d7cdfe.png


LabVIEW2023 Q1新增功能用于通过Anaconda和Venv调用Python虚拟环境。


为改进Python与LabVIEW之间的互操作性,NI一直持续投资,并计划在2023年及未来不断进行更新。


将LabVIEW和MathWorksMATLAB软件集成


常见的数值分析、信号处理和高等数学编程方法同样可用于调用使用MATLAB开发的.m文件。在图形化编程环境中使用MATLAB节点可将这些文件组合到一个VI中,从而将MATLAB的分析功能集成到测试和测量系统中。

2ff1e018a87205eba4b2f0290e2d2c94.png



此外,LabVIEW现可支持用户选择特定的MATLAB版本来执行程序。


65bbe89ccb3ba2a79a425aee2abb7d2a.png


从LabVIEW2022 Q3开始,LabVIEW增加了新的调试功能,比如在MATLAB编辑器中添加断点;通过单步执行即可从LabVIEW切换到.m文件,便于调试代码;或者在LabVIEW中启动MATLABIDE,来随时编辑.m文件。

88b9cc412a551696a7ce3cb4a17c08d6.png



在LabVIEW中调用C/C++DLL


使用LabVIEW时,可通过调用动态链接库(DLL)或共享库来复用现有代码。


例如,如果需要在LabVIEW中复用C/C++共享库,则可使用调用库函数节点来调用这个共享库。为简化外部库的导入,LabVIEW还提供了导入共享库向导。该向导可自动创建或更新LabVIEW包装VI项目库,以便集成到LabVIEW程序框图中。


cdb1858a5ab4abb97cf765f7860e83e3.png


在LabVIEW中调用.NET程序集


在LabVIEW中复用现有代码的另一种方法是调用.NET程序集。


如要访问.NET程序集,请使用构造器节点。将构造器节点置于程序框图时,会出现一个对话窗口,以便用户选择适当的.NET程序集。LabVIEW可自动识别所有方法和属性,并通过“方法和属性节点”显示这些方法和属性。


ea7e0535c3fe9fa904fc6d774f842d70.png



LabVIEW可加载针对.NETCLR 4.0或较早版本的.NET程序集。不过,LabVIEW会使用.NETCLR 4.0版本加载所有程序集。


需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
2月前
|
jenkins Shell 测试技术
|
3月前
|
供应链 新能源 调度
微电网调度(风、光、储能、电网交互)(Matlab&Python代码实现)
微电网调度(风、光、储能、电网交互)(Matlab&Python代码实现)
117 0
|
2月前
|
存储 缓存 监控
用 C++ 红黑树给公司电脑监控软件的日志快速排序的方法
本文介绍基于C++红黑树算法实现公司监控电脑软件的日志高效管理,利用其自平衡特性提升日志排序、检索与动态更新效率,并结合实际场景提出优化方向,增强系统性能与稳定性。
117 4
|
2月前
|
安全 jenkins Java
Java、Python、C++支持jenkins和SonarQube(一)
Jenkins 是一个开源的 持续集成(CI)和持续交付(CD) 工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
227 5
|
2月前
|
机器学习/深度学习 编解码 数据可视化
【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)
【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(Python&Matlab代码实现)
|
2月前
|
jenkins Java Shell
Java、Python、C++支持jenkins和SonarQube(全集)
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
301 1
|
2月前
|
jenkins Java 持续交付
|
3月前
|
机器学习/深度学习 数据采集 算法
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
240 4
|
2月前
|
jenkins Java 测试技术
|
5月前
|
存储 机器学习/深度学习 算法
基于 C++ 的局域网访问控制列表(ACL)实现及局域网限制上网软件算法研究
本文探讨局域网限制上网软件中访问控制列表(ACL)的应用,分析其通过规则匹配管理网络资源访问的核心机制。基于C++实现ACL算法原型,展示其灵活性与安全性。文中强调ACL在企业与教育场景下的重要作用,并提出性能优化及结合机器学习等未来研究方向。
149 4

推荐镜像

更多