# OPC UA struct data type?

**URL:** <https://forum.inductiveautomation.com/t/opc-ua-struct-data-type/26905>\
**Category:** Ignition\
**Created:** [July 26, 2019, 1:13pm UTC](https://forum.inductiveautomation.com/t/opc-ua-struct-data-type/26905 "2019-07-26T13:13:17Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [July 26, 2019, 2:37pm UTC](https://forum.inductiveautomation.com/t/opc-ua-struct-data-type/26905/2 "2019-07-26T14:37:13Z")

</div>

You can take advantage of reading whole structs in OPC UA servers as of Ignition 7.9.12 and 8.0.0.

When you bring the tag in you’ll notice Ignition presents a JSON value. The strategy here is a little involved but it works.

For each of the UDTs you’ll be subscribing to in the PLC you make a corresponding UDT in Ignition. It should have a “Source” OPC tag member that will correspond to the Node with the struct value in the server and as a result have a JSON value in Ignition. Then for each member of the UDT you have a Derived Tag member that references the “Source” tag using the `jsonGet` and `jsonSet` expression functions to get/set the member value out of the JSON value.

---

_[View the full topic](https://forum.inductiveautomation.com/t/opc-ua-struct-data-type/26905)._
