# Beckhoff STRUCT/UDT Configuration Issue

**URL:** <https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337>\
**Category:** Ignition\
**Created:** [November 22, 2021, 1:49pm UTC](https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337 "2021-11-22T13:49:08Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![jordanlarson14](https://avatars.discourse-cdn.com/v4/letter/j/96bed5/32.png) [@jordanlarson14](https://forum.inductiveautomation.com/u/jordanlarson14)\
**Post date:** [November 22, 2021, 1:49pm UTC](https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337/1 "2021-11-22T13:49:08Z")

</div>

Hello,

I have set up an OPC connection with a Beckhoff application and can successfully read the tag values. The issue i’m having though is that they are displayed as one value, meaning separate entities in the UDT are not displayed when dropped down:  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/a/2aed21e2e24595727c46eb980da145c80176a5b7.png)

I would expect/hope on expanding the tag, i’d see an entity for bAlarmActive, bAxisOK, and bAxisReady. Below is my configuration on the Beckhoff side which I am thinking is the issue, but can’t find an example online as to how to separate the sub-items.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/0/e0efc01dd283e697e799842b015dec010650a88b.png)

---

<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:** [November 22, 2021, 2:14pm UTC](https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337/2 "2021-11-22T14:14:46Z")

</div>

Do you see the struct member tags when you try to browse underneath the parent tag in the _OPC Browser_?

---

<div class="post-metadata">

**Author:** ![jordanlarson14](https://avatars.discourse-cdn.com/v4/letter/j/96bed5/32.png) [@jordanlarson14](https://forum.inductiveautomation.com/u/jordanlarson14)\
**Post date:** [November 22, 2021, 2:33pm UTC](https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337/3 "2021-11-22T14:33:02Z")

</div>

I can:  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/4/9475dc74fe16e3b79c36743af6fdb082fdc21806.png)

When I click import on just the top level structure, it does not import any of the sub items in, if i click import of all of the items, it breaks the structure and just imports everything at one level:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/c/9c8f190b21d8ca4435f1c51d7eafe05fb6b0754b.png)

---

<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:** [November 22, 2021, 2:35pm UTC](https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337/4 "2021-11-22T14:35:40Z")

</div>

You may need to select one or the other. The top level in this case is a tag with a structured value, not an object or folder, so it’s only going to import that if you select it. It’s far less load on the PLC when you read the structure as a whole instead of its individual member tags.

If you want the individual tags then make a folder and bring them into that folder.

---

<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:** [November 22, 2021, 2:37pm UTC](https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337/5 "2021-11-22T14:37:50Z")

</div>

If you do stick with pulling in the structured tag, there’s a strategy described [in this post](https://forum.inductiveautomation.com/t/opc-ua-struct-data-type/26905/2)  
(and elsewhere) for pulling members into their own tags if needed.

---

<div class="post-metadata">

**Author:** ![jordanlarson14](https://avatars.discourse-cdn.com/v4/letter/j/96bed5/32.png) [@jordanlarson14](https://forum.inductiveautomation.com/u/jordanlarson14)\
**Post date:** [November 22, 2021, 2:48pm UTC](https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337/6 "2021-11-22T14:48:10Z")

</div>

Thank you!

---

<div class="post-metadata">

**Author:** ![jordanlarson14](https://avatars.discourse-cdn.com/v4/letter/j/96bed5/32.png) [@jordanlarson14](https://forum.inductiveautomation.com/u/jordanlarson14)\
**Post date:** [November 22, 2021, 5:58pm UTC](https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337/7 "2021-11-22T17:58:52Z")

</div>

Hi Kevin,

I just wanted to confirm I’m doing it the reccomended way,

I made a UDT of derived tags and pass in a reference to my physical OPC tag via a parameter:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/8/b835410f6d78f45575e5401bce09b8bc2e582f18.png)

I then utilize the read or write expression based on need and to keep it modular, I reference the tag name of the child component:  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/a/4aae13d8148a342fa9a7b75ed382f59da2b51911.png)

---

<div class="post-metadata">

**Author:** ![BryanB](https://avatars.discourse-cdn.com/v4/letter/b/57b2e6/32.png) [@BryanB](https://forum.inductiveautomation.com/u/BryanB)\
**Post date:** [June 12, 2025, 4:05am UTC](https://forum.inductiveautomation.com/t/beckhoff-struct-udt-configuration-issue/53337/8 "2025-06-12T04:05:57Z")

</div>

Ancient post, but it took me a little while to figure out the `jsonSet()`. Here's a screenshot with that extended. As others have noted on other posts, if it isn't writing make sure that the OPC tag is marked on the other end as being writeable.

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