How a UA Gateway works

Questions regarding installing, running and configuring UaGateway.

Moderator: uagateway

Post Reply
ssorenes
Jr. Member
Jr. Member
Posts: 3
Joined: 30 Jul 2015, 07:24

How a UA Gateway works

Post by ssorenes »

Hi,

I am testing the UaGateway and have connected a couple of demo OPC UA servers to it, and I use UaExpert to connect to the UaGateway.
When I connect to the Gateway I see one unified address space and all the namespaces of the underlying servers.

But I am very curious about how this actually works - the details in this. I don't find much information in the OPC UA specification.
Something is explained in Part 4, regarding the discovery process when using a Gateway.

When I from UaGateway register say two OPC UA servers, what happens then?
Is the UaGateway storing/persisting the two combined address spaces as one address space?
Or is the Gateway only passing service requests from connecting clients down to underlying servers?

I really miss some documents explaining more in details how a Gateway in OPC UA works.

Hope you can help me out.

Best Regards,
Steffan Sørenes

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

Re: How a UA Gateway works

Post by Support Team »

Hi Steffan,

OPC UA does not define in detail how an aggregating OPC UA server works. The main issue is the handling of namespaces.

There are Namespaces (URIs) where the Identifiers are globally unique like in Namespaces for companion specifications where the information model, the identifiers of Nodes (NodeId), the BrowseNames and the namespace URI is defined by a specification. If such a namespace is aggregated, you want to see the original Namespace URI also in the namespace table of the aggregating server.

But there are other namespaces where the identifiers are only unique in the scope of a server. An example would be a program running in a PLC with OPC UA Server. If you have the same program running on 10 PLCs, they will have all the same Namespace URI and Identifiers for the data in the program. If such namespaces are aggregated (e.g. the 10 PLC OPC UA Servers aggregated in one UaGateway), the aggregating server must append something to the namespaces to make them unique in its own namespace table.

Therefore the concept of a namespace meta data object was introduced in OPC UA 1.02 specification. It indicates if the namespace is globally unique. But it will take a while until all companion specifications and tooling will be updated to include this information.

UaGateway is doing a transparent aggregation and is forwarding all requests to the underlying, aggregated servers. UaGateway does not keep any cache of address space or data. The main work is the multiplexing and mapping of namespaces. The default mapping is that UaGateway always appends the name or ServerUri to the Namespace URI of the aggregated server. But it is possible to configure globally unique Namespace URIs. For them, the Namespace URI is not changed.

Best Regards,
Unified Automation Support Team

Post Reply