Les objets mots du logiciel PL7-Pro
Transcription
Les objets mots du logiciel PL7-Pro
Lycée Lislet GEOFFROY Date : Note /20 : EVALUATION Nom : Prénom : Classe : Traitement sur mots API-1 Etre capable de : • • • • • • • • • • • • Sélectionner un format de mot adapté au type de donnée à traiter par un API. D’interpréter les données contenues dans les différents formats de mots d’un API. Convertir les données de différents formats afin de les rendre homogènes pour le calcul sur API. Adressage des mots en PL7 Junior/Pro. Codes et numération Nombres fractionnaires en virgule flottante Aide en ligne du logiciel PL7-Pro Manuel de référence PL7 TLX DR PL713 F intercalaire A Maquette API-1 1 API TSX 37-21/22 1 cordon TSX PCU1030 1 PC équipé de : o logiciel PL7-Pro o Intranet MAI 4h 1/9 Lycée Lislet GEOFFROY 1 Les objets mots du logiciel PL7-Pro o A partir du logiciel PL7-pro, créez une nouvelle application en la paramétrant en fonction du matériel mis à votre disposition. o Créez une table d’animation faisant apparaître les objets suivants et complétez le tableau en précisant pour chacun d’eux, son type et sa dimension en Bits : Objet Nb bits Type %MB2 %MB3 %MW0 %MW1 %MW2 %MW3 %MD1 %MD2 %MF0 %MF2 o En mode connecté, assurez-vous que tous les mots de la table précédente soient à zéro. o Attribuez ensuite les valeurs 50 et 83 respectivement à %MB2 et %MB3 et notez alors les valeurs prises par les mots %MW0, %MW1, %MW2, %MD1, %MD2, %MF0, %MF2: %MB1 %MB2 %MW0 %MW1 %MW2 50 83 %MD1 %MD2 %MF0 %MF2 Pour quelle(s) raison(s) la modification de %MB2 et %MB3 entraîne-t-elle celle de certains autres mots de la table ? 2 Formatage des mots du PL7-Pro 2.1 Mots Entiers - Sélectionnez les valeurs des mots %MB2 à %MB3 de la table d’animation précédente (pour sélectionner plusieurs valeurs de la table d’animation, sélectionnez la première puis appuyez sur la touche Maj (⇑) et sélectionnez la dernière à l’aide de la souris.). - Remettez alors à Zéro ces valeurs sélectionnées . - Attribuer la valeur 2#10101000 00111011 à %MW1 (Pour taper une valeur en binaire vous devez la précéder des caractères 2#). - Notez ci-dessous les valeurs prises par les différents mots. Mots %MB2 %MB3 %MW1 %MD1 Décimal Binaire Nota: vous pouvez changer le mode d’affichage d’une valeur à partir de la liste déroulante « Affichage ». 2/9 Lycée Lislet GEOFFROY Comment expliquez-vous certaines de ces valeurs soient POSITIVES et d’autres NEGATIVES ? 2.2 Mots flottants norme IEEE 754 - Réinitialisez les valeurs de la table en écrivant 0 dans %MW1 - Ecrire la valeur 12.25 dans le mot %MF0. - En vous aidant de la norme IEEE 754, décomposez le mot %MF0 en mettant en évidence les différents groupes de bits significatifs du mot (s, e, f). Utilisez des couleurs différentes. %MF0 Ecrire alors la valeur correspondante de %MF0 sous la forme N x 2y 3 Calculs sur mots Transférez le programme « TP_API_1 » du dossier « F:\Public\TP_Prog » dans l’API. Ce programme en littéral structuré réalise les équations suivantes : ! %L10: (*Exemples de calculs sur mots*) %MW0:=%MW1+%MW2; %MW3:=%MW1*%MW2; %MD4:=%MD1+%MD7; %MD14:=%MD10+%MD12; %MW20:=SQRT(%MW21); %MF30:=SQRT(%MF32); (*Addition de deux mots simples*) (*Produit de deux mots simples*) (*Addition de deux mots doubles*) (*Racine carrée d'un nombre entier*) (*Racine carrée d'un nombre réel*) Nota: pour initialiser une table d'animation automatiquement pour les entités utilisées dans ce programme, procédez de la manière suivante: 1) Sélectionnez la zone du programme pour laquelle vous souhaitez créer une table d'animation. 2) Dans le menu "Services" cliquez l'option "Initialiser une table d'animation" - Passez l'API en mode RUN - Attribuez les valeurs 100 et 200 respectivement à %MW1 et %MW2. - Observez le changement des valeurs de la table d'animation. - Bien que vous n'ayez attribué aucune valeur ni à %MD1 et %MD4, celles-ci ont néanmoins changé 3/9 Lycée Lislet GEOFFROY Comment expliquez-vous ce changement de %MD1 et %MD4 ? - Attribuez la valeur 10 à %MD7 et vérifiez que %MD4 = %MD1 + %MD7 - Attribuez les valeurs 25000 et 26000 respectivement à %MD10 et %MD12 et vérifiez la cohérence de %MD14 - Attribuez les valeurs 25000 et 26000 respectivement à %MW1 et %MW2 et vérifiez l'incohérence des valeurs de %MW0 et %MW3 Comment expliquez-vous l'incohérence de ces résultats ? - Attribuez la valeur 144 à %MW21 et vérifiez que %MW20 affiche bien la racine carrée de %MW21 (SQRT(%MW21)). - Attribuez la valeur 144.0 à %MF32 (une valeur dans un mot flottant doit toujours être saisie avec une virgule) et vérifier que %MF30 affiche bien la racine carrée de %MF32. - Attribuez les valeurs 10 et 10.0 à %MW21 et %MF32 Comment expliquez-vous le résultat affiché par %MW20 ? 4 Conversion des mots Ajouter la phrase suivante à votre programme: ! %L20: (*Conversion de mots*) %MD50:=%MW1; (*Transfert du mot simple %MW1 dans le mot double %MD50*) %MD52:=%MW2; (*Transfert du mot simple %MW2dans le mot double %MD52*) %MD54:=%MD50*%MD52; - Attribuez les valeurs 20000 et 2 respectivement à %MW1 et %MW2 . - D’après le programme, %MW3 est égal au produit de %MW1 et %MW2 de même sue %MD54 puisque %MD50 = %MW1 et %MD52 = %MW2. Pour quelle raison la valeur de %MD54 est-elle correcte alors que celle de %MW3 est erronée ? 4/9 Lycée Lislet GEOFFROY - Essayez d’ajouter la phrase suivante au programme: %L30: (*Instructions de conversion*) %MF60:=%MD50+%MW2; Vous remarquerez qu'il n'est pas possible de valider une telle équation. Explication: %MF60 doit contenir un nombre réel en virgule flottante, %MD50 contient un nombre réel double (32 bits) %MW2 contient un nombre réel simple (16 bits) %MD50 + %MW2 donne un résultat qui représente un mot double réel (32 bits) Pour pouvoir stocker cette valeur dans un mot Flottant il est nécessaire de convertir préalablement ce résultat afin de rendre l'équation homogène. 4 instructions de conversion sont proposées par le logiciel: - INT_TO_REAL : conversion mot entier --> flottant - DINT_TO_REAL : conversion double mot entier --> flottant - REAL_TO_INT : conversion flottant --> mot entier (le résultat est la valeur entière inférieure la plus proche) - REAL_TO_DINT : conversion flottant --> double mot entier (le résultat est la valeur entière inférieure la plus proche) Pour plus d'information sur l'utilisation de ces instructions, rechercher les dans l'aide en ligne du logiciel à partir de l'onglet "Rechercher". Cette équation génère donc une erreur. %L30: (*Instructions de conversion*) %MF60:=%MD50+%MW2; Solutions possibles: %L30: (*Instructions de conversion*) %MF60:=DINT_TO_REAL(%MD50+%MW2); ou %L30: (*Instructions de conversion*) %MF60:=DINT_TO_REAL(%MD50)+INT_TO_REAL(%MW2); - Programmez tour à tour ces 2 solutions et testez-les. 5/9 Lycée Lislet GEOFFROY 5 Application 5.1 Présentation du problème C V mini hMaxi hmini p d1 V Maxi Dmini DMaxi d2 Figure 1 La remplisseuse SOBORIZ est composée de 8 doses identiques montées sur un plateau tournant. Le réglage de la masse de produit à transférer dans les boîtes est obtenu en faisant varier la hauteur h du cylindre mobile de diamètre d2 par rapport au cylindre fixe de diamètre d1 entre les valeurs h mini et h Maxi. Afin d’assister l’opérateur au cours de l’opération de réglage des doses en fonction de la masse volumique des produits à conditionner, un capteur photoélectrique analogique c a été installé sur la machine. Le capteur analogique c délivre une tension comprise entre 0 et 10 V en fonction de la distance D de détection. Les caractéristiques du détecteur sont données en annexe. La sortie 0-10 V du capteur c est connectée à l’entrée N° 2 de l’interface analogique de l’API TSX 37-22 utilisé sur la machine (voir câblage en annexe). Au cours de l’opération de réglage de la dose, la masse de produit correspondant au volume réglé est affichée sur un terminal d’exploitation. Constantes d1 (mm) p (mm) d2 (mm) h mini (mm) h Maxi (mm) D mini (mm) D Maxi (mm) U (0 - 10V) (capteur analogique c) Paramètres Programme de calcul de la masse Masse volumique D (mm) Masse calculée (à afficher en g) 6/9 Lycée Lislet GEOFFROY Les valeurs d1, d2, h mini, h Maxi, D mini, D Maxi sont des constantes que l’on peut déterminer directement en les mesurant sur la machine. La masse volumique du produit à conditionner est un paramètre que l’opérateur devra fournir au programme. Le programme devra fournir la masse calculée en fonction de la masse volumique du produit et du volume de la dose qui dépend directement de la distance D réglée. U (volt) Le signal U en volt délivré par le capteur est proportionnel à la distance D entre le capteur et l’élément réfléchissant du bâti de la machine. U Maxi Une variation de la distance D entraîne la même variation de la distance h U mini D mini D Maxi D(mm) U (volt) Uo U( h) .h =a +U o La variation de volume étant directement liée à la variation de h, il est préférable d’exprimer U en fonction de h. U Maxi U mini h (mm) 5.2 h Maxi h mini Détermination des paramètres de l’équation U(h)=a.h + Uo 5.2.1 Détermination du coefficient directeur (a) U − U min i a = max i hmin i − hmax i Umaxi et Umini peuvent être déterminés en mesurant directement la tension délivrée par le capteur pour les positions hmini et hmaxi. 5.2.2 Détermination de l’ordonnée à l’origine Uo U max i = a.hmin i + U 0 U 0 = U max i − a.hmin i 7/9 Lycée Lislet GEOFFROY 5.3 Détermination du volume correspondant à h Dans l’équation U(h) = a.h + Uo a et Uo sont des constantes calculées précédemment. U(h) correspond à la tension en Volt délivrée par le capteur analogique. Pour chaque valeur de U, la valeur de h correspondante se déduit donc de l’équation ci-dessus : h= U −U0 a D’après la figure 1 ci-dessus, le volume (V) de produit est égal à : V = V1 + V2 avec π .d 1 .p 4 2 V1 = (volume fixe) et π .d 2 .h 4 2 V2 = (volume variable) 5.4 Détermination de la masse du produit Connaissant la masse volumique ρ du produit et son volume V , sa masse s' obtient par la formule : M = ρ .V Unités : M ( g ), ρ ( Kg / dm 3 ), V ( mm 3 ) En tenant compte des unités, l' équation de M devient : M = 10 −3. ρ .V 5.5 Programmation Tous les mots internes de l’API sont disponibles. 5.5.1 Affectation des constantes Les différentes constantes de l’application seront mémorisées dans les mots constants suivants : Repère d1 p d2 h mini h Maxi U Maxi U mini Valeur 150 120 160.8 50.5 130.5 8.25 6.92 Unité mm mm mm mm mm Volt Volt Mot interne %KW1 %KW2 %KF3 %KF5 %KF7 %KF9 %KF11 8/9 Lycée Lislet GEOFFROY 5.5.2 Affectation des paramètres Le seul paramètre de l’application est la masse volumique du produit : Repère ρ Valeur 0,8 ≤ ρ ≤ 1,5 Unité Kg/dm Mot interne 3 %MF0 5.5.3 Affectation des variables calculées Complétez le tableau suivant en précisant : • les limites de chaque valeur à calculer • la variable automate que vous utiliserez pour la représenter. Repère a Uo h V1 V2 V M Valeur ≤h≤ ≤V2 ≤ ≤V ≤ ≤M ≤ Unité Mot interne Volt mm 3 mm 3 mm 3 mm g %MW100 5.5.4 Programme en PL7-Pro Comme indiqué en annexe, la valeur numérique correspondant à la tension présente sur la voie 2 du module d’entrée analogique à laquelle est connecté le capteur analogique est stockée dans le mot %IW0.2. %IW0.2 représente la valeur de la tension U x 1000 (soit U en mV). • Créez une nouvelle application • Ecrire le programme permettant le calcul de a, Uo, h, V1, V2, V et M en utilisant un réseau différent pour chacune de ces variables calculées. (Le langage de programmation est laissé à votre choix). • Testez votre programme • Comme indiqué en annexe, la conversion analogique / numérique d’une voie d’entrée analogique du module de base de l’API TSX 3722 s’effectue sur 8 bits. Quelle sera alors la précision obtenue sur le calcul de la masse ? Nota : Le listing de votre programme devra être joint à ce dossier pour la correction. 9/9