2017-07-20 74 views
0

我正在開發一個項目,在該項目中,我必須通過用python編寫的GUI啓動一個VI(Labview程序)。我沒有管理員權限,因此我使用JetBrain工具箱安裝了PyCharm社區,並使用MSI文件安裝了Python 3.3通過Python啓動Labview程序

我在互聯網上看到要做我想做的事情,我需要安裝pywin32擴展:extension -link,但是當我啓動它時,它找不到我的Python安裝。

所以,我的問題是:是否有另一種方法來控制VI從Python?

非常感謝您的回答。我是兩種語言的初學者。

+0

沒關係。我終於成功了。創建2個線程,一個啓動VI,另一個運行python代碼,通過TCPIP通信獲取一些數據。 –

+0

我曾經反其道而行,用LabVIEW的[System Exec](http://digital.ni.com/public.nsf/allkb/8E19CA81874FFDD786256BE40066C151)調用python腳本 - 其中一個論據是是否要等待完成或不。我還使用System Exec列出了調用python腳本之前和之後的所有進程,因此如果它耗時過長,我可以通過LabVIEW來獲取它的進程號並將其殺死(再次使用System Exec)。 – berna1111

+0

berna,我寧願從Python啓動一個LabVIEW Vi,因爲我比Python更好用Python。而且因爲我必須在Python腳本中處理線程和計時器。但是,謝謝你告訴我,這樣做也是可能的。 –

回答

1
  • 如果你想運行一個簡單的VI,你必須運行LabVIEW的IDE - 一個 VI是一個源代碼文件,而不是生成的可執行文件,所以可以直接運行, 它在被託管編輯。
  • 如果你想運行一個內置於 可執行文件的VI,你顯然必須運行該構建的EXE。

所以,無論哪種方式,你都必須能夠啓動EXE。

你的Python可以調用C風格的DLL嗎?如果是這樣,你可以將你的VI構建到DLL中,然後以這種方式調用VI。

+0

現在我正在使用VI。但最後,它會被編譯成可執行文件。 現在,我使用Pyhton中的win32com dll啓動VI,我可以「調用」或「運行」VI,但這不是我想要的,因爲我想在啓動調用後啓動VI並執行python代碼並且像這樣兩個代碼在同一時間執行。但是這裏Python等待VI執行的結束來繼續它的腳本。也許我理解錯了什麼,我認爲有可能在同一時間執行Python代碼和VI(例如,我正在通過服務器/客戶端通信來執行此操作)。 –