Professional activity scheduling for all the design phases
The scheduling of all the activities involved in a control system is a key task for the successful development of the control system itself, especially in the case of hardware architectures including multi-processor and software architectures including multi-level hierarchical control functions.
EicasLab is based on time scheduling algorithms for managing multi-processor and multi-hierarchical control architectures of any level of complexity.
Since the Modelling and Like Real-time Simulation operative mode, the user has to schedule all the activities involved in the control system:
The scheduling configuration is performed through the SIMBUILDER tool. The control designer must fix a simulation step, which represents the time resolution applied in the simulation of your overall project.
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.
Each activity is characterized by the following scheduling parameters, expressed as a multiple of the simulation step:
In experimental trials, managed by Rapid Control Prototyping, Hardware-in-the-loop and Final Validation Test operative sub-modes, the concept of simulation is replaced by tick period and 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.
In Modelling and Like Real-time Simulation operative mode, the SIM tool manages the scheduling of activities by means of the EicasLab scheduler, an advanced engine that allows to run “like real-time” simulations. The EicasLab scheduler is the core of the time scheduling algorithms that – on the basis of the constraints fixed in the 'Activities Scheduling' window – schedules all the activities and the data transmission over the designed processor network.
The EicasLab scheduler is directly linked to the clock of the CPU: if the simulation is fast enough it may allow to run a real-time simulation.
In RCP on field operative sub-mode, the RCP Manager tool allows the user to test in real-time - on a single standard multi-core PC equipped with a Linux-based real-time operating system (named EicasLab RCP Platform) - all the activities which will be executed in the HW targets of the final configuration. In order to execute in real-time more activities at the same time, with different sampling periods and scheduling priorities, EicasLab allows the user to assign each activity to a thread and to define for each thread the priority, the scheduling policy and the CPU core on which it has to be run.
Thanks to the application of multi-threading and multi-core programming techniques, the RCP Manager tool is able to execute all the activities on the threads according to all the scheduling constraints defined by the user.
In Target operative mode, each target has its own 'Activities Scheduling' window which allows the user to define for each activity running in the target, the scheduling constraints in terms of period, duration, phase and of thread and core (if it makes sense for the target). The source code automatically generated for the target will meet the scheduling constraints set by the user. In this operative mode the user can also test any sub-set of activities by executing them in the target letting the others run in the EicasLab RCP platform.