Академический Документы
Профессиональный Документы
Культура Документы
22 novembre 2002
22 novembre 2002
Michel Fiocchi Responsable de l'option Ingnierie des Systmes Embarqus ISMEA Technople de Chteau Gombert 13451 Marseille Cedex 20 fiocchi@ismea.fr
www.ismea.fr
22 novembre 2002
22 novembre 2002
TD5: Chanes de caractres...................................................................95 Exercice N 1: Mise en forme..................................................96 Exercice N 2: Analyse..........................................................102 Exercice N 3: Communication srie....................................108 TD6: Tableaux, clusters et graphes....................................................115 Exercice N 1: Cration d'un tableau..................................116 Exercice N 2: Graphe X-Y...................................................122 Exercice N 3: Graphe ..........................................................128 Exercice N 4: Graphe multicourbes....................................134 Exercice N 5: Curseurs .......................................................138 TD7: Fichiers.......................................................................................145 Exercice N 1: Enregistrement.............................................146 Exercice N 2: Enregistrement document..........................152 Exercice N 3: VI de niveau intermdiaire..........................158 Exercice N 4: Fichier texte...................................................164 Exercice N 5: Fichier de configuration...............................170 TD8: Structures complmentaires......................................................177 Exercice N 1: Structure squence.......................................178 Exercice N 2: Boite de calcul...............................................184 Exercice N 3: Boite onglets...............................................190
22 novembre 2002
22 novembre 2002
Prsente le thme du TD et les points abords. C'est une invitation la consultation de l'aide et des exemples proposs en ligne. Un ou plusieurs exercices avec: Une partie d'nonc
Page - 7
Tous les exemples proposs ci-aprs sont issus des tudes de faisabilit ou de prototypage relatives la ralisation du projet Banc de mesure d'excentrique propos. Nous nous appliquerons plus particulirement l'tude d'un module permettant de tester et valider le fonctionnement de la partie matrielle du banc. Le banc de mesure raliser est constitu d'une partie mcanique, d'une carte de contrle/commande et d'un logiciel de gestion s'excutant sur un ordinateur de pilotage. La partie mcanique, dcrite schmatiquement ci-dessous, comprend un moteur assurant le dplacement de l'excentrique, le capteur de position angulaire associ et un capteur de dplacement mesurant la variation de distance l'axe de rotation par rapport une valeur de rfrence.
La carte de contrle/commande assure les fonctions d'interface entre le logiciel de gestion d'une part et le groupe moteur / capteurs d'autre part. Elle communique avec l'ordinateur par le biais d'une liaison srie de type RS232 et suivant un protocole matre/esclave dfinir.
Page 8
Page - 9
22 novembre 2002
Page 11
Analyser le problme en terme de flux de donnes. Mettre en place les lments de la face. Enregistrer sous le nom Simul_0.vi Programmer les oprations ncessaires en utilisant les fonctions listes ci-aprs:
Quotient & Reste Calcule le quotient entier et le reste des entres. Sinus Calcule le sinus de x, avec x en radians.
Sauvegarder
Page 12
Page - 13
Position angulaire atteindre exprime en degrs. Position min type max double incr 1.8 apparence standard
Variables de sortie: A Sous titre Valeur angulaire modulo 360 Angle type double apparence standard
R Sous titre
Variation relative du rayon exprime en millimtres Dplacement type double apparence standard
Flux de donne:
Angle Position Variation R
Page 14
Ergonomie: Pour des raisons d'uniformit nous adopterons un style pour tous nos VI.
Le cadre (lment de dcoration) sert dlimiter la face avant (impression). Seul les sous-titres sont visibles (times new roman /12 /bleu roi), les contrles/indicateurs sont aligns par le haut et par la gauche. Analyse Deux calculs indpendants sont faits: le calcule de l'angle modulo 360. le calcule du dplacement suivant la formule: R = Esin ( P D ) calcul de l'argument conversion en radian calcul du dplacement E (excentration) et D (dphasage) sont des paramtres constants.
Page - 15
Modifier si ncessaire les options de LabVIEW pour voir sur le diagramme des points aux jonctions de fils ( outils>>options diagramme). Regrouper les blocs fonctionnels et aligner les variables, paramtres et constantes pour une meilleure lisibilit. Documenter le diagramme.
Page 16
Page - 17
Page 18
Rsultat Obtenu:
Page - 19
22 novembre 2002
Nous aborderons les points suivant: Appel de sous-VI Proprits des objets Notions sur les attributs Fonctions de test Mise au point
Page 21
Analyser avec soin le problme Mettre en place les lments de la face avant d'un nouveau VI. Enregistrer sous le nom TD2_1.vi Programmer les oprations ncessaires en utilisant les fonctions listes ci-aprs:
Nud d'expression Utilisez le Nud d'expression pour calculer des expressions ou des quations, qui contiennent une variable unique. Les Nuds d'expression sont utiles lorsqu'une quation a seulement une variable mais est complique. Vous pouvez utiliser n'importe quel type de donnes lorsque vous crez un nud d'expression.
Sauvegarder.
Page 22
Page - 23
Position angulaire atteindre exprime en pas Position min type max Entier 16 incr apparence standard
Variables
de sortie: Valeur angulaire en pas dans le tour Angle type Entier 16 apparence standard
A Sous titre
R Sous titre
Variation relative du rayon sur 12 bit Dplacement type Entier 16 apparence standard
Page 24
Ergonomie
La position angulaire en nombre de pas est convertie en angle (par multiplication par la valeur du pas 1,8) pour donner la valeur de l'entre P du sous-VI de simulation simul_0.vi. En sortie de simul_0.vi, la valeur de l'angle est convertie en nombre de pas (par division par 1,8). Le rsultat donne la valeur de la variable de sortie A. La sortie dplacement de simul_0.vi donne aprs conversion (rgle de 3 ....../25*2048) et addition du bruit, la valeur de la variable de sortie R. le bruit est gnr partir de la fonction Random [0-1] symtrise 1 avant d'tre mis l'chelle. La valeur de sortie est borne 2048 soit explicitement (correction) soit implicitement en bornant la valeur de l'indicateur
Page - 25
Page 26
Le lecteur remarquera les changements automatiques de type de donnes I16 DBL et DBL I16
Page - 27
Page 28
Page - 29
Variables de sortie:
Sous titre
type apparence
Page 30
Ergonomie
Page - 31
Diagramme
Page 32
Page - 33
Diagramme
Page 34
Page - 35
Sauvegarder.
Page 36
Page - 37
Internes: Choix du type d'affichage , mm (F) ou numrique (T) Slecteur F min type apparence max Bolen incr
Valeur angulaire en pas dans le tour Glissire type Double apparence Glissire Valeur angulaire en pas dans le tour Jauge type apparence Double Jauge
Page 38
Ergonomie
Les valeurs de chaque sortie de simul_1.vi sont affiches soit directement soit aprs conversion suivant la valeur de l'entre Slecteur. Suivant le type d'affichage les chelles des indicateurs doivent tre reconfigures.
Page - 39
Page 40
Page - 41
22 novembre 2002
Initiation LabVIEW - TD3: Boucles et Graphes droulants TD3: Boucles et Graphes droulants
Nous aborderons les points suivants:
Prsentation des graphes droulants Structures de boucle For et While ( les tunnels) Registres dcalage Pour valider notre VI de simulation nous allons tracer l'allure du dplacement en fonction de la position demande sur une plage relativement large. A chaque pas de calcul, le rsultat est prsent sur un graphique de type oscilloscope.
Page 43
Analyser avec soin le problme Mettre en place les lments de la face avant d'un nouveau VI. Enregistrer sous le nom TD3_1.vi Programmer les oprations ncessaires. Tester puis corriger les problmes de configuration d'axe. Sauvegarder.
Page 44
Page - 45
Variables de sortie: Graphe droulant Sous titre Variation de rayon (valeur numrique) Graphe droulant type Entier 16 apparence standard
Page 46
Ergonomie
La boucle For fait un nombre d'itrations prdtermin. A chaque itration de la boucle, la variable Position passer au sous vi Simul_1.vi est dfinie par : 200 Position=iEnt( ) Nb ou i est l'indice de boucle. La variable de sortie R du sous vi Simul_1.vi est directement affiche sur le graphe droulant . Le nombre d'itrations faire est dfini par la variable Nb. 200 ) est calcul en amont de la boucle. L'incrment angulaire Ent( Nb Le graphe est correctement initialis: effacement de la courbe configuration dynamique de l'chelle des x
Page - 47
Page 48
Le nud de proprit de l'objet graphe droulant permet de configurer dynamiquement l'chelle des x en prcisant la valeur de l'incrment en x (en degrs) et les valeurs minimale et maximale de l'chelle. La proprit Historique permet, par un artifice , d'initialiser le graphe (ce serait une mthode) en forant le tableau des valeurs reprsenter sa valeur initiale (structure vide). La structure d'erreur issue du nud de proprit est relie un tunnel d'entre de la boucle pour crer un lien de dpendance; tous les tunnels doivent tre valids avant que la boucle puisse dmarrer, nous nous assurons ainsi que le graphe est initialiser avant de tracer la courbe. Les points griss en entre des fonctions (multiplication et Simul_1.vi) marque un changement de type de donne.
Page - 49
Page 50
Page - 51
Incrment angulaire (en pas) Pas min 1 type max Entier 16 15 incr 1 apparence standard
Position de dbut de mesure (en degrs) Dbut min type max double incr 1.8 apparence standard
Position de la dernire mesure (en degrs) Fin min type max double incr 1.8 apparence standard
Variables de sortie: Graphe droulant Sous titre Variation de rayon (valeur numrique) Graphe droulant type Entier 16 apparence standard
Page 52
Face-avant
La boucle While itre depuis la position de dbut jusqu' la position de fin. Les positions exprimes en degrs devront tre au pralable converties en nombre de pas (.../1.8). A chaque itration de la boucle, la variable Position passer au sous vi Simul_1.vi est dfinie par : Position=Dbut iPas ou i est l'indice de boucle. La variable de sortie R du sous vi Simul_1.vi est directement affiche sur le graphe droulant . La condition d'arrt est atteinte ds que la position venir (prochaine itration) dpasse la position de fin demande. Le test darrt tant fait en fin de boucle, la boucle itre tant que la position courante est infrieure ou gale la valeur de fin diminue de l'incrment angulaire (Pas). Le graphe est initialis (nud de proprits) effacer le graphe dfinir le dbut et la fin de l'axe de x dfinir l'incrment et le dcalage de la courbe
Page - 53
Page 54
Les conversions en I32 assurent une compatibilit de type des oprateurs contenus dans la boucle; vite les conversions chaque itration ce qui optimise le temps de boucle (non obligatoire). Remarque: L'entre Position du vi Simul_1 ne correspond pas au type de donne reue
Page - 55
Modifier le VI TD3_2 afin de calculer la position courante par la formule Position (i + 1) Position (i ) + Pas Sauvegarder sous TD3_3.
Page 56
Page - 57
Page 58
La boucle While itre depuis la position de dbut jusqu' la position de fin. Les positions exprimes en degrs devront tre au pralable converties en nombre de pas (.../1.8). A chaque itration de la boucle, la variable Position passer au sous vi Simul_1.vi est dfinie par : Position= Position 1 Pas La variable de sortie R du sous vi Simul_1.vi est directement affiche sur le graphe droulant . La premire boucle doit s'excuter pour la position de dpart. Il faut initialiser le registre avec cette valeur et calculer aprs l'appel du vi de simulation, la valeur de la position venir. La condition d'arrt est atteinte ds que la position venir (prochaine itration) dpasse la position de fin demande (tant qu'elle est infrieur ou gale ....) Le graphe est initialis (nud de proprits) effacer le graphe dfinir le dbut et la fin de l'axe de x dfinir l'incrment et le dcalage de la courbe
Page - 59
Page 60
Page - 61
Page 62
Page - 63
Page 64
Face-avant
Page - 65
Page 66
Page - 67
Page 68
Page - 69
Force la position 0 Initialisation min type max Bolen incr apparence standard
Variables de sortie: A Sous titre Valeur angulaire en pas dans le tour Angle type Entier 16 apparence standard
R Sous titre
Variation relative du rayon sur 12 bit Dplacement type Entier 16 apparence standard
Page 70
La position atteinte dans le tour doit tre mmorise par le vi (registre dcalage non initialis) A chaque appel sans demande d'initalisation, la position est calcule en ajoutant le nombre de pas demands la valeur mmorise. Pour un appel avec demande d'initialisation, la position est force 0, le nombre de pas demand est ignor. Pour ajouter au ralisme, nous mettrons en place une temporisation gale 5 ms par pas de dplacement excuter. Calcul du nombre de pas excuter diffrence entre la position atteindre et la position mmorise en valeur absolue. Multiplication par 5 ms et appel de la fonction de temporisation
Page - 71
Cadre connecteur
Page 72
Page - 73
22 novembre 2002
Page 75
Page 76
Page - 77
Page 78
Ergonomie
Le programme boucle jusqu' la validation d'une erreur par l'oprateur (structure while). Le vi +Bruit.vi reoit en entre les paramtres 3 (Entre) et 4 (Amplitude), sa sortie est convertie en entier pour donner Paramtre. Paramtre doit tre test, s'il est ngatif (-1) il y a erreur. S'il n'y pas d'erreur, la condition de boucle doit tre positionne Vrais (T). S'il y a erreur, le vi Bote de dialogue 2 boutons.vi est appel, configur pour demandez si le programme continu (une rponse affirmative donne une sortie T) et la condition de boucle est active par sa sortie.
Page - 79
Page 80
La Temporisation permet de ralentir la boucle ( seconde) afin de laisser l'oprateur le temps de visualiser les valeurs affiches. Cette boucle prsente deux processus indpendants, la squence de gnration/test et la temporisation. Ils doivent tre tous les deux termins avant de passer l'itration suivante.
Le lecteur remarquera le tunnel de sortie qui reoit imprativement une valeur de chaque condition.
Page - 81
Page 82
Page - 83
Variable de sortie: Message Sous titre Indique la fonctionnalit excute message type apparence Variable interne stop Sous titre dfaut F stop Action Mcanique type Bolen apparence Bouton STOP Armement l'appui chaine
Page 84
Face-avant
Le programme boucle jusqu' l'arrt par l'oprateur (bouton STOP). Le menu droulant permet de slectionner 1 tat parmi 4, les trois fonctions et un tat d'attente. Cet tat est pris comme tat par dfaut. Pour chaque tat, il doit tre dfini, un message et un temps. Ces valeurs sont passes un afficheur et une fonction de temporisation. En fin de boucle, le menu droulant doit tre forc au cas par dfaut. Remarque: L'utilisation d'un menu droulant ou d'une numration comme contrle d'entre donne deux vi rpondant la mme analyse mais avec une lisibilit du diagramme diffrente
Page - 85
La temporisation de 100 ms pour le cas dfaut permet d'adapter le temps de boucle au temps de raction de l'oprateur et surtout de librer du temps machine pour le systme d'exploitation.
Page 86
L'utilisation de la variable locale permet de rinitialiser le contrle d'entre la valeur 0, choisi comme valeur par dfaut. Le mme rsultat pourrait tre obtenu en forant la proprit valeur du nud de proprits du contrle.
Page - 87
Page 88
Page - 89
Positionnement Sous titre dfaut Mesure Sous titre dfaut F Mesure Action Mcanique type Bolen apparence Bouton-poussoir Armement l'appui F Positionnement Action Mcanique type Bolen apparence Bouton-poussoir Armement l'appui
Page 90
Face-avant
Le programme boucle jusqu' l'arrt par l'oprateur (bouton STOP). Un seul poussoir pouvant tre actif simultanment, il suffit de chercher s'il y un poussoir valid et lequel. Pour chaque tat, il doit tre dfini, un message et un temps. Ces valeurs sont passes un afficheur et une fonction de temporisation. Si aucun poussoir n'est valid, le cas par dfaut (attente) est excut. Sinon, le cas valid est excut Aprs lecture, les poussoirs prennent leur valeur par dfaut (action mcanique de type armement)
Page - 91
Page 92
Pour rechercher quel est le poussoir valid, les poussoirs sont regroups dans une structure de tableau, puis le tableau analys par une fonction de recherche de valeur (ici la valeur vrai). Si aucun lment correspond, la valeur de l'index est donne -1, sinon elle indique le numro du premier lment correspondant. L'ordre dans le tableau dfinit une priorit de traitement. Remarque: Le bouton stop aurait pu tre intgr au tableau est trait par la structure condition.
Page - 93
Page 94
Page - 95
Variable de sortie: Message Sous titre Indique la fonctionnalit excute message type apparence Variable interne stop Sous titre dfaut F stop Action Mcanique type Bolen apparence Bouton STOP Armement l'appui chaine
Page 96
Face-avant
Le programme boucle jusqu' l'arrt par l'oprateur (bouton STOP). Pour chaque commande, il doit tre dfini, un message et un temps. Ces valeurs sont passes un afficheur et une fonction de temporisation. Toute lettre saisie est teste en respectant la casse, avec la lettre de chaque commande. S'il n'y a pas correspondance le cas par dfaut (attente) est excut. En fin de boucle, le contrle Commande doit tre effac (variable locale).
Page - 97
Page 98
Page - 99
22 novembre 2002
Page 101
ou ppp est un entier non sign sur 3 digit ou aaa est un entier non sign sur 3 digit donnant le nombre de pas effectuer donnant la valeur de la mesure angulaire
Page 102
Mesure Commande :M\n Rponse :Mmmmm\n ou mmmm est un entier sign sur 4 digit donnant la valeur de la mesure de dplacement Remarque: pour les champs numriques, les chiffres non significatif sont remplacs par des zro (0)
Page - 103
Positionnement Sous titre dfaut Mesure Sous titre dfaut Stop Sous titre dfaut Pas Sous titre dfaut 1 F Stop Action Mcanique type Bolen apparence Bouton-poussoir Armement l'appui F Mesure Action Mcanique type Bolen apparence Bouton-poussoir Armement l'appui F Positionnement Action Mcanique type Bolen apparence Bouton-poussoir Armement l'appui
Incrment angulaire (en pas) Pas min 1 type max Entier 16 200 incr 1 apparence standard
Page 104
Ergonomie
Le jeux de fonctions est gr par une machine d'tat Ds qu'un bouton est valid, le vi retourne la chane de commande. Si le bouton Stop est activ, la chane de commande retourne est une chane vide. Les commandes sont obtenues par concatnation de l'entte commune ( : ), de la chane spcifique chaque choix et du caractre de fin de commande ( \n ). Les commandes I et M sont obtenues par simple concatnation, la commande P par mise en forme de la valeur du pas
Page - 105
Page 106
Page - 107
Page 108
Page - 109
Variables de sortie: Message Sous titre Message type apparence Chane de caractre
Erreur Sous titre Erreur type Bolen apparence Led carre rouge
Page 110
Face-avant
Si le premier caractre n'est pas gal au caractre de dbut, ou si la commande ne contient pas le symbole Line Feed, le message devient erreur de format et la sortie d'erreur est positionne sinon le premier caractre suivant est valu Si ce caractre n'est pas une commande valide, le message devient erreur de commande et la sortie d'erreur est positionne. Pour les commandes I et M le message est positionn en consquence. Pour la commande P, la chane de commande est balaye pour extraire la valeur du pas. En cas d'erreur, une erreur de commande est spcifie, sinon le message indiquant le nombre de pas de dplacement est mis en forme
Page - 111
Page 112
En sortie de la fonction de balayage, les ventuelles erreurs sont signale dans une structure de type cluster. La variable boolenne de ce cluster est extraite pour tester la conformit au format recherch.
Page - 113
Page 114
Page - 115
Page 116
Face-avant
Page - 117
Page 118
Si une erreur de communication apparat, l'excution est interrompue. Le vi d'erreur permet d'interprter le cluster d'erreur retourn par l'ensemble des vi de communication. La dure du time-out (1 seconde) et la valeur de dlimiteur de fin de commande (/n ou 0X0A ou 10) sont dfinies la configuration du port. La lecture du port se fait concurrence de 100 caractres (impossible), de la dtection du caractre de fin (/n)ou d'un dlai trop long. Si une commande vide est retourne par TD5_1 (bouton Stop) le vi est arrter. Le nud du sous-vi TD5_1 est configur pour s'ouvrir ds le chargement de l'application.
Page - 119
22 novembre 2002
Initiation LabVIEW - TD6: Tableaux, clusters et graphes TD6: Tableaux, clusters et graphes
Dans la suite de ce recueil de TD, nous allons tudier la gestion des mesures acquises; prsentation, reprsentation graphique et archivage. Aprs une acquisition simule sur un tour l'aide du VI Simul_2.vi nous allons prsenter les rsultats obtenus de diverses faons. Nous aborderons les points suivant: Cration d'un tableau par auto indexation Graphes X-Y Polymorphisme Manipulations et fonctions sur les tableaux Graphes Curseurs
Page 121
Exercice N 1: Cration d'un tableau Nous allons prsenter les rsultats sous la forme d'un tableau de deux colonnes, la premire contenant les angles, la seconde les dplacements (une structure identique celle que retournerait une carte d'acquisition). La mesure se fait sur un tour, pour un nombre de points fix (compris entre 10 et 200). Reprendre l'exercice 1 du TD3. Mettre en place les lments de la face avant. Programmer en utilisant un tunnel avec auto-indexation.
Page 122
Page - 123
Variables de sortie: Tableau Sous titre Tableau de mesure Position / Variation sur 2 colonnes Tableau type Entier 16 apparence standard
Page 124
Face-avant
La boucle For fait un nombre d'itrations prdtermin. A chaque itration de la boucle, la variable Pas passer au sous vi Simul_2.vi. La position dans le tour A et la mesure R issues sous vi Simul_2.vi sont assembles pour construire un tableau de 2 lments. Un tunnel de sortie empile l'ensemble des lignes ainsi obtenues. A la premire itration (i=0) le sous vi Simul_2.vi doit tre initialis en forant l'entre Initialisation vrai Le nombre d'itrations faire est dfini par la variable Nb. 200 ) est calcul en amont de la boucle. L'incrment angulaire I =Ent( Nb La structure contenue dans le tunnel de sortie est affiche dans la variable Tableau.
Page - 125
Page 126
L'auto-indexation du tunnel de sortie doit tre active dans son menu contextuel.
Page - 127
Exercice N 2: Graphe X-Y A partir du tableau obtenu prcdemment, nous allons construire une reprsentation de l'excentrique sachant que la position de rfrence du capteur de dplacement est 50 mm de l'axe de rotation. Rappeler le vi TD6_1et le transformer en sous-VI. Mettre en place les lments de la face avant. A partir du tableau de mesure, extraire les vecteurs Angles et Dplacements, calculer le rayon et tracer le profil. Programmer les oprations ncessaires en utilisant les fonctions listes ci-aprs:
Polaire vers cartsien 1D (uniquement dans la version avance) Convertit deux tableaux de coordonnes polaires reprsentes par les tableaux d'entre d'amplitude et de phase en deux tableaux de coordonnes cartsiennes, selon les formules suivantes : x = magnitude*cos(phase) y = magnitude*sin(phase)
Page 128
Page - 129
Variables de sortie: Graphe XY Sous titre Profil de l'excentrique Graphe XY Type cluster apparence standard
Page 130
Face-avant
Le tableau de mesure donne des informations dans un repre polaire, la reprsentation que nous souhaitons se fait dans un repaire cartsien, il faudra donc changer de repre. Le tableau de mesure est clat en deux vecteurs: le vecteur des variations de rayon et celui des angles. Chaque vecteur est converti en unit physique par multiplication par une constante ( les angles en radians pour pouvoir faire les calculs de projection) le vecteur rayon est obtenu en ajoutant la position de rfrence du capteur de dplacement au vecteur des variations de rayon. Les coordonnes polaires obtenues sont converties en coordonnes cartsiennes puis assembles pour former une courbe.
Page - 131
Page 132
La courbe est construite partir d'un cluster contenant le tableau des abscisses et le tableau des ordonnes. Le lecteur remarquera le polymorphisme des fonctions utilises. Par exemple, l'addition accepte comme entres un tableau et un scalaire et s'adapte automatiquement
Page - 133
Exercice N 3: Graphe En utilisant le tableau retourn par le vi TD6_1.vi, construisons la reprsentation des variation de rayon sur un tour.
Page 134
Page - 135
Variables de sortie: Graphe Sous titre Variation du rayon Graphe type cluster apparence standard
Page 136
Page - 137
Page 138
Page - 139
Exercice N 4: Graphe multicourbes (Complmentaire) Pour observer l'impact du choix du nombre de points sur l'aspect de la courbe, vous allez reprsenter sur un mme graphe, les courbes obtenues pour des pas diffrents Reprendre le vi TD4_3 et le sauvegarder sous TD4_4.vi Dupliquer la partie du diagramme correspondant la construction d'une courbe. Construire le graphe multicourbes
Page 140
Page - 141
Page 142
Les deux courbes sont assembles dans un tableau de courbes. Le lecteur remarquera le changement de la structure d'initialisation.
Page - 143
Exercice N 5: Curseurs (Complmentaire) Nous allons finir le vi prcdent en y ajoutant un curseur permettant de visualiser les coordonnes d'un point du graphe. Ce curseur pourra tre attach l'une des courbes, et prendra sa couleur, ou tre libre et visualis en vert. Reprendre le vi TD6_4 et le sauvegarder sous TD6_5.vi. Ajouter un curseur et modifier le vi suivant l'analyse que vous avez faite du problme
Page 144
Page - 145
Page 146
Face-avant
Page - 147
Page 148
La proprit Courbe.active permet d'adresser une des courbes afin de pouvoir accder ses paramtres.
Page - 149
22 novembre 2002
Page 151
Ouvrir un nouveau VI, appeler TD6_1.vi, crer les Entres / Sorties ncessaires et l'enregistrer sous TD7_1.vi. Programmer les oprations ncessaires en utilisant les fonctions listes ci-aprs:
crire dans un fichier tableur Convertit un tableau 2D ou 1D de nombres simple prcision (SGL) en une chane de texte et crit la chane dans un nouveau fichier standard ou ajoute la chane un fichier existant. Vous pouvez choisir une option pour transposer les donnes. Le VI ouvre ou cre le fichier avant d'y crire et le ferme ensuite. Vous pouvez utiliser ce VI pour crer un fichier texte lisible par la plupart des applications de type tableur. Ce VI requiert la fonction Tableau en chane au format tableur pour convertir les donnes.
Page 152
Page - 153
Nombre de points par tour Points min 10 type max Entier 16 200 incr 1 apparence standard
Variables de sortie: Tableau Sous titre Tableau de mesure Position / Variation sur 2 colonnes Tableau type Entier 16 apparence standard
Page 154
Ergonomie
Page - 155
Page 156
La fonction par dfaut ouvre l'explorateur de fichier pour choisir ou crer le fichier de sauvegarde et retourne le chemin de ce dernier. Nous remarquons que la variable contenant cette information est d'un type spcifique. Le format d'criture des donnes est dfini pour toutes les valeurs.
Page - 157
Page 158
Page - 159
Nombre de points par tour Points min 10 type max Entier 16 200 incr 1 apparence standard
Variables de sortie: Tableau Sous titre Tableau de mesure Position / Variation sur 2 colonnes Tableau type Entier 16 apparence standard
Page 160
Page - 161
Diagramme
Page 162
Le lecteur remarquera le squencement entre les deux fonctions d'criture dans le fichier impos par le flot de donnes; la sortie nouveau chemin de fichier du vi crire des caractres dans un fichier pilote l'entre chemin de fichier du vi crire dans un fichier tableur
Page - 163
Exercice N 3: VI de niveau intermdiaire. Dans le VI prcdent, le fichier est ouvert puis ferm deux fois. Nous allons reprendre le VI de telle sorte que le fichier soit ouvert en dbut d'excution, l'entte crite, puis chaque passage dans la boucle point par point, les donnes acquises enregistres et enfin le fichier ferm. Cette approche permet un contrle plus fin de l'criture sur le fichier. Le flux de donnes impose le squencement des tches.
Ouvrir TD6_1.vi et l'enregistrer sous TD7_3.vi Programmer les oprations ncessaires en utilisant les fonctions listes ci-aprs:
Ouvrir/Crer/Remplacer le fichier Ouvre un fichier existant, cre un nouveau fichier ou remplace un fichier existant en utilisant une bote de dialogue de fichier de faon programme ou interactive. crire dans un fichier crit les donnes dans le fichier dsign par refnum. L'criture commence l'emplacement dsign par mode pos et offset de pos pour un fichier standard et la fin du fichier pour les fichiers journaux. Formater dans un fichier Convertit des arguments d'entre en une chane rsultante dont le format est dtermin par la chane de format. Fermer un fichier Ferme le refnum spcifi et renvoie le chemin du fichier associ au refnum. Gestionnaire d'erreur simple Dtermine si une erreur est survenue. Il contient une base de donnes des codes d'erreur et de leur description, en fonction de laquelle il cre une description de l'erreur et affiche ventuellement une bote de dialogue. Gestionnaire d'erreur simple appelle le gestionnaire d'erreur gnral et possde la mme fonctionnalit de base que Gestionnaire d'erreur gnral, mais avec moins d'options.
Page 164
Page - 165
Nombre de points par tour Points min 10 type max Entier 16 200 incr 1 apparence standard
Variables de sortie: Tableau Sous titre Tableau de mesure Position / Variation sur 2 colonnes Tableau type Entier 16 apparence standard
Ergonomie
Page 166
La boucle For fait un nombre d'itrations prdtermin. A chaque itration de la boucle, la variable Pas passer au sous vi Simul_2.vi. La position dans le tour A et la mesure R issues sous vi Simul_2.vi sont assembles pour construire un tableau de 2 lments. Un tunnel de sortie empile l'ensemble des lignes ainsi obtenues. Les mesures mises en forme (ligne tabule) sont crites la suite du fichier ouvert, les erreurs ventuelles sont traites afin d'interrompre l'criture si ncessaire. A la premire itration (i=0) le sous vi Simul_2.vi doit tre initialis en forant l'entre Initialisation vrai Le nombre d'itrations faire est dfini par la variable Nb. 200 ) est calcul en amont de la boucle. L'incrment angulaire I =Ent( NB Le fichier est ouvert (cr ou remplac) avant d'y crire l'entte (voir analyse prcdente). La structure contenue dans le tunnel de sortie est affiche dans la variable Tableau. Le fichier est ferm et les ventuelles erreurs reportes.
Page - 167
Page 168
Le format d'criture des donnes peut tre dfini de manire spcifique pour chaque valeur. Le registre dcalage permet d'valuer chaque boucle l'ventuelle erreur apparue la boucle prcdente et interrompre ainsi le processus d'criture le cas chant. En son absence, se serait l'ventuelle erreur commise lors de l'criture de l'entte qui serait teste chaque itration.
Page - 169
Page 170
Page - 171
Variables de sortie: Tableau Sous titre Tableau de mesure Position / Variation sur 2 colonnes Tableau type Entier 16 apparence standard
Position et nom du fichier de sauvegarde. Date Type Chane de caractres apparence standard
Page 172
Ergonomie
Les fichiers sont enregistrs sous forme de lignes de texte, deux pour l'entte suivies d'un nombre indtermin pour les mesures. La forme gnrale du vi sera une boucle contrle par le nombre de lignes de donnes restant lire (structure while). A chaque itration de la boucle, une ligne du fichier est lue. La position dans le tour A et la mesure R sont extraites et assembles pour construire un tableau de 2 lments. Un tunnel de sortie empile l'ensemble des lignes ainsi obtenues. La pointeur courant sur le fichier est compar la taille du fichier ouvert pour dterminer la condition d'arrt (une ligne comprend au pons deux caractres). Une erreur de lecture arrte galement la boucle. En dbut de programme le fichier est ouvert en lecture, la premire ligne (date) est lue est sont contenu affich. La deuxime ligne (titres des colonnes) est lue avant de commencer la boucle. Le tableau est initialis. En fin de boucle, le fichier est ferm et les ventuelles erreurs reportes.
Page - 173
Page 174
Page - 175
Page 176
Page - 177
Sous titre
Page 178
Ergonomie
A partir du chemin du vi appelant ( TD7_5.vi ) le chemin du fichier de configuration est construit. Le fichier est ouvert Les paramtres souhaits sont points par le nom de la section et de la clef pour tre lu. Le fichier est ferm et les ventuelles erreurs reportes.
Page - 179
Page 180
Page - 181
22 novembre 2002
Page 183
Exercice N 1: Structure squence Pour saisir les informations relatives la pice tester, nous allons crire un vi qui demande un nom de 8 lettres, puis une confirmation du diamtre et de la tolrance associe avant de construire la rfrence de la pice comprenant le nom suivi de la valeur du diamtre (Excentrique-100) qui servira de nom au fichier de sauvegarde. Ce vi pourrait tre construit de plusieurs faons, nous utiliserons ici une structure squence.
Page 184
Page - 185
Tolrance sur le diamtre Tolrance min 0.05 type max DBL 0.5 incr 0.01 apparence standard
Bouton de validation de la saisie Valid min type max Bolen incr apparence standard
Variables de sortie: fich Sous titre Nom du fichier de sauvegarde Nom du fichier type Chane de caractres apparence standard
Page 186
Face-avant
La structure squence assure l'enchanement des actions dans un ordre impos Initialisation de la face avant, seul le contrle Excentrique est visible, le curseur est positionn dessus. Saisie de la Chane concurrence de 8 caractres (boucle While). Les contrles sont rendus visibles. On attend la validation(boucle While). Construction du nom de fichier et affichage.
Page - 187
Page 188
Page - 189
Exercice N 2: Boite de calcul A partir des informations sur le diamtre, valeur et tolrance, et d'une mesure factice du diamtre, nous allons vrifier si la mesure est valide. Nous utiliserons une boite de calcul.
Page 190
Page - 191
Tolrance sur le diamtre Tolrance min 0.05 type max DBL 0.5 incr 0.01 apparence standard
Variables de sortie: Valide Sous titre Rsultat du test de validit Valide type Bolan apparence Led Rouge/Verte
Page 192
Face-avant
Page - 193
Remarques: Syntaxe du C
Page 194
Page - 195
Exercice N 3: Boite onglets Nous allons crire l'ossature d'un vi de test d'excentrique qui devrais nous permettre de: Saisir l'identification d'une pice. Lancer une squence de mesure. Visualiser et vrifier la pice. Sauvegarder les rsultats. Pour chaque pice, il est possible de mesurer et visualiser plusieurs fois, seul le dernier contrle est sauvegard. Chacune de ces phases du processus demande une interface spcifique. Nous pourrions faire appel plusieurs sous-vi, chacun avec son IHM spcifique, ou utiliser une boite onglets. Vous vous appuierez sur les vi dj crits pour construire ce dernier.
Page 196
Page - 197
Page 198
Face-avant
Page - 199
La variable onglet permet par le biais d'une structure condition d'associer chaque partie de l' IHM un code spcifique . La boucle While, qui se termine aprs la sauvegarde des donnes, permet de mmoriser et de renvoyer la valeur des paramtres par le biais de registres dcalage, assurant ainsi le passage de valeur d'une partie de code l'autre.
Page 200
Page - 201
Page 202
Page - 203
Page 204
Page - 205
Page 206
Page - 207
22 novembre 2002