Only advanced users should apply the instructions in this chapter.
General update process
⮫ “Installation and update of the firmware”
The main components of the CPU firmware:
-
BootFW (boot firmware): responsible for starting the UpdateFW or the SystemFW
-
UpdateFW (update firmware): responsible for updating BootFW, UpdateFW, SystemFW, UpdateHook and the boot project
-
SystemFW (system firmware, CPUFW): runtime system of the PLC, additionally responsible for updating the DisplayFW (display firmware) and the firmware of the communication module
-
DisplayFW (display firmware): firmware of the display
Additionally, the update process includes the following components:
-
Communication module (communication module firmware): firmware of the different communication modules
-
UpdateHook: specific patches for the PLC
-
UserProgram: boot project of the application
-
License features: import and export of license files. The license file for “ImportLicense” is a Wbb or WibuCmRaU file. The license file for “ExportLicense” is a WibuCmRaC file.
The firmware updates are triggered by the command file SDCARD.INI. In addition, a result file of the firmware update is generated (SDCARD.RDY, identical path as SDCARD.INI). For the group [FirmwareUpdate], the parameters 0, 11, 12 and 13 are defined. For each firmware update, two files are required: the firmware file and the corresponding signature file.
For example:
AC500_V3_SystemFirmware_V3.0.1.73.tar.bz2
AC500_V3_SystemFirmware_V3.0.1.73.tar.bz2.sig
AC500_V3_DisplayFirmware_V3.0.0.0.app
AC500_V3_DisplayFirmware_V3.0.0.0.app.sig
For the user program, the application file and the application CRC are required. Example:
Application.app
Application.crc
If the signature file and the firmware file do not match, no update is performed and a correspondent error result is written to the file SDCARD.RDY.
If the update firmware is running, the display shows the text update. Alternating flashing of the RUN and ERR LEDs indicates the update process is running.
The file “SDCARD.RDY” contains the results of the individual updates. After an update of a communication module CODESYS Control is started in safe mode (no download or starting of the application is possible) and the PLC needs a reboot (power down/up; the display shows please and reboot alternately).
As of system firmware 3.2 the compatibility file "Version.txt" (with the corresponding signature file "Version.txt.sig", identical path as "SDCARD.INI") is necessary for the update process.
The update firmware checks the compatibility of the following parts:
-
CPUFW (system firmware)
-
BootFW (boot firmware
-
UpdateFW (update firmware)
-
DisplayFW (display firmware)
A missing “Version.txt” or a missing/corrupt “Version.txt.sig ”file is indicated for the component “CPUFW” (file “SDCARD.RDY”).
If the update process would result in incompatible firmware components, no update is performed in the update firmware. After starting the system firmware, the compatibility of the communication module firmware is additionally checked. The compatibility check of the firmware is always executed (independent of the parameter for the component). Incompatibility is indicated for the corresponding component (file SDCARD.RDY).
Automated reboot of the PLC
If a firmware or boot application update is currently being performed via a memory card, the PLC waits for user interaction: the memory card must be removed and a power cycle must be performed to complete the update process.
In the case of an unattended remote update via memory card, this is a limitation because no user may be available on site to perform the power cycle. To avoid this situation, additional options have been added to SDCARD.ini to enable an unattended automatic restart when entering RTS safe mode after a successful firmware or boot project update.
This behavior is optional and is triggered by user settings in SDCARD.INI. The default behavior (RTS remains in safe mode until a manual power cycle) is retained.
The “FunctionOfCard” parameter is reset from values 4-6 to 0 after the update. This means that after a successful update, the memory card cannot be used for updating another PLC without manually modifying the “FunctionOfCard”parameter.
The intended use case is that the memory card remains in the respective PLC for use as mass storage and for the unattended updates.
If boot parameters are changed, an additional reboot is required. This additional reboot is never performed automatically and must therefore be executed manually.