FR 2106619 A1 19720505 FR 7133644 A 19710917 71 33644 1 2106619 La présente invention concerne un dispositif de commande numérique de plusieurs machines-outils et, plus particulièrement, un dispositif dans lequel une unité centrale de traitement de données commande des machines en fonction de données qu'elle a enre-5 gistrées. le nombre des machines-outils qui peuvent être commandées par une même unité centrai.e de traitement de données, un calculateur par exemple, a été limité jusqu'à présent si, pour entraîner une pièce mobile de machine-outil tel qu'un outil de coupe, suivant 10 un trajet voisin d'une courbe mathématique définie par des données paramétriques, l'unité de traitement doit; interpoler, à partir de ces données paramétriques, un signal binaire définissant la valeur absolue des composantes d'un vecteur suivant des axes perpendiculaires. Si l'unité centrale n'effectue pas cette interpolation, cha-15 que machine-outil doit être équipée d'un interpolateur susceptible de produire des signaux qui définissent la valeur absolue des composantes d'un vecteur nécessaire pour déplacer la pièce, l'outil par exemple, suivant un certain nombre de segments de droites qui constituent une approximation du trajet voulu. 20 La présente invention concerne un dispositif perfectionné de commande de plusieurs machines-outils à partir d *uil calculateur dpns lequel sont enregistrés des programmes de fabrication de différentes pièces, et dans lequel une unité spéciale de traitement de données à grande vitesse effectue l'interpolation circulaire sous le contrôle 25 du calculateur afin de libérer ce dernier de ces opérations longues et d'éliminer la nécessité d'équiper chaque machine d'un interpolateur. L'unité spéciale de traitement de données sert également à effectuer une interpolation linéaire à partir de laquelle la pièce mobile de la machine-outil est déplacée suivant une trajectoire 30 linéaire. La présente invention concerne également un dispositif perfectionné de commande de plusieurs machines-outils, dans lequel une opération de traitement de données, une interpolation circulaire par exemple,qui limite le nombre des machines pouvant être comman-35 dées par une unité centrale de traitement qui enregistre les commandes à exécuter par les machines et qui dirige leur fonctionnement, est effectuée par une unité spéciale de traitement de données sous 71 33644 ^ .... . 2106619 le contrôle de l'unité principale, l'unité.spéciale de. traitement fonctionnant à une vitesse telle que le.nombre de machines.que l'unité centrale peut.commander est notablement augmenté, l'unité centrale de traitement assumant la fonction.d'.une mémoire à grande vitesse • 5 vis-à-vis de l'unité, spéciale de traitement. -• la présente invention concerne également un- dispositif- perfectionné de commande de plusieurs.-machines-outils à partir d'une unité centrale de traitement, dans laquelle sont enregistrées les instructions ou commandes nécessaires des opérations, voulues devant 10 être effectuées .sur les machines-outils, dispositif dans, lequel l'interpolation nécessaire pour.,produire les signaux bina-ires indiquant la valeur absolue des composantes, d'un vecteur -, en- vue de déplacer une pièce mobile le long.d'un certain nombre de segments de lignes droites et suivre de très .près une. courbe"mathématique défi-15 ni§fcar £es données paramétriques enregistrées dans-l'unité centrale de traitement, est effectuée par une unité centrale de traitement à grande vitesse synchronisée par des signaux.d'horloge plus rapides que ceux de l'unité centrale, et en fonction des. données fournies par l'unité centrale de traitement, l'unité-spéciale-de traitement calcu-20 lant les segments de lignes droites, segment-^par segment;-et transmettant les informations à la machine-outil, qui décrit; le segment, et attendant une demande d'autres informations -ide^la-macliine et de l'unité centrale avant de-calculer la valeur- ab.soluedes composantes du vecteur concernant le segment suivant, l'unité-spéciale-de trài-25 tement utilisant l'unité centrale d^ .t-rai-temeA'fe-comme>-une"mémoire . _d'enregistrement -des informations concernant la-.production des au-. très segments, de sorte que l'unit Spéciale. de/itraitement" est libre de calculer les composantes de segments d'autres machines—outils pendant que les instructions, .concernant un segm,e;nt. calculé sont exé-30 eutées par une machine...-;;-a. 4- , - v Le dispositif selon la présente invention esfe susceptible d'effectuer une interpolation, circulaire destinée^, à commander le trajet, d'une, pièce mobile d'une machine-outil-,-manière", que -les ,r , informations, qui doivent être ^enregistrées-, et .finîmes.*pour effec-35 tuer l'interpolation spient réduites .au.minimum; .e-t; que' iiinterpola-tion puisse être effeçtuéer à une.^.vitesse élevée permettant.M!Obtenir un certain nombre de signaux qui définissent la valeur absolue COPY 71 33644 3 2106619 des composantes des vecteurs d'un certain nombre de segments de lignes droites constituant une approximation d'une courbe mathématique définie par des données paramétriques enregistrées. • L'interpolation circulaire ou linéaire destinée à produire 5 un certain nombre de signaux définissant la valeur absolue des composantes vectorielles d'un certain nombre de segments de lignes droites constituant une approximation d'une-courbe mathématique, un cercle par exemple, est effectuée par l'intégration de différences représentant les déplacements par rapport aux axes orthogo-10 naux des composantes. D'autres caractéristiques et avantages de l'invention ressor-tiront de la description qui va suivre faite en regard d'un mode de réalisation donné à titre explicatif et non limitatif. Sur les dessins annexés : 15 la figure 1 est une représentation géométrique d'une partie d'un arc de cercle en coordonnées rectangulaires ; la figure 2 est une représentation géométrique d'une partie de l'arc de cercle de la figure 1 après une translation sur les axes de coordonnées I,K; 20 la figure 3 est une représentation géométrique à grande échelle de la partie de l'arc de cercle de la figure 2, montrant les phases d'intégration graphique destinées à produire la partie de l'arc de cercle ; la figure 4 est une représentation géométrique à très grande 25 échelle d'une partie d'un arc de cercle, montrant la manière dont l'arc peut être généré pas à pas ; la figure 5 représente un arc de cercle et montre comment les longueurs des cordes varient de différences constantes suivant un axe ; 30 la figure 6 est une représentation géométrique d'une partie d'un arc de cercle, montrant la manière dont varient les projectiors sur deux axes de coordonnées avec une longueur de corde constante ; la figure 7 est un diagramme général représentant le dispo-• • sitif de commande de machine-outil selon la présente invention ; 35 la figure 8 est un diagramme général montrant plus en détail le calculateur, les circuits multiplex et le circuit d'interpolation approchée selon la présente invention ; COPY 71 33644 4 2106619 la figure 9 représente le sshéma de l'horloge numérique selon la présente invention ; , , , . % une représentation les figures 10 A a 10 E prisent ensemble constituent/graphique . produits des formes d'onde des signaux/par l'horloge numérique; 5 la figure 11 est un schéma logique montrant l'indicateur de demande de mise à jour, le compteur et le détecteur de demande de mise à jour, le traducteur, le registre d'adresses, le compteur de ---> mots et les portes d'aiguillage des données ; la figure 12 est le s chéma logique des portes de sélection 10 de données ; la figure 13 est le schéma de la partie arithmétique du circuit d1 interpolation approchéô; la figure 14 est le schéma logique de la partie aiguillage 2 2 du circuit d'interpolation approchée, le codeur L et le registre L ; 15 la figure 15 représente graphiquement un arc de cercle généré par le circuit d'interpolation approchée/selon la présente invention ; la figure 16 est le schéma d'une partie de la commande centrale de l'une des machines-outils du dispositif et, la figure 17 est un diagramme partiel d'un dispositif de com-20 mande et d'asservissement d'une machine-outil. Bien que la présente invention puisse se présenter sous différentes formes et variantes, et servir à commander les dispositifs variés, une machine à dessiner par exemple, _elle est particulièrement d estinée à la commande de machines et elle sera décrite ci-25 après dans le cadre de cette application. . Dans le domaine de la commande numérique des machines-outils, il est souhaitable de réduire au minimum la longueur etle nombre de commandes ou données d'entrée, nécessaires pour diriger un outil de coupe ou autre dispositif le long d'une trajectoire déter-30 minée, le tracé de la courbe d'une expression mathématique est une opération familière. Plus le nombre de points tracés dans une étendue donnée de valeurs est grand, plus la courbe tracée se rapproche de la courbe vraie. Plus la précision est grande, plus le nombre de données nécessaires est important. Pour atteindre à la précision 35 voulue, un millier de cotes peuvent être nécessaires par centimètre de course. Cependant, si la courbe voulue peut être décrite par une expression mathématique relativement simple, il est possible de COPY 71 33644 5 2106619 réduire considérablement la quantité de données fournies au dispositif de commande. Ce résultat est obtenu en réalisant un dispositif de commande capable dé générer une courbe déterminée à partir de données d';entrée ne représentant que les paramètres de la courbe 5 voulue, plutôt qu'un grand nombre de cotes en coordonnées. Il existe déjà des dispositifs de commande à trajectoire continue susceptible^.'effectuer une telle génération de courbe. Deux courbes mathématiques sont généralement utilisées : la ligne droite et l'arc de cercle, ce dernier étant produit soit dans le sens des 10 aiguilles d'une montre, soit en sens inverse. les circuits destinés à générer un arc de cercle sont peu plus compliqués que ceux nécessaires pour générer une ligne droite. Lorsque plusieurs machines-outils sont commandées par un dispositif centralisé, il est avantageux d'utiliser les circuits d'interpolation ^ circulaire en division temporelle. Jusqu'à présent, cela n'a pu se faire car l'interpolation s'effectuait en temps réel, ce qui nécessitait l'affectation d'un interpolateur à chaque paire d'axes. Selon la présente invention, Ja fonction d'interpolation est séparée entre deux circuits : un circuit d'interpolation approxima-20 tive et un circuit d'interpolation précise, le circuit d'interpolation approximative peut effectuer une interpolation linéaire ou une interpolation circulaire et il fonctionne en temps partagé avec un certain nombre de paires d'axes de machines-outils, le circuit d'interpolation précise n'effectue que des interpolations linéaires et 25 un circuit de ce type est affecté à chaque paire d'axes de machines-outils desservie par le circuit d'interpolation approchée. En résumé, 1'interpolateur approché produit une'série de " commandes de déplacement qui sont exécutées successivement par l'interpolateur précis. Ce dernier fonctionne en temps réel et, par con-30 séquent, à me fréquence d'horloge proportionnelle à la vitesse d'avancement de l'outil. L'interpolateur approché fonctionne à une cadence d'horloge plusieurs fois supérieure à celle correspondant à la vitesse maximale pour chaque paire d'axes qu'il dessert. Il peut donc produire des commandes de déplacement correspondant à un cer-35 tain nombre de paires d'axes pendant que l'une d'entre "elles sè déplace d'après une commande produite précédemment. copv 71 33644 6 2106619 le fait de libérer l1interpolateur approché d'une fréquence d'horloge dépendant de la vitesse d'avancement de l'outil permet d'utiliser des circuits plus précis que legéiultiplicateurs de fréquence et beaucoup plus rapides que les analyseurs différentiels 5 numériques. Les coordonnées finales de chaque commande de déplacement linéaire, produites par 1'interpolateur, ne sont jamais autre chose qu'une commandé d'incrément à partir de la courbe vraie. En outre, l'écart maximal par rapport à la courbe vraie peut être limité à toute valeur désirée. 10 Afin de mieux comprendre le fonctionnement du dispositif selon la présente invention, il y a lieu de rappeler la manière dont s'effectue la dérivation mathématique et la génération discontinue d'un arc de cercle. Ces opérations seront rapportées aux possibilités du dispositif de commande qui sera décrit ensuite dans 15 sa nature et son fonctionnement. Dans un. système dé coordonnées cartésiennes, l'équation du cercle de rayon r représenté, sur la figure 1 est : R2 = (x - xo)2 + (z - zQ)2 (1) dans laquelle (xq, zq) sont les coordonnées du centre du cercle et 20 r est le rayon. La dérivation partielle, de l'équation (1.) donne î 2rdr = 2 (x - xq) d (x - xq) + 2 (z - zq) d (z - zq) (2) dans cette équation, xq et zq sont des constantes; par conséquent dx et dz sont nuls. Il en résulte î o o 25 2rdr = 2 (x - xq) dx - 2 (x - xq) dxQ + 2 (z - zq) dz - 2(z - zQ)dzo 2rdr = 2 (x - x ) dx + 2 (z - z ) dz {3) O * • O - - - - - ... et enfin : * rdr = (x - x„) dx + (z - z ) dz ' (4) 0 0 L'intégration directe de l'équation (4) introduirait des 30 termes de premier ordre en x et z. Afin d'éliminer ces termes, un changement d'axes est effectué ainsi que le représentent les figures 1 et2, sur lesquelles I = (x - xQ) et Z = (z - zQ). Il en résulte que dl = dx et dK = dz. L'équation (4) peut alors s'écrire : rdr = Idl + KdK . . - • •, (5) 71 33644 7 2106619 l'intégration de l'équation (5) donne l'intégrale indéfinie : 1 r2 = 1 I2 + 1 K2 + i c ou r2 = I2 + K2 + C C étant la constante d'intégration qui s'élimine de l'intégrale définie : 2 Tî r = I -2 t2 + K2 Cette équation représente l'équation d'un cercle de rayon r dont le centre est à l'origine dans un système de coordonnées cartésiennes d'axes I et K. l'intégration approchée de l'équation (5) 10 permet donc de construire un cercle de forme voulue. Il sera seulement nécessaire ensuite d'effectuer un autre changement d'axes pour situer l'arc dans le système de coordonnées.X, Z. Cela sera nécessaire dans un dispositif de positionnement absolu, mais probablement pas dans un dispositif de positionnement incrémental. Il y a lieu de 15 noter que les lettres utilisées pour représenter les différentes variables sont celles utilisées habituellement dans le domaine de la commande numérique. Par définition, le rayon r est constant et, par conséquent, dr = 0. Pour tous les points de 1' arc de cercle vrai, dr est donc 20 nul et l'équation (5) peut s'écrire : 0 = Idl + KdK (6) et en résolvant l'équation (6) par rapport à dK, dK = -| . dl L'interprétation physique de l'équation (7) est la suivante : 25 Si, à partir d'un point de la courbe vraie, un déplacement dl est effectué suivant l'axe des I, il est nécessaire d'effectuer un déplacement d'une distance dK - g dl suivant l'axe des K pour se retrouver sur la courbe. Cela constitue la base de l'intégration approchée. A partir d'un point initial (IQ, Kq), la variable indé-30 pendante I est augmentée ou diminuée de dl, qui est choisi suffisamment petit pour permettre d'obtenir la précision voulue. Cela est représenté sur la figure 3 qui montre une partie du cercle défini par l'équation (6). Sur la figure 3, la valeur de dl est constante. C'est-à-dire que dl = dl. - dl . Mais la valeur de dK est fonction abc 71 33644 8 21C6619 de,I et de E aussi bien que de dl. la valeur dE dépend donc du point particulier de l'arc à générer. Par conséquent, en se rapportant à la figure 3 et en partant du point PQ de l'arc à produire, un premier déplacement d'une distance dl est effectué vers 5 la gauche. Suivant les conventions, cette direction est négative et, par conséquent, dl =-dI . En résolvant l'équation (7) par rap- s* port à dK : _- - a ; * " ' Œa = > k, (* dI*' " ^ ^ o o ce qui amène au point P de la courbe. En effectuant un nouveau dé-, a 10 placement d'une distance dl = - dl^ vers la gauche, et en résolvant par rapport à dX^ : «ffib--^(-axb)i.^(dib) a a Il est visible que I = I - dl, I, = I - dl, I = I, - dl q* o d s. cd et ainsi de suite. 15 Egalement : ' Ka = Ko + Œa' S = Ea + dKb' Ko = h' + "o et alnsi de suite. 1'intégrâtion_approchée de l'équation (7) conduit donc à introduire un a ccroissement dl, à calculer la nouvelle valeur de I, à calculer la valeur dK à ce point de l'arc,"et ensuite à calculer 20 la nouvelle valeur de K, le processus étant répété de manière à trouver le point suivant de la courbe. ' Afin d'effectuer l'intégration décrite ci-.dessus par un dispositif de commande numérique, il est nécessaire de calculer à la fois un quotient (g) et un produit (g) (dl). Cela s'effectue dans 25 les dispositifs de commande numérique connus à .présent qui sont soit des multiplicateurs de fréquence d'impulsion,, soit des analyseurs numériques différentiels couplés avec des registres-compteurs. Cependant, certaines modifications du procédé décrit ci-dessus permettent d'éviter de produire un quotient et un produit et simpli-30 fient. considérablement le dispositif de commande nécessaire pour ■ générer la courbe voulue* - • • Ainsi qu'il a déjà été mentionné, dr = '0" pour'tous les points de l'arc vrai. Mais dans l'intégration approchée, r ne peut, "pas ~ V " v copy 71 33644 9 2106619 être maintenu exactement constant et par conséquent, dr n'est pas toujours nul. lorsque dr augmente, la courbe approchée s'éloigne de la courbe vraie qu'il y a lieu de produire. Il faut donc considérer dr comme un indicateur d'erreur, la courbe produite est d'au-5 tant plais précise que dr est maintenu petit. les circuits nécessaires pour" calculer dr dans l'intégration approchée seraient très complexes. Heureusement, du fait qu'il n'est pas nécessaire de connaître la valeur exacte de dr, mais seulement de minimiser sa valeur, un autre moyen existe. Il résulte du fait 1O que dr est très petit comparé à r. Il est donc possible de considérer r comme étant composé de deux parties une partie constante rQ et une partie variable dr. Il est donc possible d'écrire : r = r + dr (8) o — le produit rdr peut donc être écrit : 15 rdr = (rQ + dr) dr + r dr + (dr) (g) 2 le terme (dr) peut être négligé et l'équation peut s'écrire : rdr = r dr o Il est donc visible que rdr est directement proportionnel à dr pour toutes les valeurs considérées (c'est-à-dire où dr 25 Sur la figure A, un accroissement dl = dl est porté à par tir du point PQ, parallèlement à l'axe des I. Au point PQ qui est supposé être sur la courbe vraie, 1 = 1 et E = E . Par suite, au oo point P^, 1 = 1^ = I - dl et K = K . l'équation 7 montre que la distance à franchir pour revenir sur la courbe vraie est ; I1 30 dE . (-dl) o - parallèlement à l'axe des E. Mais les limitations physiques de la machine ne permettent que des déplacements égaux à des multiples entiers de d suivant l'axe des E. A moins que E. ' . . . (g~) ne soit un nombre entier le déplacement sera trop long ou trop 0 ~ copy 71 33644 10 2106619 court. Il est bien entendu souhaitable de s'arrêter aussi près que possible de la courbe vraie. Cela peut être obtenu en surveillant la valeur de rdr qui, ainsi que noté précédemment peut servir d'indicateur de minimisation de dr. Un circuit de surveillance et de 5 comparaison peut être assez complexe mais il peut être évité si les accroissements de la valeur moyenne de dr sont' très petits. Plutôt què d'essayer de réduire dr au minimum, il vaut mieux prendre les mesures nécessaires pour faire tendre rdr vers zéro à chaque intégration. Pour ce faire, il suffit de déterminer le signe de dr ou 10 de rdr. Sur la figure 4, dr sera considéré comme positif lorsque le point considéré se trouve à l'extérieur de la courbe vraie et négatif si le point se trouve à l'intérieur. Au point P^, dr est donc négatif et il est possible d'écrire dr = dr^ , l'indice 1 indiquant 15 la valeur de dr au point P^. l'erreur dr provient du déplacement (- dl) parallèlement à l'axe des I. On peut écrire : dr^ = (-dl) cos 0Q (10) où ©Q est l'angle entre la direction du déplacement dl suivant 20 l'axe des I et le rayon r au point PQ qui porte dr^. le rayon r qui î Donc qui passe par le point PQ fait avec l'axe des î le même angle 0o cos © = — o r En remplaçant cos 0Q- par sa valeur dans l'équation 10 : I : - 25 dr1 = (-dl) la valeur de dr au point P^ peut être trouvée en ajoutant Àr.j à la valeur de dr au point PQ, où : dr1 = dro + Ar1 ('11 ^ Mais dr = 0 et, en éliminant ArH il vient : o 7 1 I1 30 dr1 = 0 + (-dl) I.j et r sont positifs. Par conséquent, dans l'exemple de la figure 4 : !•) dr1 = " (r dl (12) 71 33644 n 2106619 les déplacements ne peuvent être que des accroissements parallèles aux axes I et K. Afin de revenir sur la courbe vraie, ou au moins aussi près que le dispositif le permet, il faut que le déplacement se fasse dans la direction +1 ou dans la direction +K. Du 5 fait que le déplacement s 1 est effectué dans la direction -I pour aller de PQ à P^ il n'est plus question de revenir en PQ. Il faut donc que le déplacement s'effectue suivant +K. la question se pose alorgâe savoir quelle doit être la longueur du déplacement. Pour répondre à cette question, il faut d'abord effectuer un premier 10 accroissement dl dans la direction +E. l'accroissement dl dans la direction +K fait passer du point P.j au point P2. En ce faisant, la valeur de K passe de à et le rayon varie de Ar2> Mais : Ar2 = dl. s in ©.j 15 étant l'angle entre le rayon r passant par P2 et l'axe des I. la valeur de sin ©^ peut s'écrire : K1 Sin ©1 = — 1 r et, en remplaçant sin par sa valeur i E1 Ar5 = dl. -7- (15) 20 si dr2 représente la valeur de dr au point P2, on peut écrire : dr2 = dr,j + Ar2 (14) En remplaçant dans l'équation 14 dr^ et Ar2 par leurs valeurs tirées des équations 12 et 13 î I1 K1 dr2 = " (r ^ dl + dl 25 Des accroissements successifs égaux à dl et parallèles à l'axe des K conduisent successivement aux points P^, P^ et P^. Au point P^ la valeur de dr est : dr. = dr + Ar, + Ar„ + Ar., + Ar, 4 o 1 2 3 4 et au point P 5 : 30 dr,- = dr + Ar, + Ar0 + Ar„ + Ar. + Arc 5 o 1 2 0 4 0 l'intersection avec la courbe vraie se trouve entre P^ et Pp.. le signe de dr passe donc de négatif à positif. 71 33644 12 2106619 A partir du point P^, il faut à nouveau un déplacement dans la direction -I pour revenir sur la courbe vraie. Ce déplacement conduit au point Pg. Mais entre P,. et Pg la courbe est à nouveau rencontrée et dr redevient négatif. II. en résulte que la diminution de I lorsque dr est positif produit un Ar négatif. Si dr est négatif, l'augmentation de K produit un Ar positif. On . peut appeler Ar^ le Ar résultant de la diminution de I et Ar^ celui résultant de l'augmentation de K, et écrire ï n m 10 drnri-n = >ri + > rk i=1 k=1 I.\ mais Ar = -L^ry dl /n et Ark =P)dl Par suite : n (16) i=1 k=1 15 rQ étant une constante, on peut écrire : m r0driMl= -S1**1 * >^dl (17> 1=1 k=1 En considérant dl comme l'unité de longueur dans le système de mesure, on peut le remplacer par 1 et écrire : n m rodrm+n ~ "> V + ">*► (18) 1=1 ~ï-1 20 l'équation 18 montre que rQdr peut être calculé par la som mation dé 1^ et Un dispositif de commande numérique peut facilement effectuer directement cette opération sans avoir à calculer 71 33644 13 2106619 de quotient ni de produit. Selon la présente invention, la déviation maximale par rapport à la courbe vraie à chaque déplacement commandé par l1interpolateur approché peut être limité à n'importe quelle longueur voulue. 5 Lorsque la courbe vraie est un arc de cercle, les séries de déplacements linéaires commandés par l1interpolateur, consistent en cordes de segments d'arc. La déviation est maximale au milieu des cordes. Donc, plus le rayon de courbure de l'arc est petit, plus les segments d'arc doivent être courts pour une déviation maximale donnée. 10 Inversement, plias le rayon de courbure de l'arc est rslus grand plus les segments d'arc peuvent être longs sans que la déviation maximale soit dépassée. Autrement dit, lorsque le rayon de courbure de l'arc diminue, les points donnés doivent se rapprocher pour que l'approximation de la courbe vraie se fasse avec la précision voulue. 15 II faut noter que l'écartement entre les points doit être mesuré sur l'arc et non sur l'ion des axes de coordonnées. Par exemple, si les points sont également espacés d'intervalles Ax, le long de l'axe des X comme sur la figure 5 la distance sur l'arc entre P et P, est de beaucoup supérieure^ Ax tandis que la ° 1 égale a 20 distance entre P , et P est sensiblement/ Ax. Si l'intervalle n—1 n ' en PQ suffit pour la précision voulue, le nombre de points utilisés dans la région de P^ est supérieur au besoin . Par contre, si la précision voulue nécessite des intervalles dont la longueur est celle de la région de Pn, le nombre des points dans la région de 25 est insuffisant. La solution consiste bien sûr à découper l'arc en longueurs égales ou en d'autres termes, en segments dont les longueurs de cordes sont égales. Le problème consiste à trouver une solution qu'un dispositif de commande numérique soit à même de calculer facilement. 30 La figure 6 montre un arc de cercle portant trois cordes As de longueurs égales. Les accroissements correspondants Ax et Az diffèrent d'une corde à l'autre. Mais Ax et Az constituent, plutôt que As, les paramètres disponibles facilement dans le dispositif de commande numérique. 35 Deux formules mathématiques seront utilisées pour tirer As de Ax et Az. La première est le théorème de Pythagore qui s'écrit dans ce cas : 71 33644 14 2106619 (As)2 = (Ax)2 + (Az)2 (19) l'autre relation est : P . P2 = > (21-1) (20) i=1 Cette relation permet de calculer un carré d'un nombre par 5 une sommation ce qui, ainsi que noté précédemment, peut s'effectuer facilement dans un dispositif de commande numérique. le procédé réel est donc le suivant : Pour générer l'arc de cercle voulu selon l'équation 18, I et K sont suivant le cas, augmentés ou diminués. A partir d'un point 10 initial P où x = x„ et z = z . les coordonnées du point calculé o o o sont à un moment donné : et x = x - ndl o z = z + mdl o 15 S représentant le nombre des accroissements de I et m représentant le nombre des accroissements de K. là encore^ dl peut être pris comme unité de longueur du système, et on peut écrire : x = x - n o et z = z + m o 20 Puisque x = xq - Ax et z = z + Az o il ressort que x = n et z = m et par conséquent (As)2 = n2 + m2 (21) n m 25 et (As)2 = } (2i - 1) + > (2k - 1) ^22^ i=1 k=1 Pour générer des cordes de longueur constante, il suffit donc 2 r de calculer (As) et de résoudre ensuite pas à pas l'équation 22 lorsque n et m augmentent. Ce procédé permet d'obtenir l'exactitude 71 33644 15 2106619 voulue avec le minimum de points ou d'arcs. Plutôt que de calculer des valeurs différentes de (As) pour chaque arc à produire, bien que cela puisse se faire, le dispositif selon l'invention utilise dans un but de simplification trois valeurs discrètes de (As) cou-5 vrant chacune une gamme d'arcs de courbes. La valeur particulière de 2 (As) utilisée est celle qui donné la précision voulue, ou ainsi que noté précédemment, évite que la déviation par rapport à la courbe vraie dépasse la valeur maximale permise. Il y a lieu de noter que, dans la description précédente con-10 cernant les relations mathématiques entre les différentes variables, seule a été considérée la génération d'un arc en sens inverse des aiguilles d'une montre et dans le premier quadrant. Mais il est bien évident que par des changements de signe convenables des arcs peuvent être générés dans n'importe quel quadrant et dans un sens et 15 dans l'autre. Ainsi qu'il sera décrit par la suite, le même dispositif qui effectue la génération d'un arc de cercle (interpolation circulaire) peut également générer des lignes droites (interpolation linéaire). La figure 7 représente le diagramme général d'un dispositif 20 de commande d'un certain nombre de machines-outils. Le présent dispositif est destiné principalement à la commande de tours revolver suivant deux ou quatre axes. Il peut néanmoins s'adapter à des fraiseuses, perceuses, presses de poinçonnage et au positionnement des plateaux d'autres machines-outils. En fait, des machines-outils de 25 différentes sortes peuvent être commandées simultanément par le même dispositif. Le dispositif de commande comporte un calculateur numérique 21 et ses organes périphériques tels qu'un lecteur de bande 22 et un téléimprimeur 23. Le calculateur numérique 21 comporte une mémoire 30 auxiliaire 24 qui peut être à disque ou à tambour, et, en variante, il peut être relié à un autre calculateur 25, Des signaux de commande destinés à chacune des machines-outils sont fournis par le programme du calculateur et un interpolateur approché 26, à partir d'éléments de programme quijcléterminent les différents éléments à 35 usiner. Chaque machine-outil 30 est équipée d'une unité de commande 31 et en variante, elle peut comporter un clavier et une unité 71 33644 16 2106619 d'affichage 32. le clavier et l'unité d'affichage 32 de la machine-outil assurent sensiblement les mêmes fonctions que le téléimprimeur 23 du calculateur mais ils peuvent être réduits grâce à la programmation du calculateur qui fait appel à certaines parties du pro-5 gramme utilisées par d'autres machines-outils. Un circuit d'accès multiplex 34, relié à 1'interpolateur approché 26 et au calculateur 21, fonctionne en liaison avec la programmation du calculateur et commande la circulation des données entre l'unité centrale de traitement du calculateur, 1'interpolateur approché 26 et les différen-10 tes machines-outils 30. les communications entre le circuit d'accès multiplex 34 et chacune des unités de commande 31 ainsi que des claviers et unités d'affichage s'effectuent par l'intermédiaire de circuits de liaison qui effectuent le multiplexage du flux de données en fonction de priorités prédéterminées. 15 la programmation des calculateurs est décrite de manière à accepter des•programmes partiel^én langage EIA ou ASCII perforés sur "bande, les programmes partiels sont modifiés par le programme général et enregistrés dans la mémoire auxiliaire 24. Tout programme partiel utilisé sur une machine-outil 3Q&onnée peut être mis en 20 route en tapant un code convenable sur le clavier associé à chaque machine-outil, lorsque le code convenable est tapé sur le clavier, le programme partiel désiré est lu dans la mémoire auxiliaire 24 et introduit dans une zone de la mémoire à tores-du calculateur 21, réservée à cette machine-outil. A partir de là, le programme par-25 tiel est accessible par blocs, à lîunité de commande 30 et à 1'interpolateur approché 26. Chaque bloc de programme partiel peut contenir un certain nombre de commandes codées destinées a la machine-outil, par exemple la vitesse d'avancement de l'outil, la vitesse de rotation de la broche, le changement d'outil, etc., aussi bien que les 30 informations de positionnement ou de forme. Ces dernières comportent un code préparatoire qui identifie le déplacement (arrêt, linéaire, arc dans le sens des aiguilles d'une montre, arc en sens inverse des aiguilles d'une montre), les déplacements des deux axes et, si le déplacement est circulaire, les coordonnées du centre de l'arc 35 sur chaque axe. Dans le présent dispositif, les informations de forme sont passées à 1'interpolateur approché 26, et toutes les autres informations sont passées directement à l'unité de commande 31 et à 71 33644 17 2106619 l'imité d'affichage 32 associée. La manière dont ces opérations sont effectuées apparaîtront en regard de la figure 8. La figure 8 représente sous forme de diagramme, le calculateur 21, un certain nombre d'éléments constituant le circuit d'accès 5 multiplex 34, et 1'interpolateur approché 26. Selon le présent mode de réalisation, le calculateur est un calculateur numérique PDP/8 fabriqué paijbigital Equipment Corporation. Bien entendu, d'autres types de calculateurs pourraient être utilisés. Le calculateur comporte deux canaux pour l'entrée et la sortie des données. Le premier 1Q d'entre eux est un canal à faible vitesse appelé ici canal d'entrée-sortie et désigné par 300. Le canal d'entrée-sortie 300 comporte des équipements permettant de lire et d'écrire 12 éléments binaires en parallèle, produire un code d'organe de 6 éléments binaires en parallèle, recevoigèes demandes de saut à un élément binaire et produire en 1 [j série trois impulsions d'entrée-sortie (I0P1, I0P2, I0P4), disponibles chacune sur un fil séparé. Le canal de données à grande vitesse 301, comporte des équipements qui permettent de lire et d'écrire 12 éléments binaires de donnéegfen parallèle, recevoir une adresse de 12 éléments binaires en parallèle, recevoir une demande d'interruption 20 d'un élément binaire, recevoir un signal d'aiguillage d'un élément binaire, émettre une impulsion de réception d'un élément binaire et une impulsion de cadence d'un élément binaire. D'une manière générale, la différence entre les deux canaux de données est que le canal d'entrée-sortie 300 est sous le contrôle du programme et qu'une de-2^ mande de saut n'est reconnue que lorsque le programme est dans une - boucle de contrôle d'un organe d'entrée-sortie, mais que le canal à grande vitesse est commandé principalement par les équipements extérieurs et une demande d'interruption arrête instantanément les impulsions d'horloge de l'unité centrale qui reste dans la position où 30 elle était, en position d'attente jusqu'à ce que l'interruption soit terminée. Dans le présent dispositif, les informations de forme sont traitées par le canal à grande vitesse tandis que toutes les autres sont traitées par le canal d'entrée-sortie. Les données qui circulent des différentes unités de commande 35 31 et des claviers 32 vers l'unité centrale de commande sont de deux types différents ; les demandes de mise à jour d'informations de forme et les données destinées à l'unité centrale de traitement. 71 33644 2106619 18 Par l'intermédiaire du circuit de liaison, une demande de mise à jour fait passer dans l'état "un" un circuit "basculeur 41 appelé quelquefois marqueur de demande de mise à jour. Un marqueur de demande de mise à jour 41 est prévu pour chaque paire d'axes de chaque 5 machine-outil 30 du dispositif. Les données destinées,à l'unité centrale de traitement sont acheminées par l'intermédiaire du circuit de liaison vers un registre d'entrée 43 du calculateur. Chaque fois que des données sont chargées dans un registre d'entrée 43 du calculateur, un circuit basculeur 44 correspondant est passé dans 10 11 état 111 ". Ces circuits basculeurs sont appelés marqueurs de registre d'entrée. Le registre d'entrée de chaque machine-outil comporte un registre à huit éléments binaires et un marqueur,. Toutes les sorties "1" des marqueurs de registres d'entrée sont connectées à l'entrée de demande de saut du canal d'entrée-15 sortie par l'intermédiaire des portes ET 45. Une demande de saut est donc introduite chaque fois que l'un des marqueurs 44 de registre d'entrée est placé dans l'état "1" et que sa porte ET associée est ouverte. Le programme de base exécute périodiquement une routine qui produit séquentiellement des codes d'organe à six éléments bi-20 naires. Ces codes d'organe- sont décodés par un circuit 46 sélecteur d'organe . Dans ce circuit, le code d'organe à six éléments binaires est décodé de manière à marquer un fil de sortie 47 séparé pour chaque organe. Chacun des fils de sortie 47 ; est connecté à la porte ET 45 associée au marqueur de registre d'entrée, correspondant à 25 l'organe de manière à ouvrir cette porte lorsque le code d'organe correspond au registre d'entrée. Par conséquent, lorsque le programme de base produit un code d'organe qui correspond à un registre dont le marqueur est dans l'état "1", un signal de saut est produit. 30 Les fils de sortie 47 du circuit sélecteur d'organe 46 sont également connectés aux portes 48 de sélection de données d'entrée et ils servent à connecter chaque registre d'entrée du calculateur aux entrées de lecture du canal d'entrée-sortie pendant que le code d'organe correspondant est émis par le calculateur. Pendant que le 35 programme de base produit séquentiellement des codes d'organe , les registres d'entrée correspondant sont reliés aux équipements de lecture du^anald'entrée-sortie. 71 33644 19 2106619 Cependant, aucune donnée n'est lue si aucun signal de saut n'est présent. Un signal de saut provoque la lecture des données par le calculateur qui délivre alors une impulsion d'entrée-sortie I0P2. L'impulsion I0P2 passe du fil 307 5 à la porte ET 51 ouverte par le fil 47 du circuit sélecteur d'organe, et remet à l'état "zéro" le marqueur du registre d'entrée qui vient d'être lu. La circulation de données depuis l'unité de traitement vers les unités de commande 31 des machines-outils et les unités d'affi-10 chage 32 par l'intermédiaire du c anal 300 d'entrée-sortie est très semblable à la circulation des données entrantes qui vient d'être décrite. Les fils de sortie 47 du circuit sélecteur d'organe sont également connectés aux portes 53 d'aiguillage des données sortantes de même qu'aux portes 48 de sélection des données entrantes. Les 15 portes 53 d'aiguillage des données sortantes sont constituées d'un certain nombre de portes ET à dèux entrées comportant chacune une entrée connectée à l'un des fils de sortie 47 du circuit sélecteur d'organe et une autre entrée connectée au fil 306 d'impulsions d'entrée-sortie I0P4. Les portes 53 d'aiguillage des données sor-20 tantes aiguillent l'impulsion I0P4 vers l'entrée de l'un parmi un certain nombre de registres de sortie 56. Les registres de sortie.56 sont sensiblement les mêmes que les registres d'entrée, ils comportent chacun un registre à huit éléments binaires et Un marqueur correspondant à chaque machine-outil du dispositif. Les entrées d'ai-25 gui 11 âge de tous les registres sont connectées à l'équipement d'écfriture/canal d'entrée-sortie, mais aucun registre n'est chargé tant qu'il ne reçoit pas l'impulsion I0P4. Les registres de sortie 56 sont également agencés de manière que l'impulsion I0P4 fasse passer dans l'état "1" le marqueur correspondant. 71 33644 2106619 20 L'autre type de données qui circule entre l'unité de commande 31 des machines-outils et l'unité centrale de commande est constitué par les demandes de mise à jour de données de forme. Un marqueur 41 de demande de mise à jour est équipé pour chaque paire 5 d'axes de chaque machine-outil du dispositif. Lorsqu'une unité de commande 31 de machine-outil a besoin d'une information complémentaire de forme, elle émet un code de demande de mise à jour vers l'unité centrale de commande par l'intermédiaire de circuit de liaison, et le marqueur 41 de demande de mise à jour correspondant 10 passe dans l'état "1". Les marqueurs 41 sont détectés par un compteur d'organe et détecteur de demande de mise à jour 59 qui à son tour, provoque une interruption. Pendant l'interruption, les informations de forme sont lues dans la mémoire du calculateur et passées à 1'interpolateur approché 26. Ce dernier délivre les informa-15 tions de mise à jour. Les circuits compteurs d'organe aiguillent alors les informations mises à jour vers une mémoire de sortie 61 d*interpolateur par l'intermédiaire des portes 63 et ces informations sont ensuite retransmises à l'unité de commande de machine-outil qui en a fait la demande. 20 Toutes les fonctions qui ne sont pas commandées par l'horloge du calculateur sont commandées par une horloge 71 d'interpolateur. Cette horloge 71 sera décrite rapidement de manière à permettre une meilleure compréhension du fonctionnement de 1'interpolateur qui sera décrit par la suite. La figure 9 montre que l'horloge 71 d'in-25 terpolateur est constituée d'un circuit 72 d'oscillâteur et de mise en forme qui délivre un signal de forme d'onde carrée à la fréquence de 10 mégacycles et désigné par la lettre F. Le signal F commande l'entrée d'un compteur 73 dont les quatre étages délivrent des signaux en code binaire-décimal 1-2-4-5. Les sorties du compteur et 50 les signaux qu'elles fournissent sont désignées par C1, C2, C3 et C4. Ces signaux sont représentés graphiquement sur la figure 10 B . Le signal C4 est un signal symétrique de forme d'onde carrée d'une fréquence de un mégacycle et il commande l'entrée d'un second compteur 74 semblable au compteur 73 et qui délivre des si-35 gnaux B1, B2, B3, B4 sur les sorties désignées de la même manière. Ces signaux sont représentés graphiquement sur la figure 10 C. Des amplificateurs inverseurs 75 délivrent les compléments bT, B2 et B4. 71 33644 2106619 La sortie B4 commande un troisième compteur 76 à quatre étages qui diffère des deux autres en ce qu'il délivre des signaux en code binaire décimal 1-2-4-8. Les signaux et les sorties de ce compteur sont désignés par A1, A2, A3 et A4. Ces signaux sont représentés 5 graphiquement sur la figure 10D. Des amplificateurs inverseurs 75 délivrent les compléments A1, A2, A3 et A4 de chacun de ces signaux. La figure 9 représente également un générateur de code G-ray 77 comportant une entrée d'horloge 309. Son autre entrée, désignée par SR2 sera décrite par la suite. 10 L'entrée d'horloge 309 peut être reliée à P, C1, C2, C3 ou 04 en fonction de la vitesse à laquelle 1'interpolateur approché 26 doit fonctionner. Il sera supposé ici que l'entrée d'horloge 309 du générateur 77 de code G-ray est connectée à F. Le générateur 77 délivre des signaux de sortie CA, CA, CB et CB. Les sorties corres-15 pondantes sont reliées à deux portes ET 78 et 79 qui délivrent un signal 310 de comptage et un signal 311 d'addition. Les signaux CA, CB, 310 et 311 sont représentés sur la figure 10A avec le signal F. Les autres signaux de sortie de l'horloge représentés sur la figure 9 sont utilisés par les circuits de liaison et le circuit d'accès 20 multiplex, et ils seront décrits par la suite. La figure 11 montre plus en détail les marqueurs 41 de demande de mise à jour et le compteur d'organe et détecteur de demande de mise à jour 59. Le circuit représenté sur la figure comporte huit marqueurs de demande de mise à jour 41a à .41h. Les de-25 mandes de mise à jour provenant des unités de commande des machines-outils, par l'intermédiaire des circuits de liaison, attaquent les entrées "I" du marqueur 41. Les sorties "1" des marqueurs sont désignées par UF0-UF7. Un compteur binaire 81, commandé par le signal d'horloge C2 délivre des signaux de sortie 1, 1, 2, 2, 4 et 4. Ces 30 signaux représentent les numéros d'organe et sont décodés par les portes ET 83 qui appliquent un signal de sortie sur un fil séparé pour chaque nombre binaire. Ces signaux sont appelés signaux de numéro d'organe et sont désignés par DC0-DC7. Chacun de ces signaux est appliqué à l'entrée d'une porte ET 85 dont l'autre entrée re-35 çoit le signal du marqueur de demande de mise à jour correspondant et dont la sortie délivre le signal de détection de demande de mise à jour A0-A7. Tous les signaux de détection de demande de mise à 71 33644 22 2106619 jour sont appliqués à une porte OU 87 qui délivre un signal composite de détection de demande de mise à jour, désigné par A. Le signal A est appliqué à l'entrée d'un circuit 89 de formation d'impulsions, déclenché par le flanc avant de ce signal de manière à produire une 5 impulsion de sortie A1. La figure 8 montre qu'un registre d'adresses 91 est connecté au compteur d'organe et détecteur de demande de mise à jour 59, par l'intermédiaire d'un traducteur 93. Le rôle du registre d'adresses 91 est de délivrer une adresse à 12 éléments bi-10 naires permettant de passer les informations de forme du calculateur à 1*interpolateur approché puis ensuite de ramener les informations de 1'interpolateur approché à la mémoire du calculateur. Une certaine zone de la mémoire du calculateur comportant une adresse de départ prédéterminée, est affectée à chaque paire d'axes 15 du dispositif. Le programme de base maintient les données dans cette zone de la mémoire ainsi qu'il sera décrit par la suite. La fonction du traducteur 93 consiste à produire, à partir des signaux de numéro d'organe, les adresses de départ des zones de la mémoire allouées aux machines-outils et aux paires d'axes pour lesquelles 20 une mise à jour est demandée. La figure 11 représente plus en détail le traducteur 93 et le registre d'adresses 91. Les signaux A0-A7 de détection de demande de mise à jour sont appliqués à un certain nombre de portes OU 93a 93g qui constituent le traducteur. Les sorties des portes OU 93a...93g sont dé-25 signées par CA1-CA7 et constituent sept parmi les douze signaux d'adresse CA0-CA11. Ces signaux sont appliqués aux entrées d'aiguillage du registre d'adresses 91 constitué d'un compteur binaire à douze étages. Le tableau I représente la zone de mémoire du calculateur affectée à chaque paire d'axes. Les adresses sont indiquées 30 en code octal, l'adresse initiale de chaque zone étant également indiquée en code binaire. Les nombres binaires correspondent aux signaux d'adresse de calculateur CA0-CA11. Six adresses de mémoire sont éliminées pour chaque paire d'axes. Par exemple, l'adresse de mémoire correspondant à la paire d'axes n° 1 de la machine n°.2 35 correspondant au signal A2 de détection de marqueur de demande de mise à jour, occupe les adresses 0175-0202 en octal dans le calculateur. Le nombre octal 0175 est le même que le nombre binaire 000 001 111 101. r 71 33644 23 2106619 T A B L E A u I Zone de mémoire T- is. du calculateur 00 «! c- vc m [o (M r-«aj «a; «aj (octal) _ o o o ^ „ O O O y v O o A0 0161-0166 000 001 101 001 A1 0167-0174 000 001 101 111 A2 0175-0202 000 001 111 101 A3 0203-0210 000 010 000 011 A4 • 0211-0216 000 010 001 001 A5 0217-0224 000 010 001 111 A6 0225-0232 000 010 010 101 A7 0233-0240 000 010 011 011 L'examen, du tableau I montre que les signaux CA0 et CA8-GA11 peuvent être les mêmes pour toutes les adresses initiales utilisées. 15 Cela étant le cas, ces chiffres n'ont pas à être traduits par le traducteur et peuvent donc être câblés sur le niveau convenable. Par conséquent, aux entrées d'aiguillage du registre d'adresses, CA0 peut être câblé sur le niveau -un et CA8-à CA11 peuvent être câblés sur le niveau zéro. Il faut bien entendu noter que, lorsque 20 d'autres zones de mémoire sont utilisées avec d'autres adresses initiales, les modifications appropriées doivent être apportées aux connexions du traducteur et aux connexions d'entrées d'aiguillage du registre d'adresses. La figure 8 montre que la sortie A' du compteur d'organe 25 et détecteur de demande de mise à jour 59 est reliée, par l'intermédiaire d'une porte OU 95, à l'entrée de comptage 96 d'un registre d'état 97. Le registre d'état 97 comporte un compteur et un décodeur binaires à deux étages constituant un compteur en anneaux à quatre sorties identifiées par SR0, SR1 , SR2 et SR3. Par l'intermé-30 diaire d'une porte ET 101, le signal SR0 permet au signal d'horloge C2 de faire progresser le compteur d'organe 81. Lorsque celui-ci a progressé jusqu'à un nombre correspondant à la paire d'axes pour laquelle la mise à jour est demandée, un signal A' est produit. Celui-ci fait passer le registre d'état de "0" à "1" de sorte que 35 SR0 passe de l'état logique "1 " à l'état logique "0" et que SR1 passe de l'état logique "0" à l'état logique "1". Le compteur d'organe 81 s'arrête au numéro d'organe correspondant à la paire d'axes 71 33644 24 2106619 pour laquelle la mise à jour est demandée. Le signal produit par la porte ET 83 correspondante/est traduit par le traducteur 91 en une adresse de départ de la mémoire du calculateur où. les informations concernant cette paire d'axes sont enregistrées. SR1 est connecté à 5 un générateur d'impulsions 103 qui, sur le flanc avant, produit un signal d'impulsions SR' appliqué, par l'intermédiaire de la porte OU 105, à l'entrée d'avancement 107 du registre d'adresses 91. Le registre d'adresses 91 est donc chargé avec l'adresse de mémoire du calculateur correspondant au premier mot de donnée qui doit être 10 chargé dans le registre de 1'interpolateur approché 26. L'impulsion SR' est également appliquée à l'entrée "1" du circuit basculeur 109 de demande d'interruption dont la sortie "1" est connectée à la borne de demande d'interruption du canal rapide du calculateur 21. L'impulsion SR' est également appliquée à l'entrée "1" d'un circuit 15 basculeur 111 d'aiguillage de données dont la sortie "1" est connectée à la borne d'aiguillage du canal à. grande vitesse. Un signal logique "1", sur cette borne d'aiguillage indique que des données vont être introduites dans le calculateur tandis qu'un signal logique "0" indique que des données vont être extraites du calcula-20 teur. Immédiatement à la réception d'une demande d'interruption, , centrale les impulsions d'horloge de l'unité/de traitement du calculateur 21 sont arrêtées et l'interruption esij effective .Le calculateur effectue d'abord un contrôle d'adresse afin de déterminer si l'adresse 25 qui apparaît est acceptable. Si c'est le cas, une impulsion de réception est produite, les données contenues dans la position adressée sont présentées aux bornes d'écriture du canal rapide et une impulsion de cadence est produite. Le fil sur lequel apparaît l'impulsion de réception est connecté à l'entrée de comptage du registre 30 d'adresses et augmente d'une unité le contenu du registre. Une nouvelle adresse est présentée au canal à grande vitesse et, si la demande d'interruption est encore présente, cette adresse est examinée. Si elle est acceptable, une impulsion de réception est produite, les données contenues dans la position adressée sont présentées sur 35 les bornes d'écriture et une impulsion de cadence est délivrée. Cette séquence se poursuit aussi longtemps que la demande d'interruption est présente et que les adresses sont acceptées. Un compteur 71 33644 25 2106619 et décodeur de mots 115 termine le canal rapide et aiguille les données extraites du calculateur vers les registres appropriés de 1'interpolateur approché, la figure 11 montre que le compteur et décodeur de mots 111 est constitué d'un compteur binaire 113 et 5 d'un décodeur décimal 115. le décodeur décimal 115 fonctionnez de la même manière que les portes ET 83 du compteur d'organe et détecteur de commande de mise à jour 59 et il peut être réalisé sous forme de circuit intégré. Les sorties du décodeur décimal identifient le numéro de mot et sont désignées par WC0-WC9. Le compteur binaire 113 10 est remis à zéro par l'impulsion SR1' par l'intermédiaire de la porte OU 119 et il progresse à la commande des impulsions de réception provenant du canal à grande vitesse. Il y a lieu de rappeler qu'une impulsion de réception est délivrée avant que les données enregistrée^Soient présentées aux bornes d'écriture et que l'im-15 pulsion de cadence/soit produite. Le compteur de mots passe donc de 0000 à 0001 avant que les données appropriées soient présentées aux bornes d'écriture. La sortie WC0 du décodeur décimal du compteur et décodeur de mots n'est donc pas utilisée. Il y a lieu de rappeler en outre, en regard du tableau I que, dans l'exemple présent, six 20 adresses seulement sont utilisées par paire d'axes. Cela nécessite six numéros de mot. Ainsi que le montre la figure 11, WC7, WC8 et WC9 ne sont donc pas utilisés mais WC1 à WC6 sont connectés aux portes 120 d'aiguillage de données constituées de six portes ET 121 comportant chacune une entrée connectée à l'une des sorties WC1 à 25 WC6 et une autre entrée à laquelle est appliquée l'impulsion de cadence, ST. La porte ET 122 empêche les impulsions de cadence d'être appliquées aux portes d'aiguillage de données si le registre d'état n'est pas dans l'état "1" et si le signal SR1 n'est pas dans l'état "1". Les sorties des portes d'aiguillage de données sont désignées 30 par WC1'-WC6'. Ces sorties sont reliées aux entrées de progression des registres de 1'interpolateur approché 26 ainsi qu'il sera décrit par la suite. Il y a lieu de noter que différents formats d'enregistrement peuvent être utilisés. Par exemple, si l'un des six registres de l'interpolateur approché doit avoir une longueur/^a1*^ 35 éléments binaires, un format à 7 mots peut être utilisé, le premier mot étant chargé dans la partie inférieure d'un registre partagé et le second mot étant chargé dans la partie supérieure de ce registre partagé. ure 71 33644 26 2106619 La figure 8 montre que le compteur et décodeur de mots 115 comporte une sortie désignée par L. Cette sortie reçoit le signal indiauant le dernier mot à lire dans la mémoire du calculateur. Dans l'exemple présent, ce signal correspond à WC6 puisqu'un format 5 de six mots par paire d'axes est utilisé. Si WC6 est dans l'état logique "1", il ouvre une porte ET 124 à deux entrées dont la seconde entrée reçoit l'impulsion de cadence du canal à grande vitesse. Cette porte ET 124 laisse donc passer l'impulsion de cadence associée au sixième mot. La sortie de la porte ET 124 est connectée 10 à la "borne de remise à zéro du circuit "basculeur 109 de demande d'interruption de manière à faire disparaître l'état logique "1" de demande d'interruption lorsque le sixième mot a été transféré à 1'interpolateur approché 26. A la fin de la demande d'interruption, les impulsions d'horloge de l'unité centrale de traitement sont ré-15 tablies et le calculateur est libre de fonctionner à nouveau. En plus de ramener à zéro le circuit basculeur 109 de demande d'interruption, l'impulsion de cadence du sixième mot est également aiguillée à travers la porte OU 95 vers le registre d'état 97 qu'elle fait passer de l'état UN" à l'état DEUX de sorte que SR1 20 passe de l'état logique "1" à l'état logique "0" et que SR2 passe de l'état logique "0" à l'état logique "1". SR2 est connecté à un circuit générateur d'impulsions 126 qui fonctionne sur le flanc avant et délivre une impulsion SR2'. De la même manière que SR11, -l'impulsion SR2' est appliquée à l'entrée de cadence 107 du registre 25 d'adresses 91 par l'intermédiaire de la porte OU 105. Le registre d'adresses 91 est positionné sur la même adresse que par SR1' car le compteur 91 et par conséquent le traducteur 98 n'ont pas changé d'état pendant que le registre d'état était en "1". Le signal 3R2 sert également à déclencher le générateur de code G-ray représenté 30 sur la figure 9. Les sorties CA et CB en code G-ray sont toujours toutes les deux au niveau logique "0" lorsque le générateur de code est déclenché et reviennent à l'état logiaue "0" lorsque le signal de commande disparaît. Cela assure que l'impulsion de comptage apparaîtra toujours en premier et l'impulsion, d'addition ensuite. 35 L'interpolateur approché, qui fonctionne sur les impulsions de comptage et d'addition de l'horloge indiquent un déplacement AX et un déplacement AZ ou un déplacement AU et un. dépla-cement AW en 71 33644 2106619 27 fonction de la paire d'axes pour laquelle la mise à jour est demandée. X et Z désignent la seule paire d'axes d'une machine-outil à deux axes et la première paire d'axes d'une machine-outil à quatre axes. U et W représentent la seconde paire d'axes d'une machine-outil à 5 quatre axes. Pour la production de AX et AZ par exemple, les données qui ont été transférées du calculateur au registre de 1'interpolateur approché sont modifiées et, à la fin du cycle d'interpolation, il faut les réintroduire dans la mémoire du calculateur. Ce processus est déclenché par un signal de fin d'interpolation El produit 10 par 1'interpolateur. Le signal El est appliqué à l'entrée de comptage 96 du registre d'état 97 par l'intermédiaire de la porte OU 95 et il fait passer le registre de l'état DEUX à l'état TROIS de sorte que SR2 passe de l'état logique "1" à l'état logique "0" et que SR3 passe de l'état logique "O" à l'état logique "1". Le signal SR3 15 est appliqué au circuit 129 générateur d'impulsions qui fonctionne sur le flanc avant et délivre une impulsion de sortie SR3'. L'impulsion SR31 fait passer dans l'état "1" le circuit basculeur 109 de demande d'interruption par l'intermédiaire de la porte OU 119 et remet à ZERO le circuit basculeur d'aiguillage 111. Une interrup-20 tion est donc provoquée, avec le signal d'aiguillage de données à l'état "0" indiquant que les données seront lues dans la mémoire. Les données sont transférées aux registres de 1'interpolateur par l'intermédiaire des portes 130 de sélection de données qui sont représ entées&lus en détail sur la figure 12. Chaque porte de sélec-25 tion de données est constituée d'une matrice 131 de portes ET 132 à trois entrées, une entrée de toutes ces portes étant connectée à SR3. Les secondes entrées des portes d'une matrice reçoivent le signal de numéro de mots associé. Par exemple, les secondes entrées de toutes les portes ET 132 de la première matrice sont connectées 30 à WC1. Les secondes entrées de toutes les portes ET de la seconde matrice sont connectées à WC2 et ainsi de suite. Les troisièmes entrées de toutes les portes ET sont connectées à un étage du registre de 1'interpolateur approché associé à la matrice. Les sorties des portes ET sont connectées aux bornes de lecture 312 du ca-35 nal à grande vitesse. Si SR3 est à l'état logique "1", ainsi que WC1, le premier registre de 1'interpolateur approché est connecté par la première matrice de porte ET aux portes de lecture du canal à grande vitesse. 7î 33644 2106619 28 Les données sont lues dans la mémoire de la même manière que dans 1'interpolateur approché. C'est-à-dire que, lorsque l'interruption est déclenchée, le calculateur contrôle l'adresse introduite par le canal à grande vitesse et s'il la trouve acceptable, 5 il émet une impulsion de réception et une impulsion de cadence. Du fait que l'entrée d'aiguillage est à l'état logique zéro, l'impulsion de cadence passe au registre identifié par l'adresse contenue dans le registre d'adresses. Comme ci-dessus, l'impulsion de réception fait progresser le compteur de mots de OOOO à 0001 et la sor-10 tie WC1 passe à l'état logique "1". Les données qui sont appliquées aux bornes de lecture du canal à grande vitesse correspondent donc vient à l'adresse que le calculâteuj/d'accepter• Lorsque le dernier mot, dans le sixièm^ cet exemple, est lu dans la mémoire, l'impulsion de cadence est appliquée à l'entrée de remise à ZERO du circuit basculeur 15 109 qui fait cesser l'interruption. Le processus est le même que lorsque des données ont été lues dans le calculateur par 1'interpolateur approché. Cette fois cependant, l'impulsion de fin d'interruption passe par la porte ET 136 ouverte par SR3 et produit le signal de remise à zéro du marqueur de mise à jour UFR. Le signal UFR 20 est appliqué au compteur d'organe et détecteur de demande de mise à jour 59 et il remet à ZERO le marqueur 41 de demande de mise à jour correspondant à la paire d'axes pour laquelle les données de forme viennent d'être interpolées. Ceci apparaît plus en détail' sur la figure 11 qui montre un certain nombre de portes ET 137 à deux 25 entrées dont l'une est connectée à UFR. L'autre entrée de chacune des portes ET 137 reçoit le signal DC0 à DC7 de numéro d'organe correspondant. Les sorties de ces portes ET 137 sont connectées aux entrées de remise zéro des marqueurs de demande de mise à jour correspondants ou circuits basculeurs 41. Du fait que le compteur 30 binaire 81 du compteur d'organe et circuit détecteur de demande de mise à jour 59 a été arrêté par le repassage par le SR0 de l'état logique "1" à l'état logique "0", le signal UER remet à zéro le marqueur détecté et non les autres. Le signal UER. sert également à produire un signal dé 35 cadence A d'interpolation, IÏÏTA et un signal de cadence B d'interpolation, INTB par l'intermédiaire des portes OU 141 et des portes ET 142. Ces deux signaux de cadence servent à faire passer les 71 33644 29 2106619 données produites par 1'interpolateur approché 26 des registres de 1'interpolateur aux mémoires tampons 61. Deux signaux sont nécessaires car le dispositif dessert des machines-outils à deux axes et à quatre axes. A titre d'exemple, le compteur d'organe et détec-5 teur de demande de mise à jour représenté sur la figure 11 dessert trois machines-outils à quatre axes et deux machines-outils à deux axes. Le signal DC0 identifie donc la première paire d'axes de la première machine, DC1 identifie la seconde paire d'axes de la première machine, DC2 identifie la première paire d'axes de la seconde 10 machine, DC3 identifiera seconde paire d'axes de la seconde machine, première DC4 identifie la/jpaire d'axes de la troisième machine, DC5 identifie la seconde paire d'axes de la troisième machine, DC6 identifie la paire d'axes de la quatrième machine et DC7 identifie la paire d'axes de la cinquième machine. Bien entendu, les quatrième et cinquième 15 machines sont des machines-outils à deux axes. Le signal de cadence INTA est donc produit si la paire d'axes pour laquelle les données ont été interpolées est la première paire d'axes d'une machine à quatre axes ou la paire d'axes d'une machine à deux axes. Au^contraire, le signal INTB est produit si le dispositif pour lequel les 20 données viennent d'être interpolées concenne la seconde paire d'axes d'une machine à quatre axes. Une description plus complète de l'utilisation de ces signaux de cadence sera donnée ultérieurement à propos de la description du circuit de liaison. Les figures 13 et 14 représentent schématiquement 25 1'interpolateur approché selon la présente invention, la partie arithmétique étant généralement représentée sur la figure 13 et la partie logique d'aiguillage sur la figure 14. Ainsi qu'il a déjà été noté, les données fournies par le calculateur sont transmises, par l'intermédiaire du canal à grande vitesse, aux registres 146 de 30 1'interpolateur. Dans l'exemple considéré, ces données sont fournies en un format à six mots qui apparaissent en série aux bornes d'écriture du canal. Les entrées d'aiguillage des registres de 1'interpolateur qui doivent être chargés avec les données provenant du calculateur sont connectées aux bornes d'écriture du canal à 35 grande vitesse. Les données correctes s.ont chargées dans le registre correct de 1'interpolateur sous l'effet des impulsions de numéro de mot WC1' à WC6' qui constituent les impulsions de cadence 71 33644 30 2106619 aiguillées par le compteur de mots. Selon le présent mode de réalisation, le premier des six mots indique la fonction préparatoire et il est généralement appelé mot-G ou mot-H. Cela vient du fait que dans le format standard de perforation de "bande, la fonc-5 tion préparatoire est identifiée par la lettre G- ou la lettre H suivie de deux chiffres. Sur une machine à quatre axes, la lettre G- identifie le code préparatoire de l'une des paires d'axes de la tourelle et la lettre H identifie la fonction préparatoire de l'autre paire d'axes. Bien qu'il existe un certain nombre de fonctions pré-10 paratoires : arrêt, filetage à avance constante, filetage à avance augmentant linéairement, trois seulement de ces fonctions sont considérées. Ce sont G01, G02 et G03 qui identifient respectivement l'interpolation linéaire, l'interpolation circulaire dans le sens des aiguilles d'une montre et l'interpolation circulaire en sens 15 inverse des aiguilles d'une montre. Les second et troisième mots définissent les déplacements suivant l'axe X et suivant l'axe Z qui doivent être effectués pendant l'exécution de l'interpolation. Si l'interpolation est circulaire, les coordonnées du centre par rapport à chaque axe sont né-20 cessaires. Ces données sont représentées par les quatrième et cinquième mots, respectivement. Si l'interpolation est linéaire, les quatrième et cinquième mots représentent les déplacements suivant l'axe Z et l'axe X,de même que les troisième et second mots, res- est remis pectivement. Le sixième mot du formata six mots/ a zéro par le pro-25 gramme et il est utilisé par 1'interpolateur approché de la manière qui sera décrite ci-après. La fonction préparatoire est considérablement modifiée par le programme de base, par rapport au format standard afin d.'être utilisée/par 1'interpolateur approché. A titre explicatif, il suffit 30 de considérer seulement six éléments binaires de la fonction préparatoire chargés dans 1'interpolateur approché, mot 1, registre 146-1 . Les deux premiers éléments binaires gO et g1 définissent la fonction d'interpolation suivant le tableau ci-aprps. 71 33644 31 *2106619 TABLEAU II gO g1 Fonction 0 1 Interpolation linéaire 1 O Interpolation circulaire, sens des aiguilles d'une 5 montre 1 1 Interpolation circulaire, sens inverse des aiguilles d'une montre Le troisième élément binaire g2 représente le signe du déplacement suivant l'axe des X et le quatrième élément binaire g3 représente 10 le signe du déplacement suivant l'axe des Z. Les cinquième et sixième éléments binaires g4 et g5 identifient la longueur de la corde utilisée par 1'interpolateur approché. Les premier et second éléments binaires sont décodés par les portes ET 151 de manière à produire les signaux LIN, CW et CCW. Les troisième et quatrième 15 éléments binaires sont décodés par les portes NOM" ET 152 et un inverseur 153 de manière à produire le signal 320 et le signal 321. Les cinquième et sixième éléments binaires sont décodés par les portes ET 154 et les inverseurs 155 de manière à produire les signaux L1, L2 et L3. 20 En plus des registres X, Z, I, E et D respectivement 146-2, 146-3, 146-4, 146-5 et 146-6, la figure 13 montre également un registre AX 157-1, un registre AZ 157-2, un additionneur intégrateur 2 158, un registre L 159 et un additionneur interpolateur 161. Chaque étage de l'additionneur interpolateur 161 comporte deux entrées 25 dont l'une est connectée aux sorties de l'étage correspondant du registre D. Les autres entrées de l'additionneur interpolateur sont connectées soit au registre I 146-4 ou au registre K 146-5 par un certain nombre de portes OU 164 et par les portes ET 165 et 166. Le registre D 146-4 comporte deux entrées par étage, une entrée de mise 30 à "zéro" et une entrée de mise à "un". Les entrées de mise à "zéro" sont connectées aux bornes d'écriture du canal à grande vitesse et les entrées/^"l^sont connectées aux sorties de l'additionneur interpolateur. Les sorties du registre D sont également connectées aux portes de sélection de données décrites par ailleurs. 35 L'additionneur intégrateur 158 est sensiblement identique à l'additionneur interpolateur 161 et il comporte un groupe d'entrées connectées aux sorties du registre L 159, l'autre groupe d'entrées 71 33644 2106619 32 étant connecté , par l'intermédiaire d'un certain nombre.de portes NI 171 et par les portes ET 172 et 173 soit au registre AX, 2 - ' ; soit au registre AZ. le registre L 159 est sensiblement le même que le registre D 146-6, ces entrées de mise à zéro sont connectées 2 .de mise à • 5 à un codeur L 176 et ces entrées/"!" sont connectées aux sorties de l'additionneur intégrateur 158. Il y a lieu de noter que les registres AX et AZ ne sont pas connectés directement étage par étage aux entrées de l'additionneur intégrateur mais qu'ils sont décalés d'un étage vers le chiffre de 10 plus grand poids. l'entrée 179 d'éléments binaires de moindre poids ou d'éléments binaires 2° est donc indépendante des valeurs de AX et AZ. l'entrée 179 est connectée en permanence au niveau logique "I". Il faut également noter que les sorties des portes NI 171 sont inversées et qu'elles délivrent donc des compléments de AX ou 15 AZ. L'additionneur intégrâteur comporte également plusieurs étages en plus que les registres AX ou AZ. les premières, entrées des étages de plus grand poids des registres AX et AZ sont connectées en permanence aux signaux logiques "1" en 181. le nombre présenté réellement à l'additionneur intégrateur par les portes ET 172 et 20 173 et les portes OU 171 ainsi que par les fils de connexion permanente sont soit 2 AX + 1 ou 2 AZ + 1. la sortie de retenue de l'additionneur intégrateur délivre un signal 336 dont l'utilisation sera décrite par la suite. la sortie 180 de l'étage de plus grand poids du registre D 25 délivre un signal désigné par -D. Un inverseur 183 connecté à la sortie 180 délivre le complément de ce signal désigné par +D. Deux autres des signaux représentés sur la figure 13 sont les signaux XO et ZO délivrés par les détecteurs de zéro 185 etJ87 connectés respectivement aux registres X et Z. Du fait que les compléments arith-30 métiques sont utilisés dans 1'interpolateur approché, ces détecteurs sont en fait des détecteurs de "1" plutôt que des détecteurs de "0". Cependant, en tous cas , . leur fonction consiste à indiquer si la dimension X ou la dimension Z a été utilisée complètement. les inverseurs 189 délivrent les compléments XO et ZO.-35 la figure 14 montre que les signaux 321, 320, CW et CCW sont combinés logiquement par les portes ET 191 et les portes OU 193 de manière à délivrer un signal I/UP et un signal K/UP. Il peut 7 î 33644 33 2106619 être montré mathématiquement que si les sommes de X et Z sont les mêmes c'est-à-dire toutes deux positives ou toutes deux négatives, la coordonnée I du centre de l'arc sur l'axe des X augmente continuellement pour des axes suivis dans le sens des aiguilles d'une 5 montre tandis que les coordonnées K du centre sur l'axe des Z diminue continuellement. Pour des arcs parcourus en sens inverse, K augmente tandis que I diminue. Lorsque les signes de X et Z sont différents, c'est-à-dire l'un positif et l'autre négatif, K augmente pour des arcs parcourus dans le sens des aiguilles d'une 10 montre tandis que I diminue. Pour des arcs parcourus en sens inverse des aiguilles d'une montre, I augmente tandis que K diminue. C'est cette condition logique qui est réalisée dans la production des signaux I/UP et K/TJP. En d'autres termes, si le signal I/UP est à l'état logique "1", il indique que I augmente tandis que K diminue, 15 et si le signal K/ïïP est à l'état logique "1", il indique que K augmente tandis que I diminue. Les signaux I/UP, K/UP, LI^ +D, -D, XO et ZO sont combinés logiquement avec les signaux SR3 / 310 afin de produire six signaux ■ de sortie 330 à 335. Ces derniers signaux constituent la logique 20 d'aiguillage de la partie arithmétique de 11interpolateur approché qui sera décrit maintenant. Dans le présent mode de réalisation, toutes les opérations arithmétiaues de 1'interpolateur approché sont effectuées en arith-métiaue binaire. Les registres et les compteurs ne comptent que dans 25 le sens de la progression. Pour effectuer un décomptage, le complément est chargé dans un registre en place du nombre binaire vrai. La complémentation est effectuée par le programme de base du calculateur en fonction des signes des déplacements de X et Z et suivant que l'interpolation se fait dans le sens des aiguilles d'une montre 30 ou en sens inverse, par une logique analogue à celle d'aiguillage de 1'interpolateur approché. A titre d'exemple, il sera supposé produit aiguilles déplacement qu'un arc doit être/d?ns le sens,des/d'une mont re, que.le/X e^t égai à +13, que le déplacement Z ept/a^+23, que la coordonnée I du centre de l'arc est 21 et que la coordonnée K du centre de l'arc est 27. 35 Dans ces conditions, I doit être compté en progressant et K en régressant. La valeur vraie de I est donc chargée dans le registre I et le complément de K est donc chargé dans le registre K. Les 71 33644 34 2106619 compléments de X et Z sont toujours chargés dans les registres X et Z, respectivement. Les registres AX et AZ sont remis à zéro et le registre D est chargé initialement avec la valeur zéro provenant du calculateur. Pour ces valeurs données, les conditions initiales des 5 registres 146 sont représentées sur le tableau III. Le signal I/UP est à l'état logique "1" déterminé par les signes de X et Z et la fonction préparatoire indiquant une interpolation dans le sens des aiguilles d'une montre. Par conséquent, que I et K soient augmentés ou que K et Z soient augmentés, dépend du 10 signe du contenu du registre D. Les circuits logiques sont tels que la fonction de régression est toujours effectuée en premier. La première impulsion d'horloge fera donc apparaître les signaux 330 et 333- Le signal 331 ouvre le registre E vers l'additionneur interpolateur dont la sortie sera décalée en arrière par l'impulsion 15 311. Lorsque cette impulsion arrive, la sortie de l'additionneur interpolateur est décalée dans le registre D 146-6 dont le contenu représentera la somme de son contenu existant augmenté du contenu du registre K. Du fait que la valeur initiale du contenu de D était nulle et que le registre K 146-5 vient de progresser d'une unité 20 par l'impulsion 310, la nouvelle valeur contenue dans le registre D est égale à la valeur initiale du contenu du registre K augmentée d'une unité. Le chiffre de plus grand poids du contenu du registre D indique le signe de D. Il y a lieu de noter sur le tableau III que 25 ce chiffre passe de 0 à 1. En raison de cela, la logique d'aiguillage aiguille l'impulsion d'horloge suivante vers X et I et fait passer le contenu du registre I à l'additionneur interpolateur pendant l'impulsion 311 suivante. Ainsi que le montre le tableau III, la troisième impulsion 310 est aiguillée vers I et X car, après la 30 seconde impulsion 311, le signe de D était encore négatif. Après la troisième impulsion 311, le signe de D est redevenu positif ainsi que l'indique le niveau zéro du chiffre de plus grand poids. K et Z progressent à nouveau et K est introduit dans l'additionneur interpolateur. Ce processus se poursuit jusqu'à ce que X ou Z foit nul 35 ou du fait que les compléments sont utilisés, jusqu'à ce que le registre X ou le registre Z ne contienne que des" 1".La figure 15 et le tableau III montrent que 1'interpolateur approché selon la 71 33644 2106619 35 présente invention effectue pas à pas l'intégration graphique décrite par ailleurs dans la présente description. L'interpolation linéaire s'effectue de la même manière à l'exception près que le signal LIN empêche les registres I et K de progresser de manière à produire une ligne droite de pente constante. Dans le tableau III ci-après I/C indique les conditions initiales, E/C et I/C indiquent les positions de Z et de I, respectivement, tandis que I/A et I/A indiquent, respectivement, les augmentations de E et de I. 71 33644 36 TABLEAU III K X Z AX 2106619 AZ D I/C1 010101 E/C 5 E/A I/C I/A I/C I/A 10 K/C E/A I/C I/A E/C 15 E/A. I/C I/A E/C E/A 20 I/C I/A E/C E/A 010110 010111 011000 011001 011010 100100 100101 100110 100111 101000 101001 11001Q 110011 110100 110101 110110 110111 101000 101001 101010 101011 101100 101101 000000 000001 000010 000011 000100 000101 000000 000001 000010 000011 000100 000101 000000 100101 100101 01011Q 111011 010111 010010 100110 111000 011000 010000 100111 110111 011001 010000 101000 111000 011010 010010 101001 111011 Pin du premier segment 71 33644 2106619 37 TABLEAU III (Suite) K X Z AX AZ 111000 000001 I/C2 I/A 5 K/C K/A K/C K/A I/C 10 I/A K/C K/A I/C I/A 15 K/C K/A I/C I/A K/C 20 K/A K/C K/A 011011 011100 011101 011 110 101010 10101 1 101100 101101 101110 101111 111001 111010 111011 101110 101 111 110000 110001 110010 1 10011 000010 000011 000100 000001 000010 000011 000100 000101 000110 D 011011 010110 101010 000000 101011 101011 011100 000111 101100 110011 011101 010000 101101 111101 011110 011011 101110 001001 101111 111000 Pin du second segment 71 2106619 TABLEAU III (Suite) I K X Z • AX AZ D I/C^ 011111 111100 000001 011111 I/A 010111 5 K/C 110000 110100 000001 110000 K/A 000111 K/C 110001 110101 000010 110001 K/A 111000 I/C 100000 111101 000010 1OOOQO 10 I/A 011000 K/C 110010 110110 000011 110010 K/A 001010 K/C 110011 110111 000100 110011 K/A 111101 15 I/C 100001 111110 000011 100QQ1 I/A 011110 K/C 110100 111000 000101 110100 K/A - 010010 K/C _ 110101 111001 000110 110101 20 K/A 000111 K/C 110110 111010 000111 110110 K/A 111101 Ein du troisième segment 71 33644 2106619 I/C4 I/A 5 K/C K/A K/C K/A K/C 10 K/A K/C K/A K/C I 100010 39 TABLEAU III (Suite) K 110111 111000 111001 111010 111011 X 111111 111011 111100 111101 111110 111111 AX 000001 AZ 000001 000010 000011 000100 000101 D 100010 011111 110111 010110 111000 001110 111001 000111 111010 000001 111011 Pin de l'arc. 71 33644 40 2106619 Selon la présente invention, la longueur de cordé est maintenue constante par l'additionneur intégrateur 158 et le registre 1^ 159. Chaque fois que le registre X progresse le registre AX progresse également. Chaque fois que le registre Z progresse, le registre AZ pro-5 gresse égalementLes registres AX et AZ sont remis, à zéro au début de chaque cycle d'interpolation. Il a été démontré dans la dérivation mathématique que la longueur de corde constante peut être obtenue en 2 2 calculant la somme (AX) + (AZ) et en arrêtant l'interpolation lors- 2 que cette somme atteint la valeur prédéterminée de L . L'interpola-10 teur selon la présente invention atteint ce résultat de manière légèrement différente. Plutôt que de calculer la somme et de la compa- 2 rer à une valeur enregistrée dans un autre registre, la valeur de L 2 est placée dans le registre L . Au lieu d'ajouter 2 AX-1 ou 2 AZ-1, la quantité 2 AX + 1 ou 2 AZ + 1 est additionnée. Ce procédé conduit 15 à peu près au même résultat et peut s'effectuer avec moins de portes et de registres. Bien cy^e n'importe quelle valeur pourrait être produite par le programme/ chargée/dans le registre ï?, l'interpolateur selon l'invention est agencé de manière à produire trois longueurs de corde diffé-20 rentes: L1, L2, et 13. L1 est divisé en quinze accroissements de longueur, L2 en 31 accroissements de longueur et 13 en deux cent cinquan- . ? te cinq accroissements. Par conséquent, L peut avoir les valeurs 225, 961, ou 65 025. La figure 14 montre plus en détail le registre 2 L 159. Ce registre comporte seize étages, l'élément binaire de moin-25 dre poids étant enregistré dans l'étage de gauche 195 et l'élément binaire de plus grand poids dans l'étage de droite 197. Les signaux L1, L2 et L3 sont combinés logiquement par deux portes OU 199 de manière à produire un signal D2 et un signal D4« les signaux 11, 12 et 13 sont ensuite désignés par D1, D3 et D5 respectivement, les signaux 30 D sont appliqués, ainsi que le montre la figure 14,aux entrées d'ai-guillage des étages 6 à 16 du registre 1 159. l'entrée du premier étage est connectée en permanence au niveau logique "1" et les entrées des égages 2 à 5 sont connectées en permanence au niveau logique "0", l'examen du schéma montre que lorsque 11 est choisi, le chiffre bi- 2 35 naire 225 est présenté aux entrées d'aiguillage du registre 1 . Si 12 est choisi, le nombre binaire 961 est présenté à l'entrée du regis» 2 tre 1 et si 13 est choisi, c'est le nombre binaire 65"025 qui est pré 71 33644 41 2106619 sente aux entrées d'aiguillage. la description complète de la génération d'une corde d'une longueur de 15 unités serait très longue. Aussi, à titre d'exemple, le cas décrit sera-t-il celui d'une corde d'une longueur de huit unités, 2 5 c'est-à-dire avec L = 64. En numérotation "binaire, 64 est égal à 1000000. Il a déjà été indiqué que, pour produire une corde de longueur constante, 1'interpolateur selon l'invention effectue à peu près la même sommation mathématique que celle décrite à propos de la dériva-10 tion mathématique. Cela est dû au fait que 1'interpolateur selon l'invention ne peut produire le 1 initial de la série 1, 3, 5, 7 ..., 2n-1. En place, il produit la série 3, 5, 7, 9 ..., 2n-1. Cela veut dire que la partie de 1'interpolateur approché qui produit la longueur de corde constante, en éliminant le 1 initial de la série, pro- 15 duit la somme des carrés de AX et AZ en avance d'un pas sur la va- 2 2 leur réelle. la valeur de L introduite dans le registre L doit donc être réduite à zéro et le contenu du registre devient négatif 2 2 2 1 ou 2 accroissements avant que (AX) + (AZ) = L . Du fait que la sommation est en avance d'un pas sur chaque axe, l'additionneur inté- 2 2 2 20 grateur change de signe lorsque (AX) + (AZ) = (L-1) . Si le re- ? gistre L est donc positionné au préalable sur 225, la longueur de corde sera donc limitée à 14 accroissements au lieu de 15. Si le re-gistre L est positionné à 64, la longueur de corde sera limitée à 7 unités. L'opération de-génération de corde de longueur constante 25 par l'interpolateur approché est illustrée/sur le tableau IV qui indique les valeurs de AX et AZ et Z? à chaque pas de l'interpolation illustrée/par le tableau III de la figure 15. . Le tableau 17 montre que le registre 1? a été positionné sur representep que par 64 et du fait que ax et az sont nuls, ax et az ne sont/ des M1". A 30 titre d'exemple, ax et az sont représentés avec seulement 4 éléments binaires. L'élément binaire de moindre poids,ou 2^, est représenté à droite du tableau. Ainsi que le montre la figure 13, les étages ax et az sont connectés à l'additionneur intégrateur avec un décalage dans l'étage vers le haut de sorte que l'élément binaire 2^ de 35 ax ou az est connecté à l'étage 2^ de l'additionneur intégrateur, l'étage 2° étant connecté au niveau logique "1", comme tous les étages de poids supérieur à ceux connectés à ax ou az. Cela est représenté 71 33644 2106619 42 sur le tableau IV par des "1" encadrés. Si AZ = 1110, la valeur .présentée à l'additionneur intégrateur pour être ajoutée à la va> leur précédente de L est 11111101. les trois premiers "1" et le dernier "1" encadrés sont obtenus par câblage permanent. TABLEAU IV I/C Comptage sur z Ajouter (2az+1 10 Comptage sur x Ajouter (2ax+1 Comptage sur x Ajouter (2ax+1 Comptage sur z 15 Ajouter (2az+1 Comptage sur x Ajouter (2ax+1 Comptage sur z Ajouter (2az+1 20 Comptage sur x Ajouter (2ax+1 Comptage sur z Ajouter (2az+1 Comptage sur x 25 Ajouter (2ax+1 Comptage sur z Ajouter (2az+1 30 I/C Comptage sur x Ajouter (2ax+1) Comptage sur z Ajouter (2az+1) 35 Comptage sur z Ajouter (2az+1) Comptage sur x Ajouter (2ax+1) Comptage sur z 40 Ajouter (2az+1) Comptage sur x Ajouter (2ax+1) Comptage sur z Ajouter (2az+1) 45 Comptage sur x Ajouter(2ax+1 ) Comptage sur z Ajouter (2az+1) Comptage sur z 50 Ajouter (2"SZ+1) 1 1 1 ax 1 az vo t 1111 1110 1101 1100 1011 1010 1111 § 1110 ra 1101 1100 1011 1010 TABLEAU IV (suite)£ MO ax az 1111 1110 1101 1100 101 1111 1110 1101 1100 1011 1010 1001 (O 1 cb h ai i2 1 01000000 64 11111110111 1 00111101 61 fïïïlmolïl 1 00111010 58 irmnoiffl 1 00110101 53 n un 101 m • 1 00110000 48 111111100111 1 00101001 41 111111100111 1 00100010 34 [ÏTÏI101 ilîl 1 00011001 25 111111 011111 1 00010000 16 111111010111 1 00000101 5 rmiioi on 0 11111010 -6 l2 l2 01000000 64 1-11l1110ill 1 00111101 61 11 ni 1-1 an 1 00111010 58 111111101111 1 00110101 53 111111101111 1 00110000 48 1111111.00111 1 00101001 41 |111|110011] 1 00100010 34 111111011111 1 00011001 25 111111011111 1 00010000 16 11111101011 1 00000101 5 111111 001111 0 11111000 71 33644 43 2106619 TABLEAU IV (suitek 10 15 20 25 30 35 I/O Comptage sur X Ajouter (2AX+1 Comptage sur Z Ajouter (2AZ+1 Comptage sur Z Ajouter (2AZ+1 Comptage sur X Ajouter (2AX+1 Comptage sur Z Ajouter (2AZ+1 Comptage sur Z Ajouter (2AZ+1 Comptage sur X Ajouter (2AX+1 Comptage sur Z Ajouter (2AZ+1 Comptage sur Z Ajouter (2AZ+1 Comptage sur Z Ajouter (2AZ+1 I/C Comptage Ajouter Comptage Ajouter Comptage Ajouter Comptage Ajouter Comptage Ajouter sur Z (2AZ+1) sur Z (2AZ+1) sur Z (2AZ+1) sur Z (2AZ+1) sur Z (2AZ+1) AX 1111 1110 1101 1100 AX 1111 AZ 1111 Q. g m m r2 - 01000000 AZ 64 1 00111101 61 1110 rm 111 oiîi 00111010 58 1 101 111111101HI 1 00110101 53 rrmi ioim 1 00110000 48 1100 1111100111 1 00101001 41 1011 1111011111 1 00100000 32 rrm iooiî] 1 00011001 25 1010 111111010111 1 00001110 14 1001 n nu 001 fil 1 00000001 01 1000 1111 oooîtl 0 11110010 111.1 1110 1101 1100 1011 1010 vo r § 01000000 m fîTTll 11 olïl 1 00111101 nnnoiiti 1 00111000 [mnoorn 1 00110001 mnioiiin. 1 00101000 rmnoioiii 1 00011101 40 Ainsi que noté précédemment, la sortie de retenue de l'additionneur intégrateur délivre le signal 336* Aussi longtemps que ce signal 336 est à l'état logique "1", l'interpolation continue. Mais lorsque ce signal 336 passe à l'état logique "0", un signal de fin d'interpolation 338 est produit par un inverseur 201 et. une porte OU 202 faisant passer le registre de l'état 2 à l'état 3 et arrêtant les impulsions d'horloge de comptage et d'addition immédiatement après l'impulsion d'addition suivante. Dans l'exemple illustré le si- 71 33644 44 2106619 gnal 336 passe de l'état "1" à l'état "O" à la cinquième.progression de AZ. Cela termine le cycle d'interpolation et les valeurs existantes dans les registres 146 G, I, K, X, Z et D sont transférées à la mémoire du calculateur. Les valeurs contenues dans les registres AX 5 et AZ sont transférées au registre tampon 61 convenable en vue d'être transmises à l'unité de commande de machine-outil correspondante par l'intermédiaire d'un circuit de liaison. Lorsque la demande de mise à jour suivante est reçue pour des informations de forme concernant la même paire d'axes, ces valeurs sont ramenées de la mémoire du cal-10 culateur aux registres de 1'interpolateur approché 146 et l'interpola-tion est recommencée. Seuls les registres AX et AZ et L sont remis à zéro à chaque fois. Au second cycle, l'interpolation se poursuit de la même manière que représentée sur le tableau IV, jusqu'à ce que Z ait progressé six fois après quoi, les résidus existants dans chacun 15 des registres 146 sont transférés à la mémoire du calculateur. Le troisième cycle d'interpolation de cet exemple particulier se termine lorsque AZ a été compté sept fois. Le quatrième cycle d'interpolation n'est pas terminé à cause de la longueur de la corde mais parce que X et Z ont été ramenés à zéro. 20 II y a lieu de noter en regard du tableau III qu'au quatrième cycle d'interpolation de l'exemple illustré, X progresse une fois tandis que Z progresse cinq fois. Le signe du contenu de L provoque normalement l'aiguillage des impulsions de comptage soit vers le registre I, soit vers le registre E de manière à interpoler correctement l'arc 25 voulu. Mais si X ou Z atteint "O" ( complément:tous les "1^, toutes les impulsions sont aiguillées vers l'autre registre. Du fait que la première impulsion d'additon de quatrième cycle d'interpolation de l'exemple illustré a "épuisé" la dimension X de sorte que le registre X/contienne que les "1", toutes les impulsions suivantes sont aiguil- 216 30 lées vers le registre Z jusqu'à ce qu'il Contienne que des "1" ou jusqu'à ce que le signal 336 arrête l'intégration. En tout cas, lors- 116 que les registres X, Z/contiennent que les "1", indiquant que Z est égal à zéro ainsi que X, les signaux XO et ZO passent à l'état logique "1" et, par l'intermédiaire de la porte ET 203 ils provoquent 35 l'apparition d'un signal de fin de bloc EOB ainsi que du signal 338 de fin d'interpolation par l'intermédiaire de la porte 202. Ce signal de fin d'interpolation fait, passer le registre d'état dans sa 71 33644 45 2106619 troisième position ce qui arrête l'interpolation. Le signal de fin de bloc EOB est appliqué au circuit de liaison. De cette manière, l'interpolation d'un arc dans le sens des aiguilles d'une montre représentée sur la figure 15 est terminée. 5 Ainsi que le montre la figure 16, une partie du circuit de liaison est équipée au dispositif central de commande pour chaque machine-outil. Si la machine correspondante est une machine à deux axes,AU et AW n'ont pas à être traités. Le cas décrit sera celui, plus complet, d'un circuit de liaison correspondant à une machine 10 à quatre axes qui sera décrit. Le tampon de sortie 61 de l'interpo-lateur comporte un tampon AX 207, un tampon AZ 209, un tampon AU 211 et un tampon AW 213. Chacun de ces tampons est constitué d'un registre 214 à huit éléments binaires et d'un marqueur 215 qui passe à l'état "1" lorsque son registre associé est chargé. 15 Les données transmises de l'unité centrale de commande vers l'unité de commande de la machine outil ou son tableau d'affichage associé peuvent provenir de deux sources: 1'interpolateur approché 26 ou le calculateur 21. Les informations de mise à jour provenant de 1'interpolateur approché sont aiguillées vers le tampon 61 de 20 sortie convenable par l'intermédiaire du compteur d'organe 59. Il y a lieu de rappeler que ce compteur d'organe contient le nombre correspondant au marqueur de demande de mise à jour détecté et qu'il conserve ce contenu jusqu'à la fin du cycle d'interpolation. Les informations de mise à jour sont introduites dans les tampons de 25 sortie de 1'interpolateur par les signaux 340 et 341, le signal 340 servant à charger les informations AX et AZ dans les registres tampon de sortie de 1'interpolateur et le signal 341 servant à charger les informations AU et AW. Ainsi que le montre la figure 16, le tampon de sortie 217 du 30 calculateur correspondant à une machine-outil particulière comporte également un registre 214 à huit éléments binaires et un circuit basculeur marqueur 215. Le signal de chargement du tampon de sortie 217 du calculateur et le signal I0P4 aiguillé par le fil de sortie 47 du sélecteur d'organe, en fonction du code d'organe provenant du 35 canal d'entrée-sortie. Chacun des registres 214 de sortie de 1'interpolateur et le registre de sortie du calculateur sont connectés par l'intermédiaire 71 33644 46 2106619 d'une matrice de porte 221 aux entrées d'aiguillage d'un registre à décalage 225 appelé registre de lignes. Les données sont introduites en parallèle dans ce registre et sont extraites en série sous l'action d'un signal d'horloge de décalage, 314. Le registre de li-5 gnes reçoit également les données provenant de l'unité de commande 31 ainsi que du clavier et de l'unité d'affichage 32. Lorsque des données à transmettre vers une unité de commande 31 de machine-outil ou le clavier et tableau d'affichage 32 sont décalés hors du registre de lignes, les données provenant de l'unité de commande ou du cla-10 vier et du tableau d'affichage peuvent être introduites. Lorsque le registre de lignes 225 a été complètement vidé, les données reçues, aiguillées par les portes 227 sont introduites dans le registre 217 d'entrée de calculateur et le marqueur 215 passe à l'état "1". Si les données reçues consistent en une demande de mise à jour, elles 15 sont aiguillées par les portes 227 vers le marqueur de demande de mise à jour correspondante. Le circuit de liaison fonctionne selon un cycle à 20 éléments binaires produits par l'horloge de la figure 9 et illustre sur la figure 10E. Selon le présent mode de réalisation, six impulsions de 20 transfert sont utilisées, ce sont les impulsions TP1, TP2, TP3, TP4, TP5 et TP6. Les impulsions de transfert ont chacune une durée de 5 microsecondes et sont décalées dans le temps de sorte que TP2 suit TP1 et IP3 suit ÏP2. Après TP3, le signal 312 dure 65 microsecondes et il est immédiatement suivi par TP4, TP5 et TP6t -TP6 est suivi d'une 25 impulsion de synchronisation 315 qui maintient l'horloge numérique de l'unité de commande de machine-outil en synchronisme avec l'horloge mère de l'unité centrale de commande. Les impulsions 314 de décalage durent 0,5 microseconde et apparaissent pendant la dernière 0,5 microseconde des impulsions de transfert. C'est-à-dire que l'impul-30 sion de transfert TP1 est à l'état logique "1" pendant 4,5 microsecondes avant l'apparition de l'impulsion d'horloge de décalage. Cela permet la stabilisation des portes logiques avant que les registres et les marqueurs soient décalés par les impulsions de décalage. Les données sont transférées dans un format à 13 éléments bi-35 naires. Les éléments 1 à 4 et 5 à 9 constituent les données provenant du registre de sortie de 1'interpolateur ou du registre de sortie du calculateur. Les éléments binaires 5 et 10 constituent des éléments binaires de parité. Les éléments binaires 11 à 13 servent à identi 71 33644 47 2106619 10 fier la destination des données représentées par les éléments binaires 1 à 10. Ce sont les éléments binaires 11 à 13 qui sont utilisés par les portes 227 pour aiguiller les données reçues vers le tampon ou le marqueur correct . la figure 16 représente le schéma logique de production d'éléments binaires 11 à 13. Le code utilisé pour identifier les données est représenté sur le tableau V ci-après. TABLEAU Y Elément Elément Elément binaire binaire binaire 11 12 13 AXA 0 10 AZA 0 0 1 AUA 1 10 AWA 1 0 1 15 CPUA 1 0 0 Dernier AXA 0 1 1 Dernier AUA 1 1 1 Ainsi que noté précédemment, chaque tampon de sortie est associé à un circuit basculeur marqueur 215 qui passe à l'état "1" lorsque des 20 données sont chargées dans le registre 214. Les sorties "1" de ces marqueurs sont toutes connectées à un circuit de priorité 231 qui détermine les priorités de transmission . L'impulsion de transfert TP2 est aiguillée par le circuit de priorité, positionnée par les sorties des circuits basculeurs marqueurs 215, vers l'un des cinq circuits 25 basculeurs de priorité 232. Les sorties "1" des circuits basculeurs de priorité 232 sont marquées AXA, AZA, AUA, AWA, et CPUA. L'un seulement de ces circuits basculeurs peut être à l'état "1" à un moment donné. Cela est dû au fait que tous les circuits basculeurs de priorité 232 sont .remis à zéro par le signal TP6 à chaque cycle de cir-30 cuit de liaison et que l'un seulement d'entre eux, celui de la priorité la plus élevée, peut être placé à l'état "1" par le signal TP2 au cycle suivant. Un seul des signaux de priorité AXA, AZA, AUA, AWA ou CPUA peut être à l'état logique "1"à un moment donné. Les signaux de priorité sont utilisés pour relier le registre tampon 214 correct 35 aux entrées d'aiguillage du registre de ligne 225. Les données du re 71 33644 48 2106619 gistre connecté sont introduites dans le registre de lignes sous l'effet d'une impulsion de décalage appliquée par la sortie d'une porte ET 233 ouverte par le signal TP3. Pendant l'impulsion TP3, les éléments binaires d'identification 11, 12 et 13 soût également 5 introduits dans le registre de lignes. Ces éléments binaires sont formés par la combinaison logique des signaux de priorité et le signal EOB de fin de bloc, ainsi que le montre la figure 16, ainsi que les éléments binaires de parité 5 et 10. Les données sont transmises sur une paire téléphonique compor- 10 tant des fils La et Lb connectés respectivement aux portes ET. 237 — \ (fig.16) et 239. Le circuit logique 241 connecté aux portes ET 237 et 239/es.t réalisé .de manière telle que le fil La est commandé par l'étage de gauche du registre de ligne 225 pendant que le signal 312 est présent, et qu'il est positif par rapport au fil Lb lorsque l'étage 15 de gauche est à l'état logique "1". Lorsque le signal 312 n'est pas présent, le fil La est commandé par la borne XMT. Quel que soit le niveau des autres signaux, lorsque le signal de synchronisation 315 est présent, le fil Lb est positif par rapport au fil La. Cette disposition permet de transmettre un signal de synchronisation sans am-20 biguité vers l'horloge de commande de la machine et permet de transmettre une parité de contrôle en retour par la borne XMT lorsque le signal 312 est absent. Lorsque les 13 éléments binaires enregistrés dans le registre de lignes de l'unité centrale de commande sont émis, 13 éléments bi-25 naires de données reçus de l'unité de commande de la machine-outil sont introduits dans le registre de lignes. Après le treizième décalage, le signal 312 passe de l'état logique "I" à l'état logique "0" et l'impulsion TP4 apparaît. Pendant cette impulsion, les portes 227 sont ouvertes et elles analysent les éléments binaires 11, 12 et 30 13 afin de déterminer si les données sont destinées à l'interpola- «â.PDPoejr1 é teur/ou: au calculateur. Si les données sont destinées à l'interpolateur /^SSftes^les informations reçues sont contenues dans les éléments binaires 11, 12 et 13* Elles peuvent consister simplement en une demande de mise à jour concernant une paire d'axes ou l'autre d'une 35 tourelle. . Ce sont les demandes de mise à jour "A" et "B". Si les données reçues sont destinées au calculateur, le registre d'entrée du calculateur sera chargé à la commande de l'impulsion 314 pendant 71 33644 49 2106619 la durée de TP4. Le marqueur du tampon d'entrée du calculateur passe également à l'état "1" et un signal 342 est émis vers le canal d'entrée-sortie du calculateur lorsque le code d'organe du tampon est émis par le calculateur. 5 Les circuits de liaison de chaque commande de machine sont sensiblement les mêmes que ceux de la commande centrale représentée sur la figure 16. Le récepteur des données de liaison est un amplificateur différentiel dont la sortie est connectée directement à une porte ET 241 qui répond aux signaux reçus de données. La sortie 10 de l'amplificateur différentiel de chaque commande 31 de machine est aussi connectée par un amplificateur-inverseur 243 à une seconde porte ET 245 qui ne répond qu'au signal de synchronisation 315 et ne répond pas aux données transmises. Ce signal reçu, 315, est ensuite disponible pour maintenir l'oscillateur de l'horloge numé-15 rique locale de la commande de la machine en synchronisme avec l'horloge principale de la commande centrale. la figure 17 montre de manière simplifiée 1'interpolateur linéaire et la servo-commande de l'unité de commande de machine-outil qui, d'une manière générale, est semblable à celle utilisée jusqu'à 20 présent avec des commandes de machines par bande perforée . Un oscillateur 247 de vitesse d'avancement émet des impulsions d'avancement à une fréquence déterminée. Ces impulsions sont divisées par un multiplicateur binaire 251, sous le contrôle d'un nombre 6e vitesses d'avancement E emmagasinées dans un registre 253 relié au multi-25 plicateur 251. La sortie du multiplicateur 251 détermine la vitesse d'avancement de l'outil entraîné suivant les axes x et Z. Un multi-fnon represenxej plicateur binaire/similaire à celui utilisé pour les axes x et z est équipé pour la commande de l'outil suivant les axes U et W, Le multiplicateur binaire 251 délivre des signaux d'entrée à deux autres mul-30 tiplicateurs binaires 257 et 259 affectés chacun à un axe de la paire, dans ce cas x et z. Chacun des multiplicateurs binaires comporte un registre associé désigné par ax et az. Les sorties des multiplicateurs 257 et 259 appliquent des impulsions au dispositif de servo-commande des deux axes. Le dispositif de servo-commande 261 de l'axe des x est 35 représenté schématiquement. Le dispositif de servo-commande de l'axe des z (non représenté) est sensiblement le même que celui des x. 71 33644 50 '2106619 Chaque élément de donnée nécessaire à l'unité de commande 31 de la machine-outil est reçu par l'intermédiaire du circuit de liaison et aiguillé vers les portes 227 du registre tampon de commande de machine convenable, par exemple le tampon 265 de nombre P, le tampon 5 267 AX ou le tampon 269 AZ. Un circuit de commande produit une impulsion de transfert E lorsque les commandes AX et AZ sont exécutées afin de transférer les commandes suivantes du tampon vers le registre correspondant, et il délivre un signal de demande de mise à jour qui provoque l'établissement par l'unité centrale d'autres commandes 10 AX et AZ. Lorsque les portes 227 du circuit de liaison de l'unité de commande 31 détectent le dernier AX ou le dernier AU, une nouvelle demande de bloc est produite. Cette dernière est émise vers le calculateur par l'intermédiaire du circuit de liaison et le bloc de 15 données suivant est transmis à l'unité de commande 31 de machine-outil et à 1'interpolateur approché si des informations de forme y sont contenues. Il va de soi que la présente invention a été décrite ci-dessus à titre purement indicatif mais nullement limitatif et 20 que l'on pourra lui apporter toutes modifications de détail conformes à son esprit sans sortir de son cadre. 71 33644 51 2106619 KTOEMUOmOHS 1. Dispositif de commande de plusieurs machines devant produire un déplacement relatif d'une première et d'une seconde pièce , suivant un trajet voulu, chaque machine comportant un dis- 5 positif commandé par des signaux représentant les composantes d'un vecteur suivant deux axes perpendiculaires, de manière à commander ledit déplacement relatif le long d'un trajet linéaire résultant des composantes du vecteur, caractérisé en ce qu'il comporte une première unité numérique de traitement de données com-10 portant un dispositif d'enregistrement d'un certain nombre de commandes consistant en données paramétriques définissant ledit trajet voulu, une unité spéciale de traitement numérique de données destinée à produire, à partir desdites données paramétriques, les groupes successifs de signaux représentant les composantes d'un 15 vecteur de segments linéaires successifs représentant approximativement ledit trajet voulu, un dispositif de liaison destiné à transmettre lesdits groupes de signaux provenant de ladite unité spéciale de traitement de données vers lesdites machines et un dispositif de transfert de données destiné à transférer les données 20 paramétriques entre ladite unité de traitement numérique de données et ladite unité spéciale de traitement de données. 2. Procédé de commande d'une machine comportant une pièce mobile qui se déplace en fonction de commandes binaires codées consistant en signaux binaires qui commandent les déplacements le 25 long d'axes de coordonnées rectangulairesode manière que ladite pièce mobile se déplace suivant un trajet déterminé entre un point de départ et un point espacé dudit point de départ en fonction desdits déplacements, caractérisé en ce qu'il consiste à lire une instruction enregistrée dans une unité de traitement numérique de 50 données comportant une mémoire, ladite instruction définissant le trajet par des signaux binaires représentant les données paramétriques du trajet, à produire un groupe de signaux binaires définissant les déplacements suivant les axes de coordonnées entre le point initial du trajet et un point intermédiaire situé sensiblement 55 sur le trajet, de manière que la résultante de déplacement constitue un segment initial dudit trajet, à transmettre les signaux binaires à la machine, de manière à commander le déplacement de la pièce mobile suivant le segment initial du trajet et à mettre à jour les données enregistrées, de manière à indiquer la production 71 33644 52 2106619 du segment initial et à répéter périodiquement les opérations précédentes lorsque la machine demande une commande supplémentaire, jusqu'à ce que les segments de lignes nécessaires pour que la pièce mobile se déplace le long dudit trajet soient calculés et transmis 5 à la machine. 3. Procédé selon la revendication 2, caractérisé en ce qu'un certain nombre de commandes sont enregistrées dans ladite mémoire de manière à commander un certain nombre de machines-outils comportant chacune une pièce mobile devant être commandée par lesdites com-10 mandes enregistrées dans ladite mémoire, un certain nombre desdites commandes comportant les instructions de déplacements d'un certain nombre desdites pièces mobiles suivant des trajets déterminés, un segment correspondant à un trajet d'une machine étant calculé à la suite d'une commande de données provenant de la machine pendant 15 qu'une autre machine exécute un segment d'un trajet dont les signaux binaires ont été calculés et transmis à ladite machine. 4. Procédé selon la revendication 2, caractérisé en ce que les commandes comportant lesdites instructions de déplacement d'une pièce mobile d'une machine-outil le long d'un trajet prédé- 20 terminé sont enregistrées dans ladite mémoire de manière à commander un certain nombre de machines-outils comportant des pièces mobiles devant être commandées, l'unité de traitement numérique de données consistant en un calculateur à usage général utilisé pour diriger les commandes vers l'une quelconque d'un certain nombre de machines 25 ayant demandé une commande à exécuter et dans lequel une commande comportant une instruction qui définit un trajet de déplacement d'une pièce mobile déclenche le fonctionnement du calculateur en réponse à une demande de commande et à l'instruction d'envoi des paramètres du trajet du mouvement enregistrés avec l'instruction 30 vers une unité spéciale de traitement numérique de données qui ne calcule qu'un segment du trajet et qui produit des signaux binaires destinés à déplacer la pièce mobile à commander le long d'un segment seulement du trajet et exécute une instruction enregistrée mise à jour afin de calculer les autres segments à la 35 suite d'autres demandes de commande, de sorte que l'unité spéciale de traitement de données peut calculer les segments de lignes destinés à d'autres machines. 71 33644 2106619 53 5. Procédé selon la revendication 2, caractérisé en ce que lesdites données paramétriques comportent un premier nombre et un second nombre représentant le déplacement, suivant des axes perpendiculaires, d'un point du trajet espacé du point initial, les 5 signaux binaires destinés à commander la pièce mobile étant calculés en ajoutant une unité à un nombre Y contenu dans un registre de comptage incrémental T représentant l'accroissement du déplacement le long d'un premier desdits axes perpendiculaires, à ajouter ledit second nombre à un additionneur de manière à établir une somme avec 10 uc. signe particulier, à augmenter d'une unité un nombre z contenu dans un registre de comptage incrémental z représentant un déplacement suivant le second desdits axes perpendiculaires, à additionner algébriquement le premier nombre à la somme contenue dans ledit additionneur de manière à faire tendre cette somme vers zéro, 15 l'augmentation du registre z et l'addition du premier nombre à l'additionneur faisant tendre la somme vers zéro jusqu'à ce qu'elle soit nulle ou que son signe change, à augmenter ensuite le registre incrémental T et à additionner algébriquement le second nombre à l'additionneur de manière à faire tendre la somme contenue dans 20 l'additionneur vers zéro et à augmenter répétitivement le registre incrémental z et à additionner le second nombre jusqu'à ce que le signe de la somme contenue dans l'additionneur so.it nulle ou change de signe et à arrêter le processus après un nombre prédéterminé de modifications incrémentales et à transmettre le nombre contenu 25 dans le registre incrémental Y et le nombre contenu dans le registre incrémental z à la machine de manière à commander le déplacement de la pièce mobile suivant le trajet défini par les composantes vectorielles le long des premier et second axes perpendiculaires, dont les valeurs absolues correspondent audit accroissement de Y 30 et Z. 6. Procédé de détermination de composantes vectorielles, destinées à déterminer un trajet linéaire suivant des axes de coordonnées rectangulaires, caractérisé en ce qu'il consiste à déterminer un premier et un second nombre représentant le dépla-35 cernent, suivant des axes perpendiculaires, d'un point situé sur le trajet à partir d'un point initial, à introduire un nombre Y égal à l'unité dans un registre de comptage incrémental, Y représentant 71 33644 54 2106619 un accroissement du déplacement le long dudit premier axe, à additionner ledit premier nombre dans un additionneur dudit nombre Y de manière à déterminer un nombre d'un signe particulier, à augmenter d'un nombre Z égal à l'unité le contenu d'un registre 5 de comptage incrémental Z représentant l'accroissement du déplacement suivant ledit second axe et à additionner algébriquement le second nombre au premier nombre dans l'additionneur de manière à faire tendre vers zéro la somme contenue dans l'additionneur, et à répéter l'augmentation dans le registre Z et à faire tendre 10 vers zéro la somme contenue dans le registre au moyen dudit second nombre jusqu'à ce que la somme soit nulle ou que son signe change, à produire ensuite une augmentation dans le registre Y et à ajouter algébriquement ledit premier nombre dans ledit additionneur de manière à faire tendre vers zéro la somme contenue dans l'addi-15 tionneur et à répéter l'augmentation et l'addition jusqu'à ce que la somme contenue dans l'additionneur soit nulle ou change de signe et à arrêter le processus après un nombre prédéterminé de changements incrémentaux dans au moins l'un desdits registres, à transmettre ensuite à la machine le nombre incrémental contenu dans le 20 registre de comptage incrémental Y et le nombre incrémental contenu dans le registre de comptage Z de manière à commander le déplacement de la pièce mobile suivant un trajet défini par les composantes vectorielles suivant un premier.et un second axe les valeurs absolues des composantes correspondant auxdits nombres 25 incrémentaux Y et Z. 7. Procédé de commande du mouvement d'un outil de machine-outil par rapport à une pièce à usiner, suivant un trajet déterminé, caractérisé en ce qu'il consiste à enregistrer dans un premier registre, un nombre indiquant les caractéristiques générales 30 du trajet voulu, à enregistrer dans des second et troisième registres, des second et troisième nombres représentant respectivement les déplacements suivant des premier et second axes/perpendiculaires> d'un point dudit trajet par rapport à un point initial dudit trajet, à enregistrer dans des quatrième, cinquième 35 et sixième registres respectivement des quatrième, cinquième et sixième nombres, à ajouter une unité dans un premier registre incrémental, à additionner le nombre enregistré dans ledit 71 33644 55 2106619 t quatrième registre au nombre enregistré dans ledit sixième registre et à enregistrer la somme dans ledit sixième registre, à répéter l'opération si le signe du nombre contenu dans le sixième registre ne change pas et, si le signe du nombre contenu 5 dans ledit sixième registre change, à augmenter d'une unité le contenu d'un second registre incrémental, à additionner le nombre enregistré dans ledit cinquième registre au nombre enregistré dans ledit sixième registre et à enregistrer la somme dans ledit sixième registre, à répéter l'opération précédente si le signe 10 du nombre contenu dans ledit sixième registre ne change pas, et si le signe du nombre contenu dans ledit sixième registre change, à arrêter le processus lorsque lesdits registres incrémentaux ont été augmentés un nombre prédéterminé de fois et à transmettre à une machine-outil le nombre enregistré dans chaque registre 15 incrémental. 8. Dispositif de commande selon la revendication 1, caractérisé en ce que ladite unité spéciale de traitement numérique de données comporte un dispositif qui modifie les données paramétriques reçues de ladite première unité de traitement numéri- 20 que de données en cours de production d'un groupe de signaux représentant les composantes vectorielles d'un segment de trajet linéaire et qui transfèrent, par l'intermédiaire dudit circuit de liaison, ledit groupe de signaux vers une machine et lesdites données paramétriques modifiées à ladite première unité de trai-25 tement numérique de données par l'intermédiaire dudit dispositif de transfert de données. 9. Dispositif de commande d'une pièce mobile d'une machine, caractérisé en ce qu'il comporte une mémoire dans laquelle sont enregistrées les commandes destinées à la machine, lesdites 30 commandes contenant des mots d'instructions enregistrés sous forme de signaux binaires représentant les données paramétriques définissant le trajet du déplacement de la pièce mobile, une unité de traitement de données associée, destinée à établir des signaux binaires représentant un segment du trajet de déplacement défini 35 par l'instruction d'une commande enregistrée dans la mémoire, ladite unité spéciale de traitement numérique de données comportant des premier et second compteurs dans lesquels un signal 71 33644 56 2106619 peut être chargé préalablement lorsqu'un nombre prédéterminé est reçu, les troisième et quatrième registres destinés à compter des accroissements suivant des premier et second axes, des cinquième et sixième registres destinés à enregistrer des nombres 5 utilisés pour déterminer la pente des segments de lignes à produire, un circuit additionneur, un dispositif destiné à augmenter d'une unité le contenu desdits troisième et quatrième registres et à ajouter l'un desdits nombres dans lesdits circuits additionneurs et un dispositif commandé par une variation de signe 10 du contenu de l'additionneur ou par l'annulation du contenu de l'additionneur et destiné à augmenter le contenu de l'autre desdits registres et à additionner l'autre desdits nombres au contenu dudit additionneur de manière à faire tendre la somme vers zéro.