Logique binaire automate (Automate de type PB)
Le travail que vous effectuerez fera l'objet d'un compte-rendu.(téléchargement) Déroulement du TP
L'automate que vous allez étudier est un automate de type PB qui a été réalisé conjointement par les sociétés Renault et Merlin-Gerin sous le nom d'April. En 1991 Merlin-Gerin a fusionné avec Télémécanique. Ce groupe est passé sous la direction de Schneider. Renault continue l'étude des automatismes par sa branche Renault-automation.
Programmation du calcul logique d'une fonction "ET" avec deux entrées 000 et 001 avec envoi du résultat sur la sortie 020 de l'automate. (Lexique)
J Programmation du calcul logique d'une fonction "ET" avec stockage du résultat sur un bit interne, puis utilisation de cette information dans le déroulement d'un programme :
J Vous avez à votre disposition un automate muni d'un clavier. Sur ce clavier, chaque touche a une fonction qui lui est associée et une lettre ou un chiffre. L'automate reconnaît automatiquement s'il s'agit d'une lettre, d'un chiffre ou d'une commande en fonction du curseur sur l'écran.Le début d'un programme, car ici il s'agit bien d'un programme, commence à l'adresse C30 pour finir à l'adresse 0E9F. Il faut impérativement boucler un programme pour que celui-ci soit cyclique, c'est à dire qu'il se déroule en continu. Pour en revenir à notre programme, on rajoutera, TOUJOURS, un saut arrière à la dernière ligne du programme pour qu'il puisse boucler sur lui même. Exemple:
On peut voir à l'adresse C32 que la fonction logique "ET"est associée à deux conditions. Comme on travaille sur un programme et non pas sur des composants, on peut utiliser le nombre d'entrées que l'on veut. La fonction logique prendra en compte toutes les entrées immédiatement supérieures. Vous pouvez voir sur le lexique certaines fonctions utilisables pour des automates de type PB. Toutes les fonctions que vous connaissez sont réalisables par combinaisons d'autres fonctions.
Dans ce premier cas d'application nous allons utiliser la notion de bit interne de la mémoire de l'automate. Il faut savoir que la mémoire d'un automate est agencée un peu à la manière d'une rue. A savoir que si vous souhaitez connaître le prix d'un kg de viande vous allez chez votre boucher à l'adresse de celui-ci dans la rue choisie pour y chercher l'information, de même si vous souhaitez connaître le prix d'un kg de pain vous allez chez votre boulanger à l'adresse de celui-ci dans la rue choisie pour y chercher l'information. Cet exemple simpliste a pour objet de vous sensibiliser à cette logique qui paraît relativement simple mais qui, appliquée à un automate peut sembler un peu plus complexe. En effet un automate ne comprend que deux choses: présence ou absence de signal électrique, état 1 ou état 0. Cette information est alors repérée et stockée sous forme de bit. Suivant la position de cette information (voir TP sur la numération en deuxième série de TP) I'automate réagira ou ne réagira pas à l'ordre qui lui est donné. On va donc être amené à utiliser ce que l'on appelle une base de comptage. Il existe une multitude de base de comptage, la base 2 qui est utilisée en logique binaire, la base 8, qui est la base octale, la base 10 qui est la base la plus fréquemment utilisée et que l'on appelle la base décimale, la base 12 qui est la base phénicienne, ne vous êtes vous jamais demandé pourquoi on utilisait une douzaine d'œufs ou douze mois par an, cette base n'est plus que très peu utilisée, et enfin la base 16 connue sous le nom de base hexadécimale. Cette base est très utilisée en informatique industrielle car c'est une base multiple de 2 et fera l'objet d'une étude ultérieure. Ce qu'il faut savoir sur la base hexadécimale c'est que l'on compte de 0 à 15 avant de changer de "seizaine". Comme on est limité par les chiffres, notre base de comptage n'utilise que les neuf chiffres dits "arabes" plus le 0, l'astuce consistera à mélanger les chiffres et les lettres. Ce qui nous donnera pour compter de 0 à 15, soient l6 valeurs : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, la dernière valeur F valant 15. Remarque : la valeur immédiatement suivante sera 10 (hex) qui vaudra 16 ( 1 0) Tout ce préambule pour vous expliquer que la première adresse de l'automate se trouve en C00, que le premier bit mémoire trouvé s'appelle A00 et que le dernier bit mémoire de cette adresse s'appelle A0F. Ce qui donne 16 bits internes de mémoire à l'adresse C00. Vous pourrez retrouver ces variables sur le document : "structure d'une page mémoire d'un automate de type PB15". Remarque: le PB15 possède 4 adresses de mémoire C00, C01, C02, C03, soient 16 x 4 = 64 bits internes de mémoire. Eléments de programmation :
Travail à effectuer :
1 - Programmation : Réalisez le programme de l'ensemble des fonctions de base correspondant au logigramme ci-contre en utilisant le lexique du PBl5, testez ce programme et reportez ce programme sur votre compte-rendu de TP. Remarque : vous devez traiter l'ensemble des cas simultanément.
2 - Réalisez les fonctions suivantes à deux entrées : Remarque : pour chacun des cas suivant vous réaliserez deux programmes, un programme sans bit interne et un programme utilisant des bits internes (la sortie sera le bit interne complémenté).
3 - Réalisez la fonction suivante à deux entrées : MODULO 2 (OU exclusif) S º a. + . b- 1er cas: affichez directement les résultats en sortie. Testez votre programme. Que se passe-t-il ? - 2ème cas: stockez les résultats intermédiaires sur bits internes avant de les traiter pour envoyer le résultat en sortie. Testez votre programme. Que se passe-t-il ? - Réalisez alors la fonction ET inclusif. 4 - Fonctions mémoires: Vous allez travailler maintenant à la réalisation de 2 types de mémoires. Pour ce, 2 fonctions supplémentaires de l'automate doivent être utilisées: , qui est l'abréviation de Mise à Un. MZ, qui est l'abréviation de Mise à Zéro. La mise inconditionnelle à 1 d'une sortie ou d'un bit interne se fait de la façon suivante: ADR MU 020 ou ADR MU A00 (ADR étant l'adresse du pas de programmation, par exemple C30 ou C44), le résultat sera la mise à 1 de 020 ou A00. Problème : 000 étant l'entrée à mémoriser, 001 étant la remise à zéro de la mémoire et 020 étant l'indication de l'état de la sortie mémorisée, on vous demande de réaliser le programme d'une fonction mémoire à marche prioritaire, puis de réaliser une fonction mémoire à arrêt prioritaire. Chaque programme devra être reporté sur votre compte rendu. |