

SIMBUILDER is the EICASLAB tool specifically devoted to support system modelling and control design.
The SIMBUILDER tool is available in the EICASLAB base.
SIMBUILDER OVERVIEW
The SIMBUILDER tool provides a complete and professional support to the overall control design process, offering pre-organised structures and architectures specifically devoted to system modelling and control design.

SIMBUILDER tool
A PROFESSIONAL APPROACH FOR SYSTEM MODELLING AND CONTROL DESIGN
EICASLAB has been conceived and developed as a professional software suite supporting the automatic control design in all its phases and allows developing and testing embedded control system architectures at different hierarchical levels.
SIMBUILDER offers a professional approach to the control system design, giving special attention to the control hardware and software architecture, where multi-processor and multi-level hierarchical controls are considered. The control software is subdivided into control functions allocated by the designer to the different processors. Each control function has its own sampling frequency and a time window for its execution, which are fixed by the designer.
Data can be exchanged among the control functions allocated to the same processor and among the different processors belonging to the plant control system, by considering the delay time in the data transmission.

Furthermore, SIMBUILDER provides a professional support for designing system models at different levels of accuracy by means of specific and oriented libraries containing sets of predefined models and assists the user in designing its own system models. All the features and functionalities are provided ate the user to assure a very high profile in conceiving, developing and implementing control systems.
PRE-ORGANISED WORKING AREAS
The SIMBUILDER tool is an environment where the designer can develop all the algorithms and software related to the "plant controller", including both the "automatic control" and the "trajectory generation".
To perform such a task and to facilitate the user in the design and development of the control system architecture the SIMBUILDER tool provides three main pre-organised Working Areas, specifically devoted and customised to program the different parts of the project:
the Plant Area, for modelling the plant to be controlled;
the Control Area, for the implementation of all the control algorithms;
the Mission Area, for the generation of control references and for modelling the disturbances acting on the plant.

SIMBUILDER Pre-organized areas
The Plant Area allows an accurate and efficient development of your plant models, providing a general and accurate model for the typical nonlinearities, such as the hysteresis, friction, backslash and other nonlinear effects, that typically are neglected in the control algorithm design but that may act on the frequency band of the control.
The Control Area allows developing the control system architecture and it is conceived to comply with different hardware and software architectures, including multi-processor and multi-hierarchical level control systems. In EICASLAB, the controls are organised in control functions belonging to the same processor and more processor blocks that can constitute a Processor Network.
The Mission Area is composed by two parts:
the Control Mission, devoted to generate the references of highest hierarchical level for the control.
HIERACHICAL LAYOUTS AND LIBRARIES
SIMBUILDER is focused on the concept of "Graphical Layout", that represents a graphical space devoted to system programming. A set of graphical layouts organized in hierarchical levels are available for each pre-organised Working Area (Plant Area, Control Area, Mission Area).

SIMBUILDER hierarchical layout
Each Graphical Layout is devoted to a specific task (f.i. plant modelling, control design) and it is equipped with a specific and oriented library window which contains a set of libraries composed by blocks
In particular, the user has at disposal libraries providing blocks that implement mathematical models with different levels of accuracy, taking into account nonlinear effects, such as hysteresis and friction, that are crucial and not negligible aspects in the control system design.
Moreover the SIMBUILDER tool allows the user to create its own user libraries containing user blocks programmed in graphical mode or in ANSI C language.
User libraries may be shared among EICASLAB users:
collected in archives protectable with password;
including suitable restrictions devoted to share data preserving each user Intellectual Property Right (IPR). Several kinds of restrictions are available, in order to guarantee different levels of protection, depending on the needs.
Special libraries, on purpose developed and customised for several application fields such as automotive, aerospace, robotics and machine tools, time series forecasting and industrial automation in general, are available on request and complete the wide and high professional libraries offer available in the EICASLAB Suite.
SCHEDULING
The scheduling of all the activities involved in a control system is a key task for the successful development of the control system itself.
SIMBUILDER provides a fundamental and professional support for a correct scheduling of the system in all the control design phases: it is based on time scheduling algorithms for managing multi-processor and multi-level hierarchical control architectures at any level of complexity.
The core of the time scheduling algorithms is the EICASLAB scheduler that defines the order of the operations to be executed in both Modelling and Like Real-time Simulation and Rapid Control Prototyping phases.
To correctly schedule the activities, SIMBUILDER asks the user to provide for each one:
the period, which is the sampling period of the activity;
the duration, which defines the execution time of the activity;
the phase, which determines the time at which the activity starts, with respect to the starting time (t = 0).
In order to correctly develop multi-processor and multi-level hierarchical control architectures, fully compliant with real-time system applications, the designer can allocate each control activity in different processors respecting the final architecture.
Regarding the Rapid Control Prototyping, EICASLAB implements advanced multi-threading and multi-core programming techniques that allow the user to organize the scheduled control functions in threads, that will be distributed on the cores of the multi-core CPU available in a single PC platform, adequately equipped to emulate any designed control system in real-time.

