Tag Replace Function

Does Ignition provide an easy way to replace all the tag binding on a single page with new tags? I’m looking for something similar to Intouch’s tag replace feature.

For example, I make a page for a single pump which contains tags specific to that pump (pump1_run, pump1_stop,etc.)

Now I wish to create an identical page for another pump. It should be a simple matter of copying the original page and replacing every instance of my pump1 tags with my pump2 tags. (pump1_run becomes pump2_run, pump1_stop becomes pump2_stop, etc.).

Unfortunately, the only way I can see to accomplish this is to manually go through each component on the page and change the bindings in the property editor. Does anyone know of a solution to this?

BTW, I am aware of the Find/Replace function, but, as far as I know, that serves a very different purpose.

Any help much appreciated.

Hi there,

Ignition handles what you are describing in a different way. In Ignition you would handle this by using indirect bindings.

The idea here is to use the same window for different pumps – the binding changing depending on what pump you want to see. That way you don’t have to create multiple windows for the same functionality.

I suggest you watch this video about Indirect Tag Bindings:
inductiveuniversity.com/video/i … ag-binding

You can also read about Indirect Tag Bindings in the Ignition manual here: docs.inductiveautomation.com/di … ag+Binding


Thanks very much. Still new to ignition so that’s a feature I’d missed completely. One more, small question.

Can I use indirect tags in a binding expression?

So, given a very simple expression “{PLC/CP2/pump1_runs} && {PLC/CP2/pump1_auto}”.
I wish to copy this component and replace the tags for multiple pumps: “{PLC/CP2/pump2_runs} && {PLC/CP2/pump2_auto}”, etc.

Is this possible using indirect tag paths?

[quote=“conlonj25”]I wish to copy this component and replace the tags for multiple pumps: “{PLC/CP2/pump2_runs} && {PLC/CP2/pump2_auto}”, etc.[/quote]Indirect tag paths are really just strings, so you can create a computed tag path property with an expression that assembles the tag path the way you want (as a string) and then use that property in your indirect reference.

See https://docs.inductiveautomation.com/display/DOC79/tag

Hi conlonj25,

Yes, you can use indirect tag paths in expressions. You do this by using the tag expression function.

Here is an example:

tag("PLC/CP2/pump"+{Root Container.pumpNum}") && tag("PLC/CP2/pump"+{Root Container.pumpNum}+"_auto")