Vous êtes sur la page 1sur 346

Cours dinitiation au

logiciel labVIEW

Dernire mise jour :


03/02/10
Par Nicolas POUSSET

Nicolas POUSSET

Par Nicolas POUSSET

Le Conservatoire national des arts et


mtiers (Cnam)
Omnes docet ubique :
Enseigner tous et partout
Fond en 1794 par lAbb Grgoire
Missions du Cnam :
JC. WETZEL/Cnam

Formation des adultes tout au long de la vie

professionnelle
Recherche
Diffusion de la culture scientifique et technique

Par Nicolas POUSSET

Le Conservatoire national des arts et


mtiers (Cnam)
Quelques chiffres :
150 centres rpartis en France, dans les DOMDOM-TOM

et ltranger
30 pays partenaires
2 000 enseignants chercheurs permanents
+ de 85 000 auditeurs/an
500 000 heures denseignement/an
1 million de diplms actifs
Par Nicolas POUSSET

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
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 diffrentes architectures de programmation
Publier des VI ou des donnes sur un rseau ou sur le Web
Matriser les bases de communications par liaison GPIB et Srie
Connatre les outils dacquisition et de traitement dimages
Comprendre les concepts de base du dveloppement temps rel
Apprhender le Datasocket
Par Nicolas POUSSET

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
Partie XIII

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
Programmation Evnementielle
Architectures de programmation boucle unique

Par Nicolas POUSSET

8
65
78
95
106
122
132
149
165
172
184
192
200

Partie XIV
Partie XV
Partie XVI
Partie XVII
Partie XVIII
Partie XIX
Partie XX

Outils de publication sur le Web


Contrle dinstruments
Module Vision
Exercices dapplications
Dveloppement dapplications temps rel
DataSocket
Sujets complmentaires

231
235
248
261
323
334
344

Remarque :
La version de labVIEW utilise pour ce cours dinitiation est la
version 7.1.

Par Nicolas POUSSET

Partie I - Introduction LabVIEW

Gnralits
Un peu dhistoire
LEGO Mindstorms NXT
Vocabulaire LabVIEW
Environnement LabVIEW
Composants dune application LabVIEW
Outils de programmation LabVIEW
Exercice 1 : Conversion de C en K et en F
Aides au dbogage

Par Nicolas POUSSET

Gnralits
Un peu dhistoire
LEGO Mindstorms NXT
Vocabulaire LabVIEW
Environnement LabVIEW
Composants dune application LabVIEW
Outils de programmation LabVIEW
Exercice 1 : Conversion de C en K et en F
Aides au dbogage

Par Nicolas POUSSET

National instruments :
(NI)

Socit lorigine de la programmation graphique


et, par consquent, de labVIEW

Date de cration :

1976

Sige social :

Austin, Texas, EtatsEtats-Unis

Implantations :

plus de 40 pays

Clients :

plus de 30 000 entreprises dans 90 pays

Nombre demploys :

5 000 dans le monde

Rsultats :

en croissance constante depuis 1976


820 millions de dollars en 2008

NI est class depuis 10 ans, par le FORTUNE Magazine (cre en 1930),


1930),
parmi les 100 meilleurs entreprises amricaines.
amricaines.

Par Nicolas POUSSET

10

Instrumentation Virtuelle avec LabVIEW

LabVIEW (Lab
Laboratory
oratory Virtual Instrument Engineering Workbench
orkbench)) est
un environnement de dveloppement graphique qui
permet de crer des applications modulaires (notion de sous VI) et
extensibles, pour la conception dapplications de mesure, de contrle et de
test..
test
Par Nicolas POUSSET

11

LabVIEW est un outils dacquisition


dacquisition,,
danalyse
danalyse et de prsentation de donnes.

Par Nicolas POUSSET

12

Acquisition avec LabVIEW


LabVIEW permet lacquisition de
donnes par lintermdiaire de
diverses connectiques :
PCI (Peripheral Component Interconnect)
CompactFlash
LAN (Local Area Network)
PXI (PCI eXtensions for Instrumentation)
PCMCIA (Personal Computer Memory
Card International Association)
WiWi-Fi (IEEE 802.11 b/g/n) (Wireless
Fidelity)
Bluetooth
IrDA (Infrared
(Infrared Data Association)

USB (Universal Serial Bus)


GPIB (IEEE 488) (General
Purpose Interface Bus)
Firewire (IEEE 1394)
Ethernet
Srie (RS 232, RS 449, RS
422, RS 423, RS 485)
VXI (VME eXtensions for
Instrumentation)

IEEE : Institute of Electrical and Electronics Engineers


http://www.ieee.org
Par Nicolas POUSSET

13

Analyse avec LabVIEW


LabVIEW inclut des
lanalyse des donnes :

outils

pour

Traitement du signal : Convolution, analyse


spectrale, transformes de Fourier,
Traitement dimages : Masque, dtection de
contours, profils, manipulations de pixels,
Mathmatiques : Interpolation, statistiques
(moyennes, cartcart-type,), quations
diffrentielles,

Par Nicolas POUSSET

14

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,
email,

Par Nicolas POUSSET

15

Gnralits
Un peu dhistoire
LEGO Mindstorms NXT
Vocabulaire LabVIEW
Environnement LabVIEW
Composants dune application LabVIEW
Outils de programmation LabVIEW
Exercice 1 : Conversion de C en K et en F
Aides au dbogage

Par Nicolas POUSSET

16

Un peu dhistoire
1999

LabVIEW Temps rel

1998

LabVIEW 5.0 ActiveX (composants logiciel qui permettent


une
communication
entre
diffrents
programmes),
multifentrage (capacit dune interface prsenter plusieurs
fentres lutilisateur)

1997

LabVIEW 4.0 addition doutils pour


professionnels, amliorations du debogage

1993

LabVIEW 3.0 version multiplateforme de LabVIEW

1992

LabVIEW pour Windows, et pour Sun

1990

LabVIEW 2.0 pour Macintosh

1986

LabVIEW 1.0 pour Macintosh

1983

Dmarrage de LabVIEW
Par Nicolas POUSSET

les

17

Un peu dhistoire
2009

labVIEW 2009 : diteur dicne amlior, graphes 3D,


rorganisation automatique du code

2007

LabVIEW 8.5, outils de dveloppement multicurs


innovations

dans

larchitecture

programmation par diagramme

(lis aux
des
processeurs
de
PC),
dtats (statecharts en anglais)

2006

LabVIEW 8.2 dition des 20 ans, LEGO Mindstorms NXT

2005

LabVIEW 8 DSP (Digital Signal Processing), systme


embarqu

2003

LabVIEW 7 VI Express, assistants E/S, FPGA


logiques programmables), PDA (assistants personnels)

2002

LabVIEW 6.1 analyse, fonctionnement en rseau

2000

LabVIEW 6i Applications internet


Par Nicolas POUSSET

(composants

18

Gnralits
Un peu dhistoire
LEGO Mindstorms NXT
Vocabulaire LabVIEW
Environnement LabVIEW
Composants dune application LabVIEW
Outils de programmation LabVIEW
Exercice 1 : Conversion de C en K et en F
Aides au dbogage

Par Nicolas POUSSET

19

LabVIEW
Outil de programmation intuitif et la
porte de tous.
tous.
Exemple : LEGO Mindstorms NXT destin
initialement aux enfants partir de 10 ans
ans..
NXT 2.0
Sortie : Septembre 2009

NXT
Sortie : 2006
Par Nicolas POUSSET

20

LEGO Mindstorms NXT

Moteurs

4 entres 3 sorties
Capteurs additionnels :
acclromtre,
gyroscope,
colorimtre,

Capteur de contact

Boitier de commande
(microcontrleur)

Capteur de son

Capteur de distance
Capteur de lumire

Exemples de conceptions :

(metteur/Rcepteur
ultrasons)

Humanodes

Machines
Animaux
Par Nicolas POUSSET

21

LEGO Mindstorms NXT


Environnement de dveloppement graphique

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

Notions de temporisation, de boucles, de


gestion dvnements, et de temps rel,
rel,
Par Nicolas POUSSET

22

LEGO Mindstorms NXT


Autres exemples de conceptions :

Possibilit dutiliser
directement LabVIEW pour la
programmation et la gestion
dlments plus complexes
laide de complments logiciel
tlchargeables gratuitement
sur le site de NI.

Table traante

Rsolution dun Rubiks cube


Pilotage dun hlicoptre
Par Nicolas POUSSET

23

LEGO Mindstorms NXT

Vidos Youtube
Rukiks cube et Joconde

Joconde : dmo outils vision, dtection de


contours

Dmo Lego Mindstorms NXT 2.0


Logiciel LM NXT 2.0
LabVIEW (Etat batterie, ultrasons v1 et v2)

Par Nicolas POUSSET

24

LEGO Mindstorms NXT et labVIEW


Exemple : Etat de la batterie

labVIEW

Mindstorms

Liaison USB
(ou Bluetooth*)

PC

Le bluetooth est trs consommateur en nergie


La transmission de donnes est plus lente
Par Nicolas POUSSET

25

LEGO Mindstorms NXT et labVIEW


Exemple : Etat de la batterie

Lecture de linformation
de ltat de batterie sans
tlchargement de
programme dans le NXT

Par Nicolas POUSSET

26

LEGO Mindstorms NXT et labVIEW


Exemple : Test de lmetteur/rcepteur ultrasons

labVIEW
Mindstorms

NXT
terminal

Liaison USB

PC

Par Nicolas POUSSET

27

LEGO Mindstorms NXT et labVIEW


Exemple : Test de lmetteur/rcepteur ultrasons
Tlchargement du programme via linterface NXT terminal dans
le NXT et affichage de linformation de distance sur lordinateur

NXT
terminal

Par Nicolas POUSSET

28

Gnralits
Un peu dhistoire
LEGO Mindstorms NXT
Vocabulaire LabVIEW
Environnement LabVIEW
Composants dune application LabVIEW
Outils de programmation LabVIEW
Exercice 1 : Conversion de C en K et en F
Aides au dbogage

Par Nicolas POUSSET

29

Les programmes LabVIEW appels Instruments


Virtuels ou Virtual Instruments (VI)
On parle dinstruments virtuels car
leur apparence et leur fonctionnement
sont semblables ceux dinstruments
rels, tels que les oscilloscopes et les
multimtres..
multimtres

Par Nicolas POUSSET

30

Composantes dun VI

Les VI se composent de
trois lments principaux :

- Face avant
Interface utilisateur
Contrles = entres
Indicateurs = sorties

- Diagramme
Fentre de programmation et
daffichage du code source
Interaction entre face avant et
diagramme : Ctrl+E

- Icne/Connecteur

Par Nicolas POUSSET

31

Face avant dun VI

Barre des menus

Barre doutils
de la face
avant

Icne
Lgende
du graphique

Contrles
numrique

Contrle
boolen

Graphique

Grandeurs en
abscisse et en
ordonne de la
courbe

chelle du
graphique

Dans la face
face--avant nous trouverons tous les lments
interactifs du VI (commandes et indicateurs).
indicateurs).
Par Nicolas POUSSET

