Cours Labview

Manuel d’utilisateur de LabVIEW en pdf


Télécharger Manuel d’utilisateur de LabVIEW en pdf

★★★★★★★★★★5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Cours d’initiation au logiciel LabVIEW

 

Dernière mise à jour : 05/11/07

Objectifs du cours

•     Présenter LabVIEW et ses fonctionnalités.

•     Comprendre les composants d'un Instrument Virtuel (appelé VI).

•     Établir une application simple d'acquisition de données.

•     Créer un sous-programme dans LabVIEW.

•     Travailler avec les tableaux, les graphiques, les clusters et les structures.

•     Connaître des dispositifs d’impression et de documentation d’un VI.

•     Développer des architectures de programmation de base.

•     Publier des VI sur le Web.

•     Maîtriser les bases de communications par liaison GPIB et Série.

•     Connaître les outils de base d’acquisition et de traitement d’images.

•     Comprendre les concepts de base du développement temps réel.

SOMMAIRE

Partie I             –    Introduction à LabVIEW                                5

Partie II           –    Les Sous VI                                                   43

Partie III          –    Acquisitions de données                                55

Partie IV          –      Boucles, registres à décalage et introduction aux

                                                                   graphiques                                                     71

Partie V           –    Tableaux et fichiers                                       81

Partie VI             – Fonctions des tableaux et graphiques             93

Partie VII        –            Chaînes de caractères, clusters et traitement d’erreurs    102

Partie VIII       –    Structures Condition et Séquence, Boîte de calcul           116

Partie IX          –    Variables                                                     126

Partie X               – Tables et nœuds de propriétés                      134

Partie XI          –     Impression et documentation de VI             144

Partie XII        –      Architecture de la programmation basique   152

 

Partie XIII       –     Outils de publication sur le Web                  157

Partie XIV       –    Contrôle d’instruments                                161

Partie XV        –    Module Vision                                             173

Partie XVI       –      Développement d’applications temps réel    186

Partie XVII      –     Sujets complémentaires                               197

Partie I – Introduction à LabVIEW

•    Généralités.

•    Vocabulaire LabVIEW.

•    Environnement LabVIEW.

•    Composants d’une application LabVIEW.

•    Outils de programmation LabVIEW.

•    Créer une application LabVIEW.

Instrumentation Virtuelle avec LabVIEW

 

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) est un environnement de développement graphique qui permet de créer des applications modulaires et extensibles pour la conception d’applications, le contrôle et le test.

LabVIEW est un outils d’acquisition, d’analyse et de présentation de données.

 

Acquisition avec LabVIEW

LabVIEW permet l’acquisition de données par l’intermédiaire 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

•    Série (RS 232, RS 449, RS 422, RS 423, RS 485)

•    VXI (VME eXtensions for

Instrumentation)


IEEE : Institute of Electrical and Electronics Engineers

Analyse avec LabVIEW

LabVIEW inclut des outils pour l’analyse des données :

•      Plusieurs centaines de fonctions d’analyses (traitement d’images, calculs de moyenne, d’écart-type, régressions polynomiales,…)

•      VI Express pour l’analyse (analyse spectrale, mesures fréquentielles, statistiques…)

•      VI de traitement du signal (filtrage, détection de pics,…)…

Présentation avec LabVIEW

LabVIEW inclut des outils d’aide à la présentation (communication) des données :

•    Graphiques, tableaux, images, génération de rapport,…

•    Par l’intermédiaire d’Internet (outils de publication web, serveur Datasocket, TCP/IP, envoie d’alertes par email)…

Un peu d’histoire

                        Mars 1998                      • LabVIEW 5.0  ActiveX, Multifenêtrage

1997                            • LabVIEW 4.0  addition d’outils pour les professionnels, améliorations du debogage

                       Août 1993      • LabVIEW 3.0  version multiplatforme de LabVIEW

                        Septembre 1992            • LabVIEW  pour Windows, et pour Sun

                        Janvier 1990                  • LabVIEW 2.0  pour Macintosh

                        Octobre 1986                • LabVIEW 1.0  pour Macintosh

                       Avril 1983                     • Démarrage de LabVIEW

Un peu d’histoire

2007                    • LabVIEW 8.5, outils de développement multicœurs (liés aux innovations dans l’architecture des processeurs de PC), programmation par diagramme d’états (statecharts)

                        2006  • LabVIEW 8.2 Édition des 20 ans, LEGO Mindstorms NXT

2005                   • LabVIEW 8  DSP (Digital Signal Processing), système embarqué

                         Mai 2003            •            LabVIEW 7  VIs Express, Assistants I/O, FPGA/PDA

                         Janvier 2002       •           LabVIEW 6.1  Analyse, fonctionnement en réseau

                        Août 2000          •      LabVIEW 6i Applications Internet

                        1999                   •     LabVIEW  Temps réel


 

Mindstorms NXT

 

Mindstorms NXT

Autres exemples de conceptions :

Possibilité d’utiliser directement LabVIEW pour la programmation et la gestion d’éléments


Les programmes LabVIEW appelés Instruments Virtuels ou Virtual Instruments (VI)

Face avant

•    Interface utilisateur

Contrôles = entrées

Indicateurs = sorties

Diagramme

•    Fenêtre d’affichage du code source

Interaction entre face avant et   diagramme (Ctrl+E)

Face avant d’un VI                 Barre des menus

 

Diagramme d’un VI

 

   

Recherche d’exemples

 

Recherche d’exemples

 

VI vide

 

Les Fonctions, les VI et les VI Express

•  Les Fonctions de base : éléments d’exploitation fondamentaux de LabVIEW.

•  Les VI Standards : VI qui peuvent être personnalisés.

•  Les VI Express : VI interactifs avec une page de dialogue configurable.            Fonction de base

                                                                VI Express                                                

VI Standard

Remonter l’arborescence

Palettes de fonctions

“ Fenêtre”).

Palette d’outils

Utilisée pour agir et modifier les objets de la face avant et du diagramme (disponible dans la barre des menus : “ Fenêtre”).

Possibilité de changer d’outils à l’aide de la touche tabulation

du clavier de l’ordinateur. Outil sélection automatique

                                   Outil d’action sur la face avant             Outil déplacement

                                  Outil déplacement et taille                           Outil d’arrêt

 Outil sonde

                                 Outil connexion par fils                      Outil copie couleur

                                 Outil raccourci menu                                Outil coloriage

 

Barre des menus Fonctionnalités classiques des programmes standards mais également spécifiques à

LabVIEW.

 

Créer un VI                     Fenêtre du diagramme

Fenêtre de la face avant

           Commande            Indicateur

Cadre gras                  Cadre fin



       

 

Astuces de connexions

                Points de Connexions             Trois types de sélection

   

Programmation par flux de données

 

terminaux d’entrée.

• Puis les nœuds fournissent des données à tous les terminaux de sortie.

Les options d’aide

 

•    Accès à l’intégralité du contenu informatif

•    Ouverture automatique d’une fenêtre pour accéder directement à l’aide.

Aide détaillée

(barre des menus :

“Aide” -> “Aide LabVIEW…” )

Exercice 1 - Conversion de °C en °F et en K

 

Réaliser un VI qui permet d’effectuer une conversion de °C en K et en °F.

Conversion de °C en K : K = °C + 273,15

Conversion de °C en °F : °F = ((9 x °C) / 5) + 32

Exercice 1 - Conversion de °C en °F et en K

Exemple de solution possible

 

Techniques de débogage

•    Trouver des erreurs

Cliquer sur le symbole de la flèche coupé Une fenêtre Windows apparaît avec les erreurs contenues dans le VI.

•    Animer l’exécution

Cliquer sur le bouton ci-contre. Les données dans des bulles sont animées. Des valeurs sont alors indiquées sur les fils.

•    Sonde (Probe)

Clic droit sur un fil pour afficher une sonde. Les données qui transitent sur ce fil seront affichées.

Il est également possible de choisir l'outil Sonde à partir de la palette d'outils.

Partie II – Les sous VI

•    Qu’est-ce qu’un sous VI ?

•    Assigner un connecteur et réaliser une icône pour un sous VI.

•    Utiliser un VI en tant que sous VI.

 

Icônes et Connecteurs

• Une icône représente un VI dans  un autre diagramme d’un VI de plus haut niveau.

2 cases en entrées pour les commandes

• Un connecteur montre les terminaux disponibles pour le transfert de données.

1 case en sortie pour l’indicateur

Sous VI

 

Étapes de création d’un sous VI

•    Créer l’icône

•    Visualiser le connecteur

•    Assigner les terminaux

•    Sauvegarder le VI

•    Insérer le VI dans un VI de plus haut    niveau

Créer une icône

• Cliquez avec le bouton droit sur l’icône de la face avant (en haut à droite), ou sur l’icône du diagramme et choisir “Éditer l’icône”.

 

Visualiser le connecteur

Cliquer avec le bouton droit sur l’icône (face avant seulement) et choisir “Visualiser le connecteur”.

   

Sauvegarde du VI

•     Choisir un emplacement adéquat

•     Organiser par fonctionnalités

–    Sauvegarder les VI similaires dans un même répertoire

(ex : Outils Mathématiques)

•     Organiser par applications

–    Sauvegarder tous les VI utilisés pour une application spécifique dans un répertoire ou une librairie.

(ex : Expérience 1 Réponse en fréquence)

