Você está na página 1de 199

Cours dinitiation

au logiciel LabVIEW

Nicolas POUSSET
Dernire mise jour : 05/11/07
1

Objectifs du cours

Prsenter LabVIEW et ses fonctionnalits.


Comprendre les composants d'un Instrument Virtuel (appel VI).
tablir une application simple d'acquisition de donnes.
Crer un sous-programme dans LabVIEW.
Travailler avec les tableaux, les graphiques, les clusters et les structures.
Connatre des dispositifs dimpression et de documentation dun VI.
Dvelopper des architectures de programmation de base.
Publier des VI sur le Web.
Matriser les bases de communications par liaison GPIB et Srie.
Connatre les outils de base dacquisition et de traitement dimages.
Comprendre les concepts de base du dveloppement temps rel.

SOMMAIRE
Partie I
Partie II
Partie III
Partie IV
Partie V
Partie VI
Partie VII
Partie VIII
Partie IX
Partie X
Partie XI
Partie XII

Introduction LabVIEW
Les Sous VI
Acquisitions de donnes
Boucles, registres dcalage et introduction aux
graphiques
Tableaux et fichiers
Fonctions des tableaux et graphiques
Chanes de caractres, clusters et traitement derreurs
Structures Condition et Squence, Bote de calcul
Variables
Tables et nuds de proprits
Impression et documentation de VI
Architecture de la programmation basique

5
43
55
71
81
93
102
116
126
134
144
152

Partie XIII
Partie XIV
Partie XV
Partie XVI
Partie XVII

Outils de publication sur le Web


Contrle dinstruments
Module Vision
Dveloppement dapplications temps rel
Sujets complmentaires

157
161
173
186
197

Partie I Introduction LabVIEW


Gnralits.
Vocabulaire LabVIEW.
Environnement LabVIEW.
Composants dune application LabVIEW.
Outils de programmation LabVIEW.
Crer une application LabVIEW.

Instrumentation Virtuelle avec LabVIEW

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) est un


environnement de dveloppement graphique qui permet de crer des
applications modulaires et extensibles pour la conception dapplications, le
contrle et le test.

LabVIEW est un outils dacquisition,


danalyse et de prsentation de donnes.

Acquisition avec LabVIEW


LabVIEW permet lacquisition de
donnes par lintermdiaire de
diverses connectiques :
PCI (Peripheral Component Interconnect) USB (Universal Serial Bus)
CompactFlash
GPIB (IEEE 488) (General
Purpose Interface Bus)
LAN (Local Area Network)
PXI (PCI eXtensions for Instrumentation) Firewire (IEEE 1394)
Ethernet
PCMCIA (Personal Computer Memory
Card International Association)
Srie (RS 232, RS 449, RS
422, RS 423, RS 485)
Wi-Fi (IEEE 802.11 b/g/n) (Wireless
Fidelity)
VXI (VME eXtensions for
Instrumentation)
Bluetooth
IrDA (Infrared Data Association) IEEE : Institute of Electrical and Electronics Engineers

Analyse avec LabVIEW


LabVIEW inclut des
lanalyse des donnes :

outils

pour

Plusieurs centaines de fonctions danalyses


(traitement dimages, calculs de moyenne,
dcart-type, rgressions polynomiales,)
VI Express pour lanalyse (analyse spectrale,
mesures frquentielles, statistiques)
VI de traitement du signal (filtrage, dtection
de pics,)

Prsentation avec LabVIEW


LabVIEW inclut des outils daide
la prsentation (communication)
des donnes :
Graphiques, tableaux, images, gnration
de rapport,
Par lintermdiaire dInternet (outils de
publication web, serveur Datasocket,
TCP/IP, envoie dalertes par email)

10

Un peu dhistoire

11

Mars 1998

LabVIEW 5.0 ActiveX, Multifentrage

1997

LabVIEW 4.0 addition doutils pour les professionnels,


amliorations du debogage

Aot 1993

LabVIEW 3.0 version multiplatforme de LabVIEW

Septembre 1992

LabVIEW pour Windows, et pour Sun

Janvier 1990

LabVIEW 2.0 pour Macintosh

Octobre 1986

LabVIEW 1.0 pour Macintosh

Avril 1983

Dmarrage de LabVIEW

Un peu dhistoire

12

2007

LabVIEW 8.5, outils de dveloppement multicurs (lis aux


innovations dans larchitecture des processeurs de PC),
programmation par diagramme dtats (statecharts)

2006

LabVIEW 8.2 dition des 20 ans, LEGO Mindstorms NXT

2005

LabVIEW 8 DSP (Digital Signal Processing), systme


embarqu

Mai 2003

LabVIEW 7 VIs Express, Assistants I/O, FPGA/PDA

Janvier 2002

LabVIEW 6.1 Analyse, fonctionnement en rseau

Aot 2000

LabVIEW 6i Applications Internet

1999

LabVIEW Temps rel

LEGO Mindstorms NXT

Moteurs

4 Entres 3 Sorties
Capteur de contact

Capteur de son

metteur/Rcepteur
ultrasons

Capteur de lumire

Animaux

Humanode

13

Machine

LEGO Mindstorms NXT


Environnement de dveloppement graphique.

Le programme
est charg
dans le robot
via une
connectique
Bluetooth ou
USB.

14

Notions de temporisation, de boucles, de


gestion dvnements,

LEGO Mindstorms NXT


Autres exemples de conceptions :

Pilotage dun hlicoptre

15

Possibilit
dutiliser
directement LabVIEW
pour la programmation
et la gestion dlments
plus complexes.

Rsolution dun Rubiks cube

Les programmes LabVIEW appels Instruments


Virtuels ou Virtual Instruments (VI)
Face avant
Interface utilisateur
Contrles = entres
Indicateurs = sorties

Diagramme
Fentre daffichage du code
source
Interaction entre face avant et
diagramme (Ctrl+E)

16

Face avant dun VI


Barre doutils
de la face
avant
Contrles
numrique

17

Barre des menus

Icne
Lgende
du graphique

Contrle
boolen

Graphique

Grandeurs en
abscisse et en
ordonne de la
courbe

chelle du
graphique

Diagramme dun VI

Barre des menus

Barre
doutils
du
diagramme

Bote de
calcul

Constante
numrique

Fonction
division

Structure dune
boucle While (tant que)

18

Structure dune
boucle For

Fil de
donnes

Terminal de
contrle boolen

