我正在建立一个基于Python3的软件,用于测试装备,目前这些装备使用NI的cRIO硬件和其他NI硬件。系统在Windows计算机上运行。
要控制这些硬件,我们需要在LabVIEW上构建VI和子VI。我知道LabVIEW带有自己的用户界面,但我仍然希望在python中开发我的GUI,因为未来并非所有的钻机都会使用NI硬件或LabVIEW。将来可以有MATLAB插件。
我在网上看过可以在LabVIEW VI中使用python函数的教程,但是对于我可以使用LabVIEW VI并在Python上构建GUI的参考点是什么?
提前谢谢你的帮助。
我同意最好的选择可能是直接实现基于TCP / IP的通信,但是如果你想要更简单的东西(特别是如果你的通信是“这是一套运行VI的指令”,那么运行那个VI然后给我结果“)你可能想看一下
特别是,Wiresmith工具使用TCP / IP连接到您指定的VI(或exe),然后可以使用简单的VI将消息写回控制台。
我最近一直在使用SCons(基于Python的构建系统),并且发现它非常有用,但这可能是一个比完整测试系统简单得多的界面。
最灵活的架构是使用TCP / IP,UDP和Web服务的某种组合,以适合您需要进行的通信类型。这也使您可以灵活地在cRIO(或其他设备)和主机PC之间移动I / O代码的不同部分,因为无论您是在与其他设备通信还是在同一台计算机上,相同的协议都能正常工作。
这些选项在NI CompactRIO Developers' Guide的第4章中得到了很好的介绍,但总结如下:
在LabVIEW中有所有这些示例,一旦理解了基础知识,您应该能够毫不费力地实现相应的Python通信结束 - 同样,将来用MATLAB替代LabVIEW代码(如果你真的必须)。
请记住,在过去几年中,您在Web服务中所做的工作已经发生了很大的变化,因此,如果您在线查看任何示例,请检查它们是否与最新功能保持同步。