Cours dinitiation au logiciel labVIEW
Dernire mise jour : 28/10/09Par Nicolas POUSSET 1
Nicolas POUSSET
Par Nicolas POUSSET
2
Le Conservatoire national des arts et mtiers (Cnam)Enseigner tous et partout Fond en 1794 par lAbb Grgoire Missions du Cnam : Formation des adultes tout au long de la vie
professionnelle Recherche Diffusion de la culture scientifique et technique
Par Nicolas POUSSET
3
Le Conservatoire national des arts et mtiers (Cnam)Quelques chiffres : 150 centres rpartis en France, dans les DOM-TOM DOM-
et ltranger 2 000 enseignants chercheurs permanents + de 85 000 auditeurs/an 500 000 heures denseignement/an 1 million de diplms actifs
Par Nicolas POUSSET
4
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 sousTravailler avec les tableaux, les graphiques, les clusters et les structures Connatre des dispositifs dimpression et de documentation dun VI Dvelopper diffrentes architectures de programmation Publier des VI ou des donnes sur un rseau ou sur le Web Matriser les bases de communications par liaison GPIB et Srie Connatre les outils dacquisition et de traitement dimages Comprendre les concepts de base du dveloppement temps rel Apprhender le DatasocketPar Nicolas POUSSET 5
SOMMAIREPartie I Partie II Partie III Partie IV Partie V Partie VI Partie VII Partie VIII Partie IX Partie X Partie XI Partie XII Partie XIII Introduction LabVIEW Les Sous VI Acquisitions de donnes Boucles, registres dcalage et introduction aux graphiques Tableaux et fichiers Fonctions des tableaux et graphiques Chanes de caractres, clusters et traitement derreurs Structures Condition et Squence, Bote de calcul Variables Tables et nuds de proprits Impression et documentation de VI Programmation Evnementielle Architectures de programmation boucle unique 8 65 78 95 106 122 132 149 165 172 184 192 200
Par Nicolas POUSSET
6
Partie XIV Partie XV Partie XVI Partie XVII Partie XVIII Partie XIX Partie XX
Outils de publication sur le Web Contrle dinstruments Module Vision Exercices dapplications Dveloppement dapplications temps rel DataSocket Sujets complmentaires
231 235 248 261 316 327 337
Remarque : La version de labVIEW utilise pour ce cours dinitiation est la version 7.1.
Par Nicolas POUSSET
7
Partie I - Introduction LabVIEW Gnralits Un peu dhistoire LEGO Mindstorms NXT Vocabulaire LabVIEW Environnement LabVIEW Composants dune application LabVIEW Outils de programmation LabVIEW Exercice 1 : Conversion de C en K et en F Aides au dbogage
Par Nicolas POUSSET
8
Gnralits Un peu dhistoire LEGO Mindstorms NXT Vocabulaire LabVIEW Environnement LabVIEW Composants dune application LabVIEW Outils de programmation LabVIEW Exercice 1 : Conversion de C en K et en F Aides au dbogage
Par Nicolas POUSSET
9
National instruments : (NI) Date de cration : Sige social : Implantations : Clients : Nombre demploys : Rsultats :
Socit lorigine de la programmation graphique et, par consquent, de labVIEW 1976 Austin, Texas, Etats-Unis Etatsplus de 40 pays plus de 30 000 entreprises dans 90 pays 5 000 dans le monde
en croissance constante depuis 1976 820 millions de dollars en 2008
NI est class depuis 10 ans, par le FORTUNE Magazine (cre en 1930), 1930), parmi les 100 meilleurs entreprises amricaines. amricaines.
Par Nicolas POUSSET
10
Instrumentation Virtuelle avec LabVIEW
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) est Laboratory orkbench) un environnement de dveloppement graphique quipermet de crer des applications modulaires (notion de sous VI) et extensibles, pour la conception dapplications de mesure, de contrle et de test. test.Par Nicolas POUSSET 11
LabVIEW est un outils dacquisition, dacquisition, danalyse et de prsentation de donnes. danalyse
Par Nicolas POUSSET
12
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 WiFidelity) Bluetooth IrDA (Infrared Data Association) (Infrared USB (Universal Serial Bus) GPIB (IEEE 488) (General Purpose Interface Bus) Firewire (IEEE 1394) Ethernet Srie (RS 232, RS 449, RS 422, RS 423, RS 485) VXI (VME eXtensions for Instrumentation)
IEEE : Institute of Electrical and Electronics Engineers http://www.ieee.orgPar Nicolas POUSSET 13
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 cartdiffrentielles,
Par Nicolas POUSSET
14
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, email,
Par Nicolas POUSSET
15
Gnralits Un peu dhistoire LEGO Mindstorms NXT Vocabulaire LabVIEW Environnement LabVIEW Composants dune application LabVIEW Outils de programmation LabVIEW Exercice 1 : Conversion de C en K et en F Aides au dbogage
Par Nicolas POUSSET
16
Un peu dhistoire1999 1998 LabVIEW Temps rel LabVIEW 5.0 ActiveX (composants logiciel qui permettent une communication entre diffrents programmes), multifentrage (capacit dune interface prsenter plusieursfentres lutilisateur)
1997 1993 1992 1990 1986 1983
LabVIEW 4.0 addition doutils pour professionnels, amliorations du debogage
les
LabVIEW 3.0 version multiplateforme de LabVIEW LabVIEW pour Windows, et pour Sun LabVIEW 2.0 pour Macintosh LabVIEW 1.0 pour Macintosh Dmarrage de LabVIEWPar Nicolas POUSSET 17
Un peu dhistoire2009 2007 labVIEW 2009 : diteur dicne amlior, graphes 3D, rorganisation automatique du code LabVIEW 8.5, outils de dveloppement multicursinnovations dans larchitecture (lis aux des processeurs de PC), dtats (statecharts en anglais)
programmation par diagramme 2006 2005 2003 2002 2000
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 logiques programmables), PDA (assistants personnels) LabVIEW 6.1 analyse, fonctionnement en rseau LabVIEW 6i Applications internetPar Nicolas POUSSET 18
(composants
Gnralits Un peu dhistoire LEGO Mindstorms NXT Vocabulaire LabVIEW Environnement LabVIEW Composants dune application LabVIEW Outils de programmation LabVIEW Exercice 1 : Conversion de C en K et en F Aides au dbogage
Par Nicolas POUSSET
19
LabVIEW Outil de programmation intuitif et la porte de tous. tous.Exemple : LEGO Mindstorms NXT destin initialement aux enfants partir de 10 ans. ans.NXT 2.0 Sortie : Septembre 2009
NXT Sortie : 2006Par Nicolas POUSSET 20
LEGO Mindstorms NXT4 entres 3 sorties Capteur de contact
MoteursCapteurs additionnels : acclromtre, gyroscope, colorimtre,
Capteur de son Capteur de lumire
Boitier de commande (microcontrleur) Capteur de distance(metteur/Rcepteur ultrasons)
Exemples de conceptions :
Humanodes
Machines AnimauxPar Nicolas POUSSET 21
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, et de temps rel, rel,Par Nicolas POUSSET 22
LEGO Mindstorms NXTAutres exemples de conceptions :
Possibilit dutiliser directement LabVIEW pour la programmation et la gestion dlments plus complexes laide de complments logiciel tlchargeables gratuitement sur le site de NI.
Table traante
Rsolution dun Rubiks cube Pilotage dun hlicoptrePar Nicolas POUSSET 23
LEGO Mindstorms NXT
Vidos YoutubeRukiks cube et Joconde
Joconde : dmo outils vision, dtection decontours
Dmo Lego Mindstorms NXT 2.0Logiciel LM NXT 2.0 LabVIEW (Etat batterie, ultrasons v1 et v2)
Par Nicolas POUSSET
24
LEGO Mindstorms NXT et labVIEWExemple : Etat de la batterie
labVIEW
Mindstorms
PC
Liaison USB (ou Bluetooth*)
Le bluetooth est trs consommateur en nergie La transmission de donnes est plus lentePar Nicolas POUSSET 25
LEGO Mindstorms NXT et labVIEWExemple : Etat de la batterie
Lecture de linformation de ltat de batterie sans tlchargement de programme dans le NXT
Par Nicolas POUSSET
26
LEGO Mindstorms NXT et labVIEWExemple : Test de lmetteur/rcepteur ultrasons
labVIEW
NXT terminalPC
Mindstorms
Liaison USB
Par Nicolas POUSSET
27
LEGO Mindstorms NXT et labVIEWExemple : Test de lmetteur/rcepteur ultrasonsTlchargement du programme via linterface NXT terminal dans le NXT et affichage de linformation de distance sur lordinateur
NXT terminal
Par Nicolas POUSSET
28
Gnralits Un peu dhistoire LEGO Mindstorms NXT Vocabulaire LabVIEW Environnement LabVIEW Composants dune application LabVIEW Outils de programmation LabVIEW Exercice 1 : Conversion de C en K et en F Aides au dbogage
Par Nicolas POUSSET
29
Les programmes LabVIEW appels Instruments Virtuels ou Virtual Instruments (VI)On parle dinstruments virtuels car leur apparence et leur fonctionnement sont semblables ceux dinstruments rels, tels que les oscilloscopes et les multimtres. multimtres.
Par Nicolas POUSSET
30
Composantes dun VI- Face avant
Les VI se composent de trois 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
31
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 faceinteractifs du VI (commandes et indicateurs). indicateurs).Par Nicolas POUSSET 32
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, constantes,).Par Nicolas POUSSET 33
Icne/connecteur dun VI Chaque VI affiche une icne, dans le coin icne, suprieur droit des fentres de la face-avant faceet du diagramme. Une icne est une diagramme. Icne par dfaut reprsentation graphique dun VI qui permet de lidentifier au sein dun autre VI. VI.
Un connecteur est un ensemble de terminaux correspondant aux commandes et aux indicateurs du VI qui sont accessibles. accessibles.Par Nicolas POUSSET 34
Gnralits Un peu dhistoire LEGO Mindstorms NXT Vocabulaire LabVIEW Environnement LabVIEW Composants dune application LabVIEW Outils de programmation LabVIEW Exercice 1 : Conversion de C en K et en F Aides au dbogage
Par Nicolas POUSSET
35
Ouvrir un VI
Modles de VI
Des modles de VI dj pr-cods prsont disponibles.
Par Nicolas POUSSET
36
Ouvrir un VIModles de VI pour assistants personnel (PDA) Modles 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
37
Ouvrir un VILes exemples sont trs riches et souvent trs utiles pour dvelopper de petites applications rapidement.
Recherche dexemples
Par Nicolas POUSSET
38
Ouvrir un VIParcourir dans les exemples
Recherche dexemples
Recherche par mots cls dans les exemples Soumettre un exemple National Instruments
Par Nicolas POUSSET
39
Ouvrir un VI
VI vide
Par Nicolas POUSSET
40
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). Fentre).Permet de garder la palette visible sur lcran Boolen Numrique Tableau et clusters (groupe) Liste et table Conteneurs
Remonter larborescence Rechercher un lment Personnalisation de la palette
Chane et chemin Graphe E/S Refnum Vision (module complmentaire) Commandes utilisateur
Menu droulant & num Commandes classiques Commandes (dialogue) Dcorations Dcorations Slection de commandes
Dans cette palette nous trouverons tous les lments ncessaires la cration de la face-avant (commandes et faceindicateurs). indicateurs).Par Nicolas POUSSET 41
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). Fentre).Numrique Structures Tableau Chane Temps et dialogue Comparaison Waveform Mesures NI Contrle dapplications E/S dinstruments Gnration de rapports Communication Dcorations Slection dun VI Boolen Cluster (groupe ou agrgat) E/S sur fichiers Analyse Graphisme et son Avanc Bibliothques utilisateur
Dans cette palette nous trouverons tous les lments ncessaires la cration du code graphique dans la fentre diagramme (fonctions de base, VI Express,). Express,Par Nicolas POUSSET 42
Les Fonctions, les VI et les VI Express Les Fonctions de base : lments dexploitation fondamentaux de LabVIEW. Les VI Standards : VI qui peuvent tre personnaliss. Les VI Express : VI interactifs avec une page de dialogue configurable mais limite. Fonction de base
VI Express
VI Standard
Par Nicolas POUSSET
43
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 lorsque la slection automatique de loutil est dsactive. Outil slection automatique Outil dplacement (actif lorsque la LED verte est allume) Outil darrt Outil daction sur la face avant Outil dplacement et taille Outil texte Outil connexion par fils Outil raccourci menuPar Nicolas POUSSET 44
Outil sonde Outil copie couleur Outil coloriage
Barre doutils de la face-avant faceBouton Excution du programme (VI) Bouton Excution continue Bouton dArrt dexcution dArrt Bouton Pause/Reprendre 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 45
Aide contextuelle
Barre doutils du diagramme
Animer lexcution : pour animer le diagramme et voirles donnes voluer en fonction de lexcution du code. code.
Excuter de faon dtailler : excute le programme de lafaon la plus dtaille possible action par action. action.
Excuter sans dtailler : excute le programme nudpar nud sans rentrer dans le dtail de leur excution interne. interne.
Terminer lexcution : poursuivre lexcution duprogramme jusqu son terme. terme.
Nettoyer le diagramme : rorganisation automatique du code(nouveaut de labVIEW 8.6)
Par Nicolas POUSSET
46
Barre des menus
Fonctionnalits classiques des programmes standards mais galement spcifiques LabVIEW. LabVIEW.
Par Nicolas POUSSET
47
Gnralits Un peu dhistoire LEGO Mindstorms NXT Vocabulaire LabVIEW Environnement LabVIEW Composants dune application LabVIEW Outils de programmation LabVIEW Exercice 1 : Conversion de C en K et en F Aides au dbogage
Par Nicolas POUSSET
48
Crer un 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
49
Paramtrage des constantes / commandesPossibilit de paramtrer les proprits de la commande numrique (ou de la constante) constante)Clic droit sur la commande (ou la constante) numrique
Format scientifique avec 2
chiffres de prcision
Format virgule flottante avec 2
chiffres de prcision
Par Nicolas POUSSET
50
Paramtrage des constantes / commandesPossibilit de paramtrer les proprits de la commande numrique (ou de la constante) constante)Clic droit sur la commande (ou la constante) numrique. numrique.
Possibilit de paramtrer la gamme (avec un minimum, un maximum et un incrment). incrment).
Par Nicolas POUSSET
51
Paramtrage des constantes / commandesPossibilit de modifier le type de donne de la commande : entiers (mot long, mot, octet), rels (prcision tendue, double prcision, simple prcision), prcision),
Indication sur le type de donne
Permet de fixer une valeur par dfaut la commande
Par Nicolas POUSSET
52
Paramtrage des constantes / commandes
Rels
Entiers
Les entiers sont en bleu Les rels sont en orangePar Nicolas POUSSET 53
Fonction de base
tiquette Aide contextuelle (Ctrl + H)
Terminaux : 2 entres et 1 sortieLa couleur correspond au type de donnes (orange = rels)
Par Nicolas POUSSET
54
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
55
Programmation par flux de donnesNud Terminaux dentres Terminaux de sortie
Lexcution du diagramme dpend du flux de donnes. donnes. Il ne sexcute pas ncessairement de gauche droite. droite. Lexcution du nud se fait quand les donnes sont disponibles tous les terminaux dentre. dentre. Puis les nuds fournissent des donnes tous les terminaux de sortie. sortie. La plupart des langages de programmation textuel (Visual Basic, C++, Java,) utilisent des modles de Java, flux de commandes. Cest lordre squentiel des commandes. lments du programme qui dtermine lordre dexcution du programme. programme.Par Nicolas POUSSET 56
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
57
Aide dtaille(barre des menus : Aide -> Aide LabVIEW )
Par Nicolas POUSSET
58
Gnralits Un peu dhistoire LEGO Mindstorms NXT Vocabulaire LabVIEW Environnement LabVIEW Composants dune application LabVIEW Outils de programmation LabVIEW Exercice 1 : Conversion de C en K et en F Aides au dbogage
Par Nicolas POUSSET
59
Exercice 1 - Conversion de C en F et en K
Raliser un VI qui permet deffectuer une conversion de celsius (C) en kelvin (K) et en farenheit (F), partir de fonctions de base de labVIEW
Conversion de C en K : K = C + 273,15 273, Conversion de C en F : F = ((9 x C) / 5) + 32 ((9
Par Nicolas POUSSET
60
Exercice 1 - Conversion de C en F et en KExemple de solution possible(exercice0.vi)
Par Nicolas POUSSET
61
Gnralits Un peu dhistoire LEGO Mindstorms NXT Vocabulaire LabVIEW Environnement LabVIEW Composants dune application LabVIEW Outils de programmation LabVIEW Exercice 1 : Conversion de C en K et en F Aides au dbogage
Par Nicolas POUSSET
62
Aides aux 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. VI.
En double cliquant sur les erreurs on peut visualiser o elles se trouvent sur le diagrammePar Nicolas POUSSET 63
Aides aux dbogagesAnimer lexcutionCliquer sur le bouton ci-contre. Les donnes dans des bulles cisont animes. Des valeurs sont alors indiques sur les fils. Excution du VI tape par tape
Sonde (Probe)Clic droit sur un fil pour afficher une sonde. sonde. Les donnes qui transitent sur ce fil seront affiches. affiches. Il est galement possible de choisir l'outil Sonde partir de la palette d'outils. d'outils.Exemples de sondes personnalises :
Par Nicolas POUSSET
64
Partie II - Les sous VI Quest-ce quun sous VI ? Quest Assigner les terminaux dentre/sortie et raliser une icne pour un sous VI Sauvegarde du VI Utiliser un VI en tant que sous VI Quelques raccourcis clavier
Par Nicolas POUSSET
65
Sous VIUn sous VI est un VI qui peut tre utilis dans un autre VI de plus haut niveau. niveau.Avantages : Modularit (cration de blocs de base rutilisable pour diverses applications : gain de productivit) Facilite le dbogage Ncessite une seule cration de code.Par Nicolas POUSSET 66
Icnes et Connecteurs Une icne reprsente un VI dans un autre diagramme dun VI de plus haut niveau. niveau.2 cases en entres pour les commandes
Un connecteur montre les terminaux disponibles pour le transfert de donnes. donnes.1 case en sortie pour lindicateur
Par Nicolas POUSSET
67
Sous VISous VI Icne reprsentative du VI de plus haut niveau Icne reprsentative du sous VI
VI Principal
Sous VI
Par Nicolas POUSSET
68
tapes de cration dun sous VI Crer licne Visualiser le connecteur Assigner les terminaux Sauvegarder le VI Insrer le VI dans un VI de plus haut niveau
Par Nicolas POUSSET
69
Crer une icneCliquez avec le bouton droit sur licne de la face avant (en haut droite), ou sur licne du diagramme et choisir diter licne. licne. La personnalisation de licne est tout fait facultative et ne changera rien au fonctionnement du sous VI. VI.Palette doutils ddition du dessin
Couleur de premier plan
Par Nicolas POUSSET
70
Visualiser le connecteurCliquer avec le bouton droit sur licne (face avant seulement) et choisir Visualiser le connecteur.
Par Nicolas POUSSET
71
Assigner les terminaux
En gnral, on choisira de mettre les entres gauche et les sorties droite. droite.
Par Nicolas POUSSET
72
Terminaux ncessaires , recommands , optionnels .Lorsque lon assigne les connecteurs il est possible de dfinir leur importance en leur attachant un des trois termes suivants : Ncessaire, Recommande, Optionnelle. Optionnelle. Icne : 3 entres 3 sorties
En gris : terminaux optionnels (Nom de limage, Couleur?,) Normal : terminaux recommands (Image masque) En gras : terminaux ncessaires (Chemin daccs)
Par Nicolas POUSSET
73
Sauvegarde du VI Choisir un emplacement adquat Organiser par fonctionnalits Sauvegarder les VI similaires dans un mme rpertoire (ex : Outils mathmatiques, traitement dimages, gestion multimtres, gestion moteur,) moteur,
Organiser par applications Sauvegarder tous les VI utiliss pour une application spcifique dans un rpertoire ou une librairie. (ex : talonnage micromtres objet, Pilotage TGV,)Les librairies (.llb) combinent plusieurs VI dans un seul fichier. Ceci est idal pour transfrer des applications compltes vers dautres ordinateurs.
Par Nicolas POUSSET
74
Insrez le sous VI dans un VI de niveau suprieurAccs aux sous-VI personnels : sousFonctions >> Toutes les Fonctions >> >> Slection dun VI OU Faire glisser licne du sous VI sur le diagramme cible de haut niveau.
Par Nicolas POUSSET
75
Autre mthode de cration dun sous VI Slectionner une zone convertir en sous VI Slectionner dans la barre des menus dition : Crer un sous VI
Icne par dfaut
Par Nicolas POUSSET
76
Astuces pour travailler dans 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 objetAlternative au copier-coller dans labVIEW : copier< Ctrl + cliquer-glisser-relcher > cliquer-glisserPar Nicolas POUSSET 77
Partie III - Acquisition de donnes Introduction lacquisition de donnes Outil Measurement and Automation Explorer (MAX) Acquisition de donnes DAQ (DAQ : Data AQuisition) AQuisition) DAQ Traditionnel DAQmx Exemples de matriels ddis lacquisition
Par Nicolas POUSSET
78
Introduction lacquisition de 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. donnes.
Par Nicolas POUSSET
79
Exemple de chane dacquisition de Carte DAQ donnesMUX CAN
Cble de connexion
Compteur E/S du bus
Capteurs
Ports PCI, PCMCIA, USB, Bloc de terminaison pour connecter les signaux + Carte lectronique de mise en forme du signal analogique si ncessairePar Nicolas POUSSET
Ordinateur
80
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 grandeurPar Nicolas POUSSET 81
Exemple de capteursDeux catgories de capteurs : Capteurs actifsIls se comportent comme des gnrateurs. Ils sont vu comme tant des gnrateurs. gnrateurs de charge, de tension, ou de courant dont la valeur est directement relie au mesurande (Photodiode, photomultiplicateur,). photomultiplicateur,
Capteurs passifsIls se comportent comme des impdances. Ils sont vu comme tant des impdances. rsistances, inductance ou capacit dont la valeur est directement relie au mesurande (thermistance, jauge de contrainte,). contrainte,
Par Nicolas POUSSET
82
Measurement and Automation Explorer (MAX)
Par Nicolas POUSSET
83
Measurement and Automation Explorer (MAX) Affiche la liste des priphriques et des instruments connects au systme Permet dexcuter des tests pour vrifier le bon fonctionnement des priphriques connects ( faire avant de ce lancer dans la programmation sous labVIEW) labVIEW) Permet la configuration du matriel Permet de crer et modifier des voies, des tches, des interfaces, des chelles, chelles,
Par Nicolas POUSSET
84
Measurement and Automation Explorer (MAX)
Vrification que la carte dacquisition est bien dtecte
Premire vrification du bon fonctionnement de la carte dacquisition
Par Nicolas POUSSET
85
Acquisition de donnes (DAQ) avec LabVIEW2 moteurs de drivers permettent la communication entre la carte DAQ et le logiciel dapplications labVIEW
NI-DAQ traditionnel NIDes VI spcifiques pour accomplir : Entre analogique Sortie analogique E/S numrique Oprations de comptage
NI-DAQmx NIDernire gnration de drivers : VI configurables pour accomplir une tche Paramtrage dun VI pour toutes les mesures
Par Nicolas POUSSET
86
DAQ traditionnel (Ancien driver)Acquisition/gnration dun signal grce des VI standards correspondant aux anciens driversAcqurir un signal
Gnrer un signal
Par Nicolas POUSSET
87
DAQmx (Assistant DAQ : VI Express)Acquisition/gnration dun signal grce lassistant DAQ
Par Nicolas POUSSET
88
Terminologie de lacquisition de donnes Rsolution Dtermine la valeur minimale de la variation du signal pouvant tre mesure. Plus la rsolution est importante, plus la reprsentation du signal est prcise. Exemple : un voltmtre indique 10 volts. Une variation de 0,1 volts fait bouger laiguille alors quune variation de 0,05 volts ne fait pas bouger laiguille. La rsolution du voltmtre est de 0,1 volts.
Gamme Valeurs minimales et maximales du signal. Plus la gamme est petite, plus la reprsentation du signal est prcise ( condition davoir une bonne rsolution).
Gain Amplifie ou attnue le signal afin de ladapter au mieux la gamme.
Par Nicolas POUSSET
89
Connexions des entres analogiquesCatgorie de sources de signaux dentreLe signal est rfrenc la masse du systme Exemples : alimentations, gnrateurs de signaux, tout ce qui se connecte dans une prise secteur rfrence la terre terre
RfrencLe signal nest pas rfrenc une masse Exemples : piles, thermocouples, transformateurs, transformateurs,
Non rfrenc
Par Nicolas POUSSET
90
Connexions des entres analogiquesTrois modes de mise la masse sont disponibles. Le mode disponibles. choisit dpend de la nature du signal. signal. - Mode DIFFERENTIEL (DIFF) - Mode RSE (Referenced Single--Ended) Single (Mode rfrenc une masse commune) - Mode NRSE (Non-Referenced Single--Ended) (NonSingle (Mode masse commune non rfrenc) (le meilleur)
(pas recommand) (bon)
Par Nicolas POUSSET
91
Connexions des entres analogiquesSignal non rfrenc Signal rfrenc
DIFFERENTIEL
RSE
NRSE
Par Nicolas POUSSET
92
Exemples de matriels ddis lacquisitionBNCBNC-2090Connectivit directe des capteurs pour une mise en uvre rapide
22 connecteurs BNC pour les signaux analogiques, numriques, de dclenchement et de compteurs/timers compteurs/timers
SCBSCB-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
93
Exemples de matriels ddis lacquisitionELVISEnsemble d'instruments virtuels : oscilloscope, multimtre numrique, gnrateur de fonctions, fonctions, pour le prototypage en laboratoire et lenseignement
CompactDAQAcquisition par USB (Avantages du plug-andplug-andplay et de la connectique unique universelle) universelle)
Chssis modulairePermet de rpondre un grand nombre dapplications de tests et de mesures. mesures.
PXI/CompactPCIPar Nicolas POUSSET 94
Partie IV - Boucles, registres dcalage et introduction aux graphiques Boucle for
Boucle while while Registre dcalages Graphiques Affichages de plusieurs courbes sur un mme graphique Exercice 2 : utilisation dune boucle
Par Nicolas POUSSET
95
Les boucles La boucle while (tant que) Possde un compteur ditration. Sexcute toujours au moins une fois. Continue de sexcuter tant quune action spcifique ne sest pas produite (ex : appui sur le bouton Stop). Stop). Itration
La boucle for Possde un compteur ditration. Sexcute N fois (N paramtrable). (N Pour N = 4, i = 0, 1, 2, 3.
Par Nicolas POUSSET
96
Les boucles2. Encadrer le code qui doit tre rpt. 1. Choisissez votre boucle dans la sous palette structures .
3. Placez les nuds additionnels (contrle boolen : bouton stop par exemple) et reliez-les. reliez-
Par Nicolas POUSSET
97
Les registres dcalagePour un signal assez bruit lon pourrait avoir envie, par exemple, dafficher une moyenne des valeurs. valeurs. Pour ce faire il est possible dutiliser un registre dcalage. dcalage.
Un registre dcalage prend des donnes du ct droit et les reporte du ct gauche litration suivante :Valeur initiale Valeur 1 Valeur 1 Valeur 2 Valeur 2 Valeur 3
Valeur initiale
Valeur 3
Premire itration
Seconde itration
Dernire itration
Il est possible dutiliser un registre dcalage avec une boucle while et une boucle for Par Nicolas POUSSET 98
Les registres dcalageCration : clic droit sur un des bords de la boucle >> Ajouter un registre dcalage
Exemple dutilisation de registres dcalage
Par Nicolas POUSSET
99
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
100
Graphiques
Le graphique est un indicateur numrique particulier qui propose un historique des valeurs. Commandes >> Toutes les commandes >> Graphes
Par Nicolas POUSSET
101
Techniques de connexion dans les 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). Express).Par Nicolas POUSSET 102
Exercice 2 - Utilisation dune boucle
Crer un VI qui gnre un nombre alatoire avec un temps dattente que lutilisateur peut modifier. modifier.
Larrt du programme se fait laide du bouton stop de la face avant. avant.
Par Nicolas POUSSET
103
Exercice 2 - Utilisation dune boucleExemples de solutions possible(exercice2.vi)
Par Nicolas POUSSET
104
Action mcanique boolennePour les contrles boolen nous avons la possibilit de paramtrer laction mcanique sur ceux-ci : commutation ceuxjusquau relchement, commutation lappui, armement lappui lappui
OU
Par Nicolas POUSSET
105
Partie V - Tableaux et fichiers Un tableau : Quest-ce que cest ? Quest Construire un tableau manuellement Construction automatique de tableaux crire dans un tableau Lire partir dun tableau Exercice 3 : Stocker et analyser des donnes
Par Nicolas POUSSET
106
Un tableau,mais pour faire quoi ?Les tableaux combinent des donnes du mme type dans une structure de donnes. donnes. Les tableaux sont utiles, par exemple, pour stocker des donnes gnres, la plupart du temps, dans des boucles lors de chaque itration. itration.Il est possible de construire des tableaux de donnes numriques, de boolens, de chemins, de clusters, de chanes de caractres, caractres, Il nest cependant pas possible de crer des tableaux de tableaux. tableaux.
Par Nicolas POUSSET
107
Philosophie dun tableau
Afficheur dindices
Afficheurs dlments
Exemple de tableau Chaque lments dun tableau est accessible par son indice Ainsi la valeur (llment) 0,658384 est lindice 0. Llment 0,659422 est lindice 3,...
Par Nicolas POUSSET
108
Construire un tableau 1D manuellementA partir de la palette Commandes >> Toutes les commandes >> Tableau et Cluster, slectionnez Tableau. Cluster,
Tableau de commandes ou dindicateurs dindicateursDposez le tableau vide sur la face avant
Par Nicolas POUSSET
109
Construire un tableau 1D manuellementA partir de la palette Fonctions >> Toutes les fonctions >> Tableau, Tableau, slectionnez Tableau
Tableau de constantes
Dposez le tableau sur le diagramme
Par Nicolas POUSSET
110
Construire un tableau 1D manuellementPlacez un objet dans le tableau (un contrle, une constante numrique, une chane de caractres, un boolen,). boolen,Tableau de constantes
Tableau de contrles
Par Nicolas POUSSET
111
Construire un tableau 1D manuellement
Tableau de constantes
Tableau de contrles
Possibilit de crer un tableau 1D sous forme dune ligne ou dune colonne suivant les besoins de lapplication. lapplication.
Par Nicolas POUSSET
112
Crer un tableau 1D avec une boucleIndexation active
Dernire valeur gnre uniquement
Ensemble des valeurs gnres
Notion dindexationPar Nicolas POUSSET 113
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) colonne)Par Nicolas POUSSET 114
Crer des tableaux 2D manuellement
Clic droit sur le tableau
Manuellement
Par Nicolas POUSSET
115
Tableau en entre dune boucle 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 tableau. au nombre dlments du tableau. tableau.
Par Nicolas POUSSET
116
Tableau en entre dune boucle For
Si deux tableaux sont connects en entre de la boucle ainsi que le terminal de dcompte (N), alors la boucle effectuera un nombre ditrations gal au plus petit nombre disponible. disponible. Dans lexemple ci-dessus, le premier tableau a 7 lments, le second en a 4 ciet la valeur 6 est cble N. Donc la boucle For ne sexcute que 4 fois. fois.
Par Nicolas POUSSET
117
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 abV VI Express. crire dans un fichier *.lvm Lire un fichier *.lvm
Par Nicolas POUSSET
118
crire dans un fichier LabVIEW Measurement Inclut les fonctions ouvrir, crire, fermer et grer les erreurs. Gre le formatage des chanes avec soit une tabulation soit une virgule comme dlimiteur. La fonction Fusionner les signaux sert combiner des donnes dans un type de donnes dynamiques.
Par Nicolas POUSSET
119
Exercice 3 - Analyser et stocker des donnesCrer un VI qui gnre un nombre alatoire toute les secondes. secondes. Calculer la moyenne, la valeur min et max et sauvegarder les donnes dans un fichier. fichier.
Par Nicolas POUSSET
120
Exercice 3 - Analyser et stocker des donnesExemple de solutions possible(donnes.vi)
Par Nicolas POUSSET
121
Partie VI - Fonctions des tableaux et graphiques Les fonctions de base dun tableau Utiliser les graphiques Crer plusieurs courbes dans les graphiques Exercice 4 : utilisation de graphiques Exercice 5 : suite de lexercice 1 (boucle, registres dcalage, graphe)
Par Nicolas POUSSET
122
Les fonctions dun tableau - les basesCommandes >> Toutes les commandes >> Tableau et cluster >> Tableau
Par Nicolas POUSSET
123
Les fonctions du tableau - les basesFonction : Construire un tableau
Par Nicolas POUSSET
124
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 droite. anciennes donnes disparaissent au fur et mesure que de nouvelles arrivent. arrivent.
Graphe Trace un tableau de nombres en fonction de leursindices. indices.
Graphe XY (Express) Trace un seul tableau en fonction dedeux autres tableaux. tableaux.
Graphe numrique Trace des bits depuis des donnesbinaires.Par Nicolas POUSSET 125
Les graphiques
Faire un clic droit sur le graphique et slectionner proprits pour personnaliser laffichage (chelle, couleurs, curseurs,). curseurs,
Par Nicolas POUSSET
126
Exemples : graphe numrique
Lutilisation des clusters sera aborde dans la partie VII
Graphe numrique
Par Nicolas POUSSET
127
Exemples : graphe XY
Graphe XY
Par Nicolas POUSSET
128
Exercice 4 - utilisation de graphiques
Gnrer un VI qui simule un signal sinusodal et un signal carr dont on peut modifier la frquence et lamplitude ainsi que le rapport cyclique (pour le signal carr). carr).
Afficher les deux courbes sur le mme graphe. graphe.
Par Nicolas POUSSET
129
Exercice 4 - utilisation de graphiquesExemple de solution possible(Graphe2.vi)
Par Nicolas POUSSET
130
Exercice 5 - utilisation dune boucle, de registres dcalage et dun grapheA partir de lexercice 1, crer un programme quivalent celui prsent gauche en respectant la mise en forme (organisation, couleur, style, style,)
Les valeurs de tempratures en celsius, celsius, kelvin et farenheit sont affiches sur un graphique. graphique. Une temporisation permet de rgler le temps entre laffichage de deux tempratures. tempratures.
Par Nicolas POUSSET
131
Exercice 5 - utilisation dune boucle, de registres dcalage et dun grapheExemple de solution possible(exercice5.vi)
Par Nicolas POUSSET
132
Partie VII - Chanes de caractres, clusters et traitement derreurs Chanes de caractres Fonctions de chanes Cration de clusters (groupe / agrgat) Fonctions des clusters Cluster derreur Rcapitulatif sur les types de connexions Exercice 6 : utilisation de clusters et graphiques
Par Nicolas POUSSET
133
Chane de caractres (string)Les chanes de caractres sont reprsents en rose Une chane de caractres est une squence de caractres (ASCII). Utilisations possibles : affichage de messages (bote de dialogue), communications avec des instruments, fichiers dentre/sortie, Les contrles ou indicateurs de chanes sont dans le menu : Commandes >> Commandes Texte ou Indicateur Texte
Par Nicolas POUSSET
134
Chane de caractres (string)Diffrents modes daffichage des chanes de caractres sont disponibles
Par Nicolas POUSSET
135
Chane de caractres (string)
Exemples de fonctions disponibles permettant la manipulation des chanes :Longueur dune chane, Concatner en chane, Remplacer une portion de chane, Formater en chane, chane,
Par Nicolas POUSSET
136
Chane de caractres (string)- Formater une chane
s : string f : floating
Double clic sur le VI
Par Nicolas POUSSET
137
Chane de caractres (string)
Dans certains cas (par exemple, pour communiquer avec un instrument par lintermdiaire du port srie) il est ncessaire srie) davoir comme sparateur dcimal un point et non une virgule. virgule. Il faut donc ajouter le format %.;
Par Nicolas POUSSET
138
Chane de caractres (string)
- Balayer une chane - Sous-ensemble Sousdune chane
Par Nicolas POUSSET
139
Clusters Structures qui regroupent plusieurs donnes. Les donnes peuvent tre de diffrents types. Les lments doivent tous tre, soit des contrles, soit des indicateurs. Cela est similaire au cblage de fils dans une mme gaine : facilite la gestion du programme. programme.
Par Nicolas POUSSET
140
Crer un 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
141
La sous palette Clusters Dans le sous-menu Clusters de la palette Fonctions >> sousToutes 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 142
La sous palette Clusters
Type de donnes
Dsassembler
Indicateurs
tiquette
Dsassembler par nom
Par Nicolas POUSSET
143
Clusters derreurs Un cluster derreur permet la visualisation dun problme lors de lexcution dun VI. Un cluster derreur contient les informations suivantes : tat rapporte si une erreur se produit (valeur boolenne). Code rapporte le code spcifique de lerreur (Entier 32 bits). Source donne des informations sur lerreur (Chane de caractres). Exemple :
Pas derreur
ErreurPar Nicolas POUSSET 144
Techniques de manipulations derreurs Linformation derreur est passe dun sous VI au suivant. Si une erreur se produit dans un sous VI, tous les sous VI suivants ne sont pas excuts de la faon habituelle. Gestion derreur automatique. Exemple :
Clusters derreurs
Par Nicolas POUSSET
145
Types de connexionsNumriques Rels Entiers Scalaire Tableau 1D Tableau 2D
Boolen Chane de caractres Donnes Dynamiques
Par Nicolas POUSSET
146
Exercice 6 - utilisation de clusters et de graphiquesGnrer un VI qui simule le dplacement dun pointeur laser sur une photodiode quatre quadrants.
On simulera dans un premier temps un dplacement continu du pointeur puis un dplacement discret .
Par Nicolas POUSSET
147
Exercice 6 - utilisation de clusters et de graphiquesExemple de solution possible(Point.vi)
Dplacement discret
Dplacement continu
Par Nicolas POUSSET
148
Partie VIII - Structures Condition et Squence, Bote de calcul Fonctionnement de la structure Condition et de la structure Squence Mise en uvre dune bote de calcul et du VI Express Formule Exercice 7 : Cluster, manipulation derreurs et structure condition Exercice 8 : Luminance spectrique du corps noir
Par Nicolas POUSSET
149
Structure ConditionDans la sous palette Structures de la palette de Fonctions. Fonctions. Uniquement un seul cas est visible la fois.Slecteur : Vrai, faux, peutpeut-tre, peut-tre pas, peutTerminal de slection
Terminal de slection
Terminal de slection
Slecteur : 0, 1, 2,
Slecteur : Vrai ou FauxPar Nicolas POUSSET 150
Structure Condition pour la gestion derreursLorsque que lon cble un cluster derreur sur le terminal de slection dune structure condition, celle-ci celleaffiche 2 conditions : Pas derreur (en vert) et Erreur (en rouge). rouge).
La structure Condition ne reconnat que la valeur boolenne tat du cluster derreur. derreur.
Par Nicolas POUSSET
151
Structure Squence droule ou empile Palette Fonctions et sous palette Structure. Structure. Excute le diagramme de faon squentielle. Clic droit sur la structure pour ajouter une nouvelle tape. Structure squence droule
Structure squence empile(gain de place)
Par Nicolas POUSSET
152
Bote de calcul Dans la sous-palette Structures. sousStructures. 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 PointPoint-virgule
Avantage de la bote de calcul ( droite) : rapidit dexcution du code par rapport lutilisation des fonctions de base ( gauche).
Par Nicolas POUSSET
153
VI Express Formule
Indique que la syntaxe de la formule crite est bonne. bonne.
Utilisation dune interface de calculatrice o sont prsentes la plupart des fonctions dune calculatrice scientifique classique. classique.Par Nicolas POUSSET 154
Exercice 7 - Cluster, manipulation derreurs et structure condition
Gnrer un VI qui permet de visualiser une erreur lorsque lon essaye de calculer la racine carr dun nombre ngatif. ngatif.
Par Nicolas POUSSET
155
Exercice 7 - Cluster, manipulation derreurs et structure condition Exemple de solution possible(clusters.vi)
Par Nicolas POUSSET
156
Exercice 7 - Cluster, manipulation derreurs et structure condition Exemple de solution possible(clusters.vi)
Par Nicolas POUSSET
157
Exercice 7 - Cluster, manipulation derreurs et structure condition Alternative possible pour signaler lerreur(clusters2.vi)
Que ce passe t-il si lon ajoute une boucle While ce programme pour que celui-ci fonctionne en celuicontinu et que lon rentre une valeur ngative ?Par Nicolas POUSSET 158
Exercice 7 - Cluster, manipulation derreurs et structure conditionComplment(clusters3.vi)
Le programme fonctionne en continu grce la boucle While. CelleWhile. 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 159
Exercice 8 - Luminance spectrique du corps noir (bote de calcul, registres dcalage, et boucles)Un corps noir est un radiateur thermique idal qui absorbe compltement toutes les radiations incidentes quelles que soient leur longueur donde, leur direction et leur tat de polarisation.
Loi de Planck
Gnrer un VI qui permet de tracer la luminance spectrique du corps noir pour une temprature donne. donne.
Le , ( ,T ) =
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 x 10-34 J.s Constante de Boltzmann k = 1,380 650 5 x 10-23 J.K-1Par Nicolas POUSSET 160
Exercice 8 - Luminance spectrique du corps noir (bote de calcul, registres dcalage, et boucles)
Le Soleil est assimil un corps noir Temprature du soleil sa surface 5800 KPar Nicolas POUSSET 161
Exercice 8 - Luminance spectrique du corps noir (bote de calcul, registres dcalage, et boucles)Allure du spectre dune lampe halogne filament de tungstne dans le visible (380 780 nm) nm) Temprature 3000 K
Par Nicolas POUSSET
162
Exercice 8 - Luminance spectrique du corps noir (bote de calcul, registres dcalage, et boucles)Exemple de solution possible(Planck.vi)
Le rayonnement du corps noir ne commence se voir quau del de 600C (rouge 600 sombre) do le choix de lexpression corps noir puisqu temprature ambiante (300 K) les corps naturels mettent dans lInfrarouge (IR). (IR).
Par Nicolas POUSSET
163
Partie IX - Variables Variables locales Variables locales de squence Variables globales Exercice 9 : utilisation de variables locales
Par Nicolas POUSSET
164
Variables locales
Possibilit de la mettre en criture ou en lecture Clic droit : assignation de la variable
Aucune variable nest assigne
Une variable locale nest visible que dans un seul VI. Elle permet VI. de communiquer des donnes facilement au sein dun mme VI. VI. Cela vite, entre autre, de cbler plusieurs fils qui vont perturber la prsentation visuelle du diagramme. diagramme.Par Nicolas POUSSET 165
Variables locales de squenceCe type de variable sutilise avec les structures squences empiles. Elle permet de faire passer des empiles. donnes dune tape lautre. lautre.
Par Nicolas POUSSET
166
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. cre.
Par Nicolas POUSSET
167
Variables globales
2. Sous-VI cre lors de linsertion des Sousvariables dans le premier VI Icne reprsentative des sous VI de variable globale
1. 1er VI (vi.vi) o lon crit les informations dans les variables globales (mode criture) criture) 3. 2me VI (vi2.vi) o lon rcupre la variable globale (vi2 comme un sous-VI classique que lon paramtre en sousmode lecture
Par Nicolas POUSSET
168
Exercice 9 - utilisation de variables localesGnrer un VI qui permet de donner le temps (en ms) entre deux appuis de boutons. boutons.On utilisera une structure squence empile avec, soit des variables locales, soit des variables locales de squences ainsi que la fonction suivante :
Par Nicolas POUSSET
169
Exercice 9 - utilisation de variables localesExemple de solution possible(variable.vi)
Par Nicolas POUSSET
170
Exercice 9 - utilisation de variables localesExemple de solution possible(variable.vi)
Par Nicolas POUSSET
171
Partie X - Tables et nuds de proprit Tables Nuds de proprit Enregistrement dans un fichier Excel Exercice 10 : utilisation de nud de proprit
Par Nicolas POUSSET
172
TablesOn ne peut crire dans les tables uniquement que des chanes. On ne chanes. peut pas directement crire des entiers ou des rels. rels.
En-ttes de lignes et Enen-tte de colonnes en-
Clic droit sur la table
Par Nicolas POUSSET
173
Tables - exemple
En-tte de colonnes EnEn-tte de lignes En-
Permet de mettre en forme des donnes pour les enregistrer dans un tableurPar Nicolas POUSSET 174
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. criture.
Par Nicolas POUSSET
175
Nud de proprit
Dans un second temps il faut choisir les proprits de lobjet qui nous intressent. intressent. Par exemple (dans notre cas ici) les en-ttes de colonnes et les valeurs endune table. table.
Par Nicolas POUSSET
176
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
177
Nud de proprit - exempletape 2 : Sauvegarde des donnes dans un fichier Excel
Nud de proprit
Par Nicolas POUSSET
178
Nud de proprit - exempletape 2 : Sauvegarde des donnes dans un fichier Excel
Par Nicolas POUSSET
179
Nud de proprit - exemple - rsultats
tape 1 : La table se remplit
tape 2 : Une bote de dialogue apparat pour enregistrer les donnes au format .xls
Par Nicolas POUSSET
180
Nud de proprit - exemple - rsultats
Lorsque lon essaye de rcrire par dessus un fichier dj prsent, une bote de dialogue nous invitant changer de nom de fichier apparat. apparat.
Par Nicolas POUSSET
181
Exercice 10 - utilisation de nuds de propritCrer un programme qui permet de rendre visible ou invisible un bouton sur la face avant et de rgler la taille dun afficheur de type LED. LED.
Par Nicolas POUSSET
182
Exercice 10 - utilisation de nuds de propritExemple de solution possible(Nud de proprit.vi)
Par Nicolas POUSSET
183
Partie XI - Impression et documentation Imprimer depuis longlet imprimer de la barre des menus Gnrer un rapport pr-format pr Documentation sur les VI Ajouter des commentaires dans la face avant et le diagramme
Par Nicolas POUSSET
184
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
185
Rapport pr-format pr-
Gnrer un rapport (Palette de Fonctions Sortie Rapport)
Par Nicolas POUSSET
186
Rapport pr-format pr-
En double cliquant sur le VI Express nous avons la possibilit de paramtrer le formatage du rapport. rapport.
Par Nicolas POUSSET
187
Rapport pr-format pr-
Gnration des signaux
Gnration du rapport
Par Nicolas POUSSET
188
Rapport pr-format pr-
Par Nicolas POUSSET
189
Documentation sur les VI Fichier Proprits du VI Documentation Fournit une description et une aide propos du VI. A complter par le dveloppeur pour de nouveaux VI.
Fichier Proprits du VI Historique Enregistre les changements des diffrentes versions dun VI.
Par Nicolas POUSSET
190
Documentation sur les 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 191
Partie XII - Programmation Evnementielle Quest-ce que la programmation vnementielle? Quest Un vnement : quest-ce que cest? quest Quels en sont les avantages ? Fonctionnement de la structure Evnements
Exercice 11 : utilisation dune structureEvnements
Par Nicolas POUSSET
192
IntroductionLa programmation vnementielle permet la gestion dvnements asynchrones cres notamment par des actions de lutilisateur sur la face avant. avant. n.b. : Les fonctionnalits de la programmation vnementielles sont uniquement disponibles dans les versions professionnelles de labVIEW. labVIEW.
Par Nicolas POUSSET
193
Les vnements? les avantages?Les vnements peuvent provenir :- de la face avant (changement de valeur dune commande, une saisie sur les touches du clavier, un clic de souris,) souris, - dentres/sorties externes (compteurs, trigger,) trigger, - dautres parties du programme, programme, Les vnements permettent dexcuter un code spcifique synchronis , par exemple, avec une action de lutilisateur sur la face avant. Sans cela le avant. programme serait oblig dinterroger ltat des objets de la face avant dans une boucle, ce qui ncessite beaucoup de ressources du processeur. De plus, dans processeur. ce cas il est possible de manquer un changement dtat rapide sur la face avant. avant. Avec la programmation vnementielle il ny a pas de perte dvnements. dvnements.
Par Nicolas POUSSET
194
Structure vnement
Etiquette du slecteur dvnements
Terminal de Timeout *
Nud de donnes dvnements
Nud de filtre dvnements
La structure Evnement termine son excution aprs avoir gr un seul vnement. On lutilisera donc dans une boucle While la plupart du temps.* Par dfaut le terminal de Timeout est -1. Cela signifie quil faut attendre indfiniment quun vnement se produise. produise.Par Nicolas POUSSET 195
Structure vnement
Un nouvelle condition dvnement a t ajoutePar Nicolas POUSSET 196
Exercice 11 - utilisation dune structure vnementsCrer un programme qui permet - deffectuer la copie dune valeur numrique et dune chane de caractres dune commande dans un indicateur. indicateur. - dactiver un indicateur de type LED lorsque lon appui sur un bouton de type boolen. boolen. - dactiver la transparence de la face avant lors de la commutation dun bouton. bouton.
Par Nicolas POUSSET
197
Exercice 11 - utilisation dune structure vnementsExemple de solution (Boucle venementielle.vi)
Par Nicolas POUSSET
198
Partie XIII - Architectures de programmation boucles uniques Larchitecture simple du VI
Larchitecture gnrale du VI Larchitecture de type machine dtats (simple et complexe) Exercice 12 : gestion de feux tricoloresPar Nicolas POUSSET 199
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
200
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
201
Larchitecture de machine dtats (simple) Avantages Possibilit de changer dtat. Modification et dbogage facile.
Inconvnients Pertes possibles dvnements sil y en a deux qui arrivent en mme temps. Les tats : 0 : Initialisation (Init) 1 : Etat 1 2 : Etat 2 3 : Etat 3 4 : Etat 4 5 : Etat 2, 6 : ArrtInit Etat 4
Etat 1 Etat 3
Arrt
Etat 2
Par Nicolas POUSSET
202
Larchitecture de machine dtats (simple)Constante numration : Enum
Dans chaque trame de la structure Condition correspondant un tat donn, on dtermine ltat suivant avec des constantes numration : enum .Par Nicolas POUSSET 203
Larchitecture de machine dtats (complexe)Gestion dvnements sur linterface utilisateur : Utilisation de la boucle vnementielle dans une boucle while et de listes dattente. dattente.Exemple de programme : Face avant comprenant 4 onglets ( Commande onglet de la sous palette Conteneurs de la palette Commandes ) sur
lesquelles sont disponibles plusieurs commandes attaches des fonctionnalits prcises. prcises.
Par Nicolas POUSSET
204
Larchitecture de machine dtats (complexe)Dans un premier temps nous allons tudier la face avant de ce programme qui repose sur une architecture de type machine dtats pour en comprendre le fonctionnement gnral ainsi que les diffrentes fonctionnalits. fonctionnalits. Nous tudierons ensuite en dtail le diagramme de ce programme. programme.
Par Nicolas POUSSET
205
Larchitecture de machine dtats (complexe)Onglet : Fonctions Listing de toutes les fonctions disponibles dans le programme
Possibilit dcrire les commandes de fonctions la main pour que celles-ci cellessexcutent. sexcutent.
Par Nicolas POUSSET
206
Larchitecture de machine dtats (complexe)Onglet : Image Affiche ( gauche) une image partir dun chemin spcifi. spcifi. Affiche ( droite) un masque de limage de gauche. Celui-ci gauche. Celuipeut tre en couleur ou en noir et blanc. blanc.
Par Nicolas POUSSET
207
Larchitecture de machine dtats (complexe)Onglet : Mto
Affiche ( gauche) diverses informations (date dacquisition, temprature, humidit, pression,) lorsque lon appui sur le bouton Lecture des paramtres mto .
Par Nicolas POUSSET
208
Larchitecture de machine dtats (complexe)Onglet : Enregistement de donnes
Permet lacquisition de donnes, la suppression dune ligne, leffacement du tableau et lenregistrement des donnes dans un fichier excel.
Par Nicolas POUSSET
209
Larchitecture de machine dtats (complexe)Cette prsentation des diffrents onglets de la face avant de ce VI a permis davoir un aperu gnral des fonctionnalits de ce programme. programme. Il faut galement voir, que celui-ci fonctionne en continu (grce une celuiboucle While) et quil est possible de commencer, par exemple, par une lecture des paramtres mto, ensuite dacqurir des donnes et de les enregistrer, puis, pourquoi pas de raliser un masque dune image. image. Dans ce type darchitecture il ny a aucune notion de squenage ce qui laisse une libert totale de paramtrage de la face avant. avant.
Par Nicolas POUSSET
210
Larchitecture de machine dtats (complexe)
Par Nicolas POUSSET
211
Larchitecture de machine dtats (complexe)
Par Nicolas POUSSET
212
Larchitecture de machine dtats (complexe)
Par Nicolas POUSSET
213
Larchitecture de machine dtats (complexe)
Par Nicolas POUSSET
214
Larchitecture de machine dtats (complexe)
Par Nicolas POUSSET
215
Larchitecture de machine dtats (complexe)
Par Nicolas POUSSET
216
Exercice 12 - Mise en pratique de la structure machine dtats simple : gestion de feux tricoloresGnrer un VI qui permet de grer les feux tricolores dun carrefour. carrefour.
On utilisera, entre autre, une structure conditionnel avec des constantes numration, des clusters,... clusters,
Par Nicolas POUSSET
217
Exercice 12 - Mise en pratique de la structure machine dtats simple : gestion de feux tricoloresAide la conception 1. Nord est au vert : Sud est au vert, Est et Ouest au rouge. rouge. 2. Nord est au orange : Sud est au orange, Est et Ouest au rouge. rouge. 3. Nord est au rouge : Sud est au rouge, Est et Ouest au vert. vert.
4. Nord est au rouge (2) : Sud est au rouge, Est et Ouest au orange. orange. 5. ,.Par Nicolas POUSSET 218
Exercice 12 - Mise en pratique de la structure machine dtats simple : gestion de feux tricoloresExemple de solution(Exercice 9 - Feux tricolores V1.vi)
Par Nicolas POUSSET
219
Exercice 12 - Mise en pratique de la structure machine dtats simple : gestion de feux tricoloresExemple de solution
Par Nicolas POUSSET
220
Exercice 12 - Mise en pratique de la structure machine dtats simple : gestion de feux tricoloresExemple de solution
Par Nicolas POUSSET
221
Exercice 12 - Mise en pratique de la structure machine dtats simple : gestion de feux tricoloresExemple de solution
Par Nicolas POUSSET
222
Exercice 12 - Mise en pratique de la structure machine dtats simple : gestion de feux tricoloresExemple de solution
Par Nicolas POUSSET
223
Exercice 12 - Gestion de feux tricolores : ComplmentsA partir de votre prcdent VI simuler le dplacement de voitures sur votre face avant comme explicit dans les tapes 1 6. A chaque fois quune voiture rapparat sur la face avant (transition entre ltape 2 et 3 par exemple) on changera sa couleur de faon alatoire. alatoire. On utilisera des commandes boolennes pour reprsenter les voitures et des nuds dplacer. de proprits pour les dplacer.
Etape 2 Etape 1Par Nicolas POUSSET
Etape 3
224
Exercice 12 - Gestion de feux tricolores : Complments
Etape 5 Etape 4
Etape 6
Par Nicolas POUSSET
225
Exercice 12 - Gestion de feux tricolores : ComplmentsExemple de solution (Exercice 9 - Feux tricolores V3).vi
Par Nicolas POUSSET
226
Exercice 12 - Gestion de feux tricolores : ComplmentsExemple de solution
Par Nicolas POUSSET
227
Exercice 12 - Gestion de feux tricolores : ComplmentsExemple de solution
Par Nicolas POUSSET
228
Exercice 12 - Gestion de feux tricolores : ComplmentsExemple de solution
Par Nicolas POUSSET
229
Exercice 12 - Gestion de feux tricolores : ComplmentsExemple de solution
Par Nicolas POUSSET
230
Partie XIV - Panneaux de contrle distanceVisualisation et contrle de la face avant dun programme LabVIEW, partir dun navigateur Web (Internet Explorer, Firefox, Firefox,).- Les clients loigns observent directement les changements et mises jours des programmes LabVIEW grce au serveur Web disponible dans labVIEW. labVIEW. - Plusieurs clients peuvent regarder la mme face avant simultanment. simultanment. - Un seul client la fois peut contrler la face avant distance. distance.
Par Nicolas POUSSET
231
Outil de publication de face avant sur le Web Outils Outil de publication pour le Web Cliquez sur Enregistrer sur disque et le VI est encapsul dans un fichier HTML. Une fois sauvegard, le fichier peut tre ouvert nouveau et personnalis dans tout diteur HTML.Ne pas oublier dactiver le serveur web pour permettre au(x) client(s) daccder aux donnes.Par Nicolas POUSSET 232
Outil de publication de face avant sur le Web
Nimporte qui peut partir dInternet visualiser en temps rel le VI et le contrler sil en a, au pralable, t autoris. autoris.
Linstallation de LabVIEW sur la machine distante nest pas ncessaire.
Application fonctionnant sur le PC o est install LabVIEWPar Nicolas POUSSET 233
Panneau de contrle distance - RessourcesNI Developer Zone (zone.ni.com) - Recherche de panneaux de contrle distance.Ex:http://www.ni.com/webappdemos/tempcontrol demo.htm)
- Tlchargement de Tutoriaux et Instructions. - Support sur lincorporation de Webcams dans les panneaux de contrle distance.Par Nicolas POUSSET 234
Partie XV - Contrle dinstruments Communication par liaison GPIBPrsentation 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 SriePrsentation et caractristiques techniques Fonctions de base pour la mise en uvre du bus Utilisation des exemples disponibles
Drivers dinstrumentsPar Nicolas POUSSET 235
IntroductionDans le cas de communications par liaisons GPIB ou Srie, lacquisition de donnes se fait par lintermdiaire dun instrument autonome (multimtre, oscilloscope,) oscilloscope, au sein duquel sont effectues les oprations dentres/sorties des signaux mesurs. mesurs. Le programme dvelopp sert uniquement la configuration de linstrument, la rcupration, lanalyse et la prsentation des donnes. donnes.
Par Nicolas POUSSET
236
GPIB - 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 Hewlettaujourdhui 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 488. 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 488. protocole de communication, en dfinissant les formats de donnes,... En 1990, le donnes,... 1990, document Standard Commands for Programmable Instrumentation (SCPI) a t incorpor la norme. Celui-ci dfinit un certain nombre de commandes auxquelles norme. Celuichaque instrument doit pouvoir obir. Cela permet ainsi une interoprabilit de obir. matriels de diffrents fabricants. fabricants.
Connecteur GPIB
Par Nicolas POUSSET
237
GPIB - Caractristiques techniques- La liaison GPIB est une liaison parallle sur 8 bits. bits.
IEEE 488 : 1 Mo/s HS 488 : 8 Mo/s
Interface GPIB/USB HS de National Instruments
- Interconnexion de 15 appareils maximum : Carte GPIB chaque appareil possde une adresse Cble GPIB comprise entre 0 et 30. 30. - Vitesse de transfert maximum : 1 Mo/s. Mo/s. - Longueur de cble de 4 m au maximum entre 2 appareils. appareils. - Longueur totale de cble de 20 m au maximum. maximum. - Au minimum les 2/3 des instruments doivent tre sous tension. tension.
Par Nicolas POUSSET
238
GPIB - Measurement and Automation Explorer (MAX)Priphriques connects Test pour dterminer quels sont les instruments connects Instruments connects Adresses GPIB
Rponses des instruments la commande IDN? Par Nicolas POUSSET 239
GPIB - Measurement and Automation Explorer (MAX) Clic sur un instrument : par exemple Instrument0 Adresse GPIB de linstrument
Possibilit de tester la communication avec linstrument
Par Nicolas POUSSET
240
GPIB - VI typeArchitecture utilisant des VI Express dj disponibles pour gagner en rapidit et en simplicit
Par Nicolas POUSSET
241
GPIB - Fonctions de base dans labVIEW
Par Nicolas POUSSET
242
Srie - 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, 232, 449, 422, 423, 485) encore aujourdhui, rpandu pour la transmission de donnes entre un ordinateur et un priphrique (imprimante, instrument de mesure programmable,) programmable, La liaison Srie est une liaison asynchrone cest--dire quelle ne transmet pas de cestsignal dhorloge. Il ny a donc aucune synchronisation entre lmetteur et le dhorloge. rcepteur. rcepteur. Pour que le rcepteur puisse interprter convenablement linformation du transmetteur, il faut que les deux lments soient configurs de la mme faon. faon. Il faut spcifier quatre paramtres pour ce type de communication : le dbit de transmission en bauds, le nombre de bits de donnes, la polarit du bit de parit (paire ou impaire), le nombre de bits de stop (1, 1,5 ou 2).
Port SriePar Nicolas POUSSET 243
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 envoye. synchronisation du rcepteur. rcepteur. - 7 ou 8 bit de donnes (B0 B6 (ou B7) avec B0 le bit de poids faible (LSB) et B6 le bit de poids fort (MSB)). (MSB)). - Un bit
de parit qui permet de dtecter les ventuelles erreurs de transmission. transmission.
- Un bit de stop. Aprs la transmission la ligne est positionne au repos pendant X priodes dhorloges du rcepteur. rcepteur.
Par Nicolas POUSSET
244
Srie - Fonctions de base dans labVIEW
VISA : Virtual Instrument Software ArchitecturePar Nicolas POUSSET 245
Exemples de VIExemples de VI apportant une aide au dmarrage dun projet ou quelques solutions des problmes de conception
Par Nicolas POUSSET
246
Drivers dinstrumentsLes drivers dinstruments sont des bibliothques de VI qui permettent de contrler un instrument programmable. programmable. Accessible sur le site de NI ladresse suivante :
http://www.ni.com/devzone/idnet/f/Ou par labVIEW partir de larborescence suivante : Outils > Instrumentation > Base de drivers dinstruments (ou rechercher des drivers dinstruments ) . Exemple : Multimtre KEITHLEY modle 2002 :
Par Nicolas POUSSET
247
Partie XVI - Module Vision NI Vision Assistant
Acquisition dune SEULE image avec une webcam par USB Acquisition continue dimages avec une webcam par USB
Par Nicolas POUSSET
248
NI Vision 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. oprationnel.
Par Nicolas POUSSET
249
NI Vision Assistant - Acquisition
Choix du type de camra (USB, Firewire,)
Par Nicolas POUSSET
250
NI Vision Assistant - AcquisitionAcquisition dune squence dimages
Slection de la camra
Rglage des paramtres vido Rglage des paramtres lis aux images
Par Nicolas POUSSET
251
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 utilise. diffrents pour dautres types de camras. camras.
Par Nicolas POUSSET
252
NI Vision Assistant - Traitement dimages
1 mm
Exemple dune image dun micromtre objet (talon trait) observ au microscope optique + camra CCD
Par Nicolas POUSSET
253
NI Vision Assistant - Traitement 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
254
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
255
NI Vision Assistant Gnration automatique de code
Programme LabVIEW de dtection de bord de trait et de calcul de centre gnr automatiquement.
Par Nicolas POUSSET
256
Fonctions Vision
Fonctions Toutes les fonctions Mesures NI VisionVision Utilities Image Processing Image Acquisition NI-IMAQ pour NIcamras IEEE 1394 (Firewire) Firewire) Machine Vision IMAQ USB
Par Nicolas POUSSET
257
Outils de visualisation
Commandes Toutes les commandes Vision
Outil de visualisation dimages sur la face avant
Par Nicolas POUSSET
258
Acquisition dune SEULE image
USB PC Webcam
Utilisation du SNAP
Par Nicolas POUSSET
259
Acquisition CONTINUE dimages
Utilisation du
GRAB
Par Nicolas POUSSET
260
Partie XVII - Exercices dapplications Cration dune mire sans les outils vision- Cration 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 Composteur de matire organique assistance lectronique Mise en garde Proprits dun VI Gnration de fractales Tirage alatoirePar Nicolas POUSSET 261
Cration dune mire sans les outils vision 1re tape : Cration dun motif unique dont les coordonnes des deux coins indiqus sont entres dans un tableau (x1, y1, x2, y2).x1 0 x2
x1 y1 x2 y2
y1 y2
Par Nicolas POUSSET
262
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
263
Cration dune mire sans les outils visionNous utiliserons les VI standards suivants : Aide contextuelle
Par Nicolas POUSSET
264
Cration dune mire sans les outils visionExemple de solution possible
Par Nicolas POUSSET
265
Cration dune mire sans les outils vision 2me tape : Cration dune ligne de motifs identiques. 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. ligne.
Par Nicolas POUSSET
266
Cration dune mire sans les outils visionCration du sous VI Cration dune icne facilement reconnaissable
Par Nicolas POUSSET
267
Cration dune mire sans les outils visionExemple de solution possible
Par Nicolas POUSSET
268
Cration dune mire sans les outils visionRaliser un VI qui permet de visualiser laffichage dune ligne de motifs identiques sur un fond bleu.
pas x
Par Nicolas POUSSET
269
Cration dune mire sans les outils visionExemple de solution possible
Par Nicolas POUSSET
270
Cration dune mire sans les outils vision 3me tape : Cration dune mire de motifs identiques. identiques. Pour cela nous allons utiliser deux boucles For pour la cration des lignes et des colonnes. colonnes.
Par Nicolas POUSSET
271
Cration dune mire sans les outils visionRaliser un VI qui permet de visualiser laffichage dune mire de motifs identiques sur un fond noir.
pas y
Par Nicolas POUSSET
272
Cration dune mire sans les outils visionExemple de solution possible
Par Nicolas POUSSET
273
Cration dune mire avec les outils vision
1re tape : Cration de la variable image ( laide du VI standard IMAQ Create ) et dun motif unique. unique.
Par Nicolas POUSSET
274
Cration dune mire avec les outils vision
Raliser un VI qui permet de visualiser laffichage dun motif ovale sur un fond noir dans deux modes de visualisation diffrents.
Par Nicolas POUSSET
275
Cration dune mire avec les outils visionPour ce faire nous utiliserons les VI standards suivants :Aide contextuelle
Par Nicolas POUSSET
276
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
277
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
278
Cration dune mire avec les outils vision 2me tape : Cration dune ligne de motifs identiques. identiques. tapes du programmes :Crer un fond noir de 100 x 100 pixels par exemple. Calculer le nombre de motifs par ligne. Rpter linscription dun motif chaque tour. La position du motif est incrmente chaque tour en incrmentant les lments (x1, x2) du tableau de position du motif et en remplaant lancien tableau de position par le nouveau.
Par Nicolas POUSSET
279
Cration dune mire avec les outils vision
Raliser un VI qui permet de visualiser laffichage dune ligne de motifs ovales sur un fond noir.
Par Nicolas POUSSET
280
Cration dune mire avec les outils visionExemple de solution possible
Par Nicolas POUSSET
281
Cration dune mire avec les outils vision
3me tape : Cration dune mire de motifs identiques. identiques. Pour cela nous allons utiliser deux boucles For pour la cration des lignes et des colonnes. colonnes.
Par Nicolas POUSSET
282
Cration dune mire avec les outils vision
Raliser un VI qui permet de visualiser laffichage dune mire de motifs identiques sur un fond noir.
Par Nicolas POUSSET
283
Cration dune mire avec les outils vision
Exemple de solution possible
Par Nicolas POUSSET
284
Ouverture dune 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
285
Ouverture dune imageExemple de solution possible
Par Nicolas POUSSET
286
Cration dun masque sur une image(Version noir et blanc) Raliser un programme qui permet de crer un masque sur une image donne en noir et blanc.
Masque cre Image initiale Slection de la zone de limage garder
Image masque
Par Nicolas POUSSET
287
Cration dun masque sur une imageOn utilisera entre autre les VI Standards suivants :
Par Nicolas POUSSET
288
Cration dun masque sur une imageExemple de solution possible
Par Nicolas POUSSET
289
Cration dun masque sur une image(Version couleur) Raliser un programme qui permet de crer un masque sur une image donne en couleur.
Par Nicolas POUSSET
290
Cration dun masque sur une imageExemple de solution possible
Par Nicolas POUSSET
291
Calibrage dune imageRaliser un programme qui permet de crer le calibrage dune image dforme.
Image initiale
Image calibre
Image rogne
Par Nicolas POUSSET
292
Calibrage dune imageExemple de solution possible
Par Nicolas POUSSET
293
Composteur de matire assistance lectronique
organique
Raliser un programme qui assure la gestion lectronique dun composteur de matire organique tel que prsent dans le brevet fictif que jai rdig et qui est tlchargeable ladresse : http://nicolas_pousset.perso.neuf.fr/Exemples/5/Brevet.pdf
Nous utiliserons des variables locales et des structures condition .Par Nicolas POUSSET 294
Composteur de matire assistance lectroniquePrincipales caractristiques du cahier des charges :
organique
Acquisition de deux tensions issues dune sonde de temprature et dhygromtrie On fixe les seuils de temprature aux valeurs suivantes : U1 = 60C et U2 = 40C On fixe le seuil dhygromtrie la valeur suivante : U3 = 45% Ces seuils correspondent lallumage de voyants LED de couleurs vertes associ une action corrective spcifique : (5.1) : Arrosage requis (5.2) : Ajout de matires azotes (dchets de table, plantes jeunes, gazon, (5.3) : Ajout de matires carbones (rsidus de jardin, feuilles mortes,) (5.4) : Retournement du compost (Attention !! Oter la barre mtallique) Si la temprature mesure est suprieure U1, les voyants (5.3) et (5.4) sallument. Si la temprature est comprise entre U1 et U2, aucun voyant nest allum. Si la temprature est infrieure U2, le voyant (5.2) sallume. Si le taux dhumidit est suprieur U3 aucun voyant ne sallume. Si le taux dhumidit est infrieur U3, le voyant (5.1) sallume.
Par Nicolas POUSSET
295
Composteur de matire assistance lectronique
organique
Exemple de solution possible
Par Nicolas POUSSET
296
Composteur de matire assistance lectronique
organique
Exemple de solution possible
Par Nicolas POUSSET
297
Mise en gardeRaliser un programme qui permet deffectuer laffichage dune mise en garde en fonction de la temprature actuelle (Ta). (Ta).
Pour ce faire nous utiliserons, entre autre, la fonction Slectionner
Par Nicolas POUSSET
298
Mise en gardeCahier des charges : - Si Ta est infrieure ou gale Tmin on affiche le message : Attention !! Risque de gel et on allume la LED de mise en garde. garde. - Si Ta est suprieure ou gale Tmax on affiche le message : Attention !! Risque de canicule et on allume la LED de mise en garde. garde. - Si Ta est comprise entre Tmin et Tmax alors on affiche le message Aucun Risque et la LED de mise en garde reste teinte. teinte. - Si Ta est infrieure o gale Tmin - 10 on affiche une boite de dialogue avec Ca ne peut plus durer comme !! J'arrte le programme et on arrte le programme. On fait de mme lorsque Ta programme. est suprieure ou gale Tmax + 10. 10.
Par Nicolas POUSSET
299
Mise en gardeExemple de solution possible
Par Nicolas POUSSET
300
Proprits dun VIRaliser un programme qui permet deffectuer les tches suivantes : - Faire apparatre ou non la barre des menus et la barre de titre - Centrer le VI par rapport lcran dordinateur - Excuter le VI en transparence (dans ce cas on doit avoir la possibilit de la paramtrer)
Nous utiliserons des nuds de proprit et des nuds de mthodePar Nicolas POUSSET 301
Proprits dun VIExemple de solution possible
Par Nicolas POUSSET
302
Gnration de fractales (ide de T. BADR (LNE-INM)) (LNELe terme de fractale a t introduit par Benoit Mandelbrot au cours des annes 70, dans Les Objets Fractals est dsigne de manire 70, simpliste un objet dont les motifs se rptent linfini toutes les chelles. chelles.
Par Nicolas POUSSET
303
Gnration de fractalesL'ensemble de Mandelbrot consiste dcrire tous les points d'un plan complexe calculs partir dune transformation exprime par :
ou
3
Les Zn et C sont des nombres complexes. On fixe Z0 comme tant gal 0 + complexes. i.0 et on fait varier C (il reprsente le point de limage en cours de calcul). calcul). Pour chaque valeur de C (en abscisse (partie relle) et en ordonne (partie imaginaire)), on calcul Zn+1 et on compare le module du nombre complexe n+1 calcul la valeur 2. Si le module est suprieur 2 on est sr de la divergence de la suite. On affecte alors comme couleur de pixel ce point la valeur du suite. nombre ditrations obtenus. Si le module du nombre complexe ne diverge obtenus. pas jusqu un nombre limite ditrations que lon fixera 200 on met le pixel 0 (noir). (noir).
Par Nicolas POUSSET
304
Gnration de fractalesRaliser un programme qui permet dafficher un fractale de type Mandelbrot. Mandelbrot. Pour cette exercice on utilisera un graph dintensit pour afficher le fractale, une boucle For pour le calcul des points en abscisse et une boucle For pour le calcul des points en ordonnes. Une boucle While intgrera lintgralit du code ordonnes. dvelopp. dvelopp.
On cherchera crer un programme qui permettre de paramtrer la rsolution de la figure. Une option figure. de zoom pourra galement tre implmente. implmente.
Par Nicolas POUSSET
305
Gnration de fractales
Par Nicolas POUSSET
306
Gnration de fractales
Par Nicolas POUSSET
307
Gnration de fractalesExemple de solution possible
Par Nicolas POUSSET
308
Gnration de fractalesExemple de solution possible pour un sous-VI sous-
Par Nicolas POUSSET
309
Tirage alatoireRaliser un programme qui permet de gnrer de manire alatoire une srie de dix nombre compris entre 1 et 10. 10. Chaque chiffre ne doit apparatre quune fois et chaque tirage doit respecter une loi de distribution rectangulaire. rectangulaire. La face avant du programme devra tre similaire celle reprsente droite. droite. Une tape intermdiaire doit vous permettre de vrifier que les tirages suivent bien une loi de distribution rectangulaire tel que reprsent sur la figure de gauche. gauche.Par Nicolas POUSSET 310
Tirage alatoirePour raliser ce programme on pourra utiliser les lments suivants :
Pour faciliter la lecture du programme on ralisera un sous-VI qui permettra de sousgnrer un nombre compris entre 1 et 10 et qui suit une loi de distribution rectangulaire. rectangulaire. Dans un VI principal on fera appel au sous-VI plusieurs fois pour gnrer la srie de sousdix nombres alatoires. alatoires.
Par Nicolas POUSSET
311
Tirage alatoireExemple de solution possible pour le sous-VI sous(Loi rectangulaire.vi)
Par Nicolas POUSSET
312
Tirage alatoireExemple de solution possible pour VI principal
Par Nicolas POUSSET
313
Tirage alatoire
Par Nicol