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 

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