# Logix Driver retrieving "Bad" Values for \<1% of tags in a PLC

**URL:** <https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [July 14, 2025, 5:49pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438 "2025-07-14T17:49:22Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Neil\_Lewallen1](https://avatars.discourse-cdn.com/v4/letter/n/e19b73/32.png) [@Neil\_Lewallen1](https://forum.inductiveautomation.com/u/Neil_Lewallen1)\
**Post date:** [July 14, 2025, 5:49pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438/1 "2025-07-14T17:49:22Z")

</div>

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/4/148afdba5e8c00fadddcd02597c0c9a033e9c905.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/0/405ea5dea309edc1e1e62923822f9dd1c01b24f1.png)  
Ignition 8.1.47  
Logix Driver  
1756-L74 V 30.014  
I have roughly 1300+ tags I look at within a single PLC, and have one specific UDT within the PLC that I cannot connect to over position 6.  
Example of good path: ns=1;s=[HF\_Process\_Control]CIPB\_Edit\_RecipeSelect[6]  
Fails for all of the following; ns=1;s=[HF\_Process\_Control]CIPB\_Edit\_RecipeSelect[7]  
ns=1;s=[HF\_Process\_Control]CIPB\_Edit\_RecipeSelect[8]  
ns=1;s=[HF\_Process\_Control]CIPB\_Edit\_RecipeSelect[9]  
ns=1;s=[HF\_Process\_Control]CIPB\_Edit\_RecipeSelect[10]  
...  
ns=1;s=[HF\_Process\_Control]CIPB\_Edit\_RecipeSelect[48]

This occurs whether I am directly connecting to the tag, or out of the original UDT.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/f/7ffb992318fae8b585a42de96f17575bb6e44186.png)  
Within the PLC it is a BOOL[224] data type.  
Has anyone experienced this or have a solution?  
I have recently upgrade to 8.1.47 from 8.1.45 where the issue was present as well. I have created a new driver to verify it wasn't a bad communication driver setup, but had the same results. This is the only tag that I have issues within the PLC. The majority of tags connected within the PLC are leased, these are currently on Direct.

---

<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 14, 2025, 5:52pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438/2 "2025-07-14T17:52:07Z")

</div>

BOOL arrays are represented as DWORD arrays internally in the PLC, and exposed to any ENIP client as DWORD arrays as well. For better or worse, our driver doesn't simply turn all DWORD arrays into BOOL arrays.

So you have an array of DWORD you have to address the bits of to get at them. I think they're available if you browse underneath each of those elements, otherwise you can address them in the OPC Item Path like `ns=1;s=[HF_Process_Control]CIPB_Edit_RecipeSelect[0].0` etc...

---

<div class="post-metadata">

**Author:** ![robertm](https://avatars.discourse-cdn.com/v4/letter/r/ea5d25/32.png) [@robertm](https://forum.inductiveautomation.com/u/robertm)\
**Post date:** [July 14, 2025, 6:03pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438/3 "2025-07-14T18:03:03Z")

</div>

Ugh....Boolean arrays in CLX are highly inefficient and memory hogs. Each Bool occupies a 32 bit dword. You're better off restructuring that into arrays of DINTs, and using 32 booleans available for each DINT.

---

<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 14, 2025, 6:04pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438/4 "2025-07-14T18:04:27Z")

</div>

No, read efficiently, just a PITA to deal with on the Ignition side.

As with any bit or array tags you make in Ignition, the driver is optimizing and reading efficiently on the backend, even if in Ignition it's many individual tags.

---

<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:** [July 14, 2025, 6:07pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438/5 "2025-07-14T18:07:14Z")

</div>

> [@robertm](#):
>
> Each Bool occupies a 32 bit dword.

No, they do not. A bool array's bits are **packed** into the DWORDs. That's why the OP experienced the error at subscript `7`--the DWORDs from `0` to `6` contain all of the original 224 bits.

(Now, **individual** boolean tags in Logix **are** memory hogs. Including as aliases.)

---

<div class="post-metadata">

**Author:** ![Neil\_Lewallen1](https://avatars.discourse-cdn.com/v4/letter/n/e19b73/32.png) [@Neil\_Lewallen1](https://forum.inductiveautomation.com/u/Neil_Lewallen1)\
**Post date:** [July 14, 2025, 6:31pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438/6 "2025-07-14T18:31:44Z")

</div>

What is the work around to extract subscript 7+ then if it is erroring because of the bits? Re-work the PLC tags?

---

<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:** [July 14, 2025, 6:37pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438/7 "2025-07-14T18:37:34Z")

</div>

You have to break the PLC subscript into two subscripts: word #, and bit # in that word. You simply cannot use the PLC subscripts in Ignition.

PLC `BoolArray[101]` =\> Ignition `BoolArray[3].5` and so on.

---

<div class="post-metadata">

**Author:** ![Neil\_Lewallen1](https://avatars.discourse-cdn.com/v4/letter/n/e19b73/32.png) [@Neil\_Lewallen1](https://forum.inductiveautomation.com/u/Neil_Lewallen1)\
**Post date:** [July 14, 2025, 6:46pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438/8 "2025-07-14T18:46:05Z")

</div>

I appreciate the breakdown. This was the first time I had ever run into this scenario.

---

<div class="post-metadata">

**Author:** ![robertm](https://avatars.discourse-cdn.com/v4/letter/r/ea5d25/32.png) [@robertm](https://forum.inductiveautomation.com/u/robertm)\
**Post date:** [July 14, 2025, 11:31pm UTC](https://forum.inductiveautomation.com/t/logix-driver-retrieving-bad-values-for-1-of-tags-in-a-plc/108438/9 "2025-07-14T23:31:07Z")

</div>

I stand corrected! Dont know what i was thinking. I never use boolean arrays, so my ignorance was founded 😉 I always pack booleans in UDTs when possible, or use DINTs when not.