32

Diagramme dun VI

Barre des menus


Icne

Barre
doutils
du
diagramme

Bote de
calcul

Constante
numrique

Structure dune
boucle While (tant que)

Fonction
division

Structure dune
boucle For

Fil de
donnes

Terminal de
contrle boolen

Terminal
graphique

Dans le diagramme nous trouverons tous les lments


propres au code dvelopp (structures, fonctions,
constantes,
constantes,
).
Par Nicolas POUSSET

33

Icne/connecteur dun VI
Chaque VI affiche une icne
icne,, dans le coin
suprieur droit des fentres de la faceface-avant
et du diagramme.
diagramme. Une icne est une
Icne par dfaut
reprsentation graphique dun VI qui
permet de lidentifier au sein dun autre VI.
VI.

Un connecteur est un ensemble de


terminaux correspondant aux commandes
et aux indicateurs du VI qui sont
accessibles..
accessibles
Par Nicolas POUSSET

34

Gnralits
Un peu dhistoire
LEGO Mindstorms NXT
Vocabulaire LabVIEW
Environnement LabVIEW
Composants dune application LabVIEW
Outils de programmation LabVIEW
Exercice 1 : Conversion de C en K et en F
Aides au dbogage

Par Nicolas POUSSET

35

Ouvrir un VI

Modles de VI

Des modles de
VI dj prpr-cods
sont disponibles.

Par Nicolas POUSSET

36

Ouvrir un VI

Modles de VI

Aperu de la Description
face avant
du VI

Modles de VI pour
assistants personnel
(PDA)
Modles de VI pour
communications par
GPIB

Aperu du
diagramme

Permet davoir une


trame simple et
fonctionnelle
rapidement

Par Nicolas POUSSET

37

Ouvrir un VI

Recherche dexemples

Les exemples sont


trs riches et souvent
trs utiles pour
dvelopper de petites
applications
rapidement.

Par Nicolas POUSSET

38

Ouvrir un VI

Recherche dexemples

Parcourir dans
les exemples

Recherche par mots


cls dans les exemples
Soumettre un exemple
National Instruments

Par Nicolas POUSSET

39

Ouvrir un VI

VI vide

Par Nicolas POUSSET

40

Remonter larborescence
Rechercher un lment
Personnalisation de la palette

Palettes de commandes
Palette de commandes
(disponible partir de la fentre
face avant par un clic droit avec
la souris ou dans la barre des
menus : Fentre).
Fentre).
Permet de garder la palette visible sur lcran
Boolen
Numrique
Tableau et clusters (groupe)

Liste et table
Conteneurs

Chane et chemin
Graphe

Menu droulant & num


Commandes classiques
Commandes (dialogue)
Dcorations
Dcorations

Vision (module complmentaire)

Slection de commandes

Commandes utilisateur

E/S
Refnum

Dans cette palette nous trouverons tous les lments


ncessaires la cration de la faceface-avant (commandes et
indicateurs)..
indicateurs)
Par Nicolas POUSSET

41

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).
Fentre).
Numrique
Structures

Boolen

Tableau
Chane
Temps et dialogue
Comparaison
Waveform
Mesures NI
Contrle dapplications
E/S dinstruments
Gnration de rapports
Communication
Dcorations
Slection dun VI

Cluster (groupe ou agrgat)


E/S sur fichiers
Analyse
Graphisme et son
Avanc
Bibliothques utilisateur

Dans cette palette nous trouverons tous les lments


ncessaires la cration du code graphique dans la fentre
diagramme (fonctions de base, VI Express,
Express,).
Par Nicolas POUSSET

42

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 mais limite.
Fonction de base

VI Standard

VI Express

Par Nicolas POUSSET

43

Palette doutils
Utilise pour agir sur 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 lorsque la slection automatique de
loutil est dsactive.
Outil slection automatique
Outil dplacement
(actif lorsque la LED verte est allume)
Outil darrt
Outil daction sur la face avant
Outil dplacement et taille
Outil texte

Outil sonde
Outil copie couleur
Outil coloriage

Outil connexion par fils


Outil raccourci menu
Par Nicolas POUSSET

44

Barre doutils de la faceface-avant


Bouton Excution du programme (VI)
Bouton Excution continue
Bouton dArrt
dArrt dexcution

Aide contextuelle

Bouton Pause
Pause/Reprendre
/Reprendre
Configuration du format du texte
(taille, style, couleur,)
Aligner les objets
galisation de lespacement entre
les objets
Plan de lobjet (premier ou arrire
plan,)
Redimensionner les objets de la face
avant
Par Nicolas POUSSET

45

Barre doutils du diagramme

Animer lexcution : pour animer le diagramme et voir


les donnes voluer en fonction de lexcution du code
code..

Excuter de faon dtailler : excute le programme de la


faon la plus dtaille possible action par action
action..

Excuter sans dtailler : excute le programme nud


par nud sans rentrer dans le dtail de leur excution
interne..
interne

Terminer lexcution : poursuivre lexcution du


programme jusqu son terme.
terme.

Nettoyer le diagramme : rorganisation automatique du code


(nouveaut de labVIEW 8.6)

Par Nicolas POUSSET

46

Barre des menus

Fonctionnalits classiques des programmes


standards mais galement spcifiques
LabVIEW..
LabVIEW

Par Nicolas POUSSET

47

Gnralits
Un peu dhistoire
LEGO Mindstorms NXT
Vocabulaire LabVIEW
Environnement LabVIEW
Composants dune application LabVIEW
Outils de programmation LabVIEW
Exercice 1 : Conversion de C en K et en F
Aides au dbogage

Par Nicolas POUSSET

48

Crer un VI
Fentre de la face avant

Fentre du diagramme
Nud
Indicateur
numrique

Bouton
Incrmenter/
Dcrmenter

Terminaux
dindicateur
(sorties)

Terminaux
de contrle
(entres)

=
Commande numrique

Commande

Indicateur

Cadre gras

Cadre fin

Clic droit sur la


commande (ou la
constante) numrique.
Fils de liaison

Par Nicolas POUSSET

49

Paramtrage des constantes / commandes


