[Solved] Perspective Gauge Component - maxValue display not updating

Hello all,
I’ll describe what I’m trying to do and the problem I’m having:

I am creating an embedded view in Perspective which contains a gauge component. I’m doing this because I want to be able to reuse this view multiple times on the page.

I’m passing in an integer tagpath to the embedded view. The value of the gauge uses an indirect tag binding on this tagpath. This works fine and the needle on the gauge moves as expected when the tagvalue changes. Very standard stuff.

I want the outerAxis.maxValue property to dynamically change to whatever the maximum value of the tag is in the last 24 hours. To achieve this I’ve used a tag history binding on the outerAxis.maxValue property and I have confirmed this works correctly because I’ve bound a label to this property so I can see the value on the page when embedding the view. If I increase the tag value to a higher maximum, this does indeed change the value of the outerAxis.maxValue property.

The issue I’m having is that the appearance of the gauge doesn’t refresh when the outerAxis.maxValue property does. If I open the embedded view in the designer, open the outerAxis.maxValue binding and click apply, this forces the appearance of the gauge to refresh to the new value, but I want this to happen dynamically during runtime.

Does anyone know how to force the gauge to re-evaluate its appearance?

The version of Ignition I am using is 8.1.4 (b2021040109)

Bump

@wade.dunham I am rather new to ignition but try checking the polling button in the tag history binding to see if that updates. I have a very similar version from what I can tell and it seems to update properly.

Thanks for your reply.

I have verified that the tag history binding updates correctly already. The issue I’m having is that the appearance of the gauge component doesn’t change when the outerAxis.maxValue property updates.

hm it works for me tho

when i put this script on a button i can see the gauge change when i press it
self.getSibling("Gauge").props.outerAxis.maxValue = self.getSibling("Gauge").props.outerAxis.maxValue + 10

image
image

So it seems your component isnt binded to the right thing or doesnt refresh enough

Thanks for your comment. Yes, it looks like I didn’t leave it long enough to notice a change. I increased the value and left it for a while and it did eventually refresh the component.

Does anyone know of a way to force the component to refresh its appearance more quickly?

could you show your code how you are doing it now?

Thank you for your help, I’ve found the issue.

I have a custom property set to return the tag path and aggregate:
image

On the gauge’s outerAxis.maxValue property I have the below binding:

I now see that by using now(0) in the start and end date fields that the expression isn’t polling. I’ve changed this to now() and the component updates as expected. For whatever reason it’s taken me a little while to notice this but that’s the way it goes sometimes.

1 Like