Skip to content

Reference

OpcFiniteStateMachineNode Members

Defines a specialization of the OpcStateMachineNode that provides a mechanism to explicitly define the states and transitions.

Reference

OpcFiniteStateMachineNode Members ​

Type
OpcFiniteStateMachineNode
Namespace
Opc.UaFx
Assembly
Opc.UaFx.Advanced.dll
Package
Opc.UaFx.Advanced v2.59.0

Inherits members from OpcObjectNode, OpcInstanceNode, OpcNode.

Constructors ​

OpcFiniteStateMachineNode ​

10 overloads

OverloadDescription
OpcFiniteStateMachineNode(OpcName)Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name specified.
OpcFiniteStateMachineNode(OpcName, OpcNodeId)Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name and id specified.
OpcFiniteStateMachineNode(IOpcNode, OpcName)Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name specified as a child node of the parent node given.
OpcFiniteStateMachineNode(IOpcNode, OpcName, OpcNodeId)Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name and id specified as a child node of the parent node given.
OpcFiniteStateMachineNode(FiniteStateMachineState)protected · since v2.50Initializes a new instance of the OpcFiniteStateMachineNode class using the content as the instance to wrap.
OpcFiniteStateMachineNode(FiniteStateMachineState, OpcNodeModel)protected · since v2.50Initializes a new instance of the OpcFiniteStateMachineNode class using the content as the instance to wrap.
OpcFiniteStateMachineNode(OpcNodeModel, OpcName)protected · since v2.50Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name specified.
OpcFiniteStateMachineNode(OpcNodeModel, OpcName, OpcNodeId)protected · since v2.50Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name and id specified.
OpcFiniteStateMachineNode(OpcNodeModel, IOpcNode, OpcName)protected · since v2.50Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name specified as a child node of the parent node given.
OpcFiniteStateMachineNode(OpcNodeModel, IOpcNode, OpcName, OpcNodeId)protected · since v2.50Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name and id specified as a child node of the parent node given.

OpcFiniteStateMachineNode(OpcName) ​

Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name specified.

csharp
public OpcFiniteStateMachineNode(OpcName name)
vbnet
Public Sub New(name As OpcName)

Parameters

NameTypeDescription
nameOpcNameThe OpcName through that the new finite state machine node can be accessed.

OpcFiniteStateMachineNode(OpcName, OpcNodeId) ​

Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name and id specified.

csharp
public OpcFiniteStateMachineNode(OpcName name, OpcNodeId id)
vbnet
Public Sub New(name As OpcName, id As OpcNodeId)

Parameters

NameTypeDescription
nameOpcNameThe OpcName through that the new finite state machine node can be accessed.
idOpcNodeIdThe OpcNodeId through that the new finite state machine node can be identified and accessed.

OpcFiniteStateMachineNode(IOpcNode, OpcName) ​

Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name specified as a child node of the parent node given.

csharp
public OpcFiniteStateMachineNode(IOpcNode parent, OpcName name)
vbnet
Public Sub New(parent As IOpcNode, name As OpcName)

Parameters

NameTypeDescription
parentIOpcNodeThe IOpcNode used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available.
nameOpcNameThe OpcName through that the new finite state machine node can be accessed.

OpcFiniteStateMachineNode(IOpcNode, OpcName, OpcNodeId) ​

Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name and id specified as a child node of the parent node given.

csharp
public OpcFiniteStateMachineNode(IOpcNode parent, OpcName name, OpcNodeId id)
vbnet
Public Sub New(parent As IOpcNode, name As OpcName, id As OpcNodeId)

Parameters

NameTypeDescription
parentIOpcNodeThe IOpcNode used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available.
nameOpcNameThe OpcName through that the new finite state machine node can be accessed.
idOpcNodeIdThe OpcNodeId through that the new finite state machine node can be identified and accessed.

OpcFiniteStateMachineNode(FiniteStateMachineState) ​

protected · since v2.50

Initializes a new instance of the OpcFiniteStateMachineNode class using the content as the instance to wrap.

csharp
protected OpcFiniteStateMachineNode(FiniteStateMachineState content)
vbnet
Protected Sub New(content As FiniteStateMachineState)

Parameters

NameTypeDescription
contentFiniteStateMachineStateThe FiniteStateMachineState to wrap.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe content is a null reference (Nothing in Visual Basic).

OpcFiniteStateMachineNode(FiniteStateMachineState, OpcNodeModel) ​

protected · since v2.50

