Xcos pour les vrais débutants

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 Donner une note à l'article (5)

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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.

Image non disponible

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 Image non disponible ;
  • depuis la barre de menus, dans Applications / Xcos ;
  • depuis la console, en tapant :
 
Sélectionnez
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.
Image non disponible
Image non disponible

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

Image non disponible

Sources / STEP_FUNCTION

Fonction de transfert continue

Image non disponible

Systèmes à temps continu / CLR

Horloge

Image non disponible

Sources / CLOCK_c

Visualisation

Image non disponible

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 Image non disponible 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 :

Image non disponible
Image non disponible

Relâchez pour finaliser le lien.

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

Image non disponible

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 Image non disponible (ou depuis le menu Simulation / Démarrer) et peut être stoppée en cliquant sur Image non disponible (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 :

Image non disponible
Image non disponible

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 Image non disponible 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.
Image non disponible

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.
Image non disponible

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

Image non disponible

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.

Image non disponible

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.
Image non disponible

Relancez la simulation et visualisez le résultat :

Image non disponible

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.

Image non disponible

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.

Image non disponible
Image non disponible

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 (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.

  • 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é :

 
Sélectionnez
haveacompiler()

IV. Remerciement

Je remercie ced pour la correction orthographique et syntaxique.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

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.