[FEATURE] Increase usability of the Perspective Power Chart component

8.1.5
Putting it bluntly, the Perspective trend tool has a lot of work left to be done to it in order for it to be a useful tool. In its current state, it's very difficult to use. To me, the ability to easily view and diagnose issues from a trend is a cornerstone of any SCADA application.

EDIT: Demos from another SCADA:

The main things are:
Edit: 0) IMO, these are the 2 biggest issues currently with the Power Chart: [FEATURE] Increase usability of the Perspective Power Chart component - #55 by nminchin
1) Inability to pan the view whilst not zoomed in, and being capped at the bounds of the defined view period when you are zoomed in.
This is by far the most frustrating limitation and makes using the trend for diagnosing issues a very frustrating experience, so much so that operators and I have resorted to using the Vision trend for now if they have Vision available. For other Perspective-only customers it's an ongoing frustration. For example, you select "realtime" 200 minutes. You can't move that backward in time, you're stuck from now to now-200 minutes. Or, you select a historical date range that's 200 minutes long between date1 and date2. You can't move that date range by panning the view. In both modes, you should be able to pan the view. Some might say in realtime you shouldn't be able to, but not being able to only limits usefulness of the chart. It might be useful to add the option to disable panning it if it does indeed need to be fixed in some cases.
This has been implemented with the addition of the "free scrolling" option in historical mode
2) I haven't (yet?) found how to display the raw pen data and not aggregated samples. Most often it's the raw data that operators are interested in especially for finer time periods, as aggregated data is often misleading and in some cases extremely misleading causing operators to completely mis-diagnose an issue. It's also causing some operators to lose their trust in the displayed data, and for good reasons. For example, in realtime mode sometimes fast changing data sample points move up and down in position as the time period advances e.g. at time = 1, sample x = 10 sample x+1 = 1, then at time = 2, sample x = 9, sample x+1 = 5, and the operators now see that the spike dropped to 5 instead of 1, but then in time = 3 the samples will show differently again. I realise that this is how sampling works, but hopefully you can see how this can cause significant issues for operators trying to read the data. You can do this by setting the props.config.pointCount: -1
3) There doesn't seem to be a way to show data-point markers on the chart to show where the actual data points are located e.g. small squares or circles (although this directly relates to the above and showing raw samples, as showing sampled data point values could be misleading)
4) Add a filter to the tag browser, as currently it's a long process to add tags onto the trend. Need to be able to find tags using search criteria.
5) Add the ability to change the config props from the Trend component, such as number of samples displayed for aggregated data.
6) Removing brushed areas and x-trace cursors is not intuitive to look in the ellipses menu, and the ability to stack infinite of these features is impractical and particularly for cursors it becomes unusable since the info boxes just stack on top of each other leading to a mess of lines. Maybe add an option to limit the number of things that can be placed (you can do by onChange script to remove the items from the arrays, but this would be better as a standard option).
7) Add click and drag and double click to add tags from the tag browser to the chart
8) I don't know if anything can be done about this one, but any time a project change is made and someone has a trend open in a client, they will lose their trend view and all tags they had configured as it will revert back to the designer-saved version. This is incredibly frustrating for users as often it could take a few minutes to set it all back up again, with the very real chance of it all happening again minutes later.
9) The x-trace value box doesn't expand if the length of the tag+value doesn't fit. The text just extends over the bounds of the box. This was fixed and its width is definable, defaulting to auto
10) Add the ability to select a tag path from the 'Add Pens' option in the client interface from the Chart Settings sidebar. Currently this is just a basic text field and without memorising the path of the tag you want, it's unusable.

Some other ideas taken from other SCADA platforms:

  1. Add ability to "scroll" the x or y axes to increase their ranges. E.g. click and drag on a y axis up and down to change the range of the axis.
  2. Add a "Go to now" button to move the current range to the "now" and have it then track along with now in realtime (well, every x seconds, usually 1sec). Add an "auto scroll" checkbox so that users can turn automatic tacking along with time off and on - not necessarily just when showing now.
  3. Add common time periods to easily select from a dropdown list. E.g. 10mins, 1hr, 2hrs 6 hrs, ... (user definable array)
  4. Ability to change y axis ranges from the client via a popup (as well as via mouse as in (1))

If someone from IA is able to, please have a look at Citect's trend tool, Process Analyst which is where all of the above 4 items came from; it's actually one of the best trend tools that i've ever used. It's intuitive and very functional, despite the rest of the SCADA product being significantly handicapped.

IDEA here, please vote:

24 Likes

