Vous êtes sur la page 1sur 271

Cours dinitiation au logiciel LabVIEW

Dernire mise jour : 29/05/08


Par Nicolas POUSSET 1

Objectifs du cours
Prsenter LabVIEW et ses fonctionnalits. Comprendre les composants d'un Instrument Virtuel (appel VI). tablir une application simple d'acquisition de donnes. Crer un sous-programme dans LabVIEW. Travailler avec les tableaux, les graphiques, les clusters et les structures. Connatre des dispositifs dimpression et de documentation dun VI. Dvelopper 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.

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 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 Architectures de programmation 5 47 60 77 88 104 113 129 144 152 162 170

Par Nicolas POUSSET

Partie XIII Partie XIV Partie XV Partie XVI Partie XVII Partie XVIII Partie XIX

Outils de publication sur le Web Contrle dinstruments Module Vision Exercices dapplications Dveloppement dapplications temps rel DataSocket Sujets complmentaires

187 191 204 217 250 261 269

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. Vocabulaire LabVIEW. Environnement LabVIEW. Composants dune application LabVIEW. Outils de programmation LabVIEW. Crer une application LabVIEW.

Par Nicolas POUSSET

Instrumentation Virtuelle avec LabVIEW

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

Par Nicolas POUSSET

LabVIEW est un outils dacquisition, danalyse et de prsentation de donnes.

Par Nicolas POUSSET

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) Wi-Fi (IEEE 802.11 b/g/n) (Wireless Fidelity) Bluetooth IrDA (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


Par Nicolas POUSSET 8

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, cart-type,), quations diffrentielles,

Par Nicolas POUSSET

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,

Par Nicolas POUSSET

10

Un peu dhistoire
Mars 1998 1997 Aot 1993 LabVIEW 5.0 ActiveX, Multifentrage LabVIEW 4.0 addition doutils pour les professionnels, amliorations du debogage LabVIEW 3.0 version multiplateforme de LabVIEW

Septembre 1992 LabVIEW pour Windows, et pour Sun Janvier 1990 Octobre 1986 Avril 1983 LabVIEW 2.0 pour Macintosh LabVIEW 1.0 pour Macintosh Dmarrage de LabVIEW

Par Nicolas POUSSET

11

Un peu dhistoire
2007 LabVIEW 8.5, outils de dveloppement multicurs (lis aux innovations dans larchitecture des processeurs de PC), programmation par diagramme dtats (statecharts) LabVIEW 8.2 dition des 20 ans, LEGO Mindstorms NXT LabVIEW 8 DSP (Digital Signal Processing), systme embarqu LabVIEW 7 VI Express, Assistants E/S, FPGA/PDA LabVIEW 6.1 Analyse, fonctionnement en rseau LabVIEW 6i Applications Internet LabVIEW Temps rel
Par Nicolas POUSSET 12

2006 2005 Mai 2003 Janvier 2002 Aot 2000 1999

LEGO Mindstorms NXT


4 Entres 3 Sorties Capteur de contact

Moteurs
Capteurs additionnels : acclromtre, gyroscope, colorimtre,

Capteur de son Capteur de lumire

Capteur de distance
(metteur/Rcepteur ultrasons)

Exemples de conceptions :

Humanode Animaux
Par Nicolas POUSSET

Machine

13

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,


Par Nicolas POUSSET 14

LEGO Mindstorms NXT


Autres exemples de conceptions :

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

Table traante

Rsolution dun Rubiks cube Pilotage dun hlicoptre


Par Nicolas POUSSET 15

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.

Par Nicolas POUSSET

16

Composantes dun VI
- Face avant

Les VI se composent de 3 lments principaux :

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

17

Face avant dun VI


Barre doutils de la face avant Contrles numrique

Barre des menus

Icne Lgende du graphique

Contrle boolen Grandeurs en abscisse et en ordonne de la courbe

Graphique

chelle du graphique

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

Diagramme dun VI
Barre doutils du diagramme Constante numrique

Barre des menus Icne

Bote de calcul Fonction division

Structure dune boucle While (tant que)

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,).
Par Nicolas POUSSET 19

Icne/connecteur dun VI
Chaque VI affiche une icne, dans le coin suprieur droit des fentres de la face-avant et du diagramme. Une icne est la Icne par dfaut reprsentation graphique dun VI. Un connecteur est un ensemble de terminaux correspondant aux commandes et aux indicateurs du VI qui sont accessibles.

Par Nicolas POUSSET

20

Ouvrir un VI

Modles de VI

Des modles de VI dj pr-cods sont disponibles.

