Sie sind auf Seite 1von 30

Introduction rapide et incomplte XPC TARGET Gnration de code automatique et noyau temps rel

Vincent MAHOUT

vincent.mahout@insa-toulouse.fr

p. 1/30

Ide de base
A partir du correcteur conu sous Simulink : gnrer directement le code correspondant et le charger dans une cible autonome Faire tourner la cible sous un noyau temps rel Avoir les outils ncessaires pour dialoguer entre lunit de dveloppement et la cible Rcupration de donnes exprimentales Modication de paramtres (correcteur, consigne,..) Cration dune interface utilisateur au besoin

vincent.mahout@insa-toulouse.fr

p. 2/30

La conguration
Trois entits diffrentes : Le PC de dveloppement Le PC cible (ou microcontrleur,...) Le systme contrler
PC Windows Matlab Simulink
Carte rseau Com1

PC XPC +Application uk Carte acquisition


Com1 Carte rseau

yk

vincent.mahout@insa-toulouse.fr

p. 3/30

Conguration
Pour "jouer" avec XPC, il existe un Navigateur qui permet (entre autre) : Gerer les congurations Explorer les objets sur la cible : permet de grer les cibles, leurs applications et les diffrents objets quils contiennent.

vincent.mahout@insa-toulouse.fr

p. 4/30

Conguration

vincent.mahout@insa-toulouse.fr

p. 5/30

Gestion de la conguration
Outil qui permet de dnir la communication et le compilateur C utiliser (exclusif MS Visual C++) Permet aussi de fabriquer une disquette contenant le noyau temps rel pour la cible (Romable). Le PC cible dmarre sur cette disquette.

vincent.mahout@insa-toulouse.fr

p. 6/30

Gestion de la conguration : compilateur

vincent.mahout@insa-toulouse.fr

p. 7/30

Gestion de la conguration : communication

vincent.mahout@insa-toulouse.fr

p. 8/30

Faire tourner une application sur XPC Target


Cration de lapplication simulink "classique" suivante

La simulation sur le PC de dveloppement entrane la visualisation sur le scope

vincent.mahout@insa-toulouse.fr

p. 9/30

Cration dune application XPC


Pour faire tourner cette application sur le PC cible (sous XPC), il faut raliser les oprations suivantes Dans le congurateur de paramtres (menu simulation) sous longlet Real Time Workshop, il faudra choisir la cible avec le bouton Browse

RTW est loutil qui permet de traduire Simulink en langage C (temps rel)
vincent.mahout@insa-toulouse.fr p. 10/30

Cration dune application XPC

vincent.mahout@insa-toulouse.fr

p. 11/30

Cration dune application XPC (2)


On choisit comme cible la XPC target

On notera au passage la possibilit de crer une application pour des supports autres que XPC. Ce choix congure le make file qui sera lanc lors de la compilation.
vincent.mahout@insa-toulouse.fr p. 12/30

Cration dune application XPC (3)


Il faut ensuite dnir le solveur. A ce stade il est encore possible dutiliser un solveur pas variable mais comme par la suite on va travailler en pas xe (chantillonnage) il faut mieux partir sur un solveur pas xe Les 3 variables positionner sont donc : le solveur pas xe, la priode dchantillonnage (variable matlab de prfrence) et la dure de lexprimentation (inf pour linni)

vincent.mahout@insa-toulouse.fr

p. 13/30

Cration dune application XPC (3)

vincent.mahout@insa-toulouse.fr

p. 14/30

Cration dune application XPC (4)


A partir de l tout est simple, il suft de cliquer sur le menu build dans la menu Tools->Real Time workshop de lapplication Simulink et Gnration du code C par RTW Appel au compilateur C Construction de lapplication XPC Chargement de lexcutable sur la cible Pilotage de lexcutable depuis le PC de dveloppement

vincent.mahout@insa-toulouse.fr

p. 15/30

Execution sur la cible : la main


Dans le workspace vous avez un objet (tg) qui est le point dentre de lapplication sous Matlab Les infos contenues dans cet objet sobtiennent par la commande get(tg) Pour passer en Status "running" il suft de taper +tg (ou start(tg) ) Pour passer en Status "stopped" il suft de taper -tg (ou stop(tg) ) Sur la fentre du PC cible, on dispose de quelques infos : le nom de lapplication, la taille mmoire utilise, la priode dchantillonnage et lexcution (stopped ou le temps courant) Voir le temps courant scouler sur la cible est une preuve que lapplication est vivante
vincent.mahout@insa-toulouse.fr p. 16/30

