簡體   English   中英

有什么方法可以開發Python GUI來控制LabVIEW VI?

[英]Is there a way i can develop a Python GUI to control LabVIEW VIs?

我正在為測試平台設置一個基於Python3構建的軟件,當前這些平台使用National Instruments cRIO硬件和其他NI硬件。 系統在Windows計算機上運行。

為了控制這些硬件,我們將需要基於LabVIEW構建的VI和子VI。 我知道LabVIEW帶有自己的用戶界面,但是我仍然想用python開發我的GUI,因為將來並不是所有的鑽機都將使用NI硬件或LabVIEW。 將來可能會有MATLAB插件。

我已經看過在線教程,可以在LabVIEW VI中使用python函數,但是對於我來說,可以使用LabVIEW VI和在Python上構建GUI的參考點有沒有?

提前謝謝你的幫助。

最靈活的體系結構是根據需要進行的通信類型使用TCP / IP,UDP和Web服務的某種組合。 這也使您可以靈活地在cRIO(或其他設備)與主機PC之間移動I / O代碼的不同部分,因為無論您是要與其他設備還是在同一台計算機上進行通信,相同的協議都將起作用。

《 NI CompactRIO開發人員指南》的第4章很好地介紹了這些選項,但總結如下:

  • 消息,命令或流數據的TCP / IP,不會丟失任何數據
  • UDP用於廣播更新,其中低延遲比100%完整性更重要
  • 用於訪問當前值(標簽)的Web服務-我想說這些也適用於短消息或命令。

LabVIEW中提供了所有示例,一旦您了解了基礎知識,就應該能夠實現通信的相應Python端,而不會遇到太多麻煩-並且類似地,將來可以用MATLAB或其他方式代替LabVIEW代碼(如果您真的必須)。

請記住,在過去的幾年中,Web服務的功能在LabVIEW中已經發生了很大變化,因此,如果您在線查看任何示例,請檢查它們是否具有最新功能。

另外,我自己對此沒有經驗,但是您可能想研究ZeroMQ ,它具有可用於PythonLabVIEW和許多其他語言的綁定。

我同意最好的選擇可能是直接實現基於TCP / IP的通信,但是如果您想要更簡單的方法(尤其是如果您的通信采用“在此處運行VI的一組指令,然后運行該VI,然后給我結果”),您可能想看看

  • Wiresmith CLI工具 (GitHub發行版中的VI軟件包當前比VIPM提供的更新),或
  • NI CLI工具,默認安裝在LabVIEW 2018中,但自2014年以來提供對版本的支持下載鏈接文檔

尤其是,Wiresmith工具使用TCP / IP連接到您指定的VI(或exe),然后可以使用簡單的VI將消息寫回到控制台。

我最近在SCons(基於Python的構建系統)中使用了該工具,並發現它非常有用,但是它可能比完整的測試系統簡單得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM