.NET Based OPC UA Client/Server SDK  3.3.0.530
UnifiedAutomation.UaServer.ProgramStateMachineModel Class Reference

https://reference.opcfoundation.org/v105/Core/docs/Part10/5.2.1 More...

Inherits UnifiedAutomation.UaServer.FiniteStateMachineModel.

Public Types

enum  State : uint { State.Ready = 12, State.Running = 13, State.Suspended = 14, State.Halted = 11 }
 The enumeration representing the possible states of the state machine. More...
 
enum  Transition : uint {
  Transition.HaltedToReady = 1, Transition.ReadyToHalted = 9, Transition.ReadyToRunning = 2, Transition.RunningToHalted = 3,
  Transition.RunningToReady = 4, Transition.RunningToSuspended = 5, Transition.SuspendedToHalted = 7, Transition.SuspendedToReady = 8,
  Transition.SuspendedToRunning = 6
}
 The enumeration representing the possible transitions of the state machine. More...
 

Public Member Functions

 ProgramStateMachineModel ()
 Initializes a new instance of the ProgramStateMachineModel class. More...
 
 ProgramStateMachineModel (ProgramStateMachineModel template, DummyArgument dummy=null)
 Initializes a new instance of the ProgramStateMachineModel class. More...
 
void RaiseSwitchedEvent (State?oldState, State?state, Transition?transition)
 Raises the Switched event. More...
 
virtual void SwitchToState (State?state, Transition?transition=null)
 Switch to the given state. More...
 
- Public Member Functions inherited from UnifiedAutomation.UaServer.FiniteStateMachineModel
 FiniteStateMachineModel ()
 Initializes a new instance of the FiniteStateMachineModel class. More...
 
 FiniteStateMachineModel (FiniteStateMachineModel template, DummyArgument dummy=null)
 Initializes a new instance of the FiniteStateMachineModel class. More...
 
- Public Member Functions inherited from UnifiedAutomation.UaServer.StateMachineModel
 StateMachineModel ()
 Initializes a new instance of the StateMachineModel class. More...
 
 StateMachineModel (StateMachineModel template, DummyArgument dummy=null)
 Initializes a new instance of the StateMachineModel class. More...
 
- Public Member Functions inherited from UnifiedAutomation.UaServer.BaseObjectModel
 BaseObjectModel ()
 Initializes a new instance of the BaseObjectModel class. More...
 
 BaseObjectModel (BaseObjectModel template, DummyArgument dummy=null)
 Initializes a new instance of the BaseObjectModel class. More...
 
- Public Member Functions inherited from UnifiedAutomation.UaServer.ModelControllerBase
virtual ModelHandle GetModelHandle (StringTable namespaceUris, object instance)
 Gets the metadata handle. More...
 
virtual DataValue GetValue (IMapperContext context, ModelMapping mapping)
 Gets the value associated with the mapping. More...
 
virtual bool SetValue (IMapperContext context, ModelMapping mapping, DataValue value)
 Sets the value associated with the mapping. More...
 
StatusCode GetStatusCode (string propertyName)
 Retrieve the status code for the given property. If no status code was explicitly set, StatusCodes.Good will be returned.
Parameters
propertyNameThe property name.
Returns
The status code of the property.

 
void SetStatusCode (string propertyName, StatusCode statusCode)
 Sets the status code of the given property. More...
 

Static Public Member Functions

static IEnumerable< TransitionGetTransitions (State oldState, State newState)
 A sequence of all possible transition for the given states. More...
 
static LocalizedText GetLocalizedText (State state)
 Retrieves a LocalizedText for the given state value. More...
 
static QualifiedName GetName (State state)
 Retrieves a QualifiedName for the given state value. More...
 
static NodeId GetNodeId (State state)
 Retrieves the NodeId for the given state value. More...
 
static LocalizedText GetLocalizedText (Transition transition)
 Retrieves a LocalizedText for the given transition value. More...
 
static QualifiedName GetName (Transition transition)
 Retrieves a QualifiedName for the given transition value. More...
 
static NodeId GetNodeId (Transition transition)
 Retrieves the NodeId for the given transition value. More...
 

Protected Attributes

State m_state
 The current state of the state machine. More...
 
Transition m_transition
 The last transition of the state machine. More...
 

Properties

bool AutoDelete [get, set]
 Gets or sets the AutoDelete More...
 
new FiniteStateVariableModel CurrentState [get, set]
 Gets or sets the CurrentState More...
 
bool Deletable [get, set]
 Gets or sets the Deletable More...
 
BaseObjectModel FinalResultData [get, set]
 https://reference.opcfoundation.org/v105/Core/docs/Part10/A.2.6/#A.2.6.2 More...
 
new FiniteTransitionVariableModel LastTransition [get, set]
 Gets or sets the LastTransition More...
 
