LabVIEWCompactRIO 開發(fā)指南16 有效使用網(wǎng)絡(luò)共享變量的技巧
LabVIEWCompactRIO?開發(fā)指南16
有效使用網(wǎng)絡(luò)共享變量的技巧
在使用網(wǎng)絡(luò)共享變量進(jìn)行編程時(shí),可以遵循三個(gè)技巧來最大化性能并避免任何不需要的行為。圖4.11顯示了包含每個(gè)技巧的初始化過程。
技巧1:初始化共享變量
在應(yīng)用程序開始時(shí)將共享變量初始化為已知值。如果沒有初始化共享變量,前幾次迭代可能會(huì)輸出不正確的數(shù)據(jù)或輸出錯(cuò)誤。初始化之后,在應(yīng)用程序啟動(dòng)后加載共享變量引擎時(shí)可能會(huì)遇到一點(diǎn)延遲。
技巧2:序列化共享變量執(zhí)行
使用錯(cuò)誤連線序列化網(wǎng)絡(luò)共享變量節(jié)點(diǎn)的執(zhí)行,以最大化性能。當(dāng)并行執(zhí)行共享變量節(jié)點(diǎn)時(shí),可能會(huì)發(fā)生線程交換并影響性能。串行化的共享變量節(jié)點(diǎn)比并行實(shí)現(xiàn)時(shí)執(zhí)行得更快。

圖4.11?將變量初始化為已知值并序列化變量執(zhí)行。
還有一些時(shí)候,可能不想序列化變量。如果序列化多個(gè)變量,并且第一個(gè)變量中出現(xiàn)錯(cuò)誤,則鏈下的變量不會(huì)執(zhí)行。如果希望確保處理每個(gè)變量,即使在一個(gè)變量中發(fā)生錯(cuò)誤,也應(yīng)該避免對它們進(jìn)行序列化。
技巧3:避免讀取陳舊的共享變量數(shù)據(jù)
為了防止在循環(huán)中重復(fù)讀取相同的值,請使用共享變量節(jié)點(diǎn)的ms?timeout輸入或Read?variable?with?timeout函數(shù)。為共享變量節(jié)點(diǎn)添加毫秒超時(shí)輸入,右鍵單擊該共享變量節(jié)點(diǎn),選擇“Show?Timeout”

圖4.12?使用超時(shí)來防止在循環(huán)中重復(fù)讀取相同的值
?
需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復(fù)制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個(gè)問題就不用加微信咨詢了。有關(guān)LabVIEW編程、LabVIEW開發(fā)等相關(guān)項(xiàng)目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網(wǎng)站搜索下載。