From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



在使用程式改變共用變數 Shared Variable 之屬性得到"錯誤碼 -1950679035: 共用變數 Shared Variable 不存在"



主要軟體:
主要軟體版本: 8.0
主要軟體修正版本:
次要軟體: N/A

問題:

在程式裡面透過SharedVariableIO類別裡的屬性節點修改已部署(deploy)的共用變數屬性時,我常會得到下面的錯誤:

Error -1950679035 occurred at ni_tagger_lv_read

Possible reasons:
The shared variable does not exist

我要如何防止這個錯誤?



解答:

如果你嘗試寫入SharedVariableIO裡的屬性節點的次數過於頻繁,妳很可能會得到這個錯誤訊息。這個錯誤發生起因於現在正在設定的共用變數在Shared Variable Engine裡被改變時是不能存取的(inactive)。

要預防這個錯誤的最好方法是不要在迴圈裡對共用變數做寫入的動作,而使用event based programming。

另外也建議使用DataSocket Write 對屬性作寫入的動作,而不是使用SharedVariableIO的屬性節點。這是因為在使用屬性節點的時候,Shared Variable Engine裡面的refnum property map在共享變數被更新的時候是會被強迫更新的;而使用DataSocket API 是直接對Shared Variable Engine寫入新的屬性值的。

Hi alarm level屬性的範例URL在\\localhost\process name\variable name.Alarms.Hi.level。也建議你針對shared variable reference nodes使用適當的error handling方式,而不是讓VI自動處理error,這會使VI在有error產生的時候會自動停止。



相關連結:

附加檔案:


Shared Var. HI LO alarm.gif - Shared Var. HI LO alarm.gifAlarm Limit error datasocket workaround.vi - Alarm Limit error datasocket workaround.vi
DSC Alarm Limit change.lvproj - DSC Alarm Limit change.lvprojDSC Alarm Limit error.vi - DSC Alarm Limit error.vi



報告日期: 02/06/2006
最後更新: 05/15/2008
文件偏號: 3U5G88Y3