Vous êtes sur la page 1sur 132

Extrait du cours

Niveau : 5ème Année


Filière EMSI

Par : Hassan AIT BOUH

2019 / 2020
Plan du Cours
 Introduction
 Notions de Flux de Données
 Environnement de programmation sous LabVIEW
 Types de données ; Structures de programmation
 Fonctions associées aux différentes données
(Numérique, Booléen, Chaîne, Tableau, Cluster, Comparaison)
 Gestion du temps ; Mémorisation des données
(Registre à décalage, Variables Locale/Globale)
 Les fichiers ; Les graphes
 Quelques Fonctions EXPRESS
 Utilisation de l’assistant DAQmx
 Acquisition de données
2 par : Hassan AIT BOUH
Introduction
Description :

LabVIEW, contraction de :
Laboratory Virtual Instrument Engineering Workbench

3 par : Hassan AIT BOUH


Introduction
Description :
LabVIEW est :
 un environnement de développement complet ;
 graphique, appelé code G :
– le code est représenté par un schéma composé :
• de fonctions,
• de structures,
• de fils qui propagent les données,
 Compilé traduit en code machine.

4 par : Hassan AIT BOUH


Introduction
Domaine d’utilisation :
 particulièrement adapté au domaine de :
• l’acquisition de données
• la mesure et les tests
 Il dispose de nombreuses fonctions permettant de :
• piloter facilement des :
– cartes d’acquisition
– instruments
• filtrer
• analyser des données
• présenter

5 par : Hassan AIT BOUH


Introduction
Domaine d’utilisation :
 Mais il permet en plus de manipuler une grande
variété de concepts :
 le flux de données,
 la programmation objet,
 la gestion événementielle,
 l’encapsulation,
 la modularité,
 le typage de données,
…
6 par : Hassan AIT BOUH
Introduction
Cibles matérielles de LabVIEW

7 par : Hassan AIT BOUH


Introduction
Caractéristiques
 offre une souplesse et une dimension intuitive ;
 offre la même puissance de programmation que
les langages textuels (sans le coté abstrait et
complexe lié à la syntaxe) ;
 il suit un modèle de flux de données et non de flux
d’instructions :
 il est naturellement prédisposé au
parallélisme ce qui augmente encore sa
puissance et la rapidité d’exécution du code.

8 par : Hassan AIT BOUH


Hassan AIT BOUH
Introduction
Plateformes

9 par : Hassan AIT BOUH


Hassan AIT BOUH
Introduction
Utilisateurs
 il s’adresse :
– à tous les techniciens ou ingénieurs qui désirent
développer une application :
 de mesures,
 de tests,
 de supervision,
 de contrôle/commande.
– à tous les développeurs qui désirent utiliser un
langage intuitif, puissant et ouvert sur la totalité
du génie logiciel.

10 par : Hassan AIT BOUH


Hassan AIT BOUH
Introduction
Généralités :
Le langage LabVIEW propose un environnement très
orienté instrumentation où nous retrouvons les quatre
bibliothèques de base nécessaires à ces applications
industrielles :

1. Acquisition & Génération des données ;

2. Analyse & Traitement des données ;

3. Présentation & Sauvegarde des données ;

4. Publication & Echange des données.


11 par : Hassan AIT BOUH
Introduction
Généralités :

Bibliothèques logicielles proposées dans l'environnement


LabVIEW

12 par : Hassan AIT BOUH


Introduction
1. Acquisition & génération des données
 Contrôle d’instruments (GPIB, série, Ethernet, USB,
PCI, PXI, VXI) ;

 Gestion des cartes d’E/S numériques/analogiques


(DAQmx) ;

 Gestion de cartes d’acquisition d’images ;

 Commande d’axes moteurs ;

 etc. ;

13 par : Hassan AIT BOUH


Introduction
2. Analyse & traitement des données
 Traitement du signal (génération, filtrage, FFT,
etc.) ;

 Traitement statistique (régression, lissage,


moyenne, etc.) ;

14 par : Hassan AIT BOUH


Introduction
3. Présentation & sauvegarde des données
 Affichage (courbes, graphiques 2D, 3D, etc.) ;

 Stockage des données (archivage, base de


données) ;

 Génération des rapports (impression, rapport


Word et Excel) ;

15 par : Hassan AIT BOUH


Introduction
4. Publication & échange des données

 Echange de données entre applications (activeX,


.NET, etc.) ;

 Partage par le réseau (TCP/IP, Internet, moteur


de variables partagées, Data-Socket, etc.).

16 par : Hassan AIT BOUH


Introduction
Dans cette 1ère partie nous allons :

 présenter les concepts et l'intérêt de la


programmation graphique, qui permet de
représenter du code par un schéma, par opposition
aux mots du langage textuels.
Le code obtenu est ainsi :
• plus intuitif,
• plus naturel.

17 par : Hassan AIT BOUH


Introduction
 Définir le flux de données, qui est une notion
fondamentale à comprendre sous LabVIEW, ainsi
que les éléments nécessaires à sa propagation et
son exploitation.
 Détailler la notion :
 d’Instrument Virtuel (VI) sur ordinateur ;
 de "Face-avant" ;
 de "Diagramme" ;
 des outils permettant de prendre en main
l'environnement LabVIEW.
18 par : Hassan AIT BOUH
Introduction

 Décrire les éléments de base de


l'environnement de programmation LabVIEW.
 Présenter un exemple très simple pour illustrer
la réalisation d'un code graphique.

19 par : Hassan AIT BOUH


Environnement de programmation
LabVIEW
Instrument Virtuel (VI)

• Un instrument virtuel est un programme qui


présente une interface sous forme graphique
(apparente à un instrument physique).
• Une application, développée sous LabVIEW est
appelée Instrument Virtuel (Virtual Instrument).
• Un programme ou VI, développé sous LabVIEW,
se compose de 2 éléments associés et regroupés
sous le même nom (nom_application.vi). 20
par : Hassan AIT BOUH
Environnement de programmation
LabVIEW
Instrument Virtuel (VI)
 La Face-Avant (Front Panel) : représente le panneau
de contrôle de l’instrument virtuel composé d’objets
variés (boutons, indicateurs, graphes, etc.).
Cette fenêtre est l’interface utilisateur du programme.
 Le Diagramme (Block Diagram) : C’est le programme
de l’application ou code source. Il est écrit sous la
forme d’un diagramme flux de données en langage
G (ensemble des icônes et des liaisons entre ces
dernières).
Ce dernier contient les fonctions de l’instrument virtuel.
21
par : Hassan AIT BOUH
Environnement de programmation
LabVIEW
Remarques :
 Suite à la création d’un exécutable autonome, appelé
environnement d’exécution ou Run-Time, seulement
la Face-Avant du programme principal (et les boîtes
de dialogue seront visibles).

 Une application LabVIEW (VI) est un module logiciel


que l’on peut :
 soit exécuter,
 soit inclure dans une autre application.
LabVIEW intègre le concept de programmation modulaire (notion de sous-VI).
22
par : Hassan AIT BOUH
Environnement de programmation
LabVIEW
Résumé :
une application développée dans
l’environnement LabVIEW est caractérisée de
façon complète avec les 4 éléments suivants :
 Face-Avant (interface utilisateur) ;
 Diagramme (programme) ;
 Structure hiérarchique des sous-VI utilisés ;
 L’icône de l’application elle-même.
23
par : Hassan AIT BOUH
Présentation générale de l’environnement
LabVIEW
Fenêtre de lancement de l’environnement LabVIEW

24
par : Hassan AIT BOUH
Présentation générale de l’environnement
LabVIEW
Fenêtres : Face-Avant (Front Panel) & Diagramme (Block Diagram)

25
par : Hassan AIT BOUH
Présentation générale de l’environnement
LabVIEW

12 14
1 3 5 7 9 10 11 13
2 4 6 8 10. Texte.
11. Aligner les objets.
1. Exécution unique. 12. Répartir les objets.
2. Exécution en continu. 13. Redimensionner les objets.
3. Arrêt de l’exécution. 14. Réorganiser les objets.
4. Pause : ce bouton prend la couleur rouge pour montrer qu’il est actif, il faut
recliquer dessus pour sortir de ce mode.
5. Mode animation : la lampe s’allume pour montrer qu’il est actif, permet de
suivre le flux de données et l’activité des différents VI lors du lancement.
6. Lecture de la valeur des fils de liaisons.
7. Exécution en mode pas à pas.
8. Passage à l’étape suivante sans détailler l’étape actuelle.
26
9. Fin du mode pas à pas.
par : Hassan AIT BOUH
Présentation générale de l’environnement
LabVIEW
Les 2 fenêtres en mode mosaïque horizontale

Connecteur du VI Icone du VI

27
par : Hassan AIT BOUH
Présentation générale de l’environnement
LabVIEW
Les 2 fenêtres en mode mosaïque verticale

28
par : Hassan AIT BOUH
Présentation générale de l’environnement
LabVIEW
Palettes
Pour réaliser le développement d'un VI LabVIEW
au sein des 2 fenêtres (Face-Avant &
Diagramme), nous avons besoin des 3 palettes
ou menus contextuels suivants :

1. Palette Outils (Tools)