Terminal
graphique

Ouvrir un VI

Des modles de
VI dj cods
sont disponibles.

19

Modles de VI

Ouvrir un VI

Modles de VI

Aperu de la Description
face avant
du VI

Modle de VI pour
Pocket PC
Modle de VI pour
communications par
GPIB

Permet davoir une


trame simple et
fonctionnelle
rapidement

20

Aperu du
diagramme

Ouvrir un VI
Les exemples sont
trs riches et souvent
trs utiles pour
dvelopper de petites
applications
rapidement.

21

Recherche dexemples

Ouvrir un VI
Parcourir dans
les exemples
Recherche par mots
cls dans les exemples
Soumettre un exemple
National Instruments

22

Recherche dexemples

Ouvrir un VI

23

VI vide

Les Fonctions, les VI et les VI Express


Les Fonctions de base : lments dexploitation fondamentaux de LabVIEW.
Les VI Standards : VI qui peuvent tre personnaliss.
Les VI Express : VI interactifs avec une page de dialogue configurable.
Fonction de base

VI Express
VI Standard

24

Palettes de commandes

Remonter larborescence
Rechercher un lment
Personnalisation de la palette

Palette de commandes
(disponible partir de la fentre
face avant par un clic droit avec
la souris ou dans la barre des
menus : Fentre).

Bool
Boolen
Num
Numrique
Tableau et clusters (groupe)

25

Liste et table
Conteneurs

Cha
Chane et chemin
Graphe

Menu d
droulant & num
Commandes classiques
Commandes (dialogue)
Dcorations
Dcorations

Vision (module compl


complmentaire)

Slection de commandes

Commandes utilisateur

E/S
Refnum

Palettes de fonctions
Palettes de fonctions
(disponible partir de la fentre
diagramme par un clic droit avec la
souris ou dans la barre des menus :
Fentre).

Num
Numrique
Structures
Tableau
Cha
Chane
Temps & dialogue
Comparaison
Waveform
Mesures NI
Contr
Contrle d
dapplications
E/S d
dinstruments
Gnration de rapports
Communication
Dcorations
Slection d
dun VI

26

Bool
Boolen
Cluster (groupe ou agr
agrgat)
E/S sur fichiers
Analyse
Graphisme et son
Avanc
Avanc
Biblioth
Bibliothques utilisateur

Palette doutils
Utilise pour agir et modifier les objets de la face
avant et du diagramme (disponible dans la barre des
menus : Fentre).
Possibilit de changer doutils laide de la touche tabulation
du clavier de lordinateur.
Outil slection automatique

27

Outil daction sur la face avant

Outil dplacement

Outil dplacement et taille

Outil darrt

Outil texte

Outil sonde

Outil connexion par fils

Outil copie couleur

Outil raccourci menu

Outil coloriage

Barre doutils
Bouton Excution du programme
Bouton Excution continue
Bouton dArrt dexcution

Autres boutons dans


la barre doutils du
diagramme

Bouton Pause/Reprendre

Bouton de surbrillance
dexcution

Configuration du format du texte


(taille, style, couleur,)
Aligner les objets

Lancer une excution pas


pas

galisation de lespacement entre


les objets
Plan de lobjet (premier ou arrire
plan,)
Redimensionner les objets de la
face avant

28

Aide contextuelle

Progresser dans lexcution


pas pas
Stopper une excution pas
pas

Barre des menus

29

Fonctionnalits classiques des programmes


standards mais galement spcifiques
LabVIEW.

Crer un VI
Fentre de la face avant

Fentre du diagramme
Nud
Terminaux
dindicateur
(sorties)

Terminaux
de contrle
(entres)

=
Commande
Cadre gras

30

Indicateur
Cadre fin

Clic droit sur la


commande (ou la
constante) numrique.

Paramtrage des constantes / commandes


Possibilits de paramtrer
les
proprits
de
la
commande numrique (ou
de la constante).
Clic droit sur la commande
(ou la constante) numrique.

Format scientifique avec 2


chiffres de prcision

Format virgule flottante avec 2


chiffres de prcision

31

Paramtrage des constantes / commandes


Possibilits de paramtrer
les
proprits
de
la
commande numrique (ou
de la constante).
Clic droit sur la commande
(ou la constante) numrique.

Possibilit de
paramtrer la gamme
(avec un minimum, un
maximum et un
incrment).

32

Paramtrage des constantes / commandes


Possibilits de modifier le type de donne
de la commande : entiers (mot long, mot,
octet), rels (prcision tendue, double
prcision, simple prcision),

Indication sur le
type de donne

Permet de fixer une valeur


par dfaut la commande

33

Paramtrage des constantes / commandes

Rels

Entiers

34

Fonction de base

tiquette
Aide contextuelle (Ctrl + H)

Terminaux : 2 entres et 1 sortie

35

Astuces de connexions
Points de Connexions

Trois types de slection

Simple clic

Utilisation du routage
automatique

Clic droit
sur le fils

36

Double clic

Triple clic

Mise en forme des connexions

Programmation par flux de donnes


Nud
Terminaux dentres

Lexcution du diagramme dpend du


flux de donnes. Il ne sexcute pas
ncessairement de gauche droite.
Lexcution du nud se fait quand les
donnes sont disponibles tous les
terminaux dentre.
Puis les nuds fournissent des donnes
tous les terminaux de sortie.

37

Terminaux de sortie

Les options daide


Aide Contextuelle (Ctrl + H)
Aide dtaille
Verrouille laide
Choix du mode de laide
(simple ou dtaille)

Accs laide dtaille


Accs lintgralit du contenu informatif
Ouverture automatique dune fentre pour accder directement laide.

38

Aide dtaille
(barre des menus :
Aide -> Aide LabVIEW )

39

Exercice 1 - Conversion de C en F et en K

Raliser un VI qui permet deffectuer une conversion de C en K et en F.

Conversion de C en K : K = C + 273,15
Conversion de C en F : F = ((9 x C) / 5) + 32

40

Exercice 1 - Conversion de C en F et en K
Exemple de solution possible

41

Techniques de dbogage
Trouver des erreurs
Cliquer sur le symbole de la flche coup
Une fentre Windows apparat avec les erreurs
contenues dans le VI.

Animer lexcution
Cliquer sur le bouton ci-contre. Les donnes dans
des bulles sont animes. Des valeurs sont alors
indiques sur les fils.

