FR 2228247 A1 19741129 FR 7316813 A 19730504 a présente invention concerne un procédé pour le traitement des instructions dans une machine-outil à commande numérique, et elle vise également une unité de traitement destinée à la mise en oeuvre de ce procédé. On sait qulà côté des machines-outils conventionnelles sont apparuesdes machines-outils dites a commande numérique", dans lesquelles l'outil est conduit automatiquement en fonction d'indications numériques. Bes ordres ou instructions, représentant en général des déplacements de l'outil suivant plusieurs coordonnées, sont codés et constituent le programme, dont le support matériel est par exemple une bande perforée. Be programme se présente comme une succession de "blocs d'informations" qui dérivent chacun une opération. Ces informations sont lues, traitées, et la machine effectue automatiquement la succession d' opérations prévue. Be traitement des instructions est réalisé par une unité centrale apte à effectuer des calculs et des opérations logiques. Cette unité centrale de traitement est reliée à la machine-outil proprement dite, et à un certain nombre d'organes périphériques. Certains de ces organes sont destinés à l'entrée des informations : le lecteur de bande perforée, permettant l'entrée automatique des données, fait avancer la bande au fur et à mesure de l'exécution du programme qu'elle supporte. Un clavier du type machine à écrire , ou un système à roues codeuses, permettent l'entrée manuelle a'informations, qui peuvent être des instructions supplémentaires, Un pupitre permet en outre la commande manuelle des conditions de fonctionnement de la machine. D'autres organes périphériques sont destinés à la sortie des informations, et il s'agit notamment de dispositffls d'affichage et de visualisation, permettant par exemple de visualiser un bloc d'informations pour le contrôler ; d'autres dispositifs de sortie d'informations, codées ou non, peuvent également être prévus. Dans les machines-outils à commande numérique les plus courantes, l'unité centrale de traitement est constituée par un bloc spécialisé qui, relié à la machine-outil proprement dite et aux organes périphériques, contrôle les transferts d' informations et gère les séquences de fonctionnement de la machine. Cette unité centrale est reliée à la machine et aux organes périphériques par l'intermédiaire de blocs ou opéra teurs spécialisés, qui servent au contrôle des différentes taches. Ainsi, par exemple, il est prévu un opérateur servant d'intermédiaire entre l'unité centrale et le lecteur de bande perforée, un opérateur pour l'introduction manuelle des données, un opérateur servant d'intermédiaire pour la commande de la machine elle-même, ce dernier opérateur ayant notamment pour rôle d'effectuer les calculs d'interpolatiom. Les machines-outils à commande numérique dont lforgani- sation vient d'être décrite sont de constitution complexe, en raison de la présence d'un bloc non spécialisé entouré d'un certain nombre d'opérateurs spécialisés ; cette complexité augmente considérablement leur prix. En outre, cette organ- sation ne permet pas la conduite simultanée de plusieurs machine outils. Dans un type d'organisation dérivé du précédent, mais plus évolué, l'unité centrale de traitement est connectée à un ordinateur dont les mémoires constituent une banque de programmes". Le lecteur de bande perforée est alors inutile, car il suffit d'entrer une seule fois chaque programme. Cet ordinateur peut également exécuter les tâches de gestion de l'atelier et il permet là conduite simultanée de plusieurs machines. Dans cette application particulière, l'oraitateur offre l'avantage d'offrir des possibilités très riches ; cependant l'ordinateur n'est pas vraiment adapté à la commande numérique t étant surpuissant, il reste sous utilisé, et sa mise en oeuvre est d'un coût trop élevé. La présente invention vise à remédier à ces inconvénients. Â cet effet, elle fournit une solution fiable sur le plan technique et économiquement valable, permettant la conduite de plusieurs machines, solution qui repose sur un procédé original de traitement des instructions. Suivant ce procédé, les traitements relatifs à chaque tâche sont effectués par une unité centrale unique, comportant tous les moyens de mémorisation, de calcul et de traitement logique nécessaires, et un ordre de priorité prédéterminé est affecté à chaque tâche de manière que la réception des instructions concernant une tâche prioritaire provoque l'interruption du traitement en cours et sa mise en mémoire, et par conséquent la disponibilité de l'unité centrale en vue du traitement de cette tâche prioritaire, la reprise du traitement interrompu ayant lieu aussitôt après achèvement du traitement de la tâche prioritaire précitée, et sous réserve de l'absence d'instructions concernant une autre tâche prioritaire. Ainsi, le traitement d'une tâche en cours peut à tout moment être interrompu pour permettre l'exécution d'un traitement correspondant à une tâche considérée comme plus prioritaire. Par exemple, le programme de sortie des informations pour visualisation peut être interrompu par le programme de "traitetement des axes", et sera repris à la fin de ce dernier, si aucune tâche prioritaire ne s'est présentée entre temps. L'unité centrale de traitement, qui peut ainsi traiter les différentes tâches l'une à la suite de 11 autre, avec des interruptions commandées par l'ordre de priorités, regroupe toutes les fonctions logiques et de calcul, et la plupart des fonctions mémoire, nécessaires à l'exécution de ces différentes tâches. Bes opérateurs spécialisés sont supprimés, les circuits périphériques ayant uniquement des fonctions de mémoire et d'interface. Dans une forme de mise en oeuvre préférée de ce procédé de traitement, l'unité centrale unique effectue, grâce à un syStème de multiplexage, les traitements relatifs à chaque tâche pour plusieurs machines-outils, et un numéro prédéterminé est affecté à chaque machine-outil de telle manière que, en cas de réception simultanée d'instructions concernant des tâches de même priorité, l'instruction prise en compte soit celle dont le numéro est rencontré en premier lors d'un décomptage. Le procédé s'adapte donc commodément à la conduite de plusieurs machines-outils, et il n'est pas indispensable de recourir à un-ordinateur externe, ce qui amène une grande économie. Bes moyens de calcul et de traitement logique ce 1' information de l'unité centrale sont multiplexés entre les machines, ainsi que le programme de traitement de ces informations. I1 suffit de multiplier les "tranches" de mémoire, les liaisons unité centrale-machine, et les lecteurs de bande perforée. Le multiplexage est obtenu indépendamment des programmes, par le système d'interruption qui reconnait, la machine demandant un traitement prioritaire, et la nature de ce traitement, et appelle la séquence correspondante. Ainsi le traitement des instructions d'une machine peut être interrompu par un traite- ment plus prioritaire, relatif à la même machine ou à une autre machine. En cas d'égalité de niveau de priorité entre deux ou plusieurs machines, le numéro d'ordre de chaque machine fixe la succession des tâches dans l'unité centrale. Le partage des moyens de calcul entre les différentes machines-outils est imperceptible à échelle humaine, et n'apporte aucune contrainte dans leur exploitation. Be procédé de traitement venant d'être défini permet d'envisager une organisation nouselle de l'unité centrale de traitement. Cette organisation présente quelque analogie avec celle des ordinateurs, toutefois la spécificité du problème conduit à utiliser un matériel spécialisé, adapté à la commande numérique, afin d'atteindre les objectifs économiques que l'on s'est fixés. Selon l'invention, l'unité de traitement destinée à la mise en oeuvre du procédé précédemment indiqué, comprend, en combinaison, une mémoire renfermant les programmes de conduite de la commande numérique, un bloc de commande qui exécute les programmes de conduite précités, un bloc de calcul contrôlé par le bloc de commande, un bloc d'interruptions permettant d'interrompre une tâche an cours dans le bloc de calcul pour exécuter une tâche plus prioritaire, des horloges programmables, en relation avec le bloc d'interruptions, aptes à délivrer des tops d'interruptions à intervalles réguliers. Le bloc d'interruptions, permettant d'interrompre une tâche en cours dans le bloc de calcul pour exécuter une tâche plus prioritaire, comprend essentiellement des moyens de détection et d'identification des ordres d'interruption, des moyens de codage du niveau prioritaire, et des moyens de comparaison, aptes à comparer le contenu d'un registre d'interruptions indiquant la tâche un cours de traitement avec le niveau prioritaire codé, de manière à mettre en mémoire cette tâche si elle est interrompue, età inscrire dans le registre d'interruptions la tâche plus prioritaire. Dans le cas où l'unité de traitement est reliée à plusieurs machines-outils, les voies d'entrée-sortie et les circuits de liaison en diredtion des machines, ainsi que les mémoires du bloc de calcul, sont multipliés par le nombre des machines, alors que les moyens de calcul et de traitement logique des informations sont multiplexés entre les machines. De toute façon, l'invention sera mieux comprise à l'aide de la description qui suit, en référence au dessin schématique annexé représentant, à titre d'exemple non limitatif, une configuration particulière des organes destinés à la mise en oeuvre du procédé de traitement selon l'invention. Figure 1 est un diagramme montrant l'organisation d'ensemble, dans le cas où plusieurs machines-outils sont conduites par une même unité de traitement Figure 2 est un diagramme montrant, plus en détail, l'organisation de la commande d'une machine-outil Figure 3 est un diagramme montrant le détail de la structure de l'unité de traitement Figures 4 et 5 montrent le détail des circuits du bloc d'interruptions. La figure 1 représente l'organisation retenue,- dans le cas de plusieurs machines-outils I, II, et III ; seules les parties relatives à la machine-outil I ont été détaillées, dans un but de simplification. Cette organisation, très modulaire, est agencée autour dey'unité de traitement 1 dont la partie essentielle est le calculateur spécialisé 2. Les machines-outils sont par exemple trois fraiseuses, et chacune d'elles est connectée sur une voie d'entrée-sortie 3 du calculateur, ce dernier pouvant recevoir jusqu'à huit voies. Jne voie d'entrée-sortie 3 peut recevoir différents circuits de liaison à la machine-outil, par exemple un interface de broche 4, des interfaces 5, 6, et 7 pour trois axes, un interface pupitre machine-outil 8. La console de commande 9 est unique et multiplexable. Elle peut être affectée à la machine-outil désirée grâce à un commutateur qui doit etre positionné avant toute action à la console. Cette dernière comprend un pupitre 11, un clavier 12, et un dispositif de visualisation 13. Le pupitre Il rassemble les diverses commandes permettant le choix du mode de fonctionnement, la mise en mouvement et 1' arrêt-. Be clavier 12 est destin à l'entrée manuelle des informations, notamment des données complémentaires nécessaires à l'exécution d'un programme. Le système de visualisation 13 est associé au clavier 12, qui permet de choisir le paramètre à visualiser. Bes moyens d'entrée automatique des informations peuvent être réalisés suivant deux solutions correspondant aux références d'ensemble Â et B de la figure 1. Dans la solution A un lecteur de bande perforée 14 est associé à chaque machineoutil. Chaque lecteur 14 est connecté sur une voie d'entréesortie 3, par l'intermédiaire d'un coupleur 15. Les lecteurs 14 avancent sur commande du calculateur 2, au fur et à mesure de l'exécution des pièces. Cette solution Â est applicable à wus les ateliers. La solution B n'est envisageable que dans une entreprise possédant un degré dtinformatisUtion suffisant. Elle consiste à ranger les programmes des différentes machines dans les mémoires d'un ordinateur central 16 ;cette solution ne nécessite qu'un seul organe d'entrée 17, fonctionnant une seule fois à la rentrée du programme. L'ordinateur 16, constituant en quelque sorte une banque de programmes, est connecté au calculateur 2 par l'intermédiaire d'un "modem " 18 et d'un 1,coupleur modem" 19. La figure 2 montre, plus en détail, l'organisation de la commande d'une seule machine-outil. On y a représenté les différentes parties de l'unité de traitement 1 ; le bloc d'entréesortie est indiqué en 21, et à l'intérieur du cadre en traits mixtes représentant le calculateur 2 on à distingué un certain nombre de blocs : une mémoire 22, un bloc de commande 23, un bloc de calcul 24, un bloc d'interruptions 25, et destorloges programmables 26. La mémoire 22 comprend deux zones, une mémoire morte 22a et une mémoire vive supplémentaire 22b,optionnelle. La mémoire morte 22a renferme les programmes de conduite de la commande numérique, qui interprètent et exécutent les instructions du programme d'exploitation rédigé par l'utilisateur. Cette mémoire est effaçable et reprogrammable, solution pratique pour des prototypes ou de petites séries. La mémoire 22b est prévue pour recevoir des programmes internes relatifs à des corrections d'outils, et des sousprogrammes de la pièce tels que des cycles fixes, des boucles itératives. Elle peut également jouer le r81e de mémoire-tampon. Be bloc de commande 23, qui est le coeur de l'unité de traitement, exécute les programmes de conduite définis par la mémoire 22, encore appelée "mémoire-programme". Be bloc de calcul 24 est un mini-calculteur très spécialisé, et comprend, comme il sera précisé plus loin, une zone de mémoire. Il est contrôlé par le bloc de commande 23. Le bloc d'interruptions25 permet d'interrompre une tâche en cours dans le calculateur pour exécuter une tâche plus prioritaire. En effet, puisque les traitements,relatifs à chaque tâche sont effectués par une unité centrale unique, un ordre de priorité est affecté à chaque tâche de manière que la réception des instructions concernant une tâche prioritaire provoque l'interruption du traitement en cours, et sa mise en mémoire. L'unité de traitement est alors disponible en vue du traitement de cette tâche prioritaire. La reprise du traitement interrompu, au point où il a été abandonné, aura lieu aussitôt après achèvement du traitement de la tâche prioritaire, à la condition qu'aucune autre tâche prioritaire ne se soit présentée antre temps. Bes flèches 22 symbolisent les différents niveaux de priorité, qui peuvent être en pratique au nombre d'une douzaine. À titre d'exemple simplifié, l'ordre des priorités suivant peut être indiqué, l'énumération commençant par les tâches les plus prioritaires : anomalie du secteur sécurités uslaae, déplacements rapiaes, tels que retours d'outils, dans le cas de plusieurs machines, visualisation, lecture, interruptions internez pour calculs, maintenance. En conséquence, le programme de sortie des informations pour visualisation peut être interrompu tar le programme de "traitement des axes" en vue d'un usinage. Les horloges programmables 26 servent essentiellement à la conduite des axes ; elles délivrent des tops d'interruptions à intervalles de temps réguliers, définis par le calculateur, et sont en relation avec le bloc d'interruptions 25 Ces horloges peuvent être pilotées soit par un oscillateur interne 28, à partir d'une commande manuelle indiquée en 29, soit par une fréquence externe indiquée en 31. En relation avec le bloc d'entrée-sortie 21, on a représenté à la figure 2 une partie seulement des organes périphériiques : d'une part la console 2 avec le pupitre 11, le clavier 12 et le dispositif de visualisation 13, et d'autre part une partie des interfaces avec la machine. Ainsi Qnt été indiqués en 5, 6 et 7 les circuits de liaison pour la commande des trois axes désignés par X, Y et Z. Ces circuits délivrent la commande des variateurs de vitesse des moteurs d'axes, la commande des freins et du verrouillage ces des variatéurs de vitesse, commandes étant transmises de façon analogique par des tensions Vx, Vy et Vz. Les circuits de liaison 6 6 et 2 reçoivent de la machine-outil des impulsions de métrologie indiquées par Ix, ,et Iz, ainsi que des circuits de sécurité propres à chaque axe (butées et butées rapides). Les inteffaces d'axes assurent l'asservissement en position des axes cet asservissement étant réalisé par une boucle de contrôle externe au calculateur. En 32 ont été représentés des circuits de sortie d' informations d'un type différent, puisqu'il s'agit de sorties sur relais. La figure 3 montre avec plus de détails, les différents blocs constituant l'unité de traitement. Le bloc-mémoire 33 contient la mémoire-programme 22, déjà décrite plus haut, ainsi que le compteur ordinal principal 4 et le registre d'instructions 35. La compteur ordinal princi- pal 34 adresse les données de la mémoire-programme 22 et permet l'accès à son contenu. Be registre d'instructions 35 comporte notamment une zone 35a constituant registre de nature d'instruction, et servant à la précharge du compteur ordinal 34. Le bloc de commande 23 contient une mémoire de microprogrammation 36, associé à un compteur ordinal auxiliaire. 23 qui permet la sélection des cases de cette mémoire 36. La mémoire de-micro-programmation est subdivisée en plusieurs zones ou champs affectés à divers contr81es. l's zones 36a, 36b, 36c et 36d servent au contrôle de l'accès aux "bus" respectifs 38a, 38b, 38c et 38d. La zone 36e sert au contrôle des sauts, autrement dit des ruptures de séquence. La zone 36f contrôle la chronologie, et enfin les zones 22g, 36h et 36i sont affectées respectivement au contrôle de commande (sélection de l'organe auquel s'applique la microcommande), au contrôle de variable (sélection des paramètres) et au contrôle logique (modulation des micro-instructions). Les zones 36e à 36i sont en relation, directement ou par l'intermédiaire du bloc 39, avec un ensemble comprenant une horloge41, une base de temps 42, et un dispositif 43 permettant de suspendre le fonctionnement de cette dernière. La base de temps 42, coopérant avec un décodeur 44, engendre quatre tops élémentaires, indiqués par 45a, 45b, 45c et 45d, et relatifs à l'échantillonnage des registres, à l'écriture en mémoire, à la micro-commande et aux micro-tests. Le bloc de calcul 24 comprend notamment une unité logique 46, et une unité arithmétique 47, ainsi que des mémoires 48a, 48b, 48c et 48d. il travaille en parallèle sur 4 bits, et en série par groupes de .4 bits, cependant sa vitesse de calcul peut être accrue en travaillant sur les opérandes par fractions de 8 ou 12 bits en parallèle. '('unité logique 46 effectue les opérations de sérialisation et de parallélisation, et travaille sur des groupes de 4 bits. L'unité arithmétique 47, alimentée par deux registres 49a et 49b à 4 bits, effectue additions et soustractions, suivant un mode "e:rterne" ou un mode "interne", en base 10 ou 16, ou encore suivant un système intermédiaire où les entiers sont en base 10, et les fractions d'unité en base 16. Le contrôle de la base s'effectue depuis le registre d'instructions 35 par la voie 51. Des numéros de décades sont entrée en 52 ainsi que dans l'index 53, l'indexage s'effectuant en 54. La mémoire 48a est une mémoire contenant les adresses des opérandes, ainsi que l'état d'avancement des tâches. Elle possède des cases correspondant aux différents niveaux de priorité. Les mémoires 48b, 48c et 48d sont des mémoires de nombres : les mémoires 48@ et et 48c servent aux calculs d'interpolation, les intégrales étant rangées en 48b et les modules en 48c la mémoire 48d contient les données. Le bloc d'interruptions 25 est représenté dans le cas le plus général, ctest-à-dire celui où l'unité de traitement dont il fait partie effectue les tâches relatives à plusieurs machines-outils. Dans ce cas, un numéro prédéterminé, dit numéro d'entrée-sortie, est affecté à chaque machine, de telle manière que, en cas de de réception simultanée d'instructions concernant des tâches de même priorité, l'instruction prise en compte soit celle dont le numéro est rencontré en premier lors d'un décompta;e effectué en 55. Les différents ordres, correspondant aux niveaux de priorités, sont introduits en 27; ils sont détectés et identifiés en 56, et le niveau prioritaire est codé en 57, et intro duit dans un comparateur 58 où il est comporé avec le contenu du registre d'interruptions 59 qui indique la tâche en cours de traitement. Les moyens de détection et d'identification 56 des ordres d'interruptions comprennent un ensemble logique, composé de bascules, de portes et d'inverseurs, permettant d'indiquer quelle est la tâche prioritaire par un niveau logique 'un" sur le fil de sortie 60 correspondant, tandis que les fils de sortie 60 correspondant aux autres tâches sont au niveau "zéro". Bes moyens de codage 25 trans-forment l'information recueillie sur les fils 60 en une information ayant la forme d'un profil binaire, par exemple à 4bits. A l'intérieur du registre d'interruptions 59, la tâche en cours est inscrite sous la même forme codée, et les moyens de comparaison 58 effectuent la comparaison des niveaux de priorité suivant ce code binaire. En cas de différence entre ses deux entrées, le comparateur 58 délivre un niveau logique qui injecte la présence d'une interruption au bloc 59. Au début de l'exécution de l'instruction suivante, la séquence micro-programmée de traitement des interruptions est appelée et provoque - le rangement du contenu du compteur ordinal principal 34 dans la mémoire 48a, à l'adresse définie par le registre d'interruptions 59 - le test de la variable "voie", qui sera définie plus loin : Si elle est présente, le registre 59 est échantillonné et le profil binaire disponible à la sortie du codeur 57 est introduit dans le registre 59, le contenu de la mémoire 48a, à l'adresse définie par ce registre, étant transféré dans le compteur ordinal principal 34.Si la variable "voie" n'est pas présente, le compteur 55 est incrémenté, et la variable "voie" testée à nouveau ; si elle a'est pas présente, le processus recommence, et si elle est présente, le traitement est identique à celui indiqué ci-dessus. Chaque machine-outil possède un circuit- analogue à celui représenté à la figure 4, ces circuits étant reliés entre eux en sortie, en ou câblé. Pour chaque niveau d'interruption, entrant par les différentes voies 27, il existe une sortie inconditionnelle 61a, et une sortie 61b conditionnée par le numéro d'entrée sortie. Si un niveau d'interruption se manifeste, un niveau "un" est présent à l'entrée 27, provoquant l'apparition de l'état "zéro" sur le fil 61a correspondant, et ne modifiant pas le fil 61b si la machine sélectée n'est pas celle où s'est manifestée l'interruption. Au contraire, il apparait un "zéro" sur le fil 61b si la machine où apparait l'interruption est celle sélectée par le numéro d'entrée-sortie. Des mêmes sorties 61a et 61b appartenant aux différentes machines sont reliées entre elles, et leurs informations sont injectées dans un circuit représenté à la figure 5. Ce circuit comprend notamment une partie 62 composée de bascules 63, de portes "ED"* 64 et d'éléments 65 opérant des disjonctions, dans laquelle sont entrées les informations provenant'des sorties 61a ainsi que les micro-commandes de tests, injectées en 66. En outre, un niveau logique injecté en 67 permet l'inhibition des interruptions, sur demande du programme. Uneautre partie 68 du circuit reçoit les informations provenant des sorties 61b et des éléments 65. Elle comporte notamment une sortie 69 où est recueillie le variable 1,voie". Les fils de sortie 6Q de la partie de circuit 68 sont connectés au codeur 57, comme déjà indiqué plus haut. Pour illustrer le fonctionnement des circuits des figures 4 et 5, on examinera ci-desaous quatre cas choisis à titre d'exemples, en supposant qu'il existe neuf niveaux de priorité, désignés par les numéros 1 à 9, le niveau 1 étant le moins prioritaire. Les différents tableaux indiquent, pour chaque niveau de priorité, les niveaux logiques à la sortie 6fa,à la sortie des bascules 63, à la sortie des portes "ET" 64, à la sortie des éléments 65, ainsi que le niveau de la sortie "voie" 69 et le profil binaire donné par le codeur 57. Dans le premier exemple, on suppose qu'une demande moins prioritaire que la tâche en cours de traitement intervient à un moment donné. Le tableau I indique les niveaux logiques avant cette demande d'interruption, et le tableau II après cette demande d'interruption. TABLEAU I iveau de sortie sortie sortie sortie "voie" profil riorité 61a 63 64 65 binaire 9 1 1 1 0 8 1 1 1 0 7 1 1 1 0 6 0 0 0 1 1 0110 5 4 1 1 0 0 3 1 7 0 0 2 1 1 0 0 1 1 1 0 0 TABLEAU II niveau de sort@e sortie ~sortie sortie riorité 61a 63 64 65 "voie" profil ----------|---------|-------|----------|---------|--------| binaire 9 1 1 1 0 8 1 1 1 0 7 1 1 0 6 0 O O 1 1 0110 5 1 1 O 0 4 1 1 0 0 3 0 0 0 0 2 1 1 0 0 1 1 1 0 0 Une tâche de niveau de priorité 3 ne modifie pas le profil binaire, et n'interrompt donc pas la tâche en cours dont le niveau de priorité est 6, ceci restant vrai pour une demande provenant de la même machine ou d'une autre machine. Dans le second exemple, on suppose qu'une demande plus prioritaire que la tâche en cours de traitement intervient, cette demande concernant la même machine. Les tableaux III et IV indiquent les niveaux logiques avant et après cette demande d' interruption. TABLEAU III niveau de sortie sortie sortie sortie profil riorité 61a 63 64 65 "voie" binaire 9 1 1 1 0 8 1 -1 1 0 7 1 1 1 0 6 1 1 1 0 5 1 1 1 0 4 0 0 0 1 1 0100 3 1 1 0 0 2 1 1 0 0 1 1 1 0 O TABLEAU IV niveau de sortie sortie sortie sortie "voie" profil niveau de sortie sortie sortie sortie @@@@ profil priorité 61a 63 64 65 binaire 9 1 1 1 0 8 1 1 1 0 7 0 0 0 1 1 0111 6 1 1 0 0 5 1 1 0 0 4 0 0 0 0 3 1 1 O 0 2 1 1 0 0 1 1 1 0 0 Une tâche de niveau 7 modifie le profil binaire, et interrompt donc la tâche en cours dont le niveau de priorité est 40 Dans le troisième exemple, on suppose qu'une demande plus prioritaire que la tâche en cours de traitement intervient, cette demande doncernant une autre machine. Les tableaux V et VI indiquent les niveaux logiques avant et après cette demande d' interruption. TABLEAU V niveau de sortie sortie sortie sortie "voie" profil priorité 61a 63 64 65 binaire 9 1 1 1 0 7 1 1 1 0 6 1 1 1 0 5 O 0 0 1 1 0101 4 1 1 0 0 3 1 1 0 0 2 1 1 O 0 1 1 1 0 O TABLEAU VI niveau de sortie sortie sortie sortie "voie" profil priorité 61a 63 54 65 binaire 9 1 1 1 0 8 1 1 1 0 7 0 0 0 1 0 0111 6 1 1 0 0 5 0 0 0 0 4 1 1 0 0 3 1 1 0 0 2 1 1 0 0 1 1 1 0 0 Le profil binaire est modifié, donc il y a interruption. La "voie" étant au niveau "zéro", le compteur 55 est incrémenté jusqu'à ce que le signal "voie" prenne le valeur "un". Dans le quatrième exemple, on suppose qu'une demande de même priorité que la tâche en cours de traitement intervient, sur une autre machine. Les tableaux VII et VIII indiquent les niveaux logiques avant la demande, et après cette demande, à la fin du traitement de la tâche en cours. TABLEAU VII niveau de sortie sortie sortie sortie voie profil priorité 61a 63 64 65 binaire 9 1 1 1 0 8 1 1 1 0 7 1 1 1 0 6 1 1 1 0 5 0 0 0 1 1 0101 4 1 1 0 0 3 1 1 1 0 0 2 1 1 0 0 1 1 O 0 0 0 TABLEAU VIII niveau de sortie sortie sortie sortie voie profil priorité 61a 63 64 65 ~~~~~~~~ binaire 9 1 1 1 0 8 1 1 1 0 7 1 1 1 0 6 1 1 1 0 5 O O O I O 0101 4 1 I fi O 3 1 1 0 0 2 1 1 O 0 1 1 ,1 O 0 0 Il n'y a pas de modification du profil binaire, mais la 'voie" est au niveau "zéro", ce qui entraine une interruption. Le compteur 55 sera incrémenté jusqu'à ce que le signal "voie" prenne la valeur "un". Le passage de la "voie" à la valeur "zéro" résulte de ce que l'état qui a provoqué le traitement de la tâche est supprimé en fin de traitement. Les différents circuits de l'unité de traitement venant d'être décrits sont reliés aux organes d'entrée-sortie et de liaison avec les organes périphériques et les machines-outils, rassemblés dans la partie gauche de la figure 3. Le bloc d'entréesortie proprement dit 21 est constitué par une carte d'entrée sortie, pouvant supporter également l'horloge programmable 25. Les circuits de liaison vers le pupitre 11, le clavier 12 et le dispositif de visualisation sont groupés sous la référence 71, et on a également indiqué un coupleur 15 assurant la liaison vers un lecteur 14. Les circuits de liaison 15 et 71 sont liés au bloc d'interruptions 25. La carte d'entrée-sortie adresse les instructions et remet en forme les signaux, en combinaison avec le registre d'entrée-sortie 72 contenant les adresses nécessaires. Les interfaces broche 4 et ceux relatifs à deux directions d'axes 5 et 6 ont été groupés en i-. L'interface broche 4 comporte notamment les commandes de la rotation de la broche, dans le sens horaire et anti-horaire, avec sorties sur relais, et des circuits de sécurité 74 en provenance de la machine-outil. Bes interfaces d'axes 5 et 6 ont déjà été décrits, en référence à la figure 2. Dans le cas de plusieurs machines-outils, les seuls organes à multiplier par le nombre de machines sont les différentes mémoires 48a, 48b, 48c et 48d du bloc de calcul 24, ainsi que les voies d'entrée-sortie et circuits de liaison vers les machines , la sélection des machines s'effectuant par les numéros d'entrée-sortie déjà mentionnés. Les moyens de calcul et de traitement logique des informations sont mul tiplexes entre les machines, ainsi que le programme de traitement de ces informations. Comme il va de soi, l'invention ne se limite pas à la seule Fonfiguration décrite ci-dessus à titre d'exemple non limitatif; elle en embrasse, au contraire, toutes les variantes de réalisation et d'application. REVNDICnI 1. - Procédé pour le traitement des instructions dans une machine-outil~à commande numérique, caractérisé en ce que les traitements relatifs à chaque tâche sont effectués par une unité centrale unique, comportant tous les moyens de mémorisation,de calcul et de traitement logique nécessaires, et en ce qu'un ordre de priorité prédéterminé est affecté à chaque tâche de manière que la réception des instructions concernant une tâche prioritaire provoque l'interruption du traitement en cours dt sa mise en mémoire, et par conséquent la disponibilité de l'unité centrale en vue du traitement de cette tâche prioritaire, la reprise du traitement interrompu ayant lieu aussitôt après achèvement du traitement de la tâche prioritaire précitée, et sous réserve de l'absence d'instructions concernant une autre tâche prioritaire. 2. - Procédé de traitement selon la revendication 1, caractérisé en ce que l'unité centrale unique effectue, grâce à uisystème de multiplexage, les traitements relatifs à chaque tâche pour plusieurs machines outils, et en ce qu 'un numéro prédéterminé est affecté à chaque machine-outil de telle manière que, en cas de réception simultanée d'instructions concernant des tâches de même priorité, l'instruction prise en compte soit celle dont le numéro est rencontré en premier lors d'un décomptage. 3. - Unité de traitement pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 et 2, caractérisée en ce qu'elle comprend, en combinaison, trie mémoire renfermant les programmes de conduite de la commande numérique, un bloc de commande qui exécute les programmes de conduite précités, un bloc de calcul contrôlé par le bloc de commande, un bloc d interruptions permettant d'interrompre une tache en cours dans le bloc de calcul pour exécuter une tâche plus prioritaire J des horloges programmables, en relation avec le bloc d'in'terrup- tions, aptes à délivrer des tops d'interruptions à intervalles réguliers. 4. - Unité de traitement selon la revendication 3, caractériséeen ce que la mémoire renfermant les programmes de conduite de la commande numérique est une mémoire morte, effaçable et reprogrammable, associée à une mémoire vive prévue pour recevoir des programmes iternes, tels que de correction d' outil, et/ou des sous-programmes de la pie ce, tels que des cycles fixes, des boucles itératives. 5. - Unité de traitement, selon l' e quelconque des revendications 3 et 4, caractérisée en ce que le bloc de commande comprend esss ntiellemen; une mémoire de micro programmation, subdivisée en plusieurs zones, et une base de temps apte à délivrer des tops élémentaires nécessaires à 1' exécution des instructions du programme de conduite. 6. - Unité de traitement selon lMne quelconque des revendications 3 à 5, caractérisée en ce que le bloc de calcul comprend essentiellement une unité logique et une unité arithmétique travaillant en parallèle sur 4 bits, et en série par groupes de 4 bits, ainsi que des mémoires contenant les adresses des opérandes, ltétat d'avancement des tâches, les données numériques, et permettant les calculs d'interpolation. 7. - Unité de trigitement selon l'une quelconque des revendications 3 à 6, caractérisée en ce que le bloc d' interruptions comprend essentiellement des moyens de détection it d'identification des ordres d'interruption, des moyens de codage du niveau prioritaire, et des moyens de comparaison, aptes à comparer lskontenu d'un registre d'interruptions indiquant la tâche en cours de traitement avec le niveau prioritaire codé, de manière à mettre en-mémoire cette tâche si elle est interrompue, et à inscrire dans le registre d'interruptions la tâche plus prioritaire. 8. - Unité de traitement selon la revendication 7, caractérisée en ce que les moyens de détection et d'identification des ordres d'interruption comprennent un ensemble logique, composé de bascules, de portes ET", et d'éléments de disjonction permettant d'indiquer la tâche prioritaire par un niveau logique "un" sur le fil de sortie correspondant, tandis que les fils de sortie correspondant aux autres tâches présentent les niveau logique "zéro", et en ce que les moyens de codage du niveau prioritaire sont prévus de manière à transformer l'infor mation recueillie sur les fils de sortie précités en un profil binaire, la comparaison avec le contenu du registre d'interrup tions s'effectuant suivant ce code binaire. 9. - Unité de traitement, selon l'ensemble des revendications 5 à 8, caractérisée en ce qu'elle est reliée à plusieurs machines-outils, et en ce que les voies d'entrée sortie et les circuits de liaison en direction des machines, ainsi que les mémoires du bloc de calcul, soxit multipliés par le nombre des machines, alors que les moyens de calcul et de traitement logique des informations sont multiplexes entre les machines. 10. - Unité de traitement selon la revendication 9, et destinée à la mise en oeuvre du procédé défini à la revendication 2, caractérisée en ce que le bloc d'interruptions comporte, pour chaque machine, un circuit recevant les ordres d'inV=rup- tion, et possédant pour chaque niveau de priorité, une sortie inconditionnelle et une sortie conditionnée par un numéro d'entrée-sortie, les sorties correspondantes des différents circuits étant reliées entre ellea et aux moyens de détection et d'identification des ordres d'interruption, et un compteur étant prévu pour tester successivement les différentes voies d'entrée-sortie, correspondant aux différentes machines, par l'intermédiaire des numéros d'entrée-sortie.