Cours Labview

Support de cours complet pour débuter et avancer avec LabView


Télécharger Support de cours complet pour débuter et avancer avec LabView

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

Télécharger aussi :


Support de cours complet pour débuter et avancer avec LabView

LABVIEW

LabView (Laboratory Virtual Instrument Engineering Workbench) est un langage de programmation dédié au contrôle d’instruments et l’analyse de données. Contrairement à la nature séquentielle des langages textuels, LabView est basé sur un environnement de programmation graphique utilisant la notion de flot de données pour ordonnancer les opérations.

LabView intègre l’acquisition, l’analyse, le traitement et la présentation de données.

Pour l’acquisition de données et le contrôle d’instruments, LabView supporte les standards RS-232/422, USB, IEEE 488 (GPIB) et VXI/PXI, ainsi que les cartes d’acquisition de données.

Pour l’analyse et le traitement des données, la bibliothèque d’analyse étendue contient les fonctions pour la génération et le traitement de signaux, les filtres, les fenêtres, les statistiques, la régression, l’algèbre linéaire et l’arithmétique matricielle.

LabView intègre un grand nombre d’éléments de présentation tels les graphes déroulants, des graphes XY, des abaques de Smith, jauges, cadrans à aiguille…

Support de cours complet pour débuter et avancer avec LabView

Table des matières :

1. Introduction à LabVIEW 15

LabVIEW 16

Les Instruments Virtuels 17

Environnement LabVIEW 18

Les fenêtres de la face avant et du diagramme 18

Barre d’outils de la face avant 19

Barre d’outils du diagramme 20

Menus contextuels 20

Menus 20

Palettes 20

Palette d’outils 20

Palette de commandes 21

Palette de Fonctions 22

Chargement de VIs 23

Enregistrement des VIs 23

Aide et Manuels 26

Aide contextuelle 26

Aide LabVIEW 26

2. Création, Modification, mise au point d’un VI 27

Création d’un VI 28

Face Avant 28

Diagramme 29

Nœuds 29

Terminaux 29

Fils 29

Câblage automatique des données 30

Programmation par flots de données 30

Recherche de contrôles, de VIs et de fonctions 31

Techniques de modification 32

Création d’objets 33

Sélection d’objets 33

Déplacement d’objets 33

Effacement des objets 33

Duplication des objets 33

Nommer les objets 33

Sélection ou suppression de fils 34

Etirement des fils 34

Fils cassés 34

Outils d’édition de la face avant 35

Changer la couleur des objets 35

Modifications 38

Constantes de type Cluster 73

Ordonner les Clusters 73

Fonctions sur Cluster 75

Assembler & Assembler par nom 75

Désassemblage des clusters 75

Polymorphisme des clusters 77

6. Structures de choix, séquences et nœuds de calcul 79

Structure de choix 80

Tunnels d’entrée/sortie 80

Exemples 80

Sélection des choix 82

Les Séquences 84

Variable locale de séquence 84

Comment éviter l’utilisation des séquences 85

Boîtes de calcul et nœuds d’expression 86

Nœuds d’expression 86

Boîtes de calcul 86

7. Chaînes et Entrées/Sortie fichier 88

Chaînes 89

Créer des commandes et des indicateurs de type chaîne 89

Tables 89

Fonctions sur chaîne 91

Manipulation de chaînes 91

Chaînes et Nombres 91

Entrées/Sorties sur fichier 93

Fonctions de haut niveau 93

Fonctions de bas niveau 93

Fonctions de base 93

Gestion des erreurs 94

Utilisation de VIs de haut niveau 95

Les VI express 98

8. Programmation multithread 101

Introduction au multithreading sous LabVIEW. 102

Généralités. 102

Avantages 102

Meilleure utilisation du CPU 102

Facilité de programmation 103

Meilleure confiance dans le code 103

Amélioration des performances en multiprocesseurs 103

Déport de threads sur d’autres machines 103

Contraintes 103

Communications inter threads 103

Synchronisation de threads 103

Gestion de ressources communes 103

Corruption mémoire aléatoire 104

Partage de ressources physiques 104

Deadlock 104

Priorités d’exécution 104

Changement de priorité 104

Attente de libération 104

Noeuds synchrone 105

Modèle de programmation 106

Modèle maître/esclaves (Master/Slaves) 106

Modèle parallèle 106

Exemple : Traitement parallèle de données concurrentes 106