Sonde (Probe)
Clic droit sur un fil pour afficher une sonde. Les
donnes qui transitent sur ce fil seront affiches.
Il est galement possible de choisir l'outil Sonde partir
de la palette d'outils.

42

Partie II Les sous VI


Quest-ce quun sous VI ?
Assigner un connecteur et raliser une
icne pour un sous VI.
Utiliser un VI en tant que sous VI.

43

Sous VI
Un sous VI est un
VI qui peut tre
utilis dans un autre
VI de plus haut
niveau.
Avantages :
Modularit (cration de blocs de
base rutilisable pour diverses
applications : gain de productivit)
Facilite le dbogage
Ncessite une seule cration de
code.

44

Icnes et Connecteurs
Une icne reprsente un VI dans
un autre diagramme dun VI de
plus haut niveau.
2 cases en entres pour
les commandes

1 case en sortie
pour lindicateur

45

Un connecteur montre les


terminaux disponibles pour le
transfert de donnes.

Sous VI
Sous VI

Icne reprsentative du
VI de plus haut niveau

VI Principal

46

Icne reprsentative
du sous VI

Sous VI

tapes de cration dun sous VI

47

Crer licne
Visualiser le connecteur
Assigner les terminaux
Sauvegarder le VI
Insrer le VI dans un VI de plus haut
niveau

Crer une icne


Cliquez avec le bouton droit sur licne de la face avant (en haut
droite), ou sur licne du diagramme et choisir diter licne.
Palette doutils ddition du dessin

Couleur de premier plan


Couleur de fond

48

Visualiser le connecteur
Cliquer avec le bouton droit sur licne (face avant seulement)
et choisir Visualiser le connecteur.

49

Assigner les terminaux

50

En gnral, on choisira de
mettre les entres gauche
et les sorties droite.

Sauvegarde du VI
Choisir un emplacement adquat
Organiser par fonctionnalits
Sauvegarder les VI similaires dans un mme rpertoire
(ex : Outils Mathmatiques)

Organiser par applications


Sauvegarder tous les VI utiliss pour une application spcifique
dans un rpertoire ou une librairie.
(ex : Exprience 1 Rponse en frquence)
Les librairies (.llb) combinent plusieurs VIs dans un seul fichier. Ceci est
idal pour transfrer des applications compltes vers dautres ordinateurs.

51

Insrez le sous VI dans un VI de niveau suprieur


Accs aux sous-VI personnels :

- Fonctions >> Toutes les Fonctions >>


>> Slection dun VI

OU
- Faire glisser licne du sous VI sur le diagramme
cible de haut niveau.

52

Autre mthode de cration dun sous VI


Slectionner une zone convertir en sous VI.
Slectionner dans la barre des menus dition : Crer
un sous VI.

53

Astuces pour travailler dans LabVIEW


Quelques raccourcis clavier
<Ctrl+H> Activer/dsactiver la fentre daide contextuelle.
<Ctrl+B> Supprimer les connexions errones du diagramme.
<Ctrl+E> Basculer entre la face avant et le diagramme.
<Ctrl+T> Mosaque verticale des fentres.
<Ctrl+Z> Annuler (aussi dans le menu dition).
<Ctrl+C> Copier un objet.
<Ctrl+V> Coller un objet.

54

Partie III Acquisition de donnes


Outil Measurement and Automation
Explorer (MAX).
Acquisition de donnes DAQ.
(DAQ : Data AQuisition).
DAQ Traditionnel.
DAQmx.
Exemples de matriels ddis lacquisition.

55

Introduction lacquisition de donnes


Flux de
lumire

Phnomne
physique

Conversion du flux de
lumire (photons) en
courant lectrique
(lectrons)

Capteur

Conversion du
signal analogique
en signal
numrique

Chane de traitement
du signal (filtrage,
chantillonnage,)

PC

Un capteur convertit un phnomne physique en un signal lectrique


mesurable par un systme dacquisition de donnes.

56

Exemple de chane dacquisition de


Carte DAQ
donnes
MUX

Cble de
connexion

CAN

Compteur
E/S du bus

Capteurs

Carte lectronique de mise en


forme du signal si ncessaire
Ordinateur

57

Exemple de capteurs
Phnomne
Temprature

Flux de lumire
Son
Force et pression
Position et dplacements
Fluide

58

Capteur
Thermocouple
Capteur de temprature
rsistif (RTD)
Thermistances
Photodiode
Photomultiplicateur
Microphone
Jauge de contrainte
Transducteurs
pizolectriques
Potentiomtres
Codeurs optiques
Dbitmtre turbine /
lectromagntique

Measurement and Automation Explorer


(MAX)

59

Measurement and Automation Explorer


(MAX)
Affiche la liste des priphriques et des instruments
connects au systme.
Permet dexcuter des diagnostics systme pour vrifier le
bon fonctionnement des priphriques connects.
Permet la configuration du matriel.
Permet de crer et modifier des voies, des tches, des
interfaces, des chelles,

60

Measurement and Automation Explorer


(MAX)

Vrification que la
carte dacquisition
est bien dtecte.

Premire vrification du bon


fonctionnement de la carte
dacquisition

61

Acquisition de donnes (DAQ) avec LabVIEW

NI-DAQ traditionnel
Des VI spcifiques pour
accomplir :
Entre analogique
Sortie analogique
E/S numrique
Oprations de comptage

62

NI-DAQmx
Dernire gnration de
drivers :
VI configurables pour
accomplir une tche
Paramtrage dun VI
pour toutes les mesures

DAQ traditionnel
Acqurir un signal

Gnrer un signal

63

DAQmx (assistance)
Acquisition dune tension grce lassistant DAQ.

64

Terminologie de lacquisition de donnes


Rsolution dtermine la valeur minimale de la variation
du signal pouvant tre mesure.
Plus la rsolution est importante, plus la reprsentation du signal est prcise.
Exemple : un voltmtre indique 10 volts. Une variation de 0,1 volts fait bouger
laiguille alors quune variation de 0,05 volts ne fait pas bouger laiguille. La
rsolution du voltmtre est de 0,1 volts.

Gamme Valeurs minimales et maximales du signal.


Plus la gamme est petite, plus la reprsentation du signal est prcise
( condition davoir une bonne rsolution).

Gain Amplifie ou attnue le signal afin de ladapter au


mieux la gamme.

65

Connexions des entres analogiques