Par Nicolas POUSSET

21

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

Modles de VI

Aperu de la Description face avant du VI

Permet davoir une trame simple et fonctionnelle rapidement

Aperu du diagramme

Par Nicolas POUSSET

22

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

Recherche dexemples

Par Nicolas POUSSET

23

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

Recherche dexemples

Par Nicolas POUSSET

24

Ouvrir un VI

VI vide

Par Nicolas POUSSET

25

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).
Boolen Bool Numrique Num Tableau et clusters (groupe) Liste et table Conteneurs

Remonter larborescence Rechercher un lment Personnalisation de la palette

Chane et chemin Cha Graphe E/S Refnum Vision (module complmentaire) compl Commandes utilisateur

Menu droulant & num d Commandes classiques Commandes (dialogue) Dcorations Dcorations Slection de commandes

Dans cette palette nous trouverons tous les lments (commandes et indicateurs) ncessaires la cration de la face-avant.
Par Nicolas POUSSET 26

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).
Numrique Num Structures Tableau Chane Cha Temps & dialogue Comparaison Waveform Mesures NI Contrle dapplications Contr d E/S dinstruments d Gnration de rapports Communication Dcorations Slection dun VI d Boolen Bool Cluster (groupe ou agrgat) agr E/S sur fichiers Analyse Graphisme et son Avanc Avanc Bibliothques utilisateur Biblioth

Dans cette palette nous trouverons tous les lments (fonctions de base, VI Express,) ncessaires la cration du code graphique dans la fentre diagramme.
Par Nicolas POUSSET 27

Les Fonctions, les VI et les VI Express


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

VI Express

VI Standard

Par Nicolas POUSSET

28

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. Outil slection automatique
(actif lorsque la LED verte est allume)

Outil dplacement Outil darrt

Outil daction sur la face avant Outil dplacement et taille Outil texte Outil connexion par fils Outil raccourci menu
Par Nicolas POUSSET

Outil sonde Outil copie couleur Outil coloriage

29

Barre doutils de la face-avant


Bouton Excution du programme (VI) Bouton Excution continue Bouton dArrt dexcution Bouton Pause/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 30

Aide contextuelle

Barre doutils du diagramme

Animer lexcution pour animer le diagramme et voir les


donnes transiter.

Excuter de faon dtailler : Excute le programme de


la faon la plus dtaille possible action par action.

Excuter sans dtailler : Excute le programme nud


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

Terminer lexcution

Par Nicolas POUSSET

31

Barre des menus

Fonctionnalits classiques des programmes standards mais galement spcifiques LabVIEW.

Par Nicolas POUSSET

32

Crer un VI
Fentre de la face avant
Bouton Incrmenter/ Dcrmenter

Fentre du diagramme
Nud Indicateur numrique Terminaux de contrle (entres) Terminaux dindicateur (sorties)

=
Commande numrique Clic droit sur la commande (ou la constante) numrique. Fils de liaison Commande Cadre gras Indicateur Cadre fin

Par Nicolas POUSSET

33

Paramtrage des constantes / commandes


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

Format scientifique avec 2 chiffres de prcision

Format virgule flottante avec 2 chiffres de prcision

Par Nicolas POUSSET

34

Paramtrage des constantes / commandes


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

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

Par Nicolas POUSSET

35

Paramtrage des constantes / commandes


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

Indication sur le type de donne

Permet de fixer une valeur par dfaut la commande

Par Nicolas POUSSET

36

Paramtrage des constantes / commandes

Rels

Entiers

Les entiers sont en bleu Les rels sont en orange


Par Nicolas POUSSET 37

Fonction de base

tiquette

Aide contextuelle (Ctrl + H)

Terminaux : 2 entres et 1 sortie

Par Nicolas POUSSET

38

Astuces de connexions
Points de Connexions Trois types de slection

Simple clic

Double clic

Triple clic

Utilisation du routage automatique

Mise en forme des connexions

Clic droit sur le fils

Par Nicolas POUSSET

39

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 gauche droite. Lexcution du nud se fait quand les donnes sont disponibles tous les terminaux dentre. Puis les nuds fournissent des donnes tous les terminaux de sortie. La plupart des langages de programmation textuel (Visual Basic, C++, Java,) utilisent des modles de flux de commandes. Cest lordre squentiel des lments du programme qui dtermine lordre dexcution du programme.
Par Nicolas POUSSET 40

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

41

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

Par Nicolas POUSSET

42

Exercice 1 - Conversion de C en F et en K

Raliser un VI qui permet deffectuer une conversion de C en K et en F partir de fonctions de base de labVIEW.

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

