RT-LAB
Sur cette page sont regroupées les notes relatives à la formation Opal-RT sur RT-LAB.
Les fichiers de la formation se trouvent ici (Accès en interne uniquement, mot de passe à voir avec Yassine) :
slides et exemples fournis par le formateur,
patch pour Matlab 2015aSP1 (problème d’affichage à l’ouverture de fenêtres Matlab 2015aSP1).
Notes Installation
RT-LAB Library
Defaut d’ installation RT-LAB Library dans simulink.
Lors de l’installation d’opal-rt, puis au lancement de matlab, puis simulink, la library RT-LAB n’apparait pas.
Un defaut d’installation détecté a régler avec la procédure suivante.
Suite a l’installation de Matlab puis Opal-RT.
copier le fichier setup_rtlab.m depuis C:\OPAL-RT\RT-LAB\v11.1.4.59\Simulink\m
vers C:\OPAL-RT\RT-LAB\v11.1.4.59\Simulink\m
puis une fois matlab lancé, ouvrez ce fichier depuis C:\OPAL-RT\RT-LAB\v11.1.4.59\Simulink\m
Executez ce script.
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.
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
Création du modèle
Structurer son modèle en sous-système (subsystem) avec les sous-systèmes suivants :
Un sous-système nommé SM_nom pour la partie calcul qui sera compilé sur un cœur du simulateur
Un sous-système nommé
SC_nom pour le
GUI qui sera utilisé sur le PC pour la supervision [scopes, displays, switches, constants]
Des sous-systèmes SS_nom qui pourra être utilisé pour le calcul en parallèle sur plusieurs cœurs du simulateur.
Config
Conseil
Ajout du modèle sur le système OpalRT
Ouvrir RT lab sur l’ordinateur
Ajouter une cible en réalisant un clic droit sur “target” puis “new target”
Créer un nouveau projet grâce au bouton + sur le menu contextuel
Lier ou importer le modèle créer précédemment
Lancement de la simulation sur le système OpalRT
Pour le cablage a l’arrière d’OpalRT et dans le mode “auto-alimenté” de la carte, brancher ou débrancher la carte avec l’alimentation coupée.
À 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”.
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.
Faire un rebuild all au lieu de build, en particulier après une erreur de RT-LAB…
Pour la modification de paramètre en direct
Réaliser les étapes pour lancer la simulation
Aller sur le modèle et cliquer sur Variables Tables
Aller dans le menu contextuel sur la gauche et étendre le menu contextuel jusqu’à voir apparaitre les variables (blocs) du système
Ouvrir le menu contextuel du bloc nécessaire et faite un drag and drop de la variable dans Variables Tables
Monitoring de la simulation temps réel
Méthode statique
Éditer votre modèle pour ajouter un bloc OPmonitor dans le sous-système
GUI (SC) (disponible dans la bibliothèque)
Ne pas relier l’entrée du bloc et relier les sorties sur un “mux” pour concaténer les variables dans un vecteur
Relier la sortie du mux sur un display et régler sa taille afin de permettre l’affichage des variables
Répéter les étapes pour lancer la simulation
Méthode Dynamique
Permet de de monitorer tout les signaux dynamique (voir image ci-dessous)
Dans Matlab/simulink
Dans OpComm du SC_xxx, cocher l’option “Dynamic signal acquisition”
Le relier directement à un display ou déconcatener avec un demux
Dans RT-LAB
Cliquer sur “probe control” dans les icônes en haut
Cliquer sur signaux
Choisir le nombre de signaux à visualiser
Développer le menu contextuelle qui liste les signaux
Faite un drag and drop du signal désiré dans le tableau
Ouvrir le scope pour vérifier la visualisation
Sauvegarde de donnée sur le disque dur du système OpalRT
Éditer votre modèle pour ajouter un bloc “OPwritefile” dans le sous-système de calcul (SM)
Ajouter un mux qui concaténera toutes les variables à enregistrer dans un seul vecteur
Relier la sortie du mux au bloc OPwritefile et modifier les paramètres du bloc (taille du fichier, nom du fichier, nom du vecteur, etc.)
Le fichier créé (un .mat) se trouve dans un sous-répertoire du workspace (chemin_workspace/nom_projet/models/nom_du_modele_matlab/nom_du_SM/OpREDHAWKtarget/ )
Seulement 5 blocs OPwritefile peuvent être placés dans un modèle
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 de la parallélisation, Il faut séparer le modèle en sous-système
Il faut aussi placer un générateur d’état sur chaque sous-système (Integrator ou Memory)
Slides n°4
Utilisation des entrées/sorties
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.
Un numéro de port correspond à 8 sortie, d’où le mux pour choisir la bonne sortie/entrée
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é.
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
Les port number pour les entrées/sorties digital ne peuvent être utilisés que sur une configuration :
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
Toujours faire attention au pas de temps, ils doivent toujours être des multiple pour être synchronisé
Deux bloc disponible
![FIXME](/le2pWiki/lib/images/smileys/fixme.svg)
:
Automatisé les tâches
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”
Ne pas oublier de placer le RTlab
API import
Temps réel SmartGrid
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
Voir avec ceux qui sont resté jusqu’à la fin.