2 回答

TA貢獻(xiàn)1805條經(jīng)驗 獲得超9個贊
最靈活的架構(gòu)是使用 TCP/IP、UDP 和 Web 服務(wù)的某種組合,以適合您需要進(jìn)行的通信類型。這也使您可以靈活地在 cRIO(或其他設(shè)備)和主機(jī) PC 之間移動 I/O 代碼的不同部分,因為無論您是與不同設(shè)備通信還是在同一臺機(jī)器上通信,相同的協(xié)議都將起作用。
這些選項在 NI CompactRIO 開發(fā)人員指南的第 4 章中得到了很好的介紹,但總結(jié)如下:
用于消息、命令或流數(shù)據(jù)的 TCP/IP,不會丟失數(shù)據(jù)
UDP 用于廣播更新,其中低延遲比 100% 完整性更重要
用于訪問當(dāng)前值(標(biāo)簽)的 Web 服務(wù)——我想說這些也適用于短消息或命令。
LabVIEW 中有所有這些示例,一旦理解了基礎(chǔ)知識,您應(yīng)該能夠輕松實現(xiàn)通信的相應(yīng) Python 端——同樣,將來用 MATLAB 或其他東西代替 LabVIEW 代碼(如果你真的必須)。
請記住,在過去幾年中,您可以在 LabVIEW 中使用 Web 服務(wù)執(zhí)行的操作發(fā)生了很大變化,因此,如果您查看任何在線示例,請務(wù)必檢查它們是否具有最新功能。
或者,我自己也沒有這方面的經(jīng)驗,但您可能想查看ZeroMQ,它具有可用于Python、LabVIEW和許多其他語言的綁定。

TA貢獻(xiàn)1780條經(jīng)驗 獲得超4個贊
我同意最好的選擇可能是直接實現(xiàn)基于 TCP/IP 的通信,但是如果您想要更簡單的東西(特別是如果您的通信采用“這是運行 VI 的一組指令,請運行該 VI 然后給我結(jié)果”)你可能想看看
該Wiresmith CLI工具(在VI包裝在GitHub上發(fā)布,目前比可通過VIPM更新),或
特別是,Wiresmith 工具使用 TCP/IP 連接到您指定的 VI(或 exe),然后可以使用簡單的 VI 將消息寫回控制臺。
我最近將它與 SCons(基于 Python 的構(gòu)建系統(tǒng))一起使用,并發(fā)現(xiàn)它非常有用,但這可能是一個比完整測試系統(tǒng)簡單得多的界面。
添加回答
舉報