Par Nicolas POUSSET

43

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

Par Nicolas POUSSET

44

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.

En double cliquant sur les erreurs on peut visualiser o elles se trouvent sur le diagramme.
Par Nicolas POUSSET 45

Aides aux dbogages


Animer lexcution
Cliquer sur le bouton ci-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. Les donnes qui transitent sur ce fil seront affiches. Il est galement possible de choisir l'outil Sonde partir de la palette d'outils.
Exemples de sondes personnalises :

Par Nicolas POUSSET

46

Partie II Les sous VI


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

Par Nicolas POUSSET

47

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

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

1 case en sortie pour lindicateur

Un connecteur montre les terminaux disponibles pour le transfert de donnes.

Par Nicolas POUSSET

49

Sous VI
Sous VI Icne reprsentative du VI de plus haut niveau Icne reprsentative du sous VI

VI Principal

Sous VI

Par Nicolas POUSSET

50

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

51

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

Couleur de premier plan Couleur de fond

Par Nicolas POUSSET

52

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

Par Nicolas POUSSET

53

Assigner les terminaux

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

Par Nicolas POUSSET

54

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

55

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

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

56

Insrez le sous VI dans un VI de niveau suprieur


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

Par Nicolas POUSSET

57

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

58

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.

Par Nicolas POUSSET

59

Partie III Acquisition de donnes


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

Par Nicolas POUSSET

60

Introduction lacquisition de donnes


Flux de lumire Conversion du flux de lumire (photons) en courant lectrique (lectrons) Conversion du signal analogique en signal numrique

Phnomne physique

Capteur

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.

Par Nicolas POUSSET

61

Exemple de chane dacquisition de Carte DAQ donnes


MUX CAN

Cble de connexion

Compteur E/S du bus

Capteurs

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

Ports PCI, PCMCIA, USB,

Ordinateur

62

Exemple de capteurs
Mesurande
Temprature

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

Flux de lumire Son Force et pression Position et dplacements Fluide

Mesurande : Grandeur particulire soumise mesurage. Mesurage : Ensemble doprations ayant pour but de dterminer une valeur dune grandeur.
Par Nicolas POUSSET 63

Exemple de capteurs
Deux catgories de capteurs : Capteurs actifs
Ils se comportent comme des 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,).

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

Par Nicolas POUSSET

64

Measurement and Automation Explorer (MAX)

Par Nicolas POUSSET

65

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). Permet la configuration du matriel. Permet de crer et modifier des voies, des tches, des interfaces, des chelles,

Par Nicolas POUSSET

66

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

67

Acquisition de donnes (DAQ) avec LabVIEW


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

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

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

Par Nicolas POUSSET

68

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

69

DAQmx (Assistant DAQ : VI Express)


Acquisition/Gnration dun signal grce lassistant DAQ.

Par Nicolas POUSSET

70

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

71

Connexions des entres analogiques


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

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

Non rfrenc

Par Nicolas POUSSET

72

Connexions des entres analogiques


Trois modes de mise la masse sont disponibles. Le mode choisit dpend de la nature du signal. - Mode DIFFERENTIEL (DIFF) - Mode RSE (Referenced Single-Ended) Single- Ended) (Mode rfrenc une masse commune) - Mode NRSE (Non-Referenced Single-Ended) (NonSingle- Ended) (Mode masse commune non rfrenc) (le meilleur)

(pas recommand) (bon)

Par Nicolas POUSSET

73

Connexions des entres analogiques


Signal non rfrenc Signal rfrenc

DIFFERENTIEL

RSE

NRSE

Par Nicolas POUSSET

74

Exemples de matriels ddis lacquisition


BNC-2090
Connectivit directe des capteurs pour une mise en oeuvre rapide.

22 connecteurs BNC pour les signaux analogiques, numriques, de dclenchement et de compteurs/timers.

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

SCXI

Par Nicolas POUSSET

75

Exemples de matriels ddis lacquisition


ELVIS
Ensemble d'instruments virtuels : oscilloscope, multimtre numrique, gnrateur de fonctions, pour le prototypage en laboratoire et lenseignement.

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

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

PXI/CompactPCI
Par Nicolas POUSSET 76

Partie IV Boucles, registres dcalage et introduction aux graphiques


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

Par Nicolas POUSSET

77

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

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

Par Nicolas POUSSET

78

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

3. Placez les nuds additionnels (contrle boolen : bouton stop par exemple) et reliez-les.

Par Nicolas POUSSET

79

Les registres dcalage