Scheduling activities
Automatic Algorithm Generation (AAG)
SIMBUILDER includes the Automatic Algorithm Generation (AAG) advanced feature, specifically oriented to design the control according to the EICAS control design methodology.
The EICAS methodology gives a specific relevance to the plant state observer - the task of which may be extended to estimate and to predict the disturbance acting on the plant - and to the reference generator, used for computing the open-loop action.
In synthesis, the control is performed by the resultant of three actions:
the open loop action, which is given by the commands necessary to track the reference signals computed on the basis of the plant simplified model;
the plant disturbance compensation, which is computed on the basis of the disturbance predicted by the plant state observer;
the closed loop action, which is computed as the action necessary to correct the plant state error with respect to the reference.
The plant disturbance compensation is an original control feature, which allows to reduce significantly the control error.
The designer can choose among three control basic schemes and for each one he has the option of selecting control algorithms at different levels of complexity.
Starting from the control system requirements and from a simplified model of the plant to be controlled, AAG automatically generates the code of the whole control algorithm.

Automatic Algorithm Generation (AAG)
PROGRAMMING MODES
For describing each Working Area SIMBUILDER provides a set of blocks that can be programmed in one of the following modes:
the graphical mode, where the block is described by means of a graphical layout programmable by inserting in it the blocks of its related library;
the ANSI C mode, where the block is easily programmable in ANSI C language by means of an open and customisable pre-organized structure that provides a complete set of template files and libraries, allowing to focus only on the specific and crucial aspects to be programmed;
the library mode, where the user can configure the block by relying on library models available in SIMBUILDER;
the library and ANSI C mode, where the block is developed through a combination of pre-defined libraries and ANSI C language programming;
the AAG mode, where the control algorithms are automatically generated by the Automatic Algorithm Generation feature above described.
The wide offer of programming modes available in SIMBUILDER provides the user with all the flexibility for programming control systems of any level of complexity.

Programming Modes: ANSI C, AAG, Graphical
CONFIGURATION MANAGEMENT
EICASLAB allows the user to create, save and load a set of configurations of its project.
SIMBUILDER offers the possibility to manage three kinds of configurations:
configurations containing all the project data and the user source code, useful as a complete project backup;
configurations containing the project data, such as all the parameters and the initial states files, useful as project data backup;
(like) real-time configurations, containing a set of scheduling data corresponding to the list of the activities that may be dynamically enabled or disabled by the user on the basis of the occurrence of a given event either during the like real-time simulation (like real-time configurations) or during the experimental trials execution (real-time configurations). The use of the (like) real-time configurations allows implementing higher hierarchical level of controls similar to discrete-event control systems. As an example, it allows to implement Fault Diagnostic Isolation Recovery (FDIR) strategies, that – in case of detected failures – exclude some components from the control strategy (the failed ones) and activate new control functions able to work under degraded conditions.

Scheduling configuration management
DATA PLOTTING AND RECORDING
During the like real-time simulation and the experimental trials execution, EICASLAB allows to visualize, on the PC screen, the dynamic behaviour of a set of predefined variables of interest, by means of the SIM tool or the RCP Manager tool. Moreover, EICASLAB allows recording on the PC disk sets of predefined variables for accurate post-processing data analysis carried out by means of the POST tool.
The selection of the variables for SIM and RCP plotting, as well as for the POST recording, is fully carried out and managed through an easy and friendly GUI available in SIMBUILDER.
MODEL PARAMETER IDENTIFICATION AND CONTROL PARAMETER OPTIMISATION: MPI/CPO CONFIGURATION
In order to support the user in the control system design phase, EICASLAB provides the MPI/CPO Manager that is the powerful tool for performing the model parameter identification and control parameter optimisation. The overall MPI/CPO process may be configured in SIMBUILDER.

MPI/CPO configuration