UA Bundle SDK .NET  2.3.1.334
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Groups Pages
UnifiedAutomation.UaServer.ShelvedStateMachineModel Class Reference

Inherits UnifiedAutomation.UaServer.FiniteStateMachineModel, and UnifiedAutomation.UaServer.IMethodDispatcher.

Public Member Functions

 ShelvedStateMachineModel ()
 Initializes a new instance of the ShelvedStateMachineModel class. More...
 
 ShelvedStateMachineModel (ShelvedStateMachineModel template)
 Initializes a new instance of the ShelvedStateMachineModel class. More...
 
virtual CallMethodEventHandler GetMethodDispatcher (RequestContext context, NodeId objectId, NodeId methodId)
 Gets the method dispatcher. More...
 
virtual StatusCode DispatchMethod (RequestContext context, MethodHandle methodHandle, IList< Variant > inputArguments, List< StatusCode > inputArgumentResults, List< Variant > outputArguments)
 Dispatches the method. More...
 
- Public Member Functions inherited from UnifiedAutomation.UaServer.FiniteStateMachineModel
 FiniteStateMachineModel ()
 Initializes a new instance of the FiniteStateMachineModel class. More...
 
 FiniteStateMachineModel (FiniteStateMachineModel template)
 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)
 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)
 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...
 

Properties

double UnshelveTime [get, set]
 Gets or sets the UnshelveTime More...
 
IShelvedStateMachineMethods ShelvedStateMachineMethods [get, set]
 Gets or sets the ShelvedStateMachine methods. More...
 
- Properties inherited from UnifiedAutomation.UaServer.FiniteStateMachineModel
new FiniteStateVariableModel CurrentState [get, set]
 Gets or sets the CurrentState More...
 
new FiniteTransitionVariableModel LastTransition [get, set]
 Gets or sets the LastTransition More...
 
- Properties inherited from UnifiedAutomation.UaServer.StateMachineModel
StateVariableModel CurrentState [get, set]
 Gets or sets the CurrentState More...
 
TransitionVariableModel LastTransition [get, set]
 Gets or sets the LastTransition More...
 

Detailed Description

The ShelvedStateMachineType defines a sub-state machine that represents an advanced Alarm filtering model.

The state model supports two types of Shelving: OneShotShelving and TimedShelving. They are illustrated in Figure 13. The illustration includes the allowed transitions between the various sub-states. Shelving is an Operator initiated activity.

In OneShotShelving, a user requests that an Alarm be Shelved for its current Active state. This type of Shelving is typically used when an Alarm is continually occurring on a boundary (i.e. a Condition is jumping between High Alarm and HighHigh Alarm, always in the Active state). The One Shot Shelving will automatically clear when an Alarm returns to an inactive state. Another use for this type of Shelving is for a plant area that is shut down i.e. a long running Alarm such as a low level Alarm for a tank that is not in use. When the tank starts operation again the Shelving state will automatically clear.

In TimedShelving, a user specifies that an Alarm be shelved for a fixed time period. This type of Shelving is quite often used to block nuisance Alarms. For example, an Alarm that occurs more than ten times in a minute may get shelved for a few minutes.

In all states, the Unshelve can be called to cause a transition to the Unshelve state; this includes Un-shelving an Alarm that is in the TimedShelve state before the time has expired and the OneShotShelve state without a transition to an inactive state.

All but two transitions are caused by Method calls as illustrated in Figure 13. The “Time Expired” transition is simply a system generated transition that occurs when the time value defined as part of the “Timed Shelved Call” has expired. The “Any Transition Occurs” transition is also a system generated transition; this transition is generated when the Condition goes to an inactive state.

The ShelvedStateMachine includes a hierarchy of sub-states. It supports all transitions between Unshelved, OneShotShelved and TimedShelved.

UnshelveTime specifies the remaining time in milliseconds until the Alarm automatically transitions into the Un-shelved state. For the TimedShelved state this time is initialised with the ShelvingTime argument of the TimedShelve Method call. For the OneShotShelved state the UnshelveTime will be a constant set to the maximum Duration except if a MaxTimeShelved Property is provided.

This FiniteStateMachine supports three Active states; Unshelved, TimedShelved and OneShotShelved. It also supports six transitions. The states and transitions are described in Table 32. This FiniteStateMachine also supports three Methods: UnifiedAutomation.UaServer.IShelvedStateMachineMethods.TimedShelve , UnifiedAutomation.UaServer.IShelvedStateMachineMethods.OneShotShelve and UnifiedAutomation.UaServer.IShelvedStateMachineMethods.Unshelve.

Constructor & Destructor Documentation

UnifiedAutomation.UaServer.ShelvedStateMachineModel.ShelvedStateMachineModel ( )
inline

Initializes a new instance of the ShelvedStateMachineModel class.

UnifiedAutomation.UaServer.ShelvedStateMachineModel.ShelvedStateMachineModel ( ShelvedStateMachineModel  template)
inline

Initializes a new instance of the ShelvedStateMachineModel class.

Parameters
templateThe template.

Member Function Documentation

virtual StatusCode UnifiedAutomation.UaServer.ShelvedStateMachineModel.DispatchMethod ( RequestContext  context,
MethodHandle  methodHandle,
IList< Variant inputArguments,
List< StatusCode inputArgumentResults,
List< Variant outputArguments 
)
inlinevirtual

Dispatches the method.

Parameters
contextThe context.
methodHandleThe method handle.
inputArgumentsThe input arguments.
inputArgumentResultsThe input argument results.
outputArgumentsThe output arguments.
Returns
virtual CallMethodEventHandler UnifiedAutomation.UaServer.ShelvedStateMachineModel.GetMethodDispatcher ( RequestContext  context,
NodeId  objectId,
NodeId  methodId 
)
inlinevirtual

Gets the method dispatcher.

Parameters
contextThe context.
objectIdThe object id.
methodIdThe method id.
Returns

Implements UnifiedAutomation.UaServer.IMethodDispatcher.

Property Documentation

IShelvedStateMachineMethods UnifiedAutomation.UaServer.ShelvedStateMachineModel.ShelvedStateMachineMethods
getset

Gets or sets the ShelvedStateMachine methods.

The ShelvedStateMachine methods.

double UnifiedAutomation.UaServer.ShelvedStateMachineModel.UnshelveTime
getset

Gets or sets the UnshelveTime


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