0% ont trouvé ce document utile (0 vote)
27 vues75 pages

Cours LabVIEW Final

Transféré par

yassine ajjaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
27 vues75 pages

Cours LabVIEW Final

Transféré par

yassine ajjaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Initiation à la Programmation Graphique

Filière: Génie Électrique

Pr. Otman JAI

Department of Electrical & Computer Engineering


Higher School of Technology
Sidi Mohamed Ben Abdellah University
Fez, Morocco
[Link]@[Link]

12 avril 2021

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 1 / 75


Sommaire

1 Introduction
Programmation
Algorithme
Qu’est-ce que LabVIEW ?
Langage G
Environnement LabVIEW

2 Structures de contrôle
Concept de boucles et de structures

3 Chaines de caractères, Tableaux et Clusters


Chaines de caractères
Tableaux
Les clusters

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 2 / 75


Programmation

Un odinateur en fonctionnement réalise des tâches pour lesquelles il a


été programmé.

Figure 1 – Principe de la Programmation.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 3 / 75


Programmation

Le programme est écrit dans un langage de programmation, en


respectant une syntaxe propre au langage choisi.

Figure 2 – Principe de la Compilation.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 4 / 75


Programmation

Exemples de langages de programmation :.

Figure 3 – Exemple.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 5 / 75


Programmation

La majorité des programmes actuels sont écrits dans des langages de


haut niveau, comme le C, le Java, le C++, l’Erlang, le PHP, etc.
Mais ces langages ne sont pas compréhensibles par le processeur, qui
ne comprend que le langage machine.
Les codes sources écrits dans des langages de haut niveau doivent
donc être traduit en langage machine par la chaine de compilation.
A l’heure actuelle, la majorité des compilateurs ne traduit pas
directement un langage de haut niveau en langage machine, mais
passe par un langage intermédiaire : l’assembleur.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 6 / 75


Programmation

(a) Un (b) Le code assembleur. (c) Le


programme écrit programme en
dans un langage langage
de haut niveau machine.
(le C, en
l’occurrence).

Figure 4 – La chaine de compilation

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 7 / 75


Algorithme

Programmer, c’est écrire en respectant la syntaxe d’un langage, la


suite des tâches devant être exécutées par l’ordinateur, de façon
logique et structurée.

On ne se lance pas à écrire un programme sans avoir réfléchi au


problème posé, et à la façon de le résoudre. Il faut élaborer un
Algorithme.

Algorithme : Suite d’instructions qui une fois exécutées correctement


conduit à un résultat donnée.

Algorithmique : Science qui étudie la structure logique des


programmes.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 8 / 75


Algorithme

L’algorithme est indépendant du langage :

L’algorithme se ramène à une combinaison de 4 familles d’instructions :


1 Affectation de variables.
2 Lecture & Écriture.
3 Tests : Si- Alors - FinSi ; Si - Alors - Sinon - FinSi.
4 Boucles : Pour- Pas - FinPour ; TantQue -FinTantQue ; Répéter -
Jusqu’à.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 9 / 75


Qu’est-ce que LabVIEW ?

LabVIEW (contraction de Laboratory Virtual Instrument Engineering


Workbench).

Logiciel de la société National Instruments (NI) créé en 1985.

Outil de développement d’applications d’instrumentation plus


particulièrement destiné à l’acquisition des données de mesure et à
leur traitement.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 10 / 75


Qu’est-ce que LabVIEW ?

Environnement de développement complet qui contient tous les outils


nécessaires aux ingénieurs et aux scientifiques pour concevoir et
déployer des systèmes de contrôle et de mesure.

Il utilise un langage de programmation graphique appelé : Langage


G (Créé à l’origine sur Apple Macintosh en 1986).

La version utilisée en TP est la Version 20.0.1 (64-bit) sous MacOSX


ou Windows.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 11 / 75


Qu’est-ce que LabVIEW ?

DEFINITIONS ET VOCABULAIRE : LabVIEW permet l’acquisition de


données par l’intermédiaire de diverses connectiques comme :
PCI (Peripheral Component Interconnect).
CompactFlash.
LAN (Local Area Network) et Ethernet.
Wi-Fi (IEEE 802.11 b/g/n) (Wireless Fidelity).
Bluetooth.
USB (Universal Serial Bus).
Série (RS 232, RS 449, RS 422, RS 423, RS 485).

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 12 / 75


Qu’est-ce que LabVIEW ?
Analyse de données

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

Mathématiques : Interpolation, statistiques (moyennes, écart-type,


etc.), équations différentielles.

Traitement du signal : Convolution, analyse spectrale,


transformées de Fourier, etc.

Traitement d’images : Masque, détection de contours, profils,


manipulations de pixels, etc.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 13 / 75


Qu’est-ce que LabVIEW ?
Présentation de données

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


données :

Graphiques, tableaux, images, génération de rapport, etc..

Internet : outils de publication web, serveur datasocket, TCP/IP,


envoie d’alertes par email, etc..

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 14 / 75


Langage G

Le langage G se base sur le principe du flot (flux) de données,


auquel ont été rajoutées des structures de programmation afin
d’obtenir un langage de programmation complet.
Un diagramme flot de données permet d’exprimer une fonction
de manière graphique.

Figure 5 – Exemple de diagramme flot de données.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 15 / 75


Langage G
Un tel diagramme est composé de :

Terminaux : ce sont les entrées (rectangle gras) et les sorties


(rectangle fin) de la fonction,

Figure 6 – Langage G : Terminaux.

Respectivement nommés par LabVIEW comme terminaux de ‘contrôles’


(accessibles en écriture) et terminaux ‘indicateurs’ (accessibles en lecture).
Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 16 / 75
Langage G

Noeuds : ils définissent les opérations à effectuer. Nous verrons plus


loin que ces opérations peuvent être des fonctions déjà mise au point.
Ces noeuds sont représentés par un carré contenant une image qui sert
à illustrer leur fonctionnalité,

Figure 7 – Langage G : Noeuds.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 17 / 75


Langage G

Arcs orientés : ils servent à relier les noeuds et les terminaux entre
eux pour indiquer le chemin des données. Par convention, ces arcs sont
orientés de gauche à droite,

Figure 8 – Langage G : Arcs orientés.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 18 / 75


Langage G

Jetons : ils représentent les données transitant sur les arcs. Ils sont
représentés par des points.

Figure 9 – Langage G : Jetons.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 19 / 75


Langage G
Règles d’évolution

Des règles d’évolution permettent de faire évoluer un diagramme flot de


données :

1 A l’initialisation, les terminaux d’entrée produisent chacun un jeton,

2 Lorsqu’un nœud possède un jeton sur chacun de ces arcs entrant, et


seulement dans ce cas, le nœud peut être exécuté,

3 Chaque jeton en entrée est consommé et le nœud produit un jeton sur


chacun de ses arcs sortants.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 20 / 75


Langage G
Notion d’Encapsulation

L’encapsulation est un mécanisme consistant à rassembler les


données et les méthodes au sein d’une structure en cachant
l’implémentation de l’objet, c’est-à-dire en empêchant l’accès aux
données par un autre moyen que les services proposés.

Un diagramme flot de données peut être encapsulé afin d’être réutilisé


en tant que nœud ou fonction, par d’autres diagrammes flot de
données.

Les terminaux du diagramme deviennent alors les entrées/sorties du


nœud.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 21 / 75


Langage G
Notion d’Encapsulation

Figure 10 – Notion d’Encapsulation.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 22 / 75


Langage G
Exemple

Le diagramme de la figure suivante exprime le calcul de :


d = (a + b) ∗ (b − c) et e = b − c.

(a) Diagramme flot de données. (b) Encapsulation.

Figure 11 – Exemple.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 23 / 75


