We are running on the Ignition Platform 7.9.7 (Vision Module 9.9.7).
Recently I have discovered an issue where a Numeric Text Field within a Template Instance that is bound to a Global Memory Tag is not displaying the correct value after switching to a different parent Window and back again.
It is difficult for me to explain the issue very well, so I have broken it down into the most straight-forward example project I can think of with the following step-by-step guide in order to reliably reproduce it:
1.) Launch Designer and create a new project based on the “Single-Tier Nav, West” project template. (I called mine “Test”)
2.) Create a new Global Memory Tag of type Integer. (“TestValue”)
3.) Create a new Template. (“Test Template”)
4.) Place a single Numeric Text Field onto the new template. (“Test Field”)
5.) Add a new Template Parameter for this template of type Integer. (“PassedInValue”)
6.) Bind the “Value (Integer)” property of the Numeric Text Field to the Template Parameter Property (“PassedInValue”) we just added above, and ensure that the “Bidirectional” option is selected.
7.) Create a new Main Window. (“Test Window”)
8.) Drag an instance of the Template onto this new Window. (“Test Template Instance”)
9.) Bind the Template Paramater Property (“PassedInValue”) of this template instance to the Global Memory Tag we created above (“TestValue”), and ensure that the “Bidirectional” option is selected.
10.) On the Navigation window, edit the Tab Strip control and add a new Tab pointing at our new Window. (“Test Window”)
11.) Save, Publish, Run the project, and login.
12.) Using the navigation tabs, switch to the Window we created (“Test Window”).
13.) Within the Numeric Text Field (“Test Field”), type in any valid Integer value you wish.
14.) Observe within the Designer that the Global Memory Tag (“TestValue”) will update appropriately to match the entered value.
15.) Using the Navigation tabs, now switch to any other Window, then switch back to the Window we created (“Test Window”).
16.) Observe that the value displayed in the Numeric Text Field (“Test Field”) will no longer reflect current value of the Global Memory Tag (“TestValue”), but instead will display whatever the value was on program launch.
17.) If you change the value again using the Numeric Text Field (“Test Field”), you can observe that it will continue to update the Global Memory Tag (“TestValue”) correctly, however switching to another tab and back again will once again revert the value displayed to an incorrect one.
18.) If you change the Global Memory Tag (“TestValue”) manually via the Designer, it will update the Numeric Text Field (“Test Field”) correctly.
This is my first post on the Inductive Automation forums, so I am apparently not allowed to upload the Project or Tag export files that I created using the steps above, but I would be happy to provide them if needed.
Thank you for your time,
Fledgling Ignition Developer