Catgorie de sources de signaux dentre.
Le signal est rfrenc la masse du systme.
Exemples : alimentations, gnrateurs de signaux,
tout ce qui se connecte dans une prise secteur
rfrence la terre

Rfrenc
Le signal nest pas rfrenc une masse.
Exemples : piles, thermocouples, transformateurs,

Non rfrenc

66

Connexions des entres analogiques


Systme de mesure.
Trois modes de mise la masse sont disponibles. Le mode choisit dpend de
la nature du signal.

- Mode DIFFERENTIEL

(le meilleur)

- Mode RSE

(pas recommand)

(Mode rfrenc une masse commune)


- Mode NRSE
(Mode masse commune non rfrenc)

67

(bon)

Connexions des entres analogiques


Signal non r
rfrenc
renc

DIFFERENTIEL

RSE

NRSE

68

Signal r
rfrenc
renc

Exemples de matriels ddis lacquisition


Connectivit directe des capteurs pour
une mise en oeuvre rapide.

BNC-2090

22 connecteurs BNC pour les signaux analogiques,


numriques, de dclenchement et de compteurs/timers.

SCB-68
Bloc de connexion d'E/S blind pour
interfacer les signaux d'E/S avec des
matriels enfichables DAQ quips de
connecteurs 68 broches.

69

SCXI

Exemples de matriels ddis lacquisition


ELVIS

Ensemble d'instruments virtuels : oscilloscope,


multimtre numrique, gnrateur de fonctions,
pour le prototypage en laboratoire et lenseignement.

CompactDAQ

Chssis modulaire

PXI/CompactPCI

70

Acquisition par USB


(Avantages du plug-andplay et de la connectique
unique universelle).
Permet de rpondre un grand
nombre dapplications de tests et
de mesures.

Partie IV Boucles, registres dcalage et


introduction aux graphiques
Boucle For.
Boucle While.
Registre dcalages.
Graphiques.
Affichages de plusieurs courbes
sur un mme graphique.

71

Les boucles
La boucle While (tant que)
Possde un compteur ditration
Sexcute toujours au moins une fois
Continue de sexcuter tant que lon a
pas appuyer sur le bouton Stop

La boucle For

Itration

Possde un compteur ditration


Sexcute N fois (N paramtrable)
Pour N = 4, i = 0, 1, 2, 3

72

Les boucles
1. Choisissez votre boucle. 2. Encadrer le code qui doit tre rpt.

3. Placez les nuds additionnels (contrle boolen : bouton stop


par exemple) et reliez-les.

73

Les registres dcalage


Pour un signal assez bruit lon pourrait avoir envie, par exemple, dafficher une moyenne
des valeurs.
Pour ce faire il est possible dutiliser un registre dcalage.
Un registre dcalage prend des donnes du ct droit et les reporte du ct gauche
litration suivante :
Valeur
initiale

Valeur initiale
Valeur 1

Premire itration

74

Valeur 1

Valeur 2
Valeur 2

Seconde itration

Valeur 3
Valeur 3

Dernire itration

Les registres dcalage


Cration : clic droit sur un des bords de la boucle >> Ajouter un registre dcalage

Exemple dutilisation de registres dcalage

75

Les registres dcalage


Attention !!

1re excution
du programme

76

Linitialisation du registre dcalage est importante pour viter les


erreurs !

2me excution
du programme

3me excution
du programme

Graphiques

Le graphique est un indicateur


numrique particulier qui propose
un historique des valeurs.
Commandes >> Toutes les commandes >> Graphes

77

Techniques de connexion dans les graphiques


Une seule courbe

Plusieurs courbes

La fonction Fusionner les signaux


sert combiner des donnes dans un
type de donnes dynamiques.

78

Exercice 2 Utilisation dune boucle

Crer un VI qui gnre un


nombre alatoire avec un temps
dattente que lutilisateur peut
modifier.

Larrt du programme se fait


laide du bouton stop de la face
avant.

79

Exercice 2 Utilisation dune boucle


Exemples de solutions possible

80

Pour les contrles boolen (boutons


et commutateurs) possibilit de
paramtrer laction mcanique sur
ceux-ci : commutation jusquau
relchement,
commutation

lappui,

Partie V Tableaux et fichiers


Construire un tableau manuellement.
Construction automatique de tableaux.
crire dans un tableau.

Lire partir dun tableau.

81

Construire un tableau 1D manuellement


A partir de la palette Commandes >> Toutes les commandes
>> Tableau et Cluster, slectionnez Tableau.

Tableau de commandes ou
dindicateurs.

Dposez le tableau sur la face avant.

82

Construire un tableau 1D manuellement


A partir de la palette Fonctions >> Toutes les fonctions >>
Tableau, slectionnez Tableau.

Tableau de constantes.

Dposez le tableau sur le diagramme.

83

Construire un tableau 1D manuellement


Placez un objet dans le tableau (un contrle, une constante
numrique, une chane de caractres ou un boolen).
Tableau de constantes

Tableau de contrles

84

Construire un tableau 1D manuellement

Tableau de constantes

Tableau de contrles

Possibilit de crer un tableau 1D sous forme dune ligne


ou dune colonne suivant les besoins de lapplication.

85

Crer un tableau 1D avec une boucle

Dernire
valeur
gnre
uniquement

86

Ensemble des
valeurs
gnres

Crer un tableau 2D avec deux boucles


En fonction de la dimension
du tableau la taille du fil
varie.

Tableau 1D
Tableau 2D

87

Crer des tableaux 2D manuellement

Clic droit sur


le tableau.

Manuellement.

88

Fichiers
Fichiers passer des donnes vers et depuis des fichiers.
- Les fichiers peuvent tre des lments binaires, du texte, ou des
tableaux.
- crire / lire le fichier LabVIEW Measurements (*.lvm)
crire dans un fichier *.lvm

89

Lire un fichier *.lvm

crire dans un fichier LabVIEW Measurement


Inclut les fonctions ouvrir, crire, fermer et grer les erreurs.
Gre le formatage des chanes avec soit une tabulation soit une
virgule comme dlimiteur.
La fonction Fusionner les signaux sert combiner des donnes
dans un type de donnes dynamiques.

90

Exercice 3 Analyser et stocker des donnes


Crer un VI qui gnre un nombre
alatoire toute les secondes.
Calculer la moyenne, la valeur min et
max et sauvegarder les donnes dans
un fichier.

91

Exercice 3 Analyser et stocker des donnes


Exemples de solutions possible

92

