image032.png

Figure 25 – IdleSubstateMachineType Overview

The IdleSubstateMachineType is formally defined in Table 63.

Table 63 – IdleSubstateMachineType Definition

Attribute

Value

BrowseName

IdleSubstateMachineType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the FiniteStateMachineType defined in OPC 10000-5

0:HasComponent

Variable

LastTransitionReason

0:Int16

0:MultiStateValueDiscreteType

M

0:HasComponent

Object

StandBy

0:InitialStateType

0:HasComponent

Object

GettingReady

0:StateType

0:HasComponent

Object

StandByToGettingReady

0:TransitionType

0:HasComponent

Object

GettingReadyToStandBy

0:TransitionType

0:HasComponent

Variable

LastTransition

0:LocalizedText

0:FiniteTransitionVariableType

M

0:GeneratesEvent

ObjectType

TransitionEventType

O

ConformanceUnits

Rob System IdleSubstate

Rob System Events

The Variable LastTransitionReason provides the reason for the LastTransition. The EnumValue and ValueAsText of this 0:MultiStateValueDiscreteType are described in the table below.

Table 64 – IdleSubstateMachineType Attribute values for child nodes

BrowsePath

Value Attribute

Description Attribute

LastTransitionReason

0:EnumValues

[

{"Value":0,"DisplayName":"Unknown","Description":"Caused by an unknown reason"},

{"Value":1,"DisplayName":"External","Description":"Caused by external operation"},

{"Value":2,"DisplayName":"Direct","Description":"Caused by direct operation"},

{"Value":3,"DisplayName":"System","Description":"Caused by system specific behavior"},

{"Value":4,"DisplayName":"Error", "Description": "Caused by an error"},

{"Value":5,"DisplayName":"Application","Description":"Caused explicitly by end user program logic"}

]

The states of the IdleSubstateMachineType are described in Table 65.

Table 65 – IdleSubstateMachineType State Descriptions

StateName

Description

StandBy

The system is available, but cannot be started because a preparation is needed

GettingReady

The system was commanded to get ready (internally or via GoToReady() and the needed preparation to get ready is done in this state by the system.

In the GettingReady state the system prepares what is to be done (e.g. switching on intermediate circuit) to be ready to start execution in a next step. Typically, all task controls which participate in system functionality are in in Ready (or Executing) state before calling the GoToReady() method on system level.

When the preparation is done successfully the IdleSubstateMachine will be left and the Ready state of the SystemOperationStateMaschine will be entered.

The ongoing preparation can be interrupted by calling the GoToStandBy Method.

The transitions are described in .

Table 66 – IdleSubstateMachineType Transition Descriptions

TransitionName

Description

StandByToGettingReady

Changes from StandBy to GettingReady because the preparation was initiated.

GettingReadyToStandBy

Changes from GettingReady to StandBy because the preparation was aborted.

The components of the IdleSubstateMachineType have additional references which are defined in Table 67.

Table 67 – IdleSubstateMachineType Additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

StandByToGettingReady

0:FromState

True

StandBy

0:ToState

True

GettingReady

0:HasEffect

True

TransitionEventType

GettingReadyToStandBy

0:FromState

True

GettingReady

0:ToState

True

StandBy

0:HasEffect

True

TransitionEventType

The component Variables of the IdleSubstateMachineType have additional Attributes defined in Table 68.

Table 68 – IdleSubstateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

StandBy

0:StateNumber

1

GettingReady

0:StateNumber

2

StandByToGettingReady

0:TransitionNumber

1

GettingReadyToStandBy

0:TransitionNumber

2