How to refence a custom udt property in an alarm property expression binding?

Ignition 8.1.18

How to refence a custom udt property in an alarme expression binding

alamConfig is a custom propertie of the UDT
The label propertie of an alarm has an expression binding which need to read this custom prop

Don’t work:

{[.]../alarmConfig}

{[.]../Customs.alarmConfig}

Seem to be impossible :sob: ?
As a side note : I can’t use an UDT parameter instead of an UDT custom property because I need a Document property type.

@ggross any idea how to access UDT custom property in expression for that use case ?

IMO, we definitely need somethink like the parameters synthax.

{[.]}../Parameters.xxxx
{[.]}../Customs.xxxx

@mazeyrat, to be able to do this you would need to do something like:

tag(concat('[.]../',{RootInstanceName},'.<Prop Name>'))

We added the Pre-Defined Parameters RootInstanceName and ParentInstanceName in 8.1.13 for these types of relationships, so hopefully one of those can be used to get what you need.

The Customs and Parameters syntax is something I will discuss with the team. I can see how it could be useful.

Garth

Thanks a lot !
I missed the {RootInstanceName} and the support for “[.]…” in tag()
I thinks that {[.]}…/Parameters.xxxx is already available ?

Glad that worked.

Yes, the {[.]}…/Parameters.xxxx syntax is already there, my wording was just a bit off. It is considered by the system to be a folder which is why it works how it does. The custom props one might be a bit cumbersome to add because they aren’t separated out of the definition like parameters. We will discuss other options as well just to try and make it easier to find a solution to this type of situation as there is a clear problem that we should try and make better.

Garth

1 Like

@ggross
Another tricky item in expression synthax, is to obtain the folder name of a tag.
I don’t find an elegant way to do this :thinking:

As a side note:

system.tag.ReadBlocking(["path/to/Folder.name"])

give a folder name, but nothing in expression…

tag("[.]../name")

is not ok