Environnement LabVIEW
Structure d’un Programme LabVIEW

LabVIEW étant plus particulièrement destiné à l’instrumentation, un


programme LabVIEW apparaît constitué comme un appareil de mesure :
Une face avant : C’est l’interface avec l’utilisateur.
Un diagramme : Il correspond aux circuits internes de l’appareil et
constitue le cœur du programme.

(a) Front Panel (b) Block Diagram (Diagramme).


(Face-Avant).

Figure 12 – Structure d’un Programme LabVIEW.


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 24 / 75
Environnement LabVIEW
Les barres d’outils

Figure 13 – Barres d’outils de LabVIEW.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 25 / 75


Environnement LabVIEW
Palette de commande de la face-avant (Controls Palette)

Dans cette palette nous trouverons tous les éléments (commandes et


indicateurs) nécessaires à la création de la face-avant d’une application.

Figure 14 – Controls Palette.


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 26 / 75
Environnement LabVIEW
Palette de fonctions du Diagramme (Functions Palette)

Dans cette palette nous trouverons tous les éléments (fonctions de base, VI
Express, etc.) nécessaires à la création du code graphique (Block Diagram).

Figure 15 – Functions Palette.


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 27 / 75
Environnement LabVIEW
Palette d’outils (Tool Palette)

Les liaisons sont réalisées à l’aide de la bobine de la palette d’outils


disponible par le menu Fenêtre/palette d’outils (Windows/tools palette).

Figure 16 – Tool Palette.


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 28 / 75
Environnement LabVIEW
Variables

Dans un langage de programmation, une variable est un espace de


stockage pour un résultat.

les possibilités d’une variable sont intimement liées au langage de


programmation auquel on fait référence. Par exemple une variable en
C++ aura sept caractéristiques :

1 Son nom, c’est-à-dire sous quel nom est déclarée la variable ;

2 Son type, c’est la convention d’interprétation de la séquence de bits


qui constitue la variable. Le type de la variable spécifie aussi la
longueur de cette séquence (8 bits, 32 bits, 64 bits) ;

3 Sa valeur Sa valeur, c’est la séquence de bits elle-même, elle ne peut


varier au cours du temps si on utilise le mot-clef const ;

4 Son adresse, c’est l’endroit dans la mémoire où elle est stockée ;


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 29 / 75
Environnement LabVIEW
Variables

5 Sa portée, c’est la portion de code source ou elle accessible, par


exemple, la portée d’une variable (non globale) en C s’entend de sa
définition à la fin du bloc où elle est définie ;

6 Sa visibilité, c’est un ensemble de règles qui fixe qui peut utiliser la


variable (exemple : mots-clefs public, private, protected, ou le
masquage d’une variable par une autre) ;

7 Sa durée de vie, c’est le temps d’exécution pensant laquelle la


variable existe. En C et en C++ une variable contenue dans un bloc
de code limité par des accolades « {} » possède la durée de vie
correspondant au temps d’exécution de ce bloc. Il ne faut pas
confondre la durée de vie d’une variable locale et sa visibilité, ou sa
portée : une variable hors de portée (ex : masquée par une autre),
existe toujours.
Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 30 / 75
Environnement LabVIEW
Variables

LabVIEW propose quatre types de base pour les variables :

1 Le type U8 qui représente un entier non signé codé sur 8 bits (on peut
spécifier d’autres codages) ;

2 Le type DBL qui représente un nombre flottant ;

3 Le type TF qui est une valeur booléenne (True – False) ;

4 Le type intitulé ABC servant à représenter les chaînes de caractères.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 31 / 75


Environnement LabVIEW
Variables

Le tableau suivant donne un exemple de terminaux associés aux quatre


types de bases.

Figure 17 – Quelques Terminaux de LabVIEW.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 32 / 75


Environnement LabVIEW
Quelques remarques sur les Variables

Pour les variables numériques (entiers et doubles), LabVIEW offre la