Possibilit de paramtrer les
proprits de la commande
numrique (ou de la constante
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

Par Nicolas POUSSET

50

Paramtrage des constantes / commandes


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

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

Par Nicolas POUSSET

51

Paramtrage des constantes / commandes


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

Indication sur le
type de donne

Permet de fixer une valeur


par dfaut la commande

Par Nicolas POUSSET

52

Paramtrage des constantes / commandes

Rels

Entiers

Les entiers sont en bleu


Les rels sont en orange
Par Nicolas POUSSET

53

Fonction de base

tiquette
Aide contextuelle (Ctrl + H)

Terminaux : 2 entres et 1 sortie


La couleur correspond au type de donnes
(orange = rels)

Par Nicolas POUSSET

54

Astuces de connexions
Points de Connexions

Trois types de slection

Simple clic

Utilisation du routage
automatique

Double clic

Triple clic

Mise en forme des connexions

Clic droit
sur le fils

Par Nicolas POUSSET

55

Programmation par flux de donnes


Nud
Terminaux dentres

Terminaux de sortie

Lexcution du diagramme dpend du flux de


donnes.. Il ne sexcute pas ncessairement de
donnes
gauche droite
droite..
Lexcution du nud se fait quand les donnes sont
disponibles tous les terminaux dentre
dentre..
Puis les nuds fournissent des donnes tous les
terminaux de sortie.
sortie.
La plupart des langages de programmation textuel
(Visual Basic, C++, Java,
Java,) utilisent des modles de
flux de commandes.
commandes. Cest lordre squentiel des
lments du programme qui dtermine lordre
dexcution du programme.
programme.
Par Nicolas POUSSET

56

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

Par Nicolas POUSSET

57

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

Par Nicolas POUSSET

58

Gnralits
Un peu dhistoire
LEGO Mindstorms NXT
Vocabulaire LabVIEW
Environnement LabVIEW
Composants dune application LabVIEW
Outils de programmation LabVIEW
Exercice 1 : Conversion de C en K et en F
Aides au dbogage

Par Nicolas POUSSET

59

Exercice 1 - Conversion de C en F et en K

Raliser un VI qui permet deffectuer une conversion de celsius (C) en


kelvin (K) et en fahrenheit (F), partir de fonctions de base de labVIEW

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

Par Nicolas POUSSET

60

Exercice 1 - Conversion de C en F et en K
Exemple de solution possible
(exercice0.vi)

Par Nicolas POUSSET

61

Gnralits
Un peu dhistoire
LEGO Mindstorms NXT
Vocabulaire LabVIEW
Environnement LabVIEW
Composants dune application LabVIEW
Outils de programmation LabVIEW
Exercice 1 : Conversion de C en K et en F
Aides au dbogage

Par Nicolas POUSSET

62

Aides aux dbogages


Trouver des erreurs
Cliquer sur le symbole de la flche coupe :
Une fentre Windows nomme Liste des erreurs apparat avec
les erreurs contenues dans le VI
VI..

En double cliquant sur les erreurs on peut


visualiser o elles se trouvent sur le diagramme
Par Nicolas POUSSET

63

Aides aux dbogages


Animer lexcution
Cliquer sur le bouton cici-contre. Les donnes dans des bulles
sont animes. Des valeurs sont alors indiques sur les fils.
Excution du VI tape par tape

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

Par Nicolas POUSSET

64

Partie II - Les sous VI


Quest
Quest--ce quun sous VI ?
Assigner les terminaux dentre/sortie
et raliser une icne pour un sous VI
Sauvegarde du VI
Utiliser un VI en tant que sous VI
Quelques raccourcis clavier

Par Nicolas POUSSET

65

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

66

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

Un connecteur montre les


terminaux disponibles pour le
transfert de donnes.
donnes.
1 case en sortie
pour lindicateur

Par Nicolas POUSSET

67

Sous VI
Sous VI

Icne reprsentative du
VI de plus haut niveau

VI Principal

Par Nicolas POUSSET

Icne reprsentative
du sous VI

Sous VI

68

tapes de cration dun sous VI

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

Par Nicolas POUSSET

69

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.
licne.
La personnalisation de licne est tout fait facultative et ne
changera rien au fonctionnement du sous VI.
VI.
Palette doutils ddition du dessin

Couleur de premier plan

Par Nicolas POUSSET

70

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

Par Nicolas POUSSET

71

Assigner les terminaux

Par Nicolas POUSSET

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

72

Terminaux ncessaires , recommands ,


optionnels .
Lorsque lon assigne les connecteurs il est
possible de dfinir leur importance en leur
attachant un des trois termes suivants :
Ncessaire, Recommande, Optionnelle.
Optionnelle.
Icne :
3 entres
3 sorties

En gris : terminaux optionnels (Nom de limage, Couleur?,)


Normal : terminaux recommands (Image masque)
En gras : terminaux ncessaires (Chemin daccs)

Par Nicolas POUSSET

73

Sauvegarde du VI
Choisir un emplacement adquat
Organiser par fonctionnalits
Sauvegarder les VI similaires dans un mme rpertoire
(ex : Outils mathmatiques, traitement dimages, gestion
multimtres, gestion moteur,
moteur,)

Organiser par applications


Sauvegarder tous les VI utiliss pour une application spcifique
dans un rpertoire ou une librairie.
(ex : talonnage micromtres objet, Pilotage TGV,)
Les librairies (.llb) combinent plusieurs VI dans un seul fichier. Ceci est
idal pour transfrer des applications compltes vers dautres ordinateurs.

Par Nicolas POUSSET

74

Insrez le sous VI dans un VI de niveau suprieur


Accs aux soussous-VI personnels :
Fonctions >> Toutes les Fonctions >>
>> Slection dun VI
OU
Faire glisser licne du sous VI sur le diagramme cible de
haut niveau.

Par Nicolas POUSSET

75

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

Icne par dfaut

Par Nicolas POUSSET

76

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
Alternative au copiercopier-coller dans labVIEW :
< Ctrl + cliquercliquer-glisser
glisser--relcher >
Par Nicolas POUSSET

77

Partie III - Acquisition de donnes


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

Par Nicolas POUSSET

78

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


(amplification, filtrage,
chantillonnage,)

PC

Un capteur convertit un phnomne physique en un signal (gnralement


de nature lectrique) mesurable par un systme dacquisition de donnes
donnes..

Par Nicolas POUSSET

79

Exemple de chane dacquisition de


Carte DAQ
donnes
MUX

Cble de
connexion

Capteurs

Bloc de terminaison pour


connecter les signaux
+
Carte lectronique de mise en
forme du signal analogique si
ncessaire
Par Nicolas POUSSET

CAN

Compteur
E/S du bus

Ports PCI,
PCMCIA,
USB,

Ordinateur

80

Exemple de capteurs
Mesurande
Temprature

Flux de lumire
Son
Force et pression
Position et dplacements
Fluide

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

Mesurande : Grandeur particulire soumise mesurage


Mesurage : Ensemble doprations ayant pour but de dterminer une
valeur dune grandeur
Par Nicolas POUSSET

81

Exemple de capteurs
Deux catgories de capteurs :
Capteurs actifs
Ils se comportent comme des gnrateurs.
gnrateurs. Ils sont vu comme tant des
gnrateurs de charge, de tension, ou de courant dont la valeur est
directement relie au mesurande (Photodiode, photomultiplicateur,
photomultiplicateur,
).

Capteurs passifs
Ils se comportent comme des impdances.
impdances. Ils sont vu comme tant des
rsistances, inductance ou capacit dont la valeur est directement relie au
mesurande (thermistance, jauge de contrainte,
contrainte,).

Par Nicolas POUSSET

82

Measurement and Automation Explorer


(MAX)

Par Nicolas POUSSET

83

Measurement and Automation Explorer


(MAX)
Affiche la liste des priphriques et des instruments
connects au systme
Permet dexcuter des tests pour vrifier le bon
fonctionnement des priphriques connects ( faire avant de
ce lancer dans la programmation sous labVIEW)
labVIEW)
Permet la configuration du matriel
Permet de crer et modifier des voies, des tches, des
interfaces, des chelles,
chelles,

Par Nicolas POUSSET

84

Measurement and Automation Explorer


(MAX)

Vrification que la
carte dacquisition
est bien dtecte

Premire vrification du
bon fonctionnement de
la carte dacquisition

Par Nicolas POUSSET

85

Acquisition de donnes (DAQ) avec LabVIEW


2 moteurs de drivers permettent la
communication entre la carte DAQ et
le logiciel dapplications labVIEW

NI
NI--DAQmx

NI
NI--DAQ traditionnel

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

Des VI spcifiques pour


accomplir :
Entre analogique
Sortie analogique
E/S numrique
Oprations de comptage

Par Nicolas POUSSET

86

DAQ traditionnel (Ancien driver)


Acquisition/gnration dun signal grce des VI standards
correspondant aux anciens drivers
Acqurir un signal

Gnrer un signal

Par Nicolas POUSSET

87

DAQmx (Assistant DAQ : VI Express)


Acquisition/gnration dun signal grce lassistant DAQ

Par Nicolas POUSSET

88

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.

Par Nicolas POUSSET

89

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
terre

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

Par Nicolas POUSSET

Non rfrenc

90

Connexions des entres analogiques


Trois modes de mise la masse sont disponibles.
disponibles. Le mode
choisit dpend de la nature du signal
signal..
- Mode DIFFERENTIEL (DIFF)

(le meilleur)

- Mode RSE (Referenced SingleSingle-Ended)

(pas recommand)

(Mode rfrenc une masse commune)


- Mode NRSE (Non
(Non--Referenced SingleSingle-Ended)

(bon)

(Mode masse commune non rfrenc)

Par Nicolas POUSSET

91

Connexions des entres analogiques


Signal non rfrenc

Signal rfrenc

DIFFERENTIEL

RSE

NRSE

Par Nicolas POUSSET

92

Exemples de matriels ddis lacquisition


Connectivit directe des capteurs pour
une mise en uvre rapide

BC--2090
BC

22 connecteurs BNC pour les signaux analogiques,


numriques, de dclenchement et de compteurs/
compteurs/timers
timers

SCB--68
SCB

SCXI

Bloc de connexion d'E/S blind pour


interfacer les signaux d'E/S avec des
matriels enfichables DAQ quips de
connecteurs 68 broches

Par Nicolas POUSSET

93

Exemples de matriels ddis lacquisition


ELVIS

Ensemble d'instruments virtuels : oscilloscope,


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

CompactDAQ
Acquisition
par
USB
(Avantages du plug
plug--and
and-play et de la connectique
unique universelle
universelle))

Chssis modulaire
Permet de rpondre un grand nombre
dapplications de tests et de mesures.
mesures.

PXI/CompactPCI
Par Nicolas POUSSET

94

Partie IV - Boucles, registres dcalage et


introduction aux graphiques
Boucle for

Boucle while
while
Registre dcalages
Graphiques
Affichages de plusieurs courbes sur un
mme graphique
Exercice 2 : utilisation dune boucle

Par Nicolas POUSSET

95

Les boucles
La boucle while (tant que)
Possde un compteur ditration.
Sexcute toujours au moins une
fois.
Continue de sexcuter tant quune
action spcifique ne sest pas produite
(ex : appui sur le bouton Stop)
Stop)..
Itration

La boucle for
Possde un compteur ditration.
Sexcute N fois (N
(N paramtrable).
Pour N = 4, i = 0, 1, 2, 3.

Par Nicolas POUSSET

96

Les boucles
2. Encadrer le code qui doit tre rpt.
1. Choisissez votre boucle
dans la sous palette structures .

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


par exemple) et reliezreliez-les.

Par Nicolas POUSSET

97

Les registres dcalage


Pour un signal assez bruit lon pourrait avoir envie, par exemple, dafficher une moyenne des
valeurs..
valeurs
Pour ce faire il est possible dutiliser un registre dcalage.
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

Valeur 1

Valeur 2
Valeur 2

Seconde itration

Valeur 3
Valeur 3

Dernire itration

Il est possible dutiliser un registre dcalage


avec une boucle while et une boucle for
Par Nicolas POUSSET

98

Les registres dcalage


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

Exemple dutilisation de registres dcalage

Par Nicolas POUSSET

99

Les registres dcalage


Attention !!

1re excution
du programme

Linitialisation du registre dcalage est importante pour viter les


erreurs !

2me excution
du programme

Par Nicolas POUSSET

3me excution
du programme

100

Graphiques

Le graphique est un indicateur


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

Par Nicolas POUSSET

101

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 (informations gnres
ou acquises par un VI Express)
Express)..
Par Nicolas POUSSET

102

Exercice 2 - Utilisation dune boucle

Crer un VI qui gnre un


nombre alatoire avec un temps
dattente que lutilisateur peut
modifier..
modifier

Larrt du programme se fait


laide du bouton stop de la face
avant..
avant

Par Nicolas POUSSET

103

Exercice 2 - Utilisation dune boucle


Exemples de solutions possible
(exercice2.vi)

Par Nicolas POUSSET

104

Action mcanique boolenne


Pour les contrles boolen nous avons
la possibilit de paramtrer laction
mcanique sur ceuxceux-ci : commutation
jusquau relchement, commutation
lappui, armement lappui
lappui

OU

Par Nicolas POUSSET

105

Partie V - Tableaux et fichiers


Un tableau : Quest
Quest--ce que cest ?
Construire un tableau manuellement
Construction automatique de tableaux
crire dans un tableau
Lire partir dun tableau
Exercice 3 : Stocker et analyser des donnes

Par Nicolas POUSSET

106

Un tableau,mais pour faire quoi ?


Les tableaux combinent des donnes du mme type dans une
structure de donnes.
donnes.
Les tableaux sont utiles, par exemple, pour stocker des
donnes gnres, la plupart du temps, dans des boucles lors
de chaque itration
itration..
Il est possible de construire des tableaux de donnes numriques, de
boolens, de chemins, de clusters, de chanes de caractres,
caractres,
Il nest cependant pas possible de crer des tableaux de tableaux.
tableaux.

Par Nicolas POUSSET

107

Philosophie dun tableau

Afficheur
dindices

Afficheurs
dlments

