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).

image064.png

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:

  1. 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).