LES SYSTEMES sequentiels: LA FONCTION COMPTAGE
Le Grafcet donné sur le document n°1 décrit le fonctionnement d’un cycle de transfert de pièces de la goulotte vers la bande convoyeuse. 2. Mise en situation et modélisation Suite au changement de configuration matérielle du bras manipulateur, certaines modifications doivent être apportées au cycle de fonctionnement. Jusqu’à présent l’arrêt du cycle de transfert s’effectuait après appui, par un opérateur, sur le bouton poussoir fdcyc . Dans ce cas, le transfert en cours se terminait, et le cycle s’arrêtait. On souhaite apporter la modification suivante : le nombre de pièces à transférer sera déterminé par deux roues codeuses sur l’armoire de commande. La prise en compte de cette information se fera lors de l’initialisation de la partie opérative et sera mémorisée. Un compteur s’incrémentera à chaque pièce transférée. La valeur courante du compteur sera comparée à la valeur mémorisée. En cas d’égalité des deux valeurs, le cycle en cours se terminera et le système s’arrêtera. 3. Acquisition de la valeur des roues codeuses Le câblage des deux roues codeuses sur les entrées de l’automate programmable TSX 17-20 est représenté sur le schéma partiel p.5. 3.1- Convertir la valeur 47 de base 10 en base 2 (eneffectuant des divisions entière successives par 2). Rappeler quelle est la nature du code fournit par une roue codeuse puis indiquer la valeur binaire des entrées I0,21, I0,20, I0,19, …
Convertir cette valeur binaire en décimal (faire apparaître la méthode sur le document réponse). Comparer. Indiquer quel est l’inconvénient du code fournit par les roues codeuse.La programmation de l’acquisition de la valeur des roues codeuses s’effectue avec Automgen en langage littéral (IL) dans une « boite de code » associée à un schéma en langage à contacts (LD). En vous aidant de la documentation sur les langages de programmation d’API (voir la page 3 du TP), programmer la l’acquisition et la conversion dans la boite de code. Compléter le document n°2. Avant de commencer la programmation, indiquer le rôle des instructions suivantes bta, ana, sta ainsi que de la « Macro instruction » prédéfinie %BCDTOBIN.La valeur des entrées (roues codeuses et autres) seront mémorisées dans l’accumulateur.Choisir l’instruction adéquate. Les bits inutiles seront « masqués »(panser à la fonction ET). Préciser les bits à masquer et expliquer pourquoi. Préciser la valeur du masque en binaire puis en hexadécimal. La valeur obtenue sera mémorisée dans le mot %MW255.Préciser quelle donnée contiend ce mot. Utiliser une « Macro instruction » prédéfinie effectuer la conversion et la mémoriser dans le mot %MW256.Quelques langages de programmation d’automates Ils sont normalisés par la norme CEI 61131 Elle définit : 1- le diagramme fonctionnel en séquence (SFC: Sequential Function Chart). Il est basé, en partie seulement, sur la représentation et les règles d’évolution du GRAFCET.
le schéma à contacts (LD: LadDer)
Il permet la représentation d’équations logiques sous forme graphique. Sa représentation est proche de la schématisation électrique. le langage littéral bas niveau (IL : Instruction List). C’est une suite d’instructions de type assembleur. Il utilise la notion d’accumulateur pour les traitements numériques Ces différents langages peuvent être utilisés simultanément dans une même application. Une section de programme peut nécessiter la combinaison d’éléments issus des différents langages. notation à utiliser pour représenter les variables avec Automgen In :entrée n On : sortie n Mn : mot n système et utilisateur Mn #i : bit de mot n (i : rang du bit) Xn : bit d’étape n (dans SFC) Il est possible de remplacer ces noms de variables par des mnémoniques encadrés par _ par exemple %i9 peut être remplacé par _p0_Description des Macro-instructions prédéfinies %BCDTOBIN <valeur en BCD> <valeur en binaire> Effectue une conversion BCD vers binaire. En sortie l’accumulateur contient $FFFF si le premier paramètre n’est pas un nombre BCD valide, 0 autrement. Les deux paramètres sont des mots de 16 bits.BTA – bit to accumulator Fonction : transfère 16 variables booléennes successives vers les 16 bits de l’accumulateur 16 bits ; le bit de poids faible correspond à la première variable booléenne ANA – and accumulator Fonction : effectue un ET logique entre l’accumulateur 16 bits et un mot ou une constante LDA – load accumulator Fonction : charge dans l’accumulateur 16 bits une constante, un mot STA – store accumulator Fonction : stocke l’accumulateur 16 bits dans un compteur ou un mot;