Partie VI Fonctions des tableaux et


graphiques
Les fonctions de base dun tableau.
Utiliser les graphiques.
Crer plusieurs courbes dans les graphiques.

93

Les fonctions dun tableau les bases


Commandes >> Toutes les commandes >> Tableau et cluster >> Tableau

94

Les fonctions du tableau les bases


Fonction : Construire un tableau

95

Les graphiques
Slectionner depuis la palette Commandes le menu des Graphes :
Commandes >> Toutes les commandes >> Graphe

Graphe Trace un tableau de nombres en


fonction de leurs indices
Graphe XY (Express) Trace un seul tableau
en fonction de deux autres tableaux
Graphe numrique Trace des bits depuis des
donnes binaires

96

Les graphiques

Faire un clic droit sur le graphique et slectionner proprits


pour personnaliser laffichage (chelle, couleurs, curseurs,).

97

Exemples : graphe numrique

Lutilisation des clusters sera


aborde dans la partie VII

Graphe numrique

98

Exemples : graphe XY

Graphe XY

99

Exercice 4 Utilisation de graphiques


Gnrer un VI qui simule un
signal sinusodal et un signal
carr dont on peut modifier la
frquence et lamplitude ainsi
que le rapport cyclique (pour
le signal carr).

Afficher les deux courbes sur


le mme graphe.

100

Exercice 4 Utilisation de graphiques


Exemple de solution possible

101

Partie VII Chanes de caractres, clusters et


traitement derreurs
Chanes de caractres.
Fonctions de chanes.
Cration de clusters (groupe / agrgat).
Fonctions des clusters.
Cluster derreur.
Rcapitulatif sur les types de connexions.

102

Chane de caractres (string)


Une chane de caractres est une squence de caractres (ASCII).
Utilisations possibles : affichage de messages, contrle
d'instruments, fichiers dentre/sortie.
Les contrles ou indicateurs de chanes sont dans le menu :
Commandes >> Commandes Texte ou Indicateur Texte

103

Chane de caractres (string)

Exemples de fonctions disponibles :


Longueur dune chane, Concatner en
chane, Remplacer une portion de chane,
Formater en chane,

104

Chane de caractres (string)


- Formater
une chane

s : string
f : floating

105

Double clic sur


le VI

Chane de caractres (string)

- Balayer une
chane
- Sous-ensemble
dune chane

106

Clusters
Structures qui regroupent plusieurs donnes.
Les donnes peuvent tre de diffrents types.
Les lments doivent tous tre, soit des contrles, soit des
indicateurs.
Cela est similaire au cblage de fils dans une mme gaine :
facilite la gestion du programme.

107

Crer un cluster
1.

Slectionner un modle de cluster :

Commandes >> Toutes les commandes >> Tableau et


Cluster ou Fonctions >> Toutes les fonctions >> Cluster
2.

108

Placer des objets dans le cluster :

La palette Clusters
Dans le sous-menu Clusters de la palette Fonctions >>
Toutes les fonctions.
galement accessible par clic droit sur un terminal de cluster
dans la fentre diagramme.

Type de donnes

Type de donnes

Cration dun
cluster

Assembler
tiquette

Commandes
tiquette

Assembler par nom

109

Modification dun cluster

La palette Clusters

Type de donnes

Dsassembler
tiquette

Dsassembler par nom

110

Indicateurs

Clusters derreurs
Un cluster derreur permet la visualisation dun problme lors de
lexcution dun VI.
Un cluster derreur contient les informations suivantes :
tat rapporte si une erreur se produit.
Code rapporte le code spcifique de lerreur.
Source donne des informations sur lerreur.

Exemple :

Pas derreur

111

Erreur

Techniques de manipulations derreurs


Linformation derreur est passe dun sous VI au suivant.
Si une erreur se produit dans un sous VI, tous les sous VI suivants
ne sont pas excuts de la faon habituelle.
Gestion derreur automatique.
Exemple :

Clusters derreurs

112

Types de connexions
Numriques
Rels
Entiers

Boolen
Chane de
caractres
Donnes
Dynamiques

113

Scalaire

Tableau 1D

Tableau 2D

Exercice 5 Utilisation de clusters et de graphiques


Gnrer un VI qui simule
le dplacement dun
pointeur laser sur une
photodiode 4 quadrants.

On simulera dans un
premier
temps
un
dplacement continu
du pointeur puis un
dplacement discret .

114

Exercice 5 Utilisation de clusters et de graphiques


Exemple de solution possible

Dplacement discret

Dplacement continu

115

Partie VIII Structures Condition et


Squence, Bote de calcul
Fonctionnement de la structure
Condition et de la structure Squence.
Mise en uvre dune bote de calcul.

116

Structure Condition
Dans la sous palette Structures de la palette de Fonctions.
Uniquement un seul cas est visible la fois.

Vrai, faux, peut-tre,


peut-tre pas,
0, 1, 2,

117

Vrai ou Faux

Structure Squence droule ou empile

Palette Fonctions et sous palette Structure.


Excute le diagramme de faon squentielle.
Clic droit sur la structure pour ajouter une nouvelle tape.
Structure squence
droule

Structure squence empile


(gain de place)

118

Bote de calcul

Dans la sous-palette Structures.


Implmenter des quations compliques.
Les variables sont cres sur le bord.
Chaque nonc doit se terminer par un point virgule (;)
La fentre daide contextuelle montre des fonctions
disponibles.
x2
Point-virgule

Avantage de la bote de calcul ( droite) : rapidit dexcution du code par rapport


lutilisation des fonctions de base ( gauche).

119

Exercice 6 Cluster, manipulation derreurs et structure


condition

Gnrer un VI qui permet de


visualiser une erreur lorsque
lon essaye de calculer la racine
carr dun nombre ngatif.

120

Exercice 6 Cluster, manipulation derreurs et structure


condition
Exemple de solution possible

121

Exercice 6 Cluster, manipulation derreurs et structure


condition
Exemple de solution possible

122

Exercice 6 Cluster, manipulation derreurs et structure


condition
Alternative possible

123

Exercice 7 Luminance spectrique du corps noir


(bote de calcul et boucles)
Un corps noir est un radiateur
thermique qui absorbe toutes les
radiations lectromagntiques incidentes.
Loi de Planck
T

dLe
d =

CN

2hc 2

(e
5

hc

kT

1)

Vitesse de la lumire dans le vide


