Siemens Enhanced Driver - Arrays for Booleans / DBX

According to the docs here:

"...a variation that resembles the syntax used in the TIA portal, with the addition of supporting arrays"

The format, DB.[DB]X[.BitNumber][ArrayDimensions] is listed
And an explicit example is given: DB1.DBX8[8] -> Array of 8 booleans, Bit 0 from offset 8.

Yet, when I try to do this I just get a "Bad_NodeIdUnknown" error
Is there a specific setting I have to change to use this?

Sorry if the answer is obvious, I'm not as close to the controls side of things.

Are you using it in symbolic or absolute addressing mode? and are you sure you have the Siemens Enhanced driver configured and not one of the old ones?

Yes, the device is set to use the enhanced driver. And it's a S7-300, so I'm doing absolute addressing.
DB1.DBX8[8] just gives me that Bad_NodeIdUnknown error on the tag.

Unfortunately, this is an error in documentation. The Siemens Enhanced Driver does not support bit arrays when using absolute addressing. I'll reach out to the docs team to get this corrected.

Could you share more about your use case? Feel free to also share this idea on Ignition Features and Ideas | Inductive Automation so that we can better track demand for this feature request.

Ah I see. That was what I was thinking.

For use case - just less tags for each machine, and I so could index them later
Plus I wasn't sure if it was faster to grab it all at once vs individually
Not sure how the driver is setup to batch requests

But it was more of just messing around with the driver the first time and seeing behavior that didn't match what the documentation was saying. Separating them per bit shouldn't be an issue.

Thanks for the help!

The driver will batch contiguous bit reads and make a request for however many bytes are necessary. It doesn't do this when writing, so as not to overwrite other bits in the byte.

Alternatively, you can read a byte and mask off the bits yourself via scripting or something, but you're probably better just using one bit per tag. You'd really only want to use an array if the actual PLC data was an array.