I have a standard template that contains a numeric text field, value linked to an OPC tag to Logix v34.
On this template, operator can select entry, keyboard touchscreen entry, value entered, and OK selected.
Randomly, the new value will appear in text field when the keypad closed, then within a second or two, revert back to the previous value. However the tag itself in the browser is the new value. On this template, the operator can press and a popup window appears that also has this numeric text entry on it. That window will show the correct new value, while the template numeric entry continues to show the previous value.
On the entry field, defer updates is set to true, protected mode false, commit on focus true, and reject updates during edit true. Nothing external to this numeric text field is changing the value.
Is there a setting im doing wrong? The last post in this thread mentioned something soecifically about templates, but I didnt understand it fully and whether applicable to my situation.
There's no destructive for this value in the PLC that could be creating a race condition?
Beyond that, if the bidirectional binding can't be entirely trusted, I suppose switching to a write blocking script on the floatValue property change event would correct the issue.
...so there are two numeric text fields bidirectionally bound to the same tag that are possibly open in the client simultaneously? I wonder if that's what's somehow triggering the racy behavior. It's probably worth reporting to support in case this is a bug on Ignition's side.
Somewhat. In the case of the template value, its not always when the popup is open. The most common scenario:
Template SP is at 375
Select numeric text entry in template
OS keypad presents
Enter value of 425
Select OK
Value in template briefly displays 425 but then reverts back to 375
Open popup that has same numeric entry binding
Popup shows the correct 425
(This is the point screen image taken)
Value in PLC and in tag browser is 425
But value in template numeric field persists at 375.
Both template and popup are passed a pathstr and use indirect bindings.
Value in PLC is 425, when template is displaying 375. Its on a slow poll group of 2000ms, so that might explain the behavior of it displaying the value entered in the keypad briefly in the numeric text entry before it reverts.
The tag is part of a UDT looking at a CLX PID tag.SP, so maybe the driver isnt efficient at querying that, although it has always worked elsewhere.
Attached is the template indirect value binding, the popup indirect binding, the UDT and the tag group. Only difference is I pass just the loop # to the template, whereas the full path to the popup, but its the same tag.