FR 2072118 A1 19710924 FR 7044227 A 19701119 70 44227 1 2072118 La présente invention concerne les systèmes de commande à temps partagé pour plusieurs dispositifs à commande numérique. Jusqu'à présent, des ordinateurs ont été largement utilisés pour réaliser la commande numérique des moteurs et machines à commande numérique directe. 5 Dans la demande de brevet n° 9627 AN déposée en France par la demanderesse le 20.12.1966, plusieurs machines outils sont couplées à un ordinateur à temps partagé délivrant un mot en parallèle à la machine outil en réponse à un appel d'une impulsion de sortie par un oscillateur d'impulsions: de demande extérieure. Un tel oscillateur est utilisé pour chaque machine outil, et est situé 10 soit au poste de commande à proximité de la machine outil, soit à proximité de l'ordinateur à temps partagé afin de permettre la synchronisation du fonctionnement de la machine outil. Ainsi, dans la demande de brevet citée précédemment, les postes de commande de plusieurs machines outils reçoivent des données sur une base de temps partagé imbriqué en synchronisation avec des 15 signaux d'appel de demande extérieurs engendrés par les oscillateurs d'impulsion de demande. De plus, l'ordinateur numérique à temps partagé est programmé de façon qu'une mémoire intermédiaire de sortie soit raccordée entre les programmesâ'interpolation et les divers registres de sortie pour les machines outils. La mémoire intermédiaire de sortie comprend plusieurs positions de 20 mots, c'est-à-dire, un tableau pour chaque machine outil, de façon que le programme d'interpolation effectue plusieurs interpolations successives pour chaque machine outil, jusqu'à ce qu'il ait complètement rempli les positions de mots [la table] dans la mémoire intermédiaire de sortie pour une machine outil donnée. Puis, le programme d'interpolation effectuera une séria de calculs 25 constituant la table pour une autre machine outil. Ainsi, pour chaque machine outil, une suite de calculs d'interpolation est effectuée, successivement, d'une manière ininterrompue jusqu'à ce que la table complète dans la mémoire intermédiaire de sortie soit complètement remplie de nombres. Les tables sont alors lues d'une manière indépendante et 30 asynchrone, sous une commande d'horloge indépendante à partir d'une série d'oscillateurs de demande indépendants ou horloges, par les diverses machines outils. Cette technique de fonctionnement avec ordinateur à temps partagé entre plusieurs machines outils avec une mémoire intermédiaire de sortie est employée de façon que l'ordinateur puisse être indépendant des diverses machines outils 35 et puisse fonctionner sans interruption. Un problème associé à ce type de disposition consiste dans le fait que cette disposition nécessite qu'une table de valeurs fixe soit utilisés indépendamment d'événements pouvant intervenir et pouvant nécessiter une modification des valeurs utilisées par l'ordinateur, lorsque l'on désire commander 40 le système de commande numérique pour régler son fonctionnement, soit sous la 70 44227 2072118 commande d'un opérateur,, soit d'une manière adaptée répondant aux conditions extérieures, sans le retard afférent se produisant dans une longue table. Un autre problème associé à ce système de l'art antérieur réside dans le coût de l'équipement de traitement de données associé à l'utilisation de 5 mise en mémoire de sortie à grande vitesse pour un grand nombre de machines à commande numérique à temps partagé. Pratiquement, le coût de la mise en mémoire de sortie à très grande vitesse du type nécessaire pour permettre un fonctionnement efficace sur une base de partage de temps est l'un des problèmes les plus fâcheux. De la même manière, pour des vitesses de répétition 10 de signaux d'appel de demande élevées, l'exécution fréquente de programmes d'interpolation peut devenir fâcheuse ou meme irréalisable suivant la vitesse de l'ordinateur numérique. En conséquence, un objet de la présente invention est de réaliser un système de traitement de données à commande numérique et à temps partagé ayant 15 une réponse plus rapide aux signaux demandant une réponse. De plus, un autre objet de la présente invention est de réduire le coût de l'équipement de mise en mémoire dans un système de commande numériaue sans interrompre la continuité et le fonctionnement des machines à commande numérique et sans réduire le nombre de machines raccordées à l'ordinateur à 20 temps partagé. Suivant la présente invention, un système de commande numérique est réalisé, dans lequel une seule séquence élémentaire est exécutée pour chaque mécanisme commandé d'une manière asynchrone entre des mécanisme synchronisés sur une base d'appel pour chaque mécanisme. 25 Sous un autre aspect, la présente invention permet de réaliser un système qui comprend un moyen de calcul du taux d'impulsions à temps partagé qui en réponse, aux entrées d'appel séparées concernant le mécanisme, est attribué à celui des mécanismes qui était associé à l'appel de priorité le plus 'élevé pour effectuer un calcul du taux d'impulsions unique avant 30 de passer au calcul pour le mécanisme suivant identifié par l'appel d'une manière indépendante et asynchrone. D'autres objets caractéristiques et avantages de la présente invention, ressortiront mieux de l'exposé qui suit fait en référence aux dessins annexés à ce texte qui représentent un mode de réalisation préférée decelle-ci. 35 La figure 1 est un schéma d'un système de commande numérique suivant la présente invention. La figure 2 est une modification de la figure 1 destinée à faciliter le passage de la figure 1 aux figures 4A-4F. La figure 3 est un organigramme indiquant une méthode de commande de la 40 chronologie et des phases de fonctionnement d'un système de commande numérique BAD ORK,« « 70 44227 3 2072118 à temps partagé suivant la présente invention. La figure' 4 gst une représentation de la manière suivant laquelle les figures 4A à 4F doivent être assemblées pour former un schéma complet. Les figures 4A-4F comprennent des sections du schéma complet d'une réa-5 lisation préférée de la présente invention qui est représentée sous une forme moins détaillée dans les figures 1 et 2. Les figures 4A, 4C et 4F représentent un ordinateur universel à temps partagé. Les figures 4B et 4D représentent la mémoire intermédiaire B3 pour la 10 machine outil 3 et qui constitue l'une des mémoires intermédiaires d'entrée pour les machines outils. La figure 4E représente un mécanisme rie balayage et de sélection. La figure 4F représente une horloge à impulsions pour la commande de la chronologie dans les sections de l'ordinateur spécialisé représenté dans les 15 figures 4A et 4C. La figure 1 représente un schéma synoptique d'un système de commande numérique à temps partagé comprenant un ordinateur spécialisé à temps partagé 14, plusieurs systèmes de machines outils 5,6 et 7 et des connexions à une unité centrale de traitement 8 qui peut effectuer un post-processeur bien 20 avant i'opération de commande directe de la machine outil.(Dans la suite post-processeur désignera le programme d'adaptation de la machine). Le post-processeur de l'unité centrale de traitement 8 délivre plusieurs instructions pour les diverses machines outils qui ooivent être entrainées sous commande numérique. Les machines outils 5,6,7 sont actionnés en réponse à l'in-25 terprétation par l'ordinateur spécialisé à temps partagé 14,âes instructions délivrées par le post-processeur de l'unité centrale de traitement 8. Des données d'instructions issues de l'unité centrale de traitement 8 sont appliquées au travers des câbles 79, 80 et 81 dans plusieurs registres de mémoire intermédiaire B1, 15, B2, 16, B3, 17, au moyen de lignes contenues à l'inté-30 rieur de ces câbles. Un programme direct dans l'unité centrale de traitement 8 fournit comme expliqué ci-dessous un jeu complet de données d'instructions à l'une quelconque de ces mémoires intermédiaires lorsque cela est nécessaire. La mémoire intermédiaire B1, 15 est raccordée par l'intermédiaire du câble 31, au travers de la porte 25 et du câble 67, à l'ordinateur spécialisé à 35 temps partagé 14. La porte 25 est actionné par la ligne 150 issue du mécanisme de balayage et de sélection 13. Le mécanisme de balayage et de sélection 13 est adapté pour balayer ses lignés d'entrée 100, 102, 104 afin de déterminer laquelle de ces lignes demande une intervention pour l'une des machines outils. L'inverseur unipolaire 83, lorsqu'il est en position haute, assure le raccor-40 dement au contact 82 et à l'horloge 1 10. La ligne 102 est raccordée au 70 44227 2072118 commutateur 66, qui en position haute, assure le raccordement par l'intermédiaire du contact B5 à l'horloge 2 11. La ligne 1Û4 est raccordée au commutateur 69 qui, en position haute, assure le raccordement par l'intermédiaire du contact 88 à l'horloge 3 12. Les diverses horloges peuvent être synchro-5 nisées pour fonctionner à la vitesse désirée pour le fonctionnement des systèmes de machines outils, 5,6 et 7. Par exemple, la synchronisation des horloges peut être commandée par la sortie du post-processeur de l'unité centrale de traitement» L'horloge 10 correspond à la machine-outil 5, etc... Lorsque les contacts 83, 86 et B9 sont en position basse, les commutateurs 10 raccordent les lignes 100, 102 et 104 par l'intermédiaire des contacts 84, ■ 87 et 90, aux lignes 91, 92, 93 qui sont raccordées aux sorties des machines-outils 5,6 et 7 respectivement. Chaque machine outil délivre périodiquement une impulsion indiquant un appel de données supplémentaires à l'ordinateur spécialisé à temps partagé 14. Le mécanisme de balayage et de sélection 13 15 actionne alors l'une des lignes 150, 154 ou 156 suivant le fonctionnement spécifique du mécanisme de balayage et de sélection 13 qui est décrit en se référant à la figure 4 ci-dessous. Les lignes 154 et 156 conditionnent les portes 28 et 27 respectivement, ce qui permet aux mémoires intermédiaires B2, 16 et B3, 17 de se raccorder par l'intermédiaire des câbles 30 et 29 20 respectivement et du câble 67 à l'ordinateur 14. L'ordinateur 14 délivre une sortie sur les lignes de données 45, 46, 47 et 48 pour les coulisseaux X et Y d'une machine outil sélectionnée, (4 lignes pour les incréments de position positif et négatif et pour les deux coulisseaux X et Y). Chacune des lignes 45-48 est raccordée à chaque porte 70, 71 et 72. Les 25 lignes 150, 154 et 156 sont raccordées aux portes 70, 71 et 72 respectivement, afin de provoquer le couplage de l'entrée du système de machine outil particulier à la sortie de l'ordinateur 14 en synchronisme avec le fonctionnement de l'ordinateur 14 afin d'effectuer l'algorithme pour la machine outil donnée, ce qui consiste à recevoir des données de commande au moment où les portes 30 sont excitées. Ainsi, la sérié particulière de sorties 45, 46 47, et 48 peut être raccordée à l'une quelconque des trois machines-outils. En pratique, étant donné que les machines outils courantes nécessitent quelque chose comme un maximum de 20 000 impulsions par seconde, en fonctionnement à pleine vitesse, pour chacun des axes de la machine outil, il est évident que le mécanisme 35 de balayage et de sélection 13 obligera constamment l'ordinateur 14 à fonctionner à une vitesse très élevée sur les divers axes des diverses machines out.ils. Lorsque l'ordinateur 14 a terminé la réalisation d'un algorithme pour une machine outil donnée, il provoquera alors, par l'intermédiaire de la ligne 152, le balayage des lignes 100, 1Q2 et 104 par le mécanisme de balayage et 40 de sélection 13 pour un appel de fonctionement de l'ordinateur 14 pour une 70 44227 5 2072118 machine outil différente. La figure 2 présente une disposition différente des éléments du système représenté dans la figure 1, qui concerne plus précisément la structure générale du système des figures 4, 4A, 4F. De plus certains détails supplémentaires qui ne seront pas décrits plus loin, sont inclus dans la figure 2 afin de 5 clarifier la relation entre la figure 2 et la figure composite. 4.. On notera que la porte de sortie 70 indique que certaines lignes sont pour -le coulisseau X et parmi celles-ci, une est destinée à délivrer des incréments de position positifs et l'autre des, incréments de position négatifs sous la forme d'impulsions. 10 Certaines autres lignes sont destinées au coulisseau Y ; l'une délivre des incréments de position positifs et l'autre des incréments de position négatifs. En se reportant à la figure 3, on voit que celle-ci comprend deux figures 3A et 3B qui forment une figure composée. Les figures 3A et 3B repré-15 sentent l'organigramme général pour les algorithmes qui sont effectués par l'ordinateur 14 en combinaison avec le mécanisme de balayage et de sélection 13. Dn se réfère maintenant à l'équipement représenté dans les figures 4A-4F en association avec la description de la figure 3. Le matériel représenté dans les figures 4A, 4F sera traité plus en détails cependant, après avoir 20 traité la figure 3. La première étape du programme consiste en un sous-programme réalisé pour déterminer quelle est la machine outil qui demande une intervention. Ceci commence lorsque la commande de démarrage 9 (figure 4F) de la machine a été actionnée. Si une machine ne réclame aucune intervention, le mécanisme 25 de balayage et de sélection 13 continuera alors à rechercher un appel d'intervention à l'une de ses entrées (figures 4E). Si une machine demande une intervention le programme transfère alors un registre d'adresse de mémoire intermédiaire 158 (figure 4B) à un registre d'adresse locale 194 (figure 4A). Le registre d'adresse de mémoire intermédiaire 158 est situé dans l'une des mémoires 30 intermédiaires B1, 15 s B2, 16 j B3, 17 (figures 4B et 4D). Le registre d'adresse locale 194 est situé dans l'ordinateur spécialisé à temps partagé 14. Une- troisième étape du programme consiste à transférer le contenu décodé du registre d'adresse locale 194 aux lignes d'adresse de mémoire intermédiaire 202 et à envoyer le contenu de la mémoire intermédiaire au registre d'instruc-35 tion 20B. Les lignes d'adresse de mémoire intermédiaire 202 sont celles qui sélectionnent des positions données dans la mémoire intermédiaire qui peut être, par exemple, la mémoire intermédiaire B1. Dans la mémoire intermédiaire B1, 15, se trouvent seize positions de registre, dont une seule est sélectionnée à la 40 fois, comme on l'expliquera plus en détails par la suite. L'étape suivante de 70 44227 U 2072118 la troisième étape du programme consiste'à transférer .la sortie de la section A ou B de mémoire intermédiaire active 18 ou 19 {figures 4B et 4D) par-le câble 35 dans l'ordinateur 14 ét le registre d'instruction 206 (figure 4C] qui reçoit des instructions en ce qui concerne"laquelle des nombreuses opérations 5 possibles est à effectuer par l'ordinateur 14.. -, On retrouve quatre instructions de-base concernées par ce programme. Les quatre instructions de base concernées sont référencées CP, LRY, LRX et AX. La commande d'axe ou commande AX est la. première commande pour un mouvement quelconque de la machine outil. Elle contient des informations à 10 fournir au registre de direction d'axe-[ADR] 172 (fig. 4B) qui. indique dans quelle direction l'axe se déplacera, et le registre de: sélection d'axe [APR] 174 Cfig. 4B) qui commande lequel'des axes X et Y sera déplacé pendant l'opération en cours. Les instructions suivantes sont l'instruction LRX et l'instruction LRY. 15 L'instruction LRX (registre de charge X) se réfère au chargement du registre AX 22 (figure 4D] dans ^le but de préciser le nombre total d'incréments de position unitaires suivant lequel le coulisseau X doit être ultérieurement avancé à la suite de l'exécution complète de l'instruction CP. L'instruction LRY (registre de charge Y] se réfère au chargement du registre 20 AY 24 (fig. 4D) afin de réaliser la même opération pour le coulisseau Y. La manière suivant laquelle les contenus du registre AX 22 et du registre AY 24 sont interpolés par l'ordinateur 14, sera décrite ci-dessous. La quatrième instruction est l'instruction CP ou commande de trajectoire continue. Cette commande signifie que la machine doit être déplacée comme 25 précisé par les informations emmagasinées dans les registres 22 et 24 pendant les commandes précédentes. Il se peut que la mémoire intermédiaire contienne plusieurs commandés CP dans ses registres, après des commandes LRY et LRX. Si l'instruction est AX, la fonction suivante de la machine sera alors d'exécuter la fonction de programme 5, P5 qui consiste à transférer le regis-30 tre d'adresse local 194 sur les lignes d'adresse de mémoire intermédiaire par le câble 202. Cette fonction transfère également le contenu de l'undes registres de mémoire intermédiaire A et B 18, 19, quel que soit le registre sélectionné, par le câble 35 dans l'ADR 172 et l'APR 174 (figure 4B). L'ADR 172 et l'APR 174 sont situés dans la mémoire intermédiaire elle-même. Après 35 que ceci ait été réalisé, l'étape de programme P8 suit l'étape P5 automatiquement et provoque l'augmentation du registre d'adresse local 194 d'un compte de 1. La sortie de ce registre est alors appliquée au cours de l'étape •P9 au registre' d'adresse de mémoire intermédiaire 158 qui aura alors augmenté son contenu d'une position- de façon qu'il puisse provoquer la lecture de 40 l'instruction de commande suivante dans la mémoire intermédiaire 17 par le BAD ORIGINAL 70 44227 7 2072118 registre d'adresse local 194 comme intermédiaire et ainsi de suite dans l'ordre numérique descendant prescrit. Après l'étape P9 du programme, l'étape P18 est réalisée, ce qui se produit à la fin de chaque séquence d'instructions provoquant la libération du mécanisme de balayage qui est mis en communication par la ligne 152 avec le mécanisme de balayage et de sélection 13 dans les figures 1,2 et 4E. Comme représenté dans les figures 3A et 3B, la fonction du mécanisme 13 est d'amorcer l'étape P1 du programme qui détermine laquelle des machines outils demande une intervention. Le programme retourne à nouveau par l'intermédiaire de P1, P2, P3 à l'étape P4 et à ce moment, on suppose que l'ordinateur 14 a reçu une instruction demandant LRX qui provoque un décalage à l'étape PB du programme qui transfère le contenu décodé du registre d'adresse local 194 sur les lignes d'adresse de mémoire intermédiaire par le câble 202 et dans la mémoire intermédiaire A 18 et la mémoire intermédiaire B19 comme décrit ci-dessus, puis transfère alors le contenu de la mémoire intermédiaire au registre AX 22, en préparation de l'exécution de l'interpolation pour les axes X. La fin de cette étape provoque la réalisation de l'étape PB, suivie par l'étape P9, suivie par l'étape P18 et ainsi l'ordinateur revient à l'étape de programme P1 afin de recommencer la séquence par l'intermédiaire de l'étape P4. A P4 cette fois, on suppose que le registre d'instruction 206 demande la réalisation de 1"instruction LRY qui conduit à l'étape P7 du programme qui transfère le contenu décodé du registre -d'adresse local 194 aux lignes de mémoire intermédiaire des registres de mémoire intermédiaire A et B, 18, 19. Le contenu de l'élément sélectionné est alors transféré au registre AY 24 dans la mémoire intermédiaire 17 en préparation à la réalisation de l'interpolation pour l'axe Y. Ceci provoque à nouveau le retour à l'étape P4 au travers de la même boucle comme indiqué précédemment par PB, P9, P18, PI, P2, P3 et P4. Avant de décrire la circulation des données associée à l'exécution de l'instruction CP de trajectoire continue, le fonctionnement d'un algorithme d'interpolation sera expliqué. Dans ce cas* le contenu du registre AX 22 est ajouté d'une manière répétée au contenu du registre EAX 21 (figure 4D), qui contient le même nombre de positions de bit que le registre AX 22. Ainsi, à la suite d'une addition, un dépassement de capacité peut ou ne pas se produire. Cependant, le nombre moyen de dépassements de capacité se produisant à la suite d'une série d'additions sera proportionnel au contenu du registre AX 22 et sera réparti d'une manière pratiquement régulière à mesure que la série d'additions progresse. Par exemple, si les registres AX et IAX 22 et 21 comprenaient huit bits chacun et si une série de 256 additions étaient effectuées concernant 256 séquences C P, le nombre de dé- 70 44227 6 2072118 passements de capacités produits serait égal au contenu du registre AX 22 précisément, et le contenu du registre EAX 21 après les 256 additions serait revenu à sa valeur originale. Le compteur de séquences CP20 aura un dépassement de capacité à la fin des 256 séquences CP et signifiera ainsi la fin 5 d'une instruction de multi-séquences CP. Dans le dernier cas, on suppose qu'une étape CP de trajectoire continue de 1'algorithme est â effectuer. Si CP est sélectionné par le registre d'instruction 206 dans l'fitape P4, l'étape de programme suivante est alors P10. L'étape P10 vérifie si la sélection de l'axe X est spécifiée. Sinon, le 10 programme passe alors immédiatement à l'étape de programme P13 j mais s'il en est ainsi, le programme continue par l'étape de programme P11. L'étape de programmé P11 demande le transfert du contenu du registre IAX21 et du registre AX22 par l'additionneur 258 au registre de somme 260, tout dépassement de capacité étant-appliqué par la ligne 262 dans la figure 4C pour le transfert 15 de l'une des lignes de sortie X 45, 46. Puis dans l'étape P12, la somme dans le registre 260 est transférée pour remplacer la somme dans le registre ZAX 21, dans la mémoire intermédiaire. A la fin de l'étape P12, l'étape P13 est exécutée. L'étape P13 comprend un essai pour déterminer si la sélection de Y est ou n'est pas spécifiée. Si non, les deux étapes P14 et P15 sont 20 alors évitées et le programme continue par l'étape P16. Cependant, si la réponse est positive, le programme se continue alors par l'étape P14. Dans l'étape P14 le programme transfère le registre EAY 23 et le registre AY 24 par l'additionneur 258 dans le registre de somme 260 transférant le dépassement de capacité par la ligne 262 sur l'une des lignes de sortie Y 47, 48. Après 25 l'étape P14, l'étape P15 transfère le contenu du registre de somme 260 dans le registre EAY 23 dans la mémoire intermédiaire. Puis, la phase P16 incré-mente le compteur de séquence CP 20 (figure 4B) d'un compte de un. Si le compteur d'étape 20 n'a pas encore dépassé sa capacité et n'a pas été restauré â 0 par. l'étape P16, puis dans l'étape P17, comme indiqué par le décodeur 30 588, le programme passe alors immédiatement à l'étape de relâchement du mécanisme de balayage'P18 marquant la fin d'une séquence d'étapes. Cependant, s'il dépasse la capacité et-se remet ainsi à zéro, l'ordinateur augmente alors le registre d'adresse locale 194 au moyen de l'étape P8, puis continue alors par l'étape P9, afin de transférer le contenu du registre d'adresse locale 35 194 dans le registre, d'adresse de mémoire intermédiaire'158. Lorsque le contenu du registre d'adresse'de mémoire intermédiaire 158 atteint les nombres 0 et 8, le décodeur aux lignes 160: et 166 provoque l'envoi d'un signal" pour charger soit la mémoire intermédiaire B 19 soit la mémoire intermédiaire A18 respectivement à partir de l'ordinateur universel 8 par les câbles 162 et 168 40 respectivement. 70 44227 9 2072118 Bien que le programme utilisé ici soit relativement simple, et nécessite l'utilisation de valeurs accumulées, par exemple, ZAX dans 21 et EAY dans 23, ■ il est évident que de nombreuses.autres instructions peuvent être emmagasinées dans .la mémoire intermédiaire en plus de celles décrites et que la descritpion 5 donnée ici est une description simple appropriée à la description du concept de la présente invention. Le mécanisme de balayage 13 est représenté dans la.figure 4E. Le mécanisme de synchronisation associé à une machine outil 1 peut demander une intervention en envoyant une impulsion par la ligne 100. Celui de la machine outil n°2 peut 10 demander une intervention en envoyant une impulsion sur la ligne 102. Celui pour la machine outil n° 3 peut demander une intervention en envoyant une impulsion sur la ligne 104. Une impulsion sur la ligne 100 enclenche la bascule 106 à sa condition 1. Une impulsion sur la ligne 102 enclenche la bascule 108 à sa condition 1. Une impulsion sur la ligne 104 enclenche la 15 bascule .110 à sa position 1. Une horloge de balayage incorporée 111 consistant en monocoups 112, 114 et 116 est utilisée pour synchroniser le fonctionnement du mécanisme. Cet horloge peut être enclenchée en mouvement par l'application d'une impulsion de démarrage initiale au circuit OU 118. La sortie du circuit OU 110 enclenche 20 le monocoup 112 dans sa condition "1", qui a pour résultat d'appliquer une impulsion sur la ligne 122 qui restaure les monocoups 124, 12S, 128 à leurs conditions 0. Lorsque le monocoup 112 est restauré une impulsion est produite sur la ligne 130 qui enclenche le monocoup 114 afind'appliquer une impulsion sur la ligne 132 qui est utilisée pour avancer le compteur 134. Le compteur 25 134 est un compteur de module 3. Lorsque le monocoup 114 est restauré, une impulsion est produite sur la ligne 136 qui est utilisée pour placer le monocoup 116 dans sa condition enclenchée. Ceci résulte en une impulsion sur la ligne 138 et est appliquée à la porte 140. Lorsque le monocoup 116 est restauré, une impulsion apparait sur la ligne 142, qui, si le circuit ET 120 30 est ouvert est appliquée au circuit OU 118 et l'horloge 111 se recycle. On notera que le circuit ET 120 n'est ouvert que si les bascules 124, 126 et 128 qui y sont raccordées par les lignes 125, 127 et 129 sont toutes dans leur condition 0. Si la bascule 106 est dans sa condition 1 et si le compteur 134 est à zéro 35 au moment où l'impulsion sur la ligne 138 est appliquée à la porte 140, la condition active sur la ligne 146 se prolongera dans le circuit ET 144 afin d'enclencher le monocoup 124 dans sa condition 1. Cette même impulsion, Cà partir de la ligne 146) se prolongera par le circuit à retard 148 afin de restaurer la bascule 106 à sa condition 0. On notera maintenant que, la bas-40 cule 124 étant dans sa condition 1, le circuit ET 120 ne sera pas ouvert et' 70 44227 IU 2.07 2118 qu'en conséquence, l'impulsion sur la ligne 142 lorsque le monocoup 116 est restauré ne se prolongera pas par le circuit ET 120 au- circuit OU 118. La condition active sur la ligne 150 est une indication à l'ordinateur à temps partagé local que la machi.ne outil n°1 a demandé une intervention. Après 5 que l'intervention ait été appliquée, une impulsion sera.appliquée à la ligne 152 [à partir de la ligne d'horloge P18 dans la figure 4F) qui démarre à nouveau l'horloge de balayage 111 par le circuit DU 118. Le circuit ET.244 est ouvert en réponse à la condition 1 du compteur 134 en association avec une sortie 1 de la bascule 108 et est raccordé pour 10 enclencher la bascule 126 à sa condition 1 lorsqu'il est ouvert. Il restaure également la bascule 108 à 0 par l'intermédiaire du circuit, à retard 248. Le circuit ET 344 la bascule 128, le circuit à retard 348 et la sortie 0 du compteur 134 sont raccordés d'une manière similaire. En se reportant à la figure 2, on notera que les lignes 150, 154 et 156 15 sont utilisées pour conditionner l'entrée et la sortie de l'ordinateur spécialisé.à temps partagé 14 à partir et vers les mémoires intermédiaires 15, 16 et 17 respectivement. La ligne 152 est également indiquée à la figure 2, et comme indiqué précédemment, cette ligne est utilisée pour libérer le mécanisme de balayage. 20 Les figures 4B et 40 contiennent des dessins détaillés de la mémoire intermédiaire 17 choisie comme exemple parmi trois mémoires intermédiaires 15, 16 et 17, une pour chaque machine outil. La mémoire intermédiaire 17 consiste en huit registres auxquels on se réfère comme à la mémoire intermédiaire A18, huit registres auxquels on se réfère comme à la mémoire intermédiaire 25 B19 et une série de registres individuels qui sont appelés compteur d'étapes 20, registre d'adresse de mémoire intermédiaire 158, registre ADR 172, registre APR 174, registre EAX 21, registre AX 22, registre EAY 23 et registre AY 24. Le registre d'adresse de mémoire intermédiaire 158 sur la figure 4B est utilisé pour adresser l'un es seize registres dans les mémoires intermédiaires A et B 30 18, 19 par le registre d'adresse locale 194 et le décodeur 34 comme intermédiaires. Les registres intermédiaires A 18 et B19 contiennent les instructions pour l'ordinateur à temps partagé spécialisé 14. Le registre d'adresse de mémoire intermédiaire 158 compte de 0 à 15 dans le système binaire et ensuite revient à 0. Lorsque le contenu du registre d'adresse de mémoire intermédiai-35 re 158 est à 0, un signal est produit sur la ligne 160 à partir du décodeur 28 et interrompt le programme de l'ordinateur universel 8 et permet au programme dans l'ordinateur 8 de charger la mémoire intermédiaire B19. Des données pour les registres de la mémoire intermédiaire B19 sont envoyées par le sous-câble 162 du câble 79 et les lignes dans le sous-câble 164 du câble 29 40 sont utilisées pour adresser les registres dans la mémoire intermédiaire B19. BAD ORIGINAL 70 44227 11 2072118 Lorsque le contenu du registre d'adresse de mémoire intermédiaire 158 se trouve à l'équivalent du 8 décimalr la ligne 166 devient active, ce qui est un signal pour l'ordinateur universel 8 de charger la mémoire intermédiaire A 18. Les données pour la mémoire intermédiaire A 18 sont envoyées par le 5 sous câble 168 du câble 29 et les lignes dans le câble 170 du câble 29 sont utilisées pour adresser les registres dans la mémoire intermédiaire A 18. Le contenu du egistre ADR 172 dans la figure 4B indique la direction dans laquelle les coulisseaux de la machine outil doivent se déplacer. Dans cette réalisation, le registre ADR 172 peut être un registre à deux bits. Le bit 10 gauche peut dénoter la direction suivant laquelle le coulisseau X doit se déplacer. Par exemple, si ce bit est un 1, une direction positive pour le couliesseau X est indiquée. Si ce même bit est un 0 il indiquera une direction négative pour le coulisseau X. De la même manière, le bit droit du registre ADR 172 peut indiquer la direction du mouvement du coulisseau Y. Par exemple, 15 si le bit droit du registre ADR 172 est un 1, il indiquera une direction positive pour le coulisseau Y. Si le même bit est un 0 il pourra indiquer une direction négative pour le coulisseau Y. Dans la figure 4B, le registre APR 174 peut également être un registre à deux bits. Le bit gauche peut indiquer l'activité du coulisseau 20 X. Par exemple si ce bit est un un, il peut indiquer qu'il y a sélection du coulisseau, X, c'est-à-dire, un mouvement dans la direction positive ou négative. Quel que soit le mouvement qui se produit réellement, celui-ci dépend d'autres conditions. D'autre part, si le bit gauche est un 0, le coulisseau X ne peut pas se déplacer indépendamment de toute autre condition. 25 De la même manière, le bit droit du registre APR 174 peut indiquer la sélection du coulisseau Y. Par exemple, si ce bit est un 1, il indiquera qu'il y a un mouvement du coulisseau Y. Si ce bit est un 0, il indiquera qu'il n'y a pas de mouvement du coulisseau Y. On se référera maintenant aux figures 4A, 4B, 4C et 4D et également au ta-30 bleau de circulation des figures 3A et 3B et à l'horloge de micro-programme représentée dans la figure 4F. Dans la figure 4F, une séquence d'événements est amorcée par l'application d'une impulsion au circuit OU 176. Ceci enclenche le monocoup 178 afin de produire une impulsion P1. L'impulsion P1 est appliquée par la ligne 32 35 à la porte 180 sur la figure 4E. Si l'une des lignes 150, 154 ou 156 est active, une impulsion sera produite sur la ligne 182 qui se prolonge à la figure 4F et est utilisée pour enclencher le monocoup 184. Si aucune des lignes 150, 154 ou 156 n'est active, l'inverseur 33 provoqué.laisse passer l'impulsion par la ligne 186, le circuit à retard 188 et la ligne 190 de retour 40 au circuit OU 176 dans la figure 4F afin d'amorcer à nouveau le monocoup 178. 70 44227 12 2072118 L'impulsion P2 issue c!u monocoup 184 est appliquée à la porte 192 sur la figure 4A afin de transférer le contenu-du registre d'adresse de mémoire intermédiaire 158 [figure 4B) au registre d'adresse locale 194 sur la figure 4A. Sur la figure 4F, lorsque le monocoup 184 est restauré, une impulsion 5 est produite pour enclencher le monocoup 196 afin de produire l'impulsion P3. Dans la. figure 4A, l'impulsion P.3 est appliquée, au circuit OU 198 dont la sortie est appliquée à la porte 200 afin de passer-la sortie décodée du registre d'adresse local 194 par l'intermédiaire du décodeur 34 sur l'une des lignes dans, le câble 202. On notera que le câble 202 se prolonge par la porte 10 27 à la figure 4B et est utilisé pour adresser l';un des registres dans les mémoires intermédiaires A et B 18, 19. Sur la figure 4C, l'impulsion P-3 est également appliquée à la porte 204 afin de transférer;la sortie des mémoires intermédiaires A et B 18, 19.sur le câble 35 par. la porte 27 au registre d'instruction 206.. - . . : 15 Sur la figure 4F> lorsque le monocoup 196 est restauré, il enclenche le monocoup 208 pour produire l'impulsion. P4. . . L'impulsion d'horloge P4 est appliquée à la porte 210 dans la figure 4C afin de raccorder un signal à l'une des lignes 212, 214, 216 ou 218. Si la ligne 212 devient active afin de conduire à l'impulsion d'horloge P5, cela 20 signifie qu'une instruction "AX" a été décodée. Le fil 212 se prolonge à la figure 4F et est utilisée pour enclencher le monocoup 220, qui produit l'impulsion d'horloge P5. L'impulsion P5 est appliquée au circuit OU 198 de la figure 4A afin d'ouvrir la porte 200. Ceci place -la. sortie :décodée du registre d'adresse local 25 194 sur la ligne d^'adresse de mémoire intermédiaire contenue dans le câble 202. L'impulsion P5 est alors appliquée à la porte 222 afin de charger les registres' AOR 172 et APR 174 à partir de la mémoire.intermédiaire, par la porte 27; le cible 35 et le câble 36. En s-e reportant à nouveau à la porte 210 sur la figure 4C qui est activée 30 par l'impulsion P4, on voit.que si l'instruction décodée est une instruction "LRX", la ligne 214 devient active. La ligne-214 se prolonge à la figure 4F et est effective pour enclencher le monocoup 224 afin de produire l'impulsion d'horloge P6. L'impulsion P6 est appliquée au.circuit OU .198 dans la figure 4A afin 35 d'adresser la mémoire intermédiaire comme décrit précédemment. L'impulsion P6 est également appliquée à:,la porte 226 dans la figure 4C afin de transférer la sortie-de la mémoire intermédiaire 18, 19 par les câbles 35 et 49 au -registre AX 22 dans la; figure 4D. - ; En se reportant à nouveau à la porte 210 dans la figure 4C qui est activée 40 par l'instruction P4, on voit, que si l'instruction décodée est une instruction 70 44227 13 2072118 "LRY", la ligne 216 deviendra active. La condition active de la ligne 216 se prolonge à la figure 4F où elle est effective pour enclencher le monocoup 228 afin de produire l'impulsion P7. L'impulsion P7 est appliquée au circuit OU 198 afin d'adresser la mé-5 moire intermédiaire comme expliqué précédemment. L'impulsion P7 est également appliquée dans la figure 4C à la porte 230 afin de transférer la sortie de la mémoire intermédiaire au registre AY 24 par la ligne 524. En se reportant à nouveau à la porte 210 [figure 4CÎ qui est testée par l'impulsion d'horloge P4, on voit que si l'instruction décodée est une 10 instruction CP, la ligne 218 deviendra active. La condition active de la ligne 218 se prolonge à la figure 4F où elle est effective pour enclencher le monocoup 232 afin de produire l'impulsion d'horloge P10. Avant d'expliquer le but de l'impulsion P1Q, on doit mentionner que lorsque les monocoups 220, 224 ou 22B sont restaurés, le. circuit OU 234 15 (figure 4F] enclenche le monocoup 236 afin de produire l'impulsion P8. L'impulsion PB est utilisée pour avancer le registre d'adresse local 194 dans la figure 4A. Lorsque le monocoup 236 est restauré, le monocoup 238 sera enclenché pour produire l'impulsion P9. L'impulsion P9 est appliquée à la porte 240 dans la figure 4A afin de 20 transférer le registre d'adresse local 194 afin de mettre à jour le registre d'adresse de mémoire intermédiaire 158 dans la figure 4B. Dans la figure 4F, on notera que lorsque le monocoup 238 est restauré, 242 le monocoup est enclenché par l'intermédiaire du circuit OU 37. L'action du monocoup 242 sera expliquée ultérieurement. 25 En revenant au monocoup 232, qui est enclenché par l'impulsion sur la ligne 218, on notera que l'impulsion P1Q produite de ce fait, est appliquée è la porte ET 244 [figure 4A) afin de tester la sélection de X à partir du registre APR 174 par l'intermédiaire de la porte 27 et du câble 38. Si la sélection X est égale à 1, une impulsion apparaîtra sur la ligne 30 246. Si la sélection X est égale à 0, une impulsion apparaîtra sur la ligne 247. La ligne 246 se prolonge dans la figure 4F et est utilisée pour enclencher le monocoup 250 afin de produire l'impulsion P11. La ligne 247 se prolonge è la figure 4F et est utilisée par l'intermédiaire du circuit OU 39 pour enclencher le monocoup 252 afin de produire l'impulsion P13. 35 A la figure 4C, l'impulsion P11 est appliquée aux portes 254 et 256 afin de transférer les contenus des registres EAX 21 et AX 22 à l'additionneur 256 par l'intermédiaire des câbles 40, 41 et de la porte 27. En se reportant à la figure 4C, on voit que la sortie de. l'additionneur 258 est appliquée par l'intermédiaire du câble 42 dans le registre de somme 40 260 et qu'un dépassement de capacité, s'il existe, apparaît sur la ligne de 70 44227 "* 2072118 dépassement de capacité 262. L'impulsion P11 est également appliquée au circuit ET 268 de façon que l'état actif de la ligne 262 puisse se prolonger aux circuits ET 264 et 266. Si le circuit ET 264 est ouvert par le registre ADR 172, par le câble 44 et la porte 27, une' impulsion sera délivrée à là machine outil 5 comme une impulsion de direction positivé d'axe X sur la ligne 45. Si le circuit ET 266 est ouvert, l'impulsion sera délivrée à la machine outil comme une impulsion de direction négative de l'axe X sur la ligne 4B. Lorsque le monocoup 250 est restauré, il enclenche le monocoup 270 afin de produire l'impulsion P12. L'impulsion P12 est appliquée à la porte 272 afin 10 de conditionner le registre de somme 260 par l'intermédiaire du'câble 43 et de la porte 27 eu registre EAX 21. Lorsque le monocoup 270 est restauré, le circuit OU 39 active également le monocoup 252 qui produit l'impulsion P13» L'impulsion P13 est appliquée à la porte 274 dans la figure 4A. Si la sélection Y est égale à 1, une impulsion apparaît sur la ligne 276. Si la 15 sélection Y est égale à zéro, une impulsion apparaît sur la ligne 278. La condition active de la ligne 276 se prolonge à la figure 4F et est utilisée pour enclencher le monocoup 280 qui produit l'impulsion P14. La condition active de la ligne 278 ss prolonge à la figure 4F par 1 intermédiaire du circuit DU 50 et est utilisée pour enclencher le monocoup 282. L'impulsion 20 P15 produite par le monocoup 284 lorsque le monocoup 280 est restauré est utilisée pour transférer le registre EAY 23 et le registre AY 24 par les portes 27, 58, et 59 au travers des câbles 51, 52, 40 et 41, à l'additionneur 258 vers le registre de somme 260 et également pour transférer le dépassement de capacité possible vers les lignes de direction Y. appropriées 47, 48. Cette 25 opération est exactement la même que celle décrite précédemment pour l'axe X avec le circuit ET 53 activé par l'impulsion P14 vers les circuits ET 54 et 55. Lorsque le monocoup 280 est restauré, il enclenche le monocoup 2S4 afin de produire l'impulsion P15. L'impulsion P15 est utilisée pour transférer 30 le registre de somme 60 au registre EAY 24 par les câbles 43, 56 et la porte 57. Cette opération est de nouveau similaire à celle décrite précédemment pour le registre IAX 21. Lorsque le monocoup 284 est restauré il enclenche le monocoup 282 par l'intermédiaire du circuit OU 50, afin de produire l'impulsion P16. L'impul-35 sion P16 est utilisée pour avancer le compteur de séquence CP 20 dans la figure 4B. Lorsque le monocoup 282 est restauré, il enclenche le monocoup286 afin de produire l'impulsion P17. L'impulsion P17 est appliquée à la porte 288 afin de tester le compteur d'étapes 20 par l'intermédiaire du câble 60 et 40 de la porte 27. Si le compteur d'étapes est à zéro, une impulsion apparaîtra BAD ORIGINAL 70 44227 15 2072118 sur la ligne 290 de la porte 288. Si le compteur d'étape n'est pas à zéro, une impulsion apparaîtra sur la ligne 292. La ligne 290 est une entrée du circuit 0U234 (figure 4F] et une impulsion sur la ligne 290 est ainsi utilisée pour enclencher le monocoup 236. En d'autres termes, l'horloge est ramenée à l'impulsion P8. La ligne 292 se prolonge à la figure 15 et est utilisée pour enclencher le monocoup 242. L'impulsion d'horloge P18 marquant la fin d'une séquence, est appliquée à la ligne 152 en haut de la figure 4F afin de libérer le mécanisme de balayage 111 dans la figure 4E. Lorsque le monocoup 242 est restauré, la ligne 61 est active pour enclencher le monocoup 176 par l'intermédiaire du circuit OU 176. Bien que l'on ait décrit dans ce qui précède et représenté sur les dessins, les caractéristiques essentielles de l'invention appliquées à un mode de réalisation préférée de celle-ci, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles sans pour autant sortir du cadre de ladite invention. 70 44227 16 2072118 REVENDICATIONS 1. Système de commande numérique de plusieurs mécanismes d'entraînement à partir d'un équipement* de traitement"de données central, caractérisé en ce au'il comprend " des moyens pour recevoir des demandes de données pour chacun des dits 5 mécanismes à commander, des moyens de réponse sélectifs aux dites dêmandœ de données pour acquérir sélectivement les dites données à partir d'une mémoire et les fournir aux dits mécanismes, et des moyens pour distribuer les dites données aux dits mécanismes 10 suivant une séquence coordonnée. - "2. Système de commande numérique de machine-outil comprenant un calculateur spécialisé et des moyens de commande sélective des mécanismes d'entraînement de la machine-outil, ledit système étant caractérisé en ce que ledit calculateur comprend : 15 des moyens pour mettre en oeuvre un algorithme, dès signaux de commande de" mouvements à effectuer par les dits mécanismes ledit calculateur effectuabt seulement une séquence dudit algorithme pour chaque mécanisme d'entraînement en réponse à chaque signal engendré par les dits moyens de commande, 20 et des moyens pour connecter la sortie des dits moyens de mise en oeuvre de l'algorithme, directement à l'entrée dudit mécanisme d'entraînement associé 3. Système de commande numérique à temps partagé comprenant un calculateur numérique élaborant les signaux de commande pour plusieurs mécanismes d'entraînement, caractérisé en ce que ledit calculateur est connecté directe- 25 ment aux.entrées de commande des dits mécanismes d'entraînement sans emmagasinage des signaux de sortie dudit calculateur dans une mémoire intermédiaire. 4. Système de commande numérique de plusieurs machines outils, caractérisé . en ce qu'il comporte des moyens pour effectuer une séqeence de commandes unique pour chaque machine outil, de façon asynchrone avec les autres sé~ 30 quences de commandes et fournir les signaux de commande de ladite séquence directement à ladite machine outil sans emmagasinage en mémoire de ces dits signaux. 5. Système de commande numérique de machines outils comprenant un calculateur spécialisé et des moyens de commande engendrant des signaux permettant la BAD ORIGINAL 70 44227 17 2072118 commande sélective des machines-outils, ledit système étant caractérisé en ce que ledit calculateur comprend : des moyens d'interpolation pour engendrer plusieurs séquences d'impulsions de commande,ledit calculateur effectuant seulement une seule des dites 5 séquences pour chaque axe d'une machine outil en réponse à un signal engendré par les dits moyens de commande, et des moyens pour connecter la sortie des dits moyens d'interpolation directement à l'entrée de commande de la machine outil associée sans avoir à emmagasiner les signaux de sortie des dits moyens d'interpolation dans une 10 mémoire intermédiaire. 6. Système de commande numérique d'au moins une machine outil, comDortant plusieurs sorties correspondant à plusieurs mécanismes d'entraînement, caractérisé en ce qu il comporte des moyens travaillant en temps partagé, pour élaborer une instruction unique commandant plusieurs séquences, destinée 15 à la commande d'un seul des dits mécanismes d'entraînement, ces moyens fournissant uns sortig de commande imbriquée de façon asynchrone avec les autres instructions élaborées pour les autres mécanismes d'entraînement, cette sortie de commande étant appliquée directement audit mécanisme d'entraînement sans être emmagasinée dans une mémoire intermédiaire.