2. Palette Commandes (Controls)
3. Palette Fonctions (Functions)
29
par : Hassan AIT BOUH
Présentation générale de l’environnement
LabVIEW
1. Palette Outils (Tools)
Positionner/Sélectionner/ Choix automatique de
Dimensionner l’outil

Insertion de texte
Edition des éléments
graphiques Défilement dans la
fenêtre
Connections des éléments
graphiques Pipette (Choix couleur)

Placer/supprimer un Placement de sonde sur


point d’arrêt un fil
Remplissage et choix de la
Menu local de l’objet couleur
30
par : Hassan AIT BOUH
Présentation générale de l’environnement
LabVIEW
2. Palette Commandes (Controls)
 Accessible uniquement dans la fenêtre
« Face-Avant » ;
 Permet de créer cette interface utilisateur
avec l’ensemble des objets représentant les
E/S du programme.

31
par : Hassan AIT BOUH
Palette Commandes
Permet de garder
toujours la palette Rechercher un élément
visible à l’écran
Chaîne et chemin
Les numériques
Graphe
Les booléens
Tableaux et Entrées / sorties
clusters (groupes)
Listes et tables Décorations

Menu déroulant
Conteneurs Refnum

Variant et classe Autres commandes


dépendant des
options installées
32
par : Hassan AIT BOUH
Présentation générale de l’environnement
LabVIEW
3. Palette Fonctions (Functions)
 Accessible uniquement dans la fenêtre
« Diagramme » ;
 Offre l’ensemble des ‘instructions’ du plus bas
niveau (opérateurs mathématiques) au plus
haut niveau (gestionnaire de cartes d’E/S).

33
par : Hassan AIT BOUH
Palette Fonctions (Functions)
Permet de garder Rechercher un élément
toujours la palette
visible à l’écran Cluster et variant

Les structures Les chaînes


Les tableaux Booléens
Les numériques Dialogue et interface
Les comparaisons utilisateur

Les E/S sur fichiers Informations


temporelles
Waveform
Contrôle d’applications
Synchronisation
Génération de rapport
Graphisme et son
Autres fonctions
dépendantes des
options installées
34
par : Hassan AIT BOUH
Un exemple de programme
Calcul du discriminant d’une équation du second degré :
Δ = b2 – 4.a.c

Etape 1 : Réalisation de la Face-Avant du VI

Création des E/S du programme à partir des


objets disponibles dans la palette Commandes :
 3 entrées numériques,
 1 sortie numérique.
Le VI est enregistré sous le nom
35
par : Hassan AIT BOUH
Un exemple de programme
Calcul du discriminant d’une équation du second degré :
Δ = b2 – 4.a.c

36
par : Hassan AIT BOUH
Un exemple de programme
Calcul du discriminant d’une équation du second degré :
Δ = b2 – 4.a.c
Etape 2 : Réalisation du prog. Flux de données du VI

37
par : Hassan AIT BOUH
Un exemple de programme
Remarque
Il est possible d’encapsuler ce programme dans
une icône constituant ainsi un sous-VI ou
module réutilisable avec des Entrées et des
Sorties bien définies.

38
par : Hassan AIT BOUH
Icône et Connecteur
L'icône et le connecteur correspondent au
prototype de fonction des langages de
programmation textuels.
connecteur

icône

39
par : Hassan AIT BOUH
Icône et Connecteur
Icône
• C’est la représentation graphique de ce VI.
• Elle peut contenir du texte, des images ou les deux.
• Si on utilise un VI comme sous-VI, l'icône identifie le
sous-VI sur le Diagramme du VI.

40
par : Hassan AIT BOUH
Icône et Connecteur
Construction de l’icône
• On double-clique sur l'icône de la fenêtre.
• La personnalisation des icônes des VIs est
recommandée mais facultative.

41
par : Hassan AIT BOUH
Icône et Connecteur
Construction de l’icône

42
par : Hassan AIT BOUH
Icône et Connecteur
Connecteur
28 terminaux max
• C’est un groupe de terminaux qui correspond aux Commandes
et aux Indicateurs de ce VI (semblable à la liste de paramètres
d'un appel de fonction dans les langages de programmation
textuels).
• Il définit les Entrées et Sorties qu’on peut connecter au VI qu’on
veux utiliser comme sous-VI.
• Il reçoit des données sur ses Terminaux d’Entrée et les transmet
au Diagramme par les Commandes de sa Face-Avant.
• Il envoi les résultats sur ses Terminaux de Sortie vers les
Indicateurs de sa Face-Avant.
43
par : Hassan AIT BOUH
Icône et Connecteur
Construction du connecteur

36 Modèles proposés

