[BUG]Multi-State Button/Toggle Button Control/Indicator Bindings Programmable Simulator Device

I’m getting intermittent error messages when binding tags to the indicator and control values of toggle buttons and multi-state indicators. I keep getting the following error:

Exception: Error setting property to '0.0' for binding on
valve_Extended.valve_Extended.Multi State Button.indicatorValue
	caused by IllegalArgumentException

Seems to me like the bound value is being interpreted as a float, even though all tags used in bindings are either boolean or integer.

Is the project that you’re encountering this error using Vision or Perspective? Can you provide the Ignition version? What type of binding are you using between the tag and the indicatorValue? Are you using any Perspective transforms on this binding?

Vision module on Ignition 8.1.16

This binding is on a template that is used on multiple other windows.

I have a Programmable Simulator Device that is supplying the OPC values. The values for these boolean tags are just set at static true/false.

The tags are combined under a UDT.

The tag quality is good and I am able to read/write each tag value from the tag browser.

My parameter to the template is a string that I use to create indirect bindings to the tags of interest within the UDT.

I have internal template properties bound (bidirectionally) to the UDT tags using indirection. For instance, Hi_Alarm_En (bool) and Hi_Alarm_Delay (int).

The internal template properties are then bound to individual component properties. For instance, Hi_Alarm_En is bound to the control value (bidirectionally) and indicator value of a 2-state toggle button.

This is repeated 3 times on the template for Hi_Alarm_En, Lo_Alarm_En, and Signal_Alarm_En, along with numeric input boxes for the delay inputs for each.

I did not have the issue with the low or signal tags, and the issue with the hi tags is intermittent. I just opened up designer (for the first time today) and no errors (no change to the project since posting).

Seems to me like the bound value is being interpreted as a float, even though all tags used in bindings are either boolean or integer.

Even if the value was being interpreted as a float, the value should get rounded to the nearest integer instead of throwing an exception. You can test this by writing a float value to the value of a multi-state indicator in Designer or through a binding. If you see this error again, could share any stack traces you see in Designer/Vision console for that error? Can you also share an export of the window and template that you're using?

Just wanted to let you know I’ve been encountering similar issues and detailed the issue in this thread. Console output present as well.

I also have a ticket in with support that I can point you to.