Retrieving all alarm nodes from the server

Questions regarding the use of the .NET SDK 2.0 for Server or Client development or integration into customer products ...

Moderator: uasdknet

Post Reply
Preus
Jr. Member
Jr. Member
Posts: 1
Joined: 16 Sep 2022, 11:09

Retrieving all alarm nodes from the server

Post by Preus »

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?

User avatar
Support Team
Hero Member
Hero Member
Posts: 3064
Joined: 18 Mar 2011, 15:09

Re: Retrieving all alarm nodes from the server

Post by Support Team »

Hello,

in OPC UA there is a sperate event hierarchy and every event that is emitted by a source node will also be emitted by the event parent node. The parent/ancestor of all events should be the "Server" node. Hence if the OPC UA server is well-behaving, it should be enough to monitor the "Server" node for events. Of course you can set a filter to limit the events to a given type, e.g. AlarmType.
Best regards
Unified Automation Support Team

Post Reply