possibilité de spécifier différents types de codages de l’informations
(signé, non signé, sur 8 bits..).

Il existe un type qui n’apparaît pas dans ce tableau. C’est le type


construit qui sert à représenter et à rassembler plusieurs valeurs de
types différents dans une variable (comme une structure en C).

Le type construit possède une représentation de couleur marron et est


aussi nommé Cluster dans la terminologie LabVIEW.

Les variables peuvent être : locales, locales de séquence ou globales.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 33 / 75


Environnement LabVIEW
Quelques remarques sur les Variables

LabVIEW met aussi à disposition des structures de données qui se basent


sur la notion de tableaux :

1 Le type scalaire, qui représente une données dans les types de base et
est considéré comme un tableau de dimension 0,

Figure 18 – Le type scalaire.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 34 / 75


Environnement LabVIEW
Quelques remarques sur les Variables

LabVIEW met aussi à disposition des structures de données qui se basent


sur la notion de tableaux :

1 Le type vecteur qui est un tableau de dimension 1,

Figure 19 – Le type Vecteur.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 35 / 75


Environnement LabVIEW
Quelques remarques sur les Variables

LabVIEW met aussi à disposition des structures de données qui se basent


sur la notion de tableaux :

1 Et enfin le type tableau qui représente un tableau de dimension n.

Figure 20 – Le type Tableau.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 36 / 75


Environnement LabVIEW
Les types de données

Figure 21 – Les types de données.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 37 / 75


Concept de boucles et de structures
Bibliothèque boucles et structures

Figure 22 – Bibliothèque boucles et structures.


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 38 / 75
Concept de boucles et de structures

Pour permettre une programmation productive, Labview propose


l’utilisation de structures de contrôles au sein d’un diagramme. Nous allons
ici présenter ces différentes structures et leur utilisations.

Les boucles permettent l’exécution d’un programme, d’un


sous-programme ou d’une partie de programme jusqu’à une action ou
une valeur définie par l’opérateur. Elles sont identiques à celles mises
en jeu en programmation en langage C par exemple.

Les structures contrôlent le flux de données dans un V.I. Elles


permettent d’organiser, de séquencer ou de conditionner des éléments
d’un V.I. un V.I. complet.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 39 / 75


Concept de boucles et de structures
Bibliothèque boucles et structures

Figure 23 – Bibliothèque boucles et structures.


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 40 / 75
Concept de boucles et de structures
la boucle for : : : For Loop

La boucle For (For Loop) exécute son sous-diagramme N fois, N étant la


valeur câblée au terminal (N) de décompte de la boucle. Le terminal
d’itération (i) fournit le nombre d’itérations actuel de la boucle, qui varie
de 0 à N − 1.

Figure 24 – For Loop.


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 41 / 75
Concept de boucles et de structures
la boucle for : : : For Loop

La boucle For comporte les éléments suivants :

N : nombre de fois que la boucle doit s’exécuter (entrée) ;

i : indice de boucle (sortie) ; cette valeur s’incrémente


automatiquement à chaque exécution de la boucle, à partir de 0 ;

Terminal condition : permet d’interrompre l’exécution de la boucle sur


une condition (optionnel) ;

P : nombre de cœurs de processeurs pouvant exécuter la boucle en


parallèle (optionnel).

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 42 / 75


Concept de boucles et de structures
la boucle for : : : Exemple

Figure 25 – For Loop Example.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 43 / 75


Concept de boucles et de structures
la boucle While : : : While Loop

La boucle While répète le code contenu dans son sous-diagramme


jusqu’à ce qu’une condition spécifique se produise.
Une boucle While s’exécute toujours au moins une fois.

Figure 26 – While Loop.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 44 / 75


Concept de boucles et de structures
la boucle While : : : Exemple

Figure 27 – While Loop Example : Boucle Infinie.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 45 / 75


Concept de boucles et de structures
Cadencement des boucles

