To add to what BJD suggests, using an event structure, in order for the event to be fired programatically, the new value has to be written to the control/indicator's Value(Signaling) property node. Simply wiring a value to an indicator will not fire the value change event. A user changing the value manually will fire the event, but to do it programatically, you have to write to the Value(Signaling) property.