Pour un signal assez bruit lon pourrait avoir envie, par exemple, dafficher une moyenne des valeurs. Pour ce faire il est possible dutiliser un registre dcalage.

Un registre dcalage prend des donnes du ct droit et les reporte du ct gauche litration suivante :
Valeur initiale Valeur initiale Valeur 1 Valeur 1 Valeur 2 Valeur 2 Valeur 3 Valeur 3

Premire itration

Seconde itration

Dernire itration

Par Nicolas POUSSET

80

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

81

Les registres dcalage


Attention !!
Linitialisation du registre dcalage est importante pour viter les erreurs !

1re excution du programme

2me excution du programme

3me excution du programme

Par Nicolas POUSSET

82

Graphiques

Le graphique est un indicateur numrique particulier qui propose un historique des valeurs. Commandes >> Toutes les commandes >> Graphes

Par Nicolas POUSSET

83

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).
Par Nicolas POUSSET 84

Exercice 2 Utilisation dune boucle

Crer un VI qui gnre un nombre alatoire avec un temps dattente que lutilisateur peut modifier.

Larrt du programme se fait laide du bouton stop de la face avant.

Par Nicolas POUSSET

85

Exercice 2 Utilisation dune boucle


Exemples de solutions possible

Par Nicolas POUSSET

86

Action mcanique boolenne


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

OU

Par Nicolas POUSSET

87

Partie V Tableaux et fichiers


Un tableau : Quest-ce que cest ? Construire un tableau manuellement. Construction automatique de tableaux.
crire dans un tableau.

Lire partir dun tableau.

Par Nicolas POUSSET

88

Un tableau,mais pour faire quoi ?


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

Par Nicolas POUSSET

89

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

90

Construire un tableau 1D manuellement


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

Tableau de commandes ou dindicateurs.


Dposez le tableau vide sur la face avant.

Par Nicolas POUSSET

91

Construire un tableau 1D manuellement


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

Tableau de constantes.

Dposez le tableau sur le diagramme.

Par Nicolas POUSSET

92

Construire un tableau 1D manuellement


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

Tableau de contrles

Par Nicolas POUSSET

93

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.

Par Nicolas POUSSET

94

Crer un tableau 1D avec une boucle


Indexation active

Dernire valeur gnre uniquement

Ensemble des valeurs gnres

Notion dindexation
Par Nicolas POUSSET 95

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).
Par Nicolas POUSSET 96

Crer des tableaux 2D manuellement

Clic droit sur le tableau.

Manuellement.

Par Nicolas POUSSET

97

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. La boucle For sexcute alors un nombre de fois gal au nombre dlments du tableau.

Par Nicolas POUSSET

98

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. Dans lexemple ci-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.

Par Nicolas POUSSET

99

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

Par Nicolas POUSSET

100

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

101

Exercice 3 Analyser et stocker des donnes


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

Par Nicolas POUSSET

102

Exercice 3 Analyser et stocker des donnes


Exemples de solutions possible

Par Nicolas POUSSET

103

Partie VI Fonctions des tableaux et graphiques Les fonctions de base dun tableau. Utiliser les graphiques. Crer plusieurs courbes dans les graphiques.

Par Nicolas POUSSET

104

Les fonctions dun tableau les bases


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

Par Nicolas POUSSET

105

Les fonctions du tableau les bases


Fonction : Construire un tableau

Par Nicolas POUSSET

106

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. Les anciennes donnes disparaissent au fur et mesure que de nouvelles arrivent.

Graphe Trace un tableau de nombres en fonction de leurs


indices.

Graphe XY (Express) Trace un seul tableau en fonction de


deux autres tableaux.

Graphe numrique Trace des bits depuis des donnes


binaires.
Par Nicolas POUSSET 107

Les graphiques

Faire un clic droit sur le graphique et slectionner proprits pour personnaliser laffichage (chelle, couleurs, curseurs,).

Par Nicolas POUSSET

108

Exemples : graphe numrique

Lutilisation des clusters sera aborde dans la partie VII

Graphe numrique

Par Nicolas POUSSET

109

Exemples : graphe XY

Graphe XY

Par Nicolas POUSSET

110

Exercice 4 Utilisation de graphiques

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

Afficher les deux courbes sur le mme graphe.

Par Nicolas POUSSET

111

Exercice 4 Utilisation de graphiques


Exemple de solution possible

Par Nicolas POUSSET

112

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.

Par Nicolas POUSSET

113

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

114

Chane de caractres (string)


Diffrents modes daffichage des chanes de caractres sont disponibles.

Par Nicolas POUSSET

115

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,

Par Nicolas POUSSET

