B.7 Example of a StateMachine using a ChoiceState and Guards

Taking the sample StateMachine of Figure B.12 its representation in the OPC UA AddessSpace is shown in Figure B.13 as RobotStateMachineType. The Transition T2 between the ChoiceState and S2_Loaded has the Guard “Else” of ElseGuardVariableType and the Transition T3 between the ChoiceState and S3_Ready has the Guard “OnPathTrue” having an “Expression” Property (not shown in the figure). The ContentFilter of the Expression references to the ProgramLoaded Variable of the RobotStateMachineType. When the ChoiceState is entered on an instance of the RobotStateMachineType like MyStateMachine in Figure B.13, the concrete Variable of the instance is used to evaluate the ContentFilter. The value of the Expression is in the sample an array with one entry, using the FilterOperator Equal_0 and the filterOperands are the SimpleOperand OnPath and the Literal value “True”.
Figure B.13 – Example of a StateMachine using ChoiceState and Guards
OPC 10000-7, OPC Unified Architecture - Part 7: Profiles 
Add the following ConformanceUnits to section 5.4, Table 13 “Base Information”:
Category | Title | Description |
---|---|---|
Server | Base Info Choice States | Support Guard Variables and optionally Choice States on StateMachine instances. |
Client | Base Info Client Choice States | Use Guard Variables and Choice States on StateMachine instances. |
Add the following ConformanceUnits to the section 6.6.44 State Machine Server Facet:
Group | Conformance Unit / Profile Title | Optional |
---|---|---|
Base Information | Base Info Choice States | True |
Add the following ConformanceUnits to the section 6.6.114 State Machine Client Facet:
Group | Conformance Unit / Profile Title | Optional |
---|---|---|
Base Information | Base Info Client Choice States | True |