# Leased Tag Slow Rate Switching

**URL:** <https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319>\
**Category:** Ignition\
**Tags:** ignition80\
**Created:** [May 4, 2021, 3:02pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319 "2021-05-04T15:02:52Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![nicholas](https://avatars.discourse-cdn.com/v4/letter/n/4da419/32.png) [@nicholas](https://forum.inductiveautomation.com/u/nicholas)\
**Post date:** [May 4, 2021, 3:02pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/1 "2021-05-04T15:02:52Z")

</div>

Hello Everyone,

On my gateway, I have noticed that leased tags take an excessive amount time to switch from their slow mode to fast mode once they are needed initially (10-60s). I am using a slow rate of 30,000 ms and a fast rate of 1,000 ms. The test that I am doing is as follows: open a popup window that contains a tag binding for a leased tag, toggle the state of the tag in the PLC and observe how long it takes to update. Once it updates, I toggle the state again to see if it is starting to update with the fast rate or it just happened to update at the slow rate. This corresponds to when the subscriptions change on the device monitoring screen. The switchover typically occurs anywhere between 10-60 seconds after the popup window is opened. This is way too slow and significantly detracts from what I thought was the advantage of using a leased tag group. Is it typically this slow for everyone else? Is it an unfair expectation to get an up to date value within the fast poll rate from switching from the slow one?

What I have tried so far:

1. Creating a separate device connection for leased tags (I think this solved a different issue but doesn’t help here)
2. Creating another separate device connection for a much smaller subset of leased tags
3. Creating a smaller tag group with a single tag in it
4. Calling the system.tag.requestGroupExecution function to attempt to trigger it to switch
5. Updating to Ignition 8.1.5 (from 8.1.1)

Does anyone have any solutions or suggestions?  
Unfortunately, I have too many tags to move them all to poll at the fast rate. If nothing else, I can modify all of my popups to do their own polled OPC reads instead of using tags. But this just doesn’t seem like an ideal solution…

---

<div class="post-metadata">

**Author:** ![nicholas](https://avatars.discourse-cdn.com/v4/letter/n/4da419/32.png) [@nicholas](https://forum.inductiveautomation.com/u/nicholas)\
**Post date:** [May 4, 2021, 4:31pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/2 "2021-05-04T16:31:11Z")

</div>

Update:

I solved it by changing the OPC mode on the tag group from Subscribed to Polled.  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/d/edd156aed1098287b1e02d6526d0503812344010.png)

---

<div class="post-metadata">

**Author:** ![Jessy\_Underhill](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jessy\_Underhill](https://forum.inductiveautomation.com/u/Jessy_Underhill)\
**Post date:** [March 14, 2025, 5:42pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/3 "2025-03-14T17:42:21Z")

</div>

This 100% resolved my issue. I also confirmed it by switching back and forth between polled and subscribed; it would always take forever to start updating my tags on subscribed.

---

<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 14, 2025, 5:47pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/4 "2025-03-14T17:47:58Z")

</div>

Ignition's OPC server seems to batch subscription changes at ~10 second intervals.

---

<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 14, 2025, 5:51pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/5 "2025-03-14T17:51:29Z")

</div>

Subscription synchronization is debounced @ 250ms and then delayed if necessary to ensure it happens no more frequent than 8 seconds.

So sometimes it will be immediate-ish (250ms), and sometimes you'll get up to 8 seconds of delay.

---

<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 14, 2025, 5:52pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/6 "2025-03-14T17:52:36Z")

</div>

Is that across the whole server, or per device?

---

<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 14, 2025, 5:52pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/7 "2025-03-14T17:52:50Z")

</div>

Per OPC UA connection, this is all OPC UA connection logic.

---

<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 14, 2025, 5:53pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/8 "2025-03-14T17:53:23Z")

</div>

So, client side? Any way to configure that?

---

<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 14, 2025, 5:53pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/9 "2025-03-14T17:53:48Z")

</div>

No, it's all hardcoded.

It's tricky because if you have _any_ tags configured that aren't valid, then the subscription logic is continually running, forever, until the Ignition subscription model and the actual OPC model are in sync.

---

<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 14, 2025, 5:54pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/10 "2025-03-14T17:54:58Z")

</div>

Oy! Feature request? Defer only the invalid items? Change the time factors to configurable with those defaults?

---

<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 14, 2025, 5:55pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/11 "2025-03-14T17:55:39Z")

</div>

Maybe. Most 3rd party servers will fall over if you start smashing them with create/modify/delete subscription/item requests. This is the only thing preventing that from happening.

---

<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 14, 2025, 5:58pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/12 "2025-03-14T17:58:18Z")

</div>

Updating this would be a _ **huge** _ change in the usefulness of leased tags.

---

<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 14, 2025, 6:00pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/13 "2025-03-14T18:00:03Z")

</div>

I'm sure it would be, but this logic is all super finicky and there's no chance it's getting rewritten (again) any time soon.

And again, there's only potentially a delay if a sync already recently occurred. Maybe that's frequent for most people, I'm not sure. In a system where none of your tags point to OPC paths that don't exist, the lease change will be ~immediate.

---

<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 14, 2025, 6:04pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/14 "2025-03-14T18:04:10Z")

</div>

This is all 8.1 behavior, ~~it looks like in 8.3 you'll probably experience at most a 1 second delay?~~

edit: need to look closer, not sure.

---

<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 14, 2025, 6:56pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/15 "2025-03-14T18:56:06Z")

</div>

Very common condition. A single disabled device that has tags pointing at it will put your entire loopback connection into this pathological state. All subscription changes will be applied every eight seconds. ☹

This really ought to be refactored to only hurt the subscription items that fail.

---

<div class="post-metadata">

**Author:** ![Jessy\_Underhill](https://avatars.discourse-cdn.com/v4/letter/j/90db22/32.png) [@Jessy\_Underhill](https://forum.inductiveautomation.com/u/Jessy_Underhill)\
**Post date:** [March 14, 2025, 7:23pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/16 "2025-03-14T19:23:13Z")

</div>

Yeah, that is far too long to wait upon change from screen to screen. I'd be okay with 2-3s before tags go to the faster interval, but 10s is horrible.

---

<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 14, 2025, 8:48pm UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/17 "2025-03-14T20:48:46Z")

</div>

Alright, I just put up a PR in 8.3 that should improve the situation a bit... hopefully we don't start knocking down Kepware servers again.

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [May 16, 2025, 2:25am UTC](https://forum.inductiveautomation.com/t/leased-tag-slow-rate-switching/46319/18 "2025-05-16T02:25:56Z")

</div>

It's OK, Kepware has a known bug that I discovered with Logix firmware v36+ that they told me since v36 isn't officially supported that it's not really a bug. But KepServer with v36+ will only read in Symbolic mode and won't even tell you it's doing symbolic mode unless you enable diagnostics and see the read count all under symbolic or....as I discovered it on a poorly performing system...with a Wireshark capture. One of the CIP functions they're calling is returning some extra unexpected null bytes at the end of the packet, so their driver just retries a few times then reverts to symbolic mode. I have a hotfix they sent me, and the official support for v36 with the official fix isn't coming out until sometime this fall. On our calls with them, it sounds like they're short on resources to work on these things, which is why they're behind on firmware version support.
