# Allen Bradley Controller Tags, Local Tags, Program Parameters

**URL:** <https://forum.inductiveautomation.com/t/allen-bradley-controller-tags-local-tags-program-parameters/48667>\
**Category:** Ignition\
**Created:** [July 9, 2021, 3:24pm UTC](https://forum.inductiveautomation.com/t/allen-bradley-controller-tags-local-tags-program-parameters/48667 "2021-07-09T15:24:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![zacht](https://avatars.discourse-cdn.com/v4/letter/z/ea5d25/32.png) [@zacht](https://forum.inductiveautomation.com/u/zacht)\
**Post date:** [July 9, 2021, 3:24pm UTC](https://forum.inductiveautomation.com/t/allen-bradley-controller-tags-local-tags-program-parameters/48667/1 "2021-07-09T15:24:02Z")

</div>

I'm working on a new project for an Allen Bradley 1769-L33ER that will have several different programs that don't need to interact with each other much (if at all). There are several options to store data (Controller Tags, Local Tags, Program Parameters). It seems from some simple testing that Ignition can connect to any of them. Is there any reason, on the Ignition side, to prefer one of these options to the others for the things Ignition needs to interact with?

The reason I ask is posts like this one make me realize there's a lot to consider that isn't always obvious (at least to me).

> [@Cannot read some tags inside Rockwell AOI](http://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…

---

<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:** [July 9, 2021, 3:49pm UTC](https://forum.inductiveautomation.com/t/allen-bradley-controller-tags-local-tags-program-parameters/48667/2 "2021-07-09T15:49:51Z")

</div>

I think globally scoped controller tags are technically the most efficient for Ignition to access, if for no other reason than the program name does not need to be specified as part of the tag path in the read requests.