Les librairies (.llb) combinent plusieurs VIs dans un seul fichier. Ceci est idéal pour transférer des applications complètes vers d’autres ordinateurs.



Insérez le sous VI dans un VI de niveau supérieur Accès aux sous-VI personnels :

-  Fonctions >> Toutes les Fonctions >>…

… >> Sélection d’un VI

OU

-  Faire glisser l’icône du sous VI sur le diagramme cible de haut niveau.

Autre méthode de création d’un sous VI

•     Sélectionner une zone à convertir en sous VI.

•     Sélectionner dans la barre des menus “Édition” : “Créer un sous VI”.

 

Astuces pour travailler dans LabVIEW

Quelques raccourcis clavier

<Ctrl+H> – Activer/désactiver la fenêtre d’aide contextuelle.

<Ctrl+B> – Supprimer les connexions erronées du diagramme.

<Ctrl+E> – Basculer entre la face avant et le diagramme.

<Ctrl+T> – Mosaïque verticale des fenêtres.

<Ctrl+Z> – Annuler (aussi dans le menu Édition).

<Ctrl+C> – Copier un objet.

<Ctrl+V> – Coller un objet.

Partie III – Acquisition de données

•    Outil « Measurement and Automation Explorer » (MAX)”.

•    Acquisition de données DAQ. (DAQ : Data AQuisition).

•    DAQ Traditionnel.

•    DAQmx.

•    Exemples de matériels dédiés à l’acquisition.

Introduction à l’acquisition de données

Conversion du flux de Conversion du lumière (photons) en       signal analogique Flux de      courant électrique en signal lumière  (électrons)     numérique

 

Phénomène                                                                                              PC

                                                                                                    Capteur             Chaîne de traitement

physique

du signal (filtrage, échantillonnage,…)

Un capteur convertit un phénomène physique en un signal électrique mesurable par un système d’acquisition de données.

Exemple de chaîne d’acquisition de

 

Exemple de capteurs

   

Phénomène

Capteur

Température

Thermocouple

Capteur de température résistif (RTD)

Thermistances

Flux de lumière

Photodiode

Photomultiplicateur

Son

Microphone

Force et pression

Jauge de contrainte

Transducteurs piézoélectriques

Position et déplacements

Potentiomètres

Codeurs optiques

Fluide

Débitmètre à turbine / électromagnétique

 
 

Measurement and Automation Explorer (MAX)

 

Measurement and Automation Explorer (MAX)

•    Affiche la liste des périphériques et des instruments connectés au système.

•    Permet d’exécuter des diagnostics système pour vérifier le bon fonctionnement des périphériques connectés.

•    Permet la configuration du matériel.

•    Permet de créer et modifier des voies, des tâches, des interfaces, des échelles,…

Measurement and Automation Explorer

 

Acquisition de données (DAQ) avec LabVIEW

 

DAQ traditionnel

 

DAQmx (assistance)

Acquisition d’une tension grâce à l’assistant DAQ.

 

Terminologie de l’acquisition de données

•     Résolution – détermine la valeur minimale de la variation du signal pouvant être mesurée.

–   Plus la résolution est importante, plus la représentation du signal est précise.

Exemple : un voltmètre indique 10 volts. Une variation de 0,1 volts fait bouger l’aiguille alors qu’une variation de 0,05 volts ne fait pas bouger l’aiguille. La résolution du voltmètre est de 0,1 volts.

•     Gamme – Valeurs minimales et maximales du signal.

–   Plus la gamme est petite, plus la représentation du signal est précise (à condition d’avoir une bonne résolution).

•     Gain – Amplifie ou atténue le signal afin de l’adapter au mieux à la gamme.


Connexions des entrées

Catégorie de sources de signaux d’entrée.

Le signal est référencé à la masse du système.

Exemples : alimentations, générateurs de signaux, tout ce qui se connecte dans une prise secteur référencée à la terre…

Référencé

Le signal n’est pas référencé à une masse.

Exemples : piles, thermocouples, transformateurs,…

Non référencé

Connexions des entrées

Système de mesure.

Trois modes de mise à la masse sont disponibles. Le mode choisit dépend de la nature du signal.

-  Mode   DIFFERENTIEL                         (le meilleur)

-  Mode   RSE                                                (pas recommandé)

(Mode référencé à une masse commune)

-  Mode   NRSE                                             (bon)

(Mode masse commune non référencé)

Connexions des entrées

RSE

NRSE


Exemples de matériels dédiés à l’acquisition

Connectivité directe des capteurs pour une mise en oeuvre rapide.

SCXI

Bloc de connexion d'E/S blindé pour interfacer les signaux d'E/S avec des matériels enfichables DAQ équipés de connecteurs 68 broches.

Exemples de matériels dédiés à l’acquisition

Ensemble d'instruments virtuels : oscilloscope, multimètre numérique, générateur de fonctions,… ELVIS     pour le prototypage en laboratoire et l’enseignement.

de mesures.

Partie IV – Boucles, registres à décalage et introduction aux graphiques

•    Boucle “For”.

•    Boucle “While”.

•    Registre à décalages.

•    Graphiques.

•    Affichages de plusieurs courbes sur un même graphique.

Les boucles

•     La boucle While (tant que)

–  Possède un compteur d’itération

–  S’exécute toujours au moins une fois

–  Continue de s’exécuter tant que l’on a pas appuyer sur le bouton Stop

Itération

•     La boucle For

–  Possède un compteur d’itération

–  S’exécute N fois (N paramétrable)

–  Pour N = 4,    i = 0, 1, 2, 3

Les boucles

           1. Choisissez votre boucle. 2. Encadrer le code qui doit être répété.

3. Placez les nœuds additionnels (contrôle booléen : bouton stop par exemple) et reliez-les.


Pour un signal assez bruité l’on pourrait avoir envie, par exemple, d’afficher une moyenne des valeurs.

Pour ce faire il est possible d’utiliser un registre à décalage.

Un registre à décalage prend des données du côté droit et les reporte du côté gauche à l’itération suivante :

Création : clic droit sur un des bords de la boucle >> « Ajouter un registre à décalage »

 

Attention !!           L’initialisation du registre à décalage est importante pour éviter les erreurs !

 

 

Commandes >> Toutes les commandes >> Graphes

Techniques de connexion dans les graphiques

 

Exercice 2 – Utilisation d’une boucle

Créer un VI qui génère un nombre aléatoire avec un temps d’attente que l’utilisateur peut modifier.

L’arrêt du programme se fait à l’aide du bouton stop de la face avant.

Exercice 2 – Utilisation d’une boucle

Exemples de solutions possible

Partie V – Tableaux et fichiers

•    Construire un tableau manuellement.

•    Construction automatique de tableaux.

•    Écrire dans un tableau.

•    Lire à partir d’un tableau.


A partir de la palette Commandes >> Toutes les commandes >> Tableau et Cluster, sélectionnez Tableau.

 

A partir de la palette Fonctions >> Toutes les fonctions >> Tableau, sélectionnez Tableau.

 

Placez un objet dans le tableau (un contrôle, une constante numérique, une chaîne de caractères ou un booléen).

   

                                      Tableau de constantes                     Tableau de contrôles

Possibilité de créer un tableau 1D sous forme d’une ligne ou d’une colonne suivant les besoins de l’application.


er un tableau 1D avec une boucle

Dernière valeur

générée uniquement

er un tableau 2D avec deux boucles

 

er des tableaux 2D manuellement

 

Fichiers

Fichiers – passer des données vers et depuis des fichiers.

-     Les fichiers peuvent être des éléments binaires, du texte, ou des tableaux.

-     Écrire / lire le fichier LabVIEW Measurements (*.lvm)

            Écrire dans un fichier *.lvm Lire un fichier *.lvm

 

Écrire dans un fichier LabVIEW Measurement

•     Inclut les fonctions ouvrir, écrire, fermer et gérer les erreurs.

•     Gère le formatage des chaînes avec soit une tabulation soit une  virgule comme délimiteur.

•     La fonction “Fusionner les signaux” sert à combiner des données dans un type de données dynamiques.

 

Exercice 3 – Analyser et stocker des données

Créer un VI qui génère un nombre aléatoire toute les secondes.

Calculer la moyenne, la valeur min et max et sauvegarder les données dans un fichier.

Exercice 3 – Analyser et stocker des données

Exemples de solutions possible

 

Partie VI – Fonctions des tableaux et graphiques

•    Les fonctions de base d’un tableau.

•    Utiliser les graphiques.

•    Créer plusieurs courbes dans les graphiques.

Les fonctions d’un tableau – les bases

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

 

Les fonctions du tableau – les bases

 

Les graphiques

Sélectionner depuis la palette Commandes le menu des Graphes :

Commandes >> Toutes les commandes >> Graphe

Graphe – Trace un tableau de nombres en fonction de leurs indices

Graphe XY (Express) – Trace un seul tableau en fonction de deux autres tableaux

Graphe numérique – Trace des bits depuis des données binaires

Les graphiques

Faire un clic droit sur le graphique et sélectionner “propriétés” pour personnaliser l’affichage (échelle, couleurs, curseurs,…).

Exemples : graphe numérique

L’utilisation des clusters sera abordée dans la partie VII

                                                                                                                           Graphe numérique

Exemples : graphe XY

Graphe XY

Exercice 4 – Utilisation de graphiques