Pour laisser du temps au processeur de traiter les différentes tâches


actives simultanément (par exemple le programme et l’interface
utilisateur), il est important de cadencer les boucles avec des fonctions
d’attente.
Pendant l’exécution de la fonction d’attente, la boucle est « en
sommeil », et le processeur peut traiter d’autres processus.
Les fonctions permettant de cadencer et temporiser les boucles se
trouvent dans la palette Informations Temporelles, et sont :
1 Attendre (Wait) (ms) : attente exacte du temps demandé ;
2 Attendre un multiple de ms (Wait Until Next ...) : attente jusqu’à une
synchronisation avec l’horloge du PC ; la durée de la première itération
de la boucle est inférieure à celle demandée afin de permettre cette
synchronisation. Cette fonction peut être utile pour synchroniser 2
boucles via l’horloge du PC.
3 Temps d’attente (Time Delay) : similaire à la fonction Attendre (ms),
mais le temps est ici paramétré en secondes
Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 46 / 75
Concept de boucles et de structures
Cadencement des boucles

Figure 28 – Cadencement des boucles.

La fonction Temps écoulé (Elapsed Time) non pas pour cadencer une boucle mais
pour surveiller la durée d’exécution d’un processus itératif géré par une boucle.
Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 47 / 75
Concept de boucles et de structures
Structure Condition ou structure Select (Case Structure)

La structure condition contient un ou plusieurs sous-diagrammes (les


"conditions"), dont un exactement s’exécute quand la structure
s’exécute.
La valeur câblée au sélecteur de condition détermine la condition à
exécuter.

Figure 29 – Structure Condition.


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 48 / 75
Concept de boucles et de structures
Composantes d’une structure Condition

1 Étiquette du sélecteur — Affiche la ou les valeurs pour lesquelles la


condition associée s’exécute.
2 Sous-diagramme (condition) — Contient le code qui s’exécute quand
la valeur câblée au sélecteur de condition correspond à la valeur qui
apparaît dans l’étiquette du sélecteur.
3 Sélecteur de condition — Sélectionne la condition à exécuter selon la
valeur des données en entrée.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 49 / 75


Concept de boucles et de structures
Case Structue : Exemple

Ici on veut réaliser le calcul d’une racine carrée d’un nombre. On teste d’abord
que celui-ci n’est pas inférieur à 0 auquel cas on avertira l’utilisateur par un
message d’erreur.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 50 / 75


Concept de boucles et de structures
Registres à décalage : : Shift Register

Transfert de valeurs entre les itérations d’une boucle : Utilisez des


registres à décalage lorsque vous voulez passer des valeurs d’itérations
précédentes d’une boucle à l’itération suivante.
Un registre à décalage apparaît sous la forme d’une paire de terminaux
directement à l’opposé l’un de l’autre sur les côtés verticaux du cadre
de la boucle :
1 Le terminal de droite contient une flèche vers le haut et stocke les
données à la fin d’une itération.
2 LabVIEW transfère les données stockées dans le terminal de droite du
registre à décalage au terminal de gauche.
3 Ensuite, la boucle utilise les données du terminal de gauche comme
valeurs initiales pour l’itération suivante.
Ce processus continue jusqu’à ce que toutes les itérations de la boucle
s’exécutent. Après l’exécution de la boucle, le terminal sur le côté
droit de la boucle renvoie la dernière valeur stockée dans le registre à
décalage.
Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 51 / 75
Concept de boucles et de structures
Registres à décalage : : Shift Register

Figure 32 – Shift Register : Example.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 52 / 75


Concept de boucles et de structures
Structure séquence (Flat Sequence) : Exécution de sections de code en séquence

Structure Séquence contient un ou plusieurs sous-diagrammes, ou


