New PLCnext Engineer library app: Dynamically configure your local Axioline bus

Print

A new PLCnext Engineer library app has been added to the PLCnext Store - Bus Conductor

This app can be used to configure a local PLCnext Control I/O bus, containing either Axioline or Inline I/O modules, without the need to hard-code the specific I/O configuration either directly in .tic files, or indirectly using PLCnext Engineer.

This app can be used in any application where the precise I/O configuration is not known at design-time, or must be changed dynamically at run-time. Examples include:

  1. A machine builder who uses a single PLCnext Engineer project for multiple machine configurations, where the PLC program dynamically adapts itself based on the arrangement of local I/O modules detected.

  2. A PLCnext Control used as a general-purpose RTU, data logger, or multiplexer, where the I/O arrangement must be flexible.

  3. A custom PLCnext Control run-time written in any language (e.g. C/C++, rust, node.js, python) which requires flexible local I/O, but which does not want to manipulate .tic files. This can be used by applications like Sample Runtime so that PLCnext Engineer is no longer required for I/O configuration.

The source code for this app is freely available on Github. Software developers who want to build this type of functionality into their own projects are free to use this app as a reference.

Background

On a PLCnext Control, local I/O can only be accessed through system components that are started as part of the plcnext process. The system components that handle local I/O - either Axioline or Inline - must be configured using TIC ("Technology Independent Configuration") files, which are XML files in a format defined by Phoenix Contact.

Currently the only practical method of generating a valid set of TIC files is by using PLCnext Engineer software, where the arrangement of local I/O modules must be configured manually. In the background, PLCnext Engineer generates TIC files for the specified hardware configuration, which are sent to the PLC with the PLCnext Engineer project.

Once on the PLC, TIC files are read during startup of the plcnext process. TIC files cannot be reloaded while the plcnext process is running.

This application demonstrates how to use a single set of TIC files to configure and re-configure the arrangement of local I/O modules that are connected to a PLC - without the need to manually create different I/O module arrangements in PLCnext Engineer.