How to implement it as a perspective ( Ignition-> Status -> Performance -> Overview -> Tags )


The number of tegs used in the system is 737, how can I represent this from a perspective ?

The simplest way would simply be to use

len(system.tag.browse('[tagprovider]', filter = {'tagType': 'AtomicTag', 'recursive': True} ))

1 Like

I used the method you told me using the label in perfsepctive, but I get an error.

Can you tell me the solution?

I believe you'll need to use an expression or property with a script transform to use that. Also, replace 'tagprovider' with your tag provider :). Probably 'default'

An error occurs even though the change has been made.

Do now() for the expression, then put value = your script in a script transform

Do you mean to do this?

If this is correct, the value is null.

Close. Put 'value =' to the left of the script you have. Then do 'return value'

1 Like

If you look at picture number 1, there are 300 tags

If you look at picture number 2, the number of tags is 265.

How can I get 300 tags?

don't you mean 737?

Also, I would just put "1" into the expression rather than running now(). You just need it to run once, and rather than calling a function, just giving it a 1 will be more efficient, if only very slightly.

Filtering by 'tagType' = 'AtomicTag' will limit your results to only the 6 actual tag types and it will exclude folders and udt instances (it will include udt instance atomic tags though).

Regarding why you're seeing a difference in count, that tag count might also include the tags from the system tag provider as well. If you want to include those, then you'll need to sum the results from your default tag provider and the results from the system tag provider.

Edit: however, it seems there's a bug when trying to recursively browse for tags in the System tag provider; it doesn't recursively browse...

Try removing the 'tagType' filter so you aren't filtering by this (you should be left with only filter = {'recursive': True} in the filter)


Thank you so much!!!!!

That will make it try to run every millisecond. So, no. Use zero. now(0) runs just once.

No, I mean, just use literally 1 in the expression field, nothing else, no now(0), no now(1), just 1 (or true). I.e. something static. It probably makes very little difference, but every difference counts :wink:

1 Like