The User Program samples all inputs simultaneously. Transitions from a state are evaluated according to transition priority number. The priority number appears on the transition wire next to the logic text and on the Item tab of the configuration pane. Default transition priority is determined by the order transitions are wired. To update the transition order, select the Transition Priority pull-down menu on the Item tab of the configuration pane.
The User Program evaluates logic from transition 1 of the current state. If transition 1 evaluates as false, the User Program then evaluates the logic from transition 2. This continues until all transitions have been evaluated or until a transition evaluates as true. If no transition evaluates as true, the User Program remains in the current state for the next application processing loop. If a transition evaluates as true, the User Program updates to the configured state.
Transitions from nested compound states are evaluated from the outermost state to the innermost state. The User Program first evaluates the transitions originating at the border of outermost compound state, in priority order. If none of the transitions evaluate as true, the User Program evaluates the transitions exiting the next nested compound state. This continues until all transitions in the nested compound states have been evaluated. If no transitions from compound states evaluate as true, the User Program evaluates the transitions from the current simple state.
User Programs evaluate transitions in the following order: