I need to use an indirect tag to point to a specific controller name and a pathway to a specific AOI (allen bradley) and then to a specific bit of a value contained within.
This works fine until I get to the individual bit part. If I set the individual bit inside the indirect tag, it either doesn’t register as valid, or doesn’t read it at all.
{1}{2}/Alarm/Port/Port_Alarm (This is the pathway to the word)
{1}{2}/Alarm/Port/Port_Alarm.0 does not return a bit
You can’t use bit suffixes with Ignition tags. You can use bit suffixes in OPC item paths for separate Ignition Tags. You are trying to use OPC item syntax in a GUI expression. That’s not possible. Create Ignition tags for the bits, using repeatable naming, and then you can use a dynamic tag path (not an item path) to pick the tag.
User interface expressions/bindings only get to target Ignition tags. You cannot tack on OPC syntax to drill in further.
Do note that indirect tag bindings get the tag. If you need to use getBit, that is an expression function that will need to be pointed at the property that has the indirect tag binding. Use a custom property for the indirect binding if necessary.
Both of those would be integer custom properties in your Root Container.
The AOI_Integer property would have an Indirect Tag binding like so:
{1}/{2}/IntegerWithBits
Where {1} and {2} point at String properties in your Root Container with the partial paths to your desired tag. (I general only use {1} to point at the complete folder path.)
The Desired_Bit integer would be computed however you need. Or use a constant in getBit() if applicable.
The key is to separate the selection of a tag from the use of its content.