Store PLCnext CommunityPLCnext on LinkedInPLCnext on Instagram  PLCnext on YouTube Github PLCnext CommunityStore PLCnext Community


 How to create a Blog Entry

Find user stories of interesting ideas and solutions in this blog.
Note: The Makers Blog shows applications and user stories of community members that are not tested or reviewed by Phoenix Contact.

For questions, please go to the FORUM section and create a new entry there.

Want to add your own solution here? Just login as a registered user and click the "Create Blog entry" button. Find a short intro video by clicking the "How to create a blog entry" button. If you experience any problems with editing or publishing please contact us at This email address is being protected from spambots. You need JavaScript enabled to view it..

Only deactivate the component if you are familiar with component functions and do not need them!

Please Note:
Deactivating components also deactivates the component functions and services. For example, if the PN component is deactivated, the DCP-based services are not supported (IP address assignment or searching for PN devices in network). In the case of a PN deactivation, it is recommended to configure the project before deactivating component.

Introduction for FW >= 2021.0:

On the PLC, the file /etc/plcnext/Components.acf.settings contains a list of environment variables and their default values. Some of these environment variables are used to enable/disable various system services on the PLC.

It is possible to change the values of these environment variables, but this should not be done by editing this (or any other) system configuration file.



1. Open the directory /etc/plcnext on the PLCnext target.

2. Copy the /etc/plcnext/Components.acf.settings file to the PLC directory /opt/plcnext/appshome

3. Rename the /opt/plcnext/appshome/Components.acf.settings file to XML file with the extension .acf.settings  e.g. /opt/plcnext/appshome/Disable.acf.settings   

4. Open the /opt/plcnext/appshome/Disable.acf.settings file and delete all settings and environment variables except the environment variables, whose value should change from the default. The important attribute here is "override", which overrides the default value of the named environment variable.

The contents of this file should be structured the same as follows:


5. This step can be scipped. If the FW >= 2021.0 is used, it is not neccessary to delete the not valid connectors in file ".gds.config". 

6. Restart the PLCnext Controller via command "sudo reboot".

Here is a basic guide to installing PLCnext CLI version 2020.0 LTS on a Linux operating system, when there is an earlier version of the CLI already installed.

The procedure below assumes that there is an existing PLCnext CLI installation on the Linux host, in the directory ~/plcncli.

  1. Download the file "SDK und PLCnCLI für Linux 64-Bit" from the Downloads page for the AXC F 2152.

PLCnext Technology offers different possibilities to capture data.

Some examples:

  • PLCnext Engineer library: The function blocks for Data Logging are used to collect data of any data types and store into csv or binary files. In combination with the PLCnextBaseLibrary it is possible to copy the data to an FTP server.
  • Datalogger: A service component of the PLCnext Technology firmware. This component transfers real-time data from the GDS to a database for recording and storage purposes. When starting and stopping the PLCnext Technology firmware, the DataLogger is started and stopped automatically. XML configuration files are used for configuration of the DataLogger. The DataLogger can record data from any IN or OUT ports and variables.
  • App available in the PLCnext Store: DataLogger powered by FourZero

If you want to build something specific for your application, this blog is what you need.

For those who are unfamiliar with the details of the PLCnext architecture, the following diagram might proof helpful.


As you can see non real-time components can communicate with the PLCnext runtime via Remote Service Calls and Access to shared data with the GDS and the the Operating System APIs. There are services running on the PLC exposing a part of this functionality to the network and these are the service we are going to use to create a simple GUI-Application that will use some of the available services.

Depending on the  project at hand, sometimes there is a need to rely on Time table and schedule functionality. Especially in building applications, but can be practical in lots of situations.

Because this is really well integrated in the Emalytics (Niagara) framework (which we have on the ILC2050 BI controller), I decided to make a makersblog where I explaine the functionality of this and integrate the output of this schedule/calendar function into the AXC F 2152  via Modbus TCP.

Written by: Damian Bombeeck


In this tutorial I will show you how to download, build and install a third-party open-source library, in my case libcurl, on your PLCnext AXC F 2152 controller. I’ll go through the different steps and explain why these steps are needed, furthermore I’ll include all bash commands, pieces of code and side-notes concerning the installation. The tutorial is mainly focussed on CMake and won’t include languages as C#, JSON or Java.

"Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a few others. Use the conda install command to install 720+ additional conda packages from the Anaconda repository." This and further information could be accessed on the official Miniconda website. If some packages are not available via PIP, Miniconda could be a solution.