116

Chane de caractres (string)


- Formater une chane

s : string f : floating

Double clic sur le VI

Par Nicolas POUSSET

117

Chane de caractres (string)

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

Par Nicolas POUSSET

118

Chane de caractres (string)

- Balayer une chane - Sous-ensemble dune chane

Par Nicolas POUSSET

119

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.

Par Nicolas POUSSET

120

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

121

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

Type de donnes

Type de donnes

Assembler
Commandes tiquette tiquette

Cration dun cluster

Modification dun cluster Assembler par nom


Par Nicolas POUSSET 122

La palette Clusters

Type de donnes

Dsassembler

Indicateurs

tiquette

Dsassembler par nom

Par Nicolas POUSSET

123

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 124

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

125

Types de connexions
Numriques Rels Entiers Scalaire Tableau 1D Tableau 2D

Boolen Chane de caractres Donnes Dynamiques

Par Nicolas POUSSET

126

Exercice 5 Utilisation de clusters et de graphiques


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

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

Par Nicolas POUSSET

127

Exercice 5 Utilisation de clusters et de graphiques


Exemple de solution possible

Dplacement discret

Dplacement continu

Par Nicolas POUSSET

128

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 .

Par Nicolas POUSSET

129

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

Terminal de slection

Terminal de slection

Slecteur : 0, 1, 2,

Slecteur : Vrai ou Faux


Par Nicolas POUSSET 130

Structure Condition pour la gestion derreurs


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

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

Par Nicolas POUSSET

131

Structure Squence droule ou empile


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

Structure squence empile


(gain de place)

Par Nicolas POUSSET

132

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

Avantage de la bote de calcul ( droite) : rapidit dexcution du code par rapport lutilisation des fonctions de base ( gauche).

Par Nicolas POUSSET

133

VI Express Formule

Indique que la syntaxe de la formule crite est bonne.

Utilisation dune interface de calculatrice o sont prsentes la plupart des fonctions dune calculatrice scientifique classique.
Par Nicolas POUSSET 134

Exercice 6 Cluster, manipulation derreurs et structure condition

Gnrer un VI qui permet de visualiser une erreur lorsque lon essaye de calculer la racine carr dun nombre ngatif.

Par Nicolas POUSSET

135

Exercice 6 Cluster, manipulation derreurs et structure condition


Exemple de solution possible

Par Nicolas POUSSET

136

Exercice 6 Cluster, manipulation derreurs et structure condition


Exemple de solution possible

Par Nicolas POUSSET

137

Exercice 6 Cluster, manipulation derreurs et structure condition


Alternative possible pour signaler lerreur

Que ce passe t-il si lon ajoute une boucle While ce programme pour que celui-ci fonctionne en continu et que lon rentre une valeur ngative ?
Par Nicolas POUSSET 138

Exercice 6 Cluster, manipulation derreurs et structure condition


Complment

Le programme fonctionne en continu grce la boucle While. Celleci sarrte ds que lon appui sur le bouton Stop o ds que lon rentre une valeur ngative dans la commande Numrique .
Par Nicolas POUSSET 139

Exercice 7 Luminance spectrique du corps noir (bote de calcul et boucles)


Un corps noir est un radiateur thermique qui absorbe toutes les radiations lectromagntiques incidentes. Loi de Planck dLe d = CN
T

Gnrer un VI qui permet de tracer la luminance spectrique du corps noir pour une temprature donne.

2hc 2

(e
5

hc kT

1)

Vitesse de la lumire dans le vide c = 299 792 458 m.s-1 Constante de Planck h = 6,626 069 3 . 10-34 J.s Constante de Boltzmann k = 1,380 650 5 . 10-23 J.K-1
Par Nicolas POUSSET 140

Exercice 7 Luminance spectrique du corps noir (bote de calcul et boucles)

Le Soleil est assimil un Corps noir. Temprature du soleil sa surface 5800 K.


Par Nicolas POUSSET 141

Exercice 7 Luminance spectrique du corps noir (bote de calcul et boucles)


Allure du spectre dune lampe halogne filament de tungstne dans le visible (380 780 nm)

Par Nicolas POUSSET

142

Exercice 7 Luminance spectrique du corps noir (bote de calcul et boucles)


Exemple de solution possible

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

Par Nicolas POUSSET

143

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

Par Nicolas POUSSET

144

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.


Par Nicolas POUSSET 145

Variables locales de squence


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

Par Nicolas POUSSET

146

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.

Par Nicolas POUSSET

147

Variables globales