44
par : Hassan AIT BOUH
Icône et Connecteur
Construction du connecteur
• Chaque case du connecteur représente un
Terminal.
• Après avoir sélectionné un modèle de
connecteur, on utilise les rectangles pour
assigner les Commandes et Indicateurs de la
Face-Avant comme Entrées et Sorties.

45
par : Hassan AIT BOUH
Un exemple de programme
Résultat de la création d’un sous-VI « Calcul du discriminant »

46
par : Hassan AIT BOUH
Un exemple de programme
Résultat de la création d’un sous-VI « Calcul du discriminant »

47
par : Hassan AIT BOUH
Les principaux éléments du langage
LabVIEW
• Les objets de la Face-Avant apparaissent en
tant que Terminaux dans la fenêtre Diagramme.
Ces Terminaux sont des producteurs ou
consommateurs de données.
• Le choix des commandes (entrées) ou
indicateurs (sorties) de la palette commandes
conduit à un type de données particulier.
• Chaque Terminal (de forme rectangulaire) est
caractérisé par une couleur et un symbole
interne spécifiques à chaque type de données.
48
par : Hassan AIT BOUH
Les principaux éléments du langage
LabVIEW
Un type de données peut être :
 Numérique (entier +, -, réel ou complexe),
 Booléen,
 Chaîne de caractères,
 Tableau,
 Cluster,
 énuméré,
 Chemin,
 Waveform, etc. 49
par : Hassan AIT BOUH
Les principaux éléments du langage
LabVIEW
Remarque

• Le cadre des Terminaux d’Entrées


(commandes) est plus épais que le cadre des
Terminaux de Sortie (indicateurs).

• Le fil de liaison, reliant ces Terminaux à des


fonctions ou entre eux possèdent des formes et
des couleurs qui indiquent aussi le type de
données transportées.
50
par : Hassan AIT BOUH
Les principaux éléments du langage
LabVIEW
Divers moyens de réaliser un codage d’une variable de type
numérique :

51
par : Hassan AIT BOUH
Les principaux éléments du langage
LabVIEW
Divers moyens de réaliser un codage d’une variable de type
numérique :

52
par : Hassan AIT BOUH
Les principaux éléments du langage
LabVIEW
Divers moyens de réaliser un codage d’une variable de type
numérique :

Nb. à virgule flottante (Réel)

Nb. Entier Signé

Nb. Entier non Signé

Nb. Complexe

53
par : Hassan AIT BOUH
Les principaux éléments du langage
LabVIEW
Câblage (Wiring the Block Diagram)
Wire
Scalar 1D Array 2D Array Color
Type
Orange (floating-point)
Numeric
Blue (integer)

Boolean Green

String Pink

Dynamic Blue
54
par : Hassan AIT BOUH
Les constantes
Les constantes peuvent être de 2 types :

 Constantes définies par le programmeur :


– Numérique,
– Booléen,
– Chaîne de caractères,
– Tableau,
– Cluster, etc.
 Constantes prédéfinies.
55
par : Hassan AIT BOUH
Les constantes

56
par : Hassan AIT BOUH
Structures de programmation

57
par : Hassan AIT BOUH
Structures de programmation
On distingue 6 principaux types de structures :

1. Structure Séquence (Flat Sequence)


2. Structure Condition (Case Structure)
3. Structure Evénement (Event Structure)
4. Structure Boucle For (For Loop)
5. Structure Boucle While (While Loop)
6. Structure Elément en place (In Place Element
Structure) 58
par : Hassan AIT BOUH
Structures de programmation
1. Structure de contrôle : Séquence (Sequence)

59
par : Hassan AIT BOUH
Structures de programmation
1. Structure de contrôle : Séquence (Sequence)

60
par : Hassan AIT BOUH
Structures de programmation
1. Structure de contrôle : Séquence (Sequence)

61
par : Hassan AIT BOUH
Structures de programmation
1. Structure de contrôle : Séquence (Sequence)
• Elle permet de donner un ordre précis
d'exécution à un Nb quelconque de sous-
diagrammes ou étapes (Frame).

• En effet cette structure de contrôle exécute :


 le sous-diagramme contenu dans l’étape « 0 »,
 puis celui de l’étape « 1 »,
 celui de l’étape « 2 »
 et ainsi de suite ... 62
par : Hassan AIT BOUH
Structures de programmation
Remarque :
• Au niveau de la représentation graphique, tous
les sous-diagrammes des différentes étapes sont
empilés les uns sur les autres, et seul celui dont
le N° est affiché en haut du cadre est visible.

• Il est indispensable d’introduire une variable


de séquence à chaque nouvelle séquence pour
permettre une transition entre les diverses
étapes.
63
par : Hassan AIT BOUH
Structures de programmation
2. Structure de contrôle : Condition (Case)

