# Tag Monitoring Tool

**URL:** <https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095>\
**Category:** Ignition\
**Created:** [November 18, 2023, 7:26pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095 "2023-11-18T19:26:48Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 18, 2023, 7:26pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/1 "2023-11-18T19:26:48Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [November 18, 2023, 7:41pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/2 "2023-11-18T19:41:03Z")

</div>

> 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.

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 18, 2023, 7:58pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/3 "2023-11-18T19:58:50Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [November 18, 2023, 8:17pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/4 "2023-11-18T20:17:06Z")

</div>

> [@Eugene49](#):
>
> Hope this made it clear what I am trying to do.

No, sorry.

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 18, 2023, 8:18pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/5 "2023-11-18T20:18:09Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 18, 2023, 8:36pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/6 "2023-11-18T20:36:19Z")

</div>

> [@Transistor](#):
>
> No, sorry.

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

---

<div class="post-metadata">

**Author:** ![Ryan\_Allen](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan_allen/32/47013_2.png) [@Ryan\_Allen](https://forum.inductiveautomation.com/u/Ryan_Allen)\
**Post date:** [November 18, 2023, 9:12pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/7 "2023-11-18T21:12:49Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [November 18, 2023, 9:25pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/8 "2023-11-18T21:25:53Z")

</div>

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](https://docs.inductiveautomation.com/display/DOC81/system.tag.readBlocking)

---

<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:** [November 18, 2023, 11:00pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/9 "2023-11-18T23:00:58Z")

</div>

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)

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 19, 2023, 12:50am UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/10 "2023-11-19T00:50:48Z")

</div>

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.

---

<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:** [November 19, 2023, 12:58am UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/11 "2023-11-19T00:58:31Z")

</div>

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](https://www.automation-pros.com/toolkit/doc/utility.html#tags) is part of my Integration Toolkit (free) module:

> [@Automation Professionals' Integration Toolkit Module](https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934):
>
> Automation Professionals is pleased to announce the immediately availability of a major upgrade to its free Simulation Aids Integration Toolkit module. The new feature justifying the "major upgrade" language is the implementation of eleven new expression functions which use iteration to accomplish complex transforms of datasets and lists, to or from other datasets and lists, applying filtering, ordering, and computed new columns along the way. While there are certain operations that are still …

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [November 19, 2023, 11:52am UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/12 "2023-11-19T11:52:10Z")

</div>

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](https://docs.inductiveautomation.com/display/DOC81/Types+of+Tags)

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 19, 2023, 1:22pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/13 "2023-11-19T13:22:09Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [November 19, 2023, 1:27pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/14 "2023-11-19T13:27:14Z")

</div>

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

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

> [@Get a flat list of all tags paths on the gateway?](https://forum.inductiveautomation.com/t/get-a-flat-list-of-all-tags-paths-on-the-gateway/49975):
>
> Recursive browsing to get a list of all the tags is really slow because for each new folder/level the client has to send a new request to the server. I have had my recursive tag browse method tag actual minutes to complete. Is there any way to get a flat list of tag paths from the gateway? Here is my Browse method for reference def browseTags(path, filt): try: results = system.tag.browse(path, filt) returnResult = [] for result in results.getResults(): # If the item has children, ca…

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [November 19, 2023, 1:33pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/15 "2023-11-19T13:33:36Z")

</div>

Have you also considered:

[https://docs.inductiveautomation.com/display/DOC81/Tag+Report+Tool](https://docs.inductiveautomation.com/display/DOC81/Tag+Report+Tool)

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 23, 2023, 6:35pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/16 "2023-11-23T18:35:46Z")

</div>

> [@Matrix\_Engineering](#):
>
> [Tag Report Tool - Ignition User Manual 8.1 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC81/Tag+Report+Tool)

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

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/3/e3208c60fccfdff0387eb0a319fdb55212a70c80.jpeg)

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.

---

<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:** [November 23, 2023, 7:09pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/17 "2023-11-23T19:09:51Z")

</div>

> [@Eugene49](#):
>
> if it is available in Ignition Script

It is.

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 23, 2023, 7:16pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/18 "2023-11-23T19:16:27Z")

</div>

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.

---

<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:** [November 23, 2023, 8:36pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/19 "2023-11-23T20:36:08Z")

</div>

Remove the limit arg

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 23, 2023, 9:16pm UTC](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095/20 "2023-11-23T21:16:55Z")

</div>

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.

[Next page](https://forum.inductiveautomation.com/t/tag-monitoring-tool/82095.md?page=2)
