Tag Monitoring Tool

I have a list of Ignition tags that I am validating from remote device tags in the field.

Is there a tool, where it allows you to pick a number of ignition tags and monitor its value?

I have a list of Ignition tags that I am validating from remote device tags in the field.

Are you saying that the remote tags are clients and Ignition is being used as OPC UA server?

Is there a tool, where it allows you to pick a number of ignition tags and monitor its value?

It's not clear what you are trying to do here. It sounds as though you are looking for something like the OPC Quick Client which is developed by the OPC Foundation and ships with Kepware products or Matrikon's version. An alternative is to create a Vision application with the tags of interest.

Remote tags are from PLC. These tags are connected to OPC Server.
Ignition is connected to same OPC Server.

Yes something like OPC Client I supposed.
But instead of picking OPC Paths, I would like to refer to those tags as Ignition Tag Names, as seen on Tag Browser.

I suppose I could drag from OPC panel into tag browser.
But I already have existing Ignition Tags (with same OPC Path) defined on my tag browser.
Hope this made it clear what I am trying to do.

No, sorry.

I could create a perspective page, use table component, each row I would display list of desired tag I want to monitor.

But I am looking for an alternative, something more temporary, that doesn't need me to create a page.

I want to be able to Selectively pick Ignition Tags and see its value.

Try using the OPC Connections -> Quick Client section of the gateway configuration page and subscribing to your PLC tags

1 Like

If you have a list of tags why not use system.tag.readBlocking to return a list of values?
https://docs.inductiveautomation.com/display/DOC81/system.tag.readBlocking

So you've already got these tags added into the Ignition tag browser, is the tag browser then not the obvious place to monitor the values of them from? (maybe I missed something)

Yes you got it right, one thing you missed is, among those tags in Tag browser, I want to monitor only a handful and want them next to each other.

I would make a list of tagpaths in an array in a Perspective view custom property (or parameter), make a view custom property with an expression binding that uses my tags() expression function to maintain live subscriptions to them, and then bind a table's data property to the result, probably transforming the output to make it a bit prettier.

The tags() expression function is part of my Integration Toolkit (free) module:

Create a new folder called "Monitor"

Use derived tags for each of the tags you want to monitor

https://docs.inductiveautomation.com/display/DOC81/Types+of+Tags

Thank you for the input, i get that there are few ways to do this.
I am curious, is there a way to get the list of tag paths(all tag path) programmatically?

If it is worth it, put them on a list, select them using check boxes or table selection.

This forum has a wealth of examples, search is your friend

Here is one result for search for "get list of tag paths"

1 Like

Have you also considered:

https://docs.inductiveautomation.com/display/DOC81/Tag+Report+Tool

2 Likes

I have considered Tag Report Tool, but this returns a snapshot of the values and is not updating.

I realized that, the Tag Report Query Mechanism would be perfect, if it is available in Ignition Script. I wish there is something like this that I could use to generate all tag path, rather than creating a script to traverse thru all tag directory on tag browser.

It is.

your right, I am playing with it now. Found out you can export query via script.. i was like "wth".

Edit: The query is working. results = system.tag.query(provider, query, limit)
how do you modify this to query with no limit on number of returned data? I don't understand the manual.

Remove the limit arg

got it. I can now get tag list by using Tag Report tool, set type to AtomicTag.
Copy the script of Tag Report Query and use this script.

Performance wise, results = system.tag.query(provider, query, limit) must be ran on gateway.
I should pass results to payload as is (payload['results']=results), to send the results to session.

Let me know if there's better way.