ProgramDiagnostic2Model ProgramDiagnostic [get, set]
 Gets or sets the ProgramDiagnostic More...
 
int RecycleCount [get, set]
 Gets or sets the RecycleCount More...
 
State InternalState [get, protected set]
 The FiniteStateMachineModel.CurrentState as the enumeration value. More...
 
Transition InternalTransition [get, protected set]
 The FiniteStateMachineModel.LastTransition as the enumeration value. More...
 
- Properties inherited from UnifiedAutomation.UaServer.FiniteStateMachineModel
NodeId[] AvailableStates [get, set]
 Gets or sets the AvailableStates More...
 
NodeId[] AvailableTransitions [get, set]
 Gets or sets the AvailableTransitions More...
 
new FiniteStateVariableModel CurrentState [get, set]
 Stores the current state of an instance of the FiniteStateMachineType. More...
 
new FiniteTransitionVariableModel LastTransition [get, set]
 Stores the last transition which occurred in an instance of the FiniteStateMachineType. More...
 
- Properties inherited from UnifiedAutomation.UaServer.StateMachineModel
StateVariableModel CurrentState [get, set]
 Stores the current state of an instance of the StateMachineType. More...
 
TransitionVariableModel LastTransition [get, set]
 Stores the last transition which occurred in an instance of the StateMachineType. More...
 
- Properties inherited from UnifiedAutomation.UaServer.ModelControllerBase
ModelHandle ModelHandle [get, set]
 Gets or sets the metadata handle. More...
 
object UserData [get, set]
 Gets or sets the user data. More...
 
- Properties inherited from UnifiedAutomation.UaServer.INotifyStatusCodeInfo
bool HasStatusCodes [get]
 true if no property has an explicit set status code. Hence when all status codes are implicit StatusCodes.Good. More...
 

Events

EventHandler
< StateMachineEventArgs< State?,
Transition?> > 
Switched
 Occurs when the SwitchToState method was called. More...
 
- Events inherited from UnifiedAutomation.UaServer.ModelControllerBase
PropertyChangedEventHandler PropertyChanged
 Occurs when a property value changes. More...
 
EventHandler
< PropertyChangeRequestedEventArgs
PropertyChangeRequested
 The event is emitted just before the value will be changed, and gives the observer the opportunity to reject or adjust (e.g. clamp) the property change by setting the PropertyChangeRequestedEventArgs.StatusCode and PropertyChangeRequestedEventArgs.Value properties. More...
 
EventHandler
< StatusCodeChangedEventArgs
StatusCodeChanged
 
- Events inherited from UnifiedAutomation.UaServer.INotifyPropertyChangeRequested
EventHandler
< PropertyChangeRequestedEventArgs
PropertyChangeRequested
 The property change request event. More...
 
- Events inherited from UnifiedAutomation.UaServer.INotifyStatusCodeInfo
EventHandler
< StatusCodeChangedEventArgs
StatusCodeChanged
 Occurs if the status code of a property was changed. More...
 

Additional Inherited Members

- Public Attributes inherited from UnifiedAutomation.UaServer.ModelControllerBase
bool HasStatusCodes => m_statusCodes != null && m_statusCodes.Count > 0
 
- Protected Member Functions inherited from UnifiedAutomation.UaServer.ModelControllerBase
void RaisePropertyChangedEvent ([CallerMemberName] string propertyName=null)
 Raises an property change event. More...
 
void RaisePropertyChangeRequestedEvent< T > (T value, [CallerMemberName] string propertyName=null)
 Called when the value of a property is supposed to be changed. More...
 
bool SetField< T > (ref T field, T value, [CallerMemberName] string propertyName=null)
 Sets the backing field to the new value, and triggers a property change event, if the value has changed. More...
 

Detailed Description

Member Enumeration Documentation

The enumeration representing the possible states of the state machine.

Enumerator
Ready 

The Ready state.

Running 

The Running state.

Suspended 

The Suspended state.

Halted 

The Halted state.

The enumeration representing the possible transitions of the state machine.

Enumerator
HaltedToReady 

Transition from State.Halted to State.Ready.

ReadyToHalted 

Transition from State.Ready to State.Halted.

ReadyToRunning 

Transition from State.Ready to State.Running.

RunningToHalted 

Transition from State.Running to State.Halted.

RunningToReady 

Transition from State.Running to State.Ready.

RunningToSuspended 

Transition from State.Running to State.Suspended.

SuspendedToHalted 

Transition from State.Suspended to State.Halted.

SuspendedToReady 

Transition from State.Suspended to State.Ready.

SuspendedToRunning 

Transition from State.Suspended to State.Running.

Constructor & Destructor Documentation

UnifiedAutomation.UaServer.ProgramStateMachineModel.ProgramStateMachineModel ( )

Initializes a new instance of the ProgramStateMachineModel class.

