1. OPC UA客戶端/服務器模型
客戶端/服務器模型是OPC UA中標準的通信模型。基于這樣一種思想:存在一個被動的服務器組件,該組件對所有客戶端的應用程序公開其數據。客戶端應用程序可以通過一些標準化的服務從服務器訪問數據和信息。
客戶端/服務器模型在客戶端/服務器架構下,客戶端要做的第一件事是實現與服務器的連接。客戶端通過一個連接地址(在此我們略過一些細節),將創建一個與服務器的會話通道。該會話包含一個安全的報文,其中包括可選擇的加密和身份驗證等參數——用于識別服務器中的客戶端應用程序和用戶是否匹配。客戶端還可以識別服務器,并決定是否允許與該服務器通信。
會話建立之后,客戶端應用程序可以從服務器請求一些標準服務。這些服務包括:
1.連接并創建會話
2. 瀏覽地址空間——查找服務器上可用的內容
3.讀取-變量值或原始數據
4. 寫入-變量值或原始數據
5. 調用方法
6. 閱讀歷史信息-變量和事件
7. 關閉會話并斷開連接
所以最后,當客戶端完成需求時,它將關閉會話并斷開連接。
客戶端/服務器訂閱
客戶端/服務器模型內還包含一個訂閱模型。在這個模型中,每個客戶端可以創建任意數量的服務器訂閱(在此的訂閱為訂閱功能)。每個訂閱都可以包括變量、EventNotifier的MonitoredItems(具有EventNotifier屬性集的對象節點)。
客戶端/服務器模型內訂閱客戶端/服務器的優缺點
客戶端/服務器模型已經成功地用于各種的SCADA場景中,當不同應用程序之間的連接數量不是很多時,它就會順利交互。但是如果有數十或數百個設備(即服務器)需要持續連接或類似數量的客戶端需要連接到任何服務器,可能會在資源配置方面遇到麻煩,因為每個連接和訂閱都需要內部維護,并且它們會在網絡中占用單獨的流量。
客戶端/服務器模型主要場景OPC UA的設計不是為了實現任何確定性的通信或不可靠網絡上的通信。但是它支持同步服務調用,接收即時結果或對操作指令的確認,這對應用程序非常重要。其安全性也很靈活,可以為每個應用程序和用戶定義規則,甚至為每個變量定義規則。
隨著OPCUA技術的應用范圍越來越廣,對OPCUA技術的更多需求也不斷增加。很多應用希望OPCUA能具備更多確定性通訊特性,或者具備更好的伸縮性。為了應對這類需求,OPCUA定義了Pub/Sub模型。下期我們深入討論Pub/Sub模型的技術詳情。
-
OPC
+關注
關注
7文章
350瀏覽量
46330 -
OPCUA
+關注
關注
1文章
25瀏覽量
2356
發布評論請先 登錄
相關推薦
評論