OPC Tag is showing as "Bad" and can't figure out why

Have this tag Showing as Bad:

Here's the copy-pasted OPC Path:

ns=1;s=[MPC1_Leased]Program:Section_02.Section.JamArea.JamPEClear[1]

Here's the tag in the PLC program:

Here's a direct paste from the tag browser, and again from the Ignition OPC Path:

Section.JamArea.JamPEClear[1]
Section.JamArea.JamPEClear[1]

Here's a tag that IS working:

ns=1;s=[MPC1_Leased]Program:Section_02.Section.JamArea.JamTimer[1].PRE

Comparing the first part that doesn't work with the part that does:

ns=1;s=[MPC1_Leased]Program:Section_02.
ns=1;s=[MPC1_Leased]Program:Section_02.

Both tags exist in the PLC. The OPC Path matches the PLC program exactly. The prefix part of both tags is exactly the same. External Access for both is Read/Write. Deleting and recreating the tag doesn't work.

I'm out of ideas.

bool arrays have an unfortunate representation by the driver - they end up being an array of DWORD

So you are attempting to address the 2nd DWORD in a DWORD array, which may not exist if your bool array is <= 32 elements.

Try addressing ns=1;s=[MPC1_Leased]Program:Section_02.Section.JamArea.JamPEClear[0].0 through ns=1;s=[MPC1_Leased]Program:Section_02.Section.JamArea.JamPEClear[0].31

That worked. Thanks Kevin!

It's actually because Rockwell packs bool arrays into DWORD arrays, but doesn't provide any information you can use to distinguish between the two. So the alternative is that every DWORD array is automatically treated as a bool array instead, which probably would have been the better choice, but that choice was made years and years ago at this point.

I wonder if that means any other third-party OPC server would have the same issue. It's been a while since I've used Matrikon or Kepware or one of those, so I can't recall if I've run into this before.

In Kepware it's all bool arrays and no dword arrays.