Ramine Nikoukhah
Simulink
SystemBuild
Dymola (Modelica)
Produit Mathworks
Bote outils de Matlab
Quasi monopole
Produit Dynasim
Ses composants
Editeur
Ecrit en Scilab (code, IHM et graphique)
Facile customiser
Compilateur
Scilab et C
Simulateur
C et Fortran (solveurs numriques)
Compilateur Modelica
Dvelopp en Caml
Gnrateur du code C
5
Etat actuel
Documentations disponibles
Formalisme de base
Bien adapt pour les besoins actuels
Compilateur
Code assez fiable refait en 2004
Algorithme plus efficace mais dvelopp en partie dans
Scilab => problme de vitesse pour trs grand schma
6
Etat actuel
Simulateur
Gnrateur du code
Code C monoprocesseur
Editeur
Scicos et Scilab
Scicos est une bote outils et fonctionne dans
lenvironnement Scilab.
Lintgration Scicos/Scilab est importante pour fournir les
fonctionnalits de Matlab/Simulink.
Utilisation du langage Scilab pour batch processing
- Post-traitement des rsultats de simulation
- Validation de modle
- Affichage graphique
Facilit de dveloppement et de
dbogage
Scicos : Formalisme
Scicos fournit un environnement pour la construction des
systmes ractifs.
Les modles Scicos sont construits en utilisant un diteur
schma-blocs mais un langage dclaraltif sous-jacent existe
bas sur un formalisme bien dfini.
Scicos : Formalisme
Le code ralisant le comportement du bloc (fonction de simulation)
peut tre du C, Fortran ou Scilab
Lexcution des fonctions de simulations est suppose
instantane : Scicos est un langage synchrone tendu au temps
continu.
11
Scicos : Bloc
Bloc Scicos peut avoir deux types dentres et de sorties :
* entre rgulire (souvent place sur les cots)
* sortie rgulire (aussi sur les cots)
* entre dactivation (souvent en haut)
* sortie dactivation (souvent en bas)
Les entres sorties rgulires sont utilises pour communiquer
des donnes de bloc bloc par des liens rguliers.
Les entres sorties dactivation connectes par des liens
dactivation transmettent des informations de contrle.
12
Exemple
Le bloc MScope
affiche la sortie du
gnrateur de
squence alatoire
et une version
retarde.
Ce schma contient
une seule source
dactivation. Tous
les blocs sont
donc activs de
faon synchrone.
13
Simulation
Le deuxime
signal est une
rplique du
premier avec un
retard de 3
14
Sous-chantillonnage
Deux blocs dans Scicos ralisent du sous-chantillonnage :
Bloc If-Then-Else
Bloc Eselect
Sous-chantillonnage
La multifrquence est
ralise dans un cadre
synchrone utilisant le
sous-chantillonnage ;
cet exemple prsente un
cas de multifrquence
conditionnelle.
Le bloc 1/z nest activ
que si la sortie alatoire
est positive.
Ce diagramme est
synchrone (une seule
source dactivation
indpendante).
Le bloc If-Then-Else
redirige les vnements
dentre vers lune des
sorties.
16
Simulation
17
18
Hritage et multifrquence
Le mcanisme dhritage est simple en prsence dune seule
activation. Mais lhritage marche dans le cas gnral
(conditionnement, asynchronisme) suivant des rgles prcises.
Noter quen Scicos, un bloc peut avoir plusieurs entres
dactivation.
Le bloc Selector a 2 entres
dactivation.
Le bloc connait la voie par
laquelle il a t activ (1, 2 ou
1-2) et choisit lentre
placer sur la sortie.
Donc la sortie du Selector est
alatoire si elle est ngative
sinon elle est gale 1
Le bloc 1 correspond une
constante. Ce bloc nest pas
activ et nhrite pas. Il est
donc activ seulement une fois
linitialisation.
19
Simulation
20
Schma dorigine
Prise en compte
De lhritage
22
Simulation
(mcanisme dhritage)
23
Temps-continu : toujours-actif
Un bloc peut tre dclar toujours-actif.
24
Exemple
Sinusoid Generator et
1/s sont toujours-actifs.
Le bloc Abs lest aussi
par hritage.
On aurait pu aussi ne
pas dclarer 1/s
toujours-actif dans ce
cas. Mais pas en gnral
car si lentre de 1/s est
une constante, la sortie
nvolue pas.
Clock est utilis ici juste
pour rythmer laffichage
de loscilloscope.
25
Simulation
26
Temps continu
Sous-chantillonnage
Le sous-chantillonnage
marche aussi pour
lactivation continue.
Sans le bloc S/H, le bloc
multiplication serait
toujours actif (par
hritage de Sinusoid
Generator).
Mais maintenant il hrite
du Else du bloc IfThen_Else. Alors il est
activ seulement quand
sin(t) est ngatif.
Economie faire dans
les cas complexes.
27
Simulation
La simulation
montre
linactivit de la
multiplication.
28
Temps continu/discret :
interaction
Les oprations temps continu et les vnements discrets
interagissent :
29
Exemple
30
Simulation
31
Application (Renault)
moteur injection directe
32
Application (Intertechnique)
masque oxygne
33
Modlisation multi-domaine
lectrique, mcanique, hydraulique,
Discret (commande), vnementiel
Orient objets
Fortement typ
Non propritaire
Pas directement associ un produit commercial
Dfinition du langage par Modelica design group
Existe depuis 1996
34
Scicos ou Modelica :
Avantages et Inconvnients
Avantages de Modelica
Modlisation au niveau
Inconvnients
Langage compliqu
des composants
Modlisation formelle :
Optimisation du code,
calcul de Jacobien,
rduction dindex
Langage unique
Scicos ou Modelica :
Avantages et Inconvnients
Avantages de Scicos
Formalisme simple et
Inconvnients
Pas de bloc non-causal
Pas de simplification
formelle ni calcul de
Jacobien
Bloc en C, C++,
Possible dintervenir au
bas niveau pour grer le
solveur numrique
(solveur pas
variable,)
36
Scicos et Modelica :
une premire intgration
Extension du Scicos (RNTL Simpa)
Editeur Scicos permet de mlanger les blocs Scicos et
37
Scicos et Modelica :
une premire intgration
Similaire lintgration Dymola/Simulink, AMESim/Simulink
et AMESim/Scicos
Modelica utilis pour construire sous-modle tempscontinu (peu de support pour le discret)
Partie Modelica suppose toujours active (pas dchange
dvnement avec le reste du schma)
38
Scicos et Modelica :
lintgration complte
Projet RNTL Simpa2
39
Perspectives
A court terme
Intgration complte du Modelica
Compilateur du langage complet
Inclusion des Modelica libraries
Perspectives
A long terme
Transfert du dveloppement et maintenance de lditeur
lquipe Scilab
Traducteur Simulink vers Scicos
Liens avec DSpace, NI, , pour pouvoir proposer une
chaine complte
Documentation professionnelle
Intgration du Synchart (ou autre logiciel similaire)
41