image039.png

Figure 32 – ReadySubstateMachineType Overview

The ReadySubstateMachineType is formally defined in Table 104.

Table 104 – ReadySubstateMachineType Definition

Attribute

Value

BrowseName

ReadySubstateMachineType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the FiniteStateMachineType defined in OPC 1000-5

0:HasComponent

Variable

LastTransitionReason

0:Int16

0:MultiStateValueDiscreteType

M

0:HasComponent

Object

AtProgramStart

0:StateType

0:HasComponent

Object

Suspended

0:StateType

0:HasComponent

Object

ProgramStartToSuspended

0:TransitionType

0:HasComponent

Object

SuspendedToProgramStart

0:TransitionType

0:HasComponent

Method

ResetToProgramStart

O

Inherited from FiniteStateMachineType

0:HasComponent

Variable

LastTransition

0:LocalizedText

0:FiniteTransitionVariableType

M

0:GeneratesEvent

ObjectType

TransitionEventType

O

ConformanceUnits

Rob Task Control ReadySubstate

Rob Task Control Ready Reset

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

Table 105 – ReadySubstateMachineType 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 ReadySubstateMachineType are described in Table 106.

Table 106 – ReadySubstateMachineType State Descriptions

StateName

Description

AtProgramStart

The program pointer of the program loaded in the task control is at the starting point.

Suspended

The program pointer of the program loaded in the task control is anywhere in the program, but not at starting point.

The components of the ReadySubstateMachineType have additional references which are defined in Table 107.

Table 107 – ReadySubstateMachineType Additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

ProgramStartToSuspended

0:FromState

True

AtProgramStart

0:ToState

True

Suspended

0:HasEffect

True

TransitionEventType

SuspendedToProgramStart

0:FromState

True

Suspended

0:ToState

True

AtProgramStart

0:HasEffect

True

TransitionEventType

0:HasCause

True

ResetToProgramStart

The transitions are described in Table 108 – ReadySubstateMachineType Transition Descriptions.

Table 108 – ReadySubstateMachineType Transition Descriptions

TransitionName

Description

ProgramStartToSuspended

Changes from AtProgramStart to Suspended.

SuspendedToProgramStart

Changes from Suspended to AtProgramStart because program was restarted. (Direct, External, System)

The component Variables of the ReadySubstateMachineType have additional Attributes defined in Table 109.

Table 109 – ReadySubstateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

AtProgramStart

0:StateNumber

1

Suspended

0:StateNumber

2

ProgramStartToSuspended

0:TransitionNumber

1

SuspendedToProgramStart

0:TransitionNumber

2