OpcStateMachineNode Class

Namespace: Opc.UaFx
Assemblies: Opc.UaFx.Advanced.dll

Defines the base class for all state machine nodes. It uses a single variable which represents the current state of the machine.

C#

public class OpcStateMachineNode : OpcObjectNode, IOpcNode, IOpcNodeInfo


Inheritance ObjectOpcNodeOpcInstanceNodeOpcObjectNode › OpcStateMachineNode


Derived


Implements IOpcNode, IOpcNodeInfo

Remarks

An instance of this object should generate an event whenever a significant state change occurs. The server decides which state changes are significant. Servers should use the GeneratesEvent reference type to indicate which event(s) could be produced by the state machine.

Subtypes may add methods which affect the state of the machine. The Executable attribute is used to indicate whether the method is valid given the current state of the machine. A state machine may not be active. In this case, the CurrentState and LastTransition vvariables should have a status equal to BadStateNotActive.

Subtypes may add components which are instances of state machines. These components are considered to be sub-states of the state machine. Sub state machines are only active when the parent machine is in an appropriate state.

Events produced by sub state machines may be suppressed by the parent machine. In some cases, the parent machine will produce a single event that reflects changes in multiple sub state machines.

Name Description
OpcStateMachineNode(IOpcNode, OpcName) Initializes a new instance of the OpcStateMachineNode class accessible by the name specified as a child node of the parent node given.
OpcStateMachineNode(IOpcNode, OpcName, OpcNodeId) Initializes a new instance of the OpcStateMachineNode class accessible by the name and id specified as a child node of the parent node given.
OpcStateMachineNode(OpcName) Initializes a new instance of the OpcStateMachineNode class accessible by the name specified.
OpcStateMachineNode(OpcName, OpcNodeId) Initializes a new instance of the OpcStateMachineNode class accessible by the name and id specified.
Name Description
AfterApplyChanges Occurs after one or more changes on the node has been notified.
(Inherited from OpcNode)
BeforeApplyChanges Occurs before one or more changes on the node are notified.
(Inherited from OpcNode)
Name Description
Category Gets the NodeCategoryOpcAttribute which identifies the kind of node and is therefore used to classify the node regarding its use and purpose.
(Inherited from OpcNode)
CurrentState Gets or sets the current state of the OpcStateMachineNode 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.
CurrentStateNode Gets the OpcStateVariableNode of the CurrentState property.
DefaultReferenceTypeId Gets the default identifier which identifies the type that defines the underlying node reference within this OpcInstanceNode is referenced by its parent node.
(Inherited from OpcInstanceNode)
DefaultReferenceTypeId Gets the default identifier which identifies the type that defines the underlying node reference within this OpcInstanceNode is referenced by its parent node.
(Inherited from OpcObjectNode)
DefaultTypeDefinitionId Gets the default identifier which identifies the node that defines the underlying node type from that this OpcInstanceNode has been created.
DefaultTypeDefinitionId Gets the default identifier which identifies the node that defines the underlying node type from that this OpcInstanceNode has been created.
(Inherited from OpcInstanceNode)
DefaultTypeDefinitionId Gets the default identifier which identifies the node that defines the underlying node type from that this OpcInstanceNode has been created.
(Inherited from OpcObjectNode)
Description Gets or sets the value of the optional DescriptionOpcAttribute which shall explain the meaning of the node.
(Inherited from OpcNode)
DisplayName Gets or sets the value of the DisplayNameOpcAttribute which defines the localizable name of the node.
(Inherited from OpcNode)
HasPendingChanges Gets a value indiciating whether there exists any pending change on the node.
(Inherited from OpcNode)
Id Gets the value of the NodeIdOpcAttribute which unambiguously identifies the node.
(Inherited from OpcNode)
LastTransition Gets or sets 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.
LastTransitionNode Gets the OpcTransitionVariableNode of the LastTransition property.
ModellingRuleId Gets or sets the identifier which defines how the OpcInstanceNode is used for instantiation.
(Inherited from OpcInstanceNode)
Name Gets or sets the value of the BrowseNameOpcAttribute which defines the non-localizable human-readable name used when browsing the address space.
(Inherited from OpcNode)
Namespace (Inherited from OpcNode)
Parent Gets the parent node of the node.
(Inherited from OpcNode)
Parent Gets the parent node of the node.
(Inherited from OpcInstanceNode)
PendingChanges Gets a value indicating the most recent changes performed on the node since their last notification.
(Inherited from OpcNode)
QueryEventsCallback Gets or sets a callback used to query any event information which belongs to the node.
(Inherited from OpcNode)
ReadDescriptionCallback (Inherited from OpcNode)
ReadUserWriteAccessCallback (Inherited from OpcNode)
ReadWriteAccessCallback (Inherited from OpcNode)
ReferenceType Gets a value which defines a pre-defined used ReferenceTypeId as one of the members defined by the OpcReferenceType enumeration to simplify querying standard reference types.
(Inherited from OpcInstanceNode)
ReferenceTypeId Gets or sets the identifier which identifies the node that defines the semantic of the reference between a source and a target node and generally reflects an operation between the two, such as “A contains B”.
(Inherited from OpcInstanceNode)
SymbolicName (Inherited from OpcNode)
Tag Gets or sets the object that contains additional user data about the node.
(Inherited from OpcNode)
TypeDefinitionId Gets or sets the identifier which identifies the node that defines the underlying node type from that this OpcInstanceNode has been created.
(Inherited from OpcInstanceNode)
UserWriteAccess Gets or sets the value of the optional UserWriteAccessOpcAttribute which exposes the possibilities of a client to write the attributes of the node taking user access rights into account.
(Inherited from OpcNode)
WriteAccess Gets or sets the value of the optional WriteAccessOpcAttribute which exposes the posibilities of a client to write the attributes of the node.
(Inherited from OpcNode)
WriteDescriptionCallback (Inherited from OpcNode)
WriteUserWriteAccessCallback (Inherited from OpcNode)
WriteWriteAccessCallback (Inherited from OpcNode)
Name Description
AddChild(OpcContext, OpcInstanceNode) (Inherited from OpcInstanceNode)
AddNotifier(OpcContext, IOpcNode) (Inherited from OpcNode)
AddNotifier(OpcContext, IOpcNode) (Inherited from OpcObjectNode)
ApplyChanges(OpcContext) Notifies about changes performed on the node since the last notification and resets the pending changes to None.
(Inherited from OpcNode)
ApplyChanges(OpcContext, Boolean) Notifies about changes performed on the node (and optionally on its children) since the last notification and resets the pending changes to None.
(Inherited from OpcNode)
AttributeValue(OpcAttribute) Retrieves the value of the attribute specified.
(Inherited from OpcNode)
AttributeValue``1(OpcAttribute) Retrieves the value of the attribute specified.
(Inherited from OpcNode)
Child(OpcContext, OpcName) Retrieves the child node its Name property matches exactly the name specified.
(Inherited from OpcNode)
Children(OpcContext) Retrieves a sequence of all nodes organized as children of this node.
(Inherited from OpcNode)
InitializeDefaults Initializes the default values used by the node implementation represented / required.
(Inherited from OpcNode)
InitializeDefaults Initializes the default values used by the OpcInstanceNode.
(Inherited from OpcInstanceNode)
IsChangePending(OpcNodeChanges) (Inherited from OpcNode)
OnAfterApplyChanges(OpcNodeChangesEventArgs) Raises the AfterApplyChanges event using the event data specified.
(Inherited from OpcNode)
OnBeforeApplyChanges(OpcNodeChangesEventArgs) Raises the BeforeApplyChanges event using the event data specified.
(Inherited from OpcNode)
QueryEventsCore(OpcNodeContext, OpcEventCollection) (Inherited from OpcNode)
ReadAttributeValueCore``1(OpcReadAttributeValueContext, OpcAttributeValue) (Inherited from OpcNode)
RemoveChild(OpcContext, OpcInstanceNode) (Inherited from OpcInstanceNode)
RemoveNotifier(OpcContext, IOpcNode) (Inherited from OpcNode)
RemoveNotifier(OpcContext, IOpcNode) (Inherited from OpcInstanceNode)
RemoveNotifier(OpcContext, IOpcNode) (Inherited from OpcObjectNode)
ReportEvent(OpcContext, OpcEvent) (Inherited from OpcNode)
UpdateChanges(OpcContext, OpcNodeChanges) Notifies about the changes on behalf of the node and removes pending changes which intersect with the changes specified.
(Inherited from OpcNode)
UpdateChanges(OpcContext, OpcNodeChanges, Boolean) Notifies about the changes on behalf of the node (and optionally on its children) and removes pending changes which intersect with the changes specified.
(Inherited from OpcNode)
WriteAttributeValueCore``1(OpcWriteAttributeValueContext, OpcAttributeValue) (Inherited from OpcNode)