Valeur d’entrée

64
par : Hassan AIT BOUH
Structures de programmation
2. Structure de contrôle : Condition (Case)
 Une structure de type condition possède un
ou plusieurs sous-diagrammes (ou
conditions), dont un seul s’exécute.

 La valeur câblée au terminal de sélection


(symbolisé par un « ? ») détermine la
condition à exécuter.

65
par : Hassan AIT BOUH
Structures de programmation
2. Structure de contrôle : Condition (Case)
Une condition peut être de type :
• Booléen : 2 sous-diagrammes sont associés aux
deux conditions Vrai (True) et Faux (False) ;
• Chaîne ;
• Numérique (Ent. / Réel) : des sous-diagrammes
sont associés aux différentes valeurs de l’entrée ;
• Enuméré ;
• Cluster d’erreur.
Le type dépend de l’objet câblé au terminal de sélection « ? ». 66
par : Hassan AIT BOUH
Structures de programmation
Numeric Case Selector

67
par : Hassan AIT BOUH
Structures de programmation
Boolean Case Selector

68
par : Hassan AIT BOUH
Structures de programmation
3. Structure : Evénement (Event)

69
par : Hassan AIT BOUH
Structures de programmation
3. Structure : Evénement (Event)
• Cette structure attend qu’un événement
spécifié se produise pour exécuter une condition
appropriée pour gérer cet événement.
• Elle possède un ou plusieurs sous-
diagrammes, dont un seul s’exécute à la fois.
• Il est possible de placer la structure dans une
boucle While afin de gérer plusieurs
événements. 70
par : Hassan AIT BOUH
Structures de programmation
3. Structure : Evénement (Event)
Il faut câbler une valeur au terminal « Timeout »
pour spécifier le Nb. de millisecondes durant
lequel la structure attend qu’un événement se
produise.

Par défaut, la valeur est de -1, et il n’y a pas de


déclenchement (pas de « Timeout »).

71
par : Hassan AIT BOUH
Structures de programmation
4. Structure de contrôle : Boucle For (For Loop)
Début

100
i=0
N = 100

Terminal de décompte
(Nb. d’itérations à réaliser)

Code
Non
i=N?
Oui
Indice de l’itérations Code
en cours (0 → N-1)

i=i+1

Fin

72
par : Hassan AIT BOUH
Structures de programmation
3. Structure de contrôle : Boucle For (For Loop)
• Il s’agit d’une structure classique « Pour » d’un
langage de programmation textuel avec une
valeur initiale 0 et une valeur finale (N-1) de
l’indice fixé par le terminal de décomptage N.

• La valeur du pas est fixée à 1 et l’indice


courant est disponible dans le terminal interne
appelé i.
73
par : Hassan AIT BOUH
Structures de programmation
3. Structure de contrôle : Boucle For (For Loop)
Afin de pouvoir mémoriser des valeurs
intermédiaires calculées lors des différentes
itérations de la boucle, on dispose de mémoires
locales, appelées registres à décalage (Shift
Register).

74
par : Hassan AIT BOUH
Structures de programmation
3. Structure de contrôle : Boucle For (For Loop)
Les registres à décalage permettent :

• de réaliser le stockage de variables calculées à


un instant donné (indice de boucle i) ;

• de conserver les valeurs précédentes d’une


variable (indice i-1, i-2, …).

75
par : Hassan AIT BOUH
Structures de programmation
Tunnel d’indexation

76
par : Hassan AIT BOUH
Structures de programmation
Calcul du factoriel

77
par : Hassan AIT BOUH
Structures de programmation
Calcul du factoriel

78
par : Hassan AIT BOUH
Structures de programmation
Tunnel d’indexation

79
par : Hassan AIT BOUH
Structures de programmation
5. Structure de contrôle : Boucle While (While
Loop)
Début

Code
Code
Condition
remplie ? Non
Oui

Fin

80
Cette boucle exécute le code jusqu'à ce qu'une condition soit remplie.
par : Hassan AIT BOUH
Structures de programmation
5. Structure de contrôle : Boucle While (While
Loop)

81
par : Hassan AIT BOUH
Structures de programmation
5. Structure de contrôle : Boucle While (While
Loop)
La structure répétition de type boucle While
correspond à une structure classique « Tant
que » d’un langage de programmation avec une
condition d’arrêt et un indice courant i
(disponible dans le terminal interne) variant par
pas de 1 en partant de 0.

82
par : Hassan AIT BOUH
Structures de programmation
5. Structure de contrôle : Boucle While (While
Loop)
De façon identique à la structure boucle For, la
structure boucle While utilise :

 des registres à décalage pour une