Générer un VI qui simule un signal sinusoïdal et un signal carré dont on peut modifier la fréquence et l’amplitude ainsi que le rapport cyclique (pour le signal carré).

Afficher les deux courbes sur le même graphe.

Exercice 4 – Utilisation de graphiques

Exemple de solution possible

 

Partie VII – Chaînes de caractères, clusters et traitement d’erreurs

•     Chaînes de caractères.

•     Fonctions de chaînes.

•     Création de clusters (groupe / agrégat).

•     Fonctions des clusters.

•     Cluster d’erreur.

•     Récapitulatif sur les types de connexions.


•     Une chaîne de caractères est une séquence de caractères (ASCII).

•     Utilisations possibles : affichage de messages, contrôle d'instruments, fichiers d’entrée/sortie.

•     Les contrôles ou indicateurs de chaînes sont dans le menu : Commandes >> Commandes Texte ou Indicateur Texte

   

s : string f : floating

-    Balayer une chaîne



-    Sous-ensemble d’une chaîne


Clusters

•     Structures qui regroupent plusieurs données.

•     Les données peuvent être de différents types.

•     Les éléments doivent tous être, soit des contrôles, soit des indicateurs.

•     Cela est similaire au câblage de fils dans une même gaine :

facilite la gestion du programme.

 

Créer un cluster

1.       Sélectionner un modèle de cluster :

Commandes >> Toutes les commandes >> Tableau et

Cluster ou Fonctions >> Toutes les fonctions >> Cluster

 

La palette Clusters

•    Dans le sous-menu Clusters de la palette Fonctions >> Toutes les fonctions.

•    Également accessible par clic droit sur un terminal de cluster

 

Type de données

Désassembler

Étiquette

Désassembler par nom

Clusters d’erreurs

•    Un cluster d’erreur permet la visualisation d’un problème lors de l’exécution d’un VI. 

•    Un cluster d’erreur contient les informations suivantes : – État rapporte si une erreur se produit.

–    Code rapporte le code spécifique de l’erreur.

–    Source donne des informations sur l’erreur.

                                     Exemple :                                                                                                                  

                                                                                                                        Pas d’erreur               Erreur

Techniques de manipulations d’erreurs

•     L’information d’erreur est passée d’un sous VI au suivant.

•     Si une erreur se produit dans un sous VI, tous les sous VI suivants ne sont pas exécutés de la façon habituelle.

•     Gestion d’erreur automatique.

 

Types de connexions

                                                                                Scalaire             Tableau 1D

Numériques

Réels

Entiers

Booléen

Chaîne de caractères

Données

Dynamiques

Exercice 5 – Utilisation de clusters et de graphiques

Générer un VI qui simule le       déplacement d’un pointeur laser sur une photodiode 4 quadrants.

On simulera dans un premier     temps     un

« déplacement continu » du pointeur puis        un « déplacement discret ».

Exercice 5 – Utilisation de clusters et de graphiques

Exemple de solution possible

« Déplacement discret »

« Déplacement continu »

Partie VIII – Structures Condition et Séquence, Boîte de calcul

•    Fonctionnement de la structure

Condition et de la structure Séquence.

•    Mise en œuvre d’une boîte de calcul.

Structure Condition

Dans la sous palette Structures de la palette de Fonctions.

Uniquement un seul cas est visible à la fois.

Structure Séquence déroulée ou empilée

•     Palette Fonctions et sous palette Structure.

•     Exécute le diagramme de façon séquentielle.

•     Clic droit sur la structure pour ajouter une nouvelle étape.

 

Boîte de calcul

•     Dans la sous-palette Structures.

•     Implémenter des équations compliquées.

•     Les variables sont créées sur le bord.

•     Chaque énoncé doit se terminer par un point virgule (;)

•     La fenêtre d’aide contextuelle montre des fonctions disponibles.    2

Avantage de la boîte de calcul (à droite) : rapidité d’exécution du code par rapport à l’utilisation des fonctions de base (à gauche).


condition

Générer un VI qui permet de visualiser une erreur lorsque l’on essaye de calculer la racine carré d’un nombre négatif.

condition

Exemple de solution possible

 

condition

Exemple de solution possible

 

condition

 

Exercice 7 – Luminance spectrique du corps noir


(boîte de calcul et boucles)

Un corps noir est un radiateur thermique qui absorbe toutes les radiations électromagnétiques incidentes.

Loi de Planck

Générer un VI qui permet de tracer la luminance spectrique du corps noir  pour une température donnée.

 

dLe T = 2hchc2

dλCN λ5(eλkT −1)

Vitesse de la lumière dans le vide c = 299 792 458 m.s-1

Constante de Planck

h = 6,626 069 3 . 10-34 J.s

Constante de Boltzmann

