The PrepareForUpdateStateMachineType may be used if the device requires to be prepared before the update. Another option is to delay the resuming of normal operation until all update actions are executed. This supports to prepare for update option of 8.3.4.2.

If a Server implements this state machine, a Client shall use it except if the UpdateBehavior indicates that this is not necessary for the transferred software. If preparation is required, the installation is only allowed if the PrepareForUpdateStateMachine is in the PreparedForUpdate state.

The state machine is illustrated in Figure 47, Figure 48 and formally defined in Table 85. The transitions are formally defined in Table 87.

image050.png

Figure 47 – PrepareForUpdate state machine

image051.png

Figure 48 – PrepareForUpdateStateMachineType

Table 85 – PrepareForUpdateStateMachineType definition

Attribute

Value

BrowseName

PrepareForUpdateStateMachineType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the FiniteStateMachineType defined in OPC 10000-5.

0:HasComponent

Variable

PercentComplete

0:Byte

0:BaseDataVariableType

O

0:HasComponent

Method

Prepare

M

0:HasComponent

Method

Abort

M

0:HasComponent

Method

Resume

O

0:HasComponent

Object

Idle

0:InitialStateType

0:HasComponent

Object

Preparing

0:StateType

0:HasComponent

Object

PreparedForUpdate

0:StateType

0:HasComponent

Object

Resuming

0:StateType

0:HasComponent

Object

IdleToPreparing

0:TransitionType

0:HasComponent

Object

PreparingToIdle

0:TransitionType

0:HasComponent

Object

PreparingToPreparedForUpdate

0:TransitionType

0:HasComponent

Object

PreparedForUpdateToResuming

0:TransitionType

0:HasComponent

Object

ResumingToIdle

0:TransitionType

Conformance Units

DI SU PrepareForUpdate

The component Variables of the PrepareForUpdateStateMachineType have additional Attributes defined in Table 86.

Table 86 – PrepareForUpdateStateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

Idle

0:StateNumber

1

Preparing

0:StateNumber

2

PreparedForUpdate

0:StateNumber

3

Resuming

0:StateNumber

4

IdleToPreparing

0:TransitionNumber

12

PreparingToIdle

0:TransitionNumber

21

PreparingToPreparedForUpdate

0:TransitionNumber

23

PreparedForUpdateToResuming

0:TransitionNumber

34

ResumingToIdle

0:TransitionNumber

41

Table 87 – PrepareForUpdateStateMachineType Additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

Transitions

IdleToPreparing

0:FromState

True

Idle

0:ToState

True

Preparing

0:HasEffect

True

0:TransitionEventType

PreparingToIdle

0:FromState

True

Preparing

0:ToState

True

Idle

0:HasEffect

True

0:TransitionEventType

PreparingToPreparedForUpdate

0:FromState

True

Preparing

0:ToState

True

PreparedForUpdate

0:HasEffect

True

0:TransitionEventType

PreparedForUpdateToResuming

0:FromState

True

PreparedForUpdate

0:ToState

True

Resuming

0:HasEffect

True

0:TransitionEventType

ResumingToIdle

0:FromState

True

Resuming

0:ToState

True

Idle

0:HasEffect

True

0:TransitionEventType