Control Tuning

RCP Manager

RCP Manager is the EicasLab Tool specifically conceived to manage the on-field real-time Rapid Control Prototyping process.

The RCP Manager tool is available in the RCP module.

To test and validate the overall real-time software code, before transferring it in the final target, EicasLab offers a powerful RCP module, based on a Real-time Scheduler and multi-threading and multi-core programming techniques, that - starting from the control system architecture designed in EicasLab – is able to generate a special real-time software code, composed by Application Software (AS) and Basic Software (BS), to be transferred on a PC, with a Linux RTOS installed, directly connectable to the plant to be controlled.

The RCP Manager tool is the EicasLab tool which allows to perform Rapid Control Prototyping activity by allowing to test and validate the overall real-time software code, before transferring it in the final target.

RCP Manager Highlights

  • RCP on field activity carried out using a standard commercial PC equipped with Linux RTOS and EicasLab Suite
  • Powerful multi-threading and multi-core programming techniques
  • Real-time scheduling of user control software code (AS) and software code managing HW interfaces (BS)
  • Control system testing on the real plant and emulation of final HW architecture with only one PC


The design of a control system starts with a simulation phase in which the user implements the control architecture and simulates the overall designed system. The Like Real-time Simulation performed with the SIM tool gives the preliminary assessment of the control system performance.

Once the Modelling and Like Real-Time simulation phase has been performed, it is possible to carry out the RCP activity by selecting the RCP on field operative sub-mode in the MASTER tool.

In order to properly configure the Rapid Control Prototyping phase with the maximum flexibility the SIMBUILDER tool allows:

  • to choose the Linux RTOS on which the RCP will be carried out;
  • to configure the real-time scheduling, consisting in:
    • allocating each control function or a set of control functions into a thread;
    • assigning each thread to the desired core of the multi-core CPU available in the PC used for the RCP activity;
    • selecting the desired threads scheduling policy (f.i., FIFO, Round Robin, ...);
    • assigning to each thread a priority level;
    • assigning the main schedule parameters (phase, period, duration) to all the control activities;
  • to select the type of the hardware interface used for the communication with the real plant;
  • to choose the variables to record during the RCP activity for performing the offline analysis through the POST tool;
  • to customise the variables to record for repeating offline the experimental trials executed on field and for performing advanced software debugging and control tuning through the Slow Motion tool.

Multi-threading and multi-core management

In order to properly configure the thread and core assignment, the RCP module offers a very high level of flexibility by providing powerful core management and thread configuration utilities, that  together with the scheduling configuration utility - which allows to define for each control function the scheduling constraints (period and phase) - allow testing the control system on the real plant and emulating the hardware architecture of the final target, by using only one multi-core PC platform.

Hardware interface configuration and management

In order to configure the hardware interfaces for the communication with the real plant, guaranteeing high flexibility, the RCP module provides fully customisable libraries of built-in interfaces and protocols together with the possibility to create user programmed interfaces.
A set of characteristic parameters related to the hardware interfaces are required (f.i., in the case of Ethernet card it is necessary to set the IP address, the Subnet Mask, the routing table, the protocol, …) in order to load the suitable driver interface and to generate the code that pilots the selected hardware interfaces and manages the communications toward the real world.

Generation of the real-time code and Assisted Compiling Process

When the RCP has been configured, the Assisted Compiling Process may be run. During this process all the software (Application Software generated by the ACGAS module and Basic Software generated by ACG for RCP feature provided by the RCP module and based on multi-threading and multi-core programming techniques) necessary for performing the RCP activity is automatically generated, including the scripts for configuring the hardware interfaces (loading of the suitable driver and setting of the interface parameters).

The output of the Assisted Compiling Process is a real-time application - based on multi-threading and multi-core programming techniques - which will be automatically managed by RCP Manager tool and runs in real-time the overall control strategy compliant with the real-time scheduling constraints set by the user.


The RCP Manager tool is the EICASLAB tool that allows to control the overall RCP process on field.  RCP Manager is equipped with a friendly graphical user interface named  RCP Manager GUI.

The RCP Manager GUI is subdivided in sections, where a menu toolbar, a RCP control panel  and 6 wide plotting areas provide all the necessary features to configure and support the RCP process.

The RCP control panel provides a full control of the RCP process on field allowing:

  • to start and stop the RCP process;
  • to visualise, during the real-time execution, the trends of the relevant variables selected by the user in SIMBUILDER;
  • to change, during the real-time execution, some parameters defined by the user in SIMBUILDER.

In the six plotting areas the trends of a set of variables, selectable by the user in SIMBUILDER, can be plotted during the experimental trial execution. Like the SIM tool, each plotting area can contain up to four graphs, displayed with different colours, that may provide the user with a direct visual feedback on system performance.

Diagnostic reports

During the RCP execution the RCP Manager GUI displays in a devoted console window diagnostic messages for:

  • warning about problems related to the hardware interface initialization or about packets loss occurred during the communications;
  • verifying if the activity scheduling set by the user is strictly respected and warning if the execution time of a thread is greater than the assigned period;
  • providing information about the execution time of each control activity or of the whole thread.

Data recording for POST analysis

In order to analyse the control system performance, the RCP Manager tool has the capability of recording on the PC disk all the variables of interest, creating a set of data files called “POST files”, for performing offline analysis through the POST tool.

Data recording for Slow Motion

The RCP Manager tool has also the capability of recording on the PC disk all the variables necessary for the offline repetition and debugging of the experimental trial execution through the Slow Motion tool.
A smart system of buffering is used for both Data recording for POST analysis and Data recording for Slow Motion in order to avoid frequently writing on the hard disk and to minimize the writing time. In order to prevent any loss of recording samples which would affect the fully successful Slow Motion activity, the Data recording for Slow Motion task is optimised and has a higher priority with respect to the one performing the Data recording for POST analysis.

Modifying the parameters values during the experimental trial execution

The RCP Manager GUI provides a smart panel for commanding and modifying a pre-defined set of parameters during the trial execution.

Integration with the EICASLAB MPI/CPO tool

If the MPI/CPO module is enabled, the RCP Manager tool may be easily integrated with the MPI/CPO tool to allow running a smart procedure for identifying in real-time the parameters of the plant model and/or optimising in real-time the control parameters.