Vous êtes sur la page 1sur 7

LABVIEW : une plateforme pour la mise en uvre des TP sur

les bus de terrains industriels

Jean-Louis BIANCHI
Lyce Jules Ferry
29 rue du Marchal Joffre 78000 Versailles

Rsum :Utilisation de Labview travers un travail pratique en STSD IRIS. La mise en uvre dune
communication par bus GPIB entre un appareil dacquisition et Labview.

1. Pourquoi Labview ? souvent proches, la spcialisation nest pas souhaitable


dun point de vue pdagogique.
Avec la gnralisation des quipements
La plateforme Labview nous semble amener des
communicants, lapproche pdagogique exprimentale
solutions la fois techniques et pdagogiques trs
doit tre repense pour intgrer ltude des rseaux et
intressantes. Dun point de vue technique, notons quil
bus de terrains industriels. Cela implique dune part la
sagit dun outil trs rpandu en milieu industriel et
matrise des outils de mise en uvre des diffrents
donc fiabilis. La mise en uvre des matriels est
protocoles rseaux, et dautre part une approche
grandement simplifie, particulirement si on utilise
nouvelle de ltude des quipements eux-mmes dans
des supports National Instruments, mais galement
ce contexte. Nous avions abord ce dernier point dans
avec la plupart des quipements pour lesquels des
un prcdent article de la revue 3EI
solutions (pilotes) Labview existent. Si Labview est n
(Deprez/Bianchi/Juton/Maillefert : bus de terrain et
avec linstrumentation, son volution a
supervision); en ce qui concerne ltude des bus de
considrablement largi les champs dapplication et il
terrains et rseaux industriels, plusieurs points sont
intgre des outils adapts la plupart des
prendre en considration :
proccupations industrielles : supervision,
Le niveau dintervention : lapproche ne peut tre
instrumentation, traitement du signal, contrle process,
identique si lon sadresse des tudiants en
temps rel etc
formation BTS/DUT ou des tudiants en cole
Dun point de vue plus pdagogique, remarquons
dingnieur et en licence professionnelle. Ltude
que le dveloppement sous Labview utilise tous les
des bus de terrains et leur mise en uvre implique
concepts informatiques de base (variables, tableaux,
un socle de connaissances stabilis sur les
structures de programmation, manipulations de
quipements (instruments, automates, calculateurs)
donnes) ; son apprentissage vient donc conforter les
et leur mise en uvre spcifique.
fondamentaux. Par ailleurs, on remarquera que
La spcialit : mme si lenseignement de
linterface graphique est particulirement bien adapte
linformatique a beaucoup progress, la ralisation
aux tudiants des filires gnie lectrique habitus la
dapplications dans des contextes communicants peut
schmatisation et au concept de flux de donnes.
se heurter un manque de matrise des outils de
Laspect intuitif du dveloppement, parfois critiqu,
dveloppement informatique. Cela peut tre le cas
peut tre relativis si lenseignant a le souci dexiger
dtudiants non spcifiquement informaticiens mais
une analyse formalise.
amens dvelopper des applications telles que
Enfin, remarquons que les librairies intgres de
supervision dautomates, instrumentation et
Labview permettent de traiter tout type dentre/sorties
centralisation de mesures par exemple.
dinstruments en mettant en uvre les outils de
Ce dernier point est relativiser : on objectera quil
communications de donnes spcifiques la plupart
existe des outils spcifiques dvelopps pour rpondre
des protocoles. On dispose ainsi dune plateforme trs
ces besoins tels que les logiciels de supervisions par
ouverte qui au lieu de spcialiser, sectoriser les filires,
exemple. Toutefois ces outils sont trs spcialiss,
donne tous des outils simples mettre en uvre pour
parfois orients vers un type de matriels ou
la ralisation dapplications informatiques industrielles.
constructeurs bien prcis. Leur mise en uvre suppose
un apprentissage compltement ddi, trs opratoire et
qui sera souvent limit ce que lon peut faire dans le
temps imparti. Par ailleurs, mme si les concepts sont
2. Mise en situation Un oscilloscope avec interface GPIB Tektronix
TDS2xxx
Nous avons choisi, au travers de deux Travaux
un cble IEEE488.
Pratiques, daborder ltude et la mise en uvre de bus
Un PC avec LABVIEW 2011 et MAX
de terrains industriels. Ces travaux sont proposs des
(Measurement& Automation).
tudiants en licence professionnelle A.I.I. option
contrle et instrumentation des systmes embarqus
propose aux tudiants bac+2 conjointement par le
lyce Jules Ferry de Versailles et lI.U.T. de Cachan, et
des tudiants apprentis ingnieurs en gnie lectrique.
Deux aspects sont viss au travers de deux sances de
T.P. :
Les outils de communication dans les applications
dinstrumentation, et cest le bus G.P.I.B. qui a t Coupleur IEEE488/USB
retenu,certes ancien mais toujours trs utilis dans
lindustrie, pour sa fiabilit et son universalit dans le 4.2. Le contexte et les objectifs du TP :
domaine de la mesure et de linstrumentation. Nous avons constitu un banc de mesures avec :
La supervision des automates programmables Un instrument de mesure contrlable par une
industriels en rseaux utilisant le protocole MODBUS interface informatique, et qui effectue
TCP sur Ethernet. lacquisition
de mesures.
3. Les objectifs Un bus de communications GPIB permettant le
transfert des donnes de mesures et des
Chaque TP possde des objectifs propres au
commandes
contexte industriel de rfrence mais lobjectif
de configuration.
commun principal est de dvelopper une application
Un ordinateur pour la supervision du banc.
dans un temps limit (4 heures) mettant en uvre un
bus de terrain industriel et sa problmatique
dveloppe en cours.

4. Le contrle dun instrument par bus GPIB


(IEEE488)
Il sagit ici de mettre en uvre loutil LABVIEW
dans une application avec machine dtats permettant
le contrle distant dun oscilloscope Tektronix TDS2xx
ainsi que lacquisition de mesures au travers du bus
GPIB/ IEE488. Les champs abords sont :
Instrumentation : Configurer un instrument de
mesure pour permettre son contrle au travers Nous devons raliser un programme informatique
dun rseau sur bus IEEE488. qui ordonne de maniresquentielle les ordres
Bus de terrain : Configurer un bus IEEE488 linstrument pour que celui-ci ait uneconfiguration
avec un contrleur matre et un instrument de adapte aux mesures que lon souhaite raliser etnous
mesures renvoie celles-ci au travers du bus GPIB pour un
Programmation Labview : Crer une application affichage dans une I.H.M. Les donnes rcupres
LABVIEW permettant de lire ou crire des peuvent tre les points de la courbe dune voie choisie
commande ou donnes sur un bus IEEE488 vers de loscilloscope ou lacquisition dune mesure
un instrument de mesures afin de le contrler et demandepar lutilisateur telle que frquence, tension
effectuer des acquisitions de mesures. RMS ou autre
Dveloppement informatique : concevoir une
machine dtats. 4.3. La progression du TP et les mthodes
proposes :
4.1. Matriel et logiciels utiliss :
Les tudiants ont leur disposition le rpertoire des
Coupleur IEEE488/USB National Instruments: commandes et questions GPIB propres linstrument
GPIB-USB_HS5 utilis. Avant de se lancer dans la programmation
Labview, quelques tests basiques permettent de vrifier Structure algorithmique : Afin de structurer le
que le bus est oprationnel, que linstrument et le travail et dviter une criture anarchique du
contrleur GPIB sont bien connects. Cest ce que programme, on impose une structure de machine
permet de faire trs simplement loutil Measurement& tats :
Automation disponible avec la suite Labview. On Init
Sur modif de config
Configuration
pourra galement tester quelques commandes GPIB de en face avant.
Instrument
linstrument :
1re partie : Configuration du bus GPIB et tests
laide de loutil Ni_MAX (Measurement& Sur time out

Automation) : Acquisition
Close Event ?
Il sagit ce stade dattribuer une adresse GPIB Graphe
Stop
linstrument, de tester la connexion GPIB et de
passer quelques commandes et questions basiques
linstrument. On placera galement linstrument Sur erreur depuis

dans une configuration initiale permettant de tous les tats.


Sur demande de
simplifier la tche de lapplication raliser. mesures en face avant. Acquisition
Linstrument0 est dtect, (oscilloscope
Mesures
TDS220, adresse GPIB : 2).

EtatInit : Etat dinitialisation dans lequel on place linstrument


dans une configuration de base par dfaut..
EtatEvent : Constitu dune boucle vnementielle, il gre les
requtes en face avant.
Prsence du contrleur GPIB-USB-HS5
Etat configuration instrument : instanci depuis ltat event si
une demande de modification de configuration (calibre par
exemple) sest produite en face avant.
Aprs avoir slectionn linstrument, linterface de Etat acquisition mesures : instanci depuis ltat event si une
MAX permet lenvoi de commandes et requtes GPIB : demande dacquisition de mesure sest produite en face avant.
Etat acquisition graphe : cet tat rapatrie les points du graphe
prsents sur lcran oscilloscope, il est excut chaque
time out de la boucle vnementielle.
Etat close : Excut depuis Event aprs dtection de stop en face
avant ou sur erreur, il clt la connexion GPIB.

4.4. Les outils Labview pour la communication


de donnes
En ce qui concerne la gestion GBIB/IEEE488, deux
librairies peuvent tre utilises, une librairie spcifique
au bus GPIB ou la librairie VISA. Si on considre que
-Demande didentification- cette dernire possde un caractre plus universel, que
les tudiants lont dj utilise dans dautres
applications dune part, que du point de vue mise en
uvre du GPIB un TP est une application
volontairement limite dautre part, on retient la
librairie VISA dont voici les fonctions essentielles
proposes pour ce TP :
VISA Open & Close: Permettent louverture et la
fermeture dune connexion vers linterface GPIB.

-Configuration pour mesure de valeur crte crte-


VISA Read &Write: Permettent respectivement
lcriture et la lecture de chanes de caractresvers
2me partie : La programmation de lapplication ou en provenance de linterface GPIB.
LabView et les librairies disposition :
4.5. Rappels sur le principe des
communications GPIB:
Tous les composants et interfaces prsents
sur le bus GPIB doivent possder une adresse
Etat slectionn
unique comprise entre 0 et 30. Ladresse 0 est
rserve au contrleur dinterface GPIB, les
instruments peuvent donc utiliser une adresse Registre dcalage (out)
comprise entre 1 et 30.
Le contrleur gre le flot des informations
sur le bus, il dfinit les liens de Registre dcalage (in)
communication et envoie les
commandes aux instruments en Slection des tats

grant les adresses. Premier tat (init) Prochain tat ( i+1)


Le bus GPIB transfre plusieurs types
dinformations : Ltat stop permet de clore

Les commandes (COMMANDS) : Ce les communications et quitter

sont des chanes de caractres qui lapplication.

ordonnent un instrument deffectuer une


opration telle queffectuer une mesure ou
mmoriser un rglage.
Les questions (QUERIES) : Ce sont des chanes
de caractres qui interrogent un instrument et Avant dentrer dans la machine dtats, on scrute le
provoquent une rponse de sa part. Une chane de bus afin de dterminer quels sont les instruments
question se termine toujours par un point connects sur la ressource GPIB :
dinterrogation (ex : IDN ? demande Visa ouvrir une connexion
didentification dun instrument). Vers la ressource GPIB dtecte et issue du

Les donnes (DATAS) : Elles sont utilises pour tableau de chane constituant la liste

passer linformation. Elles peuvent tre mises Des instruments connects.

vers linstrument comme en provenir.

Remarque : Certaines commandes et questions sont


communes tous les instruments, dautres sont Visa Find

spcifiques tel ou tel instrument ; commandes et


questions communes commencent par un
astrisque :(*) La fonction Visa Find interroge le systme pour
localiser les priphriques associs une interface
4.6. La programmation de lapplication GPIB spcifie, en loccurrence ici le GPIB. La fonction
sous Labview : retourne en sortie un tableau de chanes constituant la
Le modle de machine dtats dcrit une srie liste des instruments connects en GPIB, la suite de
dtats et les conditions dvolution dun tat lautre. quoi il est possible douvrir une connexion vers
Chaque tat excute du code et dtermine ltat suivant linstrument choisi.
excuter, les tats sont passs dune itration la
1 Initialisation : Configuration par dfaut de
suivante par un registre dcalage implant sur la
linstrument
boucle while :

Cette premire tape consiste envoyer une srie


de commandes GPIB pour placer linstrument dans une
configuration par dfaut. On pourra ainsi choisir une
voie dacquisition par dfaut, la sensibilit verticale, la
base de temps principale, le niveau de dclenchement
de celle-ci, le type de codage retenu pour le transfert
des donnes, etc.
2 Event : Attente dun
vnement en face avant :
Cet tat utilise une
structure vnementielle qui
attend quun vnement se
produise puis excute selon la
condition approprie le code
associ cette condition. Cette
structure est particulirement
bien adapte ici :
Ecrituredune chaine de

Si une modification de commande GPIB , soit :

configuration de Variable locale(type chane) contenant le


HOR :MAI :SCA suivie du