k = 1,380 650 5 . 10-23 J.K-1

Exercice 7 – Luminance spectrique du corps noir

(boîte de calcul et boucles)

Exemple de solution possible

 

Le rayonnement du corps noir ne commence à se voir qu’au delà de 600°C (rouge sombre) d’où le choix de l’expression « corps noir » puisqu’à température ambiante (300 K) les corps naturel émettent dans l’Infrarouge (IR).

Partie IX – Variables

•    Variables locales.

•    Variables locales de séquence.

•    Variables globales.

 

Une variable locale n’est visible que dans un seul VI.

Variables locales de séquence

Ce type de variable s’utilise avec les structures Séquences empilées. Elle permet de faire passer des

 

Variables globales

   

Générer un VI qui permet de donner le temps (en ms) entre deux appuis de boutons.

On utilisera une structure séquence empilée avec, soit des variables locales, soit des variables locales de séquences ainsi que la fonction suivante :

Exemple de solution possible

 

Exemple de solution possible

 

Partie X – Tables et nœuds de propriété

•    Tables.

•    Nœuds de propriété.

•    Enregistrement dans un fichier Excel.

   

faut

Les nœuds de propriété permettent d’avoir accès à certains éléments d’un objet en lecture ou en écriture.

 

Objectif : on souhaite enregistrer la table dans un fichier Excel


Étape 2 : Sauvegarde des données dans un fichier Excel

 

Étape 2 : Sauvegarde des données dans un fichier Excel

 

– exemple - résultats

 

au format .xls


– exemple - résultats

 

Lorsque l’on essaye de réécrire par dessus un fichier déjà présent, une boîte de dialogue nous invitant à changer de nom de fichier apparaît.

Partie XI – Impression et documentation

•     Imprimer depuis l’onglet « imprimer » de la barre des menus.

•     Générer un rapport pré-formaté.

•     Documentation sur les VI.

•     Ajouter des commentaires dans la face avant et le diagramme.

Impression

Fichier » Imprimer

Différentes options d’impression sont disponibles

–     Icône, description du VI, face avant, diagramme, hiérarchie des

VI, sous VI, historique des VI…

–     Impression du panneau VI (impressions programmables de la face avant)


 

Générer un rapport (Palette de Fonctions » Sortie » Rapport)

En double cliquant sur le VI on a la possibilité de paramétrer le formatage du rapport.

 

                              Génération des signaux             Génération du rapport

 

Documentation sur les VI

•     Fichier » Propriétés du VI » Documentation

–    Fournit une description et une aide à propos du VI.

–    A compléter par le développeur pour de nouveaux VI.

 

•     Fichier » Propriétés du VI » Historique

–    Enregistre les changements des différentes versions d’un VI.

Documentation sur les VI

Exemple du VI précédent documenté par deux types de commentaires :

 

Commentaires pour expliciter les données qui transitent sur chacun des fils

Partie XII – Architecture de la programmation basique

•     L’architecture simple du VI.

•     L’architecture générale du VI.

•     L’architecture de machine d’états.


architecture simple du VI

Le VI fonctionnel présente des résultats probants

–     Pas d’option marche/arrêt.

–     Convient pour des tests très simples, de petits calculs,…

Exemple :                                                     

architecture générale du VI

Trois étapes principales : – Initialisation

–    Application principale

–    Fermeture

Exemple pour l’acquisition continue d’une image :

               Initialisation            Application principale Fermeture

 

architecture de machine d’états

•     Avantages

–  Possibilité de changer d’état.

–  Modification et débogage facile.

•     Inconvénients

–  Pertes possibles d’événements s’il y en a deux qui arrivent en même temps.

Les états :

0   : Démarrage

1   : Attente (timeout)

2   : Événement 1

3   : Événement 2

4   : Arrêt

architecture de machine d’états

Gestion d’évènements sur l’interface utilisateur :

Utilisation de la boucle évènementielle.

 

Partie XIII - Panneaux de contrôle à distance

Visualisation et contrôle de la face avant d’un programme LabVIEW, à partir d’un navigateur Web (Internet Explorer, Firefox,…).

-    Les clients éloignés observent directement les changements et mises à jours des programmes LabVIEW.

-    Plusieurs clients peuvent regarder la même face avant simultanément.

-    Un seul client à la fois peut contrôler la face avant à distance.

Outil de publication de face avant sur le Web

•    Outils » Outil de publication pour le Web

•    Cliquez sur « Enregistrer sur disque » et le VI est encapsulé dans un fichier HTML. 

•    Une fois sauvé, le fichier peut être ouvert à nouveau et personnalisé dans tout éditeur HTML.

Outil de publication de face avant sur le Web

N’importe qui peut à partir d’Internet visualiser en temps réel le VI et le contrôler s’il en a, au préalable, été autorisé.