Initializes a new instance of the OpcFiniteStateMachineNode class using the content as the instance to wrap.

csharp
protected OpcFiniteStateMachineNode(
    FiniteStateMachineState content,
    OpcNodeModel model)
vbnet
Protected Sub New(content As FiniteStateMachineState, model As OpcNodeModel)

Parameters

NameTypeDescription
contentFiniteStateMachineStateThe FiniteStateMachineState to wrap.
modelOpcNodeModelThe OpcNodeModel which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe content is a null reference (Nothing in Visual Basic).

OpcFiniteStateMachineNode(OpcNodeModel, OpcName) ​

protected · since v2.50

Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name specified.

csharp
protected OpcFiniteStateMachineNode(OpcNodeModel model, OpcName name)
vbnet
Protected Sub New(model As OpcNodeModel, name As OpcName)

Parameters

NameTypeDescription
modelOpcNodeModelThe OpcNodeModel which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node.
nameOpcNameThe OpcName through that the new finite state machine node can be accessed.

OpcFiniteStateMachineNode(OpcNodeModel, OpcName, OpcNodeId) ​

protected · since v2.50

Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name and id specified.

csharp
protected OpcFiniteStateMachineNode(
    OpcNodeModel model,
    OpcName name,
    OpcNodeId id)
vbnet
Protected Sub New(model As OpcNodeModel, name As OpcName, id As OpcNodeId)

Parameters

NameTypeDescription
modelOpcNodeModelThe OpcNodeModel which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node.
nameOpcNameThe OpcName through that the new finite state machine node can be accessed.
idOpcNodeIdThe OpcNodeId through that the new finite state machine node can be identified and accessed.

OpcFiniteStateMachineNode(OpcNodeModel, IOpcNode, OpcName) ​

protected · since v2.50

Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name specified as a child node of the parent node given.

csharp
protected OpcFiniteStateMachineNode(
    OpcNodeModel model,
    IOpcNode parent,
    OpcName name)
vbnet
Protected Sub New(model As OpcNodeModel, parent As IOpcNode, name As OpcName)

Parameters

NameTypeDescription
modelOpcNodeModelThe OpcNodeModel which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node.
parentIOpcNodeThe IOpcNode used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available.
nameOpcNameThe OpcName through that the new finite state machine node can be accessed.

OpcFiniteStateMachineNode(OpcNodeModel, IOpcNode, OpcName, OpcNodeId) ​

protected · since v2.50

Initializes a new instance of the OpcFiniteStateMachineNode class accessible by the name and id specified as a child node of the parent node given.

csharp
protected OpcFiniteStateMachineNode(
    OpcNodeModel model,
    IOpcNode parent,
    OpcName name,
    OpcNodeId id)
vbnet
Protected Sub New(
    model As OpcNodeModel,
    parent As IOpcNode,
    name As OpcName,
    id As OpcNodeId)

Parameters

NameTypeDescription
modelOpcNodeModelThe OpcNodeModel which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node.
parentIOpcNodeThe IOpcNode used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available.
nameOpcNameThe OpcName through that the new finite state machine node can be accessed.
idOpcNodeIdThe OpcNodeId through that the new finite state machine node can be identified and accessed.

Properties ​

AvailableStates ​

since v2.54

Gets the available states of the OpcFiniteStateMachineNode.

csharp
public OpcNodeId[] AvailableStates { get; set; }
vbnet
Public Property AvailableStates As OpcNodeId()

Property value

OpcNodeId[]

An array of OpcNodeId instances identifying the available states, or a null reference (Nothing in Visual Basic) if the state machine has no AvailableStates variable or the variable has no value.

AvailableStatesNode ​

since v2.54

Gets the OpcNodeIdArrayVariableNode of the AvailableStates property.

csharp
public OpcNodeIdArrayVariableNode AvailableStatesNode { get; }
vbnet
Public ReadOnly Property AvailableStatesNode As OpcNodeIdArrayVariableNode

Property value

OpcNodeIdArrayVariableNode

An instance of the OpcNodeIdArrayVariableNode class.

AvailableTransitions ​

since v2.54

Gets the available transitions of the OpcFiniteStateMachineNode.

csharp
public OpcNodeId[] AvailableTransitions { get; set; }
vbnet
Public Property AvailableTransitions As OpcNodeId()

Property value

OpcNodeId[]

An array of OpcNodeId instances identifying the available transitions, or a null reference (Nothing in Visual Basic) if the state machine has no AvailableTransitions variable or the variable has no value.