mémorisation locale des données ;
 des tunnels d’E/S de données.

83
par : Hassan AIT BOUH
Structures de programmation
Calcul du factoriel

84
par : Hassan AIT BOUH
Structures de programmation
Calcul du factoriel

85
par : Hassan AIT BOUH
Structures de programmation
Clignotement d’une LED (Test du reste de Division par 2)

86
par : Hassan AIT BOUH
Structures de programmation
Clignotement d’une LED (Registre à décalage)

87
par : Hassan AIT BOUH
Structures de programmation
Clignotement d’une LED (Registre à décalage)

88
par : Hassan AIT BOUH
Structures de programmation
Clignotement d’une LED (Variable locale)

89
par : Hassan AIT BOUH
Structures de programmation
Clignotement d’une LED (Structure séquence)

90
par : Hassan AIT BOUH
Structures de programmation
6. Structure de contrôle : Elément en place (In
Place Element Structure)

91
par : Hassan AIT BOUH
Structures de programmation
6. Structure de contrôle : Elément en place (In
Place Element Structure)
• Contrôle certaines opérations de LabVIEW
• Optimise l’utilisation de la mémoire
• Augmente les performances des VI

À utiliser avec un élément de données dans un


Tableau, ou un Cluster, ou un variant ou même
une Waveform, de manière à conserver les
données dans le même espace mémoire. 92
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
Les 6 sous-palettes de la palette Fonctions
(Functions) sont :

1. Sous-palette Numérique (Numeric)


2. Sous-palette Booléen (Boolean)
3. Sous-palette Chaîne (String)
4. Sous-palette Tableau (Array)
5. Sous-palette Cluster (Cluster)
6. Sous-palette Comparaison (Comparison)
93
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
1. Sous-palette Numérique (Numeric)
Elle intègre toutes les fonctions de base pour
traiter les données de type numérique :
• Opérateurs et fonctions de base ;
• Opérateurs pour des données numériques de type tableau ;
• Opérateur programmable ;
• Opérateurs de partie entière ;
• Fonction « générateur de nombre aléatoire » ;
• Les constantes associées à ce type de données ;
• Mise à l’échelle des grandeurs physiques ;
• Les manipulations de donnée.
94
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
1. Sous-palette Numérique (Numeric)
Elle donne accès à 6 nouvelles sous-palettes
(icônes de la colonne droite) qui proposent :
• des fonctions de conversion de type de données ;
• des fonctions de manipulation de données ;
• des fonctions trigonométriques ;
• des fonctions logarithmiques ;
• des fonctions de calcul avec des nombres complexes ;
• des constantes universelles.
95
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
2. Sous-palette Booléen (Boolean)
Cette sous-palette intègre toutes les fonctions de
base pour traiter les données de type booléen.
Les principales fonctions sont les suivantes :
– Opérateurs et fonctions de base ;
– Opérateur programmable ;
– Opérateurs pour des données booléennes de
type tableau ;
– Opérateurs de conversion ;
– Constantes associées à ce type de données. 96
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
3. Sous-palette Chaîne (String)
Cette sous-palette intègre toutes les fonctions de
base pour traiter les données de type chaîne de
caractères :
– Opérateurs de base ;
– Opérateurs de conversion majusc./minusc. ;
– Opérateurs de formatage ;
– Constantes associées à ce type de données ;
– Extension ... 97
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
3. Sous-palette Chaîne (String)
Elle donne accès à 4 nouvelles sous-palettes
spécifiques (icônes de la colonne droite) qui
proposent :
– des fonctions avancées de traitement de
chaîne de caractères ;
– des fonctions de conversion entre chaîne
de caractères et nombre ;
– tableau ou chemin ;
– des fonctions de formatage de données. 98
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
4. Sous-palette Tableau (Array)
Cette sous-palette intègre toutes les fonctions
de base pour traiter les données de type tableau
(ensemble de données homogènes en type) :
– Opérateurs de base ;
– Opérateurs de conversion ;
– Constantes associées à ce type de données ;
– Opérateurs divers.
99
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
5. Sous-palette Cluster (Cluster)
• Le cluster est un ensemble de données indépendantes
et homogènes en type, ou hétérogènes en type.
• Les clusters regroupent des éléments de données de
types différents.
•Les clusters sont semblables aux enregistrements ou
aux structures des langages de programmation textuels :
– "Record" en Pascal et ADA ;
– "Struct" en C
100
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
Utilité
• Le fait de rassembler plusieurs éléments de
données dans un Cluster, permet de diminuer le
Nb de fils de liaison sur le Diagramme tout en
réduisant le Nb de Terminaux de Connecteurs
requis par les sous-VIs.

101
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
5. Sous-palette Cluster (Cluster)

