Changing PowerChart to display on change instead of value?

Exactly as the title says. I have a tag I want to display in a PowerChart that just contains string data, so I don’t want to chart its actual value on a plot, just whether it has changed. As I’ve been imagining it, I would like to put this tag on a plot of range 0 - 1, and whenever I get a new value chart to 1 for a minute and then back to 0 so that I can graphically/visually show that it has changed. Does anyone have any tips to accomplish this?


This would be hard to accomplish with just the single tag and a power chart. The reason being, the power chart relies heavily on Ignition’s history tables and a string tag would not trend in this way based on just tag history. I see two options to achieve functionality like this.

One is to use the timeseries or XY chart and have the string tag store history. Then one could use a script transform on the dataset returned from a tag history binding - to replace the strings. Then it could potentially be plotted as you desire.

The other option is to enlist the help of another tag and some tag change logic. This is how I foresee this working on a power chart. We can setup a few tag change scripts to turn a memory boolean tag on and off as you described. The scripting for this would be more complex than the next option.

The two scripts would need logic similar to this:

  1. When the string tag changes, set the boolean memory tag to 1.
  2. When the boolean tag changes, and its new value is 1, wait X amount of time and set the boolean back to 0.

This logic will toggle the boolean on when the string changes, which triggers the boolean script to set itself back to 0. As long as the boolean is storing history on change we now have a tag that can be used as a pen on the Power chart, that goes to 1 at the time the string is written to. The scripting itself wouldn’t require much more than system.tag.writeBlocking() and a way to delay for a few seconds.

Thank you for taking the time to think this through and reply. I will consider which way to move forward.