Read Only Large Group Of Tags

My machines are defined by a single UDT that uses the RootInstanceName to connect to PLC's.

I would like to read a large group of tags in each PLC on a manual trigger. I do not want to read on regular interval.

I thought about reading via a driven tag group one-shot but I would have to create a tag group for each plc. (I think this is probably what I will have to do.)

I tried system.opc.readValue but it takes way too long.

Does anyone have any other suggestions?

Did you accidentally leave off the "s" ? A single call to system.opc.readValues() is the right tool, and will be the fastest, and will be the only way to ensure you get all the new values after your trigger. (Anything you read this way should not have OPC tags in your UDTs. If you need tags for UI purposes, have your script write to memory tags in your UDTs.)

These large groups are arrays. Is there a way to read an array with system.opc.readValues?

Put all of the elements in the list separately, just like any other item paths. (My alternate driver can read elementary arrays as Ignition array tags, but there's no performance difference on the wire.)

It is up to your script to assemble the list of item paths, and then process the returned list of QVs into the separate chunks you want. But whatever you do, make one list of all your items paths for one call to system.opc.readValues(). It must be one call for the driver to have the opportunity to optimize into the fewest possible requests on the wire.

Thank you