Xcos pour les vrais débutants

Scilab Enterprises

L'objectif de ce document est de vous guider pas à pas dans la découverte des différentes fonctionnalités de base de l'outil Xcos inclus dans Scilab pour un utilisateur n'ayant jamais utilisé un logiciel de modélisation et simulation de systèmes dynamiques hybrides. Cette présentation se limite volontairement à l'essentiel pour permettre une prise en main facilitée de Xcos. Les exemples, diagrammes et illustrations sont réalisés avec Scilab 5.4.1. Vous pouvez donc reproduire les exemples présentés à partir de cette version.

Commentez

- Titre : Xcos pour les vrais débutants

- Auteur : Scilab Enterprises

- Parution : 5 septembre 2014

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2014 Scilab Enterprises. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- I-A. À propos de ce document

- I-B. Installation de Scilab

- I-C. Listes de diffusion et d'information

- I-D. Ressources complémentaires

- II. Se familiariser à Xcos

- II-A. L'environnement général

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

- II-C. Les superblocs

- III. Annexes

- III-A. La barre des menus

- III-A-1. Menu Fichier

- III-A-2. Menu Édition

- III-A-3. Menu Affichage

- III-A-4. Menu Simulation

- III-A-5. Menu Format

- III-A-6. Menu Outils

- III-A-7. Menu ?

- III-B. Les palettes disponibles

- III-C. Installation d'un compilateur C

- III-C-1. Sous Windows

- III-C-2. Sous Linux

- III-C-3. Sous Mac

- IV. Remerciement

I - Introduction

I-A - À propos de ce document

L'objectif de ce document est de vous guider pas à pas dans la découverte des différentes fonctionnalités de base de l'outil Xcos inclus dans Scilab pour un utilisateur n'ayant jamais utilisé un logiciel de modélisation et simulation de systèmes dynamiques hybrides. Cette présentation se limite volontairement à l'essentiel pour permettre une prise en main facilitée de Xcos. Les exemples, diagrammes et illustrations sont réalisés avec Scilab 5.4.1. Vous pouvez donc reproduire les exemples présentés à partir de cette version.

I-B - Installation de Scilab

