LabVIEWCompactRIO 開發(fā)指南13 網(wǎng)絡(luò)發(fā)布的共享變量特性
LabVIEWCompactRIO?開發(fā)指南13
網(wǎng)絡(luò)發(fā)布的共享變量特性
緩沖
啟用緩沖選項會使使用共享變量的編程變得更加復(fù)雜,因此在大多數(shù)應(yīng)用程序中禁用此選項。如果對啟用共享變量緩沖感興趣,請首先查看NI?Developer?Zone文檔Buffered?Network-Published?sharedVariables:?Components?and?Architecture??梢酝ㄟ^右鍵單擊共享變量節(jié)點并啟動如圖4.6所示的共享變量屬性對話框來驗證是否禁用了緩沖。默認(rèn)情況下,Use?Buffering是關(guān)閉的。

圖4.6?確保在使用共享變量進(jìn)行標(biāo)記通信時禁用緩沖
結(jié)論
網(wǎng)絡(luò)發(fā)布的共享變量非常靈活和可配置??梢詣?chuàng)建一個具有實時FIFO特征的變量,以在時間關(guān)鍵循環(huán)中包含網(wǎng)絡(luò)通信任務(wù)。當(dāng)這樣做時,LabVIEW會自動運行一個后臺循環(huán),將網(wǎng)絡(luò)數(shù)據(jù)復(fù)制到實時FIFO中,如圖4.7所示。請記住,這可以防止在執(zhí)行網(wǎng)絡(luò)通信時在時間關(guān)鍵循環(huán)中出現(xiàn)抖動,但這并不意味著網(wǎng)絡(luò)通信本身是確定的。

圖4.7?共享變量啟用實時FIFO
當(dāng)您為網(wǎng)絡(luò)發(fā)布的共享變量啟用實時FIFO時,將在實時目標(biāo)上運行一個隱藏的后臺循環(huán),將網(wǎng)絡(luò)值復(fù)制到實時FIFO中。
這個功能可以簡化程序,但它有一些限制:
■啟用實時FIFO時,網(wǎng)絡(luò)發(fā)布的共享變量的某些功能不可用
■錯誤管理更加困難,因為網(wǎng)絡(luò)錯誤會傳播到各個節(jié)點
■將來修改程序以使用不同的網(wǎng)絡(luò)通信更加困難
對于既涉及網(wǎng)絡(luò)通信又涉及時間關(guān)鍵型循環(huán)的應(yīng)用程序,另一種選擇是使用網(wǎng)絡(luò)發(fā)布的常規(guī)共享變量進(jìn)行網(wǎng)絡(luò)通信,并為網(wǎng)絡(luò)通信任務(wù)維護(hù)單獨的循環(huán)??梢允褂玫?章:設(shè)計一個LabVIEW實時應(yīng)用中討論的進(jìn)程間通信機制在這兩個循環(huán)之間進(jìn)行通信。
生命周期
所有共享變量都是項目庫的一部分。默認(rèn)情況下,一旦運行引用任何包含的變量的VI,共享變量引擎就會部署并發(fā)布整個共享變量庫。停止VI不會將該變量從網(wǎng)絡(luò)中移除。此外,如果重新啟動承載共享變量的機器,那么一旦機器完成引導(dǎo),該變量就會再次在網(wǎng)絡(luò)上可用。如果需要從網(wǎng)絡(luò)中刪除共享變量,必須顯式地從Project?Explorer窗口或NI?Distributed?System?Manager中取消部署變量或庫。
SCADA功能
LabVIEW數(shù)據(jù)記錄和監(jiān)控(DSC)模塊在網(wǎng)絡(luò)發(fā)布的共享變量之上提供了一套額外的SCADA功能,包括以下內(nèi)容:
■歷史日志記錄到NI?Citadel數(shù)據(jù)庫
■報警和報警記錄
■擴展
■基于用戶的安全
■創(chuàng)建自定義I/O服務(wù)器
網(wǎng)絡(luò)發(fā)布的掃描引擎I/O變量和別名
默認(rèn)情況下,I/O變量和I/O別名被發(fā)布到網(wǎng)絡(luò)上,以便使用NI-PSP協(xié)議進(jìn)行遠(yuǎn)程I/O監(jiān)控。它們由與掃描引擎關(guān)聯(lián)的正常優(yōu)先級線程以在控制器屬性下指定的速率發(fā)布??梢酝ㄟ^訪問共享變量屬性對話框來配置I/O變量是否發(fā)布它們的狀態(tài)。

圖4.8?為I/O變量啟用網(wǎng)絡(luò)發(fā)布
發(fā)布的I/O變量針對I/O監(jiān)控進(jìn)行了優(yōu)化。它們并不適用于所有網(wǎng)絡(luò)發(fā)布的共享變量特性和所有LabVIEW設(shè)備。為了在LabVIEW應(yīng)用程序之間共享數(shù)據(jù)時獲得最大的靈活性,應(yīng)該使用網(wǎng)絡(luò)發(fā)布的共享變量。
?
需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復(fù)制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個問題就不用加微信咨詢了。有關(guān)LabVIEW編程、LabVIEW開發(fā)等相關(guān)項目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網(wǎng)站搜索下載。