Taking the sample StateMachineof Figure 16its representation in the OPC UA AddressSpaceis shown in Figure 17as RobotStateMachineType. The TransitionT2 between the ChoiceStateand S2_Loaded has the Guard "Else" of ElseGuardVariableTypeand the TransitionT3 between the ChoiceStateand S3_Ready has the Guard"OnPathTrue" having an "Expression" Property(not shown in the figure). The ContentFilterof the Expression references to the ProgramLoaded Variableof the RobotStateMachineType. When the ChoiceStateis entered on an instance of the RobotStateMachineType like MyStateMachine in Figure 17, the concrete Variableof the instance is used to evaluate the ContentFilter. The value of the Expression is in the sample an array with one entry, using the FilterOperatorEqual_0 and the filterOperands are the SimpleOperand OnPath and the Literal value "True".

image019.png

Figure 17– Example of a StateMachine using ChoiceState and Guards

__________