Page 1 of 1

Retrieving all alarm nodes from the server

Posted: 16 Sep 2022, 11:12
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?

Re: Retrieving all alarm nodes from the server

Posted: 02 Nov 2022, 19:55
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.