On this page we provide you answers and questions all about the hard- and software product portfolio.

Any further questions that could not be answered?

Send us an e-mail with the reference "FAQ".
We will handle your request immediately.

Technical support   |   T +49.7121.894-183   |   F +49.7121.894-100  |  support-controls@berghof.com


> General
> Webinterface
> USB-Update



1. What is B-Primis, B-Fortis, B-Nimis and B-Veris?

These denotations define the respective Berghof product families:

  • B-Primis: Product family of Berghof display devices DC and ET
  • B-Fortis: Product family of Berghof compact devices CC and CC-IO
  • B-Nimis: Product family of Berghof modular devices MC and MC-IO
  • B-Veris: Product family of Berghof motion devices CDHD and StepIM

2. What is DC, ET, CC, CC-IO, MC, MC-IO?

These abbreviations denote the model family of the respective product families and have the following meaning

  • DC: Display Controller - PLC with integrated display
  • ET: Ethernet terminal - display configurable as VNC client and web terminal
  • CC: Compact Controller - compact PLC with integrated I/Os
  • CC-IO: Compact I/O – I/O modules with EtherCAT interface and integrated Bus Coupler
  • MC: Modular Controller - PLC in modular design with pluggable I/Os modularly expandable
  • MC-IO: Modular I/Os - I/Os in modular design and EtherCAT interface 

3. What is PPC, MX6?

These abbreviations denote the processor architecture installed on the devices and stand for:

  • PPC: Power PC CPU - Used in all devices of the "Classic" subfamilies
  • MX6: iMX6 Cortex A9 CPU - Used in all devices of the "Pro" and "Prime" subfamilies

These two terms are mainly used to distinguish between old and new control platforms.

4. Which interfaces are supported?

Berghof controllers support all common interfaces in automation at low level as well as in the system with easy-to-use wizards for different communication protocols.


  • Ethernet:               TCP/IP, UDP, EtherCAT, Profinet, Modbus TCP, FTP, Ethernet/IP, OPC UA
  • CAN:                     CANL2, CANOpen, J1939
  • RS232/485:           COML2, Modbus RTU
  • USB:                     For USB memory and USB updates, USB keyboard, USB-to-Ethernet
  • SD card:               For a fixed memory expansion, up to 32GB depending on model



USB keyboard: only the German and the American English keyboard layout are supported.
USB-to-Ethernet: only USB-to-Ethernet adapters with an ASIX AX88179 chipset are supported.

5. Can I expand my storage capacity?

A direct expansion of the internal flash memory is not possible, but it is easily possible to increase the total storage space through external media. Berghof controllers support SD cards (MX6-SDHC / PPC - SD) as fixed memory expansion and USB sticks as removable media. Sizes up to 32GB memory are supported and the data carriers must be formatted in the FAT(32) file system.

6. Can PLCs without a display have a visualisation?

Yes this is possible, all displayless Berghof controllers have an integrated VNC server which acts as target visualization. To display the target visualization a B-Primis Ethernet terminal is normally used which has an integrated VNC client, but in principle any VNC client can display the visualization. Alternatively the web visualization can be used, it can be displayed in any HTML5 capable browser.

7. What resolutions can be used for the Target Visualization?

If If a displayless controller outputs the visualization via a B-Primis Ethernet terminal, it is important to set the correct output resolution via VNC depending on the ET model. B-Primis display controllers do not have this setting, their resolution is fixed and corresponds to the resolution of an Ethernet terminal of the same size.