2. Sous-VI cre lors de linsertion des variables dans le premier VI. Icne reprsentative des sous VI de variable globale.

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

Par Nicolas POUSSET

148

Exercice 8 Utilisation de variables locales


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

Par Nicolas POUSSET

149

Exercice 8 Utilisation de variables locales


Exemple de solution possible

Par Nicolas POUSSET

150

Exercice 8 Utilisation de variables locales


Exemple de solution possible

Par Nicolas POUSSET

151

Partie X Tables et nuds de proprit


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

Par Nicolas POUSSET

152

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

En-ttes de lignes et en-tte de colonnes

Clic droit sur la table

Par Nicolas POUSSET

153

Tables - exemple

En-tte de colonnes En-tte de lignes

Par Nicolas POUSSET

154

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.

Par Nicolas POUSSET

155

Nud de proprit

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

Par Nicolas POUSSET

156

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

157

Nud de proprit - exemple


tape 2 : Sauvegarde des donnes dans un fichier Excel

Nud de proprit

Par Nicolas POUSSET

158

Nud de proprit - exemple


tape 2 : Sauvegarde des donnes dans un fichier Excel

Par Nicolas POUSSET

159

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

160

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.

Par Nicolas POUSSET

161

Partie XI Impression et documentation


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

Par Nicolas POUSSET

162

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

163

Rapport pr-format

Gnrer un rapport (Palette de Fonctions Sortie Rapport)

Par Nicolas POUSSET

164

Rapport pr-format

En double cliquant sur le VI Express nous avons la possibilit de paramtrer le formatage du rapport.

Par Nicolas POUSSET

165

Rapport pr-format

Gnration des signaux

Gnration du rapport

Par Nicolas POUSSET

166

Rapport pr-format

Par Nicolas POUSSET

167

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

168

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 169

Partie XII Architectures de programmation


Larchitecture simple du VI.

Larchitecture gnrale du VI. Larchitecture de type machine dtats (simple et complexe).

Par Nicolas POUSSET

170

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

171

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

172

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 : Dmarrage 1 : Attente (timeout) 2 : vnement 1 3 : vnement 2 4 : Arrt Dans chaque trame de la structure Condition correspondant un tat donn, on dtermine ltat suivant.
Par Nicolas POUSSET 173

Larchitecture de machine dtats (complexe)


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

lesquelles est disponibles plusieurs commandes attaches des fonctionnalits prcises.

Par Nicolas POUSSET

174

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. Nous tudierons ensuite en dtail le diagramme de ce programme.

Par Nicolas POUSSET

175

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-ci sexcutent.

Par Nicolas POUSSET

176

Larchitecture de machine dtats (complexe)


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

Par Nicolas POUSSET

177

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

178

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

179

Larchitecture de machine dtats (complexe)


Cette prsentation des diffrents onglets de la face avant de ce VI ont permis davoir un aperu gnral des fonctionnalits de ce programme. Il faut galement voir, que 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. Dans ce type darchitecture il ny a aucune notion de squenage ce qui laisse une libert totale de paramtrage de la face avant.

Par Nicolas POUSSET

180

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

181

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

182

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

183

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

184

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

185

Larchitecture de machine dtats (complexe)

Par Nicolas POUSSET

186

Partie XIII - Panneaux de contrle distance


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

Par Nicolas POUSSET

187

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 188

Outil de publication de face avant sur le Web

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

Linstallation de LabVIEW sur la machine distante nest pas ncessaire.

Application fonctionnant sur le PC o est install LabVIEW


Par Nicolas POUSSET 189

Panneau de contrle distance - Ressources


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

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

Partie XIV Contrle dinstruments


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

Communication par liaison Srie.


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

Drivers dinstruments.
Par Nicolas POUSSET 191

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

Par Nicolas POUSSET

192

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

Connecteur GPIB

Par Nicolas POUSSET

193

GPIB - Caractristiques techniques


- La liaison GPIB est une liaison parallle sur 8 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. - Vitesse de transfert maximum : 1 Mo/s. - Longueur de cble de 4 m au maximum entre 2 appareils. - Longueur totale de cble de 20 m au maximum. - Au minimum les 2/3 des instruments doivent tre sous tension.

Par Nicolas POUSSET

194

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 195

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

196

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

Par Nicolas POUSSET

197

GPIB - Fonctions de base dans labVIEW

Par Nicolas POUSSET

198

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

Srie - Caractristiques techniques


Voici le format type dune trame envoye par le port srie :
Bit de Start Niveau haut Niveau bas B0 B1 B2 B3 B4 B5 B6 Bit de Parit Bit de Stop