Exemple de tableau
Chaque lments dun tableau est
accessible par son indice
Ainsi la valeur (llment) 0,658384 est
lindice 0. Llment 0,659422 est
lindice 3,...

Par Nicolas POUSSET

108

Construire un tableau 1D manuellement


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

Tableau de commandes ou
dindicateurs
dindicateurs
Dposez le tableau
vide sur la face avant

Par Nicolas POUSSET

109

Construire un tableau 1D manuellement


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

Tableau de constantes

Dposez le tableau sur le diagramme

Par Nicolas POUSSET

110

Construire un tableau 1D manuellement


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

Tableau de contrles

Par Nicolas POUSSET

111

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

Par Nicolas POUSSET

112

Crer un tableau 1D avec une boucle


Indexation
active

Dernire
valeur
gnre
uniquement

Ensemble des
valeurs
gnres

Notion dindexation
Par Nicolas POUSSET

113

Crer un tableau 2D avec deux boucles


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

Tableau 1D
Tableau 2D

Un tableau 2D est caractris par la prsence de 2


indices (1 pour la ligne et 1 pour la colonne
colonne))
Par Nicolas POUSSET

114

Crer des tableaux 2D manuellement

Clic droit sur


le tableau

Manuellement

Par Nicolas POUSSET

115

Tableau en entre dune boucle For


Terminal (N) de dcompte

Terminal (i) ditrations


Si lindexation automatique est active pour un tableau cbl en entre
dune boucle For, le terminal (N) de dcompte sadapte automatiquement
la taille du tableau
tableau.. La boucle For sexcute alors un nombre de fois gal
au nombre dlments du tableau.
tableau.

Par Nicolas POUSSET

116

Tableau en entre dune boucle For

Si deux tableaux sont connects en entre de la boucle ainsi que le terminal


de dcompte (N), alors la boucle effectuera un nombre ditrations gal au
plus petit nombre disponible.
disponible.
Dans lexemple cici-dessus, le premier tableau a 7 lments, le second en a 4
et la valeur 6 est cble N. Donc la boucle For ne sexcute que 4 fois.
fois.

Par Nicolas POUSSET

117

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 LabV
abVIEW Measurements (*.lvm) laide de
VI Express.
crire dans un fichier *.lvm

Par Nicolas POUSSET

Lire un fichier *.lvm

118

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.

Par Nicolas POUSSET

119

Exercice 3 - Analyser et stocker des donnes


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

Par Nicolas POUSSET

120

Exercice 3 - Analyser et stocker des donnes


Exemple de solutions possible
(donnes.vi)

Par Nicolas POUSSET

121

Partie VI - Fonctions des tableaux et


graphiques
Les fonctions de base dun tableau
Utiliser les graphiques
Crer plusieurs courbes dans les graphiques
Exercice 4 : utilisation de graphiques
Exercice 5 : suite de lexercice 1 (boucle,
registres dcalage, graphe)

Par Nicolas POUSSET

122

Les fonctions dun tableau - les bases


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

Par Nicolas POUSSET

123

Les fonctions du tableau - les bases


Fonction : Construire un tableau

Par Nicolas POUSSET

124

Les graphiques
Slectionner depuis la palette Commandes, la sous palette Graphe :
Commandes >> Toutes les commandes >> Graphe
Graphe droulant Trace les donnes en continu, en plaant
les anciennes donnes sur la gauche et les nouvelles droite.
droite. Les
anciennes donnes disparaissent au fur et mesure que de
nouvelles arrivent.
arrivent.

Graphe Trace un tableau de nombres en fonction de leurs


indices..
indices

Graphe XY (Express) Trace une courbe en fonction de


deux tableaux.
tableaux.

Graphe numrique Trace des bits depuis des donnes


binaires.
Par Nicolas POUSSET

125

Les graphiques

Faire un clic droit sur le graphique et slectionner proprits


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

Par Nicolas POUSSET

126

Exemples : graphe numrique

Lutilisation des clusters sera


aborde dans la partie VII

Graphe numrique

Par Nicolas POUSSET

127

Exemples : graphe XY

Graphe XY

Par Nicolas POUSSET

128

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).
carr).

Afficher les deux courbes sur


le mme graphe.
graphe.

Par Nicolas POUSSET

129

Exercice 4 - utilisation de graphiques


Exemple de solution possible
(Graphe2.vi)

Par Nicolas POUSSET

130

Exercice 5 - utilisation dune boucle, de registres


dcalage et dun graphe
A partir de lexercice 1, crer un
programme quivalent celui
prsent gauche en respectant la
mise en forme (organisation, couleur,
style,
style,
)

Les valeurs de tempratures en


celsius,, kelvin et fahrenheit sont
celsius
affiches sur un graphique.
graphique.
Une temporisation permet de rgler
le temps entre laffichage de deux
tempratures..
tempratures

Par Nicolas POUSSET

131

Exercice 5 - utilisation dune boucle, de registres


dcalage et dun graphe
Exemple de solution possible
(exercice5.vi)

Par Nicolas POUSSET

132

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
Exercice 6 : utilisation de clusters et graphiques

Par Nicolas POUSSET

133

Chane de caractres (string)


Les chanes de caractres sont reprsents en rose
Une chane de caractres est une squence de caractres (ASCII).
Utilisations possibles : affichage de messages (bote de dialogue),
communications avec des instruments, fichiers dentre/sortie,
Les contrles ou indicateurs de chanes sont dans le menu :
Commandes >> Commandes Texte ou Indicateur Texte

Par Nicolas POUSSET

134

Chane de caractres (string)


Diffrents modes daffichage des chanes de
caractres sont disponibles

Par Nicolas POUSSET

135

Chane de caractres (string)

Exemples de fonctions disponibles


permettant la manipulation des
chanes :
Longueur dune chane, Concatner en
chane, Remplacer une portion de chane,
Formater en chane,
chane,

Par Nicolas POUSSET

136

Chane de caractres (string)


- Formater
une chane

Double clic sur


le VI

s : string
f : floating

Par Nicolas POUSSET

137

Chane de caractres (string)

Dans certains cas (par exemple,


pour communiquer avec un
instrument par lintermdiaire du
port srie)
srie) il est ncessaire
davoir
comme
sparateur
dcimal un point et non une
virgule.. Il faut donc ajouter le
virgule
format %.;

Par Nicolas POUSSET

138

Chane de caractres (string)

- Balayer une
chane
- Sous
Sous--ensemble
dune chane

Par Nicolas POUSSET

139

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

Par Nicolas POUSSET

140

Crer un cluster
1.

Slectionner un modle de cluster :

Commandes >> Toutes les commandes >> Tableau et


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

Placer des objets dans le cluster :

Par Nicolas POUSSET

141

La sous palette Clusters


Dans le sous
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
Commandes
tiquette

tiquette

Modification dun cluster


Assembler par nom
Par Nicolas POUSSET

142

La sous palette Clusters

Type de donnes
Indicateurs

Dsassembler

tiquette

Dsassembler par nom

Par Nicolas POUSSET

143

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 (valeur boolenne).
Code rapporte le code spcifique de lerreur (Entier 32 bits).
Source donne des informations sur lerreur (Chane de caractres).
Exemple :

Pas derreur

Erreur
Par Nicolas POUSSET

144

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

Par Nicolas POUSSET

145

Types de connexions
Numriques

Scalaire

Tableau 1D

Tableau 2D

Rels
Entiers

Boolen
Chane de
caractres
Donnes
Dynamiques

Par Nicolas POUSSET

146

Exercice 6 - utilisation de clusters et de graphiques


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

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

Par Nicolas POUSSET

147

Exercice 6 - utilisation de clusters et de graphiques


Exemple de solution possible
(Point.vi)

Dplacement discret

Dplacement continu

Par Nicolas POUSSET

148

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 et du VI Express
Formule
Exercice 7 : Cluster, manipulation derreurs et
structure condition
Exercice 8 : Luminance spectrique du corps noir

Par Nicolas POUSSET

149

Structure Condition
Dans la sous palette Structures de la palette de Fonctions
Fonctions..
Uniquement un seul cas est visible la fois.
Slecteur : Vrai, faux,
peut--tre, peut
peut
peut--tre pas,

Terminal de
slection

Slecteur : 0, 1, 2,

Terminal de
slection

Terminal de
slection

Slecteur :
Vrai ou Faux
Par Nicolas POUSSET

150

Structure Condition pour la gestion derreurs


Lorsque que lon cble un
cluster derreur sur le
terminal de slection dune
structure condition, celle
celle--ci
affiche 2 conditions : Pas
derreur (en vert) et
Erreur (en rouge)
rouge)..

La structure Condition ne
reconnat que la valeur
boolenne tat du cluster
derreur..
derreur

Par Nicolas POUSSET

151

Structure Squence droule ou empile


Palette Fonctions et sous palette Structure
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)

Par Nicolas POUSSET

152

Bote de calcul

Dans la sous
sous--palette Structures
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
Point

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


lutilisation des fonctions de base ( gauche).

Par Nicolas POUSSET

153

VI Express Formule

Indique que la
syntaxe de la
formule crite
est bonne.
bonne.

Utilisation dune interface de calculatrice o sont


prsentes la plupart des fonctions dune calculatrice
scientifique classique.
classique.
Par Nicolas POUSSET

154

Exercice 7 - 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.
ngatif.

Par Nicolas POUSSET

155

Exercice 7 - Cluster, manipulation derreurs et structure


condition
Exemple de solution possible
(clusters.vi)

Par Nicolas POUSSET

156

Exercice 7 - Cluster, manipulation derreurs et structure


condition
Exemple de solution possible
(clusters.vi)

Par Nicolas POUSSET

157

Exercice 7 - Cluster, manipulation derreurs et structure


condition
Alternative possible pour signaler lerreur
(clusters2.vi)

Que ce passe t-il si lon ajoute une boucle While


ce programme pour que celui
celui--ci fonctionne en
continu et que lon rentre une valeur ngative ?
Par Nicolas POUSSET

158

Exercice 7 - Cluster, manipulation derreurs et


structure condition
Complment
(clusters3.vi)

Le programme fonctionne en continu grce la boucle While


While.. Celle
Celle-ci sarrte ds que lon appui sur le bouton Stop o ds que lon
rentre une valeur ngative dans la commande Numrique .
Par Nicolas POUSSET

159

Exercice 8 - Luminance spectrique du corps noir (bote


de calcul, registres dcalage, et boucles)
Un corps noir est un radiateur thermique idal qui
absorbe compltement toutes les radiations
incidentes quelles que soient leur longueur donde,
leur direction et leur tat de polarisation.