UnifiedAutomation.UaServer.ProgramStateMachineModel.ProgramStateMachineModel ( ProgramStateMachineModel  template,
DummyArgument  dummy = null 
)

Initializes a new instance of the ProgramStateMachineModel class.

Parameters
templateThe template.
dummyDummy argument to enable writing own constructors that are called by the generated code.

Member Function Documentation

static LocalizedText UnifiedAutomation.UaServer.ProgramStateMachineModel.GetLocalizedText ( State  state)
static

Retrieves a LocalizedText for the given state value.

Parameters
stateThe state to get the text.
Returns
The text.
static LocalizedText UnifiedAutomation.UaServer.ProgramStateMachineModel.GetLocalizedText ( Transition  transition)
static

Retrieves a LocalizedText for the given transition value.

Parameters
transitionThe transition to get the text.
Returns
The transition.
static QualifiedName UnifiedAutomation.UaServer.ProgramStateMachineModel.GetName ( State  state)
static

Retrieves a QualifiedName for the given state value.

Parameters
stateThe state to get the name.
Returns
The name.
static QualifiedName UnifiedAutomation.UaServer.ProgramStateMachineModel.GetName ( Transition  transition)
static

Retrieves a QualifiedName for the given transition value.

Parameters
transitionThe transition to get the name.
Returns
The name.
static NodeId UnifiedAutomation.UaServer.ProgramStateMachineModel.GetNodeId ( State  state)
static

Retrieves the NodeId for the given state value.

Parameters
stateThe state to get the NodeId.
Returns
The NodeId.
static NodeId UnifiedAutomation.UaServer.ProgramStateMachineModel.GetNodeId ( Transition  transition)
static

Retrieves the NodeId for the given transition value.

Parameters
transitionThe transition to get the NodeId.
Returns
The NodeId.
static IEnumerable<Transition> UnifiedAutomation.UaServer.ProgramStateMachineModel.GetTransitions ( State  oldState,
State  newState 
)
static

A sequence of all possible transition for the given states.

Parameters
oldStateThe From state.
newStateThe To state.
Returns
A sequence of all possible transition for the given states. The sequence can be empty, but it will never be null.
void UnifiedAutomation.UaServer.ProgramStateMachineModel.RaiseSwitchedEvent ( State oldState,
State state,
Transition transition 
)

Raises the Switched event.

virtual void UnifiedAutomation.UaServer.ProgramStateMachineModel.SwitchToState ( State state,
Transition transition = null 
)
virtual

Switch to the given state.

Parameters
stateThe state.
transitionThe transition.

If the transition value is null the method will take the first transition that is possible. If there is no possible transition or if a transition was passed that is not possible for the old and new state combination, null will be assigned to the InternalTransition and FiniteStateMachineModel.LastTransition properties. It is up to the caller to avoid such situations.

A null value for the state will be translated to the specification conform status code StatusCodes.BadStateNotActive.

Member Data Documentation

State UnifiedAutomation.UaServer.ProgramStateMachineModel.m_state
protected

The current state of the state machine.

Transition UnifiedAutomation.UaServer.ProgramStateMachineModel.m_transition
protected

The last transition of the state machine.

Property Documentation

bool UnifiedAutomation.UaServer.ProgramStateMachineModel.AutoDelete
getset

Gets or sets the AutoDelete

new FiniteStateVariableModel UnifiedAutomation.UaServer.ProgramStateMachineModel.CurrentState
getset

Gets or sets the CurrentState

bool UnifiedAutomation.UaServer.ProgramStateMachineModel.Deletable
getset

Gets or sets the Deletable

BaseObjectModel UnifiedAutomation.UaServer.ProgramStateMachineModel.FinalResultData
getset
State UnifiedAutomation.UaServer.ProgramStateMachineModel.InternalState
getprotected set

The FiniteStateMachineModel.CurrentState as the enumeration value.

Transition UnifiedAutomation.UaServer.ProgramStateMachineModel.InternalTransition
getprotected set

The FiniteStateMachineModel.LastTransition as the enumeration value.

new FiniteTransitionVariableModel UnifiedAutomation.UaServer.ProgramStateMachineModel.LastTransition
getset

Gets or sets the LastTransition

ProgramDiagnostic2Model UnifiedAutomation.UaServer.ProgramStateMachineModel.ProgramDiagnostic
getset

Gets or sets the ProgramDiagnostic

int UnifiedAutomation.UaServer.ProgramStateMachineModel.RecycleCount
getset

Gets or sets the RecycleCount

Event Documentation

EventHandler<StateMachineEventArgs<State?, Transition?> > UnifiedAutomation.UaServer.ProgramStateMachineModel.Switched

Occurs when the SwitchToState method was called.

Note, the event is also emitted when the state stays the same.


The documentation for this class was generated from the following file: