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:
- Analyze the system
- 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).
- Prepare installation
- 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)
- Execute installation
- 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)