## B.6.4 GuardVariableType

The GuardVariableType provides the information of a Guard of a Transition in a StateMachine. A Guard indicates, if the Transition can be used or not. The Guard defines a semantic that can be evaluated to “True” or “False”. Only if the semantic is “True”, the Transition connected via a HasGuard Reference can be used. The value of the GuardVariableType provides the semantic of the Guard in a human-readable way, that can be used to display the StateMachine.

This base GuardVariableType does not define a machine-readable semantic of the Guard. The calculation, if the Guard is “True” or “False” is server-specific. Subtypes of this VariableType do define concrete machine-readable semantics.

The GuardVariableType is formally defined in Table B.20.

Table B.20 – GuardVariableType Definition

Attribute Value
BrowseName GuardVariableType
DataType LocalizedText
ValueRank −1 (−1 = Scalar)
IsAbstract False
References Node Class BrowseName DataType TypeDefinition Modelling Rule
Subtype of the BaseDataVariableType defined in OPC 10000-5.
Note that a Reference to this subtype is not shown in the definition of the BaseDataVariableType.

HasSubtype VariableType ElseGuardVariableType Defined in B.6.6
HasSubtype VariableType ExpressionGuardVariableType Defined in B.6.5