# Substitution Symbol vs Value

**URL:** <https://forum.inductiveautomation.com/t/substitution-symbol-vs-value/43205>\
**Category:** Ignition\
**Tags:** ignition79\
**Created:** [February 9, 2021, 7:07pm UTC](https://forum.inductiveautomation.com/t/substitution-symbol-vs-value/43205 "2021-02-09T19:07:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![philippeg](https://avatars.discourse-cdn.com/v4/letter/p/e495f1/32.png) [@philippeg](https://forum.inductiveautomation.com/u/philippeg)\
**Post date:** [February 9, 2021, 7:07pm UTC](https://forum.inductiveautomation.com/t/substitution-symbol-vs-value/43205/1 "2021-02-09T19:07:04Z")

</div>

Version 7:9:16

Hello, thanks in advance for any insight or help…much appreciated

We are converting a project from a other package (iFix) to Ignition.

Without judging, just comparing, iFix has what GE calls TAG GROUP  
Basically it is an association between a SYMBOL and a VALUE

The Symbol is what is bound to the animation on screen, while the value is the one being displayed.

Obviously if you have multiple files using the same SYMBOL but different values, then it is possible to have a screen that would display values depending on which file you load

For instance

File 1  
Node LOUISE  
PRODUCT APPLE  
VALUE 10

Were Node is the symbol and Louise the Value, same for product and apple and value and 10

File 2  
Node TOM  
PRODUCT ORANGE  
VALUE 30

File 3  
Node TOM  
PRODUCT LETUCE  
VALUE 40

If you display NODE TAG and VALUE On screen and you change the file then the screen will change from displaying LOUISE APPLE 10 to TOM LETUCE 40

This is pretty much similar to what UDT are in ignition except that iFIX is not loading TAGNAME (although it could) and it is based on files being read  
I could create a UDT for each files and a MEMORY TAG for each SYMBOL but with 50 files and 20 parameters each it would be 1000 memory tags just to do the substitution

So what is the best way in Ignition 7.9.to do this type of substitution ?  
Is there an other way than UDT ?

Thanks  
Regards  
Philippe Gras

---

<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:** [February 9, 2021, 9:22pm UTC](https://forum.inductiveautomation.com/t/substitution-symbol-vs-value/43205/2 "2021-02-09T21:22:34Z")

</div>

No need to use a UDT at all. Look at parameter passing in system.nav.openWindow. Where iFix is using a symbol, you use a Root Container Custom Property in Ignition.

Another concept for similar behavior in Ignition is the use of a _tag path_ string with _indirect_ tag binding.

All of this is basic Ignition technology that is best absorbed via [Inductive University](https://www.inductiveuniversity.com/library/).

---

<div class="post-metadata">

**Author:** ![philippeg](https://avatars.discourse-cdn.com/v4/letter/p/e495f1/32.png) [@philippeg](https://forum.inductiveautomation.com/u/philippeg)\
**Post date:** [February 9, 2021, 9:37pm UTC](https://forum.inductiveautomation.com/t/substitution-symbol-vs-value/43205/3 "2021-02-09T21:37:29Z")

</div>

I see what you mean. I was over thinking …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:** [February 11, 2021, 11:47am UTC](https://forum.inductiveautomation.com/t/substitution-symbol-vs-value/43205/4 "2021-02-11T11:47:36Z")

</div>

Igntion is farr more powerful than iFix (and FactoryT for that matter - they use similar methods to iFix with their parameter files; awful things!)

As Phil said, to make anything dynamic, just use custom properties / template parameters to pass a base tag path (to a popup or device template, or even a a Window, for example) , and then use indirect bindings that use the tag path and the rest of the path to the tag you want to bind to appended onto the end. The best thing is, you don’t have to create a million files in order to pass simple parameters to your things