- Un bit de start qui indique quune information va tre envoye. Il permet la synchronisation du rcepteur. - 7 ou 8 bit de donnes (B0 B6 (ou B7) avec B0 le bit de poids faible (LSB) et B6 le bit de poids fort (MSB)). - Un bit de parit qui permet de dtecter les ventuelles erreurs de transmission. - Un bit de stop. Aprs la transmission la ligne est positionne au repos pendant X priodes dhorloges du rcepteur.

Par Nicolas POUSSET

200

Srie - Fonctions de base dans labVIEW

VISA : Virtual Instrument Software Architecture


Par Nicolas POUSSET 201

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

Par Nicolas POUSSET

202

Drivers dinstruments
Les drivers dinstruments sont des bibliothques de VI qui permettent de contrler un instrument programmable. Accessible sur le site de NI ladresse suivante : ww.ni.com/idnet Ou par labVIEW partir de larborescence suivante : Outils > Instrumentation > Base de drivers dinstruments . Exemple : Multimtre KEITHLEY modle 2002 :

Par Nicolas POUSSET

203

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

204

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.

Par Nicolas POUSSET

205

NI Vision Assistant Acquisition

Choix du type de camra (USB, Firewire,)

Par Nicolas POUSSET

206

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

207

NI Vision Assistant Paramtrage


Contraste, saturation,

Degr de rouge, vert, bleu.

Rglage des paramtres vido

Vision infrarouge Rglage des paramtres lis aux images

Ces paramtres sont intrinsques la camra utilise. Ils seront diffrents pour dautres types de camras.

Par Nicolas POUSSET

208

NI Vision Assistant Traitement dimages

1 mm

Exemple dune image dun micromtre objet (talon trait) observ au microscope optique + camra CCD

Par Nicolas POUSSET

209

NI Vision Assistant Traitement dimages


Diverses fonctions sont disponibles : profils, mesures de distances, dangles, calibration dimages, Sauvegarde des points du profil dans un fichier texte Affichage des points du profil dans un fichier Excel Exemple de mesure de profil sur une ligne de limage

Profil de la ligne choisie (en vert)

Par Nicolas POUSSET

210

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

211

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

212

Fonctions Vision

Fonctions Toutes les fonctions Mesures NI Vision


Vision Utilities Image Processing Image Acquisition NI-IMAQ pour NIcamras IEEE 1394 (Firewire) Firewire) Machine Vision IMAQ USB

Par Nicolas POUSSET

213

Outils de visualisation

Commandes Toutes les commandes Vision

Outil de visualisation dimages sur la face avant

Par Nicolas POUSSET

214

Acquisition dune SEULE image

USB PC Webcam

Utilisation du SNAP

Par Nicolas POUSSET

215

Acquisition CONTINUE dimages

Utilisation du GRAB

Par Nicolas POUSSET

216

Partie XVI Exercices dapplications


Cration dune mire sans les outils vision.
- Cration dun motif. - Cration dune ligne de motifs. - Cration dune mire de motifs identiques.

Cration dune mire avec les outils vision. Ouverture dune image. Cration dun masque sur une image. Calibrage dune image.

Par Nicolas POUSSET

217

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 0 x2

x1 y1 x2 y2

y1 y2

Par Nicolas POUSSET

218

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

219

Cration dune mire sans les outils vision


Nous utiliserons les VI standards suivants : Aide contextuelle

Par Nicolas POUSSET

220

Cration dune mire sans les outils vision


Exemple de solution possible

Par Nicolas POUSSET

221

Cration dune mire sans les outils vision


2me tape : Cration dune ligne de motifs identiques. Pour cela nous allons dcomposer le 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.

Par Nicolas POUSSET

222

Cration dune mire sans les outils vision


Cration du sous VI Cration dune icne facilement reconnaissable

Par Nicolas POUSSET

223

Cration dune mire sans les outils vision


Exemple de solution possible

Par Nicolas POUSSET

224

Cration dune mire sans les outils vision


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

Par Nicolas POUSSET

225

Cration dune mire sans les outils vision


Exemple de solution possible

Par Nicolas POUSSET

226

Cration dune mire sans les outils vision


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

Par Nicolas POUSSET

227

Cration dune mire sans les outils vision


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

Par Nicolas POUSSET

228

Cration dune mire sans les outils vision


Exemple de solution possible

Par Nicolas POUSSET

229

Cration dune mire avec les outils vision

1re tape : Cration de la variable image ( laide du VI standard IMAQ Create ) et dun motif unique.

Par Nicolas POUSSET

230

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

231

Cration dune mire avec les outils vision


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

