The ExpressionGuardVariableType provides, in addition to the human-readable semantic from its GuardVariableType, a machine interpretable representation on the semantic.
The ExpressionGuardVariableType is formally defined in Table 21.
Table 21 – ExpressionGuardVariableType definition
Attribute |
Value |
||||||
BrowseName |
ExpressionGuardVariableType |
||||||
DataType |
LocalizedText |
||||||
ValueRank |
−1 (−1 = Scalar) |
||||||
IsAbstract |
False |
||||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
||
Subtype of the GuardVariableType defined in Clause 4.6.4 |
|||||||
HasProperty |
Variable |
Expression |
ContentFilter |
PropertyType |
Mandatory |
||
Conformance Units |
|||||||
Base Info Choice States |
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 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.