# Gateway tag overload. How to not subscribe to all tags

**URL:** <https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710>\
**Category:** Ignition\
**Tags:** ignition81, perspective\
**Created:** [April 29, 2025, 9:49pm UTC](https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710 "2025-04-29T21:49:35Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper](https://avatars.discourse-cdn.com/v4/letter/c/b4bc9f/32.png) [@casper](https://forum.inductiveautomation.com/u/casper)\
**Post date:** [April 29, 2025, 9:49pm UTC](https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710/1 "2025-04-29T21:49:35Z")

</div>

Hey forum,  
I am in our early phases of transitioning our HMI system to Ignition. My Tag Browser is updating PLC values very slowly. About every 56 seconds. Upon looking into my gateway Connections \> Devices, I see that the connection to our plants main PLC is extremely overloaded. I created the device connection to our AB L83 PLC, but did not see any mention/option to select a polling rate or which tags to subscribe to. I think the Gateway by default subscribes to everything as fast as it can. Which in my case with 280,837 tags is about every 56 seconds. See screenshot below.

Am I missing something? In our current HMI software, the software only subscribes to the tags that get created and used by the HMI at a specified rate. Can I make my Gateway not subscribe to everything?

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/5/059c2f25d00c9cbcccaec2bd19334d4b946ca028.png)

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [April 29, 2025, 9:53pm UTC](https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710/2 "2025-04-29T21:53:02Z")

</div>

Did you click and drag the entire processor onto your tag provider? Bring in only the tags that you need.

You define tag groups on your tag providers, this is where you control the poll rate. The default tag group has a poll rate of 1000 ms.

> **[Tag Groups | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/platform/tags/tag-groups)**
>
> What Is a Tag Group?

Structuring of the data on the PLC is often used to increase performance as well.

---

<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:** [April 29, 2025, 9:53pm UTC](https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710/3 "2025-04-29T21:53:27Z")

</div>

You dragged your entire PLC into Iginition's Tag Browser and you simply can't do that.

You need to bring only the tags you need in. Probably by creating UDTs and then instantiating them. This is the time to be thoughtful about the tag structure you want/need in Ignition.

---

<div class="post-metadata">

**Author:** ![casper](https://avatars.discourse-cdn.com/v4/letter/c/b4bc9f/32.png) [@casper](https://forum.inductiveautomation.com/u/casper)\
**Post date:** [April 29, 2025, 10:24pm UTC](https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710/4 "2025-04-29T22:24:58Z")

</div>

Thank you for that incredibly fast reply! Faster than Santa Clause on Christmas Eve!  
You're right, I did indeed add my entire PLC to my Tag Provider. Whoops.  
My PLC tags are well organized, as in every valve, sensor, pump etc. are built using a UDT, so every instance has the same structure in my PLC. However, not every tag in each instance is necessary for Ignition.  
Could you point me in the direction of a video/article that explains how I can bulk-add only the tags that are necessary to my Tag Provider? I don't really want to crtl-press every single tag that I want in my Tag Provider if I don't have to.

---

<div class="post-metadata">

**Author:** ![casper](https://avatars.discourse-cdn.com/v4/letter/c/b4bc9f/32.png) [@casper](https://forum.inductiveautomation.com/u/casper)\
**Post date:** [April 29, 2025, 10:25pm UTC](https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710/5 "2025-04-29T22:25:57Z")

</div>

Thank you for that amazingly fast response!  
I did indeed add my entire PLC tag structure to my Tag Provider... Whoops

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [April 29, 2025, 10:29pm UTC](https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710/6 "2025-04-29T22:29:27Z")

</div>

You can use this import tool from the exchange:

> **[Ignition Exchange](https://inductiveautomation.com/exchange/2660/overview)**
>
> Discover, share, and download community made Ignition resources in collaboration with your organization or the Ignition community.

or you can script the creation of tags/udts using [`system.tag.configure`](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-tag/system-tag-configure)

Good advice from a different thread on optimizing on PLC side:

> [@Ignition & Logix Best Practice Tips for better communications](https://forum.inductiveautomation.com/t/ignition-logix-best-practice-tips-for-better-communications/60386/3):
>
> Consolidate scattered tag instances into arrays or nest them in structures. The fundamental unit of optimization when polling is the tag. Multiple items won’t be in consecutive memory locations, and therefore be retrievable together, unless they are part of the same tag. If you must, you can use aliases in the PLC to retain the prior logical structure, but access from Ignition via the consolidated tag(s).

---

<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:** [April 29, 2025, 10:53pm UTC](https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710/7 "2025-04-29T22:53:37Z")

</div>

If you browse all the way through that Best Practices topic, you will eventually stumble upon my alternate EtherNet/IP driver. In addition to being a drop-in substitute for the IA driver, it also extracts the target's data types and offers them in JSON format for import into Ignition.

While **I** use those import files to subscribe to entire PLCs in my QA lab, they are also the fastest way to obtain Ignition UDTs that match a Logix (or Omron) processor's tags.

I do recommend you use them as **starting** points for your process-focused Ignition tag architecture. (Ignition tags should facilitate parameterization on user-facing hierarchies, not the hierarchies dictated by the PLC code.)

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [April 30, 2025, 2:07pm UTC](https://forum.inductiveautomation.com/t/gateway-tag-overload-how-to-not-subscribe-to-all-tags/105710/8 "2025-04-30T14:07:19Z")

</div>

> [@casper](#):
>
> are built using a UDT, so every instance has the same structure in my PLC.

Do you have any aois? If using IA's Logic driver, never read AOI tags unless you're reading under maybe 1000 of them, as they simply can't be optimised and will suffer huge performance penalties. If you are only reading UDTs, then be sure to set every single member in the UDTs in the plc to at least read external access, regardless if ignition reads them or not. You can also increase the cip connection size of the plc connection in ignition from default 500 to 4000 to significantly increase the performance. I've been able to read almost 10k tags at 10ms scan rate with an L82.

But as others have said, you should also never just drag the whole plc structure into ignition. You should be creating UDTs in ignition and making instance of these instead. Using UDTs let's you build smarts into your graphics to increase design speed and efficiency
