# Tag Groups for every tag?

**URL:** <https://forum.inductiveautomation.com/t/tag-groups-for-every-tag/88089>\
**Category:** Ignition\
**Created:** [March 29, 2024, 8:51pm UTC](https://forum.inductiveautomation.com/t/tag-groups-for-every-tag/88089 "2024-03-29T20:51:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Brian\_Stilson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/brian_stilson/32/73410_2.png) [@Brian\_Stilson](https://forum.inductiveautomation.com/u/Brian_Stilson)\
**Post date:** [March 29, 2024, 8:51pm UTC](https://forum.inductiveautomation.com/t/tag-groups-for-every-tag/88089/1 "2024-03-29T20:51:18Z")

</div>

I have a customer with an Ignition system that was very...botched when it was installed. I'm not going to point fingers, but here's the state of the system: the initial project was programmed with PlantPAX AOIs which, if you aren't familiar, are Rockwell Automation's Add-on Instruction, View SE Faceplate package that's supposed to ape some of the functionality of a DCS. These AOIs are very monolithic, "every feature anyone could ever want" type of solution and are thus quite large with hundreds of tags even for something as simple as a digital input.

The programmer recreated the corresponding faceplates in Ignition and left every single tag as Direct, so literally thousands upon thousands of tags all polling at the same time, regardless of whether they're being used on a client or not. Ignition was crashing at least once a week, PLCs were pegged at 100% use at all times....it was a mess.

My customer contact who got hired in after this all happened changed a lot of them over to Leased and put the base rate at zero, which dramatically improved things and the system now runs stable. PLC utliization is still high though.

One other thing the original programmer did was create a separate tag group for every single main UDT tag in the system. Most of them are set to leased with a 0 base polling rate now (the current engineer in charge of the project's doing), but I'm wondering if trimming these tag groups down will improve performance further. I can't for the life of me figure out why someone would go through all that extra work for no good reason, other than it was someone not very familiar with Ignition when they were working on it. I read the manual about tag groups and it doesn't say how they affect performance (could it be Inductive never intended a project to every a group for every tag?).

Anyway, do tag groups have any (however small) negative affects on performance? Will trimming the tag groups down from hundreds to under a dozen improve anything? Is there any reason someone might make a tag group for every UDT instance?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 29, 2024, 11:55pm UTC](https://forum.inductiveautomation.com/t/tag-groups-for-every-tag/88089/2 "2024-03-29T23:55:23Z")

</div>

If the many tag groups have the same pace, then it doesn't matter. If different paces, it could matter.

But is sounds like the classis AOI problem with Ignition's native driver. Some topics to review:

> [@Cannot read some tags inside Rockwell AOI](https://forum.inductiveautomation.com/t/cannot-read-some-tags-inside-rockwell-aoi/38393/3):
>
> What Mike said, but also: Don't. All AOI's have EnableIn and EnableOut booleans that are locked to "Hidden" and therefore prevent most optimization of the data traffic to read instances of these data types. Ignition's Logix driver cannot do bulk reads on AOIs. Do very much of this and your Logix driver will choke. I strongly recommend that any AOI you design yourself use one or more InOut parameters of another data type, with instances of those datatypes elsewhere. Place all of your extern…

> [@Ignition & Logix Best Practice Tips for better communications](https://forum.inductiveautomation.com/t/ignition-logix-best-practice-tips-for-better-communications/60386/6):
>
> I've had success with the legacy ControlLogix doing so. Was helpful with an Omron NJ processor more recently. If you are referring to the bombshell in this topic, then yes: If you are going to be changing things in the PLC, you might also consider switching your fastest tag group (or part of it) to "Class 1" Ethernet/IP. This module was created to deal with large numbers of tags at a 100ms pace: { /Shameless plug. }

> [@Ignition & Logix Best Practice Tips for better communications](https://forum.inductiveautomation.com/t/ignition-logix-best-practice-tips-for-better-communications/60386/19):
>
> Relief for those who don't want to break up their AOIs is now available:
