# Accessing custom parameter of a UDT instance inside a popup window

**URL:** <https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795>\
**Category:** Ignition\
**Created:** [January 8, 2022, 5:34am UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795 "2022-01-08T05:34:47Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 8, 2022, 5:34am UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/1 "2022-01-08T05:34:47Z")

</div>

In a popup window that receives a UDT as input parameter (say a Tank UDT), I want to access the custom parameter of the UDT say TankNum, for use in filtering alarms associated with that instance of UDT in the display path filter in an alarm table.

I am trying to use an expression like "\*Tank"+{Root Container.Tank::TankNum}+"\*" in the display path filter of the alarm status table in the popup.

It doesn't give any error but it returns null for the expression {Root Container.Tank::TankNum}.

What could be wrong! How to access the custom parameter of a UDT in an expression? The property Binding window allows binding with the meta data and other properties of the UDT but not the custom parameters like TankNum.

How to access the parameters in an expression tag?

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [January 8, 2022, 7:13am UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/2 "2022-01-08T07:13:39Z")

</div>

Use separate properties, one that only reads the value of the param of that UDT instance, and the other should be `“*Tank”+toString({Root Container.Somewhere.readParamCustomProperty})+"*"`.

For the property that read the params just use an Indirect Tag Binding, using `{1}/Parameters.param` where param is the name of you actual parameter name at the UDT.

For {1}, set the TagPath Meta property from the UDT input.

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

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 8, 2022, 12:55pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/3 "2022-01-08T12:55:40Z")

</div>

Not clear!

To state my problem again, I have a POPUP window that has a Tank UDT passed as a parameter to it. The POPUP window displays some data and controls associated with that instance of the UDT. In addition I have an Alarm Status component defined in the POPUP window. By default it displays all alarms in the system. I want to filter and display only alarms associated with the UDT instance that is passed as parameter to the window.

I am trying to filter the alarm status table on display path for expressions string some thing like "\*Tank "+_ **the tank number corresponding to the Tank UDT that is passed as input to the POPUP** _+"\*"

(it will result in filter string like "\*Tank 1\*" etc. But I don't know how to get _ **the tank number corresponding to the Tank UDT that is passed as input to the POPUP** _

I understand from your reply that I should get the path of the UDT then access its parameters, but still not clear!

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 9, 2022, 6:28pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/4 "2022-01-09T18:28:27Z")

</div>

> [@jespinmartin1](#):
>
> For {1}, set the TagPath Meta property from the UDT input.

The "udtTemplate.udt::Meta.TagPath" is giving error! Lets say my name of udt passed to in popup is say tank, (In DB its type is Tank) then what exact expression should I use for the above expression ?

Where is it documented in the manuals?

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [January 9, 2022, 8:00pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/5 "2022-01-09T20:00:04Z")

</div>

You should be able to find that TagPath property for your UDT type param in the property picker when you’re setting up your bindings.

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [January 10, 2022, 1:27am UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/6 "2022-01-10T01:27:51Z")

</div>

Is because that only applies to my example, find your own udt meta.

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 10, 2022, 5:48am UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/7 "2022-01-10T05:48:41Z")

</div>

Thanks, I will try that. Is it also possible to pass the TankNumber parameter to the POPUP window in addition to the UDT instance? Then I can directly use this number in the indirect tag binding?

But this could be a round about approach, when the data in already available in the UDT instance passed to the POPUP.

Thanks a lot.

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 10, 2022, 5:49am UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/8 "2022-01-10T05:49:03Z")

</div>

Got it thanks!

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [January 10, 2022, 6:01am UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/9 "2022-01-10T06:01:56Z")

</div>

> [@prafull\_j](#):
>
> Is it also possible to pass the TankNumber parameter to the POPUP window in addition to the UDT instance?

Of course, but why would you want to do that when you can just read it indirectly?  
I don't pass UDTTypes at all and just pass the path to the UDT (as deviceName and deviceParentPath) and indirectly reference the tags I need using these.

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 10, 2022, 6:15am UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/10 "2022-01-10T06:15:53Z")

</div>

Ok let me try, I haven't got the hang of it yet, till I try how to pass path to the UDT as a parameter! Thanks a lot downunder!

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [January 11, 2022, 4:35am UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/11 "2022-01-11T04:35:08Z")

</div>

Send it as a string and in the target read it as an expression.

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 12, 2022, 5:27pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/12 "2022-01-12T17:27:01Z")

</div>

However the dynamic string for a Cell Update in an easychart component is not working with the same approach! I am binding the chart parameter using Cell Update binding like this

[~]TestTags/Tank {Root Container.tanknum}/tank PV

Where tanknum is the custom property added to the popup window and the Tank UDTs are Tank 1, Tank 2 etc. The tank number is dynamically generated using {Root Container.tanknum}

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 13, 2022, 2:59pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/13 "2022-01-13T14:59:51Z")

</div>

I am at the wits end to understand as to why this binding to Tag Pens for the easy chart doesn't work! The tanknum is custom property added in the popup as explained in the above posts!

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

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 13, 2022, 4:29pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/14 "2022-01-13T16:29:36Z")

</div>

Pretty sure you can’t use indirection. Tags or properties only. Do your tag indirection in custom properties, then reference those properties in this cell binding.

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [January 13, 2022, 4:46pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/15 "2022-01-13T16:46:07Z")

</div>

Correct.

Anything that you need to use as an indirect in a cell update binding, create a new custom property that generates the tag path and then use that new custom property in the cell update binding.

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 13, 2022, 4:59pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/16 "2022-01-13T16:59:03Z")

</div>

> [@bschroeder](#):
>
> create a new custom property that generates the tag path

New custom property in the Root Container of the chart? That's what I did now but still no success! Let me try more, if I am missing anything!

> [@pturmel](#):
>
> Pretty sure you can’t use indirection.

However the IU video does precisely that!

[Indirect Easy Chart - Historian Charts (inductiveuniversity.com)](https://inductiveuniversity.com/videos/indirect-easy-chart/7.9)

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [January 13, 2022, 5:55pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/17 "2022-01-13T17:55:19Z")

</div>

Yep.

The custom property expression would be concat(’[~]TestTags/Tag’,tanknum property here,’/Tank\_PV’)

The resulting value then would be the TAG\_PATH you use.

Can you post s screen shot of how you have it setup?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 13, 2022, 6:11pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/18 "2022-01-13T18:11:00Z")

</div>

Ah, I missed that it was an EasyChart. Yes, your dataset should end up with the correct strings. Have you checke the resulting dataset? (Export them to CSV to see tiny differences between working and non-working.)

(I thought you were trying to get the tag **value** into the dataset.)

---

<div class="post-metadata">

**Author:** ![PRAMANJ](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pramanj/32/66935_2.png) [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Post date:** [January 13, 2022, 7:36pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/19 "2022-01-13T19:36:33Z")

</div>

> [@pturmel](#):
>
> Have you checke the resulting dataset? (Export them to CSV to see tiny differences between working and non-working.)

Do the live dataset values and the customer properties values show up in designer, after launching the project using F10 key? Doesn't seem to be the case! Where are the live values of the custom properties and the data set available or how to export them in CSV?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 13, 2022, 8:07pm UTC](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795/20 "2022-01-13T20:07:36Z")

</div>

I would use the dataset editor button in the designer’s property pane, then copy to clipboard.

[Next page](https://forum.inductiveautomation.com/t/accessing-custom-parameter-of-a-udt-instance-inside-a-popup-window/54795.md?page=2)
