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.