Hello all,
I looked around and didn’t see anything that fit this topic. I have an Ignition 8.1.48 Perspective project that I am trying to use an expression tag to reference a dataset. The expression works however the execution mode is set to Fixed Rate with a 7000 ms rate. The dataset it is calling is updating every 10 mins, which after I prove its working I will increase the rate. The tag will execute the expression if you update the rate or change the mode back and forth. I have been questioning why it won’t do this on its own though. Appreciate any help.
I don’t understand why it won’t change it’s polling rate on its own?
If you just want it to update based on the dataset you are looking at changes you can just leave it as event driven. Then it will run once the your Assets
dataset updates every 10 minutes (or whenever it changes).
The dataset it is calling is updating every 10 mins, which after I prove its working I will increase the rate.
This makes it sound like your dataset isn’t currnetly working/updating right now either so how do you know this expression isn’t currently working either?
What is your most desired outcome of how this expression tag is supposed to function?
Does this also happen when the result value of the expression changes?
I don’t understand why it won’t change it’s polling rate on its own?
If you just want it to update based on the dataset you are looking at changes you can just leave it as event driven. Then it will run once the your Assets
dataset updates every 10 minutes (or whenever it changes).
Yes, one would think the way its setup the expression would execute every 7 seconds. To your point of the dataset updating every 10 mins, I had thought about using event driven. Wasn’t sure it would update especially having the issues I’ve had.
This makes it sound like your dataset isn’t currently working/updating right now either so how do you know this expression isn’t currently working either?
I know the dataset is working because I have watched it change using another label we have created for another screen that reads the dataset as well. I ended up putting this label into the screen so I could watch them side by side.
What is your most desired outcome of how this expression tag is supposed to function?
The desired outcome is to read the value of the correct row and move that value into the PV tag. When the value gets updated then update the PV tag.
Not sure if this makes much of a difference but this data set it 2 columns and a touch over 36k rows. Its essentially every maintenance Asset in our CMMS system. We are using an API to pull that in. So theres also another check externally I can use to verify the data is correct.
I believe I follow what your saying, the result value, meaning the value in the dataset?
If so yes, the dataset value gets updated, but the value of the PV tag never changes.
To further expand, the green label M009167 is reading the same dataset row. The red indicator (our 4 state indicator) uses the tag I am trying to get to write consistently. The indicator has the ability to be trended like everything else in our system and also drives functions of other tags in this object.

Any chance the number isn’t changing by more than 15? If so, you might want to check your deadband value.
2 Likes
@Clancy_Cavanaugh Good catch, I guess when you have been trying to figure this out for a while and you get too focused in you completely overlook that. As soon as I switched it to 0 it started working. Thank you!
Yea good catch on the dead band - I would still probably change this to event driven. No need to redo a lookup on a dataset that hasn’t changed, re-running it only ever makes sense if the dataset has been modified. And you will avoid the worst case scenario of the dataset changing and having to wait an additional 7 seconds.
2 Likes
Yeah, I think I am going to try that now that it works. This is a great community we have here!
Thanks everyone for the help.
1 Like