2016-10-07 68 views
0

我每秒輪詢OPCDA服務器的數據。我使用OPC Foundation的標準.NET DLL來實現這一點。OPCDA讀取時間

我的服務與OPCDA服務器位於同一臺服務器上。但是,我的閱讀時間通常在900-1000毫秒左右。在我的代碼或服務器設置中,這是正常還是錯誤?我調查了大約20個OPCDA標籤。這種操作的「標準」響應時間是什麼,或者說是不可能說的?

+0

爲了獲得更好的性能,您可以切換到支持HDA的OPC UA服務器或使用OPC UA網關,將OPC DA標籤暴露爲OPC UA節點 –

回答

1

這聽起來不正常,但不知道數據的來源是什麼。

+0

需要什麼信息才能給出更具體的答案是錯的? –

+0

就像......「哦,是的,另一端是一個或多個可怕的舊Modbus設備在RS485上通話...是的,這可能是爲什麼通信速度很慢。 –

+0

請注意,建議在OPC中定期輪詢輪詢。你應該使用訂閱。爲什麼?因爲如果從設備讀取大約1秒鐘,並且您以1秒的速率輪詢,您的閱讀時間將沒有時間完成其處理工作,再加上讀取時間的任何波動都會立即影響您。通過訂閱,您只需等待傳入的通知,然後對其進行處理,從而獲得更穩定的時間,並使服務器能夠定期地就如何獲取數據做出最佳決策。 – ZbynekZ

0

檢查用於從服務器獲取數據以及傳遞給它的參數的OPC DA接口的文檔。

如果您使用同步讀取,然後在服務器端或其後端(即服務器讀取實際數據需要太多時間)肯定存在問題。

如果您使用異步讀取(訂閱)檢查參數,如'更新率'命名。它定義了新數據發送到客戶端的頻率。例如。如果是1秒鐘,客戶端將收到不超過1秒的新數據。

訂閱受所有OPC DA版本支持。如果服務器沒有實現這個接口,你將不能異步讀取,並會得到類似'未實現'的錯誤代碼。

0

您使用的是哪種OPC服務器?可能會有一個設置來保持更新速率不變或尊重客戶端更新速率。