AvailableTransitionsNode ​

since v2.54

Gets the OpcNodeIdArrayVariableNode of the AvailableTransitions property.

csharp
public OpcNodeIdArrayVariableNode AvailableTransitionsNode { get; }
vbnet
Public ReadOnly Property AvailableTransitionsNode As OpcNodeIdArrayVariableNode

Property value

OpcNodeIdArrayVariableNode

An instance of the OpcNodeIdArrayVariableNode class.

CurrentState ​

override

Gets the current state of the OpcFiniteStateMachineNode and provides a human readable name for the current state which may not be suitable for use in application control logic. Applications should use the VariableId property of the CurrentStateNode if they need a unique identifier for the state.

csharp
public override OpcText CurrentState { get; set; }
vbnet
Public Overrides Property CurrentState As OpcText

Property value

OpcText

A human readable name for the current state which may not be suitable for use in application control logic.

Overrides

CurrentState

Implements

CurrentState

CurrentStateNode ​

Gets the OpcFiniteStateVariableNode of the CurrentState property.

csharp
public OpcFiniteStateVariableNode CurrentStateNode { get; }
vbnet
Public ReadOnly Property CurrentStateNode As OpcFiniteStateVariableNode

Property value

OpcFiniteStateVariableNode

An instance of the OpcFiniteStateVariableNode class.

DefaultTypeDefinitionId ​

protected · override

Gets the default identifier which identifies the node that defines the underlying node type from that this OpcInstanceNode has been created.

csharp
protected override OpcNodeId DefaultTypeDefinitionId { get; }
vbnet
Protected Overrides ReadOnly Property DefaultTypeDefinitionId As OpcNodeId

Property value

OpcNodeId

The OpcNodeId of the type node from that this OpcInstanceNode has been created from. These type node defines the typical structure of an instance node of its type definition. If there exists no specific type definition node a null reference (Nothing in Visual Basic).

Overrides

DefaultTypeDefinitionId

LastTransition ​

override

Gets the last transition which occurred in an instance and provides a human readable name for the last transition which may not be suitable for use in application control logic. Applications should use the VariableId property of the LastTransitionNode if they need a unique identifier for the transition.

csharp
public override OpcText LastTransition { get; set; }
vbnet
Public Overrides Property LastTransition As OpcText

Property value

OpcText

A human readable name for the last transition which may not be suitable for use in application control logic.

Overrides

LastTransition

Implements

LastTransition

LastTransitionNode ​

Gets the OpcFiniteTransitionVariableNode of the LastTransition property.

csharp
public OpcFiniteTransitionVariableNode LastTransitionNode { get; }
vbnet
Public ReadOnly Property LastTransitionNode As OpcFiniteTransitionVariableNode

Property value

OpcFiniteTransitionVariableNode

An instance of the OpcFiniteTransitionVariableNode class, or null if this node is not present.

SupportsCurrentState ​

virtual · since v2.54

Gets a value indicating whether the current OpcFiniteStateMachineNode does support changes of the CurrentState;

csharp
public virtual bool SupportsCurrentState { get; }
vbnet
Public Overridable ReadOnly Property SupportsCurrentState As Boolean

Property value

Boolean

The value true in case the OpcFiniteStateMachineNode supports state changes; otherwise the value false. The default value is true.

Implements

SupportsCurrentState

Methods ​

CanChangeStateTo ​

2 overloads · since v2.54

OverloadDescription
CanChangeStateTo(OpcContext, object)since v2.54Determines whether the CurrentState can be changed to the newState specified using the further specified context.
CanChangeStateTo(OpcContext, object, object)since v2.54Determines whether the oldState can be changed to the newState specified using the further specified context.

Exceptions (all overloads)

ExceptionCondition
ArgumentNullExceptionThe context or newState is a null reference (Nothing in Visual Basic).

CanChangeStateTo(OpcContext, object) ​

since v2.54

Determines whether the CurrentState can be changed to the newState specified using the further specified context.

csharp
public bool CanChangeStateTo(OpcContext context, object newState)
vbnet
Public Function CanChangeStateTo(
    context As OpcContext,
    newState As Object) As Boolean

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to determine.
newStateObjectThe state number or enum of the state to determine.

Returns

Boolean

Implements

CanChangeStateTo

Remarks

In case SupportsCurrentState is equals false, this method does always returns false.

CanChangeStateTo(OpcContext, object, object) ​

since v2.54