c = 299 792 458 m.s-1
Constante de Planck
h = 6,626 069 3 . 10-34 J.s
Constante de Boltzmann
k = 1,380 650 5 . 10-23 J.K-1

124

Gnrer un VI qui permet de


tracer la luminance spectrique du
corps noir pour une temprature
donne.

Exercice 7 Luminance spectrique du corps noir


(bote de calcul et boucles)
Exemple de solution possible

Le rayonnement du corps noir ne commence se voir quau del de 600C (rouge sombre)
do le choix de lexpression corps noir puisqu temprature ambiante (300 K) les corps
naturel mettent dans lInfrarouge (IR).

125

Partie IX Variables
Variables locales.
Variables locales de squence.
Variables globales.

126

Variables locales

Possibilit de la
mettre en criture
ou en lecture.
Clic droit : assignation de la
variable

Aucune variable
nest assigne

Une variable locale nest visible que dans un seul VI.

127

Variables locales de squence


Ce type de variable sutilise avec les structures
Squences empiles. Elle permet de faire passer des
donnes dune tape lautre.

128

Variables globales
Ouverture dun
sous VI vide

Double clic sur


la variable
globale

Une variable globale agit de la mme faon quune


variable locale except le fait que lon peut transfrer
cette variable dun VI lautre par lutilisation du
sous VI cre.

129

Variables globales

2. Sous-VI cre lors de linsertion des


variables dans le premier VI.
Icne
reprsentative
des sous VI de
variable
globale.

1. 1er VI (vi.vi) o lon crit les informations


dans les variables globales (mode criture).
3. 2me VI (vi2.vi) o lon rcupre la variable globale
comme un sous-VI classique que lon paramtre en
mode lecture.

130

Exercice 8 Utilisation de variables locales


Gnrer un VI qui permet de donner
le temps (en ms) entre deux appuis de
boutons.
On utilisera une structure squence empile
avec, soit des variables locales, soit des
variables locales de squences ainsi que la
fonction suivante :

131

Exercice 8 Utilisation de variables locales


Exemple de solution possible

132

Exercice 8 Utilisation de variables locales


Exemple de solution possible

133

Partie X Tables et nuds de proprit


Tables.
Nuds de proprit.
Enregistrement dans un fichier Excel.

134

Tables
On ne peut crire dans
les tables uniquement
que des chanes. On ne
peut pas directement
crire des entiers ou
des rels.

En-ttes de lignes et
en-tte de colonnes

Clic droit
sur la table

135

Tables - exemple

En-tte de colonnes
En-tte de lignes

136

Nud de proprit
Dans un premier temps il
faut relier le nud de
proprit un objet prcis.

Les nuds de proprit permettent davoir accs certains


lments dun objet en lecture ou en criture.

137

Nud de proprit

Dans un second temps il faut


choisir les proprits de lobjet qui
nous intressent.
Par exemple (dans notre cas ici) les
en-ttes de colonnes et les valeurs
dune table.

138

Nud de proprit - exemple


Objectif : on souhaite enregistrer la
table dans un fichier Excel

tape 0 : initialisation de la table

tape 1 : On remplit la table


Variable locale

139

Nud de proprit - exemple


tape 2 : Sauvegarde des donnes dans un fichier Excel

Nud de proprit

140

Nud de proprit - exemple


tape 2 : Sauvegarde des donnes dans un fichier Excel

141

Nud de proprit exemple - rsultats

tape 1 : La table se remplit

142

tape 2 : Une bote de dialogue


apparat pour enregistrer les donnes
au format .xls

Nud de proprit exemple - rsultats

Lorsque lon essaye de rcrire par dessus un fichier dj prsent, une bote
de dialogue nous invitant changer de nom de fichier apparat.

143

Partie XI Impression et documentation


Imprimer depuis longlet imprimer de la
barre des menus.
Gnrer un rapport pr-format.
Documentation sur les VI.
Ajouter des commentaires dans la face avant et
le diagramme.

144

Impression
Fichier Imprimer ...
Diffrentes options dimpression sont disponibles
Icne, description du VI, face avant, diagramme, hirarchie des
VI, sous VI, historique des VI
Impression du panneau VI (impressions programmables de la
face avant)

Impression personnalise

145

Rapport pr-format

Gnrer un rapport (Palette de Fonctions Sortie Rapport)

146

Rapport pr-format

En double cliquant sur le


VI on a la possibilit de
paramtrer le formatage
du rapport.

147

Rapport pr-format

Gnration des signaux

148

Gnration du rapport

Rapport pr-format

149

Documentation sur les VI


Fichier Proprits du VI Documentation
Fournit une description et une aide propos du VI.
A complter par le dveloppeur pour de nouveaux VI.

Fichier Proprits du VI Historique


Enregistre les changements des diffrentes versions dun VI.

150

Documentation sur les VI


Exemple du VI prcdent document par deux types de commentaires :

Sans
commentaires
Commentaires gnraux

Avec
commentaires
Commentaires pour expliciter les donnes qui transitent sur chacun des fils

151

Partie XII Architecture de la


programmation basique
Larchitecture simple du VI.

Larchitecture gnrale du VI.


Larchitecture de machine dtats.

152

Larchitecture simple du VI
Le VI fonctionnel prsente des rsultats probants
Pas doption marche/arrt.
Convient pour des tests trs simples, de petits calculs,
Exemple : Exercice1.vi

153

Larchitecture gnrale du VI
Trois tapes principales :
Initialisation
Application principale
Fermeture
Exemple pour lacquisition continue dune image :
Initialisation

Application principale Fermeture


- Linitialisation na besoin
dtre faite quune fois.
- La fermeture de la session
larrt du programme est
indispensable pour librer les
ports utiliss.

154

Larchitecture de machine dtats


Avantages
Possibilit de changer dtat.
Modification et dbogage facile.

Inconvnients
Pertes possibles dvnements sil y en a deux qui arrivent en mme temps.
Les tats :
0 : Dmarrage
1 : Attente (timeout)
2 : vnement 1
3 : vnement 2
4 : Arrt

155

Larchitecture de machine dtats


Gestion dvnements sur linterface utilisateur :
Utilisation de la boucle vnementielle.

156

Partie XIII - Panneaux de contrle


distance
Visualisation et contrle de la face avant dun
programme LabVIEW, partir dun navigateur
Web (Internet Explorer, Firefox,).
- Les clients loigns observent directement les changements
et mises jours des programmes LabVIEW.
- Plusieurs clients peuvent regarder la mme face avant
simultanment.
- Un seul client la fois peut contrler la face avant
distance.

