LabVIEWCompactRIO 開發(fā)指南23 Web服務(wù)
LabVIEWCompactRIO?開發(fā)指南23
Web服務(wù)
LabVIEW8.6中引入的LabVIEWWeb服務(wù)提供了一種開放的標準方式,可通過Web與VI進行通信??紤]一個部署在分布式系統(tǒng)中的LabVIEW應(yīng)用程序。LabVIEW提供了網(wǎng)絡(luò)流等功能來建立通信,但許多開發(fā)人員需要一種方式,使用標準的基于Web的通信,從沒有LabVIEW的設(shè)備與這些應(yīng)用程序進行通信。借助LabVIEW網(wǎng)絡(luò)服務(wù),可以實現(xiàn)如下功能
■從任何支持Web的設(shè)備與嵌入式LabVIEW應(yīng)用程序通信
■使用標準HTTP協(xié)議建立機器對機器通信
■使用自定義客戶端遠程監(jiān)控和控制LabVIEW應(yīng)用程序
■流式傳輸任何標準的MIME數(shù)據(jù)類型,例如文本,圖像和視頻
■在Windows或LabVIEW實時目標上部署網(wǎng)絡(luò)服務(wù)VI

圖4.33.使用Web服務(wù)通過Web傳輸數(shù)據(jù)
Web服務(wù)充當任何類型的軟件的WebAPI,無論該軟件是控制復(fù)雜的嵌入式系統(tǒng)還是簡單的數(shù)據(jù)庫存儲。若要使用Web服務(wù),客戶端向托管該服務(wù)的遠程系統(tǒng)發(fā)送請求,然后由遠程系統(tǒng)處理請求并發(fā)回響應(yīng)(通常是XML或可擴展標記語言消息)??蛻舳丝梢赃x擇顯示原始XML數(shù)據(jù),但更常見的做法是分析數(shù)據(jù)并將其作為GUI的一部分顯示給用戶。
使用這種方法,可以為CompactRIOLabVIEW實時目標創(chuàng)建一個或多個VI,并將其構(gòu)建為Web服務(wù)。這些網(wǎng)絡(luò)服務(wù)VI提供了一個標準接口,用于在嵌入式設(shè)備和通過網(wǎng)絡(luò)連接的任何計算機之間交換數(shù)據(jù)。

圖4.34.在遠程系統(tǒng)上托管和執(zhí)行Web服務(wù),并通過標準HTTP協(xié)議訪問
Web服務(wù)的安全選項
可以使用安全套接字層(SSL)加密、用戶和組權(quán)限以及API密鑰在Web客戶端和LabVIEWWeb服務(wù)應(yīng)用程序之間建立安全通信。有關(guān)更多信息,請閱讀LabVIEW幫助文檔《ConfiguringWeb?Services?Security?(Windows,?ETS,?VxWorks)》。
將通信機制添加到設(shè)計圖
為網(wǎng)絡(luò)通信選擇了適當?shù)臋C制后,可以將此信息添加到設(shè)計圖中。圖4.35是本文在第1章:設(shè)計CompactRIO軟件架構(gòu)中討論的渦輪測試應(yīng)用。

圖4.35.將通信機制添加到設(shè)計圖中。
生物反應(yīng)器應(yīng)用使用網(wǎng)絡(luò)流將命令從主機PC發(fā)送到CompactRIO控制器。由于此應(yīng)用程序使用RIO掃描接口來處理I/O,因此網(wǎng)絡(luò)發(fā)布的I/O變量用于將原始I/O數(shù)據(jù)發(fā)送到UI更新過程
?
需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復(fù)制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個問題就不用加微信咨詢了。有關(guān)LabVIEW編程、LabVIEW開發(fā)等相關(guān)項目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網(wǎng)站搜索下載。