Loi de Planck

Gnrer un VI qui permet de


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

2hc 2

Le , ( ,T ) =
5

(e

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 x 10-34 J.s
Constante de Boltzmann
k = 1,380 650 5 x 10-23 J.K-1
Par Nicolas POUSSET

160

Exercice 8 - Luminance spectrique du corps noir (bote


de calcul, registres dcalage, et boucles)

Le Soleil est assimil un


corps noir
Temprature du soleil sa
surface 5800 K
Par Nicolas POUSSET

161

Exercice 8 - Luminance spectrique du corps noir (bote


de calcul, registres dcalage, et boucles)
Allure du spectre dune
lampe halogne filament
de tungstne dans le visible
(380 780 nm)
nm)
Temprature 3000 K

Par Nicolas POUSSET

162

Exercice 8 - Luminance spectrique du corps noir (bote


de calcul, registres dcalage, et boucles)
Exemple de solution possible
(Planck.vi)

Le rayonnement du corps noir ne commence se voir quau del de 600


600C (rouge
sombre) do le choix de lexpression corps noir puisqu temprature ambiante
(300 K) les corps naturels mettent dans lInfrarouge (IR).
(IR).

Par Nicolas POUSSET

163

Partie IX - Variables
Variables locales
Variables locales de squence
Variables globales
Exercice 9 : utilisation de variables locales

Par Nicolas POUSSET

164

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


VI.. Elle permet
de communiquer des donnes facilement au sein dun mme VI
VI..
Cela vite, entre autre, de cbler plusieurs fils qui vont perturber la
prsentation visuelle du diagramme
diagramme..
Par Nicolas POUSSET

165

Variables locales de squence


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

Par Nicolas POUSSET

166

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

Par Nicolas POUSSET

167

Variables globales

2. SousSous-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)
criture)
3. 2me VI (vi
(vi22.vi) o lon rcupre la variable globale
comme un soussous-VI classique que lon paramtre en
mode lecture

Par Nicolas POUSSET

168

Exercice 9 - utilisation de variables locales


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

Par Nicolas POUSSET

169

Exercice 9 - utilisation de variables locales


Exemple de solution possible
(variable.vi)

Par Nicolas POUSSET

170

Exercice 9 - utilisation de variables locales


Exemple de solution possible
(variable.vi)

Par Nicolas POUSSET

171

Partie X - Tables et nuds de proprit


Tables
Nuds de proprit
Enregistrement dans un fichier Excel
Exercice 10 : utilisation de nud de proprit

Par Nicolas POUSSET

172

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

EnEn-ttes de lignes et
en
en--tte de colonnes

Clic droit
sur la table

Par Nicolas POUSSET

173

Tables - exemple

EnEn-tte de colonnes
EnEn-tte de lignes

Permet de mettre en forme des donnes pour


les enregistrer dans un tableur
Par Nicolas POUSSET

174

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

Par Nicolas POUSSET

175

Nud de proprit

Dans un second temps il faut


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

Par Nicolas POUSSET

176

Nud de proprit - exemple


Objectif : on souhaite remplir une table
et lenregistrer dans un fichier Excel.

tape 0 : initialisation de la table

tape 1 : On remplit la table


Variable locale

Par Nicolas POUSSET

177

Nud de proprit - exemple


tape 2 : Sauvegarde des donnes dans un fichier Excel

Nud de proprit

Par Nicolas POUSSET

178

Nud de proprit - exemple


tape 2 : Sauvegarde des donnes dans un fichier Excel

Par Nicolas POUSSET

179

Nud de proprit - exemple - rsultats

tape 1 : La table se remplit

tape 2 : Une bote de dialogue


apparat pour enregistrer les donnes
au format .xls

Par Nicolas POUSSET

180

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

Par Nicolas POUSSET

181

Exercice 10 - utilisation de nuds de proprit


Crer un programme qui permet de rendre visible ou invisible un bouton sur
la face avant et de rgler la taille dun afficheur de type LED.
LED.

Par Nicolas POUSSET

182

Exercice 10 - utilisation de nuds de proprit


Exemple de solution possible
(Nud de proprit.vi)

Par Nicolas POUSSET

183

Partie XI - Impression et documentation


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

Par Nicolas POUSSET

184

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

Par Nicolas POUSSET

185

Rapport prpr-format

Gnrer un rapport (Palette de Fonctions Sortie Rapport)

Par Nicolas POUSSET

186

Rapport prpr-format

En double cliquant sur le


VI Express nous avons la
possibilit de paramtrer
le formatage du rapport.
rapport.

Par Nicolas POUSSET

187

Rapport prpr-format

Gnration des signaux

Gnration du rapport

Par Nicolas POUSSET

188

Rapport prpr-format

Par Nicolas POUSSET

189

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.

Par Nicolas POUSSET

190

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
Ne pas oublier de mettre les tiquettes sur les
fonctions que vous utilisez et de nommer
explicitement vos commandes et vos indicateurs !
Par Nicolas POUSSET

191

Partie XII - Programmation


Evnementielle
Quest
Quest--ce que la programmation vnementielle?
Un vnement : questquest-ce que cest?
Quels en sont les avantages ?
Fonctionnement de la structure Evnements

Exercice 11 : utilisation dune structure


Evnements

Par Nicolas POUSSET

192

Introduction
La programmation vnementielle permet la gestion
dvnements asynchrones cres notamment par des actions de
lutilisateur sur la face avant.
avant.
n.b. : Les fonctionnalits de la programmation vnementielles
sont uniquement disponibles dans les versions professionnelles
de labVIEW.
labVIEW.

Par Nicolas POUSSET

193

Les vnements? les avantages?


Les vnements peuvent provenir :
- de la face avant (changement de valeur dune commande, une saisie sur les
touches du clavier, un clic de souris,
souris,)
- dentres/sorties externes (compteurs, trigger,
trigger,)
- dautres parties du programme,
programme,
Les vnements permettent dexcuter un code spcifique synchronis , par
exemple, avec une action de lutilisateur sur la face avant.
avant. Sans cela le
programme serait oblig dinterroger ltat des objets de la face avant dans une
boucle, ce qui ncessite beaucoup de ressources du processeur.
processeur. De plus, dans
ce cas il est possible de manquer un changement dtat rapide sur la face
avant.. Avec la programmation vnementielle il ny a pas de perte
avant
dvnements..
dvnements

Par Nicolas POUSSET

194

Structure vnement

Etiquette du slecteur dvnements

Terminal de Timeout *

Nud de donnes
dvnements

Nud de filtre dvnements

La structure Evnement termine son


excution aprs avoir gr un seul vnement.
On lutilisera donc dans une boucle While la
plupart du temps.
* Par dfaut le terminal de Timeout est -1. Cela signifie
quil faut attendre indfiniment quun vnement se
produise..
produise
Par Nicolas POUSSET

195

Structure vnement

Un nouvelle condition
dvnement a t
ajoute
Par Nicolas POUSSET

196

Exercice 11 - utilisation dune structure vnements


Crer un programme qui permet
- deffectuer la copie dune valeur numrique et dune chane de caractres dune
commande dans un indicateur
indicateur..
- dactiver un indicateur de type LED lorsque lon appui sur un bouton de type
boolen..
boolen
- dactiver la transparence de la face avant lors de la commutation dun bouton
bouton..

Par Nicolas POUSSET

197

Exercice 11 - utilisation dune structure vnements


Exemple de solution (Boucle venementielle.vi)

Par Nicolas POUSSET

198

Partie XIII - Architectures de


programmation boucles uniques
Larchitecture simple du VI

Larchitecture gnrale du VI
Larchitecture de type machine dtats
(simple et complexe)
Exercice 12 : gestion de feux tricolores
Par Nicolas POUSSET

199

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

Par Nicolas POUSSET

200

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.

Par Nicolas POUSSET

201

Larchitecture de machine dtats (simple)


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 : Initialisation (Init)
1 : Etat 1
2 : Etat 2
3 : Etat 3
4 : Etat 4
5 : Etat 2,
6 : Arrt

Init
Etat 4

Arrt

Etat 1
Etat 3

Etat 2

Par Nicolas POUSSET

202

Larchitecture de machine dtats (simple)


Constante
numration :
Enum

Dans chaque trame de la structure Condition


correspondant un tat donn, on dtermine ltat
suivant avec des constantes numration : enum .
Par Nicolas POUSSET

203

Larchitecture de machine dtats (complexe)


Gestion dvnements sur linterface utilisateur : Utilisation de la
boucle vnementielle dans une boucle while et de listes dattente.
dattente.
Exemple de programme :
Face avant comprenant 4
onglets ( Commande onglet
de la sous palette Conteneurs
de la palette Commandes ) sur

lesquelles sont disponibles


plusieurs
commandes
attaches

des
fonctionnalits prcises.
prcises.

Par Nicolas POUSSET

204

Larchitecture de machine dtats (complexe)


Dans un premier temps nous allons tudier la face avant de ce
programme qui repose sur une architecture de type machine
dtats pour en comprendre le fonctionnement gnral ainsi
que les diffrentes fonctionnalits.
fonctionnalits.
Nous tudierons ensuite en dtail le diagramme de ce
programme..
programme

Par Nicolas POUSSET

205

Larchitecture de machine dtats (complexe)


Onglet : Fonctions
Listing de toutes les
fonctions disponibles
dans le programme

Possibilit
dcrire
les commandes de
fonctions la main
pour que celles
celles--ci
sexcutent..
sexcutent

Par Nicolas POUSSET

206

Larchitecture de machine dtats (complexe)


Onglet : Image
Affiche ( gauche)
une image partir
dun chemin spcifi.
spcifi.
Affiche ( droite) un
masque de limage
de gauche.
gauche. Celui
Celui--ci
peut tre en couleur
ou en noir et blanc.
blanc.

Par Nicolas POUSSET

207

Larchitecture de machine dtats (complexe)


Onglet : Mto

Affiche ( gauche)
diverses informations
(date dacquisition,
temprature,
humidit,
pression,) lorsque
lon appui sur le
bouton Lecture des
paramtres mto .

Par Nicolas POUSSET

208

Larchitecture de machine dtats (complexe)


Onglet : Enregistement de donnes

Permet lacquisition
de donnes, la
suppression dune
ligne, leffacement du
tableau et
lenregistrement des
donnes dans un
fichier excel.

Par Nicolas POUSSET

209

Larchitecture de machine dtats (complexe)


Cette prsentation des diffrents onglets de la face avant de ce VI a
permis davoir un aperu gnral des fonctionnalits de ce
programme..
programme
Il faut galement voir, que celui
celui--ci fonctionne en continu (grce une
boucle While) et quil est possible de commencer, par exemple, par
une lecture des paramtres mto, ensuite dacqurir des donnes et
de les enregistrer, puis, pourquoi pas de raliser un masque dune
image..
image
Dans ce type darchitecture il ny a aucune notion de squenage
ce qui laisse une libert totale de paramtrage de la face avant.
avant.

Par Nicolas POUSSET

210

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

211

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

212

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

213

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

214

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

215

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

216

Exercice 12 - Mise en pratique de la structure machine


dtats simple : gestion de feux tricolores
Gnrer un VI qui permet de grer les feux tricolores
dun carrefour
carrefour..

On utilisera, entre autre, une


structure conditionnel avec
des constantes numration,
des clusters
clusters,,...

Par Nicolas POUSSET

217

Exercice 12 - Mise en pratique de la structure machine


dtats simple : gestion de feux tricolores
Aide la conception
1. Nord est au vert : Sud est au
vert, Est et Ouest au rouge.
rouge.
2. Nord est au orange : Sud est au
orange, Est et Ouest au rouge
rouge..
3.

Nord est au rouge : Sud est au


rouge, Est et Ouest au vert.
vert.

4. Nord est au rouge (2) : Sud est


au rouge, Est et Ouest au
orange..
orange
5. ,.
Par Nicolas POUSSET

218

Exercice 12 - Mise en pratique de la structure machine


dtats simple : gestion de feux tricolores
Exemple de solution
(Exercice 9 - Feux tricolores V1.vi)

Par Nicolas POUSSET

219

Exercice 12 - Mise en pratique de la structure machine


dtats simple : gestion de feux tricolores
Exemple de solution

Par Nicolas POUSSET

220

Exercice 12 - Mise en pratique de la structure machine


dtats simple : gestion de feux tricolores
Exemple de solution

Par Nicolas POUSSET

221

Exercice 12 - Mise en pratique de la structure machine


dtats simple : gestion de feux tricolores
Exemple de solution

Par Nicolas POUSSET

222

Exercice 12 - Mise en pratique de la structure machine


dtats simple : gestion de feux tricolores
Exemple de solution

Par Nicolas POUSSET

223

Exercice 12 - Gestion de feux tricolores : Complments


A partir de votre prcdent VI simuler le dplacement de voitures sur votre
face avant comme explicit dans les tapes 1 6. A chaque fois quune voiture
rapparat sur la face avant (transition entre ltape 2 et 3 par exemple) on
changera sa couleur de faon alatoire
alatoire..
On utilisera des commandes boolennes pour reprsenter les voitures et des nuds
de proprits pour les dplacer.
dplacer.

Etape 2

Etape 3

Etape 1
Par Nicolas POUSSET

224

Exercice 12 - Gestion de feux tricolores : Complments

Etape 5

Etape 6

Etape 4

Par Nicolas POUSSET

225

Exercice 12 - Gestion de feux tricolores : Complments


Exemple de solution (Exercice 9 - Feux tricolores V3).vi

Par Nicolas POUSSET

226

Exercice 12 - Gestion de feux tricolores : Complments


Exemple de solution

Par Nicolas POUSSET

227

Exercice 12 - Gestion de feux tricolores : Complments


Exemple de solution

Par Nicolas POUSSET

228

Exercice 12 - Gestion de feux tricolores : Complments


Exemple de solution

Par Nicolas POUSSET

229

Exercice 12 - Gestion de feux tricolores : Complments


Exemple de solution

Par Nicolas POUSSET

230

Partie XIV - Panneaux de contrle distance


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

Par Nicolas POUSSET

231

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 sauvegard, le
fichier peut tre ouvert
nouveau et personnalis
dans tout diteur HTML.
Ne pas oublier dactiver le serveur web pour
permettre au(x) client(s) daccder aux donnes.
Par Nicolas POUSSET

232

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

Linstallation de
LabVIEW sur la
machine distante nest
pas ncessaire.

Application fonctionnant sur le PC


o est install LabVIEW
Par Nicolas POUSSET

233

Panneau de contrle distance - Ressources


NI Developer Zone
(zone.ni.com)
- Recherche de panneaux de
contrle distance.
Ex:http://www.ni.com/webappdemos/tempcontrol
demo.htm)