Determines whether the oldState can be changed to the newState specified using the further specified context.

csharp
public bool CanChangeStateTo(
    OpcContext context,
    object oldState,
    object newState)
vbnet
Public Function CanChangeStateTo(
    context As OpcContext,
    oldState As Object,
    newState As Object) As Boolean

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to determine.
oldStateObjectThe assumed current state number or enum of the state to determine.
newStateObjectThe dedicated new state number or enum of the state to determine.

Returns

Boolean

Implements

CanChangeStateTo

ChangeStateTo ​

since v2.29

Changes the CurrentState to the newState specified using the further specified context.

csharp
public void ChangeStateTo(OpcContext context, object newState)
vbnet
Public Sub ChangeStateTo(context As OpcContext, newState As Object)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to change.
newStateObjectThe state number or enum of the state to change to.

Exceptions

ExceptionCondition
ArgumentExceptionThe newState is not a known state.
ArgumentNullExceptionThe context or newState is a null reference (Nothing in Visual Basic).
InvalidOperationExceptionNo transition leads from the current state to the newState.
OpcExceptionThe change operation failed (see exception details for more information).

Implements

ChangeStateTo

Remarks

In case SupportsCurrentState is equals false, this method does not perform any state changes.

CreateSubStatesMachineNode ​

protected · virtual · since v2.54

When overridden in a derived class, creates the state machine of the sub-states of the state specified.

csharp
protected virtual OpcFiniteStateMachineNode CreateSubStatesMachineNode(
    object state)
vbnet
Protected Overridable Function CreateSubStatesMachineNode(
    state As Object) As OpcFiniteStateMachineNode

Parameters

NameTypeDescription
stateObjectThe state number of a state for which the type definition of the state machine declares a state machine of sub-states.

Returns

OpcFiniteStateMachineNode

The state machine of the sub-states of the state. The default implementation returns a null reference (Nothing in Visual Basic).

Remarks

The method is called when the states and transitions of the state machine are determined from its type definition.

GetSubStatesMachineNode ​

2 overloads · since v2.54

OverloadDescription
GetSubStatesMachineNode()since v2.54Gets the state machine of the sub-states of the current state.
GetSubStatesMachineNode(object)since v2.54Gets the state machine of the sub-states of the state specified.

GetSubStatesMachineNode() ​

since v2.54

Gets the state machine of the sub-states of the current state.

csharp
public OpcFiniteStateMachineNode GetSubStatesMachineNode()
vbnet
Public Function GetSubStatesMachineNode() As OpcFiniteStateMachineNode

Returns

OpcFiniteStateMachineNode

The state machine of the sub-states of the current state, or a null reference (Nothing in Visual Basic) if the current state has none.

GetSubStatesMachineNode(object) ​

since v2.54

Gets the state machine of the sub-states of the state specified.

csharp
public OpcFiniteStateMachineNode GetSubStatesMachineNode(object state)
vbnet
Public Function GetSubStatesMachineNode(
    state As Object) As OpcFiniteStateMachineNode

Parameters

NameTypeDescription
stateObjectThe state number or the enumeration member of the state, or a null reference (Nothing in Visual Basic) for the current state.

Returns

OpcFiniteStateMachineNode

The state machine of the sub-states of the state, or a null reference (Nothing in Visual Basic) if the state has none.

IsAccessible ​

override · since v2.54

Determines whether the node is accessible using the context specified within the view identified by the viewId specified.

csharp
public override bool IsAccessible(OpcContext context, OpcNodeId viewId)
vbnet
Public Overrides Function IsAccessible(
    context As OpcContext,
    viewId As OpcNodeId) As Boolean

Parameters

NameTypeDescription
contextOpcContextThe OpcContext within that the node is accessed.
viewIdOpcNodeIdThe OpcNodeId of the view within that the node is accessed or Null if the node is not accessed within a specific view.

Returns

Boolean

The value false if the node is the state machine of the sub-states of a state (see CreateSubStatesMachineNode); otherwise the value true.

Overrides

IsAccessible

OnBeforeAdded ​

protected · override · since v2.29

Raises the BeforeAdded event using the event data specified.

csharp
protected override void OnBeforeAdded(OpcNodeAddedEventArgs e)
vbnet
Protected Overrides Sub OnBeforeAdded(e As OpcNodeAddedEventArgs)

Parameters

NameTypeDescription
eOpcNodeAddedEventArgsThe OpcNodeAddedEventArgs with the event data.

Overrides

OnBeforeAdded