Tag file feature: Expected performance

Questions regarding installing, running and configuring UaGateway.

Moderator: uagateway

Post Reply
dyyb88
Jr. Member
Jr. Member
Posts: 2
Joined: 24 Mar 2023, 07:18

Tag file feature: Expected performance

Post by dyyb88 »

Hi,

We are considering using the UAgateway with the Tag file feature for a project, but are trying to find potential bottlenecks before we have invested to much time into the solution. We have already done a proof of concept with a single DA server deployed and solution seems viable.

What can we expect, performance vice, from an UAgateway installation with:
- Connection to 16 OPC DA servers
- Single OPC UA client reading the UAgateway (Single session, potentially multiple subscriptions and at most 1000 variables read at a single time)
- Mapped 62000 variables and a total of 68000 nodeID's via the tag file feature

I see that the readme.txt is mentioning a limit of 64000 tags, but what is the definition of these tags? I am configuring the tag file via an nodeset file, and is it correct to assume that each time the "extension" child is used to connect a DA address is considered a Tag?

Some background info: We have an emulated environment where we want to replicate the usage of an OPC UA server/client communication from an "real life" HMI/PLC solution. In the Emulated environment we only have an OPC UA solution for the client side communication (the same as for the real life solution) but for the server side we only have a classic OPC DA server available with the data. For this usage, the underlying model/nodeset is important for the final setup.

Best regards,
Kristian

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

Re: Tag file feature: Expected performance

Post by Support Team »

Hi,

I will try to explain.

The UaGateway is (by default) doing a transparent mapping, which means it does not own any tags, instead it is just forwarding incoming request to underlying source (in your case DA Server). This is the "what-you-see is what-you-get" operation, it requires no configuration (except the ProgID of the underlying DA Server).

When configuring underlying DA servers, please note that all these 16 DA Servers should be installed "locally" all on the same PC with the one UaGateway. We allow local COM connections only, but no DCOM connections, because that avoids the pain and reduces security risk. If you have 16 DA Servers on 16 different PC, you should have 16 UaGateways, one on each PC (each having one local connection to your local DA Server). Over the wire we do OPC UA, but not DA.

The single UA Client will (most likely) create one subscription only, because in OPC UA you configure the "scan rate" on the Item level (not on group level as in the old days). The UaGateway will decide what to do on the underlying DA Server.

The Tagfile&Cache feature of UaGateway only makes sense if you must "hide" certain tags from your UA Client (which in most cases you don't need as HMI/SCADA have configured list of tags they need). The Tagfile will create a node (copy) in the UaGateway, which is a node owned by UaGateway, which has a source representative in the underlying server (to fetch the value). With that you can create your own custom browse tree and folders and you can define your own tag names, and map them on the source item in the unterlying DA Server. This is the "what-you-configure is what-you-see" but you get values from underlying source item.

When counting the tags we consider every tag is a tag also the children are tags. Furthermore it makes not much sense to create complex objects and structures in the UaGateway and map the individual bits and pieces on different items in different underlying DA servers. What if one of your 16 servers is unavailable, what about the complex structure having one missing element?

Finally the UaGateway can be operated with 64.000 tags per each underlying connection, but 100.000 tags in total. Hence your configuration should easily work. You should probably consider CSV import for your tags into Tagfile (the XML will be getting quite large)
Best regards
Unified Automation Support Team

dyyb88
Jr. Member
Jr. Member
Posts: 2
Joined: 24 Mar 2023, 07:18

Re: Tag file feature: Expected performance

Post by dyyb88 »

Hi and thanks for a extensive answer!

Regarding the DA servers, I have made sure to keep them within the same server. There has been to much hassle with DCOM lately, but appreciate the tip regarding what to do if we need to split into multiple servers (could potentially get into load/performance issues).

The reason for using the tagfile&cache feature is because the UA client is expecting a specific named namespace with an underlying model to properly map towards the graphic library in the HMI. i am expecting that an missing element in the structure should be handled by the UA client, but for sure that is something i will have a look for when performing further testing.

For the import of configuration I was expecting that I could use separate nodeset files for each of the underlying DA servers. That is the simplest for me since I already had a script which produces the nodeset xml file per server and it only needed minor modifications to add the needed sub elements (Extension). If this is not possible i will consider moving over to csv.

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

Re: Tag file feature: Expected performance

Post by Support Team »

Hit,

the UaGateway has tro options for import of TagFile:
1) reset/erase all, and import from scratch (must have all in one file)
2) import and append to what is already in Tagfile (no double definitions allowed)

When using 2nd option (one file per each Server) you must take care (by yourself) that you do not create double definitions of tags. The tags (symbolic names) that live in the tagfile, are all in the same namespace, which is the tagfile-namespace.
Best regards
Unified Automation Support Team

Post Reply