ET1003: QVGA 320x240 3,5 Zoll (CC-Series, MC-Series)
ET/DC-Pro 4,3": WQVGA 480x272 4,3 Zoll (CC-Series, MC-Pro)
ET1005: VGA 640x480 5,7 Zoll (CC-Series, MC-Series)
ET/DC-Pro 7": WVGA 800x480 7 Zoll (CC-Series, MC-Series) 
ET1010: VGA 640x480 10,4 Zoll (CC-Series, MC-Serie
ET/DC-Prime 10,1": WXGA 1280x800 10,1 Zoll (CC-Series, MC-Pro)
ET/DC-Pro 15,6": WXGA 1366x768 15,6 Zoll (CC-Series, MC-Pro)
ET/DC-Prime 15,6": FHD 1920x1080 15,6 Zoll (CC-Series, MC-Pro)
PC VNC Client: SVGA 800x600 (CC-Series, MC-Series) 
PC VNC Client: XGA 1024x768 (CC-Series, MC-Pro)


8. Where can I get CODESYS + Target?

Depending Depending on the customer's order, the Berghof PLC comes with a data carrier on which the current target and the matching CODESYS version are located. Alternatively, it is also possible to download the current target package, firmware and the matching CODESYS version in the closed download area.


The Target Package is part of the Berghof Target License, which must be purchased separately and is not free of charge! Access to the closed download area is only granted to customers who have demonstrably purchased a Berghof Target license.

9. What Berghof target licenses are available?

Berghof offers two different Target licenses with different services:

Berghof Target single license:

  • One-time provision of the Target Package in the version current at the time of ordering.
  • Installation only on one PC
  • No updates and no access to the closed download area
  • Basic support only via email

Berghof Target company license:

  • One-time purchase and validity for the entire company
  • Installation on any number of PCs, within the company
  • Future updates and access to the closed download area
  • Extended support via phone and email

10. Where can I find manuals for the Berghof devices?

Depending on the customer's order, the Berghof PLC comes with a data carrier containing the manuals, data sheets and instructions for the hardware. It is also possible to simply download the manuals and data sheets from the respective product pages on the Berghof Automation homepage.

11. Why you should not use the latest version of CODESYS during the initial setup?

A Berghof release always appears as a set consisting of a Target, a firmware and a matching CODESYS version as a kind of closed or bundled system. The Berghof target is always linked to specific library and compiler versions. These versions are the prerequisite for the system to function. If only the latest version of CODESYS is used in which required library - and compiler versions are newer than the target requires, the correct function of the program can no longer be guaranteed.

12. Should you update your system?

It is generally recommended that if you have a stable running system, which meets your needs, do not update or change it. Berghof maintains and update its systems continuously and an upgrade to an official release can be carried out.

13. When can I update my system?

The system should only be updated with official releases from Berghof. Upon an official release all registered customers in our database receive a change notification via email. Then, the updates can be easily downloaded via the Berghof Download area from our homepage.

14. How do I update correctly?

A clean performed updating is essential for the project to function properly after the update.
When updating, the procedure is as follows.

  • Firmware update of the PLC
  • Update of the installed CODESYS version with the new official Berghof CODESYS version
  • Installation of the new Berghof Target using the Package Manager
  • Update of the project (target, devices, compiler version, libraries, visualization profile, etc.)
  • Save the project under a new name with the new CODESYS version

15. Can I update without consideration?

In general, an update of the system is possible, provided it is an official Berghof release.
However, it is also recommended to install a CODESYS update first on a separate computer or in a VM in order to carry out initial tests. The project update should be done with a copy of the project and tested for function in general first. If all works out, the project copy can be set as the new main project.

16. My firmware version is different to my target version?

If the firmware version is newer than the installed target version, this is not a problem in the first instance, our firmware versions are mostly compatible to older Target & CODESYS versions, but a smooth function cannot be guaranteed with version mixing. In general, it is strongly recommended to perform a complete function test of the application with such constellations. If the firmware version is older than the installed target version, downloading the project is no longer possible, in this case either an update of the PLC firmware or a downgrade of the target must be carried out, where in this case a firmware update is recommended.

17. Can I update my CODESYS version with an unofficial release?

With this question it depends on how the project is used after an update of the CODESYS version.

In the case of an already existing installation of a released version, an update of the CODESYS version is trouble-free as long as the project remains at its existing status and is not updated.

So you can use bugfixes or new features in the CODESYS development environment without endangering your project. However, caution is advised with new projects as the latest versions of devices, libraries, compilers and visualization profiles are automatically attracted here. These have to be reset manually at the beginning of the project.

If the new CODESYS version is also to be used to the extent that the project is also updated, one should proceed with caution here. Versions that have not been released should only be installed on a separate PC or VM and projects should be backed up. In this separate test environment, an update can be made and tried without hesitation. In our experience, updates within a ServicePack version to higher patch versions are compatible with each other. Jumps in the ServicePack version can work, here it depends on the changes, new features such as a new visualization element are not supported without update of the Berghof hardware.

In general, Berghof only recommends updates when an official release has been made.

Berghof generally only gives a function guarantee on official releases, deviating installations are on your own risk.

If you urgently need a particular update, please contact Berghof customer support first.

18. What is a target?

The target can be described as a link between CODESYS and the Berghof plcs, which allows CODESYS to recognize a Berghof plc correctly and to communicate with it. Components of a target package are device descriptions for the plc, device descriptions for I/Os and device specific external executables or libraries for use in projects. The target is always linked to certain standard libraries of CODESYS which must be installed to be able to successfully log into a controller. For this reason, the target must always be used in conjunction with the matching CODESYS version.

19. How do I setup a Berghof PLC for the first time?

For an initial setup of a Berghof control CODESYS is not needed. It is recommended to have the manual at hand, however, the basic connection instructions can be found on the housing of the controller.
The controller requires a 24V DC power source to be able to run.
The wiring of a 24V cable to the connector for the 24V on the controller must be done manually by the user. Please ask our sales team if all needed connectors are supplied with the controller. All power sources must be turned off during of wiring.

20. How do I switch on a Berghof controller?

The plc does not have a power switch, this means if you connect 24V DC to the power connector the plc turns on automatically and if the power is cut, the plc is off.

21. Does the Berghof PLC has a power reserve?

Berghof controllers have a small power reserve of about 10ms if the power supply is interrupted. This prevents the plc from restarting if the power is interrupted and returns within this time frame.

22. What will happen if I switch polarity of the power supply of a Berghof PLC?

Nothing will happen, all Berghof devices have a built-in polarity protection and the device simply remains off. The device will not be damaged.

23. I have setup the PLC and it is power on, what`s next?

The next step is setup the IP adress of the pc or laptop to one in the same subnet as the plc and then enter web interface to change all settings as needed. After that it is time to open CODESYS, create or open a project and login into the plc.

24. Does the Berghof PLC have LED signals?

In the rare case that a controller does not react after switching on and you cannot connect to it, there is still the possibility to read the system status from the LEDs. The LED signalling is based on the system and CODESYS states. As long as CODESYS is not active, the firmware controls the LEDs. As soon as CODESYS is active, the LEDs are exclusively operated by the CODESYS Runtime.

25. What is the meaning of the LED signals?

System States:

RUN/STOP (yellow/off) Description
off Bootloader active
off Linux bootup active
yellow System is powered with undervoltage (from FW 1.6.0 and newer)
yellow 1x blink, 2s pause Maintenance mode active
yellow blinking slow intervall (1s) USB update active
yellow blinking fast intervall (400 ms) Device runs in RAM (firmwareupdate active)
yellow 2x blinks, 2s pause Device need reboot (e.g. USB update done)
red or green For PLC devices: CODESYS running, see CODESYS states
green For visu terminal: Visu (VNC/WEB) active

CODESYS states:

RUN/STOP (green/red)
ERROR (red) Description
red off At least one PLC application is stopped
red off All PLC applications are stopped
green off All PLC applications are running
red red At least one PLC application stopped due to error
red blinking - Preparing for RESET COLD
? off Wait for peripheral (e.g. Retain/Undervoltage, Ethernet Initialization, ...)


26. How can I connect the PLC to my PC?

For everyday use the plc has an Ethernet port which can either be connected to the PC directly or to a network switch. For a direct Ethernet connection no special cable is needed, all Berghof plc’s support the auto-crossing feature. However the Ethernet settings on the plc and on the PC have to be correct in order for both devices to be able to connect.

27. The PLC has multiple Ethernet-ports, which one do I use?

For controllers which have more than one Ethernet port, the standard Ethernet interface (ETH0) the first port.
On models like CC-Lite, MC-Classic, MC-Pro which have only one Ethernet port this is the ETH0.
On the models DC-Pro, DC Prime and CC-Slim this is the port with the designation X4.
On the CC-Prime models this is the port with the designation X10, but alternatively X11 and X12 can also be used here because X10-X12 is a switch integrated in the controller and connect to the same Ethernet interface.

28. Why are there multiple ethernet-interfaces?

The second Ethernet interface (ETH1), X5 on the DC-Pro, DC Prime and CC-Slim models and X13 on the Mo-dellen CC-Prime models, is primarily intended as a fieldbus interface. In the standard setting of the controller, this interface is configured as an EtherCAT port, alternatively, it can also be configured for Profinet Device or a statoc port.

29. Is it possible to use the second Ethernet-interface as a standard network - or service-interface?

This is possible with restrictions. Both interfaces (ETH0 and ETH1) are independent of each other and can also be configured differently (see 1.38 and 1.39). If no Ethernet based fieldbus is required with exclusive access to the interface, the second Ethernet interface can be set as a normal network interface. However, only IP and netmask can be set as a direct connection with the PC as service and programming interface.

30. What is the default IP address?

If you have a Berghof display controller, the current IP address of the first Ethernet port is shown on screen.
Every Berghof PLC is shipped with a default IP address.
The default address is: 169.254.255.XX
Where XX denotes the last two digits of the device serial number.


Exception 1: If XX = 00, then the IP address is
Exception 2: If XX = 0X, then the IP address is 169.254.255.X, X is the last digit of the devices serial number.
The network mask is always set to

Please note that for a successful connection to a PC, the PC also needs to have an IP address with the range of 169.254.255.xxx and the network mask must be Both devices cannot have the same IP address!


31. What can I do if I forgot the IP address of a PLC?

If the problem occurs that you have a displayless controller where the IP address is no longer known, there are two ways to get access to the controller again.
The most common method is the so called Maintenance Mode. Among other things, as long as this mode is active, the controller can be accessed again via the default IP, no matter which IP address was set before. After a restart, however, the set IP address is active again.
The other method is via the Berghof USB update functionality (see from 1.65), with a prepared USB stick which only changes the IP address.

32. What is the maintenance mode and how can I activate it?

The maintenance mode can be compared to the safe mode of Windows. In this mode only a barebone system is started on the plc, the application and other services remain deactivated.
To activate the maintenance mode, the plc has to be turned off and then the following steps have to be performed:

  • Press and hold the button S1 (Run/Stop).
  • Now the plc has to be turned on.
  • After a short wait the Run/Stop LED starts to blink slowly.
  • The button can be released.
  • The first ethernet port (eth0) of the plc has now the default IP address for as long as the maintenance mode is active. The web interface should now be reachable again via a known IP address.
  • After a reboot all changes made through the web interface to the plc’s configuration while the maintenance mode was active carry over into normal operation of the controller.
  • The plc can now be used again.

33. How can I reset my PLC to default configuration?

The PLC can be reset to default configuration in the two following ways:

  • You use the web interface menu “Configuration Reset” (s.1.45)
  • You use the USB update script (s.1.71)

34. How can I transfer files manually onto my Berghof PLC?

The most convenient method to transfer files manually on the plc is by using FTP. For that the FTP Server must be activated in the plc config (s.1.43). To connect to the FTP Server of the PLC a FTP Program (CoreFTP, FileZilla, TotalCommander) must be used, it is not possible to access the FTP Server via browser or explorer. The FTP address is the IP of the plc, the standard port for FTP is 21. To log in the “root” user and the matching password (s. 1.44) have to be used.
After the connection is established, you will be located in the “root” folder inside the main directory of the plc, from here it is possible to browse through the file system of the plc similar to a PC.
It is very important to be catious not to change any of the basic directory and file structure on the plc, in the worst case the CODESYS Runtime will not be executed anymore.
The relevant filepath for the normal user is ”/flash/plc/applications/”, in this directory everything application related is stored, e.g. CODESYS Config., Bootapplications, Visu files, Logging files etc. Also all files created by the application without a specific filepath will be found here. Over the FTP Program it is then possible to create new sub-directories, to load selected files from the plc or to write new files on the plc.


When using the FTP file transfer the transfer-type has to be considered. Only when using the ‘binary’ transfer-type the files will not be changed. If the transfer-type ‘ascii‘ is selected the files will be changed resulting in corrupted files on the plc or PC.

35. How do you transfer new font files onto the Berghof PLC?

To transfer fonts onto the controller, the needed font file (*.ttf) has to be loaded into the anticipated directory on the controller. The anticipated directory for fonts is „/flash/plc/applications/fonts/“. The “fonts” subdirectory is not generated by default on the controller and has to be created manually by the user before loading the first font file onto the controller.

For that connect to the plc via FTP (s. 1.34), and navigate to the “applications” folder, and create a new sub folder and name it “fonts”. After creating the “fonts” folder load the wanted font files (*.ttf) into “fonts” and restart the controller

(s. 1.48). When the folder "fonts" has been created, fonts have to be stored in it, because with an empty "fonts" folder the target visualization will not find any font and therefore will not display any font. After the restart the newly loaded font file can be seen listed in the Fonts overview in the Webinterface (s. 1.57).


The system requires that the file extension of the font file names are in lower case letters, otherwise the system will not recognise the font files when it starts.

For example: the Arial Unicode MS fonts has to be named „ARIALUNI.ttf“, not „ARIALUNI.TTF“ nor „ARIALUNI.Ttf“, file names with these spellings will not be found.


36. What is the web interface?

The web interface is the web based configuration menu of nearly all Berghof controllers. A web server is running on the plc which allows the use of HTML5 compatible browser to change the configuration of the plc. Depending on the plc model some or all of the following configuration options are available: network settings, sc card, VNC, FTP, clock, user management and more. It is possible to view the system and plc logs and check the activity of the device. Furthermore firmware updates can be done this through the web interface as well as system resets and starting and stopping of the application on the controller.

37. How can I reach the web interface?

To reach the web interface of a Berghof plc with a web browser both devices, the development computer and the plc, have to be in the same network. If this is the case the web interface can be reached by entering the IP address of the plc into a browser and a login screen with the Berghof logo should appear. After a successful login the configuration menu of the plc’s web interface is shown.

38. How can I change the IP adress using the web interface?

To change the IP address of a plc, first you have to login into web interface.
In the left side menu under Configuration click on the menu entry Network to reach the network settings.
To change the IP address of the plc write the new address in the textfield under the section ETH0. Do the same thing with the netmask text field, put the network mask here. Leave the Mode setting on static. Are all changes complete, click on the Save button to save the changes permanently.
The plc has to be restarted for the new IP address to take effect.


39. What can be changed over the web interface in the network configuration?

The network configuration is devided into three sections:

Common configuration, here the networkname of the plc can be set as well as the DNS Server addresses.


ETH0 and ETH1:
Primary Ethernet interface for the controller.
In mode, a distinction can be made between:

"static"                   for a fixed configuration - parameters IP, netmask and for ETH0 the gateway can be set.

"dhcp"                    for dynamic configuration via DHCP server

"inactive"               to disable this interface

"ethecat"                sets the interface to EtherCAT mode, can no longer be used for normal TCP/IP communication.

"profinet device"    sets the interface to Profinet Device mode, can no longer be used for normal TCP/IP communication


ETH0:1 and ETH1:1

Virtual extensions of the eth0 and eth1 network interfaces, which enable a second static IP address to be set for the respective network interface, e.g. for separate service access. Can only be used in Mode: static and the IP must have a different IP range than the basic interface. Cannot be activated when Mode ethercat is active on the base interface.

40. How can I change the time over the web interface?

Date (Timezone: UTC):

This is the the Real-time-clock of the plc, which is also used as the UTC timezone. If timezones are of no relevance inside the application, the time can be changed here directly.
To change the Real-time-clock, just edit the values inside the textfields and save the changes via the Button „Change Time and Date“. After the time change the plc does not have to be rebooted.


Additionally it is possible to the a timezone for the time. The timezone is seen as an offset value to the UTC.
It has to be considered that CODESYS always reads back the real-time-clock for timestamps when using system functions.
The offset of the configured time zone has to be added manually by the programmer. To set a time zone, first set the current UTC time under time zone UTC and save. Then select the desired zone from the drop-down list and save the setting with the "Change Timezone" button. The plc does not have to be rebooted.

41. How can I change the VNC resolution over the web interface?

In the VNC menu you can change the resolution and the color depth on the plc. These setting can only be found on Berghof Ethernet Controllers (EC/ECC). You select the required value for resoluation and colodepth out of the dropdownlist and save the changes via the Button „Change“.

The plc has to be rebooted so that the changes take effect.

42. How can I change the display settings using the web interface?

The menu entry Display allows you to change the settings of the build-in display of Display Controllers. In contrast to the VNC settings of other plc models, there is no resolution to choose. The native resolution of the display will be used which is specified in technical documents of the device.

This setting allows changing the display brightness. The value can be chosen from the drop down list and saved with a click on the button “Change”.

Touch Calibration:
A click on the button “Delete Calibration” will delete the touch screen calibration data. A reboot is needed to activate the calibration routine on the Dialog Controller. Follow the instructions on screen.

Splash Screen:
The splash screen is the image that is shown when the Dialog Controller is turned on and can be changed using this option. The image file must be a PNG file (max. 32bit colors) and should not exceed the screen resolution of the device. Using the button “Browse” a window opens which allows you to choose the image file on the pc. A click on the button “Send” will transfer the image to the controller and at the next reboot the new image will appear on the screen.

43. How can I activate the FTP server using the web interface?

Every Berghof controller has an integrated FTP server. The menu entry FTP-Server in the Configuration menu allows the user to choose from a drop down list to either “enable” or “disable” the FTP server.
A click on the button “Save” saves the changes and after a reboot the changes will be active. The FTP server can be reached via any conventional FTP tool through the IP address of the controller with TCP port 21 and is the easiest way to exchange files with the controller. However no encrypted (sftp) connection is possible.

44. How can I change the user passwords using the web interface?

Berghof controllers have a number of standard users with different access rights. This is rele-vant for logging into the controller via web interface and FTP. To protect the controller from unauthorized access, the passwords can be changed in the menu item "User Management". User names cannot be changed. To change a password, click in the text field of the password matching the user and enter his new password. To save the password, click on the symbol with the green arrows in the "Change" column. The password must be changed individually for each user. After that a restart is necessary.
Berghof recommends all customers to change the standard passwords after receiving the hardware in order to prevent unauthorized access.

45. How can I reset the configuration using the web interface?

If it is required to reset the already changed configuration back to defauft, you go to the menu “Configuration Reset” in the web interface. You check the box at “Reset all Settings to factory defaults” and push the button “Reset Module”. Afterwards the plc has to be rebooted. Also, when executing a “Configuration Reset”, only the configuration is set to default, an application or other files that are on the system flash memory remain unchanged

46. How can I look at system information using the web interface?

he system information can be seen easy in a comfortable overview in the menu “System Info” in the web interface.
Following Informations are displayed:


  • Part-Name
  • Part-Number
  • Hardware-Revision
  • FDT-Version (device description)
  • Firmware-Version
  • Supported Codesys-Version
  • Installed licenses
  • System Operation Time
  • Time since last system bootup
  • Overview CPU Temperature
  • Overview System Temperature
  • Memory (RAM) usage


47. How can I perform an update using the web interface?

Berghof controllers provide the option in the web interface to perfom updates later on. By that it is easily possible to install a firmware or a license on the controller afterwards. All update files for our controller are so called “TGZ” archive files, which can be acquired from the downloadarea of our homepage or from the Technical Support.

In the web interface menu “Package Update” you push the “Browse” button which

opens a file dialog, in this file dialog you have to state the filepath to the needed TGZ file. With the “Send” Button the archive is  now downloaded onto the controller. After the archive has been fully transferred, an information overview for the transferred archive and what it includes appears. By pushing the “Start” button the Update procedure is initiated, depending on the size of the TGZ file the update may take from several seconds to two minutes to finish. Never turn off the PLC during the update procedure. During the update procedure it might happen that the browser loses the connection to the controller, this is no problem just refresh the browser manually and the update procedure will reappear. When the message “System has to be rebooted” appears, it is indicated that the update is completed. Afterwards the controller has to be rebooted, for the update to take effect


48. How can I reboot the PLC using the web interface?

For the majority of the configuration or when performing an update, the PLC has to be rebooted for the changed to take effect. In order to not turn off the power every time to perform a reboot, this feature can be found in the web interface of the PLC.

In the menu “System Reboot” you can initiate a reboot by pushing the button “Reboot Mnodule”. The message Rebooting module, session will be closed…“ will appear and after about 30 sec. you can be redirected to the login page by klicking on “Back to Login”

49. Can I influence the behavior of the application using the web interface?

Generally, only CODESYS V3 together with the project file has the possibility to actively take influence on an application saved on the PLC. But Berghof PLCs also offer the basic functionality for application control over the web interface. It is possible to start, stop, reset and delete a saved application. Additionally it is possible to only delete the retain memory, to create a backup of the whole application folder and further options. Optionen.

50. How can I start, stop and reset my application using the web interface?

In the menu “PLC Control” of the webinterface you can find the control elements for the application. The control interface is divided into four different units.
The first unit shows the current runtime state of the application.

Following stati are possible:

  • AS_RUN:                                             Application present and running
  • AS_STOP:                                           Application present and stopped
  • AS_NO_APPLICATION:                         confirmation after successful “Reset Origin”
  • EXCEPTION_XXX:                                Application stopped with exception, XXX stand for the cause of exception

The two middle untis contain the control elements for the appclicatoin

  • Start All Applications:          Start all present application(s)
  • Stop All Applications:          Stop all present applications(s)
  • Reset Warm:                      Application is reset and stopped, retain variables remain
  • Reset Cold:                        Application is reset and stopped, retain variables are also reset
  • Reset Origins:                     Application is deleted, all other files in the application folder on the PLC remain

The last unit includes the options to delete certain areas of the application.

Following options can be chosen:

Erase CODESYS application configuration and all files in the plc folder:         
deletes the whole content inside the application folder located of the flash memory of the PLC, including CODESYS configuration files.

Erase CODESYS retain area:                                                                                                                                                                             
resets only the retain memory, the application and files inside the application folder remain unchanged.

51. What are the settings in PLC Configuration?

The menu "PLC Configuration" offers extended settings concerning the application functionality and make the PLC more diverse

PLC application on SD-Card:

This setting, once activated, allows running the application from an SD card instead of the internal flash memory. The application and all needed files will be stored on the SD card. This setting helps if the application gets to big and no longer fits into the internal memory or if an easy swap of a plc is needed. Simply insert the SD card into a new plc, activate this setting and the application starts normally.

Warning! This feature can only be used with a specially prepared SD card from Berghof. Normal SD cards from the local electronics store will only be recognized as massstorage device, but not as a system device. If this option is activated without a proper SD card being present, the CODESYS runtime on the plc will not start and it is not possible to load an application! However the web interface will remain active and the setting can be disabled.

XBIO Watchdog is triggered by code in application:

This setting allows deactivating the automatic watchdog trigger for the onboard I/O and instead it has to be triggered from the application. This option is intended for adavanced users only and is for special circumstances only. It is recommended to leave this setting unchecked..

52. How can I find out which application is running on the controller using the web interface?

The menu "PLC info" (PLC-Manager -> Application INfo) reads the application information from the application on the controller and
shows it to the user. With one glance it is possible to see which application is currently running on the plc:

The follwing information is always displayed:

Applicationname: Name of the application of the CODESYS project
Status: The current state as shown in "PLC Control"
Project ID: The ID which was generated by the system
Projectname: This name is taken from the project file name
Projectprofile: CODESYS version which was used to compile the project
Exception (ID): Additional information if there was an exception error in the application

The following information has to be entered manually into the project information inside the CODESYS application in order for the web interface to display the contents:

Projectauthor:  Person or company who made the application
Projectversion: Version number of the application
Projectdescription: A short description of the application to let the user know what it does

53. Can I use the web interface to find out which files are present in the application folder on the controller?

Berghof plc’s use Linux as operating system on which the CODESYS runtime is executed. Because of this there is a filesystem present on the controller just like on a PC. All relevant files needed to run an application on the plc are stored in one folder, the so called application folder. The web interface offers the possibility to display all files which are located in the application folder even if they are located in sub-folders. Additionally it is possible to click on each of those files and download them through the browser and store them locally on a PC or Laptop for example. However it is not possible to upload a file to the plc this way, this is done differently (s. 1.34). 

54. How can I create a backup of my application using the web interface?

Berghof PLCs have functionality to create a backup image from a running application.This image can be used to restore the application back to a running state in case an error should appear or to equip multiple with the same application. The restore can be performed either over the Berghof USB update script (s. 1.73) or directly over the web interface (s. 1.55). CODESYS is not needed for the restore.
By clicking on the Button “Download folder from PLC”, the plc is going to prepare a TGZ-archive for download. Depending on the size of the application folder this process may take from several seconds up to several minutes. After finishing the archive creating the webinterface will show a hyperlink to the file “plcapplication.tgz”, which can be downloaded.

55. How can I restore my application with a backup using the web interface?

To restore an available backup image using the web interface the plc has to be in state “AS_STOP”, otherwise the button “Upload folder to PLC” will be deactivated. When the plc is in state “AS_STOP” you can click on the button “Upload folder to PLC” and the web interface will show the menu “Package Update”. By using the “Browse” functionality you select the “plcapplication.tgz” and download it to the plc with “Send” and by “Start” you begin the restore (s.1.47). Please consider that the saved application on the plc will be overwritten. When files are in the application folder and in the image, the image file will overwrite the existing files without prompt! Files tha are in the application folder but not in the image will be kept, but might be without any functionality depending on the application. After the upload of the backup image is finished a restart must be performed for the changes to take effect.

56. Can I delete all files in the application folder using the web interface?

The last function at the end of the file list in the menu “Application Files” is a deletion of all files in the afore mentioned list. The button “Clean Folder” just like the Upload button is disabled as long as the plc has the state “AS_RUN”. When the PLC is stopped, the "Clean folder" button can be used to initiate the deletion process.

57. How can I check which fonts are on my Berghof PLC using the web interface?

In the menu “Font Files Download” of the web interface it is possible to list the fonts which are currently on the plc.
The menu is divided into two sub units.
The standard fonts of the plc are listed in “System Fonts”, these fonts are installed on the plc by default and can always be used. It is not possible to change or delete the system fonts.
The fonts that were copied in “PLC Fonts” by the user onto the plc are listed in “PLC Fonts”, this list can be extended with new fonts as long as there is enough free memory on the plc.
Only TrueType fonts (*.ttf) are supported in the four standard display modes Regular, Bold, Italic and Bold Italic.    


58. What diagnose functionality do i have using the web interface?

Berghof PLCs offer different diagnose functionilaty for the whole plc system over the web interface.
There are diagnosing loggings for the CODESYS runtime, plc system, hardware interfaces and memory.
As all loggings are displayed in Linux-format it might be difficult for unexperienced users to understand these logs.
Therefore the plc offers the option to create an image of all the relevant logs in case of an error. This log image can then be sent to Berghof for further analysis.

59. What information is the PLC Diag page showing me?

In the “PLC Diag” menu you can see the logging information of the CODESYS Runtime. Everything CODESYS related as login or logout, application download as well as information of the running application.
Is there an error, where e.g. the plc suddenly stops, it is possible to see the cause in the “PLC Diag”.

60. What information is the System Log page showing me?

On the “System Log” page you can see the logging information of the plc system, which is divided into two categories.
"System Log", in the upper half shows the standard Linux console, here information is displayed which can be relevant outside the CODESYS Runtime, e.g. boot process, system status, network access, bug information etc. "System Log" is
used for extended information retrieval in case of controller failure.
"System Diag" in the lower half shows the logging to the complete system, where information such as retain accesses, changes and states of the CODESYS runtime, boot and power fail times and any actions performed by the user via the web interface or hardware buttons on the controller are recorded..


61. What information is the Ethernet page showing?

The “Ethernet” page displays information of the ehternet interfaces on the respective Berghof PLC. Again, the information is displayed Linux-format.
You can read information like the MAC-address, configured IP, netmask as well as received and transmitted bytes, etc.


62. What information is the CAN page showing?

The “CAN” page displays information of the ehternet interfaces on the respective Berghof PLC. Again, the information is displayed Linux-format.
You can read information like the BUS-Status, configured Baudrate, as well as received and transmitted bytes, etc.


63. What information is the File System Usage page showing?

The “File System Usage” page displays information of the available memory on the respective Berghof PLC. Again, the information is displayed Linux-format. The relevant information for the user is the available flash memory of the plc, which can be seen in the picture inside the green frame. You can check here the, for the user available flash memory, and how much capacity is used and unused. 

In case of a plugged in SD-Card, an extra log will be added, which is framed blue in the picture, this log has the same information as the log for the flash memory.

All other logs are only relevant for the system and can be ignored by the user.


64. How can I create a System Log image archieve using the web interface?

In order to provide useful support, in case an error occurs with an unknown cause at the first sight, Berghof PLCs have the functionality to create an image archive of the whole diagnosing log.

This archive can then be sent to Berghof for further analysis.

To create the archive you have to open the “System Dump” page in the web interface. Here you just have to click on the button “Create and Save Dump File” and the plc start the archive creation automatically.

The creation might take several minutes. After the archive is created the download dialog of your browser will open automatically and the archive can be saved on a pc.



65. What is the USB update script?

The USB update script is a Berghof exclusive feature which allows the user to perform config updates, application upates, file copies on the plc or firmware updates by using only am USB thump drive without the use of the web interface or CODESYS.

66. How do I use the USB update script?

The USB update script is a predefined folder structure inside the main update folder “usbupdate-mx6”.

Which actions will be perfomed is defined inside the “usbupdate.ini” INI-file. This is INI-file is preconfigured, the user only has to define the actions that should be perfomed with “yes” or “no”.Every sub folder inside the main folder stands for one function, if additional files are needed for this function; they must be loaded into the respective sub folder. Depending on the subfolder there might be additional INI-files for extended configuration, which need to be edited, too. On chapter 1.68 - 1.73 you can see how the individual functions can be configured. After the USB update script files have been edited, the whole “usbupdate-mx6” main folder has to be copied into the root directory of an USB thumb drive. It has to be considered that the USB thumb drive must be formatted with the FAT32 file system in order to be recognized by the PLC. The USB thumb drive then, has to be plugged into the USB port of the PLC. When the USB thumb drive is plugged, power on the PLC. If a PLC with display is used you will see linux console output on the display indicating that the USB thumb drive has been recognized and that the USB update script is active.If a PLC without display is used, you have to check the state LEDs of the plc. If the USB thumb drive has been recongnized correctly and the USB update script is active, the Run/Stop LED starts blinking orange.After the whole script has been run through, the PLC will reboot automatically, then USB thumb drive can be removed then.


When using the USB update script, basic knowledge of the structure and syntax of INI configuration files is necessary! A falsly configured INI-file can cause that the USB thumb drive has no effect, that individual configurations are not performed or that the PLC will have a wrong configuration which might lead to unexpected incidents. Further information to the structuce of INI-files can be found here: https://en.wikipedia.org/wiki/INI_file

67. What is the usbupdate.ini and how do I use it?

The “usbupdate.ini” is the main configuration file for the USB update script. Here you set which functions of the USB updates should be performed and which should be left out.
The “usbupdate.ini” is divided in five sections and in every section there it at least one key.
For every section and every key, there is a short description in English.
Almost every key inside the “usbupdate.ini” has either “yes” or “no” as a value, indicating if the function should be performed or not. Some keys will need a filename as a value.
The following five sections are available:

  • [firmware]:        Settings for a USB Firmware Up - or Downgrade
  • [webtheme]:     Settings to exchange the company logo inside the web interface
  • [splashscreen]:  Settings to exchange the shown picture at the bootup of a PLC with display
  • [sysconfig]:       Settings to perform a system configuration
  • [plcapp]:           Settings to perform an application update or a file copy

Every section is related to a folder with the same name insider the “usbupdate-mx6” main folder. Every file that is needed for the each of the functions has to be copied into the related sub folder. As the “usbupdate.ini” is technically a regular textfile, that has a special textformat it can be edited with every texteditor tool. It is recommended that you use an editor tool that recognizes the INI-format and that shows the text format correctly, like the Notepad++.

Every section and the keys inside the section are, except the file names, independent from each other and can be combined freely. Still, it is strongly recommended to not change the order of the functions and keep the default order.

With the free configuration it is possible to create an USB update that changes only on setting, or copies files onto the PLC afterwards without doing an application update. The user can choose the functionality freely and can also create different USB updates for different purposes.

The functions can be set easily by working through the “usbupdate.ini” and enter either “yes” or “no” at the keys.

After the all settings are edited as wished, you save the “usbupdate.ini” and copy the neseccary files into the section sub folders.

68. Which settings can I edit in the firmware section?

The firmware section includes two keys:

  • do_update: Firmware up/downgrade -> yes/no
  • firmware_name: Exact filename of the firmware file -> e.g. firmware_mx6-plc_1.5.0.tgz
    The firmware file must be located inside “firmware” subfolder

69. Which settings can I edit in the webtheme section?

Die Webtheme-Section includes one key:

  • do_update_webtheme: exchange logo in the web interface -> yes/no

The logo must be a gif-picture, has to be named “logo.gif” and must be located in the “webtheme” subfolder.
The logo will be automatically scaled when shown in the web interface, but we still recommend create the picture file in a resoluation that fits the requirements.

70. Which settings can I edit in the splashscreen section?

The splashscreen section includes one key:

  • do_update_splashscreen: exchange the logo from the bootscreen -> yes/no

The splashscreen settings are only relevant for PLCs with display or E-Terminals.
If this option is set on PLCs without display, this step will be skipped.
The screen must be a png-picture, has to be named “splash.png” and must be located in the “splashscreen” subfolder.
The screen won’t be automatically scaled when shown, therefore the splashcreen picture file has to be created with the according resolution.

71. Which settings can I edit in the sysconfig section?

The sysconfig section includes three keys:


  • do_reset_syscfg_to_factory_defaults:                           reset existing configuration of the PLC -> yes/no
  • do_sysconfig_from_file:                                               load configuration from the USB update into the PLC -> yes/no


The configuration of the PLC is set in a separate INI-file, which settings exactly can be edited in this “configuration.ini” can be seen in chapter 1.72.

The edited config file “configuration.ini” must be located in the “sysconfig” subfolder.


  • replace_config_file_instead_of_merge:                         replace existing configuration completely -> yes/no


When performing the regular configuration update over the USB update, the existing settings are either complemented or single options are overwritten, the existing configuration and the USB configuration are merged.

By activating the replace setting inside the USB update script, the existing configuration will be replaced completely by the USB configuration. Settings which are not listed inside the “configuration.ini” will be reset to their default values on the PLC. 

72. Which settings can I edit in the "configuration.ini"?

In order to perform a sysconfig over the USB update script, the “configuration.ini” must be used.
A default “configuration.ini” is always included in the initial USB update folder structure.
Generally speaking every setting that can be changed in the web interface, can also be set in the “configuration.ini”.
The default “configuration.ini”, however, contains three sections for the basic settings.
If more options for the “configuration.ini” are needed, please contact the Berghof Automation support.

The default options of the “configuration.ini” are:


Section:  [network]

  • eth0.mode:                          Mode of the interface -> “static“/ “dhcp“/ “inactive“
  • eth0.ip:                               IP adress of the interface -> z.B. ““
  • eth0.netmask:                     Netmask of the interface -> z.B. ““
  • default_gateway:                 Gateway adress of the interface -> z.B. ““


 Section:  [ftp]

  • enabled:                             activate FTP server on PLC -> “0“/“1“


Section:  [vnc]

  • screen.size:                        Resolution for the VNC server -> "480x272"/ "640x480"/ "800x480"/ "1366x768" etc.
  • screen.depth                      Color depth of the VNC visualization -> “16“/“32“


The VNC setting are only relevant for Berghof PLCs without display, that show their visualization over an E-Terminal.
PLCs with display have a fix setting for the resolution; in that case you can delete this section out of the “configuration.ini”.

73. Which settings can I edit in the plcapp section?

The plcapp section includes four keys:


  • do_clean_plcfolder:           Delete content of the application folder (/flash/plc/applications/) -> yes/no
  • do_update_plcapp:            Perform the application update or load an application backup (s. 1.54) -> yes/no
  • do_copy_plcdata:              Copy all files inside the “data” sub folder into the application folder -> yes/no


Inside the application subfolder of the USB update folder structure you can find another sub folder named “data”.

The “data” sub folder is always empty in its initial state. In this “data” folder you can now copy additional files, folders or whole folder structures, which can be loaded onto the plc, too. When the key “do_copy_plcdata” is set to “yes”, the whole content of the “data” sub folder will be copied to the “/flash/plc/applications/” folder on the PLC.


  • plcapp_name:                     Exact filename of the application backup archive -> e.g. plcapplication.tgz

Backup archive must be located in “application” sub folder.

74. I prepared an USB thumb drive but the fails, what can I do?

If the update does not start or fails, it can have several reasons. Some reasons are the following:

  • USB thumb drive is not recognized:              

Check if the used USB thumb drive is recognized and mounted correctly by the PLC.
This can be checked easily via the web interface; in the menu File System usage (s. 1.63) there should be the entry with the path: /media/USB0/1/x, after you plug in the USB thumb drive.
If this does not happen, check if the USB thumb drive is formatted in FAT32, or just try another USB thumb drive.

  • USB thumb drive is recognized but the PLC boots normally without blinking:

This happens when the “usbupdate-mx6” main folder is not found or if its content is renamed.
Check if the “usbupdate-mx6” folder is located in the root directory of the USB thumb drive and is not renamed. High and low cases in file and folder names are considered. Check that all the content inside the “usbupdate-mx6” folder is named exactly the same as named in the initial state of the USB update script.

  • USB thumb drive is recognized and starts blinking but my configuration is not set after reboot:

In this case it can be assumed that the configuration is not correct or that needed files were forgotten.
Check all the INI files, if everything was edited and saved as intended.
Check if all keys have valid values and look at the beginning of every line for “#” or “;” as lines are
commented out in the INI syntax with this symbols. Also check if every needed file is located in the correct section sub folder and if all file names are correct.

Another helpful tool for error search it a log file of the USB updated process, which is created every time the script is started without considering if the update was successful or not.
Using these log file you can check what functions have been performed and where errors occurred.
If you still cannot figure out what went wrong with your update you can also contact the Berghof Automation support. When you contact the support always append a ZIP file of the USB update folders including the log file.


75. How do I install CODESYS V3?

Run the file Setup_CODESYSV35SP_x_Patch_x.exe as administrator to start the CODESYS installation. For the installation of CODESYS V3.5 an internet connection may be required, if some required components like the Microsoft .NET Framework have to be installed additionally. If you do not know which features you need, you should perform a complete installation with all features, otherwise you can deselect some features that are not necessarily required.
Only the features CODESYS V3 and CODESYS Gateway are required in any case..


  • If you do not want to convert CODESYS V2.3 projects to V3, you can do without installing the CODESYS Converter.
  • If you do not need access to CODESYS V2.3 controllers, you can do without installing the CODESYS Gateway V2.3.
  • If you do not need an OPC Server, you can do without installing the CODESYS OPC Server 3. Please note: You can also access the controller via OPC UA without an OPC Server, but you need an OPC UA license for your controller.
  • If you do not need a software PLC for Windows to run and test projects directly under Windows, then you can do without installing the CODESYS Control Win V3.

76. Where in CODESYS do I install Berghof devices and libraries?

Additional devices or libraries whether from Berghof or another manufacturer are always installed via CODESYS in so-called "repositories". These "repositories" are a global storage location for CODESYS V3 on the hard disk. All standard devices and libraries as well as devices and libraries from other manufacturers that are installed later are located in this location and are accessible for all CODESYS V3 versions installed on the PC. The "repositories" are PC bound, i.e. for each PC on which CODESYS V3 is installed, all subsequently installed devices and libraries must be reinstalled. Each project and each user accesses it, there is no longer a direct link to a file as known from older CODESYS versions.

The two most important "repositories" in connection with our controllers are the following:

  • Device Repository             
  • Library Repository

A more detailed description of these two "repositories" can be found in sections 2.3 und 2.4.

77. What is the device repository and how do I install a device later on?

The Device repository is the archive for all control descriptions, I/O peripherals, drives and other devices installed in CODESYS V3. The repository is manufacturer and bus independent so all description formats supported by CODESYS V3 can be installed in the repository. Installed devices can then be selected in the controller configuration of CODESYS.
The repository can be opened in CODESYS V3 via the; Context menu->Tools-> Device Repository

  • Miscellaneous: for peripherals not clearly assigned to a bus. The descriptions for the integrated  I/Os in the Berghof PLC are listed here..
  • Fieldbuses: Each fieldbus periphery, whether master or slave, is sorted here.
  • In the subgroups, the devices are then arranged in their corresponding fieldbuses.
  • Logical devices: Logical I/Os for pure software linking of variables between multi-control projects, e.g. for data exchange between a normal PLC and a safety PLC inserted in the project.
  • PLCs: All controllers installed in CODESYS V3 are displayed here.
  • SoftMotion devices: Drives specially marked as Softmotion devices are listed here.
  • As with the fieldbuses, these are also categorized into subgroups for each device type and fieldbus.

To install a device later, open the device repository in CODESYS V3 and press the "Install" button. In the newly opened "Open File" dialog, navigate to the device description file and open it.
CODESYS V3 then installs the device into its repository, from then on these devices can be used in CODESYS V3.
If the file is not displayed in the destination folder, the file filter (in the dialog below right, next to the file path) is probably set to a certain format, this filter should be set to "All supported files".

78. What is the library repository and how do I install a library later on?

The library repository is the archive for all libraries installed in CODESYS V3. The repository is vendor independent so all CODESYS V3 libraries can be installed into the repository. Installed libraries can then be selected in the library management of CODESYS V3. The repository can be opened in CODESYS V3 via the: Context menu -> Tools -> Libraries Repository.

A categorization is optional on and off, additionally all installed libraries can be displayed or filtered by manufacturer.


To install a library later, open the library repository in CODESYS V3 and press the "Install" button. In the newly opened "Open File" dialog, navigate to the library file and open it.
CODESYS V3 then installs the library into its repository, from then on these libraries can be used in CODESYS V3. If the file is not displayed in the destination folder, the file filter (in the dialog below right, next to the file path) is probably set to a certain format. The formats for libraries are as follows:

  • Libraries: Normal CODESYS V3 Library file (*.library)
  • Compiled libraries: CODESYS V3 libraries which have been precompiled and saved (*.compiled-library)
  • CODESYS libraries: CODESYS V2.x libraries which can be opened under CODESYS V3 to be (if possible) converted (*.lib)

79. What is a package?

Packages are a special CODESYS V3 archieve format in which several device descriptions, libraries, sample projects, visualization styles, etc. are installed in one installation process. Packages are usually obtained from control and device manufacturers so that customers can comfortably install all required files. The Berghof Target (see 18.) is also a package and must be installed in order for CODESYS V3 to recognize Berghof devices correctly.

80. What is the Package Manager and how do I install a Package or Target-Package?

The Package Manager is similar to a repository for devices or libraries. In this repository you can see which packages are iinstalled on this PC and CODESYS V3. Unlike with devices or libraries, you don´t use these packages directly in your project, but its contents, which can then be found in the other repositories. The manager can be opened in CODESYS V3 via the: Context menu -> Tools -> Package Manager.
To install a package or the Berghof Target Package open first a new CODESYS V3 instance as administrator. If you habe also opened the Package Manager in CODESYS V3, press the "Install" button.
In the newly opened "Open File" dialog you navigate to the package file and open these. CODESYS V3 now opens a small installation menu, if you don`t know exactly what you need, you normally choose the "complete installation". After completing the package installation you will get an overview which contents of the package been installed for and in which category. These contents are then available in projects from this point on.

81. I have a question about CODESYS V3, where do I look first?

The first point of contact if you have a question about CODESYS V3 is on the PC on which CODESYS V3 is already installed. Each installation of CODESYS V3 contains the so called CODESYS Online Help. Contrary to the name this help is also available offline because all required files are stored on the hard disk. The online help is a digital documentation platform for CODESYS V3, with category display and integrated index search.
Each CODESYS standard functionality is documented here, via the user interface, settings, editors, data types, operands, programming features, viszualization elements, standard libraries, etc., and the user interface. To open the online help, simply open an instance of CODESYS V3 and press the "F1" key on your keyboard while the window is open. After a short loading time, the online help is now available and can be searched. In newer CODESYS versions it is checked whether an internet connection is available and either the help in web format inside the browser or the local help is opened.


If you select the element you want information about, whether a window, a block in a graphical editor, ST code or a visual element, and press F1, the online help opens immediately in the entries of the selected element, if there are any.

Alternatively you can finde the complete CODESYS online help in web format at: https://help.codesys.com