Indirect tag and calc

Hello
I have objects containing indirect bindings.

for instance Indirect tag path {1} and where Ref {1} is Root container.Phase_number
Phase number contains a Tag name
this Tag is actually a Float

when I display this {1} I would like to add (+) a other number either a constant like 10 or and value contained in another indirect binding say Ref {2}

I tried to insert math function inside the indirect tag path but it does not seems to work
Any idea ?

thanks a bunch
regards
Phil

Use expression binding. The tag function fetches value of the tag if you provide tag name as string.
I would do this in your case
tag({Root container.Phase_number})+10

Put any constants right in the string at the top. (On either or both sides of the {1}.) Place a {2} where appropriate in the string at the top and another reference box will show up below.

The references themselves are cannot be expressions, and are substituted after stringification. If you have complicated manipulations, you can use another custom property with a string expression, then use that in a reference.

If you are wise, you will not use the tag() function.

Hi, I’m sorry, what do you mean by put a constant ? like {1} + 10 ?
Also, what is the issue with the tag ()
Sorry I’m new on ignition and trying to convert something from a package I know upside down to this one, sure, thing are not comparable, to be expected

thanks
Phil

You should create a separate custom property with an expression binding to add Phase_number and 10. Use that property as your {1} reference instead. The tag() expression function has a number of performance implications that mean you should avoid it. A search on this forum for me and tag() will turn up a number of discussions about it.

The issue is that Root Container.phase_number contains the IO address so when I do Tag({Root container.Phase_number})+10 it is not interpreted a math operand it is adding 10 to the string so if the Tag({Root Container.Phase_number}) is equal to 90 then the display is now showing 90.01 which is 90.0 plus 10 as a string

Any idea how to fix that ?
thanks
Phil

toInteger(Tag({Root Container.Phase_number})) + 10
Tested and it works.