Traitement série par lot d’un flot de données (pipeline) 107

Exemple : ACQUISITION-TRAITEMENT-ENREGISTREMENT 107

Gestion des applications multithreads 109

Gestion des communications inter thread 109

Mécanismes de partage de variables 109

Messages 112

Synchronisation de threads 114

Occurrences & notification 114

Rendez vous 115

Gestion de ressources communes 115

Variables fonctionnelles 115

Sémaphores 116

Priorité « subroutine » 117

Priorité et cadencement de threads 117

Introduction 117

Attentes et boucles temporisées 117

9. Chargement dynamique, « VI Server » 119

Introduction 120

Chargement dynamique de VI 121



Préambule 121

Référencement d’un VI 121

Chargement d’un VI 121

Lancement et transmission des paramètres 122

10. Communication entre applications distantes 123

Visualisation et contrôle 124

Via le serveur WEB 124

Activation du serveur WEB 124

Création de la page HTML 124

Prise de contrôle 124

Suivi des connexions 125

Via LabView 125

Mode manuel. 126

Mode programmé 126

Applications partagées 128

Transmission de données 128

Variables partagées 128

Data Sockets 129

Protocoles TCP/UDP 129

Connexion au « VI server » 132

Principe 132

11. Amélioration de l’interface 135

Importation des titres d’objet. 136

Gestion des menus 137

Edition. 137

Gestion. 137

Menus des objets de face avant 138

Structure d’événement 139

Définition 139

Gestion 139

Evénement provenant d’autres VI 140

Enregistrement d’événements utilisateur 142

Changement du nom d’événement 143

Objets ActiveX et .NET 144

Qu’est ce ? 144

ActiveX 144

.Net 144

Utilisation d’un composant ActiveX et .NET 144

ActiveX 144

Enregistrement d’activité d’un ActiveX ou d’un .NET 145

Généralité sur les « Callback » 145

Enregistrement d’une « Callback » 145

Les CommandeX 148

Généralité 148

Création 148

12. Programmation orientée objet 151

Aperçu 152

La programmation orientée objet 152

Modèles à objets 152

La classe 152

L’encapsulation 152

L’héritage 152

Polymorphisme 153

DEUX MOTS d’UML et de POO 154

Représentation des classes 154

Visibilité des attributs et des méthodes 154

Représentation des dépendences 155

LabVIEW Object-Oriented Programming: the Decisions Behind the Design. 156

Les choix 156

l'encapsulation 156

L’héritage 156

Création d’objets 157

Les bibliothèques 157

Les Propriétés (ATTRIBUTS) 157

Les méthodes 157

Dynamique versus Statique 158

Accesseurs et mutateurs 159

Accès aux ATTRIBUTS 159

Droits d’accès aux méthodes 160

Hiérachisation des classes 161

Changement de l’héritage 161

Explorateur de hierachie 162

Options de surcharge des methodes 162

Surcharge obligatoire des méthodes filles 162

Utilisation des méthodes surchargées. 163

Appel des méthodes parentes par les methodes surchargées 164

Implémentation d’une relation d’agrégation/composition 165

Creation Dynamique d’Objets 166

Transfert d’obligation de Surcharge des méthodes a des petits enfants 167

Un peu plus loin 168

Optimisation du code 168

Variant méthodes générique 168

Position du problème 168

Les Variants 169

Référencement des objets 170

Références 170

In Place Element Structure 171

Dans le cas des Objets 171

Aspects cosmétiques 174

Les fils 174

Les icônes 174

13. Acquisition de données 175

Aperçu 176

Configuration matérielle 176

VIs d’acquisition 178

Acquisition de données DAQmx 178

Tâches et Voies virtuelles dans MAX 178

Entrées analogiques type Waveform 182

Donnée type Waveform 182

DAQ Assistant 184

Sorties analogiques 186

Génération de Waveform 186

Les compteurs et entrées/sorties numériques 187

14. Contrôle d’instruments 189

Généralités 190

Configuration et Communication GPIB 191

Architecture du logiciel 191

Configuration du logiciel 191

Communication avec les instruments 194

Caractéristiques propres d’un appareil 194

Etapes essentielles d’une communication PC <=> périphérique 194

Sources d’erreurs classiques 195

Bibliothèques de contrôle d’appareils dans LabVIEW 197