I think this can be mitigated by:

  1. Creating session custom properties for each property on the trend tool you expect users to interact with
  2. Binding the newly created properties to some default value (so you don't accidentally leave something trended in the designer.... cough cough)
  3. Bidirectionally bind all of the trend tool properties to those session custom properties (alternatively you can use change scripts if you're into that sort of thing)

It's a pain to do, but is worth it in the end, imo.

1 Like

Yeah I did think about doing it this way, but with the numerous other issues with the chart, our operators don’t really “t(r)end” ( :wink: ) to use it much as they opt for Vision’s. I’ll most likely implement this on some of our Perspective-only sites though where they don’t have any other options. Having said that though, the Apex Chart module from @kyvislabs is pretty cool, but the supporting functionality like tag selection would need to be custom-made:
https://forum.inductiveautomation.com/t/possible-get-more-modern-looking-charts/41467/45?u=nminchin

heh. I'm with you there.

I tried using it when it came out but it doesn't fully support our HDA.

I saw that an am very interested in trying in! Weary to do so at work though. I'd be worried that it would stop being updated and we'd have to rip it out in order to upgrade.

This is an example of what I’d like to see for the tag browser (what’s shown is currently still in dev, but almost there):

2 Likes

Hi Matthew,
There are two of us at Kyvis Labs, both have been working with Ignition since its release. We use this module in numerous projects for some large clients. On top of that, the module is open sourced on our github account. The module will have support for quite some time.

1 Like

Shameless bump, as this really needs attention imo…

I’ll add one thing to that list:
Add the possibility to disable things, especially in the settings.
The problem I have is that users have the possibility to change the tag path directly, which allows them to access tags that actually belong to other projects on that gateway. Okay, they need to know the path, and I doubt many of them would even think of this, but this is a possibility and right now the only way to prevent that is to entirely remove the settings panel, which also means removing the pen panel because settings can be accessed from there… And soon enough, there’s nothing left !

I’m just replying to say that we have eyes on this post. This is great feedback, we’re working on assimilating it all and figuring out a plan of attack.

14 Likes

Great to hear, @Carl.Gould :slight_smile:

Hello all,

I wanted to reach back out and give an update on the post. We've opened several tickets with higher priorities, and you'll start to see some incremental movement on these requests in the coming releases:

Ticket open to allow panning backwards past the specified "start" time in time to adjust the start time accordingly.

Ticket open to allow an option to return data "as stored" from a history provider.

Ticket open to create a filter/search display for the tag browser.

This will not be trivial to implement as the interaction with a history provider is done as a batch request. Additionally, writing logic around the current implementation to give the appearance of this working in this manner would almost certainly hurt performance. There was a ticket opened, but this was given a lower priority than the others.

Ticket open to create a more intuitive removal mechanism for individual brushes and x-trace values.

Ticket open to make the drag/drop interaction of tags from the tag browser to the chart more apparent.

We wouldn't want to override a designed component from a session, so this might be best handled with one of the options mentioned by other users in this post.

Ticket opened to allow x-trace and annotation displays to autosize based on their contents.

Ticket open to create a more intuitive experience to add tags without using the tag browser.

Ticket open to allow axis modification via UI interaction.

Ticket open to allow a user-configurable list of time selection options for the realtime display mode.

I wanted to check out the Citect/Aveva SCADA Process Analyst tool to get a better idea of the interaction that this describes before writing some specs around the feature. It doesn't look like a software trial is easy to come by. @nminchin, would you mind sending me a DM about where/how I could preview this?

6 Likes

Hi Josh, just a quick reply now. I'll send you a message after I finish work today.

Cheers

1 Like

Since we’re talking powert chart features/improvements…
Would you consider adding configurations for the tag browser, especially ways to modify the displayed name of the tags ?
Here’s my case: tags have been configured with barely human-readable names, which is not a problem when working with them in the designer, but clients might have a hard time figuring out what’s what.
It’s too late to change them, so having a way to configure how they’re displayed in the tag browser would be a great improvement there. Maybe having the possibility of using a custom property as its display name, something like that…

Also, is there a way to change the default aggregation mode ?

1 Like

@pascal.fragnoud, unfortunately, you’re stuck with the tag names in the tag browser, but you can change the pen names once they are in the chart to something more human-readable:

For the default aggregation mode, that must be specified per pen. There isn’t a way to change it across the board like with a tag history binding:

hi everyone,

I good option (for me) would be to be able to add some realtime tag to the trends (tags that don't get to a database). So if you have a issues with for example a pressure value going high (that it's in a history provider) you can add the state of a valve that not in a history provider. and just compare on the fly.

This is some important functionality that I believe the Perspective Power Chart is missing:

  1. The ability to display raw data as dots on a each trend line
  2. Digital tags need to be able to display a square wave type trend. The value should be either 0 or 1 and the trend line should always be in a horizontal or vertical direction and not interpolate between points. The chart should base this on the “Data Type” property of a tag. For example, boolean should not have slanted lines interpolated between 0 and 1. It should be a square wave. Integers should look like a square wave and the trend line between value 1 and value 2 should not interpolate between the values.
  3. The chart needs to be able to handle queries of up to 5 years of data and should have automatic built in protection so that it cannot crash the Ignition Gateway like the Vision Easy Chart.
  4. The users need ability to save their own chart configurations

... boolean should not have slanted lines interpolated between 0 and 1.

Try setting the pen properties to CurveStepAfter. Note that you need to specify "Discrete" in the tag historian setup. As far as I remember floats default to analog if left set on "Auto"

Not showing the raw data in the chart is ridiculous. It almost makes the chart unusable. Has there been any progress on this?

6 Likes

I tend to agree… Raw data is super important and without it teaches the operators not to trust the data especially when advancing time can make samples move up and down

1 Like

Great to see that this is being looked at by Inductive.
I can see why they don’t allow display of raw pen data, because unless you have a very powerful server, it is quite slow getting the data from the database and that would be equally frustrating for an operator, using MinMax aggregation will at least allow the operator to see any spikes.
The latest version of the PowerChart exposes quite a bit of functionality via the properties, which you could manipulate with external controls and some scripting, so if you are comfortable with scripting, it’s not too difficult to add your own menu bar that allows you to add some of this functionality yourself.
I recently had an issue with the default CSV export functionality which doesn’t allow exporting raw data, so I developed this tool available on the Ignition Exchange | Inductive Automation which allows you to adjust the interval, date range and aggregation mode before exporting.