157

Outil de publication de face avant sur le Web


Outils Outil de publication pour le Web
Cliquez sur Enregistrer
sur disque et le VI est
encapsul dans un fichier
HTML.
Une fois sauv, le fichier
peut tre ouvert nouveau
et personnalis dans tout
diteur HTML.

158

Outil de publication de face avant sur le Web

Nimporte qui peut


partir dInternet visualiser
en temps rel le VI et le
contrler sil en a, au
pralable, t autoris.

Linstallation de
LabVIEW sur la
machine distante nest
pas ncessaire.
Application fonctionnant sur le PC o
est install LabVIEW

159

Panneau de contrle distance - Ressources


NI Developer Zone
(zone.ni.com)
- Recherche de panneaux de
contrle distance.
- Tlchargement de
Tutoriaux et Instructions.
- Support sur lincorporation
de Webcams dans les
panneaux de contrle
distance.

160

Partie XIV Contrle dinstruments


Communication par liaison GPIB.
Prsentation et caractristiques techniques.
Measurement and Automation Explorer (MAX) : Outils de test.
Fonctions de base pour la mise en uvre du bus.
Utilisation de VI type.

Communication par liaison Srie.


Prsentation et caractristiques techniques.
Fonctions de base pour la mise en uvre du bus.
Utilisation des exemples disponibles.

161

Introduction
Dans le cas de communications par liaisons GPIB ou
Srie, lacquisition de donnes se fait par lintermdiaire
dun instrument autonome (multimtre, oscilloscope,)
au sein duquel sont effectues les oprations
dentres/sorties des signaux mesurs.
Le programme dvelopp sert uniquement la
configuration de linstrument, la rcupration, lanalyse
et la prsentation des donnes.

162

GPIB - Introduction
La liaison GPIB (General Purpose Interface Bus) appele aussi IEEE 488 (IEEE :
Institute of Electrical and Electronics Engineers) est devenue depuis son apparition
en 1965 (cre par Hewlett-Packard) un standard de communication qui permet
aujourdhui de contrler la plupart des instruments de mesures (oscilloscopes,
multimtres, gnrateurs de fonctions, ).
Une deuxime normalisation de ce bus est intervenue en 1987 avec la rfrence
IEEE 488.2 pour prciser la prcdente qui tait incomplte. En 1990 le document
Standard Commands for Programmable Instrumentation (SCPI) a t incorpor
la norme. Celui-ci dfinit un certain nombre de commandes auxquelles chaque
instrument doit pouvoir obir. Cela permet ainsi une interoprabilit de matriels de
diffrents fabricants.

Connecteur GPIB

163

GPIB - Caractristiques techniques


- La liaison GPIB est une liaison parallle 8
bits.

IEEE 488 : 1 Mo/s


HS 488 : 8 Mo/s

Interface
GPIB/USB HS
de National
Instruments

- Interconnexion de 15 appareils maximum :


chaque appareil possde une adresse
Carte GPIB
comprise entre 0 et 30.
Cble GPIB
Cble GPIB

- Vitesse de transfert maximum : 1 Mo/s.


- Longueur de cble de 4 m au maximum
entre 2 appareils.
- Longueur totale de cble de 20 m au
maximum.
- Au minimum les 2/3 des instruments
doivent tre sous tension.

164

GPIB - Measurement and Automation Explorer


(MAX)
Priphriques
connects
Test pour
dterminer
quels sont les
instruments
connects
Instruments
connects

Adresses GPIB
Rponses des instruments la commande IDN?

165

GPIB - Measurement and Automation Explorer


(MAX)
Clic sur un instrument : par exemple Instrument0
Adresse GPIB de linstrument

Possibilit de tester la communication avec linstrument

166

GPIB VI type
Architecture
utilisant des VI
Express dj
disponibles pour
gagner en rapidit
et en simplicit.

167

GPIB - Fonctions de base dans labVIEW

168

Srie - Introduction
Bien que progressivement dlaisse pour lUSB (Universal Serial Bus), la liaison
Srie (RS 232, RS 449, RS 422, RS 423, RS 485) est un moyen de communication,
encore aujourdhui, rpandu pour la transmission de donnes entre un ordinateur et
un priphrique (imprimante, instrument de mesure programmable,)
La liaison Srie est une liaison asynchrone cest--dire quelle ne transmet pas de
signal dhorloge. Il ny a donc aucune synchronisation entre lmetteur et le
rcepteur. Pour que le rcepteur puisse interprter convenablement linformation du
transmetteur, il faut que les deux lments soient configurs de la mme faon.

Port Srie

169

Srie - Caractristiques techniques


Voici le format type dune trame envoye par le port srie :
Bit de
Start
Niveau haut

B0

B1

B2

B3

B4

B5

B6

Bit de
Parit

Bit de
Stop

Niveau bas

- Un bit de start qui indique quune information va tre envoye. Il permet la


synchronisation du rcepteur.
- 7 ou 8 bit de donnes (B0 B6 (ou B7) avec B0 le bit de poids faible).
- Un bit de parit qui permet de dtecter les ventuelles erreurs de transmission.
- Un bit de stop. Aprs la transmission la ligne est positionne au repos pendant X
priodes dhorloges du rcepteur.

170

Srie - Fonctions de base dans labVIEW

171

Exemples de VI
Exemples de
VI apportant
une aide au
dmarrage
dun projet ou
quelques
solutions
des problmes
de conception

172

Partie XV - Module Vision


NI Vision Assistant.

Acquisition dune SEULE image


avec une webcam par USB.
Acquisition continue dimages
avec une webcam par USB.

173

NI Vision Assistant
Vision Assistant permet de
paramtrer la camra utilise,
de procder lacquisition
dimages ou de squences
dimages, permet de procder
une multitude de traitement
sur les images et permet de
gnrer automatiquement et
facilement un code LabVIEW
oprationnel.

174

NI Vision Assistant Acquisition

Choix du type de camra


(USB, Firewire,)

175

NI Vision Assistant Acquisition


Acquisition dune
squence dimages

Slection de la
camra

Rglage des
paramtres vido
Rglage des
paramtres lis aux
images

176

NI Vision Assistant Paramtrage


Contraste,
saturation,

Degr de
rouge, vert,
bleu.

Rglage des paramtres vido