linstrument est paramtre de configuration de la base de


paramtre de configuration.

Calibrage de la base de temps


demande en face avant temps.
principale.
par exemple, la structure
renvoie vers ltat
configuration , si une
demande dacquisition de
mesure est sollicite en face avant, la structure
renvoie ltat mesure . Le traitement des donnes issues de linstrument :
On notera quavec ce type de structure, une Les donnes mises par linstrument doivent
commande GPIB nest mise que si ncessaire tre exploites dans lapplication Labview pour tre
suite une modification sur lIHM, ce qui permet prsentes sur lI.HM. En ce qui concerne la
dviter les transferts inutiles sur le bus. rcupration des points daffichage de la courbe
lcran par exemple, linstrument renvoie une
On peut intgrer un vnement time out dans chane de caractres reprsentant un nombre. Ce
la structure vnementielle. Cest ce qui est fait nombre code la position du point sur lcran dans
ici : au time out si aucun autre vnement ne sest un codage qui peut tre choisi (notons que comme
produit la structure renvoie vers ltat dautres paramtres de configuration de
acquisition dans lequel on rapatrie les points linstrument, il peut tre dfini de base et
de la courbe prsente sur la voie slectionne de charge pour lutilisateur de placer linstrument dans
linstrument. la bonne configuration avant utilisation du logiciel,
ou configurable depuis le logiciel si celui-ci intgre
3 Configuration : la commande de configuration correspondante).
Permet de configurer linstrument (un oscilloscope Dans le cas de loscilloscope utilis ici, une
TSD2xxx) en fonction des choix effectus sur lIHM courbe prsente lcran est compose de 2500
par lutilisateur. Les commandes GPIB et leur syntaxe points au maximum et chaque point peut tre cod
sont fournies par le constructeur. Il sagit de simples en amplitude selon les formats suivants
chaines de caractres mises lors dune criture sur le dtermins par la commande GPIB de codage des
bus GPIB vers linstrument. Elles doivent intgres les donnes :
paramtres choisis par lutilisateur, pass ici par Commande GPIB Format Codage binaire
Octet de tte

variables locales : (16 bits)

DAT : ENC : ASCI ASCII -- --


4 Acquisition graphe DAT : ENC : RIB Binaire Entier sign (8 ou 16 bits) MSB
Cest partir de cet tat que sont rapatries les DAT : ENC : RPB Binaire Entier positif (8 ou 16 bits) MSB
donnes demandes linstrument. Il pose quelques
DAT : ENC : SPI Binaire Entier sign (8 ou 16 bits) LSB
questions intressantes : tout dabord le format des
DAT : ENC : SPB Binaire Entier positif (8 ou 16 bits) LSB
donnes mises par linstrument et leur exploitation
vers lIHM. Ensuite, un problme plus spcifique la
gestion des communications : la synchronisation des En format ASCII, les donnes sont codes sur 8 bits
changes. (un caractre) ; pour les autres formats (binaires), il est
possible de choisir un codage 16 ou 8 bits et dans ce Gestion temporelle des changes : elle
cas la diffrence entre les codages S et R porte sur consiste introduire un time out qui va
lordre de rangement des deux octets. permettre dattendre que linstrument soit prt
avant de faire la lecture. Cest la solution la
Dans les codages signs (RPI et SPI), en 8 bits la moins performante, cela ncessite de connatre
gamme est de -128 +127 pour respectivement le bas le temps ncessaire pour chaque opration,
de lcran et le haut de lcran de loscilloscope, soit un elle devient vite ingrable lorsquon dialogue
code complment 2 (-32768 et 32768 en 16 bits), le avec plusieurs instruments
centre de lcran tant cod 0. Dans les codages non Les deux mthodes suivantes ncessitent de
signs (RPB et SPB) le 0 indique le bas de lcran et le connatre la structure du contrleur embarqu dans tout
maximum le haut. instrument IEEE488, soit :

Voici un exemple de code illustrant la simplicit


avec laquelle peuvent tre traites les donnes :

Mise chelle

Le code utilis ici est le code RIB en 8 bits. On lit


