The StateVariableType is the base VariableType for Variables that store the current state of a StateMachine as a human readable name.
The StateVariableType is formally defined in Table 2.
Table 2 – StateVariableType definition
Attribute |
Value |
|||||
BrowseName |
StateVariableType |
|||||
DataType |
LocalizedText |
|||||
ValueRank |
−1 (−1 = Scalar) |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of the BaseDataVariableType defined in OPC 10000-5 |
||||||
HasSubtype |
VariableType |
FiniteStateVariableType |
Defined in 4.4.7 |
|||
HasProperty |
Variable |
Id |
BaseDataType |
PropertyType |
Mandatory |
|
HasProperty |
Variable |
Name |
QualifiedName |
PropertyType |
Optional |
|
HasProperty |
Variable |
Number |
UInt32 |
PropertyType |
Optional |
|
HasProperty |
Variable |
EffectiveDisplayName |
LocalizedText |
PropertyType |
Optional |
|
HasProperty |
Variable |
ContinuationOptions |
DescriptionNodeIdDataType[] |
PropertyType |
Optional |
|
HasProperty |
Variable |
ExtendedInformation |
LocalizedText |
PropertyType |
Optional |
|
HasProperty |
Variable |
VendorCode |
String |
PropertyType |
Optional |
|
Conformance Units |
||||||
Base Info State Machine Instance |
Id is a name which uniquely identifies the current state within the StateMachineType. A subtype may restrict the DataType.
Name is a QualifiedName which uniquely identifies the current state within the StateMachineType.
Number is an integer which uniquely identifies the current state within the StateMachineType.
EffectiveDisplayName contains a human readable name for the current state of the state machine after taking the state of any SubStateMachines in account. There is no rule specified for which state or sub-state should be used. It is up to the Server and will depend on the semantics of the StateMachineType.
ContinuationOptions is an array of options that indicate possible next steps or actions that can be taken from the current state. Each option is represented as a description and a NodeId. The description is a human-readable description of the action, and the optional NodeId represents a Node that is involved in the continuation (e.g., a Method that can be invoked to transition to a new state).
ExtendedInformation provides additional, more detailed information about the current state or the available continuation options. The exact nature of this information depends on the specific implementation and use case.
VendorCode is an additional, vendor-specific identifier. It can be used to provide vendor-specific information about the current state or the available continuation options.
StateMachines produce Events which may include the current state of a StateMachine. In that case Servers shall provide the Name, Number and EffectiveDisplayName of the StateVariableType in the Event, even if they are not provided on the instances in the AddressSpace.