OPC Tags pointing at a single register in an array

So I apologize in advance if I get some of the terms wrong. I'm just getting started with OPC and Ignition in general.
I am trying to pull ~80 tags from a Mitsubishi PLC. Unfortunately I can't use the new Ignition native driver because I need to read and write from the extended ZR Registers, so I have another OPC solution (Telit DeviceWise, if that matters) that I'm pointing Ignition to.
My problem is that I can't seem to pull a single register in Ignition. For example, I want to pull ZR[65008] from the OPC server. I can point an Ignition OPC tag to the ZR memory space and then pull the particular register out with a reference tag but I think that in reality I'm pulling all 65000 tags down when I do that.

I want to do something like this to only pull the individual value I'm interested in but I can't seem to get the syntax right.

I suspect that this is either very simple, or completely impossible. I do have a way to only have the OPC Server publish the specific registers, but that is extremely time consuming and I'd like to avoid it if at all possible.

Is there a way to do this in Ignition directly?

If there is a syntax for this, such as ZR[65008], then it's entirely server specific and something you'll have to refer to their documentation or support to verify.

Is that tag you created using that syntax bad quality?

Thanks for the quick response :slight_smile:

The quality of the tag is good and everything else works exactly as expected (binding, scripts, etc). The challenge is that I have ~40 PLCs to connect and I think that this method is pulling down 65000 shorts, so things quickly choke if I try this for more than 1 or 2 PLCs.

So it sounds like the syntax for reading data in an OPC tag depends on the OPC UA server (in this case DeviceWise) rather than the client (Ignition). Do I have that correct?


But while the tag pointing at the whole ZR may pull down all the values, I'm not sure why you think the one using ZR[65008] is doing the same.

Sorry, I was unclear. I don't think that the Reference tag I'm using to pull out the particular ZR register is pulling all the values. I think the OPC tag I created that the reference tag points to is pulling down all the values. So my UDT has 1 OPC tag that pulls down 65000 values and ~80 reference tags that pull the values out of the OCP tag.

The problem is if I create 40+ instances of my UDT I end up with 40+ OPC tags pulling 65000 values each. I run into bottlenecks pretty quick.

Ooooooh. I totally missed that the tag targeting the array element was a Reference tag and not an OPC tag. Sorry.

Yes, you’re right then.