[BUG]UDT Member Bindings To Other Members Are Reporting Stale

Well, I just tried re-creating my Child UDT Parameter issue, and I was not able to replicate it, I may have been on a slightly earlier build when I was having that issue.

If I should start a new thread, let me know, but:

I have found a new bug: Within a UDT, I have a boolean tag, ‘Open’, with an alarm configured ‘Stuck Open’, it works fine unless I bind the ‘enabled’ property to another boolean tag within the same UDT eg. [.]Config_Alarm_Enable - this causes ‘Open/Alarms/Stuck Open.IsActive’ to become “Bad_Stale” when binding to a component’s custom Boolean property. This happens regardless of the state of ‘[.]Config_Alarm_Enable’.

In the tag browser, ‘Open/Alarms/Stuck Open’ shows most of the alarm properties are blank while the enable property is bound.

I tried binding it to the UDT Tag via the tag select window, which looks like: [.]Config_Alarm_Enable in the alarm config page. Then I also tried binding it to the expression {[.]Config_Alarm_Enable}, neither worked.

The Tag select window is cumbersome, it would be nice if it had the UDT specific tag selection window like in 7, but one thing at a time I guess.

I moved this to a new thread due to it being a new issue outside of the items already reported.

I attempted to verify this issue in the latest nightly and have been unable to do so. The way I was attempting to duplicate this is as follows:

Pre-Req: Generic Simulator Device added to Ignition

  1. Create a new UDT Definition
  2. Add a new UDT OPC Member bound to Generic Sim WritableBoolean1 named Open
  3. Add another UDT OPC Member bound to Generic Sim WritableBoolean2 named Config_Alarm_Enable
  4. Edit Open and add an alarm with the following options:
    • Enabled: [.]Config_Alarm_Enable
    • Mode: Not Equal
    • Setpoint: 0
  5. Created a new instance of the UDT
  6. Created a Vision Window with an Alarm Status Table
  7. Enabled WritableBoolean1 and WritableBoolean2

When this occurred I am seeing the alarm trigger. If I disable WritableBoolean1 the alarm is clearing, If I disable WritableBoolean2 the alarm disappears.

The only potential issue I am seeing is when Open/Alarms/Stuck Open.IsActive is bound to a checkbox and Config_Alarm_Enable is disabled, the value reported will always be the last state the alarm was in even though the alarm is disabled. (e.g. If the alarm was active when Config_Alarm_Enable was disabled, the checkbox would continue to report Open/Alarms/Stuck Open.IsActive as true).

Is there something I am missing with replicating this?