Execution sur la cible : lexplorateur


On peut prfrer utiliser lexplorateur XPC pour agir sur la cible (commande xpcexplr) Ce dernier permet de grer les cibles et les applications embarques Une fois la cible connecte (elle ny est pas par dfaut mme si lapplication est charge) on a la fentre suivante :

vincent.mahout@insa-toulouse.fr

p. 17/30

Execution sur la cible : lexplorateur

vincent.mahout@insa-toulouse.fr

p. 18/30

Rcupration des donnes : la main


Si lon a plac des blocs output et que lon a coch les options Time et Output dans longlet Data "ImportExport" du congurateur de paramtres de lapplication

Le commande temps = tg.timelog et y = tg.outputlog permettent de rcuprer le vecteur temps et celui du (ou des blocs) sortie dans lespace de travail Il ny a alors plus qu faire un plot(temps,y) pour avoir les rsultats (aprs excution)
vincent.mahout@insa-toulouse.fr p. 19/30

Rcupration des donnes : la main

vincent.mahout@insa-toulouse.fr

p. 20/30

Rcupration des donnes : avec lexplorateur


La mme manipulation est possible depuis lexplorateur

vincent.mahout@insa-toulouse.fr

p. 21/30

Visualisation de signaux en temps rel


Il est possible de visualiser en temps rel lvolution dun ou de plusieurs signaux Cela suppose de crer un scope XPC sur lapplication Ce bloc se trouve dans longlet misc de la bibliothque XPC

vincent.mahout@insa-toulouse.fr

p. 22/30

Remarques sur les scopes


Les scopes peuvent tre crs partir de lexplorateur (et aussi par des commandes matlab) Ils sont de 3 types : Target : la visualisation se fait sur le cible Host : Fentre de visualisation sur le PC host (=> transfert en temps rel) File : enregistrement dans un chier de donnes sur le PC Host(.mat) Il peut en avoir plusieurs Diffrents modes possibles (roll, redraw,...) et autres paramtrages (surchantillonnage, trigger,..)

vincent.mahout@insa-toulouse.fr

p. 23/30

Modications de paramtres
La grande majorit des paramtres de lapplication est modiable en ligne et pendant que lapplication tourne On peut rcuprer la liste des paramtres de lapplication par tg.Showparameters = on On peut rcuprer la valeur dun paramtre par tg.getparam(i) , o i est le numro du paramtre concern. (Attention lordre des paramtres peut voluer lorsque lon modie lapplication) On peut modier la valeur dun paramtre par Stat = tg.setparam(i,newval) , o le structure renvoye Stat contient le numro du paramtre modi ainsi que lancienne et la nouvelle valeur. Ces commandes sont trs pratiques lorsque lon veut crer une interface utilisateur lapplication (emploi de GUI Matlab)
vincent.mahout@insa-toulouse.fr p. 24/30

Modications avec lexplorateur


Lexporateur permet la visualisation et le modication des paramtres (plus simple)

vincent.mahout@insa-toulouse.fr

p. 25/30

Interface avec lextrieur


Le PC cible est dot dune carte dacquisition NI 6024E : 16 entres A/D + 2 sorties D/A Pour connecter votre application avec le process vous devrez utiliser les blocs spciques cette carte La bibliothque XPC est classe par type dE/S puis par constructeur

vincent.mahout@insa-toulouse.fr

p. 26/30

Insertion dun bloc A/D


Le bloc A/D (resp. D/A) permet de slectionner le (ou les si on spcie un vecteur) canal utiliser Dans les paramtres on spcie aussi la valeur mettre sur le port (Initial value si Reset value vaut 1, dernire valeur crite si 0) lorsque la cible ne tourne pas (plus)

vincent.mahout@insa-toulouse.fr

p. 27/30

Insertion dun bloc A/D

vincent.mahout@insa-toulouse.fr

p. 28/30

Application type
Une application type avec consigne externe (potentiomtre ou GBF) donnera le schma suivant :

vincent.mahout@insa-toulouse.fr

p. 29/30

Ce que je ne vous ai pas dit


Pas dexplication sur la gestion du temps rel sous XPC (interrupt mode ou polling mode) Les possibilits de crer une application bootable Les possibilits de positionner Simulink en mode external ; lien direct entre le schma Simulink et lapplication sur le cible Les possibilits de jouer avec un Web browser Lcriture directement en C pour crer une application (le code C gnr par RTW est accessible...allez y jeter un petit coup doeil)

vincent.mahout@insa-toulouse.fr

p. 30/30

Das könnte Ihnen auch gefallen