This is my archive

PLCnext Software Development Kit 

PLCnext Software Development Kit  Phoenix Contact recommends developing libraries and executable binaries for the different app parts on a separate PC, and not directly on the controller. For the development on a separate PC you need a tool chain consisting of an SDK and a cross compiler. One possible tool chain… Read More

Folders and PLCnext environment variables

Folders and PLCnext environment variables The following table lists environment variables on the controller, representing directories that are required for app administration. The values of these environment variables are set to the defaults shown below, using information in the file /etc/plcnext/Device.acf.settings. These default values do not need to… Read More

App installation states

App installation states PLCnext Apps must be installed and uninstalled using either the PLCnext Store or the web-based management (WBM) hosted on the controller. In the background, both the PLCnext Store and the WBM interact with the AppManager on the controller to handle the app installation and run states. A PLCnext App can have… Read More

App container 

App container  A PLCnext App is stored in a SquashFS container (see Squash FS on Wikipedia). A SquashFS container stores a folder and file structure in a single compressed file. The SquashFS containers of all installed and started apps are mounted by the AppManager in the Linux file system at… Read More

Command Line Tools 

Command Line Tools  A Command Line Tools app part makes it possible to integrate functionalities (cmd tools) into a system that are usable via the command line and that can be started from a shell without specifying the full path to the tool executable binary. Necessary additions… Read More

License check 

License check  In case of a chargeable app a license check should be integrated into the app. For this purpose the RSC service Arp::System::Lm::Services::ILicenseStatusService::GetLicenseStatus(uint32 firmCode, uint32 productCode, uint32 featureCode=0) is available. See the RSC documentation reference  in the main PLCnext Info Center. This function is integrated… Read More

Configuration of the PLCnext Runtime Services 

Configuration of the PLCnext Runtime Services  If you need access or sometimes exclusive access to PLCnext System Services in your app or a PLCnext System Service is not allowed to be running when your app run, you can state this in the “plcnextservices” field of the app_info.json. This… Read More

Building a PLCnext App

Building a PLCnext App Independent of the amount and types of your app parts the general way to build the app is always identical. The necessary changes you need to include for every app part will be detailed below the general build process. The description of each app part… Read More

Linux Daemons 

Linux Daemons  A (Linux) Daemon can be integrated into a system in the form of an app. After its activation, it is entered into the Linux system start and started independently of the runtime. A daemon that is independent of the runtime is called a “Linux Daemon”. Read More

Alternative creation of an app container on a Linux desktop PC 

Alternative creation of an app container on a Linux desktop PC  In some cases the command plcnextapp cannot be used for generating the app container, e.g. because this creation step should be integrated into a build process which cannot access a PLCnext Control. In this case the SquashFS of the app… Read More