- Tlchargement de Tutoriaux
et Instructions.
- Support sur lincorporation
de Webcams dans les
panneaux de contrle
distance.
Par Nicolas POUSSET

234

Partie XV - 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

Drivers dinstruments
Par Nicolas POUSSET

235

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

Par Nicolas POUSSET

236

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
Hewlett--Packard) un standard de communication qui permet
aujourdhui de contrler la plupart des instruments de mesures (oscilloscopes,
multimtres, gnrateurs de fonctions, ).
La premire normalisation de ce bus date de 1987 sous la rfrence IEEE 488
488..1. Une
deuxime normalisation de ce bus est intervenue en 1992 avec la rfrence IEEE
488
488..2 pour prciser la prcdente qui tait incomplte, et ceci en prcisant le
protocole de communication, en dfinissant les formats de donnes,
donnes,...
... En 1990
1990,, le
document Standard Commands for Programmable Instrumentation (SCPI) a t
incorpor la norme
norme.. Celui
Celui--ci dfinit un certain nombre de commandes auxquelles
chaque instrument doit pouvoir obir
obir.. Cela permet ainsi une interoprabilit de
matriels de diffrents fabricants.
fabricants.

Connecteur GPIB

Par Nicolas POUSSET

237

GPIB - Caractristiques techniques


- La liaison GPIB est une liaison parallle
sur 8 bits.
bits.

IEEE 488 : 1 Mo/s


HS 488 : 8 Mo/s

Interface
GPIB/USB HS
de National
Instruments

- Interconnexion de 15 appareils maximum :


Carte GPIB
chaque appareil possde une adresse
Cble GPIB
comprise entre 0 et 30
30..
- Vitesse de transfert maximum : 1 Mo/s
Mo/s..
- Longueur de cble de 4 m au maximum
entre 2 appareils.
appareils.
- Longueur totale de cble de 20 m au
maximum..
maximum
- Au minimum les 2/3 des instruments
doivent tre sous tension.
tension.

Par Nicolas POUSSET

238

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?


Par Nicolas POUSSET

239

GPIB - Measurement and Automation Explorer


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

Possibilit de tester la communication avec linstrument

Par Nicolas POUSSET

240

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

Par Nicolas POUSSET

241

GPIB - Fonctions de base dans labVIEW

Par Nicolas POUSSET

242

Srie - Introduction
Bien que progressivement dlaisse pour lUSB (Universal Serial Bus), la liaison
Srie (RS 232
232,, RS 449
449,, RS 422
422,, RS 423
423,, RS 485
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,
programmable,)
La liaison Srie est une liaison asynchrone cestcest--dire quelle ne transmet pas de
signal dhorloge.
dhorloge. Il ny a donc aucune synchronisation entre lmetteur et le
rcepteur.. Pour que le rcepteur puisse interprter convenablement linformation du
rcepteur
transmetteur, il faut que les deux lments soient configurs de la mme faon
faon..
Il faut spcifier quatre paramtres pour ce type de communication : le dbit de
transmission en bauds, le nombre de bits de donnes, la polarit du bit de parit
(paire ou impaire), le nombre de bits de stop (1, 1,5 ou 2).

Port Srie
Par Nicolas POUSSET

243

Srie - Caractristiques techniques


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

B0

B1

B2

B3

Niveau haut

B4

B5

B6

Bit de
Parit

Bit de
Stop

Niveau bas

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


envoye. Il permet la
synchronisation du rcepteur
rcepteur..
- 7 ou 8 bit de donnes (B0 B6 (ou B7) avec B0 le bit de poids faible (LSB) et B6 le bit de
poids fort (MSB)).
(MSB)).
- Un bit

de parit qui permet de dtecter les ventuelles erreurs de transmission.


transmission.

- Un bit de stop. Aprs la transmission la ligne est positionne au repos pendant X


priodes dhorloges du rcepteur
rcepteur..

Par Nicolas POUSSET

244

Srie - Fonctions de base dans labVIEW

VISA : Virtual Instrument Software Architecture


Par Nicolas POUSSET

245

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

Par Nicolas POUSSET

246

Drivers dinstruments
Les drivers dinstruments sont des bibliothques de VI qui permettent de
contrler un instrument programmable.
programmable.
Accessible sur le site de NI ladresse suivante :

http://www.ni.com/devzone/idnet/f/
Ou par labVIEW partir de larborescence suivante : Outils > Instrumentation
> Base de drivers dinstruments (ou rechercher des drivers dinstruments ) .
Exemple : Multimtre KEITHLEY modle 2002 :

Par Nicolas POUSSET

247

Partie XVI - Module Vision


NI Vision Assistant

Acquisition dune SEULE image


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

Par Nicolas POUSSET

248

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
dimages et permet de gnrer
automatiquement et facilement
un
code
LabVIEW
oprationnel..
oprationnel

Par Nicolas POUSSET

249

NI Vision Assistant - Acquisition

Choix du type de camra


(USB, Firewire,)

Par Nicolas POUSSET

250

NI Vision Assistant - Acquisition


Acquisition dune
squence dimages

Slection de la
camra

Rglage des
paramtres vido
Rglage des
paramtres lis
aux images

Par Nicolas POUSSET

251

NI Vision Assistant - Paramtrage


Contraste,
saturation,

Degr de
rouge, vert,
bleu.

Rglage des paramtres vido

Ces paramtres sont intrinsques


la camra utilise.
utilise. Ils seront
diffrents pour dautres types de
camras..
camras

Vision infrarouge
Rglage des paramtres lis aux images

Par Nicolas POUSSET

252

NI Vision Assistant - Traitement dimages

1 mm

Exemple dune image dun


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

Par Nicolas POUSSET

253

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

Exemple de mesure de profil


sur une ligne de limage

Profil de la ligne choisie (en vert)

Affichage des points


du profil dans un
fichier Excel

Par Nicolas POUSSET

254

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

Calcul de centre
de traits

Par Nicolas POUSSET

255

NI Vision Assistant Gnration automatique de code

Programme LabVIEW de dtection de


bord de trait et de calcul de centre
gnr automatiquement.

Par Nicolas POUSSET

