I have a phenomenon occurring within a binding where queried data is assigned to a custom property. This data is correct upon applying the binding and verified in the Perspective application view. The issue however is that when I look over the application after a few hours (ie in the morning), all of the data is incorrect and not representative of the queried data. That is, I reapply the binding and all of the correct information is assigned/fixed.
The flow of gathering this data is as follows - I use a recursive method search through tags and obtain keys of interest. These keys are then used to query the SQL database and acquire all associated information. Scripting is then applied to assign these data points to the aforementioned keys and allows for display within a table.
I am using Ignition 8.1.7
Any suggestions as to why the data would become incorrect and a reapply of the binding on a custom property resolves the issue? I would prefer to not have to reapply the binding each morning.
Your binding isn’t going to automatically refresh, you need to do that.
Look up refreshBinding in the manual.
This is an example, your code may be different based on where this custom property is.
Yes, I think a binding refresh will resolve the issue. I am still a bit perplexed as to how the data is changing to incorrect values; as in they are much higher than expected and without an easily observable relationship to the correct values. Could be due to a script/expression, but am unsure. Thank you for the suggestion.
If this issue is still occurring and you need help identifying the cause, you should consider contacting Inductive Automation Support. It sounds complex enough to warrant a remote session if possible.
For the property value to change state, one of several things could occur:
- The binding of the property resolves/refreshes.
- Something writes to the property.
So I always recommend to check and verify nothing else is writing to the property in question.
Also, you said that opening the binding dialog and applying the preview results in the value you expect; is there any chance the query is manipulating data in any way? We might be able to provide more help if you provide insight into the query as well as how the binding is structured.
I have some custom property on a push button.
first custom property is a dataset (DataLabel) , the other property are expression for extract value on first property (Line1 , Line2).
How can I refresh these property in a script?
My code is like this :
table = event.source
system.db.refresh(table , "DataLabel")
system.db.refresh(table , "Line1")
system.db.refresh(table , "Line2")
I don't receive error, but nothing happen
Are you developing in Vision or Perspective? Is you dataset bound to a database query?
I'm using Vision
DataLabel is a query SQL
the other custom property are expression like this :