Cours Instrumentation Virtuelle avec LabVIEW
Cours Instrumentation Virtuelle avec LabVIEW
...
- Introduire LabVIEW et ses fonctions de base
- Développer des architectures de programmation basiques.
- Travailler sur les boucles et structures condition
- Travailler avec des Tableaux et savoir utiliser des chaînes de caractères
- Savoir échanger des données avec d’autres systèmes
Front Panel (Face avant)
- Contrôles = Entrées
- Indicateurs = Sorties
-> Interface utilisateur
Block Diagram (Face arrière)
- Programme d’accompagnement de la Face avant.
- Les composants sont connectés ensemble via des fils.
Les programmes LabVIEW sont appelés Virtual
Instruments (VIs) (Instruments virtuels)
Express VIs, VIs et Fonctions
- Express VIs: VIs interactifs avec page de dialogue
- Standard VIs: VIs modulaires personnalisés
- Fonctions: Elements de base de Labview.
Express VI Standard VI
Fonction
Palettes de control et de fonctions
Palette de controls (Face avant)
Palette de fonctions (Face arrière)
Palette rassemblant toutes les fonctions
Images et son
Boucles de programmation Gestion des nombres
Gestion des booléens
Gestion des tableaux
Gestion des chaînes de caractères Gestion des clusters
Temporisations
E/S sur fichiers
Acquisition de données
Fonction de test
Communication avec des instruments (Série, GPIB)
Communication réseau (TCP, Mail,...)
Cours Instrumentation Virtuelle avec LabVIEW
Bibliothèque des Vis créés par l'utilisateur
Fonctions de traitement du signal
Outil de sélection
Outil de positionnement
Outil d’écriture
Outil de câblage
Shortcut Menu Tool
- Palette flottante
- Utilisée pour créer et modifier des objets de la face avant et de la face arrière
Outil de défilement
Point d’arrêt
Sonde
Outil copiage de couleur
Outil de coloration
Palette outils
Sélection automatique des outils
Lancement du programme
Lancement continu
Arrêt du programme
Pause/Remise en route
Cours Instrumentation Virtuelle avec LabVIEW
Paramètres des textes
Alignement des objets
Distribution des objets
Réorganisation
Redimensionnent des objets de face avant
Montre le flux de données
Début de l’exécution pas à pas
Continuer l’exécution pas à pas
Quitter l’exécution pas à pas
Boutons supplémentaires du diagramme
Barre d’outils de la face avant
Techniques de débuggeur
- Trouver les erreurs
- Déroulement de exécution
- Test
Cliquer sur le bouton Run brisé
Une fenêtre montrant les erreurs apparaît
Le Click sur le bouton va animer le flot de données. Les valeurs sont affichées sur les lignes.
En cliquant droit sur les lignes on ajoute une sonde qui indiquera la valeur qui passe à travers le segment.
On peut aussi utiliser la sonde de la palette d’outils et cliquer sur la ligne.
Options de l’aide
Aide contextuelle
- Aide en ligne
- Verrouillage de l’aide
- Aide simple ou complète
- Ctrl + H
Manuel en ligne
- Accès à tous les menus
- Cliquez sue les icônes pour avoir accès aux aides
Créer un nouveau VI
Terminaux de control
Face arrière
Face avant
Terminaux de sortie
Exercice :
- L’exécution des blocs s’effectue en fonction du flot des données et NON de gauche à droite.
- Les noeuds s’exécutent quand les données sont présentent à tous les terminaux d’entrée.
- Les noeuds fournissent les données à tous les terminaux connectés en sortie quand le calcul est fait.
Programmation “Flux de données”
Le Click sur le bouton va animer le flot de données. Les valeurs sont affichées sur les lignes.
Les différentes variables dans Labview
Flottants sur 96, 64 et 32 bits
Entiers signés sur 32,16 et 8 bits
Entiers non signés sur 32,16 et 8 bits
Nombres complexes sur 96, 64 et 32 bits
On peut passer d’une variable à l’autre à l’aide de fonctions prédéfinies.
Les différentes variables dans Labview
Entier sur 8, 16 et 32 bits
Chaînes de caractères
Booléens
Flottants
La structure de choix condition
- Exercice : programmer la recopie d’une chaîne de caractère si un interrupteur est activé, sinon effacer le texte.
Face avant :
Face arrière : copier
Face arrière : effacer
Les tableaux
Labview permet de créer des tableaux de tous types de variables.
- Entiers
- Flottants
- Chaines de caractères
- Booléens …
Les tableaux
Il n’est pas nécessaire de déclarer les tableaux comme en ‘C’ par exemple.
On peut les créer pendant le programme et leur ajouter/enlever des éléments et donc faire varier leur taille sans problèmes.
Fonctions de tableau – Base
Fonctions >> Toutes les fonctions>>Tableau
IUT 1 GRENOBLE Pierre Armand DEGRYSE - David FREY
Powered by :
Les tableaux (quelques fonctions)
Taille d’un tableau
Indexer un élément Remplacer une partie Insérer des éléments
Extraire des éléments
Cours Instrumentation Virtuelle avec LabVIEW
Initialiser un tableau
Construire un tableau Etc.
Structure de boucles
- Boucle For / Boucle While
- Auto-indexation
- Registres à décalage
Boucle For
Nombre de boucles à effectuer
Terminal indiquant le numéro de l’itération (0 à N-1)
Terminal de sortie auto indexé
Terminal de sortie non auto indexé
Boucle For
Auto indexation
Les boucles dans Labview ne renvoient les données que lorsqu’elles se sont entièrement exécutées.
Pb. Comment faire si on veut conserver à chaque boucle la valeur calculée?
Il faut auto indexer les données en sortie.
Labview crée un tableau est il va mettre à chaque boucle la donnée dans une autre case.
Pour cela, il faut faire un clique droit de la souris sur le terminal est choisir :
Activer l’indexation.
Boucle For
Auto indexation
Exemple : Génération aléatoire de 10 nombres
Boucle For
Auto indexation
- Auto indexation activée : on récupère toutes les valeurs dans un tableau
- Auto indexation désactivée : on ne récupère que la dernière valeur
…
L’auto indexation fonctionne aussi en sortie pour les boucles While.
Si on utilise l’auto indexation quand on veut mettre un tableau en entrée d’une boucle For, il n’est pas nécessaire de mettre le nombre d’itérations à effectuer.
Par défaut, Labview prendra la taille du tableau.
Registres à décalage
Comment faire pour utiliser une variable dans deux boucles successives d’une même boucle ?
Nous souhaitons par exemple ne pas utiliser l’auto-indexation pour créer le tableau de nombre aléatoires et donc construire de manière itérative ce tableau.
Registre à décalage
Initialisation du registre à décalage
Fonction « insérer dans un tableau »
Boucle While
– Possède un Terminal Iteration
– Fonctionne au moins une fois
– Fonctionne en fonction de l’état du Terminal condition
Terminal d’itération
Terminal condition
Boucle While
Conditions d’arrêt
Arrêter sur condition vrai
Continuer sur condition vrai
While (toto = 0)…
While (toto = 1)…
On choisit l’un ou l’autre en faisant un clique droit sur l’icône.
Structure Case
- Dans la palette Structure de la palette Fonction
- Entourer les noms ou déplacer les à l’intérieur du Case
- S’empilent comme des cartes. Seule celle du dessus est visible.
- Fonction switch ... Case en ‘C’.
Terminal de sélection
Structures Sequence
- Dans la palette Structure de la palette Fonctions
- Executes les diagrammes de façon séquentielle
- Click droit pour ajouter de nouvelles fenêtres
- Il existe deux types de séquences : empilées et déroulées
- Exemple
Terminal local de séquence
- Les différents plans sont côte à côté
- Affichage complet, mais souvent moins clair
Cours Instrumentation Virtuelle avec LabVIEW
... ...
Dans cet exercice, suivez les instructions pour vous familiariser avec les clusters, l’ordre des clusters et les fonctions de cluster. Le VI que vous créez n’a pas d’application pratique, mais il permet de comprendre les concepts concernant les clusters.
- Ouvrez un VI vide.
- Enregistrez le VI sous le nom Cluster Experiment.vi dans le répertoire \LabVIEW Core 1\Clusters.
Au cours des étapes suivantes, vous construirez une face-avant semblable à celle de la figure 5-7.
- Ajoutez un bouton Stop à la fenêtre de la face-avant.
- Ajoutez un indicateur numérique à la fenêtre de la face-avant.
- Ajoutez un voyant LED circulaire à la face-avant.
- Renommez la LED Booléen 2
- Créez un Cluster contenant un numérique, deux interrupteurs à bascule et une glissière.
❑ Ajoutez un cluster vide à la face-avant.
❑ Ajoutez une commande numérique au cluster.
❑ Ajoutez deux interrupteurs à bascule verticaux au cluster.
❑ Renommez les interrupteurs à bascule Booléen Booléen 1 et Booléen 2.
❑ Ajoutez une glissière à niveau horizontale au cluster.
- Créez un Cluster modifié, qui contient les mêmes éléments que le
Cluster mais sous forme d’indicateurs au lieu de commandes.
❑ Créez une copie du Cluster.
❑ Renommez la copie Cluster modifié.
❑ Cliquez avec le bouton droit sur le cadre du Cluster modifié et sélectionnez Changer en indicateur dans le menu local.
- Créez un Petit cluster qui contient un indicateur booléen et un indicateur numérique.
❑ Créez une copie du Cluster modifié.
❑ Renommez la copie Petit cluster.
❑ Supprimez le deuxième interrupteur à bascule.
❑ Supprimez l’indicateur glissière à niveau horizontale.
❑ Cliquez avec le bouton droit sur le Petit cluster et sélectionnez
Redimensionnement auto.»Ajuster la taille.
❑ Renommez l’indicateur numérique Valeur de la glissière.
❑ Redimensionnez le cluster si nécessaire.
- Vérifiez l’ordre de Cluster, Cluster modifié et Petit cluster.
❑ Cliquez avec le bouton droit sur le cadre de Cluster et sélectionnez
Ordonner les commandes dans le cluster dans le menu local.
❑ Vérifiez que l’ordre des éléments du cluster est identique à celui de la figure 5-8.
❑ Cliquez sur le bouton Confirmer dans la barre d’outils pour fixer l’ordre du cluster et sortir du mode d’édition de l’ordre.
❑ Cliquez avec le bouton droit sur le cadre de Cluster modifié et sélectionnez Ordonner les commandes dans le cluster dans le menu local.
❑ Assurez-vous que l’ordre des éléments du cluster est identique à celui de la figure 5-8. Le Cluster modifié doit avoir le même ordre que le Cluster.
❑ Cliquez sur le bouton Confirmer dans la barre d’outils pour fixer l’ordre du cluster et sortir du mode d’édition de l’ordre.
❑ Cliquez avec le bouton droit sur le cadre de Petit cluster et sélectionnez Ordonner les commandes dans le cluster dans le menu local. Cliquez sur le bouton Confirmer dans la barre d’outils pour fixer l’ordre du cluster et sortir du mode d’édition de l’ordre.
❑ Assurez-vous que l’ordre des éléments du cluster est identique à celui de la figure 5-8.
Figure 5-8. Ordre dans les clusters