102
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
5. Sous-palette Cluster (Cluster)
Cette sous-palette intègre toutes les fonctions de
base pour traiter les données de type cluster :
– Opérateurs de base ;
– Opérateurs divers ;
– Opérateurs de conversion ;
– Constantes associées à ce type de données ;
– Les données de type variant ;
– Les manipulations des données variant en
particulier en utilisant les objets ActiveX. 103
par : Hassan AIT BOUH
Fonctions associées aux diff.tes données
6. Sous-palette Comparaison (Comparison)
Cette sous-palette intègre toutes les fonctions
permettant de réaliser des comparaisons très
variées :
– Opérateurs de base ;
– Opérateurs de comparaison d’une donnée
de type numérique (scalaire, tableau ou
cluster) ;
– Opérateurs divers ;
– Tests du type de données. 104
par : Hassan AIT BOUH
Gestion du temps
Sous-palette Informations temporelles

105
par : Hassan AIT BOUH
Gestion du temps
Sous-palette Informations temporelles
Cette sous-palette Informations temporelles
(Timing) intègre des fonctions permettant de
gérer le temps d’une manière absolue ou
relative.

Les principales fonctions sont les suivantes :


 Opérateurs de gestion d’un temps relatif
 Opérateurs de gestion d’un temps absolu
106
par : Hassan AIT BOUH
Gestion du temps
Sous-palette Informations temporelles

Opérateurs de gestion d’un temps relatif :

– Compteur d’impulsions d’horloge m(s)


(Tick Count (ms)) ;
– Attente en ms
(Time Delay (ms)) ;
– Attendre un multiple de ms
(Wait Until Next ms Multiple).
107
par : Hassan AIT BOUH
Gestion du temps
Sous-palette Informations temporelles
Opérateurs de gestion d’un temps absolu :
– Formater la chaîne de date/heure
(Format Date/Time String) ;
– Chaîne de date/heure
(get Date/Time In Seconds) ;
– Date/heure en secondes
(Date/Time To Seconds) ;
– Secondes en date/heure
(Seconds To Date/Time). 108
par : Hassan AIT BOUH
Mémorisation des données

Nous allons étudier ici trois types d’éléments


permettant de réaliser la fonction mémorisation
momentanée de données, à savoir :

1. les registres à décalage,


2. les variables globales,
3. les variables locales.

109
par : Hassan AIT BOUH
Mémorisation des données
1. Registres à décalage
• Associés aux structures For et While, sont
principalement utilisés comme mémoire locale
permettant d’utiliser les valeurs calculées dans
des itérations précédentes.

• Ils doivent être initialisés pour obtenir un


fonctionnement correct du programme.

110
par : Hassan AIT BOUH
Mémorisation des données
1. Registres à décalage

111
par : Hassan AIT BOUH
Mémorisation des données
1. Registres à décalage

112
par : Hassan AIT BOUH
Mémorisation des données
1. Registres à décalage

113
par : Hassan AIT BOUH
Mémorisation des données
2. Variables globales
• Elles sont utilisées pour accéder à des
données et les transmettre à plusieurs VIs qui
s'exécutent simultanément.
• Ce sont des objets intégrés à LabVIEW.
• Lorsque nous créons une variable globale,
LabVIEW crée automatiquement un VI global
spécial, qui possède une Face-avant, mais pas
de Diagramme. 114
par : Hassan AIT BOUH
Mémorisation des données
2. Variables globales
• Nous ajoutons des Commandes et des
Indicateurs à la Face-avant du VI global pour
définir les types de données des variables
globales qu'il contient.
• En effet, cette Face-avant est un conteneur
depuis lequel plusieurs VIs peuvent accéder
aux données.
115
par : Hassan AIT BOUH
Mémorisation des données
3. Variables locales
On crée des variables locales pour des objets de
la Face-avant dans un VI :
– si nous n'avons pas accès à un objet de la
Face-avant ;
ou bien :
– si on doit transmettre des données entre
des nœuds du Diagramme.
116
par : Hassan AIT BOUH
Mémorisation des données
3. Variables locales
Remarque :
• La variable locale créée apparaît sur le
Diagramme mais pas sur la Face-avant.

• Avec une variable locale, nous pouvons lire ou


écrire dans une Commande ou un Indicateur sur
la Face-avant.
Écrire dans une variable locale revient à
transmettre des données à un autre Terminal. 117
par : Hassan AIT BOUH
Mémorisation des données
3. Variables locales
Autrement dit :

• avec une variable locale, nous pouvons écrire


même s'il s'agit d'une Commande ou lire même
s'il s'agit d'un Indicateur.

• avec une variable locale, nous pouvons


