我正在设置一个软件,将建立在Python3上,用于测试平台,目前这些钻机使用的是国家仪器cRIO硬件和其他NI硬件。系统在Windows计算机上运行。
为了控制这些硬件,我们需要建立在LabVIEW上的VIs和子VIs。我知道LabVIEW有它自己的用户界面,但是我仍然希望在python中开发我的GUI,因为将来并不是所有的平台都会使用NI硬件或LabVIEW。将来可能会有MATLAB插件。
我在网上看到了一些教程,人们可以在LabVIEW VIs中使用Python函数,但是对于我来说,有什么参考点可以在这里使用LabVIEW VIs并在其上构建LabVIEW吗?
谢谢你提前提供帮助。
发布于 2019-04-05 08:29:03
最灵活的架构是使用TCP/IP、UDP和web服务的某种组合,以适合您需要进行的通信类型。这还使您可以灵活地在cRIO (或其他设备)和主机PC之间移动I/O代码的不同部分,因为无论您是与不同的设备还是在同一台计算机上通信,相同的协议都将工作。
NI CompactRIO开发人员指南第4章很好地介绍了这些选项,但总括而言:
所有这些都有LabVIEW中的例子,一旦您了解了基本知识,就应该能够实现通信的相应的Python,并且类似地,将来用MATLAB或其他东西代替LabVIEW代码(如果真的必须的话)。
请记住,在过去几年中,web服务的功能在LabVIEW中发生了很大变化,因此,如果您在网上查看任何示例,请检查它们是否与最新功能保持一致。
或者,我自己也没有这方面的经验,但您可能想了解一下ZeroMQ,它有适用于Python、LabVIEW和许多其他语言的绑定。
发布于 2019-04-05 09:39:01
我同意最好的选择可能是直接实现基于TCP/IP的通信,但是如果您想要更简单的通信(特别是如果您的通信方式是“这是一组运行VI的指令,运行该VI,然后给我结果”),您可能想看看
特别是,Wiresmith工具使用TCP/IP连接到您指定的VI (或exe),然后可以使用简单的VI将消息写回控制台。
我最近在SCons (一个基于Python的构建系统)中使用了这个工具,并且发现它非常有用,但是这可能比一个完整的测试系统要简单得多。
https://stackoverflow.com/questions/55518613
复制相似问题