Dynamic Driven Tag Pathing?

Good morning

In our plant 8, we have many cells, that are all monitoring many output string tags so we can store faults' output strings that occur in a fault history database. The problem is, monitoring this many tags is quite heavy on the system, and leaving them all at one rate means that every hour, or two hours, or however long we decide to wait between scans, all the tags will try to read at once, severely slowing down our gateway.
(We are still monitoring the faults themselves at 1 second, the output strings don't change too often though, so we can slow down their monitor rate.)

I am looking for a way to make it so I can use just one driven tag group for multiple cells, but it doesn't seem like that is possible. Is there some efficient way I can say "At this time, for the next 3 minutes, cell 8W001 has exclusive permission to update its output string tags." and then "Now at this time, 8W027 has permission to update its output string tags." and so on.

So far, the best way to go about this seems to be having a folder with different booleans that turn true at certain times of the day and creating a tag group for every cell. I was just wondering if there was a more efficient way to do this?

A snippet of the tag browser:

A picture of our scan class:

An idea of the faults names we want to monitor:

Some cells can have 12000+ unique dynamic zone faults:
zoneflt

Thank you for your time and any help is appreciated.

I'm somewhat skeptical of the performance problem here being the gateway, unless it's severely under provisioned, but taking it at face value...

You could just not have tags for these fault codes. Instead do a dynamic read (system.opc.readValue) every time a fault happens.

2 Likes

I'm curious how many total tags you have?

3 Likes

Tag summary

tagType: {'UdtInstance': 2571, 'Folder': 8393, 'AtomicTag': 525000}
valueSource: {'memory': 15348, 'opc': 502372, 'expr': 7260, 'db': 20}
dataType: {'DataSet': 8634, 'Int4': 4122, 'Int1Array': 125346, 'Int4Array': 20250, 'String': 356045, 'DateTime': 10, 'Boolean': 10593}
tagGroup: {'Default': 76016, '1sec': 138828, 'ZoneFltV2': 321000, 'QueryFaults': 120}
eventScripts: {'eventScripts': 8678}
historyEnabled: {'False': 535964}

That's quite a few.
I should probably add a summary per PLC device as well, but how many tags have you got per plc? And what do the stats look like for your plcs? (gateway page, status, devices, click on a plc, look at the overload)

Also, what are the specs of your server? (cpu, ram), is it running in a VM? If so, are the resources dedicated?

Have you read this doco?