Par Nicolas POUSSET

232

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

233

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

234

Cration dune mire avec les outils vision


2me tape : Cration dune ligne de motifs 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

235

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

236

Cration dune mire avec les outils vision


Exemple de solution possible

Par Nicolas POUSSET

237

Cration dune mire avec les outils vision

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

Par Nicolas POUSSET

238

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

239

Cration dune mire avec les outils vision

Exemple de solution possible

Par Nicolas POUSSET

240

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

241

Ouverture dune image


Exemple de solution possible

Par Nicolas POUSSET

242

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

Image masque

Par Nicolas POUSSET

243

Cration dun masque sur une image


On utilisera entre autre les VI Standards suivants :

Par Nicolas POUSSET

244

Cration dun masque sur une image


Exemple de solution possible

Par Nicolas POUSSET

245

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

246

Cration dun masque sur une image


Exemple de solution possible

Par Nicolas POUSSET

247

Calibrage dune image


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

Image initiale

Image calibre

Image rogne

Par Nicolas POUSSET

248

Calibrage dune image


Exemple de solution possible

Par Nicolas POUSSET

249

Partie XVII Dveloppements dapplication temps rel


Quest-ce que le temps rel ?

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

Par Nicolas POUSSET

250

Quest-ce que le temps rel ?


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

Par Nicolas POUSSET

251

Terminologie temps rel


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

Par Nicolas POUSSET

252

Principe de dveloppement temps rel


1. Dvelopper sur un ordinateur hte.

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

Code tlcharg via une liaison Ethernet.

Module dE/S

Par Nicolas POUSSET

253

Principe de dveloppement temps rel


3. Excuter le code

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

Cible temps rel qui devient compltement autonome.

Dvelopper des programmes avec le lego Mindstorms et vous ferez du temps rel.
Par Nicolas POUSSET 254

Architecture typique
Cible RT (Real-Time)
Boucle de lapplication (dterministe) Priorit temps critique
Disque

PC hte
Application cliente

Boucle de communication (non dterministe)


Priorit normale

Disque

Par Nicolas POUSSET

255

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 vers dautres

Par Nicolas POUSSET

256

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

Programme de la cible
Boucle de priorit normale Communication inter-threads interBoucle temps critique

Par Nicolas POUSSET

257

Quest que le multithread ?


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

Le multithread tend le principe au sein mme dune application.


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

Par Nicolas POUSSET

258

Exemples dapplications temps rel


Performances dterministes Autonomie

Gestion dun airbag

Tests sous-marins

Fiabilit des performances


Tests de rsistance et dendurance
Par Nicolas POUSSET 259

Exemples de cibles temps rel avec LabVIEW


PC de bureau ou industriel
Dterminisme pour les systmes PCI

LabVIEW Real-Time

Contrleurs PXI embarqus RT


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

CompactRIO
E/S reconfigurables, reconfigurables,

Compact Vision
Automate de vision industrielle

Compact FieldPoint RT
Encombrement rduit, environnement durcis rduit,

environnement durcis

Par Nicolas POUSSET

260

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

Par Nicolas POUSSET

261

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. Les donnes sont publies sur un serveur DataSocket, puis le client contacte le serveur DataSocket et lui demande la rcupration des donnes.

Machine 1 : Publication des donnes

Machine 2 : Lecture des donnes Serveur DataSocket


Par Nicolas POUSSET 262

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.

dstp://163.173.45.98/temperature
Protocole Adresse IP de la machine Nom de la donne qui publie les donnes

Par Nicolas POUSSET

263

Fonctions DataSocket

Fonctions DataSocket Lire


et

Datasocket Ecrire

Par Nicolas POUSSET

264

Exemple : labVIEW Messenger

Par Nicolas POUSSET

265

Exemple : labVIEW Messenger

Par Nicolas POUSSET

266

Exemple : labVIEW Messenger

Par Nicolas POUSSET

267

Exemple : labVIEW Messenger

Par Nicolas POUSSET

268

Partie XIX Sujets complmentaires

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

Par Nicolas POUSSET

269

Pour aller plus loin


Exemples de programmes (Aide Recherche dexemples) Quelques ressources supplmentaires sur Internet : Site web de National Instruments (www.ni.com) Zone Dveloppeur NI (www.zone.ni.com) : forum de discussion Notes dApplication Info-LabVIEW newsgroup (www.info-labview.org) Bibliothque des drivers dinstruments : VI qui contrlent un instrument programmable (www.ni.com/idnet)

Par Nicolas POUSSET

270

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

Par Nicolas POUSSET

271