Expression to hide label in Template pointing to UDT

The answer may be simple, but the question is complicated. I will attempt to clarify if anything does not make sense. I am trying to hide (make invisible) a numeric label inside of a Template that references a UDT if the tag does not exist. I am using the following expression on the numeric label’s value:

if({ProcessFlow.InputTag::PV.BathTemp.DataQuality} = 404, 0, 1)

Where InputTag is the UDT reference for Furnace with the following UDT structure

Furnace

  • PV (folder)
    – BathTemp (OPC Tag)

Currently, Ignition Designer shows the PV but there is something amiss:

The reason why I would like to figure this out is that I want to be able utilize multiple Furnaces and if there is no PV value, then don’t show it. Maybe there is an easier way to do this.

I was trying to utilize this method :confused:

I’m assuming you are using some kind of address offset in the UDT so you gather the information from different furnaces. The problem with your approach is even though you hide the tag, your system will still be trying to poll for it.

I think you will have to create 2 UDTs, one containing the PV and one not and assign the correct one to the furnace in a configuration step, otherwise your system will generate continual comms errors trying to interrogate a non-existent tag in the background.

1 Like

Another solution would be to disable the tag inside the UDT. Just create a script that goes through all your UDT instances, and disables the none-existing tag. You can than bind the visible property to an expression where you check “.Enabled” attribute of the tag.

Thank you for the insight. @Kleppe85, along the lines of this?

I have a lot more ideas I will need to mull through, so you will see quite a few questions from me in the future. :bow:

Would recommend you to use this approach instead: https://docs.inductiveautomation.com:8443/display/DOC79/system.tag.editTag