Download - Cours d'Initiation Labview
Cours dinitiation au logiciel LabVIEW
Dernire mise jour : 29/05/08Par 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
2
SOMMAIREPartie 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
3
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
4
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
5
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
6
LabVIEW est un outils dacquisition, danalyse et de prsentation de donnes.
Par Nicolas POUSSET
7
Acquisition avec LabVIEWLabVIEW 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 EngineersPar Nicolas POUSSET 8
Analyse avec LabVIEWLabVIEW 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
9
Prsentation avec LabVIEWLabVIEW 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 dhistoireMars 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 dhistoire2007 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 relPar Nicolas POUSSET 12
2006 2005 Mai 2003 Janvier 2002 Aot 2000 1999
LEGO Mindstorms NXT4 Entres 3 Sorties Capteur de contact
MoteursCapteurs additionnels : acclromtre, gyroscope, colorimtre,
Capteur de son Capteur de lumire
Capteur de distance(metteur/Rcepteur ultrasons)
Exemples de conceptions :
Humanode AnimauxPar Nicolas POUSSET
Machine
13
LEGO Mindstorms NXTEnvironnement 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 NXTAutres exemples de conceptions :
Possibilit dutiliser directement LabVIEW pour la programmation et la gestion dlments plus complexes.
Table traante
Rsolution dun Rubiks cube Pilotage dun hlicoptrePar 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 VIBarre 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 VIBarre 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 VIModle 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 VILes exemples sont trs riches et souvent trs utiles pour dvelopper de petites applications rapidement.
Recherche dexemples
Par Nicolas POUSSET
23
Ouvrir un VIParcourir 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 commandesPalette 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 fonctionsPalettes 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 doutilsUtilise 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 menuPar Nicolas POUSSET
Outil sonde Outil copie couleur Outil coloriage
29
Barre doutils de la face-avantBouton 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 avantPar Nicolas POUSSET 30
Aide contextuelle
Barre doutils du diagramme
Animer lexcution pour animer le diagramme et voir lesdonnes transiter.
Excuter de faon dtailler : Excute le programme dela faon la plus dtaille possible action par action.
Excuter sans dtailler : Excute le programme nudpar 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 VIFentre de la face avantBouton Incrmenter/ Dcrmenter
Fentre du diagrammeNud 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 / commandesPossibilit 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 / commandesPossibilit 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 / commandesPossibilits 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 orangePar Nicolas POUSSET 37
Fonction de base
tiquette
Aide contextuelle (Ctrl + H)
Terminaux : 2 entres et 1 sortie
Par Nicolas POUSSET
38
Astuces de connexionsPoints 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 donnesNud 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 daideAide 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 KExemple de solution possible
Par Nicolas POUSSET
44
Aides aux dbogagesTrouver des erreursCliquer 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 dbogagesAnimer lexcutionCliquer 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 VIUn 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 VISous 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 icneCliquez 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 connecteurCliquer 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 suprieurAccs 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 LabVIEWQuelques raccourcis clavier Activer/dsactiver la fentre daide contextuelle. Supprimer les connexions errones du diagramme. Basculer entre la face avant et le diagramme. Mosaque verticale des fentres. Annuler (aussi dans le menu dition). Copier un objet. 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 donnesFlux 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 donnesMUX 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 ncessairePar Nicolas POUSSET
Ports PCI, PCMCIA, USB,
Ordinateur
62
Exemple de capteursMesurandeTemprature
CapteurThermocouple 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 capteursDeux catgories de capteurs : Capteurs actifsIls 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 passifsIls 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 LabVIEW2 moteurs de drivers permettent la communication entre la carte DAQ et le logiciel dapplications labVIEW.
NI-DAQ traditionnelDes VI spcifiques pour accomplir : Entre analogique Sortie analogique E/S numrique Oprations de comptage
NI-DAQmxDernire 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 analogiquesCatgorie 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
RfrencLe signal nest pas rfrenc une masse. Exemples : piles, thermocouples, transformateurs,
Non rfrenc
Par Nicolas POUSSET
72
Connexions des entres analogiquesTrois 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 analogiquesSignal non rfrenc Signal rfrenc
DIFFERENTIEL
RSE
NRSE
Par Nicolas POUSSET
74
Exemples de matriels ddis lacquisitionBNC-2090Connectivit directe des capteurs pour une mise en oeuvre rapide.
22 connecteurs BNC pour les signaux analogiques, numriques, de dclenchement et de compteurs/timers.
SCB-68Bloc 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 lacquisitionELVISEnsemble d'instruments virtuels : oscilloscope, multimtre numrique, gnrateur de fonctions, pour le prototypage en laboratoire et lenseignement.
CompactDAQAcquisition par USB (Avantages du plug-andplay et de la connectique unique universelle).
Chssis modulairePermet de rpondre un grand nombre dapplications de tests et de mesures.
PXI/CompactPCIPar 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 boucles1. 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 dcalagePour 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 dcalageCration : clic droit sur un des bords de la boucle >> Ajouter un registre dcalage
Exemple dutilisation de registres dcalage
Par Nicolas POUSSET
81
Les registres dcalageAttention !!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 graphiquesUne 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 boucleExemples de solutions possible
Par Nicolas POUSSET
86
Action mcanique boolennePour 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 manuellementA 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 manuellementA 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 manuellementPlacez 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 boucleIndexation active
Dernire valeur gnre uniquement
Ensemble des valeurs gnres
Notion dindexationPar Nicolas POUSSET 95
Crer un tableau 2D avec deux bouclesEn 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 ForTerminal (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
FichiersFichiers 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 donnesCrer 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 donnesExemples 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 basesCommandes >> Toutes les commandes >> Tableau et cluster >> Tableau
Par Nicolas POUSSET
105
Les fonctions du tableau les basesFonction : Construire un tableau
Par Nicolas POUSSET
106
Les graphiquesSlectionner depuis la palette Commandes, la sous palette Graphe : Commandes >> Toutes les commandes >> Graphe Graphe droulant Trace les donnes en continu, en plaantles 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 leursindices.
Graphe XY (Express) Trace un seul tableau en fonction dedeux autres tableaux.
Graphe numrique Trace des bits depuis des donnesbinaires.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 graphiquesExemple 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 cluster1. Slectionner un modle de cluster :
Commandes >> Toutes les commandes >> Tableau et Cluster ou Fonctions >> Toutes les fonctions >> Cluster2. 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
AssemblerCommandes tiquette tiquette
Cration dun cluster
Modification dun cluster Assembler par nomPar 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
ErreurPar 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 connexionsNumriques Rels Entiers Scalaire Tableau 1D Tableau 2D
Boolen Chane de caractres Donnes Dynamiques
Par Nicolas POUSSET
126
Exercice 5 Utilisation de clusters et de graphiquesGnrer 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 graphiquesExemple 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 ConditionDans 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 FauxPar Nicolas POUSSET 130
Structure Condition pour la gestion derreursLorsque 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 conditionExemple de solution possible
Par Nicolas POUSSET
136
Exercice 6 Cluster, manipulation derreurs et structure conditionExemple de solution possible
Par Nicolas POUSSET
137
Exercice 6 Cluster, manipulation derreurs et structure conditionAlternative 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 conditionComplment
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 = CNT
Gnrer un VI qui permet de tracer la luminance spectrique du corps noir pour une temprature donne.
2hc 2
(e5
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-1Par 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 squenceCe type de variable sutilise avec les structures Squences empiles. Elle permet de faire passer des donnes dune tape lautre.
Par Nicolas POUSSET
146
Variables globalesOuverture 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 localesGnrer 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 localesExemple de solution possible
Par Nicolas POUSSET
150
Exercice 8 Utilisation de variables localesExemple 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
TablesOn 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 propritDans 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 - exempleObjectif : 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 - exempletape 2 : Sauvegarde des donnes dans un fichier Excel
Nud de proprit
Par Nicolas POUSSET
158
Nud de proprit - exempletape 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
ImpressionFichier 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 VIExemple du VI prcdent document par deux types de commentaires :
Sans commentairesCommentaires 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 VILe 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 VITrois 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 distanceVisualisation 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 LabVIEWPar Nicolas POUSSET 189
Panneau de contrle distance - RessourcesNI 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
IntroductionDans 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 - IntroductionLa 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 typeArchitecture 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 - IntroductionBien 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 SriePar Nicolas POUSSET 199
Srie - Caractristiques techniquesVoici 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 ArchitecturePar Nicolas POUSSET 201
Exemples de VIExemples de VI apportant une aide au dmarrage dun projet ou quelques solutions des problmes de conception
Par Nicolas POUSSET
202
Drivers dinstrumentsLes 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 AssistantVision 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 AcquisitionAcquisition dune squence dimages
Slection de la camra
Rglage des paramtres vido Rglage des paramtres lis aux images
Par Nicolas POUSSET
207
NI Vision Assistant ParamtrageContraste, 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 dimagesDiverses 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 codeTools Create LabVIEW VI Exemple de dtection de bord et de calcul de centre de traitDtection 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 VisionVision 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 visionRaliser 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 visionNous utiliserons les VI standards suivants : Aide contextuelle
Par Nicolas POUSSET
220
Cration dune mire sans les outils visionExemple 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 visionCration du sous VI Cration dune icne facilement reconnaissable
Par Nicolas POUSSET
223
Cration dune mire sans les outils visionExemple de solution possible
Par Nicolas POUSSET
224
Cration dune mire sans les outils visionRaliser 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 visionExemple 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 visionRaliser 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 visionExemple 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 visionPour ce faire nous utiliserons les VI standards suivants :Aide contextuelle
Par Nicolas POUSSET
232
Cration dune mire avec les outils visionExemple 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 visionExemple 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 visionExemple 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 imageRaliser 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 imageExemple 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 imageOn utilisera entre autre les VI Standards suivants :
Par Nicolas POUSSET
244
Cration dun masque sur une imageExemple 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 imageExemple de solution possible
Par Nicolas POUSSET
247
Calibrage dune imageRaliser un programme qui permet de crer le calibrage dune image dforme.
Image initiale
Image calibre
Image rogne
Par Nicolas POUSSET
248
Calibrage dune imageExemple 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 relDterminisme : 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 rel1. Dvelopper sur un ordinateur hte.
Ordinateur hte 2. Tlcharger le code sur une cible. Cible temps relProcesseur
Code tlcharg via une liaison Ethernet.
Module dE/S
Par Nicolas POUSSET
253
Principe de dveloppement temps rel3. 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 typiqueCible RT (Real-Time)Boucle de lapplication (dterministe) Priorit temps critiqueDisque
PC hteApplication cliente
Boucle de communication (non dterministe)Priorit normale
Disque
Par Nicolas POUSSET
255
Programme du PC hteExcut 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 cibleLes 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 cibleBoucle 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 relPerformances dterministes Autonomie
Gestion dun airbag
Tests sous-marins
Fiabilit des performancesTests de rsistance et dendurancePar Nicolas POUSSET 259
Exemples de cibles temps rel avec LabVIEWPC de bureau ou industrielDterminisme pour les systmes PCI
LabVIEW Real-Time
Contrleurs PXI embarqus RTHaute vitesse, haute densit dE/S multiples vitesse, dE/S
CompactRIOE/S reconfigurables, reconfigurables,
Compact VisionAutomate de vision industrielle
Compact FieldPoint RTEncombrement 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 DataSocketPar Nicolas POUSSET 262
Protocole de transfert DataSocketDataSocket 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/temperatureProtocole Adresse IP de la machine Nom de la donne qui publie les donnes
Par Nicolas POUSSET
263
Fonctions DataSocket
Fonctions DataSocket Lireet
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 : [email protected] Group website : http://inm.cnam.fr Perso website : http://poucet.club.fr
Par Nicolas POUSSET
271