# Help connecting to OPC-UA server to read analog tag metadata

**URL:** <https://forum.inductiveautomation.com/t/help-connecting-to-opc-ua-server-to-read-analog-tag-metadata/74792>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [June 8, 2023, 7:55pm UTC](https://forum.inductiveautomation.com/t/help-connecting-to-opc-ua-server-to-read-analog-tag-metadata/74792 "2023-06-08T19:55:18Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![zachary.roisum](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zachary.roisum/32/42809_2.png) [@zachary.roisum](https://forum.inductiveautomation.com/u/zachary.roisum)\
**Post date:** [June 8, 2023, 7:55pm UTC](https://forum.inductiveautomation.com/t/help-connecting-to-opc-ua-server-to-read-analog-tag-metadata/74792/1 "2023-06-08T19:55:18Z")

</div>

I am working on a project using Beckhoff as the PLC. Since there is not yet a native driver for Beckhoff in Ignition, I chose to add the OPC-UA server to the Beckhoff. There are two really nice features in the OPC-UA specification that Beckhoff chose to implement: structures and analog items.

See this post for how to work with structures:

> [@OPC UA struct data type?](https://forum.inductiveautomation.com/t/opc-ua-struct-data-type/26905/6):
>
> I know, but I’m looking into the Source parameter of the derived tag. How to reference the UDT member with the OPC-configuration… Then when we have an exact copy, I can further specify the details I want to use in my derived tag with de Read-expression…

This post I'm looking for help with analog items that include metadata like unit of measure, engineering min, and engineering max. When adding a tag from "browse devices" the tag shows the metadata nested below it, but those tags get separated from their parent tag on import. My hope was for this metadata to be a binding on the tag since there is already a engineering min and max parameter in Ignition, but I don't see how I could do that past one tag as the second tag's engineering min parameter will be a naming conflict with the first when imported separate from its parent tag.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/5/15d84c687af9dc64143f80dc4d051e69ec86dcfd.png)

---

<div class="post-metadata">

**Author:** ![kyler.kamyszek](https://avatars.discourse-cdn.com/v4/letter/k/a4c791/32.png) [@kyler.kamyszek](https://forum.inductiveautomation.com/u/kyler.kamyszek)\
**Post date:** [June 8, 2023, 8:12pm UTC](https://forum.inductiveautomation.com/t/help-connecting-to-opc-ua-server-to-read-analog-tag-metadata/74792/2 "2023-06-08T20:12:24Z")

</div>

This is the same for all OPC tags that come into Ignition, it's not just a Beckhoff implementation. The 'metadata' on the OPC server is just another tag to ignition.

You will want to use folders or UDTs and the multi-instance Wizard to make this process a little easier.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 8, 2023, 8:27pm UTC](https://forum.inductiveautomation.com/t/help-connecting-to-opc-ua-server-to-read-analog-tag-metadata/74792/3 "2023-06-08T20:27:48Z")

</div>

> [@kyler.kamyszek](#):
>
> The 'metadata' on the OPC server is just another tag to ignition.

In this case, it's also just another Node in the OPC UA server. In the address space these are _properties_ of a VariableNode that has an AnalogItemType (or subclass) type definition.

There is other metadata, like the Description _attribute_, that is not represented as an additional Node in the address space but rather an intrinsic part of every Node.

We don't automatically try to map any these to corresponding Ignition tag properties right now. There's not really a sane strategy, because ideally you would subscribe to them so if they changed you'd know about it, but many/most OPC UA servers, especially those embedded in PLCs, have relatively low limits on the number of subscriptions and monitored items.

---

<div class="post-metadata">

**Author:** ![zachary.roisum](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zachary.roisum/32/42809_2.png) [@zachary.roisum](https://forum.inductiveautomation.com/u/zachary.roisum)\
**Post date:** [June 8, 2023, 9:00pm UTC](https://forum.inductiveautomation.com/t/help-connecting-to-opc-ua-server-to-read-analog-tag-metadata/74792/4 "2023-06-08T21:00:01Z")

</div>

Thanks for the clarification. I think I'll go to the feature requests and add my vote for a native Beckhoff driver which would have spared me getting confused by the inner details of OPC-UA.