une chane de caractre de 2506 points dont une entte
de six octets, une fonction sous ensemble dune
chane permet dliminer cette entte. A la suite de On remarque la prsence du registre dtat STB
quoi, la chane est transforme en un tableau de 2500 quipeut tre scrut laide de la fonction VISA
octets dont le codage est sign en 8 bits (I8) ; aprs une suivante :
mise chelle dpendant du calibre choisi en face
avant, ces donnes peuvent tre affiches sur le graphe
dI.H.M. (On remarquera le caractre polymorphe de la
Les registres ESR, ESE et SRE permettent le
fonction multiplication qui sapplique sur un tableau
contrlede linstrument en mode vnementiel. Leur
ici)
programmation permet de gnrer une requte de
La synchronisation des changes : Cest la
service au contrleur sur un vnement prcis comme
proccupation majeure elle concerne la gestion du
flux des changes entre linstrument et le par exemple la file dattente de donnes pleine.
contrleur. Prenons le cas o on met une
demande de donnes reprsentant une courbe Gestion des changes en mode scrutation
prsente lcran de loscilloscope avec la (polling) : Cest la mthode que nous
utiliserons dans ce TP. Elle consiste faire
question CURV ? par exemple. Dans ce cas
une lecture du registre de statut (STB) de
linstrument doit prparer les donnes dans un
linstrument lorsquon attend des donnes.
buffer et cest seulement lorsque celui-ci est plein
Lorsque la file dattente de linstrument est
que le message est disponible et que lon peut
mettre une commande de lecture VISA READ. pleine et que les donnes sont disponibles
Se synchroniser cest mettre en uvre un contrle pour une lecture, le bit 4 du STB, soit MAV
qui permet dtre certain que les donnes sont (message available) le signale en passant 1.
Tant que ce bit nest pas 1 on attend,
disponibles avant de faire la demande de lecture.
lorsquil passe 1 on peut effectuer la lecture,
Trois mthodes peuvent sappliquer avec plus ou
exemple :
moins defficacit :
Transformation du mot dtat en tableau
Scrutation du registre STB de
de bits
linstrumentdans une boucle while

5. Conclusion
Rappelons que lobjectif
principal nest pas ici strictement
informatique ; il sagit de mettre
en uvre un bus de terrain
industriel dans une application
Lecture des 2500
Envoi de la question CURV ?
limite dinstrumentation. De ce
points constituant la
linstrument (demande de rapatriement
point de vue, la solution
courbe lcran de
des points de la courbe prsente Labview permet ltudiant
linstrument
Test du bit 4 ; tant que celui-ci nest
lcran) daller plus directement
pas 1 on attend
lessentiel en saffranchissant dventuels
problmes de programmation et dadaptation
Gestion des changes en mode
matrielle. Il faut bien sr considrer que ltudiant
vnementiel : Elle consiste utiliser le
nest pas dbutant en informatique et quil connat les
mcanisme des requtes de service
fondamentaux de la programmation Labview. Il sera
lorsquun vnement choisi se produit au
nanmoins amen se questionner sur des concepts
niveau de linstrument. Le procd est
fondamentaux :
comparable celui des interruptions, cest
La reprsentation des donnes :
la mthode la plus performante car elle
Les commandes et questions GPIB seffectuent
nest pas bloquante au niveau de
par envoi de chanes de caractres. Les donnes
lapplication LabView.
en provenance de linstrument comme par
exemple les points dune courbe lcran peuvent
4.7. LI.H.M. de face avant :
avoir plusieurs types de reprsentation (ASCII,
binaire pur). Cela implique une configuration
en connaissance de cause de linstrument et une
interrogation sur les outils de manipulation de
donnes mettre en uvre sous Labview.
La synchronisation des changes :
Cest le point le plus dlicat ; il ncessite une
interrogation sur le comportement de linstrument
et suscite plusieurs approches possibles (time out,
polling, requtes de service). Dans les cas de
scrutation ou requte de service, les tudiants sont
amens tudier la structure du contrleur
IEEE488 de linstrument.
Le protocole de transfert et la charge du bus :
Cet aspect vise plus particulirement interpeler
les tudiants sur les protocoles mettre en uvre
pour la prise en compte dvnements tout en se
proccupant de la charge admissible des transferts
La conception de la face avant propose ici fait sur le bus.
intervenir plusieurs points importants, notamment : La mise en forme des acquisitions et leur
La mise en uvre dune structure vnementielle reprsentation graphique :
permettant lenvoi de commande GPIB vers Plus spcifiquement informatique, ce point vise
linstrument uniquement sur changement dtat mettre en uvre les nuds de proprits de faon
des commandes en face avant. produire des I.H.M. conviviales et adaptes au
La mise en uvre de nuds de proprits cahier des charges.
permettant ladaptation des chelles de graphe et
niveau de synchronisation en fonction des
rglages choisis pour linstrument.