L’installation de LabVIEW sur la machine distante n’est pas nécessaire.

Application fonctionnant sur le PC où est installé LabVIEW

Panneau de contrôle à distance - Ressources

NI  Developer Zone

() 

-    Recherche de panneaux de contrôle à distance.

-    Téléchargement de

Tutoriaux et Instructions.

-    Support sur l’incorporation de Webcams dans les panneaux de contrôle à distance.

Partie XIV – Contrôle d’instruments

•    Communication par liaison GPIB.

Présentation et caractéristiques 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 Série.

Présentation et caractéristiques techniques.

Fonctions de base pour la mise en œuvre du bus.

Utilisation des exemples disponibles.

Introduction

Dans le cas de communications par liaisons GPIB ou Série, l’acquisition de données se fait par l’intermédiaire d’un instrument autonome (multimètre, oscilloscope,…) au sein duquel sont effectuées les opérations d’entrées/sorties des signaux mesurés.

Le programme développé sert uniquement à la configuration de l’instrument, à la récupération, l’analyse et la présentation des données.


Introduction

La liaison GPIB (General Purpose Interface Bus) appelée aussi IEEE 488 (IEEE : Institute of Electrical and Electronics Engineers) est devenue depuis son apparition en 1965 (crée par Hewlett-Packard) un standard de communication qui permet aujourd’hui de contrôler la plupart des instruments de mesures (oscilloscopes, multimètres, générateurs de fonctions, …).

Une deuxième normalisation de ce bus est intervenue en 1987 avec la référence IEEE 488.2 pour préciser la précédente qui était incomplète. En 1990 le document “Standard Commands for Programmable Instrumentation (SCPI)” a été incorporé à la norme. Celui-ci définit un certain nombre de commandes auxquelles chaque instrument doit pouvoir obéir. Cela permet ainsi une interopérabilité de matériels de différents fabricants.

                                                                                                                                   Connecteur GPIB



Caractéristiques techniques

-    La liaison GPIB est une liaison parallèle 8 bits.

-    Interconnexion de 15 appareils maximum : chaque     appareil      possède une adresse comprise entre 0 et 30.

-    Vitesse de transfert maximum : 1 Mo/s.

-    Longueur de câble de 4 m au maximum entre 2 appareils.

-    Longueur totale de câble de 20 m au maximum.

-    Au minimum les 2/3 des instruments doivent être sous tension.

Measurement and Automation Explorer

(MAX)

 

Réponses des instruments à la commande « IDN? »

Measurement and Automation Explorer

(MAX)              Clic sur un instrument : par exemple « Instrument0 »

 

– VI type

 

- Fonctions de base dans labVIEW

 

Série     Introduction

Bien que progressivement délaissée pour l’USB (Universal Serial Bus), la liaison Série (RS 232, RS 449, RS 422, RS 423, RS 485) est un moyen de communication, encore aujourd’hui, répandu pour la transmission de données entre un ordinateur et un périphérique (imprimante, instrument de mesure programmable,…)

La liaison Série est une liaison asynchrone c’est-à-dire qu’elle ne transmet pas de signal d’horloge. Il n’y a donc aucune synchronisation entre l’émetteur et le récepteur. Pour que le récepteur puisse interpréter convenablement l’information du transmetteur, il faut que les deux éléments soient configurés de la même façon.

 

Port Série


Série      Caractéristiques techniques

Voici le format type d’une trame envoyée par le port série :

                                                                                   Bit de    B0          B1          B2          B3          B4          B5          B6       Bit de                                                   Bit de

                                                                                   Start                                                                        Parité                                                  Stop

Niveau haut

Niveau bas

-   Un bit de start qui indique qu’une information va être envoyée. Il permet la synchronisation du récepteur.

-   7 ou 8 bit de données (B0 à B6 (ou B7) avec B0 le bit de poids faible).

-   Un bit de parité qui permet de détecter les éventuelles erreurs de transmission.

-   Un bit de stop. Après la transmission la ligne est positionnée au repos pendant X périodes d’horloges du récepteur.

Série Fonctions de base dans labVIEW

 

Exemples de VI

 

Partie XV - Module Vision

•    NI Vision Assistant.

•    Acquisition d’une SEULE image avec une webcam par USB.

•    Acquisition continue d’images avec une webcam par USB.

NI Vision Assistant

Vision Assistant permet de paramétrer la caméra utilisée, de procéder à l’acquisition d’images ou de séquences d’images, permet de procéder à une multitude de traitement sur les images et permet de générer automatiquement et facilement un code LabVIEW opérationnel.

Acquisition

 

Acquisition

 

images

Paramétrage

Réglage des paramètres vidéo

