Creating client tags in runtime

I don’t disagree with Nick very often, but I will here. Client tags have one enormous advantage over python script module scoped variables: value change subscribers can freely come and go as windows are opened, cached, and closed, including in template holders, repeaters, and canvas objects. Ignition’s binding infrastructure makes all of this Just Work, with zero code maintenance effort on your part, regardless how often or rarely you are updating any given value.
If this applies to your application (and I bet it does), use a client tag, even if you have to shoe-horn your data representation into a dataset.
If you have a weird or python-constructed datatype that you need to persist in that form, by all means, use a module scoped variable. I have a number of deployments with such code. But I avoid using them without good cause.

1 Like