# Reading Controller Variables Directly From PLCs

**URL:** <https://forum.inductiveautomation.com/t/reading-controller-variables-directly-from-plcs/115457>\
**Category:** Ignition\
**Created:** [May 8, 2026, 5:00pm UTC](https://forum.inductiveautomation.com/t/reading-controller-variables-directly-from-plcs/115457 "2026-05-08T17:00:09Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![andrew.criaris](https://avatars.discourse-cdn.com/v4/letter/a/cab0a1/32.png) [@andrew.criaris](https://forum.inductiveautomation.com/u/andrew.criaris)\
**Post date:** [May 8, 2026, 5:00pm UTC](https://forum.inductiveautomation.com/t/reading-controller-variables-directly-from-plcs/115457/1 "2026-05-08T17:00:09Z")

</div>

I am wondering if it is possible to grab controller variables directly from the PLC without having to use GSV and write that value into another tag. We are trying to record when changes are made to the controller, but if the only way to access this tag is via GSV, then you could disable the GSV and prevent the tag from updating.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/4/f425fabd13ce35a16cee05d6e589fef1c7fb93c0.png)

---

<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:** [May 8, 2026, 5:39pm UTC](https://forum.inductiveautomation.com/t/reading-controller-variables-directly-from-plcs/115457/2 "2026-05-08T17:39:51Z")

</div>

No, you'll have to keep putting that value into a tag that can be accessed by Ignition's driver.

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [May 8, 2026, 6:32pm UTC](https://forum.inductiveautomation.com/t/reading-controller-variables-directly-from-plcs/115457/3 "2026-05-08T18:32:39Z")

</div>

> [@andrew.criaris](#):
>
> but if the only way to access this tag is via GSV, then you could disable the GSV and prevent the tag from updating.

Not my favorite method, but you could place this in a protected routine which only certified users have access to, this would prevent anyone else from being able to edit the routine and negate the GSV.

---

<div class="post-metadata">

**Author:** ![andrew.criaris](https://avatars.discourse-cdn.com/v4/letter/a/cab0a1/32.png) [@andrew.criaris](https://forum.inductiveautomation.com/u/andrew.criaris)\
**Post date:** [May 8, 2026, 6:44pm UTC](https://forum.inductiveautomation.com/t/reading-controller-variables-directly-from-plcs/115457/4 "2026-05-08T18:44:40Z")

</div>

yeah I thought about it but, like you said, its not my favorite method either.

---

<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:** [May 9, 2026, 1:28pm UTC](https://forum.inductiveautomation.com/t/reading-controller-variables-directly-from-plcs/115457/5 "2026-05-09T13:28:19Z")

</div>

Many GSV values are accessible via CIP messages, but are not properly documented. If you find out the class/instance/attribute that corresponds, then my alternate EtherNet/IP driver can poll them. (Directly, no ladder required.)
