Vous êtes sur la page 1sur 21

Xcos pour les vrais dbutants

I. Introduction
I-A. propos de ce document

L'objectif de ce document est de vous guider pas pas dans la dcouverte des diffrentes
fonctionnalits de base de l'outil Xcos inclus dans Scilab pour un utilisateur n'ayant jamais
utilis un logiciel de modlisation et simulation de systmes dynamiques hybrides. Cette
prsentation se limite volontairement l'essentiel pour permettre une prise en main facilite
de Xcos. Les exemples, diagrammes et illustrations sont raliss avec Scilab 5.4.1. Vous
pouvez donc reproduire les exemples prsents partir de cette version.

I-B. Installation de Scilab

Scilab est un logiciel open source de calcul numrique que chacun peut tlcharger
gratuitement. Disponible sous Windows, Linux et Mac OS X, Scilab est tlchargeable
l'adresse suivante : http://www.scilab.org/

Vous pouvez tre averti des sorties de nouvelles versions du logiciel Scilab en vous inscrivant
sur notre canal de notification l'adresse suivante :
http://lists.scilab.org/mailman/listinfo/release

I-C. Listes de diffusion et d'information

Pour faciliter l'change entre les utilisateurs de Scilab, des listes de diffusion leur sont ddies
(liste en franais, liste pour le monde de l'ducation, liste internationale en anglais). Le
principe est simple : les personnes inscrites peuvent communiquer les unes avec les autres par
courrier lectronique (questions, rponses, partage de documents, retour d'expriences).

Pour consulter les listes disponibles et s'inscrire, rendez-vous l'adresse suivante :


http://www.scilab.org/communities/user_zone/mailing_list

I-D. Ressources complmentaires

Le site Internet de Scilab dispose d'une rubrique consacre l'utilisation de Scilab


(http://www.scilab.org/fr/resources/documentation) avec des liens et des documents utiles
pouvant tre tlchargs et imprims librement.

Un document similaire celui-ci intitul Scilab pour les vrais dbutants est galement
disponible en tlchargement dans cette mme rubrique.

1/21
II. Se familiariser Xcos
La simulation numrique est aujourd'hui incontournable dans le processus de conception de
systmes. Simuler des phnomnes complexes (physiques, mcaniques, lectroniques, etc.)
permet d'en tudier les comportements et d'obtenir des rsultats sans avoir besoin de recourir
l'exprience relle. Largement utilise dans le monde de l'industrie, les ingnieurs et les
chercheurs de demain sont forms ds le secondaire aux concepts de modlisation et de
simulation.

Xcos est l'outil de Scilab ddi la modlisation et la simulation de systmes dynamiques


hybrides incluant la fois des modles continus et discrets. Il permet aussi de simuler des
systmes rgis par des quations explicites (simulation causale) et implicites (simulation
acausale). Xcos inclut un diteur graphique permettant de reprsenter facilement des modles
sous forme de schmas fonctionnels (diagrammes) en connectant des blocs entre eux. Chaque
bloc reprsente une fonction de base prdfinie ou une fonction dfinie par l'utilisateur.

II-A. L'environnement gnral

Aprs avoir lanc Scilab, l'environnement par dfaut est constitu d'une console, d'un
navigateur de fichiers, d'un navigateur de variables et d'un historique des commandes.

Dans la console, aprs --> , il suffit de saisir une commande et d'appuyer sur la touche
Entre du clavier pour obtenir le rsultat correspondant.

Xcos peut tre ouvert :

2/21
depuis la barre d'outils, via l'icne ;
depuis la barre de menus, dans Applications / Xcos ;
depuis la console, en tapant :

Slectionnez

xcos

Xcos s'ouvre par dfaut avec deux fentres :

le navigateur de palettes qui met disposition un ensemble de blocs prdfinis ;


une fentre d'dition qui est la zone de construction d'un diagramme.

3/21
Pour construire un diagramme, l'utilisateur slectionne les blocs dans le navigateur de palettes
et les positionne dans la fentre d'dition (cliquer / glisser / dposer). Il peut ensuite connecter
les blocs entre eux en utilisant leurs diffrents ports (entre / sortie / vnement) pour pouvoir
simuler le modle cr.

II-B. Exemple de construction d'un diagramme simple

Nous allons vous expliquer comment construire un modle de systme temps continu
modlis par une fonction de transfert d'ordre 1.

Lancez Xcos.

4/21
Comme vu prcdemment, Xcos s'ouvre par dfaut avec le navigateur de palettes et une
fentre d'dition. Dans le navigateur de palettes, nous allons utiliser les blocs suivants :

Dsignation Reprsentation Sous-palette

chelon Sources / STEP_FUNCTION

Fonction de transfert continue Systmes temps continu / CLR

Horloge Sources / CLOCK_c

Visualisation Sinks / CSCOPE

Disposez les blocs dans la fentre d'dition. Pour relier les ports d'entre et de sortie entre eux,

cliquez sur la sortie (flche noire) du bloc STEP-FUNCTION et en maintenant le


bouton de la souris appuy, reliez au port d'entre du bloc CLR. Un carr vert apparat en
surbrillance pour indiquer que le lien est correct, comme dcrit dans les images ci-dessous :

5/21
Relchez pour finaliser le lien.

Compltez ensuite les connexions des blocs entre eux pour arriver ce rsultat :

6/21
Il est possible d'amliorer l'aspect de votre diagramme en utilisant les options d'alignement
des blocs (menu Format / Aligner les blocs) et de style de liens (menu Format / Style de
liens). tout moment, les blocs peuvent tre dplacs ou repositionns en les slectionnant et
en maintenant le bouton de la souris appuy pendant le dplacement. Relchez le bloc la
position souhaite.

La simulation est lance en cliquant sur l'icne (ou depuis le menu Simulation /

Dmarrer) et peut tre stoppe en cliquant sur (ou depuis le menu Simulation /
Arrter).

Une nouvelle fentre (scope) apparat, montrant l'volution de la simulation. En bas de la


fentre d'dition du diagramme, une mention indique que la simulation est en cours :

7/21
Vous pouvez constater que le temps de simulation est assez long (il vous a peut-tre t
ncessaire d'arrter la simulation en cours) et que la rponse est plate.

Nous choisissons donc de modifier les paramtres du bloc CLR et de la


simulation.

Un contexte contenant du script Scilab permet d'utiliser facilement des fonctions et des
variables dans les blocs Xcos. Nous allons utiliser ce contexte pour fixer des valeurs de
paramtrage lors de la simulation du diagramme.

8/21
Cliquez sur Simulation / Modifier le contexte dans la barre de menus et dfinissez les
variables suivantes :

K=1;
Tau = 1.

Vous pouvez maintenant utiliser ces variables pour le paramtrage des blocs du diagramme.

Double-cliquez sur le bloc CLR, une bote de dialogue s'ouvre avec les paramtres par dfaut
du bloc. Modifiez ces paramtres :

numrateur : K ;
dnominateur : 1+Tau*s.

La nouvelle fonction de transfert est affiche sur le bloc :

9/21
Si ncessaire, agrandissez le bloc afin que l'affichage puisse tenir l'intrieur.

Nous allons maintenant configurer la simulation et les blocs pour visualiser la rponse
temporelle du systme une impulsion. Pour cela, nous allons limiter le temps de simulation
5 secondes (menu Simulation / Configurer) en modifiant le temps d'intgration final.

Double-cliquez sur le bloc CSCOPE pour configurer l'affichage des valeurs comprises entre 0
et 1.2, puis la priode de rafrachissement du scope 5 secondes. Pour cela, changez les
paramtres suivants :

Ymin : 0 ;
Ymax : 1.2 ;
Refresh period : 5.

10/21
Relancez la simulation et visualisez le rsultat :

II-C. Les superblocs

Pour faciliter la comprhension de certains diagrammes, il est souvent utile de recourir aux
superblocs ou blocs composites. Un superbloc contient une partie d'un diagramme ainsi que
des blocs reprsentant ses entres et sorties. Il peut tre manipul comme un seul et unique
bloc dans le diagramme parent.

Aprs avoir ralis un diagramme et slectionn la partie du diagramme (ou sous-diagramme)


que l'on souhaite runir en un bloc, la cration d'un superbloc s'effectue partir du menu
dition / Zone vers Superbloc.

11/21
La slection est alors devenue un bloc dont on peut afficher le contenu en double-cliquant
dessus. Une nouvelle fentre d'dition s'ouvre alors avec la slection de blocs initiale.

12/21
Il est galement possible de masquer le superbloc cr pour dsactiver l'accs au sous-
diagramme. Pour cela, on effectue un clic droit sur le superbloc puis Masque du superbloc /
Crer.

On peut galement rendre accessible certains paramtres de configuration du sous-diagramme


dans une seule interface de configuration par un clic droit sur le superbloc, puis Masque du
superbloc / Personnaliser.

Il suffit ensuite d'ajouter les paramtres que l'on souhaite rendre accessibles.

Cette prsentation tait volontairement succincte et bien d'autres possibilits de simulation


existent avec un grand nombre de blocs disponibles. Pour continuer de prendre en main
facilement Xcos, nous vous invitons consulter les nombreux exemples de diagrammes
disponibles dans les dmonstrations de Xcos en cliquant sur le menu ? / Dmonstrations Xcos.

13/21
III. Annexes
III-A. La barre des menus

La barre de menus utile dans Xcos est celle de la fentre d'dition.

III-A-1. Menu Fichier

Nouveau diagramme (Ctrl+N sous Windows et Linux / Cmd+N sous Mac OS X).

Ouvre une nouvelle fentre d'dition de Xcos.

Ouvrir (Ctrl+O sous Windows et Linux / Cmd+O sous Mac OS X).

Charge un fichier Xcos au format .zcos ou .xcos contenant un diagramme ou une


palette.

Ouvrir le fichier dans le rpertoire courant de Scilab

Charge un fichier Xcos au format .zcos ou .xcos contenant un diagramme ou une


palette depuis le rpertoire de travail de Scilab.

Ouvrir rcents

Propose les fichiers rcemment ouverts.

Fermer (Ctrl+W sous Windows et Linux / Cmd+W sous Mac OS X)

Ferme le diagramme courant si plusieurs diagrammes sont ouverts. Quitte Xcos si un


seul diagramme est ouvert. Les fentres auxiliaires telles que le navigateur de palettes
sont galement fermes la fermeture du dernier diagramme.

Enregistrer (Ctrl+S sous Windows et Linux / Cmd+S sous Mac OS X)

Enregistre les modifications apportes un diagramme. Si celui-ci n'a pas t


prcdemment enregistr dans un fichier, il sera propos de l'enregistrer (cf.
Enregistrer sous).

Enregistrer sous (Ctrl+Maj+S sous Windows et Linux / Cmd+Maj+S sous Mac OS


X)

Enregistre le diagramme ou la palette avec un nouveau nom. Le schma prend alors le


nom du fichier (sans l'extension).

Exporter (Ctrl+E sous Windows et Linux / Cmd+E sous Mac OS X) Exporte une image du
diagramme Xcos courant aux formats standard (PNG, SVG, etc.).
Exporter tous les diagrammes

Exporte des images du diagramme et du contenu de ses superblocs.

14/21
Imprimer (Ctrl+P sous Windows et Linux / Cmd+P sous Mac OS X)

Imprime le diagramme courant.

Quitter (Ctrl+Q sous Windows et Linux / Cmd+Q sous Mac OS X)

Quitte Xcos.

III-A-2. Menu dition

Annuler (Ctrl+Z sous Windows et Linux / Cmd+Z sous Mac OS X)

Annule la dernire opration.

Rtablir (Ctrl+Y sous Windows et Linux / Cmd+Y sous Mac OS X)

Rtablit la dernire opration annule.

Couper (Ctrl+X sous Windows et Linux / Cmd+X sous Mac OS X)

Supprime les objets slectionns d'un diagramme et en garde une copie dans le presse-
papier.

Copier (Ctrl+C sous Windows et Linux / Cmd+C sous Mac OS X)

Place une copie des objets slectionns dans le presse-papier.

Coller (Ctrl+V sous Windows et Linux / Cmd+V sous Mac OS X)

Ajoute le contenu du presse-papier au diagramme courant.

Supprimer (Suppr)

Efface les blocs ou les liens qui ont t slectionns. Quand un bloc est supprim, tous
les liens qui lui sont connects sont eux aussi effacs.

Tout slectionner (Ctrl+A sous Windows et Linux / Cmd+A sous Mac OS X)

Slectionne tous les lments du diagramme courant. Inverser la slection inverse la


slection courante.

Paramtres du bloc (Ctrl+B sous Windows et Linux / Cmd+B sous Mac OS X)

Configure le bloc slectionn (voir l'aide du bloc pour obtenir plus d'informations sur
sa configuration).

Zone vers superbloc

Convertit une slection de blocs et de liens en un superbloc.

15/21
III-A-3. Menu Affichage

Zoom avant (Ctrl+Pav numrique Plus sous Windows et Linux / Cmd+Pav


numrique Plus sous Mac OS X)

Agrandit la vue de 10 %.

Zoom arrire (Ctrl+Pav numrique Moins sous Windows et Linux / Cmd+Pav


numrique Moins sous Mac OS X)

Rduit la vue de 10 %.

Ajuster le diagramme la vue

Ajuste la vue la taille de la fentre.

Normal 100 %

Dimensionne la vue sa taille par dfaut.

Navigateur de palettes

Affiche / masque le navigateur de palettes.

Navigateur de diagrammes

Affiche une fentre qui liste les proprits globales du diagramme et de tous les objets
qu'il contient (blocs et liens).

Aperu

Affiche / masque un aperu complet du diagramme courant. Avec la vue Aperu, vous
pouvez dplacer l'aire de travail affiche sur une partie du diagramme.

III-A-4. Menu Simulation

Configurer

Modifie les paramtres de simulation.

Trace d'excution et de dbogage

Configure la simulation en mode dbogage.

Modifier le contexte

Permet d'entrer des instructions Scilab pour dfinir des variables / fonctions utilisables
dans le paramtrage des blocs d'un diagramme. Compiler compile le diagramme.

Initialisation de Modelica

16/21
Permet d'initialiser les variables du sous-ensemble acausal du diagramme.

Dmarrer

Lance la simulation.

Arrter

Interrompt la simulation.

III-A-5. Menu Format

Pivoter (Ctrl+R sous Windows et Linux / Cmd+R sous Mac OS X)

Pivote le (ou les) bloc(s) slectionn(s) de 90 anti-horaire.

Retourner (Ctrl+F sous Windows et Linux / Cmd+F sous Mac OS X)

Inverse les positions des entres et sorties d'vnements places au-dessus et au-
dessous d'un bloc slectionn.

Miroir (Ctrl+M sous Windows et Linux / Cmd+M sous Mac OS X)

Inverse les positions des entres et sorties rgulires places gauche et droite d'un
bloc slectionn.

Afficher / Masquer l'ombre

Affiche / masque l'ombre porte des blocs slectionns.

Aligner les blocs

En slectionnant plusieurs blocs, il est possible de les aligner sur l'axe horizontal
(gauche, droite et centre) ou sur l'axe vertical (haut, bas et centre).

Couleur de bordure

Change la couleur des bords des blocs slectionns.

Couleur de fond

Change la couleur de remplissage des blocs slectionns.

Style de liens

Modifie le style d'un lien.

Fond du diagramme

Change la couleur de fond du diagramme.

17/21
Grille

Active / dsactive la grille. Avec la grille, le positionnement des blocs et des liens est
plus facile.

III-A-6. Menu Outils

Gnration de code

Permet de gnrer le code de simulation associ un superbloc slectionn.

III-A-7. Menu ?

Aide de Xcos

Ouvre l'aide sur le fonctionnement de Xcos, des palettes, des blocs et des exemples.

Aide du bloc

Ouvre l'aide sur un bloc slectionn.

Dmonstrations Xcos

Ouvre des exemples de diagrammes et les simule. L'utilisateur peut alors, s'il le
souhaite, modifier ces diagrammes et les sauvegarder pour une utilisation future.
Attention ! L'excution de certains diagrammes de dmonstration ncessite la prsence
d'un compilateur C.

III-B. Les palettes disponibles

Blocs couramment utiliss

Blocs les plus utiliss.

Systmes temps continu

Blocs continus (intgration, drive, PID).

Fonctions discontinues

Blocs dont les sorties sont des fonctions discontinues de leurs entres (hystrsis).

Systmes temps discret

Blocs de modlisation en temps discret (drive, chantillonn / bloqu).

Interpolation

Blocs calculant des approximations de sortie partir des entres.

18/21
Gestion d'vnements

Blocs permettant de grer les vnements dans le diagramme (horloge, multiplication /


division de frquence).

Oprations mathmatiques

Blocs de modlisation des fonctions mathmatiques gnrales (cosinus, sinus,


division, multiplication).

Matrice

Blocs pour des oprations matricielles simples et complexes.

lectrique

Blocs reprsentant des composants lectriques de base (source de tension, rsistance,


diode, condensateur).

Entier

Blocs permettant la manipulation de nombres entiers (oprateurs logiques, portes


logiques).

Port et sous-systme

Blocs de cration de sous-systmes.

Dtection de passage zro

Blocs utiliss pour dtecter les traverses de zro pendant la simulation. Ces blocs
utilisent les capacits des solveurs (ODE ou DAE) pour effectuer cette opration.

Routage de signal

Blocs permettant le routage du signal, multiplexage, aiguillage, chantillonn / bloqu.

Traitement du signal

Blocs pour des applications en traitement du signal.

Implicite

Blocs pour modliser des systmes implicites.

Annotations

Blocs utiliss pour les annotations.

Sinks

19/21
Blocs de sortie utiliss pour l'affichage graphique (scope) et l'export de donnes
(fichier ou Scilab).

Sources

Blocs de sources de donnes (impulsion, rampe, sinusode) et de lecture de donnes


partir de fichiers ou de variables Scilab.

Thermohydrauliques

Blocs des composants thermohydrauliques de base (source de pression, tuyaux, vannes


de rgulation).

Blocs de dmonstration

Blocs utiliss dans les diagrammes de dmonstration.

Fonctions dfinies par l'utilisateur

Blocs utilisateurs permettant de modliser un comportement (fonction de simulation


C, Scilab ou Modelica).

III-C. Installation d'un compilateur C

Pour la simulation de certains systmes (systmes acausaux contenant, par exemple, des blocs
hydrauliques, lectriques), il est ncessaire d'avoir recours un compilateur C.

III-C-1. Sous Windows

Installez depuis Scilab le module MinGW en cliquant dans la barre de menus sur Applications
/ Gestionnaire de modules - ATOMS / Catgorie Windows Tools. Le module MinGW
permettra de faire le lien entre Scilab et le compilateur GCC (que vous devrez installer
sparment). Suivez bien la procdure dcrite dans la fentre d'installation du module qui
vous guidera pas pas pour l'installation de celui-ci et du compilateur GCC.

III-C-2. Sous Linux

Le compilateur GCC tant disponible dans ce systme d'exploitation, il suffit de vrifier (via
Synaptic, Yum ou tout autre systme de gestion de paquets) s'il est prsent et jour.

III-C-3. Sous Mac

Tlchargez XCode via l'App Store (Mac OS 10.7) ou via les CD fournis avec l'ordinateur
(Mac OS 10.5 et 10.6). Pour les versions antrieures, voir le site d'Apple. Validez la
possibilit d'utiliser le compilateur hors de l'environnement Xcode. Pour cela, aprs avoir
lanc Xcode, allez dans Prfrences , puis Downloads et, dans l'onglet
Components , cochez la case Check for and install updates automatically et installez
l'extension Command Line Tools .

20/21
Il est bien entendu que si un compilateur C est dj install sur votre machine, il n'est pas
ncessaire d'en installer un nouveau. Pour vrifier que Scilab a bien dtect un compilateur,
utilisez la commande qui retourne %T si un compilateur est install :

Slectionnez

haveacompiler()

21/21