IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES DIAPORAMA : initiation à LabVIEW Vincent Chollet Année Universitaire 2006-2007
IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES MODULE MC 3-3 : INFORMATIQUE Contenu du module : 1,5 h / sem / groupe TD -> 4 semaine puis 3h TP Ch 1 INTRODUCTION A LA PROGRAMMATION Ch 2 LES VARIABLES Ch 3 - LES TESTS Ch 4 LES BOUCLES Ch 5 LES TABLEAUX Ch 6 LES GRAPHES Ch 7 REGISTRES A DECALAGE OU NOEUDS DE RETROACTION Ch 8 LES SEQUENCES Ch 9 COMPLEMENTS Le cours est illustré à l'aide d'exemples en langage graphique LabVIEW 2
Chapitre 1 INTRODUCTION A LA PROGRAMMATION 1 LA PROGRAMMATION 3
L'ordinateur en fonctionnement passe son temps à réaliser des tâches pour lesquelles il a été programmé. Des Programmes à tous les niveaux : Logiciels Utilisateur Traitement de texte, Tableur, Retouche photo, lecture DVD Séquenceur Midi Jeux Disque Dur ROM Je reste utilisateur Système d'exploitation DOS, Windows, Linux BIOS Mise en route 4
Texte Son Images mesures Traitement Informatique Données Entrées Résultats Texte Son Images mesures Sorties 5
Je veux réaliser mes propres applications Texte => Fichier source COMPILATEUR Langage de programmation Logiciel installé dans l'ordinateur Application autonome Fichier exécutable É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 6
Langages de programmation Langage Evolués : C, Pascal, Fortran, Basic Visual Basic, LabVIEW Assembleur Langage Machine Compilation = Traduction Le seul compréhensible par l'ordinateur 7
Chapitre 1 INTRODUCTION A LA PROGRAMMATION 1 LA PROGRAMMATION 2 ALGORITHME 8
É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 Algorithme Algorithmique Suite d'instructions qui une fois exécutées correctement conduit à un résultat donné Science qui étudie la structure logique des programmes 9
Algorithme : indépendant du langage Pascal C Fortran Algorithme LabVIEW Basic Visual Basic L'algorithme se ramène à une combinaison de 4 famille d'instructions : - Affectation de variables - Lecture écriture - Tests 10 - Boucles
Chapitre 1 INTRODUCTION A LA PROGRAMMATION 1 LA PROGRAMMATION 2 ALGORITHME 3 QU'EST CE QUE LABVIEW? 11
1985 : Apparition de LabVIEW, produit par la société américaine National Instrument 1995 : Enseignement en Mesures Physiques 2007 : Version 8 12
Chapitre 1 INTRODUCTION A LA PROGRAMMATION 1 LA PROGRAMMATION 2 ALGORITHME 3 QU'EST CE QUE LABVIEW? 4 STRUCTURE D'UN PROGRAMME LABVIEW 13
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 14
Chapitre 1 INTRODUCTION A LA PROGRAMMATION 1 LA PROGRAMMATION 2 ALGORITHME 3 QU'EST CE QUE LABVIEW? 4 STRUCTURE D'UN PROGRAMME LABVIEW 5 LES ENTREES SORTIES 15
DEFINITION DES ENTREES SORTIES Variables d entrées Programme Saisies au Clavier Acquises par carte d'acquisition Délivrées par appareil de mesure Tirées d'un fichier etc... Variables de sortie Affichage sur écran Graphique sur écran Commandes délivrées par l'ordinateur 16
ENTREES SORTIES DANS LABVIEW Les entrées sorties sont déposées sur la face avant sous la forme d objets tels que : Entrées : boutons poussoirs interrupteurs potentiomètres rotatifs ou à glissière Afficheur numérique en lecture. Etc Sorties : écrans d oscilloscope Afficheurs numériques en écriture (affichage) Vu-mètres Etc 17
18
Chapitre 1 INTRODUCTION A LA PROGRAMMATION 1 LA PROGRAMMATION 2 ALGORITHME 3 QU'EST CE QUE LABVIEW? 4 STRUCTURE D'UN PROGRAMME LABVIEW 5 LES ENTREES SORTIES 6 LE PROGRAMME LABVIEW 19
Le programme est écrit dans une deuxième fenêtre FACE ARRIERE : DIAGRAMME 1ère variable FACE AVANT 2ème variable 20
Palette fonction : Clic droit dans le diagramme Des opérateurs arithmétiques Des opérateurs booléens Des fonctions de calcul toutes prêtes Des structures de programmation (boucles, tests etc...) 21
22
La palette d'outils (Tool Palette) Pour agir sur les commandes Texte Bouger l'ensemble(diag ou FA) Pipette (copier une couleur) Pour câbler Placer un point d'arrêt Colorer un objet Poser une sonde (probe) 23
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 24
Chapitre 1 INTRODUCTION A LA PROGRAMMATION 1 LA PROGRAMMATION 2 ALGORITHME 3 QU'EST CE QUE LABVIEW? 4 STRUCTURE D'UN PROGRAMME LABVIEW 5 LES ENTREES SORTIES 6 LE PROGRAMME LABVIEW 7 - EXERCICES 25
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. 26
Chapitre 2 LES VARIABLES 1 DECLARATION DE VARIABLE 27
Langage Machine Texte Son Images Mesures Le seul compréhensible par l'ordinateur Traitement d'informations binaires Information binaire : Voir cours module Informatique d'instrumentation PC : Circuits numériques Tensions possibles : +5V ou 0V Binary Unit : bit Groupés par 8 : 1 octet État logique 1 État logique 0 28
Un programme manipule des valeurs contenues dans des variables Variables d entrées Programme Variables de sortie Un emplacement mémoire Repéré par une adresse. Rempli avec la valeur de la variable Cette valeur est codée en binaire 29
Un programme manipule des valeurs contenues dans des variables. A chaque variable correspond un emplacement mémoire Adresse précise LA MEMOIRE : Empilement d'octets Contenu : valeur prise par la variable au cours du programme. Langage évolué : le programmeur ne gère pas les adresses 30
Déclarer une variable = effectuer une réservation Définir : - Un nom (une étiquette) - Ce qu'on va mettre dedans (type) Une adresse (gérée par l'ordinateur) Une taille d'emplacement en nombre d'octets Réserver une chambre dans un hôtel : - Un nom - Une adresse, - Une taille de chambre 31
Chapitre 2 LES VARIABLES 1 DECLARATION DE VARIABLE 2 ENTREES SORTIES DANS LabVIEW 32
PALETTE DE COMMANDES : ENTREES Les commandes (sauf tableaux) Palette complète : il suffit de la parcourir pour tout comprendre (ou presque) 33
PALETTE DE COMMANDES : SORTIES Les indicateurs (sauf tableaux) Palette complète : On retrouve les commandes et les indicateurs 34
Chapitre 2 LES VARIABLES 1 DECLARATION DE VARIABLE 2 ENTREES SORTIES DANS LabVIEW 3 INITIALISATION DE VARIABLE 35
Objet : bouton rotatif muni de son afficheur numérique 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 36
Chapitre 2 LES VARIABLES 1 DECLARATION DE VARIABLE 2 ENTREES SORTIES DANS LabVIEW 3 INITIALISATION DE VARIABLE 4 TYPE DE VARIABLES 37
Déclarer une variable = effectuer une réservation Définir : - Un nom (une étiquette) - Ce qu'on va mettre dedans (type) Un type => une couleur en LabVIEW Une adresse (gérée par l'ordinateur) Une taille d'emplacement EN OC TETS pas en m²! 38
Chapitre 2 LES VARIABLES 1 DECLARATION DE VARIABLE 2 ENTREES SORTIES DANS LabVIEW 3 INITIALISATION DE VARIABLE 4 TYPE DE VARIABLES 4.1 CODAGE DES NOMBRES ENTIERS 39
CODAGE SUR UN OCTET Sans bit de signe de 00000000 à 11111111 Valeurs décimales possibles de 0 à 8-1 = 255 2 Type unsigned char (langage C) Type U8 en LabVIEW A vec bit de signe f i t i s o p Type char (langage C) Type I8 en LabVIEW de 00000000 à 01111111 de 0 7 à 2-1 = 127 de 11111111 à 10000000 f i t a g é n Complément à deux de -1 à 7-2 = -128 40
COMMENT CHANGER LA REPRESENTATION DANS LabVIEW Clic droit sur l'objet correspondant à la variable Codage sur un octet signé Codage sur un octet non signé 41
ANNEXE : Codage des nombres signés code complément à deux Soit une variable a = - 13 Conversion Décimal-Binaire 13 2 1 6 2 0 3 2 1 1 13 décimal = 00001101 en binaire Conversion Décimal-Binaire, complément à deux d 13 => b 0000 1101 complément : 1111 0010 plus 1 : 0000 0001 = 1111 0011-13 décimal = 11110011 en binaire Bit de signe 42
CODAGE SUR DEUX OCTETS Sans bit de signe Valeurs décimales possibles de 0 à 16-1 = 65535 2 Type unsigned int (langage C) Type U16 en LabVIEW A vec bit de signe f i t i s o p 15 de 0 à 2 de -1 à -2-1 = 32767 Type int (langage C) Type I16 en LabVIEW Complément à deux f i t a g é n 15 = -32768 43
COMMENT CHANGER LA REPRESENTATION DANS LabVIEW Clic droit sur l'objet correspondant à la variable Codage sur 2 octets signé Codage sur 2 octets non signé 44
Chapitre 2 LES VARIABLES 1 DECLARATION DE VARIABLE 2 ENTREES SORTIES DANS LabVIEW 3 INITIALISATION DE VARIABLE 4 TYPE DE VARIABLES 4.1 CODAGE DES NOMBRES ENTIERS 4.2 CODAGE DES NOMBRES A VIRGULE FLOTTANTE 45
CODAGE SUR QUATRE OCTETS Un nombre à virgule flottante peut toujours s'écrire : + 0,662 * 2 Signe : 1 bit - 26 Mantisse : 23 bits Exposant :8 bits Valeurs extrêmes possibles : Nombre nul : 0 Nombre 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 46
NOMBRES A VIRGULE FLOTTANTE SIMPLE PRECISION : 4 octets 1 bit 8 bits 23 bits DOUBLE PRECISION : 8 octets 1 bit 11 bits 52 bits PRECISION ETENDUE : 10 octets 1 bit 15 bits 64 bits 47
Chapitre 2 LES VARIABLES 1 DECLARATION DE VARIABLE 2 ENTREES SORTIES DANS LabVIEW 3 INITIALISATION DE VARIABLE 4 TYPE DE VARIABLES 4.1 CODAGE DES NOMBRES ENTIERS 4.2 CODAGE DES NOMBRES A VIRGULE FLOTTANTE 4.3 CODAGE DES BOOLEENS 48
Une variable booléenne ne peut prendre que deux valeurs : Vraie : True Variable Booléenne Fausse : False Codage sur 1 seul bit N'existe pas dans tous les langages : OK en labview mais pas en C! 49
Chapitre 2 LES VARIABLES 1 DECLARATION DE VARIABLE 2 ENTREES SORTIES DANS LabVIEW 3 INITIALISATION DE VARIABLE 4 TYPE DE VARIABLES 4.1 CODAGE DES NOMBRES ENTIERS 4.2 CODAGE DES NOMBRES A VIRGULE FLOTTANTE 4.3 CODAGE DES BOOLEENS 5 FORMATS D'AFFICHAGE 50
51
52
Chapitre 2 LES VARIABLES 1 DECLARATION DE VARIABLE 2 ENTREES SORTIES DANS LabVIEW 3 INITIALISATION DE VARIABLE 4 TYPE DE VARIABLES 4.1 CODAGE DES NOMBRES ENTIERS 4.2 CODAGE DES NOMBRES A VIRGULE FLOTTANTE 4.3 CODAGE DES BOOLEENS 5 FORMATS D'AFFICHAGE 6 - EXERCICES 53
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. 54
Chapitre 3 LES TESTS 1 EXEMPLE 55
Le wagon doit s'arrêter quand il rencontre l'obstacle. Contact fin de course Organigramme Pseudo code Marche avant Lire contact oui Contact appuyé? non Variable Mav booléenne Variable contact booléenne Mav = 1 Lire contact Si contact = 1 alors Mav = 0 sinon «aller à 4ème ligne» fin Remarque : dans la ligne Mav=1, = est Arrêt moteur 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. 56
Chapitre 3 LES TESTS 1 EXEMPLE 2 - DEFINITION 57
Début Si condition vraie alors instructions 1 sinon instructions 2 Suite Début oui Condition Instructions 1 non Instructions 2 Suite 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. En LabVIEW : exécution d'un diagramme ou d'un autre suivant le résultat vrai ou faux d'un test 58
Chapitre 3 LES TESTS 1 EXEMPLE 2 DEFINITION 3 DANS LabVIEW 59
Cliquer pour visualiser le diagramme réalisé si condition fausse Diagramme délimité, exécuté si condition vraie Condition à écrire Un seul diagramme visible à la fois 60
La transmission des données se fait via un «tunnel» d'entrée ou de sortie. La La condition : met en jeux un opérateur de comparaison Les tunnels de sortie doivent être reliés dans les deux diagrammes conditionnels Le résultat booléen de la condition est connecté au sélecteur «?» Le diagramme caché 61
Chapitre 3 LES TESTS 1 EXEMPLE 2 DEFINITION 3 DANS LabVIEW 4 LA CONDITION 62
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. 63
Chapitre 3 LES TESTS 1 EXEMPLE 2 DEFINITION 3 DANS LabVIEW 4 LA CONDITION 5 - IMBRICATION 64
Les structures conditionnelles peuvent être imbriquées Vrai Diagramme caché C'est insuffisant 65
Chapitre 3 LES TESTS 1 EXEMPLE 2 DEFINITION 3 DANS LabVIEW 4 LA CONDITION 5 IMBRICATION 6 - EXERCICES 66
EXERCICE 3.1 Ecrire un programme qui : compare deux nombres a et b allume une led si a > b affiche sur un afficheur numérique a si a < b affiche 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. 67
Chapitre 6 LES BOUCLES 1 EXEMPLE 1 68
Le wagon doit s'arrêter quand il rencontre l'obstacle. Contact fin de course Organigramme Ici, on lit l'état du contact tant qu'il n 'a pas été enfoncé Marche avant Pseudo code Lire contact oui Contact appuyé? non Variable Mav booléenne Variable contact booléenne Mav = 1 Faire tant que contact = 0 Lire contact Mav = 0 fin Arrêt moteur 69
Chapitre 6 LES BOUCLES 1 EXEMPLE 1 2 DEFINITION BOUCLE WHILE 70
La boucle While permet la répétition d'une suite d'instructions tant qu' une condition est vraie. Instructions du début Faire instructions à répéter tant que condition suite du programme Début Instructions à répéter non Condition oui While = Faire... tant que... Toujours réalisées au moins une fois! Suite Remarque : Le nombre d'itérations est inconnu à priori 71
Chapitre 6 LES BOUCLES 1 EXEMPLE 1 2 DEFINITION BOUCLE WHILE 3 BOUCLE WHILE SOUS LabVIEW 72
Diagramme répété Terminal conditionnel Terminal d'itération : compte les répétitions 73
Pseudo code correspondant : Variable N type entier Variable compt type entier N=100 Faire compt=n-1 afficher compt attendre 1s tant que N >0 Fin Attente (configurée à 1s) 2 possibilités EXEMPLE : Compte à rebour temporisé à la seconde 74
Chapitre 6 LES BOUCLES 1 EXEMPLE 1 2 DEFINITION BOUCLE WHILE 3 BOUCLE WHILE SOUS LabVIEW 4 EXEMPLE 2 75
Le wagon doit faire 10 aller-retours. Organigramme Début La variable i compte les répétitions (itérations) i = 0 oui i=9 non aller-retour i = i+1 V. Chollet Fin Pseudo code Variable i type entier Pour i = 0 à 9 aller-retour i = i+1 fin 76
Chapitre 6 LES BOUCLES 1 EXEMPLE 1 2 DEFINITION BOUCLE WHILE 3 BOUCLE WHILE SOUS LabVIEW 4 EXEMPLE 2 5 DEFINITION BOUCLE FOR 77
La boucle FOR permet la répétition d'une suite d'instruction un nombre prédéterminé de fois Instructions du début Pour i = 0 à N-1, faire : instructions à répéter i i+1 suite du programme Organigramme Début i oui 0 non i = N-1 FOR = Pour... faire... Instructions à répéter i Suite i+1 Remarque : Le nombre d'itérations est déterminé à priori Non réalisé si N = 0 78
Chapitre 6 LES BOUCLES 1 EXEMPLE 1 2 DEFINITION BOUCLE WHILE 3 BOUCLE WHILE SOUS LabVIEW 4 EXEMPLE 2 5 DEFINITION BOUCLE FOR 6 BOUCLE FOR SOUS LabVIEW 79
Avec 10 tours de boucle, i évoluera de 0 à 9 Nombre de tours de boucle Diagramme répété Terminal d'itération : compte les répétitions 80
Chapitre 6 LES BOUCLES 1 EXEMPLE 1 2 DEFINITION BOUCLE WHILE 3 BOUCLE WHILE SOUS LabVIEW 4 EXEMPLE 2 5 DEFINITION BOUCLE FOR 6 BOUCLE FOR SOUS LabVIEW 7 COMMANDES ET INDICATEURS DANS OU HORS DE LA BOUCLE 81
Terminaux dans la boucle : Modifications par l'utilisateur prises en compte Terminal d'entrée hors de la boucle : Valeur transmise au premier tour de boucle. Toute intervention de l'utilisateur devient inutile Terminal de sortie hors de la boucle : Valeur obtenue au dernier tour de boucle 82
Chapitre 6 LES BOUCLES 1 EXEMPLE 1 2 DEFINITION BOUCLE WHILE 3 BOUCLE WHILE SOUS LabVIEW 4 EXEMPLE 2 5 DEFINITION BOUCLE FOR 6 BOUCLE FOR SOUS LabVIEW 7 COMMANDES ET INDICATEURS DANS OU HORS DE LA BOUCLE 8 - INDEXATION 83
Pas d'indexation : la dernière valeur calculée au dernier tour de boucle est transmise via le tunnel de sortie indexation : un tableau des valeurs calculées à chaque tour de boucle est transmis via le tunnel de sortie Le terminal de sortie doit être compatible avec l'option choisie! 84
Pointer le tunnel de sortie puis clic droit pour activer ou désactiver l'indexation 85
L'indexation est possible pour les deux types de boucles : boucle while ou boucle for 86
Chapitre 6 LES BOUCLES 1 EXEMPLE 1 2 DEFINITION BOUCLE WHILE 3 BOUCLE WHILE SOUS LabVIEW 4 EXEMPLE 2 5 DEFINITION BOUCLE FOR 6 BOUCLE FOR SOUS LabVIEW 7 COMMANDES ET INDICATEURS DANS OU HORS DE LA BOUCLE 8 INDEXATION 9 - EXERCICES 87
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 88
Chapitre 7 TABLEAUX 1 DEFINITION 89
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) 90
Déclarer un tableau = Réserver N «étages» d'un type donné. N est le nombre d'éléments du tableau Exemple : Tableau nommé Tab de 3 entiers type U8 Chaque élément du tableau est repéré par un indice i allant de 0 à N-1 LA MEMOIRE : Empilement d'octets Tab[0] Tab[1] Tab[2] Les trois éléments se retrouvent à trois adresses différentes qui se suivent 91
Chapitre 7 TABLEAUX 1 DEFINITION 2 TABLEAUX DANS LabVIEW 92
Clic droit sur la face avant Il faut remplir le tabeau avec un objet (ici une commande numérique) Quand on le dépose, le tableau est vide!! Indice du 1er élément visible Tableau de variables numériques
Tableau de commandes Tableaux d'indicateurs booléens Variables numériques Chaînes de caractères 94
Le terminal correspondant dans le diagramme : Tableau vide Tableau de variables numériques 95
Chapitre 7 TABLEAUX ET CHAINES 1 LES TABLEAUX 2 TABLEAUX DANS LabVIEW 3 OPERATIONS SUR LES TABLEAUX 96
Les opérateurs arithmétiques et booléens classiques peuvent traiter les tableaux. 97
Indice du 1er élément visible Il existe en plus des fonctions spéciales pour les tableaux quelques exemples... Le trait épais indique une donnée de type tableau 98
Chapitre 7 TABLEAUX ET CHAINES 1 LES TABLEAUX 2 TABLEAUX DANS LabVIEW 3 OPERATIONS SUR LES TABLEAUX 4 BOUCLES ET TABLEAUX 4.1 Indexation en entrée 99
Indexation : Au ième tour de boucle, le ième élément du tableau est transmis par le tunnel d'entrée. N. B : Lors du câblage, l'indexation se réalise automatiquement. 100
Tous les éléments du tableau sont 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. 101
Chapitre 7 TABLEAUX 1 LES TABLEAUX 2 TABLEAUX DANS LabVIEW 3 OPERATIONS SUR LES TABLEAUX 4 BOUCLES ET TABLEAUX 4.1 Indexation en entrée 4.2 Indexation en sortie 102
Pas d'indexation : la dernière valeur calculée au dernier tour de boucle est transmise via le tunnel de sortie indexation : un tableau des valeurs calculées à chaque tour de boucle est transmis via le tunnel de sortie Le terminal de sortie doit être compatible avec l'option choisie! 103
Pointer le tunnel de sortie puis clic droit pour activer ou désactiver l'indexation 104
L'indexation est possible pour les deux types de boucles : boucle while ou boucle for 105
Chapitre 7 TABLEAUX 1 LES TABLEAUX 2 TABLEAUX DANS LabVIEW 3 OPERATIONS SUR LES TABLEAUX 4 BOUCLES ET TABLEAUX 4.1 Indexation en entrée 4.2 Indexation en sortie 5 - EXERCICES 106
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. 107
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 a pas b 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 108
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 : loga pas logb 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 109