étapes, qui s’exécutent dans l’ordre séquentiel.
Dans chaque étape d’une structure Séquence, comme dans le reste du
diagramme, la dépendance des données détermine l’ordre d’exécution
des nœuds.
Il existe deux types de structures Séquence :
La structure Séquence déroulée.
La structure Séquence empilée.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 53 / 75


Concept de boucles et de structures
Structure séquence (Flat Sequence) : Exécution de sections de code en séquence

La structure Séquence déroulée


La structure Séquence déroulée, représentée ci-après, exécute des
étapes de gauche à droite quand toutes les valeurs de données câblées
à une étape sont disponibles.
Les données quittent chaque étape lorsque celle-ci finit de s’exécuter.
Ceci signifie que l’entrée d’une étape peut dépendre de la sortie d’une
autre étape.
Lorsque vous ajoutez ou supprimez des étapes dans une structure
Séquence déroulée, la structure se redimensionne automatiquement.

Figure 33 – Structure Séquence déroulée.


Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 54 / 75
Concept de boucles et de structures
Structure séquence (Flat Sequence) : Exécution de sections de code en séquence

Structure Séquence empilée


La structure Séquence empilée, représentée ci-après, empile les étapes,
si bien que vous ne pouvez voir qu’une étape à la fois, et exécute
l’étape 0, puis l’étape 1, et ainsi de suite, jusqu’à la dernière étape.
La structure Séquence empilée ne renvoie des données qu’après
l’exécution de la dernière étape.
Utilisez la structure Séquence empilée pour prendre moins d’espace sur
le diagramme.

Figure 34 – Structure Séquence empilée.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 55 / 75


Concept de boucles et de structures
Structure séquence (Flat Sequence) : Exécution de sections de code en séquence

Figure 35 – Flat Sequence : Example.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 56 / 75


Chaines de caractères
Introduction

Une chaîne de caractères est une suite de caractères ASCII qui est le
code le plus répandu pour tous les caractères alphanumériques
(American Standard Code for Information Interchange).
Une chaine de caractère n’est pas uniquement utilisée pour la
transmission et ou le traitement de messages textuels, mais aussi pour
la communication série de données comprenant entre autres des
valeurs numériques.

(a) String & Path. (b) Modes


d’affichage.
Pr. Otman JAI (EST-Fès) Figure 36 – Exemple.
Initiation à la Programmation Graphique 12 avril 2021 57 / 75
Chaines de caractères
Fonctions de Manipulation

Dans le bloc Diagramme, plusieurs fonctions sont disponibles dans la


palette "String" pour la manipulation des chaînes :

Figure 37 – Manipulation des chaines de caractères.

Dans certains cas (par exemple, pour communiquer avec un


instrument via le port série) il est nécessaire d’avoir comme séparateur
décimal un point et non une virgule. Il faut donc ajouter le format %. ;

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 58 / 75


Chaines de caractères
Exemple 1 : Formatage d’une chaine avec le formatage par défaut %s %f

Figure 38 – Formatage d’une chaine de caractères avec le formatage par défaut


%s %f.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 59 / 75


Chaines de caractères
Exemple 2 : Formatage d’une chaine avec le formatage personnalisé %s %.2f %.2s

Figure 39 – Formatage d’une chaine de caractères avec le formatage personnalisé


%s %.2f %.2s.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 60 / 75


Chaines de caractères
Exemple 3 : Balayage d’une chaine ainsi que la récupération d’une sous-chaine

Figure 40 – Balayage d’une chaine ainsi que la récupération d’une sous-chaine.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 61 / 75


Tableaux
Définition

Un tableau (Array) est un ensemble d’éléments de même type


(integer, real, boolean, etc...), ordonnés, de dimension définie et de
taille variable.
Les différents éléments du tableau (Array) sont alors repérés par un
indice (index) : Tab[0], Tab[1], ..., Tab[i], ..., Tab[N − 1].
Ce type de données existe dans la plupart des langages (Fortran, C,
Pascal, . . . ), mais les contrôleurs et indicateurs Tableau rendent ici la
manipulation et l’affichage beaucoup plus aisés que dans ces langages.
L’utilisation de l’objet Tableau est recommandée avec LabVIEW, car le
langage G possède des opérateurs et fonctions polymorphes travaillant
sur les tableaux aussi bien que sur leurs éléments.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 62 / 75


