tutos:rt-lab

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutos:rt-lab [2017/10/20 12:52] – [RT-LAB] bennetutos:rt-lab [2017/10/25 10:12] (Version actuelle) ygangat
Ligne 1: Ligne 1:
 ====== RT-LAB ====== ====== RT-LAB ======
 Sur cette page sont regroupées les notes relatives à la formation Opal-RT sur RT-LAB. Sur cette page sont regroupées les notes relatives à la formation Opal-RT sur RT-LAB.
-{{ :tutos:rt-lab.png?nolink&200|}}+ 
 +{{ :tutos:rt-lab.png?nolink&320 |}}
  
 <WRAP center round download 70%> <WRAP center round download 70%>
-Les fichiers de la formation se trouvent [[http://le2p-nas.univ.run:8080/share.cgi?ssid=0Lar2be|ici]] (Accès en interne uniquement, mot de passe à voir avec Yassine) :+Les fichiers de la formation se trouvent [[http://le2p-nas.univ.run:8080/share.cgi?ssid=0cew3D9|ici]] (Accès en interne uniquement, mot de passe à voir avec Yassine) :
   * slides et exemples fournis par le formateur,   * slides et exemples fournis par le formateur,
-  * patch pour Matlab 2015aSP1 (problème d'affichage à l'ouverture de fenêtres Matlab).+  * patch pour Matlab 2015aSP1 (problème d'affichage à l'ouverture de fenêtres Matlab 2015aSP1).
  
 </WRAP> </WRAP>
Ligne 26: Ligne 27:
 Puis ouvrez simulink, a l'ouverture de la librairie un message en haut de la fenêtre s'affiche, cliquez sur FIX. Puis ouvrez simulink, a l'ouverture de la librairie un message en haut de la fenêtre s'affiche, cliquez sur FIX.
 la librairie RT-LAB doit apparaitre. la librairie RT-LAB doit apparaitre.
 +
 +===== Mode d'utilisation de simulation temps réel ====
 +
 +**Model in the loop** : Pas d'organe réel, tout simulé
 +**Hardware in the loop** : Contrôleur réel et autre organe simulé
 +**Prototypage rapide**  : Contrôleur simulé et autre organe réel
 +**Power Hardware in the loop** : Ajout de la notion de puissance par le bias d'un convertisseur
 +
  
 ===== Slides n°2 et 3 ===== ===== Slides n°2 et 3 =====
Ligne 44: Ligne 53:
     * Block Reduction (dans le sous-menu "//Optimization//")     * Block Reduction (dans le sous-menu "//Optimization//")
     * Signal Storage (dans le sous-menu "//Optimization/Signal//")     * Signal Storage (dans le sous-menu "//Optimization/Signal//")
-  * Mettre un pas de temps fixe (impossible d'utiliser un temps de simulation variable)+  * Mettre un pas de temps fixe (impossible d'utiliser un temps de simulation variable dans une configuration temps réel)
  
 ==== Conseil ==== ==== Conseil ====
Ligne 68: Ligne 77:
      * Clic sur "//execute//" pour lancer la simulation temps réel et réaliser la supervision grâce à votre GUI      * Clic sur "//execute//" pour lancer la simulation temps réel et réaliser la supervision grâce à votre GUI
  
-<note important>À la fin de chaque simulation, ne pas oublier de cliquer sur "//reset//" en dessous de "//execute//" pour terminer la simulation et permettre à un autre utilisateur de lancer sa simulation.+<note important>À la fin de chaque simulation, ne pas oublier de cliquer sur "//reset//" en dessous de "//execute//" pour terminer la simulation et permettre à un autre utilisateur de lancer sa simulation. Et si plusieurs personne utilise le système en même temps, choisir les coeurs utilisés dans les options "advence".
 </note> </note>
    * Une erreur courante : lorsque le répertoire //OpREDHAWKtarget// (dans lequel se trouve d'ailleurs les fichiers .mat) est ouvert, RT-LAB renvoie une erreur lors du build.    * Une erreur courante : lorsque le répertoire //OpREDHAWKtarget// (dans lequel se trouve d'ailleurs les fichiers .mat) est ouvert, RT-LAB renvoie une erreur lors du build.
Ligne 110: Ligne 119:
  
 <note important>Seulement 5 blocs **OPwritefile** peuvent être placés dans un modèle</note>  <note important>Seulement 5 blocs **OPwritefile** peuvent être placés dans un modèle</note> 
-  * Il est possible de rajouter un bloc "**OpTrigger**" : cela permet de lancer l'acquisition de donnée à partir d'une certaine condition. Il faut faire attention à ce que "**AcquisitionGroup**" soit le même ds OpTrigger et OpWriteFile+  * Il est possible de rajouter un bloc "**OpTrigger**" : cela permet de lancer l'acquisition de donnée à partir d'une certaine condition. Il faut faire attention à ce que "**AcquisitionGroup**" soit le même dans OpTrigger et OpWriteFile 
 + 
 +  * Calcul de nombre d’enregistrement par seconde (Ns/sec) : 
 + 
 +    * Exemple pour un système électrique 
 +       Fenêtre de mesure (d) = 200 ms ; Ts = 50 micro seconde ; Decimation factor (Df) = 1 
 +       Ns/s = d/(Ts*Df) = 4000
  
 ==== Pour un calcul sur plusieurs processeurs ==== ==== Pour un calcul sur plusieurs processeurs ====
Ligne 118: Ligne 133:
  
 ===== Slides n°4 ===== ===== Slides n°4 =====
-==== Titre ==== +==== Utilisation des entrées/sorties ==== 
-texte+ 
 +<note important>Toujours placer les fichiers .bin et .conf disponible dans le dossier "...\OPAL-RT Training\3 - Project Files\Test Model" dans le même dossier que le programme simulink avant de l'importer dans RT lab. </note> 
 + 
 +<note important> Un numéro de port correspond à 8 sortie, d'où le mux pour choisir la bonne sortie/entrée </note> 
 + 
 +<note important> RT lab doit être configurer sur "**Hardware synchronise**" si de entrées/sorties sont utilisés. De plus, le mode "**XHP**" (Extra High Performence) doit être activé.</note> 
 + 
 +=== Sortie analogique === 
 + 
 +  * Placer les bloc AnalogOut (disponible dans la bibliothèque simulink RTlab I/O-> OpalRT -> common) 
 +  * Configurer le numéro de port (voir les numéro de port dans la datasheet) 
 +  * Mettre en entrée un mux pour choisir la sortie analogique (si une seule sortie est utilisé et qu'il s'agit de la première, ne pas mettre de mux et réglé le bloc AnalogOut pour n'utiliser qu'une seule sortie) 
 +  * Placer le bloc OpCtrl et le configurer (nom du .bin, etc.) 
 + 
 +=== Entrée analogique === 
 + 
 +  * Placer les bloc AnalogIn (disponible dans la bibliothèque simulink RTlab I/O-> OpalRT -> common) 
 +  * Mettre en sortie un demux pour choisir l'entrée analogique (si une seule entrée est utilisé et qu'il s'agit de la première, ne pas mettre de demux et réglé le bloc AnalogIn pour n'utiliser qu'une seule entrée) 
 +  * Placer le bloc OpCtrl et le configurer (nom du .bin, etc.) 
 + 
 +=== Entrée/Sortie digital === 
 + 
 +  * La procédure est la même que pour les entrées/sorties analogique à la différence que le bloc est DigitalIn / DigitalOut ou si on utilise une PWM -> PWMin / PWMout 
 + 
 +<note important>Les port number pour les entrées/sorties digital ne peuvent être utilisés que sur une configuration :  
 +  * Digital 
 +  * PWM 
 +  * tsd 
 +</note> 
 + 
 +=== RTE events === 
 + 
 +  * Utilisé dans le cas ou la fréquence de la PWM générer par simulink (hors utilisation des entrées/sorties PWM) est trop élevé pour le calcul sur le processeur. 
 +  * Utilisé pour la génération de transition à l'intérieur du pas de temps 
 + 
 +<note important>Toujours faire attention au pas de temps, ils doivent toujours être des multiple pour être synchronisé</note> 
 + 
 +  * Deux bloc disponible FIXME: 
 +     * RTE relation operator : un seule événement par pas de temps 
 +     * SPWM : pour des fréquences très élevés avec un maximum de 255 événement par pas de temps 
 + 
 +==== Automatisé les tâches ==== 
 + 
 +FIXME avec les programmes de la formation 
 + 
 +Il est possible d'automatisé des tâches via un code Python directement dans RTlab grâce à "**RT LAB API**" 
 + 
 +<note important>Ne pas oublier de placer le RTlab API import</note> 
 + 
 +==== Temps réel SmartGrid ==== 
 + 
 +FIXME avec les programmes de la formation 
 + 
 +  * Placer le bloc SimPower 
 +  * Placer le bloc Arthemis 
 + 
 +Arthemis est un solver qui permet d'accélérer la simulation pour les réseaux smartgrid 
 + 
 +==== Interface Graphiqe Labview ====
  
 +FIXME Voir avec ceux qui sont resté jusqu'à la fin.
  • tutos/rt-lab.1508503935.txt.gz
  • Dernière modification : 2017/10/20 12:52
  • de benne