The PrepareForUpdateStateMachineType can 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 48, Figure 49 and formally defined in Table 91. The transitions are formally defined in Table 93.
Figure 48 – PrepareForUpdate state machine
Figure 49 – PrepareForUpdateStateMachineType
Table 91 – PrepareForUpdateStateMachineType definition
|
Attribute |
Value |
||||
|
BrowseName |
1:PrepareForUpdateStateMachineType |
||||
|
IsAbstract |
False |
||||
|
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of the 0:FiniteStateMachineType defined in OPC 10000-5. |
|||||
|
0:HasComponent |
Variable |
1:PercentComplete |
0:Byte |
0:BaseDataVariableType |
O |
|
0:HasComponent |
Method |
1:Prepare |
|
|
M |
|
0:HasComponent |
Method |
1:Abort |
|
|
M |
|
0:HasComponent |
Method |
1:Resume |
|
|
O |
|
0:HasComponent |
Object |
1:Idle |
|
0:InitialStateType |
|
|
0:HasComponent |
Object |
1:Preparing |
|
0:StateType |
|
|
0:HasComponent |
Object |
1:PreparedForUpdate |
|
0:StateType |
|
|
0:HasComponent |
Object |
1:Resuming |
|
0:StateType |
|
|
0:HasComponent |
Object |
1:IdleToPreparing |
|
0:TransitionType |
|
|
0:HasComponent |
Object |
1:PreparingToIdle |
|
0:TransitionType |
|
|
0:HasComponent |
Object |
1:PreparingToPreparedForUpdate |
|
0:TransitionType |
|
|
0:HasComponent |
Object |
1:PreparedForUpdateToResuming |
|
0:TransitionType |
|
|
0:HasComponent |
Object |
1:ResumingToIdle |
|
0:TransitionType |
|
|
Conformance Units |
|||||
|
DI SU PrepareForUpdate |
|||||
The component Variables of the PrepareForUpdateStateMachineType have additional Attributes defined in Table 92.
Table 92 – 1:PrepareForUpdateStateMachineType Attribute values for child Nodes
|
BrowsePath |
Value Attribute |
||
|
1 |
||
|
2 |
||
|
3 |
||
|
4 |
||
|
12 |
||
|
21 |
||
|
23 |
||
|
34 |
||
|
41 |
Table 93 – 1:PrepareForUpdateStateMachineType Additional References
|
SourceBrowsePath |
Reference Type |
Is Forward |
TargetBrowsePath |
|
|
|||
|
Transitions |
|||
|
1:IdleToPreparing |
0:FromState |
True |
1:Idle |
|
|
0:ToState |
True |
1:Preparing |
|
|
0:HasCause |
True |
1:Prepare |
|
|
0:HasEffect |
True |
0:TransitionEventType |
|
1:PreparingToIdle |
0:FromState |
True |
1:Preparing |
|
|
0:ToState |
True |
1:Idle |
|
|
0:HasCause |
True |
1:Abort |
|
|
0:HasEffect |
True |
0:TransitionEventType |
|
1:PreparingToPreparedForUpdate |
0:FromState |
True |
1:Preparing |
|
|
0:ToState |
True |
1:PreparedForUpdate |
|
|
0:HasEffect |
True |
0:TransitionEventType |
|
1:PreparedForUpdateToResuming |
0:FromState |
True |
1:PreparedForUpdate |
|
|
0:ToState |
True |
1:Resuming |
|
|
0:HasCause |
True |
1:Resume |
|
|
0:HasEffect |
True |
0:TransitionEventType |
|
1:ResumingToIdle |
0:FromState |
True |
1:Resuming |
|
|
0:ToState |
True |
1:Idle |
|
|
0:HasCause |
True |
1:Abort |
|
|
0:HasEffect |
True |
0:TransitionEventType |