IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES. DIAPORAMA : initiation à LabVIEW



Documents pareils
Initiation à LabView : Les exemples d applications :

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

ACQUISITION ANALYSE PRÉSENTATION


Informatique Générale

Rappels sur les suites - Algorithme

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

Programmation C. Apprendre à développer des programmes simples dans le langage C

Algorithme. Table des matières

UE Programmation Impérative Licence 2ème Année

Logiciel de Base. I. Représentation des nombres

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Programmation sous QT

V- Manipulations de nombres en binaire

Bases de programmation. Cours 5. Structurer les données

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d Informatique

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

IV- Comment fonctionne un ordinateur?

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Le langage de programmation Labview IUT1 Grenoble Département GEII1 Année 2007/2008

Plan du cours. Historique du langage Nouveautés de Java 7

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

ALGORITHMIQUE ET PROGRAMMATION En C

Le langage C. Séance n 4

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

La mémoire. Un ordinateur. L'octet. Le bit

Rappels Entrées -Sorties

Conception de circuits numériques et architecture des ordinateurs

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Atelier Travailler vos photos Mars 2015

Démarrer et quitter... 13

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Conservation des documents numériques

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Représentation d un entier en base b

TP 1. Prise en main du langage Python

Algorithmique avec Algobox

l'ordinateur les bases

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Mode Opératoire Windows XP

Codage d information. Codage d information : -Définition-

Création du projet : 1 sur 13

Cours d Algorithmique et de Langage C v 3.0

Table des matières ENVIRONNEMENT

Créer le schéma relationnel d une base de données ACCESS

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Cours Informatique 1. Monsieur SADOUNI Salheddine

Algorithmique et structures de données I

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Transférer et enregistrer les photos sur l'ordinateur

Utilisation du logiciel Epson Easy Interactive Tools

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Représentation des Nombres

Chap III : Les tableaux

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Initiation à la programmation en Python

1.1 L EXPLORATEUR WINDOWS

Note de cours. Introduction à Excel 2007

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Algorithmique et Programmation, IMA

Sélection du contrôleur

UE C avancé cours 1: introduction et révisions

Créer une base de données

Programmation C++ (débutant)/instructions for, while et do...while

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Cyber-base du Pays Martégal. Atelier «Découverte de l ordinateur»

I. Introduction aux fonctions : les fonctions standards

Permis de conduire info

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Licence Sciences et Technologies Examen janvier 2010

L informatique en BCPST

LOGICIEL ALARM MONITORING

GESTION DE L'ORDINATEUR

1 Recherche en table par balayage

Enregistreur sans papier. Interface LON. B Description des interfaces 10.99/

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

Logiciel PICAXE Programming Editor

Transcription:

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