B.6 StateMachine Extensions for ChoiceStates and Guards

B.6.5 ExpressionGuardVariableType

The ExpressionGuardVariableType provides, in addition to the human-readable semantic from its GuardVariableType, a machine interpretable representation on the semantic.
The GuardVariableType is formally defined in Table B.21.
Table B.21 – ExpressionGuardVariableType Definition
Attribute | Value | ||||
---|---|---|---|---|---|
BrowseName | ExpressionGuardVariableType | ||||
DataType | LocalizedText | ||||
ValueRank | −1 (−1 = Scalar) | ||||
IsAbstract | False | ||||
References | Node Class | BrowseName | DataType | TypeDefinition | Modelling Rule |
Subtype of the GuardVariableType defined in B.6.4. | |||||
HasProperty | Variable | Expression | ContentFilter | PropertyType | Mandatory |
The mandatory Property Expression provides a ContentFilter, that shall be evaluated on the Object the StateMachine belongs to. This is a machine-readable semantic of the Guard. If the ContentFilter evaluates to “True”, the Guard is “True”, otherwise the Guard is “False”.
The ContentFilter for ExpressionGuardVariableType is restricted to basic operators (see OPC OPC 10000-4 for details).
The ContentFilter can reference any Variables defined on the StateMachineType and are validated on the instance of the StateMachine. If the definition of the Variable is not owned directly by the StateMachine but for example some other type, the StateMachine instance shall reference that Variable.