# Tag group rates and amount of tags

**URL:** <https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [June 10, 2022, 7:09am UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597 "2022-06-10T07:09:37Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Esn](https://avatars.discourse-cdn.com/v4/letter/e/91b2a8/32.png) [@Esn](https://forum.inductiveautomation.com/u/Esn)\
**Post date:** [June 10, 2022, 7:09am UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/1 "2022-06-10T07:09:37Z")

</div>

Hi,

I have two questions regarding tag groups.

1. 

If I have two tag groups with the same rate fx. 4000 ms will they then execute at the same time?

Lets say that one executes at

12:00:00, 12:00:04, 12:00:08, 12:00:12 and so forth

Will the other also excute at those time points or could it have a different offset that makes it execute at other time points like

12:00:02, 12:00:06, 12:00:10, 12:00:14

So they execute with the same rate but at different times?

1. 

We currently have about 670,000 tags.  
At the moment the tags are spread across roughly 40 tag groups with different rates and it is running fine, but I want to clean it up a bit. I’m just unsure how to break it up.

Is there a best practise for amount of tags in a tag group to minimize network load?  
I mean if all of them were in the same tag group would Ignition then try to update them all at once with a large load on the network as a result?

Is it better to put tags from the same PLC in the same tag group or doesn’t it matter that a tag group updates multiple tags from different PLC’s?

Thanks

---

<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:** [June 10, 2022, 11:58am UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/2 "2022-06-10T11:58:14Z")

</div>

- Tag group rates are targets, not exact, and do not have precise start times. They run at the best effort pace of their contents. You cannot control the "offset". Look at individual device status pages to see how closely the device is achieving the paces requested.

- Tags pointing at the same processor and same top-level tag will be optimized to be read together only if using the same pace. This is how you minimize network (and PLC) load. It doesn't matter if there are many tag groups--it matters if the pace differs.

- Optimization is brand- and driver-specific. For modern Allen-Bradley, this discussion (and the links within) may be helpful:

> [@Ignition & Logix Best Practice Tips for better communications](https://forum.inductiveautomation.com/t/ignition-logix-best-practice-tips-for-better-communications/60386):
>
> Hi All, After a whole bunch of issues I have gone down the rabbit hole of what is wrong with our setup on site. I will preface this by saying I a relatively new to all of this… so be gentle stuck_out_tongue Based on much reading(such wow) I believe I have a list of things our site could take away for a better system. Some of them are easy to implement, whilst some of them need… significant work to realize. Especially the AOI approach in point 5 expressionless Before going too far and up…

---

<div class="post-metadata">

**Author:** ![Esn](https://avatars.discourse-cdn.com/v4/letter/e/91b2a8/32.png) [@Esn](https://forum.inductiveautomation.com/u/Esn)\
**Post date:** [June 13, 2022, 6:23am UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/3 "2022-06-13T06:23:14Z")

</div>

Thank you for your reply

Could you explain this a bit further

> [@pturmel](#):
>
> Tags pointing at the same processor and same top-level tag will be optimized to be read together only if using the same pace. This is how you minimize network (and PLC) load. It doesn’t matter if there are many tag groups–it matters if the pace differs.

Im not sure what processor and top-level tag is in this context?

You write that it doens't matter if I have many tag groups, but it matters that the pace differs. Does that mean that having many tag groups with the same pace essentially works the same as having all the tags in the same tag group?

Doesn't it have any effect to place tags from each PLC in their own tag group?

All of our PLCs are Siemens brand btw.

---

<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:** [June 13, 2022, 11:59am UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/4 "2022-06-13T11:59:50Z")

</div>

> [@Esn](#):
>
> Im not sure what processor and top-level tag is in this context?

For Siemens with Ignition's driver, I believe it means in a single DB. (I'm not a Siemens guy.) For Allen-Bradley, it is the tag itself.

> [@Esn](#):
>
> All of our PLCs are Siemens brand btw.

You have my condolences.

---

<div class="post-metadata">

**Author:** ![zxcslo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zxcslo/32/61610_2.png) [@zxcslo](https://forum.inductiveautomation.com/u/zxcslo)\
**Post date:** [June 13, 2022, 1:39pm UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/5 "2022-06-13T13:39:49Z")

</div>

> [@pturmel](#):
>
> You have my condolences

What do you have against Siemens PLC?  
Just curious...

---

<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:** [June 14, 2022, 1:47am UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/6 "2022-06-14T01:47:25Z")

</div>

First Siemens experience was S5, a very long time ago. At the time, ladder support was minimal, and easy to break, so all code with critical performance requirements were statement list. Which is really a Domain Specific Assembly Language. Dealing with poorly documented statement list was cruel and unusual punishment for a young electrical engineer. And infuriating to the electricians and technicians around him. Ladder logic was created to allow non-engineers to work on and troubleshoot automation. Failing to use is where possible is a sin in my book.

I later learned that German technology training has a tier for such that explains the rampant, unnecessary use of statement list in automation, as a form of protectionism for that tier in the German labor market. Or so it was explained to me by a German engineer. I don’t care for protectionism in labor markets.

More recently, when investigating Siemens protocols for possible module development, I learned that:

- Modern S7 optimized access via Ethernet is carefully protected technology, with extreme licensing and royalty terms.

- Profibus is also effectively closed to affordable implementation by outsiders.

- Profinet uses a custom Ethernet Layer 2 frame type, requiring branded switches and routers for full functionality. It also precludes reasonable implementation in java. Profinet’s meta-data exchange is also horribly complicated. Way more trouble than EtherNet/IP.

In summary, I started my career disliking Siemens technical choices. Then later I disliked their business practices. Today I find I’ve come back around to disliking their technical choices.

FWIW.

---

<div class="post-metadata">

**Author:** ![zxcslo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zxcslo/32/61610_2.png) [@zxcslo](https://forum.inductiveautomation.com/u/zxcslo)\
**Post date:** [June 14, 2022, 6:18am UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/7 "2022-06-14T06:18:32Z")

</div>

I basically agree with everything you wrote.

I also started myself, many years ago (hint: 80s), with the S5.  
Siemens was my first PLC, and as it turned out 35 years later, also the only one I actively worked with …

It’s probably (not probably … IT IS) also my handicap to be biased.

Of course, I met other PLCs (Omron, Mitsubishi, Allen Bradley, …), but, as my colleague says,  
altogether it’s one big piece of shit, but out of all this shit, Siemens is still the best in terms of support, documentation, …  
At least in Europe.

Siemens PLC today is very good (let’s leave company policies aside).  
Other things too (VFDs, Servos, … except WinCC SCADA 💩, of course) are very good.

I don’t want to start any debate about what’s better and what’s not …  
This is just a polite passing opinion between two veterans in Industrial Automation.

---

<div class="post-metadata">

**Author:** ![Esn](https://avatars.discourse-cdn.com/v4/letter/e/91b2a8/32.png) [@Esn](https://forum.inductiveautomation.com/u/Esn)\
**Post date:** [June 14, 2022, 6:39am UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/8 "2022-06-14T06:39:41Z")

</div>

Guys I appreciate the attention you spare for my humble post, I really do, but do any of you have further advice for me regarding my issues with tag groups?

I’d really like to understand the difference between one tag group vs. multiple tag groups using the same rate? Like if I have 100000 tags in a tag group with the rate of 4000ms is that different than 10000 tags in 10 tag groups at rate 4000ms? Is it better to do one or the other?  
And does it have any effect to have a tag group handling only to one PLC instead of multiple PLCs?

---

<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:** [June 14, 2022, 3:36pm UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/9 "2022-06-14T15:36:11Z")

</div>

> [@Esn](#):
>
> Is it better to do one or the other?

It is no better either way as far as Ignition's native drivers are concerned. They only look at the pace for optimization. They can't even see the separate tag groups. So tag groups are still useful for administering large installs, but not for optimizations.

It might be better to separate by OPC server when using OPC client connections to third party servers and/or PLCs w/ OPC support. Separate tag groups will make separate subscription groups--that can help mitigate the limitations of some OPC servers.

---

<div class="post-metadata">

**Author:** ![jacque\_trahan](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jacque_trahan/32/58886_2.png) [@jacque\_trahan](https://forum.inductiveautomation.com/u/jacque_trahan)\
**Post date:** [March 7, 2024, 8:08pm UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/10 "2024-03-07T20:08:41Z")

</div>

I have a follow up on this pertaining to the tag types. from the doc they say ["For example, how often an OPC value is polled from the PLC, how often an Expression Tag calculates its expression, and how often a Query Tag runs its query."](https://www.docs.inductiveautomation.com/docs/8.1/platform/tags/tag-groups#:~:text=Tags%20are%20assigned%20to%20a,scenario%20you%20can%20think%20of.)

Is this the same for derived tags as well?

For an example if I have an OPC tag that out puts a 1 or 0, with a tag group Rate(ms) as 300,000 (5 minutes), and then a derived tag that uses a switch function to return a string for that memory tags output.

Is there a case where the derived tag will only up date with the tag's Tag group rate?

I was assuming it only deals with aspects of tags that have polling of some kind, but wanted to double check to be sure.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 7, 2024, 8:21pm UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/11 "2024-03-07T20:21:11Z")

</div>

No, derived tags update immediately.

---

<div class="post-metadata">

**Author:** ![Brandon\_Peterson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/brandon_peterson/32/32960_2.png) [@Brandon\_Peterson](https://forum.inductiveautomation.com/u/Brandon_Peterson)\
**Post date:** [March 7, 2024, 8:59pm UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/12 "2024-03-07T20:59:56Z")

</div>

Which tag group would a derived tag use to determine its `Mode` (`Direct`, `Driven`, or `Leased`) and `Rate (ms)` properties?

1. Derived tag's tag group
2. Source tag's tag group
3. Neither, it's strictly based on whenever the source tag updates

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 7, 2024, 9:01pm UTC](https://forum.inductiveautomation.com/t/tag-group-rates-and-amount-of-tags/60597/13 "2024-03-07T21:01:51Z")

</div>

None of it matters, derived tags are basically subscribed to their source.
