Retrieving all alarm nodes from the server|OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
Retrieving all alarm nodes from the server
Avatar
Maciej Chodorowski
New Member
Members
Forum Posts: 1
Member Since:
09/16/2022
sp_UserOfflineSmall Offline
1
09/16/2022 - 03:03
sp_Permalink sp_Print

Hello

My goal is to retrieve all alarm nodes (their addresses) from the server. These nodes are characterized by having HasTypeDefinition reference pointing towards the ObjectType named AlarmType.

Our existing solution is very slow and most likely suboptimal. Currently it works by searching the whole tree and comparing each node with custom expression, in this case, checking if the nodes reference table contains reference named AlarmType.

I don’t think this is the right direction to solve this problem and I doubt how much it is possible to speed up this proccess. My idea was to use the AlarmType reference and by reversing it reaching the desired nodes. Instead this reference pointed back not at these nodes, but to different SubTypes of AlarmType. These SubTypes have matching BrowseName/DisplayName to the target alarm nodes but are not connected in any way to them. Overall, this solution failed.

What would be the optimal way of achieving my goal?

Avatar
Randy Armstrong
Admin
Forum Posts: 1579
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
2
09/16/2022 - 10:54
sp_Permalink sp_Print

You get all active alarms by subscribing to the Server object with an EventFilter and calling ConditionRefresh.

If a Node exists the ConditionId field provides the NodeId.

You cannot get *all* alarm nodes in the server because they may not even be in the address space (i.e. many servers do not expose alarms as nodes or only make them visible when they are active).

Any client design that depends on browsing the entire address space to find nodes will not work well with many servers with dynamic address spaces. I suggest you revisit your design decisions.

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 42
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1445
Posts: 4889