Brevet FR2479501A1 — publié le 19811002

L'invention a pour objet un dispositif de commande d'une machine ou d'une installation, comprenant un module maître, plusieurs modules esclaves, le module maître étant destin, à assurer la gestion de l'ensemble du dispositif et les modules esclaves à assurer la gestion de fonctions particulières. On connaît déjà de tels dispositifs à traitements multiples (multi processing) dans lesquels chaque module esclave possède le logiciel (software) relatif à la fonction qu'il doit gérer et le module maître possède le logiciel lui permettant de con- verser avec tous les modules esclaves de façon à gérer l'en- semble du dispositif de commande. Dans ces dispositifs connus, il est impossible d'ajouter un module esclave d'un nouveau type sans devoir reconsidérer tout ce logiciel. De plus, ces dispo- sitifs à traitements multiples connus sont lents car, chaque fois qu'un module veut appeler, il doit tout d'abord remplir une mémoire générale, avertir le module appelé qu'il y a un message pour lui, ce dernier vidant la mémoire traitant les in- formations reçues puis donnant sa réponse en remplissant à nou- veau la mémoire générale, en avertissant le module appelant, etc. Le but de l'invention est d'éliminer les inconvénients ci-dessus constitués d'une part par la difficulté à ajouter un nouveau module esclave au dispositif, en obligeant chaque fois l'opérateur à revoir le logiciel maître, et, d'autre part, par la lenteur relative du dispositif. Selon l'invention, le dispositif est caractérisé par le fait que chaque module esclave comprend des moyens lui per- mettant d'emmagasiner la portion de logiciel dont le module mal- tre a besoin pour converser avec lui et pour traiter les infor- mations reçues. En d'autres termes, chaque module esclave met lui-même a disposition du module maître la portion de logiciel permet- tant la gestion de ce module esclave par le module maître. L'invention va maintenant être décrite avec plus de détails en se référant à un mode de réalisation particulier donné à titre d'exemple seulement, et représenté aux dessins annexes: La figure 1 est le schéma- bloc du dispositif à trai- tements multiples connu, La figure 2 est le schéma-bloc correspondant d'un dispositif de commande à traitements multiples selon l'inven- tion, Les figures 3A et 3B représentent ensemble le schéma- bloc d'un module du dispositif selon l'invention, La figure 4 est un diagramme représentant différents signaux apparaissant dans les circuits, et La figure 5 illustre un exemple d'utilisation du dis- positif, pour la commande d'une machine-outil. Le schéma-bloc de la figure i représente un disposi- tif de commande connu d'une machine-outil ou d'une installation, qui comprend plusieurs modules esclaves 1, 2, 3, 4... Chacun de ces modules esclaves est destiné à commander un organe par- ticulier de la machine-outil, par exemple, dans une fraiseuse, un moteur d'avance de la table selon l'axe des X, un moteur d'avance de la table selon l'axe des Y, un moteur d'avance de la broche, etc. Chacun de ces modules 1-4 comprend un circuit de traitement esclave 5, une mémoire esclave 6 destinée à em- magasiner les données propres à la commande de l'organe cor- respondant et un interface entrée/sortie assurant la liaison entre le module et l'organe correspondant. Pour assurer la synchronisation de tous ces modules esclaves, le dispositif comprend encore un circuit de traitement maître 8, une mémoi- re générale 9 et un interface général entrée/sortie 10, le tout interconnecté par un bus général 11. Chaque fois que l'un des modules esclaves veut converser avec un autre module esclave, il doit d'abord charger la mémoire générale et aver- tir le module appelé qu'un message l'attend. Le module appelé décharge la mémoire, analyse les informations, puis donne sa réponse en rechargeant la mémoire générale, en avertissant le premier appelant, etc. Il est clair qu'un tel processus est lent. Mais un inconvénient plus grave encore de ce sys- tème réside dans le fait que le circuit maître 8, la mémoire générale 9 et l'interface général 10 doivent prévoir au dépar; toutes les possibilités offertes par un nombre variable de modules esclaves, ce qui nécessite un langage d'informatique qui n'est pas à la portée d'un opérateur de machine-outil, et surtout empêche le constructeur d'augmenter ou diminuer la capacité du système sans modification importante de l'ap- pareillage. La figure 2 est un schéma-bloc illustrant la présente invention. Le dispositif représenté comprend des mo- dules esclaves 12, 13, 14 et un module maitre 15, tous les modules étant reliés entre eux par un bus de conversation 16 et par un bus maitre 17, de liaison entre le module maître et les modules esclaves. Chaque module esclave comprend un circuit de traitement esclave 18, une mémoire 19 de fonction spécifique esclave et un interface entrée/sortie esclave 20, ces trois parties correspondant en gros aux parties 5, 6, 7 de la figure 1, mais ils comprennent en plus une mémoire 21 du logiciel additionnel de conversation avec le maitre qui, comme son nom l'indique, est destinée à renfermer la partie du logiciel de conversation propre au module esclave corres- pondant. Le module maitre 15 comprend un circuit de traite- ment maître 22, une mémoire 23 du logiciel de conversation avec les modules qui est commun à tous ces modules ainsi qu'un interface entrée/sortie maître 24. Ainsi donc, la partie du logiciel de conversation commune à tous les modules esclaves est contenue dans la mémoire maître, tandis que la partie de ce logiciel qui est propre à un module esclave particulier est ccntenue dans ce module esclave lui-même. Ainsi, si l'on veut passer d'un dispositif simple comprenant peu de modules escla- ves à un dispositif en comprenant davantage, il suffit d'ajou- ter chaque fois le logiciel de conversation additionnel dans les modules esclaves supplémentaires, o le module maître ira le chercher. Les figures 3A et 3B représentent ensemble le schéma-bloc d'un module, les parties en pointillés ne concer- nant que le module maître et devant être supprimées pour les modules esclaves. Les modules comprennent un circuit de traitement à microprocesseur 25, un circuit logique d'interruption 26, une mémoire morte (ROM) 27, une mémoire vive (RAMI) 28 et un circuit de fonction spécifique 29, ces éléments étant reliés par un bus d'adresses interne 30a, un bus de données interne 30b, un bus de commande interne 30c, et un bus d'interruption interne 30d. Tous les bus 30a à 30d mentionnés ci-d-.:sus sont internes au module et ne figurent par conséquent pas sur la figure 2. Ce circuit de fonction spécifique fait du module considéré un organe de commande d'un dispositif déterminé. Ce circuit n'est que l'interface entre le microprocesseur dudit module et l'organe final du dispositif déterminé. La mémoire du logiciel additionnel de conversa- tion avec le module maître, qui est représentée en 21 à la figure 2, est constituée par une mémoire morte (ROM) 31 (figure 3B) o l'on voit qu'elle coopère avec un mini-switch de codage 32, et avec un premier comparateur 33a, un second comparateur 33b étant spécifique à la conversation intermodules uniquement. Les éléments 31 et 33a des différents modules sont reliés l'un à l'autre par un bus d'adresses maître 34, un bus de données maître 35, une ligne de commande de mémoire 36, ces trois éléments étant représentés globalement à la figure 2, par le bus 17t. Dans le cas o le module représenté est maître, il est clair que ses bus internes 30a, 30b, 30c sont reliés aux bus externes correspondants 34, 35, 36 par un circuit d'ac- tionnement (driver) 37, un bus 38 et une ligne de comr.ande 39. On voit ainsi que le logiciel additionnel de conversation avec le maître pourra être transmis à ce dernier, de la mémoire morte 31 du module esclave au processeur maître uniquement, lors de sos demandes d'instructions. De mêm-, Le module maitre pourra cormunicuer les adresses et un ordre de Lecture de mémoire par es circuits 37, le bus d'adresses maître 314 et les lignes 36 et 39. Pour pouvoir assurer la conversation directe entre modules, le circuit de chaque module comprend deux flip-flops RS 40, 41, deux décodeurs 42, 43, une porte bidirectionnelle 44, une porte unidirectionnelle 45, un circuit logique de test 46 et deux portes à trois états (tristate) 47, 48. Ces éléments sont interconnectés entre eux d'une part et, par un ensemble de six lignes de commande 49, 50, 51, 52, 53, 54, un bus de données de conversation 55 et un bus d'adresses de conversa- tion 56, avec les autres modules, d'autre part. Les éléments l0 49 à 56 sont, comme on le voit à la figuré 3, externes aux modules et constituent en fait le bus de conversation 16 re- présenté à la figure 2 pour la liaison directe des modules esclaves entre eux. L'interconnexion des éléments internes au module est la suivante: le circuit 25 reçoit un signal READY des sorties Q des flip-flops 40 et 44, par une ligne 57 et applique lui- même un signal STROBE au décodeur 42, par une ligne 58. Ce dernier applique un signal ACWR à l'entrée S du flip-flop 41, par une ligne 59, un signal ACRD à l'entrée S du flip-flop 40 par une ligne 60 et un signal ACT au circuit de test 46, par une ligne 61. Le décodeur 43 envoie aux entrées R des flip- flops 40'et 41 des autres modules des signaux CWR et CRD, par des lignes 62, 64, 49, respectivement 63, 65, 50. Le circuit de test 46 reçoit et/ou émet des signaux CBUSY, SLI et SL0 par des lignes 66, 67, 68, respectivement, signaux qui sont éga- lebent appliqués aux entrées correspondantes des circuits de tous les modules par les lignes de bus 51, 52, 53, la sixième ligne, 54, du bus de commande recevant un signal CINT par une ligne 69, de la porte à trois états 48. Concernant les lignes de bus 52 et 53, il faut noter qu'il s'agit en fait d'une même ligne dans laquelle les entrées 67 et sorties 68 sont reliées en série, le signal d'entrée SLI reçu par la ligne 52 étant constitué par le signal SLO du module amont, et le signal SLO envoyé par la ligne 53 constituant le signal SLI du module aval. Les signaux CINT des portes 48 de tous les modules sont appliqués au comparateur 33b de tous les modules par une li- gne 70. La porte à trois états 47 applique un signal de sortie CINiT à un bus 71 reliant la porte 44 au bus extérieur 55, les deux portes 47 et 48 étant commandées par deux signaux d'en- trée COST et RCT émis respectivement par le circuit de test 46 et par le décodeur 43, sur des lignes 72, respectivement 73. Ce signal COST est également appliqué à la porte 45 par une ligne 74 et au décodeur 43 par une ligne 75, ce dernier appliquant un signal CEND au circuit 46, par une ligne 76. Le comparateur 33a émet un signal ICL qui est entré dans le bus 33 par une ligne 77 et dans le bus 71 par une ligne 78. Le comparateur 33a reçoit, par une ligne 79, un signal MEMR et un signal correspondant par la ligne 39, lorsqu'il s'agit du module maître. Le fonctionnement du dispositif de commande est le suivant: les lignes et bus internes aux modules assurent la communication avec le circuit de fonction spécifique 29 corres- pondant, le bus d'interruption 30d en permettant au circuit de fonction spécifique 29 d'interrompre le circuit 25 dans son travail pour une communication importante, le bus d'adresses interne 30a en permettant au circuit 25 d'écrire ou de lire dans un organe déterminé du circuit 29, le bus de données 30b en véhiculant les mots de la conversation entre le circuit 25 et le circuit 29, et le bus de commande interne 30c en permettant la gestion de la conversation entre le circuit 25 et le circuit 29. Les bus et lignes externes permettent la communication entre les modules, les lignes 49 à 54 en permettant la gestion des appels et des conversations entre les modules, le bus d'a- dresses 56 en permettant la mise en fonction conversationnelle du module appelé et le bus de données 55 en véhiculant les mots de la conversation entre les modules, le bus d'adresses maître 34 ern permettant la lecture par le module maître de son logiciel contenu dans les modules esclaves, le bus de données maître en véhiculant les mots du logiciel maître, et la ligne 36 en ouvrant au moment voulu la mémoire 31 en lecture. Une ligne de mise à zéro, non représent5e, pelrmet, lors de l'enclernche- ment de la machine, l'initialisation de tous les organes. Le logiciel additionnel de conversation avec le mo- dule maître, que renferme chacun des modules esclaves, est contenu dans la mémoire morte 31; c'est pour cette raison que, lorsque le module représenté à la figure 3 est un module esclave, les liaisons en pointillés sont à supprimer, la mé- moire 31 étant lue par le bus de'données maître extérieur 35. La mémoire 31 répond à un appel lorsque l'adresse transmise sur le bus d'adresses maître 34 correspond à l'adresse du module appelé, qui est inscrite dans le mini-switch de codage 32, la comparaison étant effectuée dans le comparateur 33a. Le code introduit dans le mini-switch permet donc de différencier chaque module, aussi bien pour une conversation maitre-esclave que pour une conversation entre esclaves. Dans le cas du module maître, le bus 38 et la ligne 39 sont en fonction de même que le circuit d'actionnement (driver) 37; de ce fait, ce module sera maître du bus d'adresses et, par là, de toutes les mémoires mortes 31. La figure 4 représente de façon détaillée le rôle de différents signaux dans une conversation entre modules esclaves, en A lorsque la ligne 51 pour le signal CBUSY (conversation en train) est libre au moment de l'appel, en B dans le cas o la ligne est libre mais o deux appels se produisent simultanément et en C dans le cas o la ligne est occupée au moment de l'appel. Une conversation est demandée par le circuit de trai- tement 25, dans un seul cycle machine, ce dernier envoyant au décodeur d'entrée/sortie 42 un signal de lecture d'entrée/sortie (non représenté) par l'intermédiaire du bus de commande J0c. Dès l'apparition, au tout début d'un cycle machine, de ce si- gnal, le décodeur 42 émet un signal ACT (Advance Conversation Test) sur la ligne 61, ce qui provoque la réponse instantanée uu circuit logique de test '46. Si la ligne 51 n'est pas occupée (cas de la figure 4A) 3 le signal CBUSY (Conversation Busy) se trouve à "1". Dans l'in- o fime instant qui suit, et pour autant que la ligne SLI (Se- curity Line In) soit aussi à "il", le signal CBUSY tombe à "0" sur ordre du circuit li6, pour marquer l'établissement d'une conversation, et le signal SLO (Security Line Out) tombe également à "0" sur ordre du circuit 46 pour assurer qu'au- cun module en aval n'ait pu se connecter simultanément en conversation. Dès lors le circuit 46 fait passer à "0" le signal COST (Conversation Start)'de la ligne 72, indiquant ain- si au circuit de traitement (processeur) 25 que la conversation est établie, ainsi que cela apparaîtra plus loin. Dans le cas o les lignes sont occupées au moment de l'appel (figure 4C), le signal ACT ne provoque, tant sur les lignes que sur le cir- cuit 46, aucune modification et le signal COST demeure à "1", indiquant au circuit 25 que la conversation n'est pas établie. Ce signal COST demeure présent tout au long de la conversation, et, dès son apparition, provoque l'application sur le bus d'a- dresses 56, de l'adresse du module appelé, en agissant sur la porte 45 par la-ligne 74. Ainsi, la porte 45 est ouverte, ce qui permet d'avoir immédiatement une quittance du module appe- lé quant à sa possibilité d'entrer en conversation, ce dernier pouvant par exemple se trouver en interdiction d'interruption. Quelques fractiorsdeus après l'apparition du signal ACT, le décodeur 43 émet un signal RCT (Read Conversation Test) sur la ligne 73. Pendant ce signal, le circuit de traitement 25 emmagasine les informations présentes sur son propre bus de données 30b. Les fonctions de l'impulsion RCT sont multiples. On a simultanément: 1 / L'envoi par la porte 48 d'un signal CIVT (Conversa- tion Interrupt) sur la ligne 69 et dont la valeur 3C est "0" provoque, sur le module répondant à l'adresse demandée par -la porte 45, une réquisition d'inter- ruption. Ainsi, à l'apparition d'un "0" surela ligne du module appelé, et si le comparateur 33b recon- naît une égalité entre l'adresse reçue du bus 56 d'une-part et du switch de codage 32 d'autre part, et pour autant que le circuit 25 du module appelé ac- cepte l'interruption, le comparateur 33b génère un signa I CL (Interrupt Conversation Line) de valeur "0", sur les lignes 77 et 78, mettant ainsi le cir- cuit de traitement 25 du module appelé en interrup- tion (Interrupt) et préparant la quittance sur le bus 55 à l'intention du circuit 25 du module appe- lant. 2 / En ouvrant la porte 47, le signal RCT introduit sur un bit du bus 55 la quittance selon laquelle la con- versation est engagée. 3 / Le signal RCT, transmis directement du décodeur 43 à la porte bidirectionnelle par les bus les reliant, provoque l'ouverture de cette dernière de façon à brancher le bus 55 sur le bus 30b, dans le module ap- pelant. 4 / Enfin, à la fin de l'impulsion du signal RCT2, le cir- cuit 25 appelant emmagasine les informations trans- mises par la porte 44, ce qui permet à ce dernier d'interpréter immédiatement les deux bits de quittan- ces, apprenant du même coup si la conversation est branchée et si le circuit de traitement 25 appelC est prêt à la conversation Si par contre, lors du passage de!'impulsion du si- gnal ACT, la conversation n'a pu s'établir (cas des figures 4B -t 4v), le signal COST reste à "1" et le décodeur 43 ne peut -;- nérer le signal RCT. Il n'y aura dans ce cas aucune demande d'interruption et la porte 43 restera fermée. Le circuit 25 appe- lant lira tout de même la porte 44 qui ne lui fournira que des "1" et tirera la conclusion que la conversation n'est pas établie. Rappelons que tout ce qui vient d'être décrit n'occure qu'un cyclecmachine. Aumettons maintenant que la conversation a été établie. Cela signifie tcut d'abord que chacun des deux modules est en train d'exécuter le programme régissant cette conversation: le module appelant, parce qu'il a ehcisi u- e de le faire, et le m- Jule appelé, parce qu'ii a été foro de le faire suite à la demande d'interruption reçue. Il est clair que ces Jeux pro- grammes devront avoir ''; conuis de façon à réaliser la meme conversation. Pour illustrer ce qui va se passer, imaginons une conversation fort simple: le module appelant X envoie une information, dont il attend la réponse, au module appelé Y. Considérons tout d'abord le module X; il doit envoyer son message et le fera par l'intermédiaire de l'impulsion du signal A W1E sur la ligne 60 et de l'impulsion du signal CWR sur la ligne 62. Le signal ACWR va, dIs son apparition et grâce au flip-flop 41, préparer le circuit 25 à une mrise ern attente qui d viendra effective dès l'apparition de l'impulsion du signal CWR qui ouvre la porte bidirectionnelle dans le sens circuit 25, X vers l'extérieur. Le message prend donc la direc- tion du circuit 25, Y. Laissons le circuit 25, X en attente et voyons ce que fait le module Y. Celui-ci, de par son programme régissant 2-0 cette conversation, sait qu'il dois s'ouvrir au message du mo- dule X. Il le fait par l'intermédiaire des impulsions de signaux ACRD (Advanced Conversation Read) sur la ligne 60 et CRD (Con- versation Read) sur la ligne 65. Le signal ACRD, dès son appa- rition et grâce au flip-flop 40, prépare lé circuit 25 du modu- le Y, à la mise en attente. L'attente commence avec le début de l'impLision du signal CRD, qui ouvre la porte 44 dans le sens extérieur vers le circuit 25, Y. Maintenant les deux circuits de traitement 25 sont en attente. L'impulsion du signa CWR du module X, qui est p,-4 :0 sente pendant toute l'attente, est envoyée à travers la i'ine extérieure 49, sur le flIp-flop 40 du module Y. Ce flip-flop pr-cisément, empéche le module v de contir.uer a travailler et cette impulsioDn du signal C>.ER 6raise pnar e module X va remettre ô "0" la sortie C du f'ip-fi"' 0 et per..ettre au module Je - -ontinuer à travaiiler. De même, l'impuision du sigrnal CED émaise il par le module Y et présente pendant toute l'attente de celui- ci, aboutit au flip-flop 41 du module X, qui empêche ce mo- dule de continuer à travailler. L'impulsion du signal CRD du module Y va permettre au module X de continuer à travailler. Ainsi on remarque que quel que soit le retard ou l'avance des deux circuits de traitement 25 l'un par rapport à l'autre, dès qu'il y a un mot à passer, ils vont s'attendre mutuellement. Lorsque les circuits 25 des deux modules sont en position d'émettre, respectivement de -recevoir, ils vont tout naturellement passer le message. Pour résumer, dès qu'un circuit 25 veut émettre ou recevoir un mot, il s'autobloque; il sera libéré par l'autre circuit 25 aussitôt que celui-ci est prêt à recevoir, res- pectivement à émettre. Ceci permet.donc, par un seul cycle machine, de transmettre un mot, puisque chaque circuit 25 traite séparé- ment le message passé et se remet en position d'échange d'in- formation sans tenir compte du partenaire puisque, de toute façon, le message passera dès que chacun aura terminé--le pe- tit travail qui l'occupe. La conversation sera terminée dès que le logiciel du module appelant en décidera par un simple cycle machine fournissant une impulsion dans un signal CEND (Conversation End). La figure 5 illustre un exemple d'utilisation du dis- positif dans la commande d'une machine à programme comprenant un chariot commandé par deux moteurs pour être amené en un point quelconque de coordonnées X, Y pour y effectuer diffé- rentes opérations. Le dispositif comprend cinq modules logés dans des tiroirs dont on n'a représenté que les panneaux avant portant les interfaces de conversation avec l'opérateur et qui sont: - un module maître 80 destiné à effectuer la gestion généralisée du programme, - un module de fonctions 81 destiné à enclencher uu 12' déclencher différentes fonctions telles que van- nes, pompes, lampes, relais, etc., - deux modules 82 et 83 de commande de deux moteurs le long de l'axe X, respectivement Y, - un module cassette 84 permettant la lecture et le traitement des informations de la bande magnétique. Les panneaux frontaux des tiroirs sont standardisés de manière à permettre l'aménagement de sept éléments d'affi- chage au maximum, au haut du panneau, et d'un clavier de vingt- quatre touches de commande au maximum, ces éléments correspon- dant à l'interface entrée/sortie 24 de la figure 2. Les élé- ments d'affichage 85 sont constitués par des LED à sept segments et les touches de commande 86 portent un témoin 87 et une ins- cription 88 relative à leur fonction. Le tiroir MAITRE 80 porte un clavier numérique compo- sé de dix touches portant les inscriptions 0 à 9 et servant à introduire un nombre dans le dispositif, lors de la program- mation, les autres tiroirs 1Si à 84 ne comprenant pas de clavier niumérique Dans la description ci-après, les touches sont dési- gnées par l'inscription qu'elles portent. Elles servent, lors de la programmation: SQ + i SQ - i Imp CALL à la mise en position d'une séquence déterminée à l'incrémentation d'un compteur de séquences à la décrémentation de ce compteur à l'introduction d'un saut d'une séquence à une autre à l'introduction de sous-programmes répétitifs, dans le programme d'usinage d'une pièce, par exem- ple pour effectuer un calcul à quitter un sous-progra.mme répétitif pour retour- rer dans le programme principal à marquer la fin du programme 1I ". 'ú TEST à contrôler le déroulement d'un programme de façon fictive, uniquement par simulation ces affichages TEMP à ajouter une temporisation, une fois la sé- quence terminée, avant de passer à la suivante CLR à annuler le contenu total d'une séquence pcur effectuer, par exemple, une correction CE à n'annuler que le dernier ordre introduit Enfin l'affichage se divise en deux groupes, l'un marqué OPER.pour désigner le numéro de l'opération JUMP, CALL, RET, etc..., et l'autre, marqué SEQUENCE, composé de quatre LED dans lequel est affiché le numéro de la séquence dans laquelle est effectuée l'opération désignée par le premier grou- pe. Le tiroir FONCTIONS 81 comprend un groupe de douze touches portant les -inscriptions F0 à F14 désignant le numéro de la fonction que la machine doit exécuter, un groupe de deux touches portant les inscriptions IN, respectivement OUT, un af- fichage à une LED marquée IN/OUT et un affichage à deux LED marquées FONCTION. Les touches permettent d'entrer le programme comme on le verra plus loin, l'affichage FONCTION indique le numéro de la fonction en cours d'exécution et l'affichage IN/OUT si cette fonction est enclenchée ou déclenchée. Les deux tiroirs MOTEUR 82, 83 servent à commander Ais deux moteurs de positionnement X, respectivement Y. Ils compren- nent neuf touches permettant d'entrer le programme des moteurs et dont les fonctions sont les suivantes: OR sert à commander le retour à l'origine +Ni sert à avancer d'un nombre donné -I sert à reculer d'un nombre donné +CR sert à effectuer une correction d'outil positive -CR sert à effectuer une correction d'outil négative VTX sert à entrer la vitesse d'avance EXT0 EXrr l X21 r servent à prendre en considération des coor- données fournies par un autre module, par exemple le module cassette. 1 4 L'affs ihage unrique à sept LED, marque VALEUR, in- dique la valeur numérique de l'opération en cours et qui a été entrée, rappelons-le, par le module KAITRtE, par exemple la va- leur de la vitesse d'avance, la valeur de la correction d'outil, la valeur du nor.:bre +N ou -i, etc. Le tiroir CASSETTE '4 est un tiroir classique m-ais comprenant en rlus i'électronique permettant la liaison de con- versation entre tiroirs et la liaison maître avec le tiroir maître. Le panneau comprend un mucanisme d'insertion des cas- settes 89 et quatre touches. La cassette est enregistrée par portions qui toutes présentent, à la fin, un signal d'arrêt. Ces portions sont appe- lées selon la prograrmmation, dans les séquences voulues, par le module maître. Le programme de commande de la cassette est entré par les trois touches du bas qui servent: START à commander la lecture, à un séquence donnée, de la première portion. -> à commander la lecture de la 'portion suivante. REW à commander le rebobinage de la cassette. La touche marquée EJECT ne sert pas à entrer le pro- gramme et ne porte pas de témoin; elle sert simplement à éjecter la cassette. La programmation est extrêmement simple; il suffit, pour chaque séquence introduite sur le tiroir maître par les touches SQ, SQ + 1, ou SZ -1, de typer sur les tiroirs esclaves les ordres qui les concernent dans la séquence entrée. Autrement dit, pDur l'exé cution d'une idce donnée, il faut étudier cette dernière co.rre un nmIcanicien le ferait pour un travail sur une machr. ine conventionnelle et les phrases qu'il p rononceraLt: "Je vais d'abord amener le chariot à une certaine 2ote, puis percer un trou avec telle m%èche, etc... servent di- recemrnent à l'élaboration du pro-ramme sans passer par un!an- gage quelconque d'i nfo rmavi t cen. Le programme introduit se déroule de la façon sui- vante: le tiroir maître s'occupe du diroulement des séquences mais non du contenu de celles-ci. Il part de la séquence z ro * et enchaîne les suivantes par incrémentation ou par sauts sui- vant le jeu des JUMP et des CALL, de façon similaire à la lec- ture du logiciel par un ordinateur. Au début de chaque séquence le tiroir MAITRE distribue le travail à effectuer et attend les quittances de tous les tiroirs en travail pour passer à la séquence suivante. Les tiroirs ESCLAVES eux ne font qu'exécuter le tra- vail qui leur est propre dans les conditions posées par le tiroir MAITRE suivant le programme introduit, Il est évident que la puissance d'un tel dispositif est énorme, vu la capacité et la diversité detravail permises. La description ci-dessus fait bien ressortir les avantages suivants du dispositif: - Possibilité de composer des dispositifs de commande de complexités diverses grâce à l'utilisation d'un matériel standard (même carte selon figures 3A et 3B) pour tous les tiroirs et surtout grâce au fait que chaque tiroir ajouté renferme lui-même le lo- giciel maître nécessaire à sa conversation avec le tiroir MAITRE. - Liaison conversationnelle directe entre les tiroirs esclaves permettant d'éviter de devoir charger et décharger une mémoire générale. - Grande facilité de programmation du fait que pour chaque séquence entrée dans le tiroir MAITRE les opérations à exécuter sont entrées dans les tiroirs ESCLAVES qui sont affectés à leur exécution. Bien entendu, l'invention n'est pas limitée au mode de réalisation qui vient d'être décrit et représenté. On pourra y apporter de nombreuses modifications de détails sans sortir pour cela du cadre de l'invention. R E V E ND I C A T I ONS 1 - Dispositif de commande d'une machine ou d'une installation, comprenant un module maître (15), plusieurs modules esclaves (12, 13, 14), le module maitre étant destiné à assurer la gestion de l'ensemble du dispositif et les modu- les esclaves à assurer la gestion de fonctions particulières, caractérisé par le fait que chaque module esclave (12, 13, 14) comprend des moyens (21) lui permettant d'emmagasiner la por- tion de logiciel dont le module maître a besoin pour converser avec lui et pour traiter les informations reçues. 2 - Dispositif suivant la revendication 1, caracté- risé par le fait qu'il comprend un bus (16) de conversation directe, bidirectionnelle, entre n'importe quels modules (12, 13, 14, 15) et un bus maître (17) de liaison entre le module maître (15) et les modules esclaves (12, 13, 14) pour permettre au module maître de chercher directement dans chaque module esclave la portion de logiciel contenue dans lesdits moyens (21) pour converser avec lui. 3 - Dispositif suivant la revendication 2, caracté- risé par le fait que tous les modules esclaves (12, 13, 14) Gomprennent un circuit de traitement (18) le même pour tous, une m-moire de fonction (19), spécifique à chaque module esclave, et un interface entrée/sortie (20) également spécifique à chaque mnodule esclave, le module mraitre comprenant un circuit de trai- tement maître (22), une mémoire (23) du logiciel de conversation commun à tous les modules esclaves et un interface entrée/sortie (24). 4 - Dispositif suivant la revendication 3, caracté- risé par le fait que chacun des modules est monté séparément dans un tiroir corprenant un panneau portant les interfaces entrée/sortie de cvesat on avec l'opérateur, le panneau du m-iule raître (80) portant un clavier permettant d'entrer dans le a:. poslitf, lors de l'introduction du programme, les dcr.nr.es relatives aux séquences de ce programme, un clavier de dix tou- ches permettant cd''ntrer les valeurs numtriques de toutes les J5 opérations effectu.eas par les modules esc-laves, un affichage (OPER.) et un affichage (SEQUTENCE) permettant d'afficher, lors du déroulement du programme, l'cpération maître et le numéro de la séquence en cours, et par le fait qu'au moins une par- tie des tiroirs esclaves (81, 82, 83, 84) comprennent des tou- ches permettant d'entrer dans le programme les opérations qui doivent être exécutées par le tiroir esclave dans la séquence en cours. - Dispositif suivant la revendication 3, caracté- risé par le fait qu'il comprend un clavier unique de conver- sation avec les modules. - Dispositif suivant la revendication 1, carac- térisé par le fait que chacun des modules comprend un circuit de traitement à microprocesseur (25), au moins un-circuit de fonction spécifique (29), une logique d'interruption (26), une mémoire morte (27) et une mémoire vive (28) interconnectés par un bus d'adresses interne (30a), un bus de données interne (30b), un bus de commande interne (30c), et un bus d'interruption in- terne (30d), une mémoire morte additionnelle (31) qui, dans le cas du module maître seulement, est reliée par un bus addition- nel (36) au bus de données interne (30b) et qui, pour tous les modules, est reliée à un bus d'adresses extérieur maître (34) et à un bus de données extérieur maître (35) pour permettre au module maître (e lire ladite portion de logiciel contenue dans ladite mémoire morte additionnelle (31). RÉPUBLIQUE FRAN AISE INSTITUT NATIONAL DE LA PROPRIÉTÉ INDUSTRIELLE PARIS BREVET 2 479 502 D'INVENTION CERTIFICAT D'UTILITÉ CERTIFICAT D'ADDITION Aucun titre n'est publié sous ce numéro