Difference when loading or switching windows under V7.9 and V8.0.4

For windows that contain templates, when opening or changing a window under 8.0.4 we see the templates display an error for about a second as if the tags for this template do not yet have a valid value. With 7.9 this is a one-off phenomenon per window, if a window that has already been opened has been reopened or changed for a second time, the template will immediately provide the correct information. It seems that under 7.9 certain information per window ends up in a cache (?) and that this does not happen with 8.0.4.
Is this a phenomenon that other users also have and is this perhaps dependent on a setting we have missed so far?

1 Like

It’s not exactly what you think. The real cause here is that tag bindings in 8.0.x start with a ‘null’ value with bad quality, that then gets quickly replaced by a ‘real’ value from the tag read. In 7.9, bindings initialized with some placeholder value dependent upon the data type; i.e. -1 for integers. We’re actually probably going to change that behavior, due to the unintended negative effects in Vision; I believe that’s going to land within the next few releases (8.0.8-8.0.10, likely).

Thanks in advance!

Hi @PGriffith
According to Ignition Release Notes, this issue might be resolved in RC8.0.10RC1

Do you have any ETA for that release? That behavior is completely preventing us from using any Ignition 8.X.X versions.


This is still an issue in v8.1.12…

Can you provide more details on where you’re encountering this/have you contacted support?
Things were changed related to tag bindings and default states, but may have not covered your use case(s).

This is on our latest project, on v8.1.12:

Everywhere when the red overlay is shown, there are ordinary tag bindings on the components property…

All windows Cache Policy is set to Auto, but there is no difference between all three options (Never, Auto, Always)
And I always use system.nav.swapTo

Because of that red overlay, I have to use system.tag.setOverlaysEnabled on the visionWindowOpened event for 1000 ms… which is very… annoying…

1 Like

Gentle bump…

I’m on vacation until the new year :upside_down_face:
Sorry, didn’t get a chance to look at this in depth before I left.

1 Like

Another gentle bump…

1 Like

With a minimal example, I get grey overlays (indicating the previous value serialized with the binding is being temporarily used) that get replaced when the value is actually read. I don’t know why you’re getting red overlays indicating an error state - you may need to create a minimal example and then post it/submit it to support/diagnose via client logging yourself. If you go with the latter route, start with the lower case vision.client.$bindingType-binding loggers. For instance, if I reduce my example to a single tag binding, it’s pretty clear what’s going on:

11:21:35.697 [AWT-EventQueue-0] DEBUG vision.binding.tag-binding - [component=Numeric Label,property=value] Connecting bidirectional write-back listener to value
11:21:35.698 [AWT-EventQueue-0] DEBUG vision.binding.tag-binding - [component=Numeric Label,property=value] Subscribing to "[Sample_Tags]Ramp/Ramp0" (Numeric Label.value)
11:21:35.756 [AWT-EventQueue-0] DEBUG vision.binding.tag-binding - [component=Numeric Label,property=value] Tag [Sample_Tags]Ramp/Ramp0 changed, value=[-1, Uncertain_InitialValue, Wed Feb 02 19:12:47 UTC 2022 (1643829167503)]
11:21:36.066 [AWT-EventQueue-0] DEBUG vision.binding.tag-binding - [component=Numeric Label,property=value] Tag [Sample_Tags]Ramp/Ramp0 changed, value=[4.84, Good, Wed Feb 02 19:21:34 UTC 2022 (1643829694880)]
11:21:36.623 [AWT-EventQueue-0] DEBUG vision.binding.tag-binding - [component=Numeric Label,property=value] Tag [Sample_Tags]Ramp/Ramp0 changed, value=[4.9401, Good, Wed Feb 02 19:21:35 UTC 2022 (1643829695881)]
11:21:37.465 [AWT-EventQueue-0] DEBUG vision.binding.tag-binding - [component=Numeric Label,property=value] Tag [Sample_Tags]Ramp/Ramp0 changed, value=[5.0401, Good, Wed Feb 02 19:21:36 UTC 2022 (1643829696881)]
11:21:38.596 [AWT-EventQueue-0] DEBUG vision.binding.tag-binding - [component=Numeric Label,property=value] Tag [Sample_Tags]Ramp/Ramp0 changed, value=[5.1400999999999994, Good, Wed Feb 02 19:21:37 UTC 2022 (1643829697881)]
11:21:38.670 [AWT-EventQueue-0] DEBUG vision.binding.tag-binding - [component=Numeric Label,property=value] Unsubscribing from "[Sample_Tags]Ramp/Ramp0" (Numeric Label.value)

The binding is created and subscribes to the tag. Then an initial ‘uncertain’ value is published, then the actual value comes in.
That’s all expected behavior.
Error qualities indicate something else is going on, so we’ll need to figure out exactly what.