256

Fonctions Vision

Fonctions Toutes les fonctions


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

Machine Vision
IMAQ USB

Par Nicolas POUSSET

257

Outils de visualisation

Commandes Toutes les commandes Vision

Outil de visualisation
dimages sur la face
avant

Par Nicolas POUSSET

258

Acquisition dune SEULE image

USB
PC
Webcam

Utilisation
du SNAP

Par Nicolas POUSSET

259

Acquisition CONTINUE dimages

Utilisation du

GRAB

Par Nicolas POUSSET

260

Partie XVII - Exercices dapplications


Cration dune mire sans les outils vision

Cration dune mire avec les outils vision


Ouverture dune image
Cration dun masque sur une image
Calibrage dune image
Composteur de matire organique assistance lectronique
Mise en garde
Proprits dun VI
Gnration de fractales
Tirage alatoire
LEGO Mindstorms Systme dalarme

Par Nicolas POUSSET

261

Cration dune mire sans les outils vision


1re tape : Cration dun motif unique dont les
coordonnes des deux coins indiqus sont entres
dans un tableau (x1, y1, x2, y2).
x1

x2

x1
y1
x2
y2

y1
y2

Par Nicolas POUSSET

262

Cration dune mire sans les outils vision


Raliser un VI qui
permet de visualiser
laffichage dun motif
sur un fond noir.

Pour
ce
faire
nous
utiliserons des graphiques
dintensit ainsi que les VI
suivants
(voir
diapo
suivante).

Par Nicolas POUSSET

263

Cration dune mire sans les outils vision


Nous utiliserons les VI standards suivants :
Aide contextuelle

Par Nicolas POUSSET

264

Cration dune mire sans les outils vision


Exemple de solution possible

Par Nicolas POUSSET

265

Cration dune mire sans les outils vision


2me tape : Cration dune ligne de motifs
identiques.. Pour cela nous allons dcomposer le
identiques
problme en crant un sous VI qui gnre un seul
motif puis lutiliser dans une boucle For au sein
dun VI principal pour la cration dune ligne.
ligne.

Par Nicolas POUSSET

266

Cration dune mire sans les outils vision


Cration du sous VI
Cration dune icne
facilement reconnaissable

Par Nicolas POUSSET

267

Cration dune mire sans les outils vision


Exemple de solution possible

Par Nicolas POUSSET

268

Cration dune mire sans les outils vision


Raliser un VI qui permet de visualiser laffichage dune
ligne de motifs identiques sur un fond bleu.

pas x

Par Nicolas POUSSET

269

Cration dune mire sans les outils vision


Exemple de solution possible

Par Nicolas POUSSET

270

Cration dune mire sans les outils vision


3me tape : Cration dune mire de motifs
identiques.. Pour cela nous allons utiliser deux
identiques
boucles For pour la cration des lignes et des
colonnes..
colonnes

Par Nicolas POUSSET

271

Cration dune mire sans les outils vision


Raliser un VI qui permet de visualiser laffichage dune
mire de motifs identiques sur un fond noir.

pas y

Par Nicolas POUSSET

272

Cration dune mire sans les outils vision


Exemple de solution possible

Par Nicolas POUSSET

273

Cration dune mire avec les outils vision

1re tape : Cration de la variable image ( laide


du VI standard IMAQ Create ) et dun motif
unique..
unique

Par Nicolas POUSSET

274

Cration dune mire avec les outils vision

Raliser un VI qui permet de


visualiser laffichage dun motif
ovale sur un fond noir dans deux
modes de visualisation diffrents.

Par Nicolas POUSSET

275

Cration dune mire avec les outils vision


Pour ce faire nous utiliserons les VI standards suivants :
Aide contextuelle

Par Nicolas POUSSET

276

Cration dune mire avec les outils vision


Exemple de solution possible

Affichage de limage dans une bote


de dialogue distincte de la face avant
du VI cre.

Par Nicolas POUSSET

277

Cration dune mire avec les outils vision


Exemple de solution possible

Affichage de limage dans un indicateur


visuel prsent sur la face avant du VI
cre.

Par Nicolas POUSSET

278

Cration dune mire avec les outils vision


2me tape : Cration dune ligne de motifs
identiques..
identiques
tapes du programmes :
-

Crer un fond noir de 100 x 100 pixels par exemple.


Calculer le nombre de motifs par ligne.
Rpter linscription dun motif chaque tour.
La position du motif est incrmente chaque tour en
incrmentant les lments (x1, x2) du tableau de position du
motif et en remplaant lancien tableau de position par le
nouveau.

Par Nicolas POUSSET

279

Cration dune mire avec les outils vision

Raliser un VI qui permet de


visualiser laffichage dune ligne de
motifs ovales sur un fond noir.

Par Nicolas POUSSET

280

Cration dune mire avec les outils vision


Exemple de solution possible

Par Nicolas POUSSET

281

Cration dune mire avec les outils vision

3me tape : Cration dune mire de motifs


identiques.. Pour cela nous allons utiliser deux
identiques
boucles For pour la cration des lignes et des
colonnes..
colonnes

Par Nicolas POUSSET

282

Cration dune mire avec les outils vision

Raliser un VI qui permet de


visualiser laffichage dune
mire de motifs identiques sur
un fond noir.

Par Nicolas POUSSET

283

Cration dune mire avec les outils vision

Exemple de
solution possible

Par Nicolas POUSSET

284

Ouverture dune image


Raliser un programme qui ouvre et affiche
un fichier image dans une fentre externe.

On utilisera entre autre les VI Standards suivants :

Par Nicolas POUSSET

285

Ouverture dune image


Exemple de solution possible

Par Nicolas POUSSET

286

Cration dun masque sur une image


(Version noir et blanc)
Raliser un programme qui permet de
crer un masque sur une image donne
en noir et blanc.

Masque cre
Image initiale
Slection de la zone de
limage garder

Par Nicolas POUSSET

Image masque

287

Cration dun masque sur une image


On utilisera entre autre les VI Standards suivants :

Par Nicolas POUSSET

288

Cration dun masque sur une image


Exemple de solution possible

Par Nicolas POUSSET

289

Cration dun masque sur une image


(Version couleur)

Raliser un programme qui permet de crer un


masque sur une image donne en couleur.

Par Nicolas POUSSET

290

Cration dun masque sur une image


Exemple de solution possible

Par Nicolas POUSSET

291

Calibrage dune image


Raliser un programme qui permet de
crer le calibrage dune image dforme.

Image
initiale

Image
calibre

Par Nicolas POUSSET

Image
rogne

292

Calibrage dune image


Exemple de solution possible

Par Nicolas POUSSET

293

Composteur de matire
assistance lectronique

organique

Raliser un programme qui assure la gestion lectronique dun composteur de


matire organique tel que prsent dans le brevet fictif que jai rdig et qui est
tlchargeable ladresse : http://nicolas_pousset.perso.neuf.fr/Exemples/5/Brevet.pdf

Nous utiliserons des variables locales et des structures


condition .
Par Nicolas POUSSET

294

Composteur de matire
assistance lectronique

organique

Principales caractristiques du cahier des charges :