Tableaux
Tableaux dans labVIEW

Quand on dépose le tableau sur la face avant, il est vide. Il convient


donc de le remplir à l’aide du type de variable choisi : tableau de
variables numériques, tableau de booléens, tableaux de chaînes de
caractères etc. . . .

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 63 / 75


Tableaux
Opératios sur les Tableaux

En plus des opérations arithmétiques classiques, il existe des fonctions


spéciales :

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 64 / 75


Tableaux
Opératios sur les Tableaux dans labVIEW

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 65 / 75


Tableaux
Indexation en entrée des Tableaux

Figure 41 – Indexation en entrée.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 66 / 75


Tableaux
Indexation en entrée des Tableaux : Exemple

Figure 42 – Exemple.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 67 / 75


Tableaux
Indexation en sortie des Tableaux

Figure 43 – Indexation en sortie.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 68 / 75


Clusters
Définition

Les clusters ou agrégats sont des objets pouvant contenir des éléments
de différents types, ordonnés de 0 à n − 1.
Lorsqu’on supprime un élément du cluster, l’ordre se réajuste
automatiquement.
Ils permettent de rassembler un ensemble de données et éviter l’emploi
de nombreux fils et ainsi faciliter la lisibilité du VI.
Un cluster est comme une gaine dans laquelle on fait passer les
différents fils d’un câble téléphonique ou des fils électriques. On passe
alors la gaine au lieu des fils individuels.
Un cluster est équivalent au type Struct du langage C.
Les clusters sont recommandés lorsqu’on doit transmettre beaucoup
de fils d’une partie d’un code à une autre ou à des VIs.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 69 / 75


Clusters
Création de clusters dans la face-avant

Dans le panel du VI suivant, on crée un cluster constant de la palette


Tableau, matrice et cluster.
Dans la face-avant, les clusters se trouvent dans la palette Tableau,
matrice et cluster. Nous trouvons le cluster, le tableau constant et
des matrices.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 70 / 75


Clusters
Exemple de création de cluster

Glisser les objets de données ou les éléments, qui peut être numérique,
booléen, chaîne, array, etc, dans le shell du cluster.

Figure 44 – Exemple de création de cluster.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 71 / 75


Clusters
Manipulations des clusters

On utilise les fonctions de la palette Cluster, Class & Variant du Block


Diagramme pour créer et manipuler des clusters. Par exemple, vous pouvez
effectuer les tâches suivantes :
Extraire des éléments de données individuels d’un cluster.
Ajouter des éléments de données individuels à un cluster.
Divisez un cluster en ses éléments de données individuels.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 72 / 75


Clusters
Manipulations des clusters : Assemblage/Création d’un cluster (Bundle)

Bundle : Assemble un cluster à partir d’éléments individuels.

Figure 45 – Assembler un cluster.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 73 / 75


Clusters
Manipulations des clusters : Modifier un cluster (Bundle By Name)

Bundle By Name : Remplace un ou plusieurs éléments du Cluster.


Cette fonction fait référence aux éléments du cluster à l’aide de leur
nom au lieu de leur position dans le cluster

Figure 46 – Assembler un Modifier un cluster.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 74 / 75


Clusters
Manipulations des clusters : Désassembler un cluster (Unbundle et Unbundle By Name)

Unundle : Sépare les composants d’un individuelles d’un cluster.


Unundle by Name : Renvoie les éléments de cluster dont vous
spécifiez les noms .

Figure 47 – Désassembler un cluster.

Pr. Otman JAI (EST-Fès) Initiation à la Programmation Graphique 12 avril 2021 75 / 75

Vous aimerez peut-être aussi