Ces paramètres sont intrinsèques à la caméra   utilisée.   Ils        seront différents pour d’autres types de Réglage des paramètres liés aux images caméras.

Traitement d’images

 

Traitement d’images

 

–  Génération automatique de code

 

–  Génération automatique de code

 

Programme LabVIEW de détection de bord de trait et de calcul de centre généré automatiquement.

 

Outils de visualisation

 

Acquisition d’une SEULE image

Webcam

Acquisition CONTINUE d’images

 

Partie XVI – Développements d’application temps réel

•     Qu’est-ce que le temps réel ?

•     Terminologie, principe de développement.

•     Architecture.

•     Exemples d’application, cibles.

Qu’est-ce que le temps réel ?

En informatique industrielle,  on parle d'un système temps réel lorsque ce système informatique contrôle (ou pilote) un procédé physique à une vitesse adaptée à l'évolution du procédé contrôlé.

Le temps réel ne signifie pas forcément rapide.

Le temps réel garantit une fiabilité absolue car les systèmes temps réel ont des contraintes temporelles qui doivent être atteintes sans aucun échec : on dit que le système est déterministe.

Terminologie temps réel

Déterminisme : caractéristique d’un système qui indique son niveau de fiabilité à répondre à un événement ou à effectuer une tâche dans un délai imparti.

Temps de boucle : temps pris pour exécuter un cycle de boucle.

Jitter : variation du temps de boucle réel par rapport au temps de boucle souhaité.

Embarqué : caractérise un système autonome (pas de clavier, ni de souris, ni d’écran,…).

Principe de développement temps réel

1.  Développer sur un ordinateur hôte.

 

Ordinateur hôte

2.  Télécharger le code sur une cible.

 

Principe de développement temps réel

 

Architecture typique

                                                Cible RT (Real-Time)               PC hôte

     
 

Boucle de l’application

(déterministe)

Priorité temps critique

 

Boucle de communication

(non déterministe)

Priorité normale

 

Application cliente

   
   
   
   

Programme du PC hôte

Exécuté sur le PC hôte.

Pas nécessaire.

Gère les tâches non déterministes :

-     Communication avec le programme cible : envoi des paramètres de l’interface utilisateur et récupération des données

-     Enregistrement et analyse des données

-     Emission     des       données     vers      d’autres systèmes

Programme de la cible

Les tâches de priorité plus élevée gardent la main sur les tâches de priorité moins importante.

Les tâches qui nécessitent d’être déterministes sont des tâches dites “temps critique”. Toutes les autres auront une priorité moins importante.

Le “multithreading” permet de donner la priorité à une tâche en particulier.

 

Qu’est que le multithread ?

Extension du principe de multitâche.

-     Multitâche : capacité du système d’exploitation à basculer entre différentes tâches.

-     Une tâche est généralement une application à part entière telle que LabVIEW.

Le multithread étend le principe au sein même d’une application.

-     Des opérations spécifiques au sein d’une même application peuvent être réparties chacune dans un thread spécifique.

-     Le temps processeur peut être réparti sur les threads.

-     Capacité à avoir des niveaux de priorité.

Exemples d’applications temps réel

                           Performances déterministes                  Autonomie

 

Tests sous-marins Gestion d’un airbag

Fiabilité des performances

Tests de résistance et d’endurance

Exemples de cibles temps réel avec LabVIEW

PC de bureau ou industriel

Déterminisme pour les systèmes PCI

                                                                                                                                                                    Contrôleurs PXI embarqués RT

Haute vitesse, haute densité d’E/S multiples

                                                                                                                                          CompactRIO                     

                   Compact FieldPoint RT                                 Compact Vision

E/S reconfigurables,

Encombrement réduit, environnement durcis                               Automate de vision industrielle

environnement durcis

Partie XVII – Sujets complémentaires

•     Datasocket.

•     Communications USB, TCP/IP.

•     Module de développement pour PDA.

•     …

Pour aller plus loin…

•     Exemples de programmes (Aide » Recherche d’exemples…)

•     LabVIEW Version Étudiants ()

•     Ressources Web ()

–     Zone Développeur NI () : Forum de discussion

–     Notes d’Application

–     Info-LabVIEW newsgroup ()

–     Bibliothèque des drivers d’instruments ()

Nicolas POUSSET

Optronic Engineer - PhD Student

Institut National de Métrologie (INM)

Conservatoire national des arts et métiers (Cnam)

61 Rue du Landy

93210 La Plaine - Saint Denis

France

tèl. (office) : +33 (0)1.58.80.89.03 tèl. (labo)   : +33 (0)1.58.80.46.34 tèl. (mobile) : +33 (0)6.76.82.04.35 fax : +33 (0)1.58.80.89.00 e-mail :

Group website :

Perso website :


359