109
IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES DIAPORAMA : initiation à LabVIEW Vincent Chollet – Année Universitaire 2006 - 2007

IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

IUT BELFORT MONTBELIARDDpt MESURES PHYSIQUES

DIAPORAMA : initiation à LabVIEW

Vincent Chollet – Année Universitaire 2006 - 2007

Page 2: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 3: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 3

Chapitre 1 – INTRODUCTION A LA PROGRAMMATION

1 – LA PROGRAMMATION

Page 4: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 5: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 5

Données

Traitement Informatique

Résultats

TexteSonImagesmesures

TexteSonImagesmesures

Entrées Sorties

Page 6: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 7: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 8: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 8

Chapitre 1 – INTRODUCTION A LA PROGRAMMATION1 – LA PROGRAMMATION

2 – ALGORITHME

Page 9: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 10: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 11: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 11

Chapitre 1 – INTRODUCTION A LA PROGRAMMATION1 – LA PROGRAMMATION2 – ALGORITHME

3 – QU'EST CE QUE LABVIEW ?

Page 12: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 12

1985 : Apparition de LabVIEW, produit par la société américaine National Instrument1995 : Enseignement en Mesures Physiques2007 : Version 8

Page 13: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 13

Chapitre 1 – INTRODUCTION A LA PROGRAMMATION1 – LA PROGRAMMATION2 – ALGORITHME3 – QU'EST CE QUE LABVIEW ?

4 – STRUCTURE D'UN PROGRAMME LABVIEW

Page 14: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 15: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 16: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 17: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 18: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 18

Page 19: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 20: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 20

FACE AVANT

1ère variable

2ème variable

FACE ARRIERE : DIAGRAMME

Le programme est écrit dans une deuxième fenêtre

Page 21: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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 ...)

Page 22: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 22

Page 23: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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)

Page 24: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 25: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 26: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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.

Page 27: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 27

Chapitre 2 – LES VARIABLES

1 – DECLARATION DE VARIABLE

Page 28: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 29: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 30: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 31: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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)

Page 32: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 32

Chapitre 2 – LES VARIABLES

1 – DECLARATION DE VARIABLE

2 – ENTREES SORTIES DANS LabVIEW

Page 33: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 33

PALETTE DE COMMANDES : ENTREES

Les commandes (sauf tableaux)

Palette complète : il suffit de la parcourir pour tout comprendre (ou presque)

Page 34: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 34

PALETTE DE COMMANDES : SORTIES

Les indicateurs (sauf tableaux)

Palette complète : On retrouve les commandes et les indicateurs

Page 35: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 35

Chapitre 2 – LES VARIABLES

1 – DECLARATION DE VARIABLE2 – ENTREES SORTIES DANS LabVIEW

3 – INITIALISATION DE VARIABLE

Page 36: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 37: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 37

Chapitre 2 – LES VARIABLES1 – DECLARATION DE VARIABLE2 – ENTREES SORTIES DANS LabVIEW3 – INITIALISATION DE VARIABLE

4 – TYPE DE VARIABLES

Page 38: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 39: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 40: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 41: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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é

Page 42: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 43: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 44: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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é

Page 45: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 46: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 47: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 48: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 49: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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 !

Page 50: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 51: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 51

Page 52: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 52

Page 53: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 54: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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.

Page 55: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 55

Chapitre 3 – LES TESTS

1 – EXEMPLE

Page 56: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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.

Page 57: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 57

Chapitre 3 – LES TESTS

1 – EXEMPLE

2 - DEFINITION

Page 58: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 59: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 59

Chapitre 3 – LES TESTS

1 – EXEMPLE2 – DEFINITION

3 – DANS LabVIEW

Page 60: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 61: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 62: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 62

Chapitre 3 – LES TESTS

1 – EXEMPLE2 – DEFINITION3 – DANS LabVIEW

4 – LA CONDITION

Page 63: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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.

Page 64: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 64

Chapitre 3 – LES TESTS

1 – EXEMPLE2 – DEFINITION3 – DANS LabVIEW4 – LA CONDITION

5 - IMBRICATION

Page 65: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 65

C'est insuffisant

Vrai

Les structures conditionnelles peuvent être imbriquées

Diagramme caché

Page 66: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 66

Chapitre 3 – LES TESTS

1 – EXEMPLE2 – DEFINITION3 – DANS LabVIEW4 – LA CONDITION5 – IMBRICATION

6 - EXERCICES

Page 67: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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.

Page 68: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 68

Chapitre 6 – LES BOUCLES

1 – EXEMPLE 1

Page 69: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 70: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 70

Chapitre 6 – LES BOUCLES

1 – EXEMPLE 1

2 – DEFINITION BOUCLE WHILE

Page 71: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 72: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 72

Chapitre 6 – LES BOUCLES

1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE

3 – BOUCLE WHILE SOUS LabVIEW

Page 73: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 73

Diagramme répété

Terminal conditionnel

Terminal d'itération : compte les répétitions

Page 74: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 75: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 75

Chapitre 6 – LES BOUCLES

1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE3 – BOUCLE WHILE SOUS LabVIEW

4 – EXEMPLE 2

Page 76: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 77: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 77

Chapitre 6 – LES BOUCLES

1 – EXEMPLE 12 – DEFINITION BOUCLE WHILE3 – BOUCLE WHILE SOUS LabVIEW4 – EXEMPLE 2

5 – DEFINITION BOUCLE FOR

Page 78: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 79: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 80: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 81: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 82: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 83: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 84: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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 !

Page 85: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 85

Pointer le tunnel de sortiepuis clic droit pour activer

ou désactiver l'indexation

Page 86: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 86

L'indexation est possible pour les deux types de boucles :

boucle while ou boucle for

Page 87: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 88: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 89: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 89

Chapitre 7 – TABLEAUX

1 – DEFINITION

Page 90: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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)

Page 91: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 92: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 92

Chapitre 7 – TABLEAUX

1 – DEFINITION

2 – TABLEAUX DANS LabVIEW

Page 93: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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)

Page 94: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 94

Tableau de commandes Tableaux d'indicateurs

booléens

Variables numériques

Chaînes de caractères

Page 95: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 95

Tableau vide

Tableau de variables numériques

Le terminal correspondant dans le diagramme :

Page 96: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 96

Chapitre 7 – TABLEAUX ET CHAINES

1 – LES TABLEAUX2 – TABLEAUX DANS LabVIEW

3 – OPERATIONS SUR LES TABLEAUX

Page 97: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 97

Les opérateurs arithmétiques et booléens classiques peuvent traiter les tableaux.

Page 98: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 99: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 100: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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.

Page 101: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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.

Page 102: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 103: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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 !

Page 104: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 104

Pointer le tunnel de sortiepuis clic droit pour activer

ou désactiver l'indexation

Page 105: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

V. Chollet 105

L'indexation est possible pour les deux types de boucles :

boucle while ou boucle for

Page 106: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 107: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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.

Page 108: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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

Page 109: IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

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