Ces paramtres sont intrinsques


Vision infrarouge
la camra utilise. Ils seront
diffrents pour dautres types de
Rglage des paramtres lis aux images camras.

177

NI Vision Assistant Traitement dimages

1 mm

Exemple dune image dun


micromtre objet (talon
trait) observ au microscope
optique + camra CCD

178

NI Vision Assistant Traitement dimages


Diverses fonctions
sont disponibles :
profils, mesures de
distances, dangles,
calibration
dimages,
Sauvegarde des points
du profil dans un
fichier texte
Affichage des points
du profil dans un
fichier excel

179

Exemple de mesure de profil


sur une ligne de limage

Profil de la ligne choisie (en vert)

NI Vision Assistant Gnration automatique de code


Tools Create
LabVIEW VI
Exemple de dtection
de bord et de calcul
de centre de trait
Dtection de bord
de traits

180

Calcul de centre
de traits

NI Vision Assistant Gnration automatique de code

Programme LabVIEW de dtection de


bord de trait et de calcul de centre
gnr automatiquement.

181

Fonctions Vision

Fonctions Toutes les fonctions


Mesures NI Vision
Vision Utilities
Image Processing
Image Acquisition
NINI-IMAQ pour
camras IEEE 1394
(Firewire)
Firewire)

182

Machine Vision
IMAQ USB

Outils de visualisation

Commandes Toutes les commandes Vision

Outil de visualisation
dimages sur la face
avant

183

Acquisition dune SEULE image

USB
PC
Webcam

Utilisation
du SNAP

184

Acquisition CONTINUE dimages

Utilisation du
GRAB

185

Partie XVI Dveloppements


dapplication temps rel
Quest-ce que le temps rel ?

Terminologie, principe de
dveloppement.
Architecture.
Exemples dapplication, cibles.

186

Quest-ce que le temps rel ?


En informatique industrielle, on parle
d'un systme temps rel lorsque ce
systme informatique contrle (ou pilote)
un procd physique une vitesse adapte
l'volution du procd contrl.
Le temps rel ne signifie pas forcment rapide.
Le temps rel garantit une fiabilit absolue car les
systmes temps rel ont des contraintes temporelles qui
doivent tre atteintes sans aucun chec : on dit que le
systme est dterministe.

187

Terminologie temps rel


Dterminisme : caractristique dun systme qui indique
son niveau de fiabilit rpondre un vnement ou
effectuer une tche dans un dlai imparti.
Temps de boucle : temps pris pour excuter un cycle de
boucle.
Jitter : variation du temps de boucle rel par rapport au
temps de boucle souhait.
Embarqu : caractrise un systme autonome (pas de
clavier, ni de souris, ni dcran,).

188

Principe de dveloppement temps rel


1. Dvelopper sur un ordinateur hte.

Ordinateur hte
2. Tlcharger le code sur une cible.
Cible temps rel

Code tlcharg via


une liaison Ethernet.

189

Processeur

Module dE/S

Principe de dveloppement temps rel


3. Excuter le code

Affichage possible des


faces avant sur le PC hte
par lintermdiaire dune
communication Ethernet.

190

Cible temps rel qui devient


compltement autonome.

Architecture typique
Cible RT (Real-Time)
Boucle de
lapplication
(dterministe)

Boucle de
communication
(non dterministe)

PC hte
Application
cliente

Priorit normale

Priorit temps
critique

Disque

191

Disque

Programme du PC hte
Excut sur le PC hte.
Pas ncessaire.
Gre les tches non dterministes :
- Communication avec le programme cible :
envoi des paramtres de linterface utilisateur
et rcupration des donnes
- Enregistrement et analyse des donnes
- Emission
systmes

192

des

donnes

vers

dautres

Programme de la cible
Les tches de priorit plus leve gardent la main sur les
tches de priorit moins importante.
Les tches qui ncessitent dtre dterministes sont des
tches dites temps critique. Toutes les autres auront une
priorit moins importante.
Le multithreading permet de donner la priorit une
tche en particulier.

Programme de la cible
Boucle de
priorit
normale

193

Communication
interinter-threads

Boucle
temps
critique

Quest que le multithread ?


Extension du principe de multitche.
- Multitche : capacit du systme dexploitation basculer entre
diffrentes tches.
- Une tche est gnralement une application part entire telle que
LabVIEW.

Le multithread tend le principe au sein mme dune


application.
- Des oprations spcifiques au sein dune mme application peuvent
tre rparties chacune dans un thread spcifique.
- Le temps processeur peut tre rparti sur les threads.
- Capacit avoir des niveaux de priorit.

194

Exemples dapplications temps rel


Performances dterministes

Gestion dun airbag

Fiabilit des performances


Tests de rsistance et
dendurance

195

Autonomie

Tests sous-marins

Exemples de cibles temps rel avec LabVIEW


PC de bureau ou industriel
Dterminisme pour les systmes PCI

LabVIEW Real-Time

Contrleurs PXI embarqus RT


Haute vitesse,
vitesse, haute densit dE/S
dE/S multiples

Compact FieldPoint RT
Encombrement rduit,
rduit, environnement durcis

196

CompactRIO
E/S reconfigurables,
reconfigurables,
environnement durcis

Compact Vision
Automate de vision industrielle

Partie XVII Sujets complmentaires

Datasocket.
Communications USB, TCP/IP.
Module de dveloppement pour PDA.

197

Pour aller plus loin

Exemples de programmes (Aide Recherche dexemples)


LabVIEW Version tudiants (www.ni.com/labviewse)
Ressources Web (www.ni.com)

198

Zone Dveloppeur NI (www.zone.ni.com) : Forum de discussion


Notes dApplication
Info-LabVIEW newsgroup (www.info-labview.org/)
Bibliothque des drivers dinstruments (www.ni.com/idnet)

Nicolas POUSSET
Optronic Engineer - PhD Student
Institut National de Mtrologie (INM)
Conservatoire national des arts et mtiers (Cnam)
61 Rue du Landy
93210 La Plaine - Saint Denis
France
tl. (office) : +33 (0)1.58.80.89.03
tl. (labo) : +33 (0)1.58.80.46.34
tl. (mobile) : +33 (0)6.76.82.04.35
fax : +33 (0)1.58.80.89.00
e-mail : nicolas.pousset@cnam.fr
Group website : http://www.cnam.fr/instituts/inm
Perso website : http://poucet.club.fr

199

Você também pode gostar