
The overall Rapid Control Prototyping (RCP) activity is managed by the EICASLAB RCP module, that provides a set of tools and advanced features devoted to quickly test and iterate the control strategies on a computer equipped with a real-time operating system and with real input/output devices before transferring them in the final hardware target.
THE INNOVATIVE RAPID CONTROL PROTOTYPING APPROACH IN EICASLAB
Rapid Control Prototyping or RCP is a process which lets the engineer quickly test and iterate the control strategies on a dedicated hardware equipped with a real-time operating system and with real input/output devices: the plant under control is real and the control strategy is executed in real-time in a hardware that can be commanded through a host computer where data recording capabilities for tuning and debugging purposes are required.
Nowadays the RCP activity foresees the use of different development environments and hardware boxes in order to perform the RCP process. This method forces the developers to export and to import continuously and iteratively software modules among the different environments with the risk to introduce bugs at each import/export of the source code. These conversions are often uncomfortable and the RCP process performance (cost, effort, effectiveness, etc.) can be improved by gathering all the phases into a unique development environment (HW/SW) as proposed by the innovative Rapid Control Prototyping approach introduced in EICASLAB.
The innovative EICASLAB approach is based on the idea of gathering together, all in one suite, all the control design phases (from the Modelling and Like Real-Time simulation until the Rapid Control Prototyping and concluding with the automatic generation of software for the Target) in order to avoid:
exporting/porting the control code among different software tools that can generate bugs in the exported code;
using several hardware components for different activities.
On the same PC equipped with only ONE software suite the control engineer can develop and simulate the whole system and then directly make RCP trials by piloting the real plant. He can address all the control design phases by means of a unique platform suitable for all phases.
According to the EICASLAB innovative approach the RCP activity is carried out through three steps:
RCP on field that manages the overall experimental trial executions. For performing this step the EICASLAB RCP Module provides the RCP Manager tool;
Slow Motion that allows, by means of the Slow Motion tool, the offline repetition of experimental trials executed on field for advanced debugging and tuning purposes. The Slow Motion tool is available in the EICASLAB RCP module;
SIM RCP that allows a very easy switching from real-time to the simulation environment in order to perform further analysis with the same control algorithms and configuration experimented on field. For performing this step the EICASLAB RCP Module provides the SIM RCP tool that works in a similar way than the SIM tool.
EICASLAB OUTSTANDING CHARACTERISTICS OF THE RCP ON FIELD
The final goal of EICASLAB consists in generating the real-time software code to be transferred in the final hardware network of targets that will pilot the plant to be controlled.
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.
Specifically the RCP module integrated in EICASLAB allows:
to configure and manage the interfaces of the PC platform, offering fully customisable libraries of built-in interfaces and protocols;
to configure the real-time scheduling of the overall control activities;
to execute in real-time the RCP trial piloting the plant through a specific professional tool - the RCP Manager - including an easy and friendly GUI and offering capabilities for:
controlling and managing the RCP process in real-time;
enabling diagnostic reports with the aim to warn about possible faults/problems arising during the RCP trial execution;
visualising on the screen the dynamic behaviour of the variables of interest for a real-time monitoring;
recording on the PC disk all the variables of interest for a subsequent post-analysis through the POST tool and/or for performing the offline repetition through the Slow Motion tool;
commanding and modifying parameters during the real-time execution.

EICASLAB Rapid Control Prototyping process
HOW TO CONFIGURE RCP ON FIELD
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 Rapid Control Prototyping phase 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 allocate each control function or a set of control functions into a thread, that is a unit of executable code. In a thread-based multitasking environment, all processes have one or more threads of execution;
to assign each thread to the desired core of the multi-core CPU available in the PC used for the RCP activity;
to select the desired threads scheduling policy (f.i., FIFO, Round Robin, ...);
to assign to each thread a priority level;
to schedule 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 ore 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 and Basic Software, 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 named RCP Manager tool - based on multi-threading and multi-core programming techniques - that runs the overall control strategy on field, being compliant with the real-time scheduling constraints set by the user.
THE RCP MANAGER TOOL
The RCP Manager tool, generated when the Assisted Compiling Process has been successfully completed, 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.

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 i>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.
EICASLAB RAPID CONTROL PROTOTYPING MULTI-CORE PC PLATFORM
THE TURN KEY-SOLUTION IN JUST ONE SMART COMMERCIAL PC
EICAS - as an additional service to EICASLAB users - offers a pre-packed Real-Time Rapid Control Prototyping Multi-core PC Platform with installed on-board a Linux RTOS, the EICASLAB suite - equipped with the RCP module - and all the necessary interfaces to perform RCP activity.