accéder à des objets de la Face-avant à la fois
comme Entrée et comme Sortie.
118
par : Hassan AIT BOUH
Les Graphes
Indicateurs de type Graphe :
La sous-palette Graphe (Graph) de la palette Commandes
(Controls) contient neuf graphes de base qui sont :

1. Graphe déroulant (Waveform Chart)


2. Graphe (Waveform Graph)
3. Graphe XY (XY Graph)
4. Graphe déroulant d’intensité (Intensity Chart)
5. Graphe d’intensité (Intensity Graph)
6. Graphe numérique (Digital Waveform Graph)
7. Graphe 3D comprenant le Graphe 3D de surface, le Graphe
3D paramétrique et le Graphe 3D de courbe
119
par : Hassan AIT BOUH
Les Graphes
1. Graphe déroulant (Waveform Chart)
Cet indicateur permet de tracer des courbes
comme sur un enregistreur papier à défilement
en fonction du temps.

120
par : Hassan AIT BOUH
Les Graphes
2. Graphe (Waveform Graph)
Cet indicateur permet de tracer des courbes
paramétriques à la manière d’un oscilloscope.

121
par : Hassan AIT BOUH
Les Graphes
3. Graphe XY (XY Graph)
Cet indicateur permet de tracer des courbes
paramétriques à la manière d’un
oscilloscope utilisé en « mode X-Y ».

122
par : Hassan AIT BOUH
Les Graphes
4. Graphe déroulant d’intensité (Intensity Chart)
Cet indicateur permet de tracer des courbes 3D dans
un plan grâce à l’emploi de couleurs en reproduisant le
fonctionnement d’un enregistreur papier à défilement.

123
par : Hassan AIT BOUH
Les Graphes
5. Graphe d’intensité (Intensity Graph)
Cet indicateur permet de tracer des courbes 3D dans un plan grâce à l’emploi
de couleurs en reproduisant le fonctionnement d’un oscilloscope.
Dans le cas de cet indicateur :
- les indices Ligne et Colonne de l’élément indiquent sa position dans le plan,
- la Valeur de l’élément avec une Couleur codée entre 0 et 255.

124
par : Hassan AIT BOUH
Les Graphes
6. Graphe numérique (Digital Waveform Graph)
Cet indicateur permet de tracer des courbes de
variables booléennes à la manière d’un
enregistreur numérique.

125
par : Hassan AIT BOUH
Utilisation des Graphes
Graphe déroulant :
 Tracé d’une courbe :
– point-par-point.
– (en un seul coup) à partir d’un Vecteur.

 Tracé de plusieurs courbes :


points par points (sous forme de Paquet de 2 points)
 Assembler en un Cluster.
(en un seul coup) (sous forme de Paquet de 2 points)
 Assembler en un Cluster.
(en un seul coup) (sous forme de Paquet de 2 Vecteurs)
 Indexer 2 Vecteurs et les Assembler en 1 Cluster.
126
par : Hassan AIT BOUH
Utilisation des Graphes
Graphe : (en un seul coup)
 Tracé d’une courbe :
– Point-par-point n’est pas possible.
– A partir d’un Vecteur.
– Assembler 1 Vecteur et 2 Numériques x0 et dt.
 Tracé de plusieurs courbes :
– Créer 1 Tableau de 2 Vecteurs.
– Créer 1 Cluster de 2 Vecteurs.
– Créer 1 Cluster de 2 Vecteurs, puis Assembler ce Cluster et
2 Numériques x0 et dt en 1 autre Cluster.
– Créer 1 Tableau de 2 Cluster (chaque Cluster est obtenu par
Assemblage d’un Vecteur et 2 Numériques x0 et dt). 127
par : Hassan AIT BOUH
Utilisation des Graphes
Graphe XY : (en un seul coup)
 Tracé d’une courbe
 Assembler 2 Vecteurs en 1 Cluster.

 Tracé de plusieurs courbes


Créer 1 Tableau de 2 Clusters
(chaque Cluster est obtenu par Assemblage de 2 Vecteurs).

128
par : Hassan AIT BOUH
Les Clusters
Création

Clusters
Commande

Cluster
Indicateur

129
par : Hassan AIT BOUH
Les Clusters
Clusters d’erreurs

130
par : Hassan AIT BOUH
Les Clusters
Exemples de Clusters

131
par : Hassan AIT BOUH
Les Clusters
Waveform
Un Waveform est un Cluster qui comprend :
 t0 : Temps de départ
 Temps absolu ou,
 Temps relatif au départ de la mesure
 Dt : incrément de temps entre les données
 Y : Tableau 1D des données

132
par : Hassan AIT BOUH

Vous aimerez peut-être aussi