簡體   English   中英

如何在Eclipse Milo中添加警報

[英]How to add alarms in Eclipse Milo

我目前正在使用Eclipse Milo來訂閱OPC UA服務器(也是Milo)的值:

client.getSubscriptionManager().createSubscription(interval).get();

不幸的是,訂閱總是與特定的時間間隔相關。 我正在尋找可以立即收到的“推送通知”之類的消息,沒有特定的時間間隔。 顯然,可能會創建一個非常頻繁的訂閱,但這不是一個很好的方法。

瀏覽Milo源代碼時,我注意到了LimitAlarmNode類。 是否可以設置將服務器上的節點設置為特定值后立即接收到的警報? 如果是這樣,我該怎么辦?

非常感謝你。

不幸的是,訂閱總是與特定的時間間隔相關。 我正在尋找可以立即收到的“推送通知”之類的消息,沒有特定的時間間隔。

OPC UA中沒有即時訂閱; 通知將始終以為訂閱定義的時間間隔發布。 當您僅處理少量項目時,這似乎是不可取的,但是當您發生成千上萬(或更多)潛在更改時,這是唯一可擴展的方法。

OPC UA警報和條件在OPC UA事件模型的頂部定義。 客戶端當前支持訂閱事件,因此,如果您確實具有支持Alarms的服務器,則客戶端將能夠訂閱事件。

不幸的是,事件尚未在服務器SDK中實現,因此即使警報確實提供了您正在尋求支持的功能,也可能是服務器中的一種解決方法。

根據Unified Automatiion的OPC UA文檔,OPC UA客戶端可以訂閱三種類型的更改:

  1. 訂閱變量值(變量的Value屬性)的數據更改,
  2. 訂閱對象的事件(對象和事件過濾器集的EventNotifier屬性),以及
  3. 訂閱基於當前變量值,以客戶端定義的時間間隔計算的聚合值。

第二個選項似乎適用於您的用例,因為這是OPC UA服務器中不進行采樣的選項。 隨着對象事件的發生,它們被添加到隊列中。 我不知道該怎么做,而且我不確定Kevin Herron在聲明“對象尚未在服務器SDK中實現”時所指的對象是事件。

來源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM