Operating system

The PLCnext Technology control platform is based on a Linux® operating system with the OSADL real-time patch. Linux® is a highly reliable, open source operating system suitable for applications that require a high stability. A wide range of open source software is available for the Linux® operating system, which is supported by a large community of users and developers.

You can also use this open software, software blocks, and technologies for your PLC applications (e.g., SQL server). PLCnext Technology uses the Linux operating system and extends it by the functions of a PLC such as the cyclic processing of tasks and cycle-consistent data exchange. Core changes or extensions are not possible. To add functions to the system, the user must compile and, if necessary, execute installations with root rights.

The operating system features the following components and services:

Text editors

Nano and Vim are installed on the controller as text editors. When you are connected to the controller via the SSH console, you can call the desired editor via the command line. To open a file with the desired editor, enter nano <file name> or vim <file name>.

Nano

The Nano text editor is easy to use and is therefore recommended for less experienced users. Find an introduction and documentation of features at the GNU nano website

Vim

The Vim text editor has an extended range of functions and is a popular editor in the Linux® environment. Find an introduction and documentation of features at the Vim website.

Linux® scripts of the PLCnext Technology firmware

Firmware update

Starting with firmware version 2019.0 LTS, you can update the firmware conveniently by means of the Web-based Management on your controller.

Updating from very old firmware versionsUpdating from very old firmware versions

For firmware versions before 2019.0 LTS (the naming back then was like "1.02"), you can start the firmware update via the sudo update-plcnext shell script, which you will find in the file system of the controller.

  • Download and unzip the firmware *.zip file (see Tool downloads).
  • For older firmware, run the *.exe setup file to extract the *.raucb update file; newer firmware already contains the naked *.raucb update file.
  • Open an SFTP client software (e.g., WinSCP) and log in to the controller as the admin user (see Connecting to the controller).
    Security shield Security note: Use the default admin password only for initial access and change it as soon as possible!
  • Copy the *.raucb update file to the /opt/plcnext/ directory (this is the home directory of the Linux® admin user).
  • Open the shell using a command line tool (e.g., PuTTY or Tera Term).
  • Log in to the controller as the admin user here as well.
  • Issue the update command; the name of the update script is the same for every controller:
    sudo update-plcnext.
    • The script is available in the directory under /usr/sbin/.
    • Under /usr/sbin/, you will also find symbolic links with the respective product designation in the name, e.g., sudo update-axcf2152.

The script executes the following operations:

  1. Stopping the PLCnext Technology process.
  2. Performing the firmware update.
  3. Rebooting the system and deleting the firmware container.

Issues with updating the firmware 

Note: In order to update to a current firmware release, a firmware version 2022.0 LTS or newer must be installed on the controller. Firmware versions 2021.9 and before will not accept the *.raucb firmware update file.

  • Coming from devices running on 2019.0 LTS up to 2021.9 firmware, first update to the 2022.0 LTS release.
  • After restarting under firmware 2022.0 LTS, update to the newer release.
Note:

If the boot process failed several consecutive times then the inactive and the active boot partition will change their roles, too. This behavior has been implemented to keep the PLCnext Control device accessible even if the firmware update fails.

The behavior can also occur when the boot process is interrupted e.g. by power loss. In this case you will observe that the PLCnext Control boots with its previously installed firmware version. To prevent such unintended firmware downgrades, Phoenix Contact recommends that after a finally successful firmware update, the same firmware should be installed once again. This way both the active and the inactive boot partition will contain the same firmware version.

Firmware downgrade

  • For downgrading to a former firmware version, perform the same procedure as for updating (see above).
  • Reset to Default setting Type 1 (see next section). 

Reset to default setting type 1 and type 2

A distinction is made between two types of default settings:

  • Reset type 1: 
    • All user-specific data is deleted (settings, programs, users, etc.).
    • Licenses installed on the device and bound to the device as well as the  activated/deactivated SD card support setting are retained.
    • The current PLCnext Technology firmware remains unchanged.
      The following directories are cleared:
      • /media/rfs/rw/upperdir
      • /media/rfs/rw/work 
    • From  firmware version 2023.0 LTS, the directories that are used for containers are also cleared:
      • /media/rfs/rw/var
      • /media/rfs/rw/data
  • Reset type 2:
    In addition to deleting the user-specific data (type 1), the firmware of the controller is reset to delivery state of the device.

You can reset your controller to default settings via the device-specific operating elements of the hardware (e.g., reset button or operating display). For additional information, please refer to the corresponding user manual.

Another option is to reset the controller using a shell script. The script is available in the controller's file system under /usr/sbin/.

When calling the script, specify the desired reset type, e.g.,  sudo recover-plcnext 1 for type 1 default settings.

Under /usr/sbin/, you will also find symbolic links with the respective product designation in the name, e.g.,  recover-axcf2152 1 for type 1 default settings of a PLCnext Control AXC F 2152.

The type 1 default settings can also be restored via the Cockpit editor in PLCnext Engineer, and from firmware version 2023.0 LTS also via the WBM cockpit.

Note: Files that are stored outside the upperdir directory are not deleted during a reset to default setting type 1 nor type 2. Therefore, user data such as PLCnext apps and OCI images should not be installed in the upperdir directory. So in this case not all user files are deleted. You must delete 

All licenses, and especially licenses that are bound to the device, are retained.

Known Issue

Known for all firmware versions on RFC 4072S and BPC 9102S:

LIC SD cards are only supported from firmware release 2022.6 or newer.  If you're using a LIC SD card with an RFC 4072S or BPC 9102S and performing a reset to default settings type 2, then the firmware version of the delivery state that is reactivated might not support the LIC SD card type. Because for these controllers an SD card is mandatory, updating the firmware by means of the usual update procedure via the WBM to a firmware version ≥2022.6 that supports the LIC SD card is no longer possible then. In this case, proceed as follows:

  • Connect to the controller via an SFTP client, e.g. by means of WinSCP (see Connecting to the controller).
  • Upload a firmware container of a version ≥2022.6 to /var/volatile/tmp. This folder is located in the RAM of the controller and has about 4 GB of free memory.
  • Perform an update with the following command via SSH console:
    rauc install /var/volatile/tmp/<updatecontainer>.raucb
    ↪ The update is executed and the LIC SD card will be active on restart.

Controlling the firmware

The plcnext script in the /etc/init.d directory controls the firmware.

You can control the firmware with the following commands:

Shell command Description
sudo /etc/init.d/plcnext stop Stops all PLCnext firmware processes
sudo /etc/init.d/plcnext start Starts all PLCnext firmware processes
sudo /etc/init.d/plcnext restart Restarts all PLCnext firmware processes


• Published/reviewed: 2024-09-24   ☀  Revision 073 •