Keyence OPC UA structure comes in as document tag instead of folder

Hi All,

I’m pretty new to ignition so I’ve been working on converting some of our smaller existing factorytalk SE HMIs as a way to familiarize myself with it. I completed the first one that talks with an AB PLC, and am just starting one that talks with a Keyence PLC.

The Keyence PLC uses a built-in OPC UA server, which has been working fine in FT, and I was able to set it up in ignition as well and see tags. However, when I try to add the structure tags, instead of coming in as a folder like AB UDTs did, or like the Keyence does in FT, it comes in as a singular document type tag.

The tag browser can see all the subtags, and if I manually create a folder and add the subtags directly, they work exactly as expected.

For this pretty small project with only a couple single layer structures, this isn’t a big deal. However, we have an upcoming Beckhoff based one that will have a lot more and possibly nested structures, and so would prefer to avoid that there.

So my initial questions would be

  1. Is this an configuration issue or setting that I’ve overlooked?

  2. If not, is this an issue with OPC UA in general, or specifically Keyence’s implementation?

  3. If this can’t be set to be seen as a folder, is there an easier way to build the structure than just manually creating all the (sub/)folders and importing tags to the right location? (I’ve more or less figured out ignition UDTs, so can at least avoid building the same structure multiple times.)

Thanks!

This because Keyence has modeled the structured values as both:

  • a VariableNode containing the structured value that you can access atomically
  • all of the structure member values individually as VariableNodes underneath

You'll need to decide which one you want to use, and then use Ignition UDTs if you don't want to be dragging/dropping everything manually.

It's easier to use the member tags than to deal with the Document, especially if you're new to Ignition, but it's a little bit more burden on the server.