Vi’s spécifiques à l’interface GPIB ou RS 232C 197

Visa 197

Utilisation des VISA 198

Assistant d’E/S instruments 200

Driver d’instrument 202

Exemple d’application simple 202

Pilotage d’appareils par port USB 205

Installation et configuration 205

Visa et USB 205

Les drivers IVI 205

Que vérifier si le programme minimal ne fonctionne pas ? 208

Que faire si une tâche spécifique ne fonctionne pas ? 208

Communications et configuration série 209

Paramétrages possibles 209

Connexion matérielle 209

VISA et liaison série 210

Nœud de propriété 210

15. Le module Datalogging & supervisory control 213

Introduction 214

Le module DSC pour les nuls 215

Connection à une variable “terminale” 215

Gestion d’alarmes 218

Enregistrement des données 218

Gestionnaire de systèmes distribués 220



Interface Homme Machine 221

Pour aller plus loin 222

Architecture d’un SCADA (Supervisory Control And Data Acquisition) 223

Client / Serveur 223

Librairies et processus 223

Le moteur de variable partagées 224

Types de variables partagées 224

Utilisation des variables partagées 224

Le moteur de publication NI PSP 224

Accés aux variables partagées 224

Accès statique 224

Accès Dynamique 225

Nœuds de Propriétés des variables partagées 226

Alarmes et événements 228

Types d’alarmes 228

Changement des propriétés d’alarmes 228

Récupération et visualisation des alarmes 228

Alarmes Utilisateurs 229

Base de données 231

Enregistrement des données 231

Changement du nom de base 231

Activation de l’enregistrement d’une variable 231

Enregistrement manuel des données 231

Lecture des données enregistrées 232

Serveurs d’E/S 233

Serveurs Standards 233

Serveurs de données 233

Serveur d’impression 233

Serveur d’enregistrement par lots 233

Serveurs personnels 234

Gestion des librairies et des variables 236

Déploiement des bibliothèques 236

Création de processus 237

Création de variables partagées 237

Création de serveurs d’E/S 237

Un petit exemple 238

16. Le module StateChart 239

Introduction 240

Les diagrammes etat transition UML 241

Symbolique UML et Statechart 242

Etat 242

État initial, État final 242

Evénement 242

Transitions 243

Entre états 243

Internes 243

JonctionS 243

Etats composé 244

Transitions dans les etats composés 244

Historiques 245

Synchronisation 245

Les StateCharts LabView 246

Création de la bibliothèque 246

Création d’un stateChart 247

Code associé aux états 247

Les Transitions 248

Autour d’un exemple 250

Le Diagramme statechart UML 250

Commande de l’éclairage. 250

Commande de ventillation 250

Deux processus concurents 251

Mise en marche et arrêt 251

Le diagramme Statechart Labview 251

Temps d’exécution d’une boucle 268

Décodeur BCD 7 segments 269

LUT 269

Entrée des données 269

Utilisation 270

Exécution sur une autre cible 270

Multiplexage 270

Vecteurs de taille quelconque 270

Implémentation 271

Le décodeur Binaire/BCD utilisation d’une IP VHDL 272

Nœud d’intégration IP versus CLIP 272

Le code VHDL 272

Nœud d’intégration IP 274

ip 275

Affichage du résultat de la conversion 276

Passage de données entre deux boucles 276

Les variables globales et locales : 276

Les blocs mémoire 277

Création d’un bloc mémoire 277

Accès aux données 277

Exemple d’un buffer circulaire 278

FIFO 279

Création d’une FIFO 279

Accès aux données 279

Exemple avec une FIFO 280

Protocole I2C 281

Lignesbidirectionelles 281

Envoie réception de données 282

Ecriture d’une trame 282

Optimisation du code FPGA 284

Optimisation générale 284

Limiter la taille et le nombre des objets de la face avant 284

Utiliser les types les plus petits 284

Evitez les fonctions gourmandes 284

Evitez de câbler les erreurs 284

Boucles en un cycle 285

Pipeline 286

Domaines temporels 287

horloges dérivées 287

Création 287

Utilisation 287

Violation temporelles 287

Communication entre domaines temporels 288

Annexes 289

Connections de la carte prototype 289

Bouton poussoir 289

LED 289

BNC 289

Afficheurs 289

ADC 289

DAC 290

Rappel sur l’I2C. 291

Support de cours complet pour débuter et avancer avec LabView



1215