Acquisition de deux tensions issues dune sonde de temprature et dhygromtrie
On fixe les seuils de temprature aux valeurs suivantes : U1 = 60C et U2 = 40C
On fixe le seuil dhygromtrie la valeur suivante : U3 = 45%
Ces seuils correspondent lallumage de voyants LED de couleurs vertes associ une action corrective
spcifique :
(5.1) : Arrosage requis
(5.2) : Ajout de matires azotes (dchets de table, plantes jeunes, gazon,
(5.3) : Ajout de matires carbones (rsidus de jardin, feuilles mortes,)
(5.4) : Retournement du compost (Attention !! Oter la barre mtallique)
Si la temprature mesure est suprieure U1, les voyants (5.3) et (5.4) sallument. Si la temprature est
comprise entre U1 et U2, aucun voyant nest allum. Si la temprature est infrieure U2, le voyant (5.2)
sallume.
Si le taux dhumidit est suprieur U3 aucun voyant ne sallume. Si le taux dhumidit est infrieur U3, le
voyant (5.1) sallume.

Par Nicolas POUSSET

295

Composteur de matire
assistance lectronique

organique

Exemple de solution
possible

Par Nicolas POUSSET

296

Composteur de matire
assistance lectronique

organique

Exemple de solution
possible

Par Nicolas POUSSET

297

Mise en garde
Raliser un programme qui permet deffectuer laffichage dune mise en garde en
fonction de la temprature actuelle (Ta).
(Ta).

Pour ce faire nous utiliserons, entre autre, la fonction Slectionner

Par Nicolas POUSSET

298

Mise en garde
Cahier des charges :
- Si Ta est infrieure ou gale Tmin on affiche le message :
Attention !! Risque de gel et on allume la LED de mise en garde.
garde.
- Si Ta est suprieure ou gale Tmax on affiche le message :
Attention !! Risque de canicule et on allume la LED de mise en
garde..
garde
- Si Ta est comprise entre Tmin et Tmax alors on affiche le message
Aucun Risque et la LED de mise en garde reste teinte.
teinte.
- Si Ta est infrieure o gale Tmin - 10 on affiche une boite de
dialogue avec Ca ne peut plus durer comme !! J'arrte le
programme et on arrte le programme.
programme. On fait de mme lorsque Ta
est suprieure ou gale Tmax + 10
10..

Par Nicolas POUSSET

299

Mise en garde
Exemple de solution possible

Par Nicolas POUSSET

300

Proprits dun VI
Raliser un programme qui permet deffectuer les tches suivantes :
- Faire apparatre ou non la barre des menus et la barre de titre
- Centrer le VI par rapport lcran dordinateur
- Excuter le VI en transparence (dans ce cas on doit avoir la possibilit de la
paramtrer)

Nous utiliserons des nuds de proprit et des nuds


de mthode
Par Nicolas POUSSET

301

Proprits dun VI
Exemple de solution possible

Par Nicolas POUSSET

302

Gnration de fractales (ide de T. BADR (LNE(LNE-INM))


Le terme de fractale a t introduit par Benoit Mandelbrot au cours
des annes 70
70,, dans Les Objets Fractals est dsigne de manire
simpliste un objet dont les motifs se rptent linfini toutes les
chelles..
chelles

Par Nicolas POUSSET

303

Gnration de fractales
L'ensemble de Mandelbrot consiste dcrire tous les points d'un plan
complexe calculs partir dune transformation exprime par :

ou

Les Zn et C sont des nombres complexes


complexes.. On fixe Z0 comme tant gal 0 +
i.0 et on fait varier C (il reprsente le point de limage en cours de calcul)
calcul)..
Pour chaque valeur de C (en abscisse (partie relle) et en ordonne (partie
imaginaire)), on calcul Zn+
n+11 et on compare le module du nombre complexe
calcul la valeur 2. Si le module est suprieur 2 on est sr de la divergence
de la suite.
suite. On affecte alors comme couleur de pixel ce point la valeur du
nombre ditrations obtenus.
obtenus. Si le module du nombre complexe ne diverge
pas jusqu un nombre limite ditrations que lon fixera 200 on met le pixel
0 (noir)
(noir)..

Par Nicolas POUSSET

304

Gnration de fractales
Raliser un programme qui permet dafficher un fractale de type Mandelbrot.
Mandelbrot.
Pour cette exercice on utilisera un graph dintensit pour afficher le fractale, une
boucle For pour le calcul des points en abscisse et une boucle For pour le calcul
des points en ordonnes.
ordonnes. Une boucle While intgrera lintgralit du code
dvelopp..
dvelopp

On cherchera crer un programme qui permettre


de paramtrer la rsolution de la figure.
figure. Une option
de zoom pourra galement tre implmente.
implmente.

Par Nicolas POUSSET

305

Gnration de fractales

Par Nicolas POUSSET

306

Gnration de fractales

Par Nicolas POUSSET

307

Gnration de fractales
Exemple de solution possible

Par Nicolas POUSSET

308

Gnration de fractales
Exemple de solution possible pour un soussous-VI

Par Nicolas POUSSET

309

Tirage alatoire
Raliser un programme qui permet de gnrer de
manire alatoire une srie de dix nombre compris
entre 1 et 10
10..
Chaque chiffre ne doit apparatre quune fois et
chaque tirage doit respecter une loi de distribution
rectangulaire..
rectangulaire
La face avant du programme devra tre similaire
celle reprsente droite.
droite.
Une tape intermdiaire
doit vous permettre de
vrifier que les tirages
suivent bien une loi de
distribution rectangulaire
tel que reprsent sur la
figure de gauche.
gauche.
Par Nicolas POUSSET

310

Tirage alatoire
Pour raliser ce programme on pourra utiliser les lments suivants :

Pour faciliter la lecture du programme on ralisera un sous


sous--VI qui permettra de
gnrer un nombre compris entre 1 et 10 et qui suit une loi de distribution
rectangulaire..
rectangulaire
Dans un VI principal on fera appel au sous
sous--VI plusieurs fois pour gnrer la srie de
dix nombres alatoires
alatoires..

Par Nicolas POUSSET

311

Tirage alatoire
Exemple de solution possible pour le soussous-VI
(Loi rectangulaire.vi)

Par Nicolas POUSSET

312

Tirage alatoire
Exemple de solution possible pour VI principal

Par Nicolas POUSSET

313

Tirage alatoire

Par Nicolas POUSSET

314

Tirage alatoire

Par Nicolas POUSSET

315

LEGO Mindstorms Systme dalarme


1) Raliser un programme qui permet :
- de dtecter la prsence dun objet ou dune personne laide du capteur ultrasons
- dmettre des sons lorsquil y a une dtection
- dacqurir une image de lobjet ou de la personne tant que le capteur dtecte une
prsence ou lorsque lon appui sur un capteur de contact
- denvoyer et de stocker sur un serveur FTP les images acquises
- dafficher ltat de la batterie du LEGO
Larrt du programme se fait en appuyant sur le bouton stop de la face avant du VI ou
bien en appuyant sur un capteur de contact du LEGO Mindstorms

2) Raliser une page web en html pour visualiser les images partir dun
navigateur web et dune connexion internet

Par Nicolas POUSSET

316

LEGO Mindstorms Systme dalarme


Webcam

2 capteurs de contact

Emetteur/rcepteur
ultrasons

Par Nicolas POUSSET

317

LEGO Mindstorms Systme dalarme


Nombre
dimages
acquises

Tension
dlivre par
la batterie du
Mindstorms
(en V)

Face avant raliser


Par Nicolas POUSSET

318

LEGO Mindstorms Systme dalarme


http://nicolas.pousset.ifrance.com/

Exemple de
page web
raliser

Accs lensemble
des images

Par Nicolas POUSSET

319

LEGO Mindstorms Systme dalarme

Par Nicolas POUSSET

320

LEGO Mindstorms Systme dalarme


Aide la conception :
VI principal contenant 3 soussous-VI

Par Nicolas POUSSET

321

LEGO Mindstorms Systme dalarme


VI permettant de tester si les
conditions sont runis pour acqurir
une image (dtection dune prsence
ou appui sur un capteur de contact)

VI permettant de faire lacquisition


dune image et de lenregistrer dans
un fichier sur le disque dur du PC

VI permettant denregistrer les


images acquises sur un serveur FTP
ainsi quun fichier texte contenant le
nombre dimages acquises

Par Nicolas POUSSET

322

Partie XVIII - Dveloppements


dapplication temps rel
Quest
Quest--ce que le temps rel ?

Terminologie, principe de dveloppement


Architecture
Exemples dapplications, cibles

Par Nicolas POUSSET

323

Quest--ce que le temps rel ?


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

Par Nicolas POUSSET

324

Terminologie temps rel


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

Par Nicolas POUSSET

325

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

Par Nicolas POUSSET

Processeur

Module dE/S

326

Principe de dveloppement temps rel


3. Excuter le code

Affichage possible des


faces avant sur le PC hte
par lintermdiaire

Cible temps rel qui devient


compltement autonome

Dvelopper des programmes avec le lego Mindstorms


NXT et vous ferez du temps rel
Par Nicolas POUSSET

327

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

Boucle de
communication
(non dterministe)

PC hte
Application
cliente

Priorit normale

Priorit temps
critique

Disque

Par Nicolas POUSSET

Disque

328

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

des

donnes

Par Nicolas POUSSET

vers

dautres

329

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

Programme de la cible
Boucle de
priorit
normale

Communication
inter--threads
inter

Par Nicolas POUSSET

Boucle
temps
critique

330

Quest que le multithread ?


Extension du principe de multitche
- Multitche : capacit du systme dexploitation basculer entre
diffrentes tches.
tches.
- Une tche est gnralement une application part entire telle que
LabVIEW..
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.
spcifique.
- Le temps processeur peut tre rparti sur les threads.
threads.
- Capacit avoir des niveaux de priorit
priorit..

Par Nicolas POUSSET

331

Exemples dapplications temps rel


Performances dterministes
Autonomie

Gestion dun airbag

Tests soussous-marins

Fiabilit des performances


Tests de rsistance et
dendurance
Par Nicolas POUSSET

332

Exemples de cibles temps rel avec LabVIEW


PC de bureau ou industriel
Dterminisme pour les systmes PCI

Contrleurs PXI embarqus RT

LabVIEW RealReal-Time

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

Compact FieldPoint RT

CompactRIO

Compact Vision

E/S reconfigurables
reconfigurables,,

Automate de vision industrielle

environnement durcis

Encombrement rduit,
rduit, environnement durcis
Par Nicolas POUSSET

333

Partie XIX - DataSocket


Quest ce que DataSocket ?
Protocole de transfert DataSocket
Fonctions DataSocket
Exemple : labVIEW Messenger

Par Nicolas POUSSET

334

Quest que DataSocket ?


DataSocket est une bibliothque de fonctions qui permet
dchanger des donnes entre diffrentes applications sur un
mme ordinateur ou entre diffrents ordinateurs connects
sur un mme rseau.
rseau.
Les donnes sont publies sur un serveur DataSocket,
DataSocket, puis le
client contacte le serveur DataSocket et lui demande la
rcupration des donnes.
donnes.

Machine 1 :
Publication des
donnes

Machine 2 : Lecture
des donnes
Serveur DataSocket
Par Nicolas POUSSET

335

Protocole de transfert DataSocket


DataSocket Transfer Protocol (DSTP) peut tre
utilis dans une URL (Uniform Resource
Locator), autrement dit une adresse, de la mme
faon que lon utilise HTTP pour les pages web.
web.

dstp://
dstp
://163.173.45.98
163.173.45.98/
/temperature
Protocole

Adresse IP de la machine Nom de la donne


qui publie les donnes

Par Nicolas POUSSET

336

Mise en pratique

Machine 1 :
Publication des
donnes

Slection du type de liaison : Datasocket


Type daccs au donnes : lecture et/ou criture
Chemin daccs au donnes
Par Nicolas POUSSET

337

Mise en pratique

Machine 2 : Lecture
des donnes
Par Nicolas POUSSET

338

Fonctions DataSocket

Fonctions
DataSocket Lire
et

Datasocket Ecrire

Par Nicolas POUSSET

339

Exemple : labVIEW Messenger

Par Nicolas POUSSET

340

Exemple : labVIEW Messenger

Par Nicolas POUSSET

341

Exemple : labVIEW Messenger

Par Nicolas POUSSET

342

Exemple : labVIEW Messenger

Par Nicolas POUSSET

343

Partie XX - Sujets complmentaires

Communications TCP/IP
Module de dveloppement pour PDA
Programmation de FPGA,

Par Nicolas POUSSET

344

Pour aller plus loin


Exemples de programmes (Aide Recherche dexemples)
Quelques ressources supplmentaires sur internet :
Site web de National Instruments (www
www..ni.
ni.com)
Forum dentraide entre dveloppeurs (http
http:://forums
//forums..ni.
ni.com/ni/
com/ni/)) :
une rponse est toujours donne, soit par un autre utilisateur, soit par
un salari de NI
NI..
Bibliothque des drivers dinstruments : VI qui contrlent un
instrument programmable (http
http:://www.
//www.ni.
ni.com/devzone/idnet/f/)
com/devzone/idnet/f/)

Par Nicolas POUSSET

345

Nicolas POUSSET
Docteur//Ingnieur Enseignant
Docteur
Enseignant//Formateur
Institut national de mtrologie
Conservatoire national des arts et mtiers (Cnam
(Cnam))
61 rue du Landy
93210 La Plaine - Saint Denis
France
tl.
tl. : 01.58.80.89.03
email : nicolas.pousset@cnam.fr
Site web pro : http://
http://inm.cnam.fr
inm.cnam.fr
Site web perso : http://nicolas_pousset.perso.neuf.fr

Par Nicolas POUSSET

346

Vous aimerez peut-être aussi