Scilab est un logiciel open source de calcul numérique que chacun peut télécharger gratuitement. Disponible sous Windows, Linux et Mac OS X, Scilab est téléchargeable à 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 dédiées (liste en français, 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, réponses, partage de documents, retour d'expériences…).

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 complémentaires

Le site Internet de Scilab dispose d'une rubrique consacrée à l'utilisation de Scilab (http://www.scilab.org/fr/resources/documentation) avec des liens et des documents utiles pouvant être téléchargés et imprimés librement.

Un document similaire à celui-ci intitulé « Scilab pour les vrais débutants » est également disponible en téléchargement dans cette même rubrique.

II - Se familiariser à Xcos

La simulation numérique est aujourd'hui incontournable dans le processus de conception de systèmes. Simuler des phénomènes complexes (physiques, mécaniques, électroniques, etc.) permet d'en étudier les comportements et d'obtenir des résultats sans avoir besoin de recourir à l'expérience réelle. Largement utilisée dans le monde de l'industrie, les ingénieurs et les chercheurs de demain sont formés dès le secondaire aux concepts de modélisation et de simulation.

Xcos est l'outil de Scilab dédié à la modélisation et à la simulation de systèmes dynamiques hybrides incluant à la fois des modèles continus et discrets. Il permet aussi de simuler des systèmes régis par des équations explicites (simulation causale) et implicites (simulation acausale). Xcos inclut un éditeur graphique permettant de représenter facilement des modèles sous forme de schémas fonctionnels (diagrammes) en connectant des blocs entre eux. Chaque bloc représente une fonction de base prédéfinie ou une fonction définie par l'utilisateur.

II-A - L'environnement général

Après avoir lancé Scilab, l'environnement par défaut est constitué d'une console, d'un navigateur de fichiers, d'un navigateur de variables et d'un historique des commandes.

Dans la console, après « --> », il suffit de saisir une commande et d'appuyer sur la touche Entrée du clavier pour obtenir le résultat correspondant.

Xcos peut être ouvert :

- depuis la barre d'outils, via l'icône  ;

- depuis la barre de menus, dans Applications / Xcos ;

- depuis la console, en tapant :

xcos

Xcos s'ouvre par défaut avec deux fenêtres :

- le navigateur de palettes qui met à disposition un ensemble de blocs prédéfinis ;

- une fenêtre d'édition qui est la zone de construction d'un diagramme.

Pour construire un diagramme, l'utilisateur sélectionne les blocs dans le navigateur de palettes et les positionne dans la fenêtre d'édition (cliquer / glisser / déposer). Il peut ensuite connecter les blocs entre eux en utilisant leurs différents ports (entrée / sortie / événement) pour pouvoir simuler le modèle créé.

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

Nous allons vous expliquer comment construire un modèle de système à temps continu modélisé par une fonction de transfert d'ordre 1.

Lancez Xcos.

Comme vu précédemment, Xcos s'ouvre par défaut avec le navigateur de palettes et une fenêtre d'édition. Dans le navigateur de palettes, nous allons utiliser les blocs suivants :

Désignation

Représentation

Sous-palette

Échelon

Sources / STEP_FUNCTION

Fonction de transfert continue

Systèmes à temps continu / CLR

Horloge

Sources / CLOCK_c

Visualisation

Sinks / CSCOPE

Disposez les blocs dans la fenêtre d'édition. Pour relier les ports d'entrée et de sortie entre eux, cliquez sur la sortie (flèche noire) du bloc STEP-FUNCTION et en maintenant le bouton de la souris appuyé, reliez au port d'entrée du bloc CLR. Un carré vert apparaît en surbrillance pour indiquer que le lien est correct, comme décrit dans les images ci-dessous :

Relâchez pour finaliser le lien.

Complétez ensuite les connexions des blocs entre eux pour arriver à ce résultat :

Il est possible d'améliorer 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 déplacés ou repositionnés en les sélectionnant et en maintenant le bouton de la souris appuyé pendant le déplacement. Relâchez le bloc à la position souhaitée.

La simulation est lancée en cliquant sur l'icône (ou depuis le menu Simulation / Démarrer) et peut être stoppée en cliquant sur (ou depuis le menu Simulation / Arrêter).

Une nouvelle fenêtre (scope) apparaît, montrant l'évolution de la simulation. En bas de la fenêtre d'édition du diagramme, une mention indique que la simulation est en cours :

Vous pouvez constater que le temps de simulation est assez long (il vous a peut-être été nécessaire d'arrêter la simulation en cours) et que la réponse est plate.

Nous choisissons donc de modifier les paramètres 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 paramétrage lors de la simulation du diagramme.

Cliquez sur Simulation / Modifier le contexte dans la barre de menus et définissez les variables suivantes :

- K = 1 ;

- Tau = 1.

Vous pouvez maintenant utiliser ces variables pour le paramétrage des blocs du diagramme.

Double-cliquez sur le bloc CLR, une boîte de dialogue s'ouvre avec les paramètres par défaut du bloc. Modifiez ces paramètres :

- numérateur : K ;

- dénominateur : 1+Tau*s.

La nouvelle fonction de transfert est affichée sur le bloc :

Si nécessaire, agrandissez le bloc afin que l'affichage puisse tenir à l'intérieur.

Nous allons maintenant configurer la simulation et les blocs pour visualiser la réponse temporelle du système à une impulsion. Pour cela, nous allons limiter le temps de simulation à 5 secondes (menu Simulation / Configurer) en modifiant le temps d'intégration final.

Double-cliquez sur le bloc CSCOPE pour configurer l'affichage des valeurs comprises entre 0 et 1.2, puis la période de rafraîchissement du scope à 5 secondes. Pour cela, changez les paramètres suivants :

- Ymin : 0 ;

- Ymax : 1.2 ;

- Refresh period : 5.

Relancez la simulation et visualisez le résultat :

II-C - Les superblocs

Pour faciliter la compréhension 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 représentant ses entrées et sorties. Il peut être manipulé comme un seul et unique bloc dans le diagramme parent.

Après avoir réalisé un diagramme et sélectionné la partie du diagramme (ou sous-diagramme) que l'on souhaite réunir en un bloc, la création d'un superbloc s'effectue à partir du menu Édition / Zone vers Superbloc.

La sélection est alors devenue un bloc dont on peut afficher le contenu en double-cliquant dessus. Une nouvelle fenêtre d'édition s'ouvre alors avec la sélection de blocs initiale.

Il est également possible de « masquer » le superbloc créé pour désactiver l'accès au sous- diagramme. Pour cela, on effectue un clic droit sur le superbloc puis Masque du superbloc / Créer.

On peut également rendre accessible certains paramètres 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 paramètres que l'on souhaite rendre accessibles.

Cette présentation était volontairement succincte et bien d'autres possibilités 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 démonstrations de Xcos en cliquant sur le menu ? / Démonstrations Xcos.

III - Annexes

III-A - La barre des menus

La barre de menus utile dans Xcos est celle de la fenêtre d'édition.

III-A-1 - Menu Fichier

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

Ouvre une nouvelle fenêtre 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 répertoire courant de Scilab

Charge un fichier Xcos au format .zcos ou .xcos contenant un diagramme ou une palette depuis le répertoire de travail de Scilab.

- Ouvrir récents

Propose les fichiers récemment 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 fenêtres auxiliaires telles que le navigateur de palettes sont également fermées à la fermeture du dernier diagramme.

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

Enregistre les modifications apportées à un diagramme. Si celui-ci n'a pas été précédemment 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 schéma prend alors le nom du fichier (sans l'extension).

- Exporter tous les diagrammes

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

- 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 dernière opération.

- Rétablir (Ctrl+Y sous Windows et Linux / Cmd+Y sous Mac OS X)

Rétablit la dernière opération annulée.

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

Supprime les objets sélectionnés 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 sélectionnés 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é sélectionnés. Quand un bloc est supprimé, tous les liens qui lui sont connectés sont eux aussi effacés.

- Tout sélectionner (Ctrl+A sous Windows et Linux / Cmd+A sous Mac OS X)

Sélectionne tous les éléments du diagramme courant. Inverser la sélection inverse la sélection courante.

- Paramètres du bloc (Ctrl+B sous Windows et Linux / Cmd+B sous Mac OS X)

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

- Zone vers superbloc

Convertit une sélection de blocs et de liens en un superbloc.

III-A-3 - Menu Affichage

- Zoom avant (Ctrl+Pavé numérique Plus sous Windows et Linux / Cmd+Pavé numérique Plus sous Mac OS X)

Agrandit la vue de 10 %.

- Zoom arrière (Ctrl+Pavé numérique Moins sous Windows et Linux / Cmd+Pavé numérique Moins sous Mac OS X)

Réduit la vue de 10 %.

- Ajuster le diagramme à la vue

Ajuste la vue à la taille de la fenêtre.

- Normal 100 %

Dimensionne la vue à sa taille par défaut.

- Navigateur de palettes

Affiche / masque le navigateur de palettes.

- Navigateur de diagrammes

Affiche une fenêtre qui liste les propriétés globales du diagramme et de tous les objets qu'il contient (blocs et liens).

- Aperçu

Affiche / masque un aperçu complet du diagramme courant. Avec la vue Aperçu, vous pouvez déplacer l'aire de travail affichée sur une partie du diagramme.

III-A-4 - Menu Simulation

- Configurer

Modifie les paramètres de simulation.

- Trace d'exécution et de débogage

Configure la simulation en mode débogage.

- Modifier le contexte

Permet d'entrer des instructions Scilab pour définir des variables / fonctions utilisables dans le paramétrage des blocs d'un diagramme. Compiler compile le diagramme.

- Initialisation de Modelica

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

- Démarrer

Lance la simulation.

- Arrêter

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) sélectionné(s) de 90° anti-horaire.

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

Inverse les positions des entrées et sorties d'événements placées au-dessus et au-dessous d'un bloc sélectionné.

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

Inverse les positions des entrées et sorties régulières placées à gauche et à droite d'un bloc sélectionné.

- Afficher / Masquer l'ombre

Affiche / masque l'ombre portée des blocs sélectionnés.

- Aligner les blocs

En sélectionnant 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 sélectionnés.

- Couleur de fond

Change la couleur de remplissage des blocs sélectionnés.

- Style de liens

Modifie le style d'un lien.

- Fond du diagramme

Change la couleur de fond du diagramme.

- Grille

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

III-A-6 - Menu Outils

- Génération de code

Permet de générer le code de simulation associé à un superbloc sélectionné.

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 sélectionné.

- Démonstrations 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'exécution de certains diagrammes de démonstration nécessite la présence d'un compilateur C.

III-B - Les palettes disponibles

- Blocs couramment utilisés

Blocs les plus utilisés.

- Systèmes à temps continu

Blocs continus (intégration, dérivée, PID).

- Fonctions discontinues

Blocs dont les sorties sont des fonctions discontinues de leurs entrées (hystérésis).

- Systèmes à temps discret

Blocs de modélisation en temps discret (dérivée, échantillonné / bloqué).

- Interpolation

Blocs calculant des approximations de sortie à partir des entrées.

- Gestion d'événements

Blocs permettant de gérer les événements dans le diagramme (horloge, multiplication / division de fréquence).

- Opérations mathématiques

Blocs de modélisation des fonctions mathématiques générales (cosinus, sinus, division, multiplication).

- Matrice

Blocs pour des opérations matricielles simples et complexes.

- Électrique

Blocs représentant des composants électriques de base (source de tension, résistance, diode, condensateur).

- Entier

Blocs permettant la manipulation de nombres entiers (opérateurs logiques, portes logiques).

- Port et sous-système

Blocs de création de sous-systèmes.

- Détection de passage à zéro

Blocs utilisés pour détecter les traversées de zéro pendant la simulation. Ces blocs utilisent les capacités des solveurs (ODE ou DAE) pour effectuer cette opération.

- 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 modéliser des systèmes implicites.

- Annotations

Blocs utilisés pour les annotations.

- Sinks

Blocs de sortie utilisés pour l'affichage graphique (scope) et l'export de données (fichier ou Scilab).

- Sources

Blocs de sources de données (impulsion, rampe, sinusoïde) et de lecture de données à partir de fichiers ou de variables Scilab.

- Thermohydrauliques

Blocs des composants thermohydrauliques de base (source de pression, tuyaux, vannes de régulation).

- Blocs de démonstration

Blocs utilisés dans les diagrammes de démonstration.

- Fonctions définies par l'utilisateur

Blocs utilisateurs permettant de modéliser un comportement (fonction de simulation C, Scilab ou Modelica).

III-C - Installation d'un compilateur C

Pour la simulation de certains systèmes (systèmes acausaux contenant, par exemple, des blocs hydrauliques, électriques…), il est nécessaire 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 / Catégorie Windows Tools. Le module MinGW permettra de faire le lien entre Scilab et le compilateur GCC (que vous devrez installer séparément). Suivez bien la procédure décrite dans la fenêtre 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 système d'exploitation, il suffit de vérifier (via Synaptic, Yum ou tout autre système de gestion de paquets) s'il est présent et à jour.

III-C-3 - Sous Mac

Téléchargez 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 antérieures, voir le site d'Apple. Validez la possibilité d'utiliser le compilateur hors de l'environnement Xcode. Pour cela, après avoir lancé Xcode, allez dans « Préférences », puis « Downloads » et, dans l'onglet « Components », cochez la case « Check for and install updates automatically » et installez l'extension « Command Line Tools ».

Il est bien entendu que si un compilateur C est déjà installé sur votre machine, il n'est pas nécessaire d'en installer un nouveau. Pour vérifier que Scilab a bien détecté un compilateur, utilisez la commande qui retourne %T si un compilateur est installé :

haveacompiler()

IV - Remerciement

Je remercie ced pour la correction orthographique et syntaxique.