iut belfort montbeliard dpt mesures physiques
TRANSCRIPT
IUT BELFORT MONTBELIARDDpt MESURES PHYSIQUES
DIAPORAMA : initiation à LabVIEW
Vincent Chollet – Année Universitaire 2006 - 2007
V. Chollet 2
IUT BELFORT MONTBELIARDDpt MESURES PHYSIQUES
MODULE MC 3-3 : INFORMATIQUEContenu du module : 1,5 h / sem / groupe TD -> 4 semaine puis 3h TP
Ch 1 – INTRODUCTION A LA PROGRAMMATIONCh 2 – LES VARIABLESCh 3 - LES TESTSCh 4 – LES BOUCLESCh 5 – LES TABLEAUXCh 6 – LES GRAPHESCh 7 – REGISTRES A DECALAGE OU NOEUDS DE RETROACTIONCh 8 – LES SEQUENCESCh 9 – COMPLEMENTS
Le cours est illustré à l'aide d'exemples en langage graphique LabVIEW
V. Chollet 3
Chapitre 1 – INTRODUCTION A LA PROGRAMMATION
1 – LA PROGRAMMATION
V. Chollet 4
BIOS
Système d'exploitationDOS, Windows, Linux
Logiciels UtilisateurTraitement de texte, Tableur,Retouche photo, lecture DVD
Séquenceur MidiJeux
L'ordinateur en fonctionnement passe son temps à réaliser des tâches pour lesquelles il a été
programmé.
Des Programmes à tous les niveaux :
ROM
Disque Dur
Mise en route
Je reste utilisateur
V. Chollet 5
Données
Traitement Informatique
Résultats
TexteSonImagesmesures
TexteSonImagesmesures
Entrées Sorties
V. Chollet 6
Je veux réaliser mes propres applications
COMPILATEUR
Langage de programmation
Application autonome
Texte => Fichier source Fichier
exécutable
Logiciel installé dans l'ordinateur
É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
V. Chollet 7
Langages de programmation
Langage Machine
Assembleur
Langage Evolués :C, Pascal, Fortran, BasicVisual Basic, LabVIEW
Le seul compréhensible par l'ordinateur
Compilation = Traduction
V. Chollet 8
Chapitre 1 – INTRODUCTION A LA PROGRAMMATION1 – LA PROGRAMMATION
2 – ALGORITHME
V. Chollet 9
É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
Suite d'instructions qui une fois exécutées correctement conduit à un résultat donné
Algorithme
AlgorithmiqueScience qui étudie la structure logique des programmes
V. Chollet 10
Algorithme
CPascal
Fortran
Basic
LabVIEW Visual Basic
Algorithme : indépendant du langage
L'algorithme se ramène à une combinaison de 4 famille d'instructions :
- Affectation de variables- Lecture écriture- Tests- Boucles
V. Chollet 11
Chapitre 1 – INTRODUCTION A LA PROGRAMMATION1 – LA PROGRAMMATION2 – ALGORITHME
3 – QU'EST CE QUE LABVIEW ?
V. Chollet 12
1985 : Apparition de LabVIEW, produit par la société américaine National Instrument1995 : Enseignement en Mesures Physiques2007 : Version 8
V. Chollet 13
Chapitre 1 – INTRODUCTION A LA PROGRAMMATION1 – LA PROGRAMMATION2 – ALGORITHME3 – QU'EST CE QUE LABVIEW ?
4 – STRUCTURE D'UN PROGRAMME LABVIEW
V. Chollet 14
La face avant est l’interface avec l’utilisateur.
Le diagramme correspond aux circuits internes de l’appareil et constitue le cœur du programme
V. Chollet 15
Chapitre 1 – INTRODUCTION A LA PROGRAMMATION1 – LA PROGRAMMATION2 – ALGORITHME3 – QU'EST CE QUE LABVIEW ?4 – STRUCTURE D'UN PROGRAMME LABVIEW
5 – LES ENTREES SORTIES
V. Chollet 16
ProgrammeVariables de sortie
Variables d’entrées
Saisies au ClavierAcquises par carte d'acquisition
Délivrées par appareil de mesureTirées d'un fichier
etc...
Affichage sur écranGraphique sur écran
Commandes délivrées par l'ordinateur
DEFINITION DES ENTREES SORTIES
V. Chollet 17
Les entrées sorties sont déposées sur la face avant sous la forme d’objets tels que :
Entrées : boutons poussoirsinterrupteurspotentiomètres rotatifs ou à glissièreAfficheur numérique en lecture.Etc …
Sorties : écrans d’oscilloscopeAfficheurs numériques en écriture (affichage)Vu-mètresEtc …
ENTREES SORTIES DANS LABVIEW
V. Chollet 18
V. Chollet 19
Chapitre 1 – INTRODUCTION A LA PROGRAMMATION1 – LA PROGRAMMATION2 – ALGORITHME3 – QU'EST CE QUE LABVIEW ?4 – STRUCTURE D'UN PROGRAMME LABVIEW5 – LES ENTREES SORTIES
6 – LE PROGRAMME LABVIEW
V. Chollet 20
FACE AVANT
1ère variable
2ème variable
FACE ARRIERE : DIAGRAMME
Le programme est écrit dans une deuxième fenêtre
V. Chollet 21
Palette fonction :Clic droit dans le diagramme
Des opérateurs arithmétiquesDes opérateurs booléensDes fonctions de calcul toutes prêtesDes structures de programmation(boucles, tests etc ...)
V. Chollet 22
V. Chollet 23
La palette d'outils (Tool Palette)
Pour agir sur les commandes
Pour câbler
Texte
Colorer un objet
Pipette (copier une couleur)
Poser une sonde (probe)
Placer un point d'arrêt
Bouger l'ensemble(diag ou FA)
V. Chollet 24
L'ensemble : Face avant + diagramme = programme LabVIEW
Programme LabVIEW appelé : VI -> Virtual Instrument
Un VI peut être « encapsulé » : mis en boîte sous forme d'une icône .
Ce VI peut alors être utilisé comme une fonction dans un autre programme
V. Chollet 25
Chapitre 1 – INTRODUCTION A LA PROGRAMMATION1 – LA PROGRAMMATION2 – ALGORITHME3 – QU'EST CE QUE LABVIEW ?4 – STRUCTURE D'UN PROGRAMME LABVIEW5 – LES ENTREES SORTIES6 – LE PROGRAMME LABVIEW
7 - EXERCICES
V. Chollet 26
EXERCICE 1.1
Réaliser un programme qui affiche sur un indicateur numérique la somme, la différence, le produit et le quotient de deux nombres a et b.Sauvegarder ce travail
EXERCICE 1.2
Réaliser un programme qui allume un afficheur booléen si deux interrupteurs K1 et K2 sont enfoncés.
EXERCICE 1.3
Réaliser un programme qui affiche sur un indicateur chaîne de caractère unique le contenu de deux commandes de chaînes de caractère.
V. Chollet 27
Chapitre 2 – LES VARIABLES
1 – DECLARATION DE VARIABLE
V. Chollet 28
Binary Unit :bit
Langage Machine Le seul compréhensible par l'ordinateur
Traitement d'informations binairesTexteSonImagesMesures
Information binaire : Voir cours module Informatique d'instrumentation
PC : Circuits numériques
Tensions possibles : +5V ou 0V
État logique 1État logique 0
Groupés par 8 : 1 octet
V. Chollet 29
ProgrammeVariables de sortie
Variables d’entrées
Un emplacement mémoireRepéré par une adresse.
Rempli avec la valeur de la variable Cette valeur est codée en binaire
Un programme manipule des valeurs contenues dans des variables
V. Chollet 30
LA MEMOIRE :
Empilement d'octets
Un programme manipule des valeurs contenues dans des variables.
A chaque variable correspond un emplacement mémoire
Adresse précise
Contenu : valeur prise par la variable au cours du programme.
Langage évolué : le programmeur ne gère pas les adresses
V. Chollet 31
Réserver une chambre
dans un hôtel :
- Un nom- Une adresse,
- Une taille de chambre
Déclarer une variable = effectuer une réservation
- Un nom (une étiquette)
Une taille d'emplacement en nombre d'octets
Une adresse (gérée par l'ordinateur)
Définir :
- Ce qu'on va mettre dedans (type)
V. Chollet 32
Chapitre 2 – LES VARIABLES
1 – DECLARATION DE VARIABLE
2 – ENTREES SORTIES DANS LabVIEW
V. Chollet 33
PALETTE DE COMMANDES : ENTREES
Les commandes (sauf tableaux)
Palette complète : il suffit de la parcourir pour tout comprendre (ou presque)
V. Chollet 34
PALETTE DE COMMANDES : SORTIES
Les indicateurs (sauf tableaux)
Palette complète : On retrouve les commandes et les indicateurs
V. Chollet 35
Chapitre 2 – LES VARIABLES
1 – DECLARATION DE VARIABLE2 – ENTREES SORTIES DANS LabVIEW
3 – INITIALISATION DE VARIABLE
V. Chollet 36
INITIALISER UNE VARIABLE : C'est lui attibuer une valeur qu'elle prendra dès le début de l'exécution du programme
Clic droit sur l'objet correspondant à la
variable
Initialisation à la valeur décimale 4
Objet : bouton rotatif muni de son afficheur numérique
V. Chollet 37
Chapitre 2 – LES VARIABLES1 – DECLARATION DE VARIABLE2 – ENTREES SORTIES DANS LabVIEW3 – INITIALISATION DE VARIABLE
4 – TYPE DE VARIABLES
V. Chollet 38
Déclarer une variable = effectuer une réservation
- Un nom (une étiquette)
- Ce qu'on va mettre dedans (type)
Une taille d'emplacement
Une adresse (gérée par l'ordinateur)
Définir :
EN OCTETS pas en m² !
Un type => une couleur en LabVIEW
V. Chollet 39
Chapitre 2 – LES VARIABLES1 – DECLARATION DE VARIABLE2 – ENTREES SORTIES DANS LabVIEW3 – INITIALISATION DE VARIABLE4 – TYPE DE VARIABLES
4.1 – CODAGE DES NOMBRES ENTIERS
V. Chollet 40
CODAGE SUR UN OCTET
de 00000000 à 11111111
de 0 à 28 -1 = 255Valeurs décimales possibles
Type unsigned char (langage C) Type U8 en LabVIEW
de 00000000 à 01111111
de 0 à 27 -1 = 127
de 11111111 à 10000000
de -1 à - 27 = -128
positif
négatif
Avec bitde signe
Type char (langage C) Type I8 en LabVIEW
Complément à deux
Sans bitde signe
V. Chollet 41
COMMENT CHANGER LA REPRESENTATION DANS LabVIEW
Clic droit sur l'objet correspondant à la
variable
Codage sur un octet signé
Codage sur un octetnon signé
V. Chollet 42
ANNEXE : Codage des nombres signés code complément à deux
Soit une variable a = - 13
d 13 => b 0000 1101
complément : 1111 0010plus 1 : 0000 0001 = 1111 0011
-13 décimal = 11110011 en binaire
13 2 1 6 2 0 3 2 1 1
13 décimal = 00001101 en binaire
Conversion Décimal-Binaire Conversion Décimal-Binaire, complément à deux
Bit de signe
V. Chollet 43
CODAGE SUR DEUX OCTETS
de 0 à 216 -1 = 65535Valeurs décimales possibles
Sans bitde signe
Avec bitde signe
Type unsigned int (langage C) Type U16 en LabVIEW
de 0 à 215 -1 = 32767
de -1 à - 215 = -32768
positif
négatif
Type int (langage C) Type I16 en LabVIEW
Complément à deux
V. Chollet 44
COMMENT CHANGER LA REPRESENTATION DANS LabVIEW
Clic droit sur l'objet correspondant à la
variable
Codage sur 2 octets signé
Codage sur 2 octetsnon signé
V. Chollet 45
Chapitre 2 – LES VARIABLES
1 – DECLARATION DE VARIABLE2 – ENTREES SORTIES DANS LabVIEW3 – INITIALISATION DE VARIABLE4 – TYPE DE VARIABLES
4.1 – CODAGE DES NOMBRES ENTIERS
4.2 – CODAGE DES NOMBRES A VIRGULE FLOTTANTE
V. Chollet 46
CODAGE SUR QUATRE OCTETS
Un nombre à virgule flottante peut toujours s'écrire :
+ 0,662 * 2 - 26
Signe : 1 bit Mantisse : 23 bitsExposant :8 bits
Valeurs extrêmes possibles : Nombre nul : 0Nombre positifs de : 1,21 10 -38 à 3,40 10 38
Nombres négatifs de : - 1,21 10 -38 à - 3,40 10 38
Type : Float en C, Type SGL en LabVIEW
V. Chollet 47
NOMBRES A VIRGULE FLOTTANTE
SIMPLE PRECISION : 4 octets
1 bit 8 bits 23 bits
PRECISION ETENDUE : 10 octets
1 bit 15 bits 64 bits
DOUBLE PRECISION : 8 octets
1 bit 11 bits 52 bits
V. Chollet 48
Chapitre 2 – LES VARIABLES
1 – DECLARATION DE VARIABLE2 – ENTREES SORTIES DANS LabVIEW3 – INITIALISATION DE VARIABLE4 – TYPE DE VARIABLES
4.1 – CODAGE DES NOMBRES ENTIERS4.2 – CODAGE DES NOMBRES A VIRGULE FLOTTANTE
4.3 – CODAGE DES BOOLEENS
V. Chollet 49
Une variable booléenne ne peut prendre que deux valeurs :
Variable Booléenne
Vraie : True
Fausse : False
Codage sur 1 seul bit
N'existe pas dans tous les langages :
OK en labVIEW mais pas en C !
V. Chollet 50
Chapitre 2 – LES VARIABLES
1 – DECLARATION DE VARIABLE2 – ENTREES SORTIES DANS LabVIEW3 – INITIALISATION DE VARIABLE4 – TYPE DE VARIABLES
4.1 – CODAGE DES NOMBRES ENTIERS4.2 – CODAGE DES NOMBRES A VIRGULE FLOTTANTE4.3 – CODAGE DES BOOLEENS
5 – FORMATS D'AFFICHAGE
V. Chollet 51
V. Chollet 52
V. Chollet 53
Chapitre 2 – LES VARIABLES
1 – DECLARATION DE VARIABLE2 – ENTREES SORTIES DANS LabVIEW3 – INITIALISATION DE VARIABLE4 – TYPE DE VARIABLES
4.1 – CODAGE DES NOMBRES ENTIERS4.2 – CODAGE DES NOMBRES A VIRGULE FLOTTANTE4.3 – CODAGE DES BOOLEENS
5 – FORMATS D'AFFICHAGE
6 - EXERCICES
V. Chollet 54
EXERCICE 2.1
Reprendre le programme de l’exercice 1.1 et modifier le type des variables a et b. Exécuter le programme, noter et commenter les résultats surprenants obtenus.
EXERCICE 2.2
Réaliser un programme qui calcule les racines d’une équation du second degré uniquement si le discriminant est > 0.On pourra utiliser la boîte de calcul.
EXERCICE 2.3
Réaliser un programme qui convertit un nombre de mois, de jours, d’heures, de minutes et de secondes en secondes.
EXERCICE 2.4
Réaliser un programme qui convertit un nombre de secondes en mois, jours, heures, minutes et secondes.
V. Chollet 55
Chapitre 3 – LES TESTS
1 – EXEMPLE
V. Chollet 56
Contact fin de course
Le wagon doit s'arrêter quand il rencontre l'obstacle.
Organigramme Pseudo codeVariable Mav booléenneVariable contact booléenneMav = 1Lire contactSi contact = 1
alors Mav = 0 sinon « aller à 4ème ligne »finnon
Marche avant
Contact appuyé ?oui
Arrêt moteur
Lire contact
Remarque : dans la ligne Mav=1, = est un opérateur d'affectation. Il s'agit en effet de remplir l'emplacement mémoire réservé à la variable Mav, avec la valeur 1.
V. Chollet 57
Chapitre 3 – LES TESTS
1 – EXEMPLE
2 - DEFINITION
V. Chollet 58
Une structure conditionnelle (structure de choix) permet de réaliser une suite d'instructions ou une autre, en fonction du résultat d'un test.
Début
Conditionoui
Instructions 1
non
Instructions 2
Suite
DébutSi condition vraie
alors instructions 1sinon instructions 2
Suite
En LabVIEW : exécution d'un diagramme ou d'un autre suivant le résultat vrai ou faux d'un test
V. Chollet 59
Chapitre 3 – LES TESTS
1 – EXEMPLE2 – DEFINITION
3 – DANS LabVIEW
V. Chollet 60
Diagramme délimité, exécuté si condition vraie
Condition à écrire
Cliquer pour visualiser le diagramme réalisé si condition fausse
Un seul diagramme visible à la fois
V. Chollet 61
Le diagramme caché
LaLa condition : met en jeux un opérateur de comparaison Le résultat booléen de la
condition est connecté au sélecteur « ? »
La transmission des données se fait via un « tunnel » d'entrée ou de sortie.
Les tunnels de sortie doivent être reliés dans les deux
diagrammes conditionnels
V. Chollet 62
Chapitre 3 – LES TESTS
1 – EXEMPLE2 – DEFINITION3 – DANS LabVIEW
4 – LA CONDITION
V. Chollet 63
La comparaison peut être simple : elle met en oeuvre un opérateur de comparaison (>, <, etc ... ou d'égalité) comme dans l'exemple précédent.
Elle peut être plus complexe et mettre en oeuvre également des opérateurs logiques.
V. Chollet 64
Chapitre 3 – LES TESTS
1 – EXEMPLE2 – DEFINITION3 – DANS LabVIEW4 – LA CONDITION
5 - IMBRICATION
V. Chollet 65
C'est insuffisant
Vrai
Les structures conditionnelles peuvent être imbriquées
Diagramme caché
V. Chollet 66
Chapitre 3 – LES TESTS
1 – EXEMPLE2 – DEFINITION3 – DANS LabVIEW4 – LA CONDITION5 – IMBRICATION
6 - EXERCICES
V. Chollet 67
EXERCICE 3.1
Ecrire un programme qui : compare deux nombres a et ballume une led si a > baffiche sur un afficheur numérique a si a < baffiche b sur le même afficheur si a > b.
EXERCICE 3.2
Reprendre le programme de l’exercice 2.2 de calcul des racines de l’équation du second degré et traiter en utilisant la structure conditionnelle tous les cas possibles en fonction de la valeur du discriminant. On utilisera la représentation complexe pour les indicateurs numériques affichant les solutions de l’équation.
V. Chollet 68
Chapitre 6 – LES BOUCLES
1 – EXEMPLE 1
V. Chollet 69
Contact fin de course
Le wagon doit s'arrêter quand il rencontre l'obstacle.
Organigramme
Pseudo codeVariable Mav booléenneVariable contact booléenneMav = 1Faire tant que contact = 0
Lire contactMav = 0fin
Ici, on lit l'état du contact tant qu'il n 'a pas été enfoncé
non
Marche avant
Contact appuyé ?oui
Arrêt moteur
Lire contact
V. Chollet 70
Chapitre 6 – LES BOUCLES
1 – EXEMPLE 1
2 – DEFINITION BOUCLE WHILE
V. Chollet 71
La boucle While permet la répétition d'une suite d'instructions tant qu' une condition est vraie.
Début
Conditionoui
Instructions à répéter
non
Suite
Instructions du débutFaire
instructions à répétertant que condition
suite du programme
While = Faire... tant que ....
Toujours réalisées au moins une fois !
Remarque : Le nombre d'itérations est inconnu à priori
V. Chollet 72
Chapitre 6 – LES BOUCLES
1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE
3 – BOUCLE WHILE SOUS LabVIEW
V. Chollet 73
Diagramme répété
Terminal conditionnel
Terminal d'itération : compte les répétitions
V. Chollet 74
Attente (configurée à 1s)
2 possibilités
Pseudo code correspondant :
Variable N type entierVariable compt type entierN=100Faire
compt=N-1afficher comptattendre 1stant que N >0
Fin
EXEMPLE : Compte à rebour temporisé à la seconde
V. Chollet 75
Chapitre 6 – LES BOUCLES
1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE3 – BOUCLE WHILE SOUS LabVIEW
4 – EXEMPLE 2
V. Chollet 76
Le wagon doit faire 10 aller-retours.
Début
i = 9oui
i = 0
non
Fin
aller-retour
i = i+1
Organigramme
Pseudo code
La variable i compte les répétitions(itérations)
Variable i type entierPour i = 0 à 9
aller-retouri = i+1
fin
V. Chollet 77
Chapitre 6 – LES BOUCLES
1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE3 – BOUCLE WHILE SOUS LabVIEW4 – EXEMPLE 2
5 – DEFINITION BOUCLE FOR
V. Chollet 78
Suite
Instructions à répéter
i i+1
La boucle FOR permet la répétition d'une suite d'instruction un nombre prédéterminé de fois
Instructions du débutPour i = 0 à N-1, faire :
instructions à répéteri i+1
suite du programme
FOR = Pour ... faire ...
Début
i = N-1oui
i 0
non
Organigramme
Non réalisé si N = 0
Remarque : Le nombre d'itérations est déterminé à priori
V. Chollet 79
Chapitre 6 – LES BOUCLES
1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE3 – BOUCLE WHILE SOUS LabVIEW4 – EXEMPLE 25 – DEFINITION BOUCLE FOR
6 – BOUCLE FOR SOUS LabVIEW
V. Chollet 80
Diagramme répété
Terminal d'itération : compte les répétitions
Nombre de tours de boucle
Avec 10 tours de boucle, i évoluera de 0 à 9
V. Chollet 81
Chapitre 6 – LES BOUCLES
1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE3 – BOUCLE WHILE SOUS LabVIEW4 – EXEMPLE 25 – DEFINITION BOUCLE FOR6 – BOUCLE FOR SOUS LabVIEW
7 – COMMANDES ET INDICATEURS DANS OU HORS DE LA BOUCLE
V. Chollet 82
Terminal d'entrée hors de la boucle : Valeur transmise au premier tour de boucle.
Toute intervention de l'utilisateurdevient inutile
Terminal de sortie hors de la boucle : Valeur obtenue au dernier tour de boucle
Terminaux dans la boucle : Modifications par l'utilisateur
prises en compte
V. Chollet 83
Chapitre 6 – LES BOUCLES
1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE3 – BOUCLE WHILE SOUS LabVIEW4 – EXEMPLE 25 – DEFINITION BOUCLE FOR6 – BOUCLE FOR SOUS LabVIEW7 – COMMANDES ET INDICATEURS DANS OU HORS DE LA BOUCLE
8 - INDEXATION
V. Chollet 84
Pas d'indexation : la dernière valeur
calculée au dernier tourde boucle est transmise
via le tunnel de sortie
indexation : un tableau des valeurscalculées à chaque tour de boucleest transmis via le tunnel de sortie
Le terminal de sortie doit être compatible avec l'option choisie !
V. Chollet 85
Pointer le tunnel de sortiepuis clic droit pour activer
ou désactiver l'indexation
V. Chollet 86
L'indexation est possible pour les deux types de boucles :
boucle while ou boucle for
V. Chollet 87
Chapitre 6 – LES BOUCLES
1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE3 – BOUCLE WHILE SOUS LabVIEW4 – EXEMPLE 25 – DEFINITION BOUCLE FOR6 – BOUCLE FOR SOUS LabVIEW7 – COMMANDES ET INDICATEURS DANS OU HORS DE LA BOUCLE8 – INDEXATION
9 - EXERCICES
V. Chollet 88
Exercice 4.1
Réaliser un programme qui génère et affiche toutes les secondes un nombre aléatoire entier compris entre 0 et 20 tant que l’on n’a pas appuyé sur un bouton STOP.Afficher également la moyenne des derniers entiers générés sur un afficheur numérique.
Exercice 4.2
Réaliser un programme qui calcule n! (factorielle n).n est un nombre entier positif
On rappelle que n! = n*(n-1)*(n-2)* …. 2*1 et que 0! = 1
Exercice 4.3
Réaliser un programme qui affiche successivement toutes les secondes les 20 premières valeurs de la suite géométrique définie par son premier terme u0 et sa raison q entrés au clavier sur des afficheurs numériques.
Rappel : un = u0 * q n
V. Chollet 89
Chapitre 7 – TABLEAUX
1 – DEFINITION
V. Chollet 90
Un tableau permet de regrouper plusieurs variables numériques de même type sous une même appellation.
Les différents éléments du tableau (array) sont alors repérés par un indice (index).
Le nombre N d’éléments du tableau constitue sa taille (array size)
V. Chollet 91
Déclarer un tableau = Réserver N « étages » d'un type donné.
LA MEMOIRE :
Empilement d'octets
N est le nombre d'éléments du tableau
Exemple : Tableau nommé Tab de 3 entiers type U8
Tab[0]Tab[1]Tab[2]
Chaque élément du tableau est repéré par un indice i allant de 0 à N-1
Les trois éléments se retrouvent à trois adresses différentes qui se suivent
V. Chollet 92
Chapitre 7 – TABLEAUX
1 – DEFINITION
2 – TABLEAUX DANS LabVIEW
Clic droit sur la face avant
Quand on le dépose, le tableau est vide !!
Tableau de variables numériquesIndice du 1er
élément visible
Il faut remplir le tabeauavec un objet
(ici une commande numérique)
V. Chollet 94
Tableau de commandes Tableaux d'indicateurs
booléens
Variables numériques
Chaînes de caractères
V. Chollet 95
Tableau vide
Tableau de variables numériques
Le terminal correspondant dans le diagramme :
V. Chollet 96
Chapitre 7 – TABLEAUX ET CHAINES
1 – LES TABLEAUX2 – TABLEAUX DANS LabVIEW
3 – OPERATIONS SUR LES TABLEAUX
V. Chollet 97
Les opérateurs arithmétiques et booléens classiques peuvent traiter les tableaux.
V. Chollet 98
Le trait épais indique une donnée de type tableau
Il existe en plus des fonctions spéciales pour les tableaux
quelques exemples ...
Indice du 1er élément visible
V. Chollet 99
Chapitre 7 – TABLEAUX ET CHAINES
1 – LES TABLEAUX2 – TABLEAUX DANS LabVIEW3 – OPERATIONS SUR LES TABLEAUX
4 – BOUCLES ET TABLEAUX 4.1 – Indexation en entrée
V. Chollet 100
N. B : Lors du câblage, l'indexation se réalise automatiquement.
Indexation : Au ième tour de boucle, le ième élément du tableau
est transmis par le tunnel d'entrée.
V. Chollet 101
Tous les éléments du tableausont multipliés par i
à chaque tour de boucle
Clic droit sur le tunnel d'entrée pour activer/désactiver l'indexation
Pas d'indexation : le tableau est transmisà chaque tour de boucle dans son intégralité
par le tunnel d'entrée.
V. Chollet 102
Chapitre 7 – TABLEAUX
1 – LES TABLEAUX2 – TABLEAUX DANS LabVIEW3 – OPERATIONS SUR LES TABLEAUX
4 – BOUCLES ET TABLEAUX 4.1 – Indexation en entrée
4.2 – Indexation en sortie
V. Chollet 103
Pas d'indexation : la dernière valeur
calculée au dernier tourde boucle est transmise
via le tunnel de sortie
indexation : un tableau des valeurscalculées à chaque tour de boucleest transmis via le tunnel de sortie
Le terminal de sortie doit être compatible avec l'option choisie !
V. Chollet 104
Pointer le tunnel de sortiepuis clic droit pour activer
ou désactiver l'indexation
V. Chollet 105
L'indexation est possible pour les deux types de boucles :
boucle while ou boucle for
V. Chollet 106
Chapitre 7 – TABLEAUX
1 – LES TABLEAUX2 – TABLEAUX DANS LabVIEW3 – OPERATIONS SUR LES TABLEAUX4 – BOUCLES ET TABLEAUX
4.1 – Indexation en entrée4.2 – Indexation en sortie
5 - EXERCICES
V. Chollet 107
EXERCICE 5.1
Réaliser un programme qui génére automatiquement un tableau de 10 nombres entiers compris entre 0 et 20.
Modifier ce programme pour afficher successivement toutes les secondes les éléments du tableau sur un afficheur numérique.
EXERCICE 5.2
Réaliser un programme qui génére automatiquement un tableau de 10 nombres entiers compris entre 0 et 20. (faire un copier coller de la 1ère
partie de l’exercice précédent).
Une fois le tableau généré, on souhaite éliminer les 5 éléments les plus petits sans les remplacer, et afficher sur un afficheur numérique la moyenne des éléments du tableau.
V. Chollet 108
EXERCICE 5.3 : abscisses d’une échelle linéaire.
Générer un tableau de N+1 points d’abscisse x compris entre a et b d’une graduation linéaire. N, a et b sont des commandes numériques saisies par l’utilisateur du programme.
ECHELLE LINEAIRE
Pas : distance entre deux points. On a : pas = (b – a) / N
Passage d'un point à l'autre : xn = x n-1 + pas
Ainsi : xn = a + n . pas
On a une suite arithmétique de premier terme x0 = a de raison q = pas
a pas b
V. Chollet 109
EXERCICE 5.4 : abscisses d’une échelle logarithmique
Générer un tableau de N+1 points d’abscisse x compris entre a et b d’une échelle logarithmique. N, a et b sont des commandes numériques saisies par l’utilisateur du programme. ECHELLE LOGARITHMIQUE :
Pas : distance entre deux points. On a : pas = (log b – log a) / N = log (b/a)1/N
Passage d'un point à l'autre : log xn = log x n-1 + pas
Ainsi : log xn = log a + n . pas = log a + n log (b/a)1/N = log a + log (b/a)n/N
= log [ a . (b/a)n/N ]
Donc : xn = a . (b/a)n/N <=> xn = a . (b/a)n-1/N . (b/a)1/N
xn = xn-1 . (b/a)1/N ou xn = a . [(b/a)1/N ] n
On a une suite géométrique de premier terme x0 = a et de raison q = (b/a)1/N
loga pas logb