SERVICE COMMUN ÉLECTRONIQUE ET INSTRUMENTATION
LabVIEW : des fondamentaux aux structures
avancées pour l’instrumentation
et le contrôle-commande
ANF RdE 2017 - Patrick NECTOUX
Objectifs de ce cours
Les fondamentaux de la programmation graphique en langage G
Les concepts de haut niveau structurants
Machines à états => indispensables au développement
Modèles parallèles d’une application performante
Outils de synchronisation intégrant une interface
Homme/Machine
Programmation évènementielle
Les trois thèmes suivants font l’objet de séances de travaux pratiques
L’acquisition de données capteurs
La génération de signaux
Les différentes méthodes d’enregistrement de données
Action Nationale de Formation RdE 2017 – Cours 2/124
Sommaire
1 Qu’est-ce que LabVIEW
2 Conception graphique de systèmes complexes
3 Caractéristiques fondamentales
4 Environnement de développement LabVIEW
5 Construction d’un VI simple
6 Eléments de test et de « débuggage »
7 Types de données
8 Structures de données
9 Formats de fichiers
10 Structures logiques
Action Nationale de Formation RdE 2017 – Cours 3/124
Sommaire (Suite)
11 Notion de flux de données
12 Notion de modularité
13 Notions de cadencement
14 Modèles de conception
15 Machine à états
16 Structure évènementielle
17 Outils de synchronisation
18 Bibliothèque DAQmx
Petit recueil de bonnes pratiques
Action Nationale de Formation RdE 2017 – Cours 4/124
1. Qu’est-ce que LabVIEW
LabVIEW est un environnement de programmation graphique
dédié au développement de systèmes de mesure, de test,
d’instrumentation et de contrôle-commande sophistiqués.
Utilisable avec une grande variété de matériels, il est multi-
plate-forme, multi-cible et intègre un grand nombre de
bibliothèques en natif.
De plus en plus de constructeurs fournissent une bibliothèque
LabVIEW avec leurs matériels.
Action Nationale de Formation RdE 2017 – Cours 5/124
2. Conception graphique de systèmes
Action Nationale de Formation RdE 2017 – Cours 6/124
2. Conception graphique de systèmes
Action Nationale de Formation RdE 2017 – Cours 7/124
3. Caractéristiques fondamentales
Langage graphique basé sur la notion de flux de données
Programmation mixte séquentielle et parallèle
Multi-plate-forme et multi-cible
Compilé et non interprété
Programmation évènementielle
Synchronisation de processus parallèles
Programmation orienté objet
Multithreading et temps réel
Action Nationale de Formation RdE 2017 – Cours 8/124
4. Environnement de développement
4.1. Explorateur de projet
Les dernières versions de LabVIEW intègrent la notion de projet
dont l’intérêt premier est de faire
apparaitre :
- toutes les cibles ou matériels,
- les portions de logiciel liés à
chacune d’entre elles,
- avec les bibliothèques,
- et toute la documentation
que l’on souhaite y intégrer.
Action Nationale de Formation RdE 2017 – Cours 9/124
4. Environnement de développement
4.1. Explorateur de projet (suite)
Liens logiques dans le cas d’une cible temps réel
Action Nationale de Formation RdE 2017 – Cours 10/124
4. Environnement de développement
4.1. Explorateur de projet (suite)
La fenêtre de l’explorateur de projet permet donc de :
Rechercher, organiser et accéder aux fichiers d’un projet
Éviter, détecter et résoudre les liens incorrects
Déployer (ou télécharger) des fichiers sur les cibles
Gérer le code des options de construction (exécutables,
installeurs, zip)
Intégrer du code source
…
Action Nationale de Formation RdE 2017 – Cours 11/124
4. L’environnement de développement
4.1. Explorateur de projet (suite)
Types de fichiers natifs dans LabVIEW
Extensions courantes :
Projet LabVIEW : .lvproj
Librairies : .lvlib
VI (instrument virtuel) : .vi
Commande personnalisée : .ctl
Ajout de dossiers à un projet
Dossier virtuel : dossier qui n’a pas
d’existence sur le disque dur ou un support
physique de mémoire
Auto-populating folder : mise à jour
continuelle du contenu du répertoire
Action Nationale de Formation RdE 2017 – Cours 12/124
Micro-Travaux Pratiques dirigés
Prérequis
Créer un répertoire LabVIEW Projects sous « Mes documents »
I. Création d’un projet vide
Créer des dossiers virtuels
Insérer des fichiers dans chaque dossier du projet
Test la suppression d’un fichier sur le disque dur
Action Nationale de Formation RdE 2017 – Cours 13/124
4. L’environnement de développement
4.2. Les composantes d’un instrument virtuel (VI)
La palette d’outils commune à la face-avant et au diagramme
Elle permet de sélectionner et manipuler tous les objets à disposer dans le diagramme.
Sélection d’outils automatique Sélectionne, modifie la position
ou la taille d’un objet
Modifie la valeur d’un contrôle
Insère, édite ou modifie du texte
Créé les fil de liaison
Déplace l’espace de travail dans une fenêtre
Raccourci palettes
Insère ou supprime un point d’arrêt Pipette de sélection de couleur
Insère une sonde Sélectionne et attribue une couleur
Action Nationale de Formation RdE 2017 – Cours 14/124
4. L’environnement de développement
Icône
4.2. Les composantes d’un instrument virtuel (VI) (représentation
graphique du VI)
La face-avant
Elle représente l’interface
Homme/Machine et intègre
Connecteur
notamment l’icône du VI et ses (mappage des
connecteurs. Ces deux derniers entrées et sorties
éléments constituent la boite du VI)
noire qui permettra d’utiliser le
VI et tant que sous VI d’un
autre VI.
Action Nationale de Formation RdE 2017 – Cours 15/124
4. L’environnement de développement
4.2. Les composantes d’un instrument virtuel (VI)
Barre d’outils
La face-avant (suite)
Commandes Indicateurs
- Périphériques d’entrée - Périphériques de sortie
- Boutons rotatifs et - Graphes, leds
glissières - Affichent les données
- Fournissent les données acquises ou générées par
au diagramme le diagramme
Action Nationale de Formation RdE 2017 – Cours 16/124
4. L’environnement de développement
4.2. Les composantes d’un instrument virtuel (VI)
La face-avant (suite)
Les objets de la face avant sont
disponibles dans 4 styles
différents
Action Nationale de Formation RdE 2017 – Cours 17/124
4. L’environnement de développement
4.2. Les composantes d’un instrument virtuel (VI) Barre d’outils
Le diagramme
Il représente le Icone
code du VI.
Diagramme Ctrl+E Face-Avant
Action Nationale de Formation RdE 2017 – Cours 18/124
4. L’environnement de développement
4.2. Les composantes d’un instrument virtuel (VI)
Les éléments du diagramme
Terminaux : ils représentent les entrées et les sorties dans le diagramme
(représentation sur le diagramme d’un objet de la face-avant)
Nœuds
Fonction (icône avec arrière plan jaune clair)
Sous-VI (possède une face avant et un diagramme)
VI Express (boite de dialogue)
Structure
Fils de liaison
(Flux de données)
Etiquettes libres
Aide contextuelle
Action Nationale de Formation RdE 2017 – Cours 19/124
Micro-Travaux Pratiques dirigés
II. Création d’un VI vide
Le nommer
Insérer une commande sur la face avant
Insérer un indicateur sur la face avant
Insère une boucle while
Créer le bouton stop
Créer les liens
Exécute le VI
Action Nationale de Formation RdE 2017 – Cours 20/124
4. L’environnement de développement
4.2. Les composantes d’un instrument virtuel (VI)
Les terminaux
Visualisation des
terminaux sous-
forme d’icône
Possibilité de changer une
commande en un indicateur ou une
constante avec le menu contextuel
Action Nationale de Formation RdE 2017 – Cours 21/124
4. L’environnement de développement
4.2. Les composantes d’un instrument virtuel (VI)
Les noeuds
Objets du diagramme, comportant des entrées et ou des sorties, et qui réalisent des
« opérations » lorsque le VI s’exécute
Il existe des nœuds de fonction (icône avec arrière plan jaune clair), des nœuds de sous-VI
ou de VI-Express (un double clic sur son icône a pour effet d’ouvrir un diagramme ou une
fenêtre de paramétrage) et des nœuds de structure comme la structure conditionnelle de
la portion de diagramme ci-dessous.
Le nœud de fonction « Supérieur ou
égal » ne peut s’exécuter que lorsque
ces deux entrées seront
valides et donc aussi après
l’exécution du nœud « multiplier »
on met ainsi en évidente le concept
de flux de données ...
Action Nationale de Formation RdE 2017 – Cours 22/124
4. L’environnement de développement
4.2. Les composantes d’un instrument virtuel (VI)
Les nœuds de sous-VI
VI utilisé dans le diagramme d’un autre VI
Dispose d’une face-avant et d’un diagramme
L’icône en haut et à droite de la face-avant est celle qui apparaît sur le
diagramme
Un double clic sur l’icône ouvre la face-avant et le diagramme du VI
N’importe quel VI peut être utilisé comme sous-VI (vérifier toutefois les
propriétés d’exécution du sous-VI…)
Les nœuds de VI-Express
Type spécial de VI (Fonction évoluée et paramétrage)
Câblage minimaliste
La configuration s’opère au travers d’une boite de dialogue
L’icône dispose d’un arrière plan bleu
Action Nationale de Formation RdE 2017 – Cours 23/124
4. L’environnement de développement
4.2. Les composantes d’un instrument virtuel (VI)
Les options d’affichage des nœuds
Affichage simple
Sous forme d’icône
Icône avec visualisation des entrées et
des sorties ainsi que leur mnémonique
Les fils de liaison
Transfert unidirectionnel des données entre les objets du diagramme
Leur couleur, style et épaisseur
est fonction du type de données
transférées
Un fil de liaison brisé apparaît comme un trait en pointillés avec le symbole d’une croix
rouge à l’intersection : ce fil indique une discordance de type
de données entre les deux objets reliés
Action Nationale de Formation RdE 2017 – Cours 24/124
4. L’environnement de développement
4.3. La grande diversité des menus contextuels
Action Nationale de Formation RdE 2017 – Cours 25/124
4. L’environnement de développement
4.4. Les 3 niveaux de présentation de l’aide
L’aide contextuelle
Apparaît lorsque que l’on place le curseur sur un fil de liaison ou un nœud et affiches des
informations succinctes
La fenêtre de l’aide contextuelle peut être affichée/masquée soit en utilisant l’icône
de la barre d’outils, soit en appuyant sur <Ctrl+H>, soit en sélectionnant Aide>>Afficher
l’aide contextuelle dans le menu LabVIEW.
L’aide LabVIEW
Fichier à l’extension .chm qui contient des descriptions détaillées et des instructions
pour la plupart des palettes, menus, outils, Vis et fonctions
Cette aide est accessible :
en sélectionnant Aide>>Aide LabVIEW dans le menu de la fenêtre du diagramme ou
de la face-avant ;
en utilisant le lien Aide détaillée de la fenêtre de l’aide contextuelle ;
en sélectionnant Aide du menu contextuel d’un objet.
Action Nationale de Formation RdE 2017 – Cours 26/124
4. L’environnement de développement
4.4. Les 3 niveaux de présentation de l’aide (suite)
L’aide à travers la recherche d’exemples
Via Aide>>Recherche d’exemples
Via l’aide détaillée grâce aux icônes
Action Nationale de Formation RdE 2017 – Cours 27/124
4. L’environnement de développement
4.5. Recherche de commandes, de VI et de fonctions
Recherche et navigation dans les palettes
Palette des commandes dans la face avant
Palette des fonctions dans le diagramme
Placement rapide
Ctrl + barre espace
Recherche sur le nom de l’objet à intégrer
Recherche globale NI
Permet d‘effectuer des recherches dans les palettes, dans l’Aide LabVIEW et sur le site
web ni.com
Action Nationale de Formation RdE 2017 – Cours 28/124
4. L’environnement de développement
4.5. Recherche de commandes, de VI et de fonctions
Palette de commandes (spécifique à la face-avant)
Contient les commandes et les indicateurs utilisables pour la
création de la face-avant
Permet la navigation dans les sous-palettes
Donne accès à la fonctionnalité rechercher à l’image de la recherche
rapide
Action Nationale de Formation RdE 2017 – Cours 29/124
4. L’environnement de développement
4.5. Recherche de commandes, de VI et de fonctions
Palette de fonctions (spécifique au diagramme)
Contient les Vis, fonctions et constantes utilisables pour créer le
diagramme
Permet de naviguer dans les sous-palettes
Donne accès à la fonctionnalité Rechercher
Action Nationale de Formation RdE 2017 – Cours 30/124
4. L’environnement de développement
4.6 La documentation : comment renseigner son code ?
Au niveau du VI : son nom et sa description
L’onglet « Fichier », puis Propriété du VI
permet d’accéder à la description de ce
dernier.
D’autre part, que ce soit au niveau de la face–avant comme du
diagramme, des étiquettes libres peuvent être ajoutées en utilisant
l’outil « édition de texte » de la palette d’outils.
Action Nationale de Formation RdE 2017 – Cours 31/124
4. L’environnement de développement
4.6 La documentation : comment renseigner son code ?
Pour chaque objet, la fenêtre de propriétés donne accès à l’affichage
d’une étiquette, et aussi à un onglet « Documentation », qui permet de
renseigner une description et une info-bulle.
Au niveau du diagramme, les étiquettes liées
peuvent être créées sur les terminaux, y
compris les fils : il suffit pour cela d’utiliser le
menu contextuel et de valider l’option
« Eléments visibles/étiquette ».
Action Nationale de Formation RdE 2017 – Cours 32/124
5. Construction d’un VI simple
Objectif : acquisition, traitement et affichage avec les VI Express
Action Nationale de Formation RdE 2017 – Cours 33/124
5. Construction d’un VI simple
5.1. VI Express d’acquisition
VI Express Assistant DAQ
VI Express Assistant d’E/S instrument
VI Express Simuler un signal
VI Express Lire un fichier de mesure
Action Nationale de Formation RdE 2017 – Cours 34/124
5. Construction d’un VI simple
5.2. VI Express d’analyse
VI Express Mesures d’amplitudes et de niveaux
VI Express Statistiques
VI Express Mesures spectrales
VI Express Mesures de tons
VI Express Filtres
Action Nationale de Formation RdE 2017 – Cours 35/124
5. Construction d’un VI simple
5.3. VI Express de présentation de résultats
VI Express Afficher un message à l’utilisateur
VI Express Jouer une waveform
VI Express Rapport
VI Express Ecrire dans un fichier de mesures
VI Express Rapport DIAdem
Action Nationale de Formation RdE 2017 – Cours 36/124
5. Construction d’un VI simple
5.4. Mode opératoire
1) Placer les VI Express sur le diagramme
2) Configurer chacune des boites de dialogue
3) Câbler les VI Express les uns aux autres
4) Enregistrer le VI et exécuter-le
En cas d’erreur, le bouton Exécuter apparait brisé …
Action Nationale de Formation RdE 2017 – Cours 37/124
Micro-Travaux Pratiques dirigés
III.Création d’un VI simple avec VI Express
Insérer sur le diagramme …
Paramétrer chaque VI Express
Créer les liens
Exécuter le VI
Action Nationale de Formation RdE 2017 – Cours 38/124
6. Eléments de test et de « débuggage »
6.1. Correction des VIs brisés
Flèche d'exécution brisée
=> le VI ne peut pas être compilé
=> le VI ne peut pas être exécuté
Pour analyser la liste des erreurs
accès clic sur flèche
d'exécution brisée
Action Nationale de Formation RdE 2017 – Cours 39/124
6. Eléments de test et de « débuggage »
6.2. Causes fréquentes de VIs brisés
Des fils de liaison brisés existent sur le diagramme
Vous avez câblé une commande chaine à un indicateur numérique
Vous avez câblé une commande booléenne à une commande
booléenne
Un terminal nécessaire n'est pas câblé sur le diagramme
Un sous-VI est lui-même brisé
Action Nationale de Formation RdE 2017 – Cours 40/124
6. Eléments de test et de « débuggage »
6.3. Techniques de mise au point
Quelles questions doit-on se poser ?
Existe-t-il des sous-VIs non câblés ou masqués ?
Les données par défaut sont-elles correctes ?
Le VI transmet-il des données non définies ?
Les représentations des commandes numériques sont-elles
correctes ?
Les nœuds sont-ils exécutés dans le bon ordre ?
(respect de la notion de flux de données)
Action Nationale de Formation RdE 2017 – Cours 41/124
6. Eléments de test et de « débuggage »
6.4. Animation de l’exécution
Elle sert à visualiser le flux de données (d'informations) sur le
diagramme
Sélectionnez l’icône d’animation
Puis
Sélectionnez l’icône d’exécution
Si votre VI s'exécute plus lentement que prévu, vérifiez que l'icône d'animation
est désactivée dans le sous-VI de votre diagramme maître …
Action Nationale de Formation RdE 2017 – Cours 42/124
6. Eléments de test et de « débuggage »
6.5. Mode pas à pas
Ce mode permet de suivre
l'exécution de chacune des
"instructions" du code contenu
dans le diagramme.
Step into Step out
Step over
Il est alors possible d'éditer les valeurs de
commandes, visualiser les valeurs des
indicateurs, contrôler le nombre
d'exécution ou revenir au début de
l'exécution d'un sous-VI. L'option Suspendre lors d'un appel est disponible
pour chaque sous-VI dans l'onglet Exécution
Action Nationale de Formation RdE 2017 – Cours 43/124
6. Eléments de test et de « débuggage »
6.6. Sondes
Utilisez l'outil Sonde pour observer les valeurs de données
intermédiaires et pour vérifier la sortie d'erreur des VIs et
des fonctions, en particulier des opérations d'E/S.
Insère une sonde
sur le diagramme
Visualisation des valeurs de sondes
dans la fenêtre Probe Watch
Action Nationale de Formation RdE 2017 – Cours 44/124
6. Eléments de test et de « débuggage »
6.7. Points d’arrêt
Lorsque l'exécution atteint un point d'arrêt, le VI se met en
pause et le bouton Pause passe au rouge.
Insère un point
Vous pouvez alors : d’arrêt dans le diagramme
Exécuter le VI en mode pas à pas,
Sonder les fils de liaison pour vérifier des valeurs intermédiaires,
Modifier les valeurs de commandes de la face-avant,
Cliquer sur le bouton Pause pour exécuter le VI jusqu'au prochain
point d'arrêt ou la fin du VI.
Action Nationale de Formation RdE 2017 – Cours 45/124
6. Eléments de test et de « débuggage »
6.8. Données non valides
Les calculs mathématiques peuvent faire apparaitre ce type de données.
Deux cas de figure peuvent se présenter :
La valeur infinie, résultat potentiel d’une division par 0
La valeur indéfinie NaN, ou Not a Number, n’est donc pas un
nombre, comme dans l’exemple du calcul de la racine carrée d’un
nombre réel négatif.
Action Nationale de Formation RdE 2017 – Cours 46/124
6. Eléments de test et de « débuggage »
6.9. Gestion d’erreurs automatique
Par défaut cette option est validée
dans la catégorie Execution des
propriétés du VI en question.
Lorsqu’une erreur survient, elle est
automatiquement détectée,
LabVIEW suspend l’exécution du VI,
met en surbrillance le sous VI ou la
Sélection du mode automatique
fonction à l’origine de l’erreur, et
affiche la fenêtre Liste des erreurs.
L’inconvénient de ce mode de gestion d’erreurs est qu’il disparait des
exécutables créés à partir de LabVIEW : on lui préfèrera la gestion
manuelle, également souhaitable pour les applications professionnelles …
Action Nationale de Formation RdE 2017 – Cours 47/124
7. Types de données
Généralités
Tous les objets LabVIEW disposent d’un menu contextuel qui donne
accès rapidement aux propriétés usuelles de l’objet en question.
Ce menu contextuel permet également d’accéder aux mêmes
propriétés, et à d’autres en passant par la boite de dialogue, disponible
à la fin du menu déroulant.
Enfin, d’autres propriétés sont modifiables
et d’autres actions sont réalisables au
travers des nœuds de propriétés et nœuds
de méthodes …
Action Nationale de Formation RdE 2017 – Cours 48/124
7. Types de données
Notion de variable
Une variable peut être définie comme un élément du diagramme qui
permet d’accéder à des données ou de les enregistrer. Elle peut prendre
4 formes distinctes :
Locale : elle stocke les données dans des commandes ou des indicateurs
de la face-avant.
Globale : elle stocke les données dans des répertoires spéciaux
accessibles à partir de plusieurs VIs.
Globale fonctionnelle (FGV) : elle stocke les données dans les registres
à décalage d’une boucle While.
Partagée : elle transfère les données entre diverses cibles distribuées et
connectées par un réseau.
Action Nationale de Formation RdE 2017 – Cours 49/124
Micro-Travaux Pratiques dirigés
IV. Test variable locale
Utilisation avec parcimonie, puisqu’elle rompt le flux de données …
Utiliser la variable locale d’un contrôle numérique pour l’initialiser
dans une séquence, avec le contrôle et son indicateur dans une boucle
While.
Action Nationale de Formation RdE 2017 – Cours 50/124
7. Types de données
7.1. Numériques
Les nombres sont formatés selon une certaine représentation. LabVIEW
offre 15 représentations différentes :
« Fixed point » (sur FPGA …)
Flottant en simple, double ou précision
étendue
Entier signé ou non-signé sur 8, 16, 32 ou
64 bits
Complexe en simple, double ou précision
étendue
Action Nationale de Formation RdE 2017 – Cours 51/124
7. Types de données
7.1. Numériques (Suite)
La notion de coercition signifie que LabVIEW a converti la valeur
transmise en une représentation différente de celle d’origine, et
malheureusement souvent celle qui utilise le plus grand nombre de bit
de représentation.
Une des règles de bonnes pratiques de programmation consiste, en
l’occurrence, à s’affranchir de toute coercition, en effectuant une
conversion par programmation. Point de coercition
Action Nationale de Formation RdE 2017 – Cours 52/124
7. Types de données
7.1. Numériques (Suite)
LabVIEW permet également de verrouiller les contrôles numériques en
imposant, si besoin, l’incrémentation et les limites de la variable
.numérique en question.
La boite de dialogue des propriétés
permet ainsi de définir :
Bornes inférieure et supérieure
« Pas » d’incrémentation
Réponse en cas de dépassement :
ignorer ou contraindre …
Action Nationale de Formation RdE 2017 – Cours 53/124
7. Types de données
7.1. Numériques (Suite)
Table issue de
l’aide LabVIEW
Action Nationale de Formation RdE 2017 – Cours 54/124
7. Types de données
7.2. Booléens
Quelle que soit la commande booléenne utilisée, la sélection du
comportement de cette commande peut être choisie, soit par le biais du
menu contextuel, soit par la fenêtre de propriétés. Les 6 comportements
disponibles sont les suivant :
Commutation à l’appui
Commutation au relâchement
Commutation jusqu’au relâchement
Armement à l’appui
Armement au relâchement
Armement jusqu’au relâchement
6 comportements pour
deux actions distinctes
Action Nationale de Formation RdE 2017 – Cours 55/124
7. Types de données
7.3. Chaines de caractères
Elles sont constituées par une séquence de caractères ASCII. Chaque
chaine dispose, entre autres options, de plusieurs styles d’affichage.
Normal
Codes ‘\’
Mot de passe
Hexadécimal
LabVIEW donne également un
accès direct à certains
caractères spéciaux
Action Nationale de Formation RdE 2017 – Cours 56/124
Micro-Travaux Pratiques dirigés
V. Utilisation du nœud « Sélectionner »
Action Nationale de Formation RdE 2017 – Cours 57/124
7. Types de données
7.4. Date/Heure
La représentation de la date et l’heure représente un type à part
entière, dont la fenêtre de propriétés donne notamment accès aux
différentes options d’affichage : par défaut ou avancé
Plusieurs options de formatage de l’heure et
de la date sont
ainsi disponibles.
Action Nationale de Formation RdE 2017 – Cours 58/124
Micro-Travaux Pratiques dirigés
VI. Utiliser la fonction « Get Date/Time in seconds »
Insérer la fonction à l’extérieur et à l’intérieur d’une boucle While.
Relier un indicateur pour chacune, et une fonction wait.
Tester
Supprimer l’année, et paramétrer la date …
Action Nationale de Formation RdE 2017 – Cours 59/124
7. Types de données
7.5. Enumérations
Elles se présentent sous la forme d’une liste déroulante dans laquelle
l’utilisateur peut sélectionner un élément. A chaque élément correspond
une valeur numérique distincte.
Utilisation avec
une boucle
conditionnelle …
Action Nationale de Formation RdE 2017 – Cours 60/124
Micro-Travaux Pratiques dirigés
VII. Enumération et liste
Mise en évidence des différences entre énumération et liste avec une
structure conditionnelle …
Puis exercice ci-dessous
Action Nationale de Formation RdE 2017 – Cours 61/124
7. Types de données
7.6. Chemin
Il représente le type de l’emplacement
ou le lieu de stockage d’un fichier ou
d’un répertoire local ou distant selon la
syntaxe de la plateforme utilisée.
La fenêtre des propriétés permet
d’accéder à des options de modes de
sélection croisée.
L’utilisateur dispose d’une icône
spécifique pour effectuer sa sélection.
Action Nationale de Formation RdE 2017 – Cours 62/124
Micro-Travaux Pratiques dirigés
VIII. Chemin
Action Nationale de Formation RdE 2017 – Cours 63/124
7. Types de données
7.7. « Waveform »
Représente le type d’un signal analogique ou numérique, composé de
l’amplitude des échantillons, de l’instant originel et de la période
d’échantillonnage.
La fenêtre des propriétés de
l’objet donne accès à la
représentation et au formatage
des 3 éléments distincts de ce
type « waveform ».
Action Nationale de Formation RdE 2017 – Cours 64/124
Micro-Travaux Pratiques dirigés
IX.Waveform
Insérer une waveform à partir de la palette I/O sur FAV
Modifier le dt et les premiers éléments du tableau
Créer un indicateur de type graphe
Créer une structure while et le bouton stop
Tester
Action Nationale de Formation RdE 2017 – Cours 65/124
7. Types de données
7.8. Dynamique
Représente le type des données acquises ou générées par
des VI Express.
Les outils de conversion « Convert from Dynamic Data » et
« Convert to Dynamic Data » sont alors indispensables dans
un contexte mixte avec des données de type signal ou
« waveform ».
Action Nationale de Formation RdE 2017 – Cours 66/124
7. Types de données
7.9. Variant
Le type de données « Variant » est un conteneur générique pour tous
les types de données. L’intérêt majeur est lié à l’augmentation de la
généricité des VIs. Considérons un ensemble de VIs qui manipulent
chacun un type de données pour réaliser la même tâche. L’utilisation
des variant conduit à obtenir un seul et même VI utilisable pour tous
les types de donnés considérés.
La conversion d’une donnée en un variant conduit à l’enregistrement
de la donnée avec son type originel, ce qui permet à LabVIEW de
réaliser une conversion inverse ultérieure avec succès.
Action Nationale de Formation RdE 2017 – Cours 67/124
Micro-Travaux Pratiques dirigés
X. Variant
Insérer un indicateur variant sur FAV
Insérer un contrôle numérique et une chaîne
Insérer un select et un contrôle booléen
Câbler et tester (avec une boucle While)
Action Nationale de Formation RdE 2017 – Cours 68/124
8. Structures de données
8.1. Tableau
Un tableau est un ensemble structuré d’éléments de même type.
Ses caractéristiques principales sont les suivantes :
Il possède une ou plusieurs dimensions.
Chaque dimension contient un maximum de 231-1 éléments.
Chaque élément est adressable par son indice dans la dimension
considérée.
Le premier élément d’une dimension démarre à l’indice 0.
Action Nationale de Formation RdE 2017 – Cours 69/124
8. Structures de données
8.1. Tableau
Fonctions courantes de la palette de fonctions « Tableau »
Initialisation d’un tableau
Taille d’un tableau
Construire un tableau
Indexer un tableau
Sous-ensemble d’un tableau
Action Nationale de Formation RdE 2017 – Cours 70/124
Micro-Travaux Pratiques dirigés
XI. Tableau
Insérer un tableau à partir de la palette Modern ou Silver
Intégrer un control numérique en enlevant les items visibles
Redimensionner le tableau 1D
Transformer en tableau 2D
Changer les nombres par défaut
Tester le décalage d’indice pour visualiser une case dans un tableau à
grande dimension
Action Nationale de Formation RdE 2017 – Cours 71/124
8. Structures de données
8.2. Matrice
Les matrices font parti intégrante de LabVIEW, et disposent aussi de
fonctions évoluées : Algèbre linéaire de la bibliothèque Mathématiques.
Action Nationale de Formation RdE 2017 – Cours 72/124
8. Structures de données
8.3. Cluster
Outil flexible d’une grande utilité, il regroupe des éléments de type
différents, et s’apparente aux « record » et « struct » des langages de
programmation textuels.
Il permet de regrouper de façon logique les éléments constitutifs d’un
ensemble, et améliore nettement la lisibilité du code.
Cluster
et son
terminal
Fonction d’accès
aux éléments
Action Nationale de Formation RdE 2017 – Cours 73/124
Micro-Travaux Pratiques dirigés
XII. Cluster
Créer le cluster Données météorologiques
Initialiser (Forcer la valeur d’une variable) les données avec une
fonction Bundle by name
Lire les données du cluster,
pour les afficher,
en utilisant la fonction
bundle by name
Ou réaliser l’exemple
suivant
Action Nationale de Formation RdE 2017 – Cours 74/124
8. Structures de données
8.4. « Type Definition »
La définition d’un type, réalisée à partir d’une commande, d’un
indicateur ou d’une constante permet de créer un modèle de l’élément
d’origine, puis de le modifier au besoin et d’en créer des instances
utilisables dans un projet.
L’intérêt majeur est qu’une modification du modèle est applicable à
l’ensemble des instances utilisées de ce modèle.
Cet outil s’apparente de la notion d’héritage en langage objet.
L’option « En faire une def. de type » (Make Type Def.) des menus
contextuels permet de réaliser la création du modèle qui doit ensuite
être enregistré au sein du projet comme un autre fichier natif LabVIEW,
et avec l’extension « .ctrl ».
Action Nationale de Formation RdE 2017 – Cours 75/124
8. Structures de données
8.4. « Type Definition » (Suite)
Un triangle noir en haut et à gauche d’un terminal indique que ce
dernier est une instance de « Type Def. ».
Fenêtre de modification et
d’enregistrement du Type Def.
Ceci est un
Type Def.
Action Nationale de Formation RdE 2017 – Cours 76/124
Micro-Travaux Pratiques dirigés
XIII. Type Def
Créer un projet vide et un VI nommé VI principal
Créer une énumération de 2 éléments sur ce VI
Transformer cet enum en type def et l’enregistrer (.ctrl)
Créer un VI secondaire
Insérer deux instanciations du type def sur ce VI secondaire
Ajouter un troisième élément au type def
Vérifier la mise à jour automatique des deux instanciations
Action Nationale de Formation RdE 2017 – Cours 77/124
9. Formats de fichiers
Les 4 formats reconnus
LabVIEW permet de créer, d’écrire et de lire des données, et plus
généralement de manipuler les 4 formats de fichiers suivant :
Binaire : ce format permet d’accéder à une compacité extrême, d’où
son utilisation particulièrement adaptée à l’acquisition de données
haute vitesse et multivoies,
ASCII : les données sont codées sous forme de chaines de caractères
(texte en clair), ce qui prédispose le format à une utilisation en
acquisition basse vitesse (accessible par traitement de texte),
LVM : données ASCII (champs) sont délimitées par des tabulations, ou
fichier de mesures LabVIEW accessible par un tableur,
TDMS : données binaires structurées dont les propriétés sont
stockées dans un fichier annexe (format propriétaire NI).
Action Nationale de Formation RdE 2017 – Cours 78/124
Micro-Travaux Pratiques dirigés
XIV. Fichiers de données d’acquisititon
VI Express input simulate (sinusoïde 1000 points)
File I/O Write to mesurement file en lvm
Test et ouverture fichier avec wordpad
Puis, modifier write au format tdms
Insérer read from … à partir de file I/O
Créer un indicateur graphe
Test
Action Nationale de Formation RdE 2017 – Cours 79/124
10. Structures logiques
10.1. Boucle « For »
Cette structure permet d’exécuter un traitement N fois. Ces N itérations
sont numérotées au travers de l’indice i, qui lui varie de 0 à N-1.
Les boucles « For » disposent de certaines particularités :
Un terminal conditionnel peut faire stopper la boucle de manière
prématurée.
Les registres à décalages sont utilisables …
Les itérations sont potentiellement parallélisables.
Action Nationale de Formation RdE 2017 – Cours 80/124
Micro-Travaux Pratiques dirigés
XV. Boucle « For »
Insérer un subdiagram label
Tester le fonctionnement standard
Insérer un terminal conditionnel avec control booléen
Insérer une fonction wait
Tester l’arrêt « prématuré »
Modifier le terminal conditionnel
de stop if true en continue if true
Tester les 3 options de mode
de tunnel
Action Nationale de Formation RdE 2017 – Cours 81/124
10. Structures logiques
10.2. Boucle « While »
La structure « Tant que » permet d’exécuter un traitement jusqu’à ce
que le terminal conditionnel soit activé, en règle général via un contrôle
de type booléen ou bouton situé en face-avant.
Les boucles « While » disposent également de certaines particularités :
Le terminal conditionnel peut être activé sur une condition Vrai ou
Faux (comme pour la boucle « For »).
Les registres à décalage sont également disponibles.
Action Nationale de Formation RdE 2017 – Cours 82/124
Micro-Travaux Pratiques dirigés
XVI. Boucle « While »
Insérer un subdiagram label
Tester le fonctionnement standard
Modifier le terminal conditionnel en continue if true
Tester les registres à décalage en ajoutant plusieurs éléments en entrée
Action Nationale de Formation RdE 2017 – Cours 83/124
10. Structures logiques
10.3. Structure de boucle cadencée
La boucle cadencée est une boucle While, dont on définie la période de
temps qui sépare deux itérations consécutives.
1 Nœud d’entrée
2 Nœud de données gauche
3 Nœud de données droit
4 Nœud de sortie
Cette boucle dispose de nœuds d’entrées et de sorties, ainsi que les
nœuds de données (internes) gauche et droit. Chacun de ces nœuds met
à disposition des paramètres comme la période d’itération, un
« timeout », « Finished late ? », les erreurs …
Action Nationale de Formation RdE 2017 – Cours 84/124
10. Structures logiques
10.4. Structure conditionnelle
La structure conditionnelle permet d’exécuter un traitement spécifique
au cas activé par la valeur de la condition (d’entrée).
Extrait du menu contextuel
Une des caractéristique de cette structure est lié à l’aspect adaptatif de
la condition d’entrée, qui s’adapte au type de la donnée qui lui est
connecté, ainsi qu’au nom de chacun des cas ici les éléments de
l’énumération.
Action Nationale de Formation RdE 2017 – Cours 85/124
10. Structures logiques
10.5. Structure séquentielle
Cette structure permet de morceler le code en portions de code
organisées pour s’exécuter dans un certain ordre. Chaque séquence
s’exécute en commençant par celle située le plus à gauche, et dans
l’hypothèse ou une données est transférée d’une séquence à une autre,
une séquence ne s’exécute que si la donnée en entrée est « valide ».
Cette structure revêt trois formes, une dite aplatie (par défaut), l’autre
empilée, à l’image d’une structure conditionnelle, et la dernière
cadencée.
Action Nationale de Formation RdE 2017 – Cours 86/124
10. Structures logiques
10.6. Nœud de formules
Cette structure permet d’évaluer des formules et expressions
mathématiques similaires à celle utilisées en langage C.
Outre les fonctions mathématiques suivantes, la structure permet de
connecter des entrées et des sorties : abs, acos, acosh, asin, asinh, atan,
atan2, atanh, ceil, cos, cosh, cot, csc, exp, expm1, floor, getexp, getman,
int, intrz, ln, lnp1, log, log2, max, min, mod, pow, rand, rem, sec, sign,
sin, sinc, sinh, sizeOfDim, sqrt, tan, tanh.
Action Nationale de Formation RdE 2017 – Cours 87/124
11. Notion de flux de données
11.1 Principe
Directement liée au transfert d’informations, sous la contrainte de
l’exécution d’une seule « instruction » à un instant t, cette notion
fondamentale doit être intégrée très tôt par le développeur, afin que son
code s’exécute selon un schémas qu’il se doit d’imaginer et d’organiser.
La programmation séquentielle constitue le concept de base, qui tient au
fait qu’une fonction, qu’une portion de code ne doit s’exécuter que si ses
entrées sont dites valides, c’est-à-dire le fruit du résultat de la fonction
précédente dans un schémas d’exécution bien établi.
La programmation graphique avec l’utilisation des liaisons peut
facilement leurrer le développeur novice qui ferait l’impasse sur ce
concept fondamental.
Action Nationale de Formation RdE 2017 – Cours 88/124
11. Notion de flux de données
11.2 Bonnes pratiques
Concevoir modulaire : utilisation judicieuse des sous-Vis
Utilisation des fils d’erreurs des fonctions pour imposer un parcours
d’exécution
Utilisation des séquences avec parcimonie
Utilisation conjointe des fils d’erreurs et des structures
conditionnelles
Un diagramme ou « sous-diagramme » doit tenir sur une page écran
…
Action Nationale de Formation RdE 2017 – Cours 89/124
11. Notion de flux de données
11. 3 Exemple
Voici un exemple de code constitué de 4 étapes à séquencer dans l’ordre
indiqué : 2 VI Express, et 2 boites de dialogue
Etape 1 Etape 2 Etape 3 Etape 4
Action Nationale de Formation RdE 2017 – Cours 90/124
11. Notion de flux de données
11. 3 Exemple
Le fil d’erreur relie la sortie d’erreur d’un VI Express à l’entrée d’erreur du second : l’ordre
d’exécution est ainsi bien défini. En revanche, rien n’est défini concernant les deux boites de
dialogue.
Action Nationale de Formation RdE 2017 – Cours 91/124
11. Notion de flux de données
11. 3 Exemple
Les séquences permettent bien de définir un ordre d’exécution : une séquence ne
« démarre » que si la précédente est totalement terminée.
En revanche, les erreurs ne sont pas gérées …
Action Nationale de Formation RdE 2017 – Cours 92/124
11. Notion de flux de données
11. 3 Exemple
La suppression de deux structures séquentielles, rendue possible par l’utilisation des fils
d’erreurs, permet de gagner en lisibilité.
En revanche, une erreur qui survient n’est pas traitée, mais seulement propagée …
Action Nationale de Formation RdE 2017 – Cours 93/124
11. Notion de flux de données
11. 3 Exemple
Cette solution est meilleure que les précédentes car, en plus des avantages précédents, elle
traite une erreur au moment où elle peut apparaitre. Le fil d’erreur est câblé sur l’entrée
conditionnelle d’une structure du même nom, et la boite de dialogue est insérée dans la
condition « Pas d’erreur ».
L’autre condition sert à sécuriser le système en cas d’erreur sur le premier VI Express, en
n’autorisant pas la mise sous tension du système en question.
Action Nationale de Formation RdE 2017 – Cours 94/124
12. Notion de modularité
Principe
A l’image des sous-programmes en langage textuel, les sous-VI
constituent les briques de base de la modularité : l’idée étant d’une
part, de créer un sous-VI pour chaque portion de code qui définie une
tâche spécifique avec ses entrées, ses sorties et son fonctionnement
propre; et d’autre part de réutiliser ce sous-VI à chaque fois que la tâche
en question est utilisée dans le VI « maître ».
Le sous-VI est en tout point identique à un VI, avec sa face-avant, l’icône
et le connecteur, et son diagramme.
La modularité permet d’accéder à un niveau de programmation
structurante et nécessaire au développement d’applications d’envergure
certaine, en veillant à la lisibilité du code, sa « réutilisabilité », et
surtout dans un premier temps afin d’éviter … ça ->
Action Nationale de Formation RdE 2017 – Cours 95/124
12. Notion de modularité (Suite)
Action Nationale de Formation RdE 2017 – Cours 96/124
12. Notion de modularité
Suggestion
Le diagramme suivant représente ce que pourrait être l’architecture
général d’un VI « maître » avec :
Le sous-VI d’initialisation
Une structure « tant que » cadencée
avec un sous-VI de traitement contenant
le cœur de votre application
Le sous-VI de clôture de l’application
Le VI traitement s’exécute de manière itérative
Action Nationale de Formation RdE 2017 – Cours 97/124
Micro-Travaux Pratiques dirigés
XVII.Créer un sous-VI
Créer un sous-VI qui réalise une conversion d’une tension en la valeur de
la grandeur physique, en intégrant le modèle de la fonction de transfert
Boucle conditionnelle sur le fil d’erreur !... => bonnes pratiques
Action Nationale de Formation RdE 2017 – Cours 98/124
13. Notions de cadencement
13.1 Cadencement de l’exécution
Le fait d’imposer la fréquence à laquelle une boucle s’exécute, permet
de donner du temps au processeur afin d’effectuer d’autres tâches,
comme la gestion de l’interface utilisateur.
Utiliser les fonctions d’attente à
l’intérieur d’une boucle permet
d’atteindre cet objectif.
Action Nationale de Formation RdE 2017 – Cours 99/124
13. Notions de cadencement
13.2 Cadencement contrôlé par « soft »
L’utilisation du VI Express « Temps écoulé »
permet de détecter la fin d’un compte à
rebours, de manière à exécuter une autre
tâche.
L’utilisation judicieuse de la fonction « Tick Count » (ms)
permet, en outre, de quantifier la durée d’exécution
d’une tâche dans une structure séquentielle.
La fonction suivante permet elle de disposer de 14 digits
de précision après-la virgule !
Action Nationale de Formation RdE 2017 – Cours 100/124
Micro-Travaux Pratiques dirigés
XVIII. Tester wait, wait until, tick count et elapsed time
Action Nationale de Formation RdE 2017 – Cours 101/124
14. Modèles de conception
14.1 Principe
Ils représentent des techniques et des implémentations de code
constituant une réponse à un problème spécifique de conception
logicielle.
Ils peuvent être utilisés comme point de départ d’une application.
L’architecture du code ainsi développé devient plus facile à
reconnaitre (par l’ensemble des intervenants développeurs) =>
maintenabilité accrue.
LabVIEW intègre plusieurs exemples de modèles de conception.
Action Nationale de Formation RdE 2017 – Cours 102/124
14. Modèles de conception
14.2 Architecture à boucle simple
Elle utilise un seul VI pour une application simple telle qu’un calcul ou
une mesure rapide.
Elle peut devenir un sous-VI dans une application plus complexe.
Action Nationale de Formation RdE 2017 – Cours 103/124
14. Modèles de conception
14.3 Architecture à boucles multiples
Chacune des deux boucles (ou plus) peut ainsi contenir un code, dont l’exécution
est totalement indépendante de celle de l’autre code.
En revanche, il est fondamental de cadencer judicieusement les boucles de sorte
que le « processeur » puisse exécuter chacun des deux codes dans le timing imposé
par le cadencement des deux
boucles.
Aucun échange de données
n’est possible d’une boucle à
l’autre …
Action Nationale de Formation RdE 2017 – Cours 104/124
14. Modèles de conception
14.4 Création d’un nouveau projet à partir d’un modèle natif
Action Nationale de Formation RdE 2017 – Cours 105/124
14. Modèles de conception
14.5 Deux exemples
de modèles
Modèle évènementiel
avec fil d’attente de messages
Modèle de machine à états
Action Nationale de Formation RdE 2017 – Cours 106/124
15. Machine à états
15.1 Principe
Constitué d’un début, d’états, de transitions et d’une fin, la machine
à état permet de décrire un processus complet, en permettant au
système modélisé de passer d’un état (de fonctionnement) à un
autre en intégrant la notion de transition, qui peut être
automatique, temporisée ou conditionnée par les entrées et/ou les
sorties du système.
Un état s’apparente à un mode de fonctionnement spécifique
caractérisé par les paramètres d’entrées et de sorties du système.
Action Nationale de Formation RdE 2017 – Cours 107/124
15. Machine à états
15.2 Exemple de processus
Ce diagramme d’état
modélise le comportement
d’un four.
Certaines transitions sont
conditionnées, et certains états
peuvent aussi disposer d’un
retour sur état, lui-même
conditionné.
Action Nationale de Formation RdE 2017 – Cours 108/124
15. Machine à états
15.3 Problématiques visées
Modifier l’ordre d’apparition d’un état.
Répéter un état à plusieurs reprises
Rendre une ou plusieurs transitions conditionnelles
Mettre fin à la machine à état de manière prématurée
15.4 Usages courants
Les machines à états sont essentiellement utilisées au niveau de la
conception des interfaces Homme/Machine, et également la conduite
de processus machine.
Action Nationale de Formation RdE 2017 – Cours 109/124
15. Machine à états
15.5 Mise en œuvre et fonctionnement
La structure de base repose sur une boucle While, associée à un registre
à décalage et une boucle conditionnelle. Le « tout » est en règle général
associé à une énumération, dont on a fait un « type def » par
commodités ...
Action Nationale de Formation RdE 2017 – Cours 110/124
15. Machine à états
15.5 Mise en œuvre et fonctionnement (Suite)
L’énumération contient la liste des noms des états du système. Le
registre à décalage permet de transférer de l’itération N à l’itération N+1
le nom de l’état suivant. Chacun des cas de la structure conditionnelle a
pour condition le nom d’un des états de la liste de l’énumération, et
tous les états font l’objet d’un cas de cette structure conditionnelle.
Action Nationale de Formation RdE 2017 – Cours 111/124
15. Machine à états
15.5 Mise en œuvre et fonctionnement (Suite)
Chacun des cas de la structure intègre d’une part le code lié aux
fonctionnalités de l’état, et aussi un code de transition, qui dans sa plus
simple expression est constitué d’une instance de l’énumération avec la
sélection du nom de l’état suivant dans le diagramme.
L’exemple le plus simple à
réaliser et tester consiste à
définir quelques étapes avec
transitions non-conditionnelles
et d’intégrer dans chaque étape
une boite de dialogue simple
avec le numéro de l’étape en
question.
Action Nationale de Formation RdE 2017 – Cours 112/124
16. Structure évènementielle
Principe
Un évènement est une notification qui stipule que quelque chose s’est
produit en cours d’exécution d’un VI ou d’une application : ce peut être
une interaction asynchrone de l’utilisateur avec la face-avant (IHM).
Le programme attend qu’un évènement se produise pour exécuter un
code spécifique.
Les différents types d’évènements prennent les formes suivantes :
l’utilisateur interagit sur la face-avant via les périphériques
d’entrées comme le clavier (appui sur touche) et la souris (click …)
les entrées-sorties matérielles (E/S externes), ainsi que les trigger
et les timer
Action Nationale de Formation RdE 2017 – Cours 113/124
17. Outils de synchronisation
Principe Transmettre des informations entre processus parallèles
17.1 Rendez-vous
Examples\Synchronisation\
Rendezvous.lvproj
Synchroniser le début de
traitements dans des boucles
parallèles différentes et pour
chaque itération
Action Nationale de Formation RdE 2017 – Cours 114/124
17. Outils de synchronisation
17.2 Occurence
Examples\Synchronisation
\Occurrence.lvproj
Déclencher l’exécution d’un
traitement d’une boucle à
partir d’une autre boucle;
La seconde boucle n’est pas
temporisée.
Action Nationale de Formation RdE 2017 – Cours 115/124
17. Outils de synchronisation
17.3 Sémaphore
Examples\Synchronisation\
Semaphore.lvproj
Permet l’exécution du
traitement de boucles les
unes après les autres sans
perte de temps lié à un
cadencement dans une ou
plusieurs boucles.
Fonctionnement sur le
principe du jeton que l’on
distribue à une seule entité.
Les processus s’enchainent
sans perte de temps.
Action Nationale de Formation RdE 2017 – Cours 116/124
17. Outils de synchronisation
17.4 Notificateur
Examples\Synchronisation\
Notifier.lvproj
Transmission d’une
information d’une boucle à
une autre avec la notion
d’attente dans la seconde
boucle.
Le traitement de la seconde
boucle doit s’exécuter en un
temps inférieur à l’espace qui
sépare l’envoi de deux
notificateurs successifs.
Les notificateurs ne sont pas
mémorisés : les pertes sont
donc possibles.
Action Nationale de Formation RdE 2017 – Cours 117/124
17. Outils de synchronisation
17.5 File d’attente
Examples\Synchronisation\
Queue.lvproj
Modèle
Producteur/Consommateur
Transmission d’une
information d’une boucle à
une autre avec la notion
d’attente dans la seconde
boucle.
Ici, les éléments placés en file
d’attente sont mémorisés
dans une pile de type FIFO.
Action Nationale de Formation RdE 2017 – Cours 118/124
18. Acquisition DAQmx
Principe
Action Nationale de Formation RdE 2017 – Cours 119/124
Petit recueil de bonnes pratiques
Rapidité de développement
Utiliser les modèles de conception
Utiliser les librairies existantes
Utiliser les « Type Definition »
Utiliser les raccourcis-clavier
Pour le placement des objets du diagramme, utiliser le « Quick drop »
Modularité du code
Définir les sous-VI
Structurer les variables dans des clusters
Action Nationale de Formation RdE 2017 – Cours 120/124
Petit recueil de bonnes pratiques
Performance du code
Refermer les références
Pas de nœuds de propriété sur les indicateurs
Placer le terminal des indicateurs à l’endroit où le rafraichissement doit
avoir lieu
Identifier la nécessité de définir un timeout sur les structures
évènementielles (notion de scrutation ou polling)
Lisibilité du code
Aligner les fonctions sur le fil d’erreur
Organiser la lecture de gauche à droite
Placer les contrôles à gauche et et les indicateurs à droite dans les sous-VI
Retravailler l’icône des sous-VI
Action Nationale de Formation RdE 2017 – Cours 121/124
Petit recueil de bonnes pratiques
Documentation du code
Intégrer un descriptif dans les propriétés des VIs
Faire apparaitre le label des sous-VIs
Faire apparaitre le label des structures (While, …)
Faire apparaitre le label des fonctions
Faire apparaitre un label sur les fils de liaison
Documentation de l’IHM (Face-avant)
Nommer les contrôles et indicateurs de manière judicieuse
Créer des info-bulles sur les objets
Action Nationale de Formation RdE 2017 – Cours 122/124
Petit recueil de bonnes pratiques
Gestion d’erreur
Le fil d’erreur traverse bien tous les nœuds
Les sous-VI doivent disposer d’un connecteur d’entrée associé à un cluster
« entrée d’erreur » et un connecteur de sortie associé à un cluster « sortie
d’erreur »
Le VI Main se termine par l’exécution du gestionnaire d’erreur simple
Action Nationale de Formation RdE 2017 – Cours 123/124
Merci de votre attention …
LabVIEW
Développement de Systèmes Modulaires
d’Instrumentation et de
Contrôle/commande Embarqués …