This example illustrates the use of software update of several devices from the Client point of view.
This is only one example for a specific domain. There will be different Clients for different types of systems or industries (e.g., for process domain the process will not be stopped and before a sensor is updated a replacement value needs to be configured in the controller).
Figure B.4 – Example
The example (illustrated in Figure B.4) describes a production line with several production cells. Each cell contains a robot and a main PLC that can be updated. A switch connects the cells and is also updateable via OPC UA.
A Client would perform the following steps:
Determine the network topology with all devices.
Determine currently installed software and how the devices can perform the update (using IVendorNameplateType Interface and Loading Object).
Determine technical preconditions for the update. E.g., if the device uses Direct-, Cached- or File System based Loading (using the Loading Object).
The user selects the software to be installed
Transfer the software and firmware updates to the PLCs, the robots and the switch, except for Direct-Loading (using CachedLoadingType, FileSystem).
Schedule installation (Client only)
Determine how the update can be executed (using GetUpdateBehavior Methods of CachedLoadingType and FileSystemLoadingType).
Wait for strategic condition (e.g., end of shift; no task in queue).
Plan the order of update (e.g., robots and PLCs first; infrastructure components last).
Prepare devices for installation
Stop production line software (using an application specific Information Model).
Bring the robots and PLCs into a state for update (using the PrepareForUpdate state machine and/or branch specific state machine).
Wait for technical starting conditions (e.g., robot in standstill) (using the PrepareForUpdate state machine).
Start the installation of all robots and all PLCs simultaneously (using the Installation state machine).
Update the switch when robots & PLCs are done (using the Installation state machine).
Restore device state after installation
Restart robots and PLCs (using the PrepareForUpdate state machine and/or branch specific state machine).
Restart production line software (using an application specific Information Model).
Analyze the system