首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有方法可以开发一个Python来控制LabVIEW VIs?

有没有方法可以开发一个Python来控制LabVIEW VIs?
EN

Stack Overflow用户
提问于 2019-04-04 14:33:57
回答 2查看 1.3K关注 0票数 1

我正在设置一个软件,将建立在Python3上,用于测试平台,目前这些钻机使用的是国家仪器cRIO硬件和其他NI硬件。系统在Windows计算机上运行。

为了控制这些硬件,我们需要建立在LabVIEW上的VIs和子VIs。我知道LabVIEW有它自己的用户界面,但是我仍然希望在python中开发我的GUI,因为将来并不是所有的平台都会使用NI硬件或LabVIEW。将来可能会有MATLAB插件。

我在网上看到了一些教程,人们可以在LabVIEW VIs中使用Python函数,但是对于我来说,有什么参考点可以在这里使用LabVIEW VIs并在其上构建LabVIEW吗?

谢谢你提前提供帮助。

EN

回答 2

Stack Overflow用户

发布于 2019-04-05 08:29:03

最灵活的架构是使用TCP/IP、UDP和web服务的某种组合,以适合您需要进行的通信类型。这还使您可以灵活地在cRIO (或其他设备)和主机PC之间移动I/O代码的不同部分,因为无论您是与不同的设备还是在同一台计算机上通信,相同的协议都将工作。

NI CompactRIO开发人员指南第4章很好地介绍了这些选项,但总括而言:

  • TCP/IP用于消息、命令或流数据,其中不丢失任何数据
  • UDP用于广播更新,在这些更新中,低延迟比100%完整性更重要。
  • 用于访问当前值(标记)的Web服务--我认为这些服务也适用于短消息或命令。

所有这些都有LabVIEW中的例子,一旦您了解了基本知识,就应该能够实现通信的相应的Python,并且类似地,将来用MATLAB或其他东西代替LabVIEW代码(如果真的必须的话)。

请记住,在过去几年中,web服务的功能在LabVIEW中发生了很大变化,因此,如果您在网上查看任何示例,请检查它们是否与最新功能保持一致。

或者,我自己也没有这方面的经验,但您可能想了解一下ZeroMQ,它有适用于PythonLabVIEW和许多其他语言的绑定。

票数 2
EN

Stack Overflow用户

发布于 2019-04-05 09:39:01

我同意最好的选择可能是直接实现基于TCP/IP的通信,但是如果您想要更简单的通信(特别是如果您的通信方式是“这是一组运行VI的指令,运行该VI,然后给我结果”),您可能想看看

  • 线匠CLI工具 ( GitHub上发布的VI包比通过VIPM发布的版本更新),或
  • NI CLI工具,默认安装在2018年的LabVIEW中,但自2014年以来支持下载连结文档的版本。

特别是,Wiresmith工具使用TCP/IP连接到您指定的VI (或exe),然后可以使用简单的VI将消息写回控制台。

我最近在SCons (一个基于Python的构建系统)中使用了这个工具,并且发现它非常有用,但是这可能比一个完整的测试系统要简单得多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55518613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档