FR 2051765 A1 19710409 FR 7026070 A 19700715 70 26070 2051765 - 1 - La présente invention concerne les systèmes de machine-outil à commande numérique et, plus particulièrement, un dispositif'perfectionné de calcul de la vitesse d'avance et de génération des contours. Dans les machines-outils à commande numérique, telles que les 5 systèmes d'usinage de contours, les mouvements de la machine d'un point à un autre sont normalement spécifiés par trois composantes, orthogonales X, Y et Z. Lorsque ces composantes sont appliquées à un générateur de contour à trois axes, la vitesse de chaque axe est proportionnelle à sa composante associée et à la fréquence d'entrée du générateur de contour. 10 Pour que la machine-outil conserve une vitesse sur trajectoire constante, quel que soit le choix de X, Y et Z, la fréquence d'entrée du générateur de contour doit avoir une valeur donnée par la formule f .=£ ; f étant une fréquence constante choisie, V étant la vitesse sur O D O trajectoire en unités de longueur par minute, et D étant calculé à partir 2 2 2 X + £ + Z . La fraction — est généralement appelée nombre de vitesse d'avance ou FRN. La distance D est calculée pour chaque groupe de mots d'axe X, Y et Z, et le FRN est calculé à partir de cette valeur. La valeur obtenue est introduite dans le système de commande avec d'autres informations 20 relatives aux axes. La présente invention a pour objet un système de commande numérique dans lequel la vitesse sur trajectoire correspondant à un choix quelconque des valeurs X, Y et Z est maintenue constante et égale à une vitesse V dont la valeur est affichée dans le système. 25 L'invention a également pour objet un dispositif permettant de programmer la vitesse désirée V plut5t que le FRN, le système effectuant tous les calcules nécessaires. Le système de la présente invention assure en outre un traitement du programme appelé "normalisation", dans lequel, par exemple, les zéros non significatifs des ordres d'axe sont supprimés, de 30 façon à accroître Ie rendement du système. L'invention utilise des intégrateurs différentiels numériques (désignés ci-après par l'abréviation IDN) pour produire des trains d'impulsions dont le nombre d'impulsions est égal à/nombre binaire introduit dans un registre de l'IÇN appelé "registre de fonction à intégrer" (appelé ci-après 35 RFl), la fréquence du train dlimpulsions étant proportionnelle au produit 26070 - 2 - 2051765 de la fréquence f d'un signal d'horloge appliqué à l'intégrateur, par le nombre contenu dans le RFI. Un intégrateur est associé à chaque axe pour recevoir les informations correspondants aux paramètres X, Y et Z. Un processus de "normalisation" est ensuite appliqué aux données programmées au cours duquel les nombres binaires X, Y et Z9 introduits dans les RFI de leurs intégrareurs respectifs, sont décalés vers la gauche d'un nombre de positions binaires égal pour éliminer un nombre donné de O non significatifs précédant le chiffre de rang lé plus élevé du plus grand des nombres X, Y et Z. Les IDN étant utilisés comme multiplicateurs de "fréquence, ceci augmente automatiquement lafréquence des trains d'impulsions de sortie. Le système comporte un circuit de calcul de la valeur de D à partir des nombres X, Y et Z normalisés. Ce circuit comprend deux IDN dont le premier est piloté par un oscillateur- d'horloge pour produire une sortie qui est appliquée au second. La valeur calculée de D apparaît dans le second IDN. Le premier IDN contient le complément a 1 de la valeur de D, c'est-à-dire approximativement la valeur jj. La sortie de l'oscillateur d'horloge, qui est appliquée à l'entrée du premier IDN, est divisée par puis comparée à la sortie du second IDN. Si les deux fréquences diffèrent, un chiffre binaire est introduit dans le registre de fonction à intégrer RFI du premier IDN pour modifier la réaction de fréquence du second IDN, jusqu'à ce que la comparaison indique des fréquences égales. La sortie du premier IDN attaque ensuite un troisième IDN contenant un nombre binaire proportionnel à la vitesse affichée V. La sortie de ce troisième IDN est ensuite appliquée aux IDN X, Y et Z, dont les sorties sont transmises aux - systèmes d'asservissement des divers axes de la machine-outil. D'autres caractéristiques et avantages de l'invention ressortiront de la description détaillée qui suit et des dessins annexés sur lesquels! la figure 1 est un schéma synoptique d'un intégrateur différentiel numérique (IDN); la figure 2 représente deux IDN en cascade; la figure. 3 représente des IDN en cascade et illustre la constance de leur fréquence de sortie; la figure k représents un système s. trois axes destiné à un généra teur de contour conféras au principe de- l1invention; 70 26070 - 3 - 2051765 la figure 5 est un schéma synoptique d'un calculateur de vitesse d'avance coopérant avec le.générateur de contour de l'invention; la figure 6 est un schéma synoptique d'un circuit différentiel pouvant itre utilisé dans le système de l'invention; 5 la figure 7 est un schéma synoptique d'un générateur d'horloge pou vant être utilisé dans le système de l'invention; la figure 8 est un diagramme de synchronisation des signaux fournis par le générateur d'horloge de la figure 7; la figure 9 est un schéma synoptique d'un autre générateur d'horloge 10 utilisé dans le système de l'invention; la figure 10 est un diagramme de synchronisation des impulsions provenant du générateur d'horloge de la figure 9» la figure 11 est une matrice de décodage de synchronisation; la figure 12 est un diagramme de synchronisation illustrant 14 les signaux obtenus au moyen de la matrice de la figure 11; les figures 13 et 14 sont des schémas synoptiques illustrant la façon dont la valeur D peut être calculée à partir des mots d'axe X, Y et Z; la figure 15 est un schéma synoptique de circuit assurant la normalisation automatique des valeurs et l'émission des marqueurs; 20 la figure 16 est un schéma synoptique d'un calculateur de vi tesse d'avance et d'un générateur de contour réalisé selon les principes de l'invention. La figure 1 est un schéma synoptique d'un intégrateur numérique différentiel IDN. Ce type de circuit est connu et décrit dans la littérature 25 technique, par exemple dans un ouvrage de Huskey et Korn intitulé "Computer pu/ Handbook", publié par The McGraw Hill Book Company, en 1962,/aâns un mémorandum technique de l'Institut Technologique du Massachusetts, intitulé "Requirements for a Curvilinear interpolator Using Incrémental Computation", publié en septembre 1959 sous le numéro de contrat AF33(038 )-24007 et portant 30 la référence 6873-TM-10, ou encore dans un ouvrage de TRH. Sizer intitulé "The Digital Differential Analyzer" publié par Gbapman & Hall Ltd., Londres 1968. Le circuit intégrateur de la figure 1 n'est représenté qu'à titre illustratif. . - SAD ORIGINAL 70 26070 - f - 2051765 Un tel intégrateur numérique différentiel comprend deux registres à décalage, respectivement 10 et 12, et un additionneur binaire 14. Le registre à décalage 10 est appelé "registre de fonction à intégrer" (RFl) et le registre à décalage 12 est appelé "accumulateur". Les bits de rang le 5 plus bas des registres à décalage sont simultanément décalés dans l'addition neur 14 à l'application d'une impulsion d'horloge appelée f Q. Au départ, on charge une valeur dans le RFI puis, à chaque cycle de décalage (une impulsion fq), lë contenu du RFI est additionné au contenu de l'accumulateur. Le RFI comporte un circuit de recyclage de sa position la moins significative 10 à sa position la plus significative. La sortie de somme de l'additionneur est introduite dans la position la plus significative de l'accumulateur. Chaque fois que l'accumulateur déborde, l'intégrateur fournit une impulsion de sortie. Pour obtenir un train d'impulsions dont le nombre d'impulsions est égal à la valeur du nombre binaire contenu dans le RFI, il faut auta,nt de cycles 15 d'itération qu'il y a de positions binaires dans le RFI. La fréquence du train d'impulsions est le produit de la fréquence d'horloge fQ par le nombre contenu dans le RFI et dont la valeur est inférieure à l'unité. Dans l'application de 1'invention, l'IDN est utilisé comme multiplicateur de fréquence .A titre purement illustratif, on suppose que les 20 registres de l'IDN comportent chacun 26 positions binaires. Chaque impulsion d'itération (f ) qui est reçue déclenche un train de 26 impulsions de décalage nécessaires pour faire circuler le contenu du RFI et l'ajouter une fois à l'accumultatur. On choisit une fréquence maximale d'itération de l66,6 kHz, de sorte que chaque itération ou cycle arithmétique dure 6 micro-25 secondes. Pour produire les 26 impulsions de décalage plus 4 impulsions supplémentaires pour l'alignement des données, 30 impulsions doivent être produites pendant chaque cycle d'itération de 6 microsecondes. La fréquence choisie pour l'horloge de décalage est donc de 5 MHz. Lorsque le RFI contient sa valeur maximale (toutes les positions 30 binaires contenant des l), l'accumulateur déborde à chaque impulsion d'itération. La fréquence maximale de sortie est donc égale à la fréquence d'itération de 166,6 kHz. En affectant à chaque position binaire une puissance négative de deux, il est possible d'utiliser l'IDN comme multiplicateur de fréquence binaire. Par exemple, en supposant que le nombre introduit dans 35 le RFI soit 110100...0, la fréquence de sortie f = f (l.2~^+ 1.2"^ + S 0 0.2"3 + 1.2^+0.2"5+- 0.2~6+ ... =*fo . 0,8125. BAD ORIG'NAL 70 26070 2051765 Ainsi, si la valeur contenue dans le registre de fonction à intégrer est un ordre numérique d'axe X, la fréquence de sortie de l'intégrateur est proportionnelle à l^raleur de X. La figure 2 représente deux intégrateurs numériques différentiels j. 16 et 18 connectés en cascade. La sortie de débordement du premier IDN 16 constitue l'horloge d'itération du second IDN, 18. La fréquence de sortie f = fq „F.D. Les IDN fonctionnent comme multiplicateur de fréquence dont les facteurs multiplicateurs sont déterminés par les valeurs des fonctions à intégrer F et D. On va maintenant décrire la normalisation d'un système programmé 10 avec un FRN = V/D (voir figures 2, 3 et 4). Si l'IDN 18 de la figure 2 contient les diverses valeurs des ordres incrémentiels et si la fréquence de sortie doit rester constante pour chaque ordre, un nombre F doit être introduit dans' l'IDN 16 pour compenser les variations de D. Si F est choisi pour être proportionnel à 15 (concept du temps inverse) fg = fQ.C jj . D, c'est-à-dire que la fréquence de sortie est égale à la constante fq.C. La fréquence. f est beaucoup plus basse que f car les facteurs multiplicateurs introduits par les IDN 16 et 18 ont des valeurs inférieures à l'unité. C est une constante appelée facteur de réduction dont l'obtention est décrite ci-après. 20 Sur la figure 3» on peut voir quatre exemples de la façon d'obtenir une fréquence constante de sortie pour quatre valeurs différentes introduites dans l'IDN 18. Pour faciliter l'explication, on supposera que les registres à décalage des IDN n'ont qu'une capacité de six chiffres binaires. Comme le montre la figure 3> lorsque le registre à décalage ISA ne contient qu'un 1 25 dans sa position de rang le plus bas, le registre à décalage 16A contient un 1 dans sa position de rang le plus haut et la fréquence de-' sortie est égale au produit £ . 0,5 . 0,015625. L'introduction du nombre 000010 dans le registre 18B implique celle du nombre 010000 dans le registre 16B, de façon que la fréquence le sortie, soit la même que dans le cas des IDN 30 16A et 18A. L'introduction de 000100 dans le registre 18C nécessite l'introduction de 001000 dans le registre 16C. L'introduction du nombre 001000 dans le registre 18D nécessite l'introduction du nombre 000100 dans le registre 16D. En effectuant les multiplications indiquées sur la figure, on voit que le 35 produit reste constant pour chaque groupe d'IDN en cascade, la fréquence de sortie étant égale à f . 2~^« 70 26070 - 6 - 2051765 En étudiant la figure 3» on remarque gue pour un registre a -7 six positions, le facteur de réduction de la fréquence d'entrée est 2 . Pour un registre à 25 positions; le facteur de réduction de la fréquence 2o d'entrée est 2" . La fréquence ainsi obtenue est tellement basse qu'elle n'a plus aucune utilité. Cependants on remarquera sur la figure 3 que 5 si D augmente, F diminue et qu'il y a toujours au moins' cinq 0 non significa tifs dans les deux registres. On peut en tirer la conclusion qu'il est possible en supprimant ces O non significatif s , d'obtenir un facteur de réduction C sensiblement supérieur. En d'autres termes, les contenus des IDN 16 et 15 peuvent être décalés vers la gauche jusqu'à suppression 10 de: ces O, chaque pas de décalage se traduisant par une multiplication par 2. L'application de cette technique, à l'élimination des cinq 0 non significatifs se traiuit par un gain de 2^ dans la fréquence de sortie. Si-l'on utilise le plus grand nombre F possible (tous les chiffres égaux-à 1) avec le plus petit nombre D possible, on obtient un facteur supplémentaire de 2, 6 15 l'amélioration étant au total de 2 , Le facteur de réduction C peut donc être rendu égal à 0,5» c'est-à-dire que la fréquence de sortie devient fg = 0,5.fQ. La fréquence maximale de sortie des IDN en cascade est ainsi f = 266,6 kHz . 0,5 = 83,3 kHz pour n'importe quelle valeur de l'IDN 18 contenant le facteur D. 20 Le même principe est applicable à un registre à 25 positions. En considérant le nombre le plus grand possible contenu dans les registres D ou F (18 ou 16), combinés avec le plus petit nombre possible dans l'autre registre (F ou D), on constate qu'il y aura toujours 24 O non significatifs dans la combinaison des registres des deux IDN en cascade lorsque l'on 25 désire maintenir constante la fréquence de sortie quelle que soit la tealeur du nombre introduit dans le registre D des deux IDN en cascade. Si l'on supprime ces 24 0 non significatifs, la fréquence maximale de sortie est encore fg = f0,5» Cette opération de suppression d'un nombre constant de O non significatifs est appelée "normalisation" et s'appliqîfe 30 à n'importe quelle longueur de registre. La méthode de normalisation permettant d'obtenir une fréquence f constante est la suivante : on compte le nombre de O non significatifs contenus dans le registre de l'IDN F. Ces O sont éliminés par la suppression d'un nombre correspondant d'impulsions de décalage appliquées au registre F. 35 Ensuite, on procède de même pour les O non significatifs du registre D, de sorte que le nombre total de 0 éliminés est égal à 24. 70 26070 - 7 - 2051765 Dans la plupart des cas, il existe plus de 2k O non significatifs. Pour n'obtenir qu'une partie de la fréquence maximale de sortie (83,3 kHz), il suffit de programmer un nombre F plus petit et un nombre D inchangé. Cette relation s'exprime par l'équation F = ^ , V étant la vitesse désirée. 5 L'introduction du minimum de D et du maximum de V dans cette équation permet de calculer le maximum de F et, en affectant des poids aux positions binaires du registre F, il est possible de faire entrer ce nombre dans la longueur de 25 bits. Si le nombre D qui est introduit dans le registre IDN correspondant représente la distance, pour un axe de la machine D = X. 10 De même, le nombre F introduit dans l'IDN correspondant représente le nombre de vitesse d'avance FRN. Dans une machine à plusieurs axes, par exemple trois, l'JDN ^ es^ remplacé par trois IDN en parallèle associés à chaque axe, à savoir l'IDN 20 de l'axe X, l'IDN 22 de l'axe Y et l'IDN 22 de l'axe Z, représentés dans la générateur de contour de la 15 figure k. Les IDN 20, 22 et 24- des axes X, Y et Z sont tous alimentés en parallèle par la fréquencede sortie d'un IDN 26 contenant le nombre F. La valeur de la distance D nfet introduite dans aucun des registres et ne sert qu'à calculer le nombre de vitesse d'avance F. Les valeurs X, Y et Z sont introduites dans leur registre respec-20 tif de la figure 4 et la valeur D est calculée. La valeur correspondante de F est ensuite calculée à partir de la valeur de D en utilisant les , principes énoncés dans le fonctionnement du dispo. itif de la figure 3« En conséquence, la vitesse vectorielle V de la machine-outil à commande numérique qui est calculée, d'après les impulsions d'ordres X, Y et Z 25 fourni^par les sorties respectives f^ , f^ , et f^ des IDN 20, 22 et Zk, sera maintenue constante le long de la trajectoire. Un circuit permettant d'effectuer cette opération sera-décrit en.détail dans la suite. On va maintenant examiner le système de calcul de la vitesse d?avance et de normalisation en regard de la figure 5. 30 La figure 5 est un schéma synoptique d'un calculateur de vitesse d'avance et d'un générateur de contour mettant en oeuvre les principes de base de l'invention pour le calcul de.la vitesse d'avance. On sait que le nombre de vitesses d'avance F est égal a ^ , V étant..la vitesse vectorielle désirée et D la distance programmée. En conséquence, le générateur de 35 vitesse d'fc.va.-iCe 26 de la figure k peut être remplacé par deux IDN en cascade 28 et 30 sur la figure 5» Le premier de ces circuits reçoit dans son registre 70 26070 - 8 - 2051765 la valeur jj et le registre du second reçoit la valeur V. La sortie de l'IDN • 30 sera donc f . ^ . V = f . ^ . ou ou La sortie de l'IDN 28 est également-appliquée à un IDN 32 contenant la valeur D. La sortie de l'IDN 32 est appliquée à un circuit différentiel 5 34 dont l'autre entrée est constituée par la sortie d'un circuit divisant par 4 la fréquence d'un oscillateur 38. En mode calcul de la vitesse d'avance, la normalisation n'est pas la même qu'en mode FRN. Les nombres binaires X, T et Z introduits dans les registres de fonction à intégrer des IDN sont tous décalés vers la gauche d'un nombre de positions égal pour 10 éliminer tous les 0 non significatifs sauf 1 précédant le chiffre de plus haut rang du plus grand des nombres binaires X, Y et g, Là encore, en prenant l'exemple d'un registre ayant une capacité de 25 bits, la fréquence de sortie des IDN d'axe varie dans une proportion de 10 à 1, normalisée; cependant la fréquence de sortie ne varie par axe-que dans un 15 rapport de 2 à 1, On suppose maintenant que la valeur de D a été calculée à partir ✓ 1/2 2 2 / - ~ de l'expression normalisée D =y X +Y + Z et a été placée dans l'IDN 32. Le complément à 1 de la valeur normalisée de D est introduit dans l'IDN 28 comme approximation initiale de jj . L'oscillateur 38 applique ensuite 20 des impplsions à la fois au circuit diviseur 36 et à l'IDN 28. La sortie de ce dernier alimente l'IDN 32 dont la sortie est appliquée au circuit différentiel 34. Ce circuit compare ses deux entrées et augmente ou diminue la valeur contenue dans l'IDN 28 jusqu'à rendre égale la fréquence de ses deux entrées. En effet, le circuit décrit forme un boucle d'asservissement 25 qui établit la valeur — dans l'IDN 28 jusqu'à ce que la sortie de l'IDN 32 devienne égale à —5— . 4 On comprendra que la valeur 1/4 a été choisie à titre d'exemple et que l'on pourra prendre n'importe quelle autre diviseur constant. Le contenu de l'IDN 28 converge très rapidement vers la valeur |r , La vitesse 30 de convergence est déterminée par la précision de l'approximation initiale et par la dimension des incréments. La sortie de l'IDN 28 attaqué l'IDN 30 dans lequel a été introduite la vitesse désirée de fonctionnement du système. Ainsi, la fréquence qui est appliquée aux trois IDN d'axe , respectivement 40, 42 et 44, a une valeur V 35 f . g- . La vitesse vectorielle de la machine-outil le long de la trajectoire prédéterminée sera donc V, quelles que soient les valeurs de X, Y et Z, 70 26070 -9 - 2051765 car les IDN d'axes multiplient fq. ^ par le facteur D. La fréquence de sortie f est ainsi rendue indépendante de D. La figure 6 est un schéma synoptique illustrant les détails du circuit différentiel de la figure 5« La sortie du circuit diviseur par 4 5 36 est appliqué à un inverseur 46 et à une porte NI 52» La sortie de l'IDN 32 est appliquée à l'une des entrées d'une porte NI 48 et à un inverseur 50. Les sorties des inverseurs 46 et 50 sont respectivement appliquées aux portes NI 48 et 52. La sortie de la porte NI 48 est.réliée à l'entrée J d'une bascule 10 JK 54 et également à une porte ET 56. La sortie de la portie NI 52 est reliée à l'entrée K de la bascule 54 et également une pofete ET 58. Les impulsions d'une source d'horloge 59 sont appliquées à l'entrée d'horloge C de la bascule 54. La sortie Q de la bascule 54 est appliquée à la porte ET 56 et jg également à une porte NI 60. La sortie Q de la bascule 54 est appliquée à la porte ET 58. Les sorties des portes ET 56 et; 58 sont appliquées à une porte NI 62. La sortie de la porte NI 62 constitue un signal puisé indiquant la présence d'une différence entre les deux fréquences d'entrée et la sortie - de la porte NI 60 indique le signel de cette différence. Une seconde entrée 20 de la porte 60 provient de la sortie du registre de valeur ~ ie l'IDN 28 pour forcer la sortie de la porte 60 à une représentation binaire "9" lorsque l'IDN de valeur est sur le point de déborder. Le fonctionnement du circuit différentiel 34 de la figure 6 est le suivant : si une impulsion apparaît à la sortie du circuit diviseur par 4 25 365 et aucune impulsion n'est présente à la sortie de l'IDN 32, la sortie de la porte NI 48 devient haute et fait passer la bascule 54, sous l'effet de la source d'horloge 59 à son état 1 dans lequel la sortie Q est haute. La porte ET 56 est validée et applique une.impulsion à la porte NI 62 qtii fournit une sortie. La porte NI 60 fournit également un^sortie indiquant que 30 l'impulsion doit être retranchée du nombre contenu dans le registre ^ . Si l'IDN 32 fournit une sortie et si une impulsion est présente à la sortie du circuit 36, les sorties des deux portes NI 48 et 52 sont basses et la bascule 54 ne change pas d'état, de sorte que la porte NI 62 ne fournit aucune sortie. Le contenu du registre ~ de l'IDN 28 ne subit donc aucune 35 modification. BAD ORIGINAL 70 26070 - 10 - 2051765 Si une impulsion est présente à la sortie de l'IDN 32 et pas à la sortie du circuit 36, la sortie de la porte NI 52 devient haute et la bascule 5^ passe à son état 0 dans lequel la sortie Q est haute. La porte ET 58 a donc une sortie haute qui se traduit par une impulsion de sortie 5 de la porte NI 62. La sortie Q de la bascule 5^ étant basse, la sortie de la porte NI 60 devient haute et l'impulsion de sortie de la porte NI 62 est ajoutée au contenu du registre ™ . Le contenu du registre de l'IDN 28 1 converge ainsi rapidement vers la valeur — . Les circuits particuliers constituant la forme de réalisation 10 illustrative de l'invention nécessitent pour fonctionner des impulsions d'horloge et de synchronisation. On va donc examiner maintenant lescircuits qui produisent ces impulsions d'horloge et de synchronisation. La figure 7 est un schéma synoptique d'un générateur de synchronisation dont les formes d'ondes sont représentées sur le diagramme de synchroni-15 sation de la figure 8. - A titre illustrâtif mais nullement limitatif, l'oscillateur de base qui régit le fonctionnement du système est représenté sur la figure 7 par le rectangle 70 et comprend un oscillateur à quartz dont la fréquence de 10 MHz est divisée par 2 dans une bascule 72. La sortie Q de la bascule 20 est appelée horloge à 5 MBs (H 5 MHz) et la sortie Q de cette mime bascule est appelée complément d® l'horloge à 5 MHz (H 5 MHz). La sortie Q de la bascule 72 est reliée à un circuit diviseur par 5 74 dont la sortie alimente un circuit diviseur par 6,75» Le diviseur total appliqué est donc égal à 30. Les circuits 7k- et 75 peuvent, par exemple, 25 être des compteurs alimentés de la manière représentée sur la figure 7. Une porte ET 78 produit une sortie en réponse àchaque 25ème impulsion comptées par le^bircuits 7^ et 75» Cette sortie est appelée T25 sur la figure 8. Une porte ET 80 produit une sortie en réponse à chaque 28ème impulsion comptée par les circuits 71* et 75» Cette sortie est appelée impulsion d'horloge T28„ 30 L'impulsion d'horloge T28 de la porte ET 80 est appliquée à l'entrée D de la bascule du premier étage 77A d'un registre à décalage comprenant sept étages en cascade 77A a 770. L'application de l'impulsion d'horloge T28 à l'entrée D de la aseule 77A la valide de façon qu'à l'impulsion suivante de là sortie Q de la bascule 72 (que l'on appellera ci-après impulsion 35 d'horloge T29) la bascule 771 soit mise à I, sa sortie Q devenant haute pour représenter une sortie égale à 1. BAD ORIGINAL 2607 Ô 11 - 2051765 La sortie Q de chacun des étages 77A à 77F est reliée à l'entrée D de l'étage suivant du registre à décalage9 de sorte qu'en présence d'une impulsion d'horloge, si la sortie Q de l'étage précédent est haute, il y a transfert d'une unité. 5 On comprend que l'impulsion d'horloge T28 valide l'étage 77A du registre, l'impulsion d'horloge suivante T29 fait basculer l'étage 77A à l'état 1 et l'impulsion d'horloge suivante, appelée TO provoque le transfert d'une unité de l'étage 77A à l'.tage 77B, Ce processus se poursuit jusqu'à ce que le dernier étage 77G bascule à l'état 1 produisant une 10 sortie Q que l'on appelle impulsion d'horloge T5« A l'apparition de l'im pulsion d'horloge suivante, que l'on appelle T6, le registre est remis à zéro. La sortie non inversée à 5 MHz de la bascule 72 est appliquée aux entrées d'horloge de trois bascules respectivement 78, -79 et 80. 15 L'entrée J des bascules 78 et 79 reçoit l'impulsion d'horloge TJ. L'entrée K de la bascule 76 reçoit l'impulsion d'horlqs T29. L'entrée K de la bascule 78 reçoit l'impulsion d'horloge Tl. L'entrée J de la bascule 80 reçoit l'impulsion d'horloge T0 'et son entrée K reçoit l'impulsion d'horloge T2. En conséquence, la sortie Q de la bascule 76 est'une impulsion longue- qui 20 s'étend des impulsions d'horloge T4 à T29 et constitue le créneau de validation de décalage. La sortie de la bascule 79 qui s'étend des impulsions d'horloge T^ à Tl, c'est-à-dire, de l'impulsion d'horloge T4 à l'impulsion d'horloge Tl du cycle suivant, constitue le marqueur de recyclage. La sortie Q de la bascule 80 est utilisée pour le transfert des compteurs 25 normaux du système et appelée T1T2T3, car elle s'étend sur tout l'inter valle de ces trois impulsions d'horloge. Si l'on suppose que les registres utilisés, y compris ceux des IDN, ont une capacité de 26 bits, 25 de ces bits sont utilisés pour l'enregistrement des données et le dernier, c'est-à-dire la position de ,reng le plus 30 bas à droite, n'est utilisé que pour la synchronisation. Le bit de plus. haut rang'j c'est-à-dire le plus à gauche à l'intérieur du registre, est réservé pour l'information de signe. Les contenus des registres subissent une circulation continue sous l'effet des 30 impulsions d'horloge, comme représenté par la forme d'onde du haut du diagramme de synchronisation de 35 la figure 8 (5 MH z).Ces impulsions apparaissent à une fréquence de 5 MHz et chaque série de 30 constitue un cycle d'itération des IDN. Les quatre 70 26070 - 12 - 2051765 10 premières impulsions d'horloge désignées sur les lignes suivantes par TO, Tl, T2 et T3, constituent des impulsions de commande utilisées dans l'alignement des données ou pour d'autres opérations (sur la figure 3 la période de commande TO - T3 est représentée par les lettres PC). Le reste du cycle d'itération est constitué par la période s'étendant de l'impulsion T^ à l'impulsion T29 de la figuré 8, que l'on a précédemment défini comme la période de validation de décalage PVD qui dure 26 impulsions d'horloge. La figure 8 représente également le marqueur de recyclage . MR qui s'étend de l'impulsion T4 à l'impulsion Tl, soit sur 28 impulsions. L'impulsion de transfert T1T2T3 couvrant un intervalle de trois impulsions de décalage et chacune des impulsions d'horloge TO-T5» T25 et T29 sont également représentées. On comprendra sans mal que la source d'horloge 59 de la figure 6 est en fait constituée par les impulsions d'horloge T5. 15 La figure 9 est un schéma synoptique d'un générateur de synchro nisation utilisé comme chaine de retard du report final EF dans la forme de l'invention donnée à titre d'exemple. On suppose /^"tïn IDN est en train de traiter un ensemble de données et qu'un nouvel ensemble de données à traiter a été introduit dans un registre tampon. Dès que les données de 20 l'IDN sont complètement traitées (ce qui peut être signalé par le déborde ment d'un compteur d'itérations comptant les impulsions d'itérations), l'impulsion de débordement est appliquée à l'entrée D d'one première bascule 82A d'un registre à décalage à six étages, respectivement 82A à 82F. Les impulsions de décalage de ce registre sont constituées par les impulsions d'horloge T29, transmises à travers un inverseur 84- aux entrées d'horloge 25 C de tous les étages 82A à 82F. En conséquence, après l'apparition de l'impulsion de débordement du compteur d'itération, en réponse aux impulsions d'hcjrloge T29 successives, l'état 1 du premier étage 82A du registre à décalage est successivement transféré dans tous les étages successifs 8233 à 82F du registre. Les sorties 30 produites par chaque étage sont respectivement appelées 1T à 6T, le diagramme de synchronisation des formes d'ondes correspondantes étant illustrée sur la figure 10. Gomme l'indique cette figure, ces impulsions ont- une largeur de 6 yus et apparaissent en succession après l'impulsion de report final RF. 35 Les fonctions que déclenche l'apparition de ces impulsions seront définies dans la suite de la description du système. BAD ORIGtNAt 70 26070 - U - 2051765 La figure 11 est un schéma synoptique d'un autre générateur de synchronisation qui est utilisé coaEe aatrice de décodage de synchronisation. Cette matrice comprend les portes logiques combinant les impulsions des circuits précédemment décrits pour obtenir des. signaux de synchronisation 5 spéciaux représentés sur le diagramme de synchronisation de la figure 12. Plus précisément, sur la figure 11, une porte ET 86 combine une impulsion 3T avec une impulsion Tl pour produire un signal de sortie.3T1; une porte -ET 88 combine une impulsion 3T avec une impulsion Tl- T3 pour fournir un signal de sortie appelé 3T ( T1T2T3 .)î une porte ET-NON 90 combine 10 . une impulsion 4T avec une impulsion Tl.pour fournir un signal appelé 4T1 ; une porte ET 92 combine une impulsion 4T avec une impulsion T1-T3 pour fournir un signal de sortie appelé 4T(ïlT'2T3 )> une porte ET-NON 84 combine une impulsion 5T avec une impulsion Tl pour fournir un signal de sortie appelé 5T1; une porte ET 96 combine une impulsion 5T avec une impulsion 15 T1-T3 pour fournir un signal de sortie appelé 5T(T1T2T3) et une porte ET 98 combine une impulsion 5T avec une impulsion T2 pour fournir une sortie appelée 5T2. Toujours sur la figure 11, une porte ET 100 reçoit une impulsion T3 et une impulsion 3T et sa sortie est appliquée à une porte NI 102; une 20 seconde porte ET 104 reçoit une impulsion 4T et une impulsion T3 et sa sortie est également appliquée à la porte NI 102;- une troisième porte ET 106 reçoit une impulsion 5T et une impulsion T3 et sa sortie est appliquée à la porte NI 102; une quatrième porte. ET 108 reçoit une impulsion 6T et une impulsion T2 et sa sortie est également appliquée à la porte NI 102. La sortie résultante 25 de la porte NI 102 peut donc s'écrire 3T3 + ^T3 + 5T3 + 6T2. La dernière porte ET 110 du circuit de la figure 11 combine une impulsion 6T avec une impulsion T3 pour fournir un signal de sortie appelé 6T3. On va maintenant voir le calcul de D en regard des figures 13 et 14. 30 La distance vectorielle D que la machine à commande numérique parcourt en réponse ai&traingd'impulsions d'ordre X, X et Z peut être déterminé déterminée par l'expression \/ X2 tl2 + Z2 On peut obtenir une bonne approximation de V X2 + I2 + Z2 en prenant l'expression X+(l/2)Y-(l/8)X+(l/4)z (la valeur de X étant supérieure ou égale à celle de Y qui est elle-même supé-35 rieure ou égale à celle de z). La condition X supérieure ou égale à Y, supé rieur ou égal à Z est nécessaire et suffisante pour que 1* approximation 70 26070 - 14 - 2051765 soit valable. Il va de soi que si l'ordr^fcles valeurs de déplacement est tel que Y est supérieur ou égal à Z qui est lui-même supérieur ou égal à Z, il faut effectuer une permutation des variables pour" conserver la validité de 1'approximation de la formule indiquée. OSn conséquence, il 5 faut que les trois valeurs d'entrée soient rangées dans l'ordre voulue, la plus grande étant appelée X, la suivante Y et la plus petite Z. Si l'expression (l/2)v - (1/8)X devient négative, la valeur D peut être considérée comme étant égale à X + (1/4)Z« Les figures T) et 14 sont de? schémas synoptiques des circuits 10 permettant d'ordonner les valeurs Y et Z en vue de calculer la valeur de D. Sur la figure 13» on suppose que les ordres X, Y et Z sont respectivement Contenus dans des registres ou sources de données 132, 114 et lié. Ces registres peuvent être des registres à circulation du même type que 15 ceux des intégrateurs numériques différentiels. On suppose en outre que les contenus des trois registres 112, 114 et 116 sont décalés cycliquement en réponse à des impulsions de décalage du type de celles de la figure 8. Le contenu de la source de donnée X 112 est appliqué à l'inverseur 118 et à deux portes NI 120 et 122» Le contenu de la source de donnée Y 114 est appliqué à un inverseur 124 et à deux portes NI 126 et 128. Le contenu de la source de donnée Z 116 est appliqué à l'inverseur 130 et à deux portes NI 132 et 134. La sortie de l'inverseur 124 est appliquée aux portes NI 120 et 132, la sortie de l'inverseur 118 est appliquée aux portes NI 126 et 134 et la sortie d^Û.'inverseur 130 est appliquée aux.portes NI 25 128 et 122. Toujours sur la figure 13, les sorties des portes NI 120 et 126 sont respectivement appliquées aux entrées J et K d'une baecule JK I36, les sorties des portes NI 128 et 132 sont respectivement appliquées aux entrées J et K d'une autre bascule JK 138 et les sorties des portes NI 30 122 et 124 sont respectivement appliquées aux entrées J et K d'une troisième bascule JK 140. Les impulsions complémentaires d'horloge H sont appliquées à une porte NI 142 dont la sortie est reliée aux entrées d'horloge C des bascules 136, 138 et 140. La sortie d'une porte ET-NON 140 maintient basse la sortie de la porte NI 142 jusqu'à l'apparition d'une impulsion 35 de décalage PVD (voir figure 8} et d'une impulsion 5T(voir figure 10) appli quées a ses entrees. L-'ispulsion 5? est un signa,1 de validation spécifiant 20 BAD ORIGINAL 70 26070 - 15 - 2051765 l'instant auquel doit s'effectuer le tri des valeurs. Les bascules 136, I38 et 140 sont remises à zéro par l'application d'une impulsion 4T à leurs entrées de remise à zéro P^. Dans le fonctionnement du circuit de la figure 13 s si les entrées 5 de la bascule I36 sont égales (ce qui peut se produire si X et Y présentent simultanément des 1 ou des 0 dans la position binaire particulière qui est examiné ), il n'y a aucune modification de l'état de la bascule. Cependant, si la position binaire du nombre Y contient un 1 alors que la position binaire du nombre-X contient un 0, la sortie de la porte NI 120 devient 10 haute et celle de la porte NI 126 devient basse. Ainsi à l'apparition d'une impulsion d'horloge, la sortie Q de la bascule 136 devient haute, indiquant que X est inférieur à Y. Il va de soi que la bascule I38 compare les mêmes positions binaires de Y et de Z et que la bascule 140 compare les mêmes positions binaires de X et de Z. On notera que la bascule 136 est mise à 15 l'état 0,sa sortie Q étant haute, lorsque X est supérieur à Y. Les contenus des sources X, Y et Z sont décalés cycliquement dans le sens de la signification croissante et, à la fin du cycle de décalage, les bascules I36, 138 et 140 restent dans des états indiquant laquelle des deux entrées est la plus-grande. On va maintenant examiner la logique de la 20 figure 13 qui permet de détecter la séquence du-plus grand au plus petit des trois nombres, puis de les ordonner en vue de la détermination de D. La sortie Q de là bascule 136 est appliquée à des portes ET-NON 146 et 148 et la sortie Q de la bascule 136 est appliquée à des portes ET-NON 150 et I52. La sortie Q de la bascule 138 est appliquée à des portes ET-NON 25 148 et 154 et la sortie Q de la bascule 138 est appliquée à des portes ET-NON 150 et I56. La sortie Q de la bascule 140 est appliquée aux portes ET-NON I56 et I52 et la sortie Q de la bascule140 est appliquée aux portes ET-NON I54 et 146. Là sortie de la porte ET-NON 146 est appliquée à une porte ET-NON 158 ; la sortie de la porte ET-NON i50 est appliquée aux portes ET-NON -160 et 30 162 ; la sortie de la porte ET-NON 148 est appliquée à une porte ET-NON 164 ; la sortie de la porte ET-NON I56 est appliquée aux portes ET-NON I58 et 162 ; la sortie de la porte ET-NON 152 est appliquée aux portes ET-NON 164 et 162 ; la sortie de la porte ET-NON 154 est appliquée à la porte ET-NON 160. On comprendra en examinant la figure 13 1ue la porte ET-NON 146 four-.est/ qui est/ 35 nit une sortie lorsque Z /îTiTerieur à X/inférieur^à^^jyndiquant une séquence de nombres YXZ. De même, une sortie de la porte/I5Ô indique une séquence XYZ BAD ORIGINAL 70 26070 - 16 - 2051765 une sortie de la por te ET-NON 148 indique une séquence ZYX, une sortie de la porte ET-NON 156 indique une séquence YZX, une sortie de la porte ET-NON 152 indique une séquence ZXY et une sortie de la porte ET-NON 154 indique une séquence XZY. 5 Les sorties des portes 146, 148, 150, 152, 15^ et 156 sont appli quées par paires correspondantes aux portes ET-NON 158, 160 et 164. La sortie de la porte ET-NON 164 constitue l'une des Entrées de la •porte ET-NON 166, la sortie de la porte ET-NON 158 constitue l'une des entrées d'une porte ET-NON 168 et la sortie de la porte ET-NON 160 constitue 10 l'une des entrées d'une porte ET-NON 170. L'impulsion 6T3 (FIG. 12) sert de signal de conditionnement appliqué aux autres entrées de chacune des portes ET-NON 166, 168, 170. Trois bascules 172# 17^ et 176 de la figure 13 sont interconnectées en un registre à décalage à trois bits . Les sorties des portes ET-NON 166, 15 168 et 170 sont respectivement utilisées pour positionner les bascules res pectives 176, 174 et 172 à un état représentant le nombre le plus élevé. Les impulsions TO et T2 (FIG. 8) sont appliquées à une porte OU I85 (FIG. 13) dont la sortie constitue un signal formé de deux impulsions. Les bascules 182 et 184 de la figure 13, la porte OU I85 et une porte NI 250 20 sont interconnectées de manière que lorsque la bascule 184 est à l'état 0, les deux impulsions du signal de la porte OU 185 soient appliquées à l'entrée d'horloge C des bascules 172, 174, 176 constituant le registre à décalage; par contre, lorsque la bascule 184 est à l'état 1, une seule impulsion est appliquée au registre à décalage. Les sorties Q des bascules 172, 174 et 25 176 sont respectivement appliquées aux portes ET 188, 190 et 192 en même temps que les signaux respectifs X(i), Y(j) et Z(k) provenant des sources 112, 114 et 116. Les sorties des portes ET 188, 190 et 192 sont à leur tour appliquées à une porte OU 194 par laquelle chacun des trains d'impulsion X(i), Y(j) et Z(k) est appliqué au diviseur fractionnaire (DF) de la figure 14. 30 Pour mieux expliquer le fonctionnement du circuit de la figure 13, on suppose maintenant que X est supérieur à Y qui est supérieur à Z. La sortie Q de la bascule 136 est haute, la sortie Q de la bascule 138 est haute et la sortie Q de la bascule 140 est haute. En conséquence, les sorties des portes ET-NON 146, 148, 156, 152, 154 sont hautes, alors que la sortie de la 35 porte ET-NON 150 est basse. De ce fait, les sorties des portes ET-NON 164 et 158 sont basses et la sortie de la porte ET-NON 160 est haute. La sortie de la porte ET-NON 162 est également haute. 70 26070 - 17 - 2051765 On a vu précédemment que les portes ET-NON 146 à 156 indiquent l'ordre des valeurs des nombres X» Y et Z. On se rappelle que la sortie de la séquence/ la porte ET-NON 150 représente/de noœDresAs Y, Z„ Dès que les nombres ont été ordonnésj l'impulsion 6T3 déclenche la bascule 182 et remet à O l'une 5 des trois bascules 172, 174 et 176 (représentative du nombre le plus élevé) laissant un "1" dans les deux autres bascules du registre à décalage. Dans le circuit représenté, la bascule 172 est remise à zéro de sorte que sa sortie Q est haute, les deux autres bascules étant laissées à l'état un résultant d'une opération d'initialisation précédente. 10 L'impulsion d'initialisation 6T3 est appliquée à travers un inver seur 187 pour mettre la bascule 184 à l'état "un". Au début de l'impulsion, si la sortie de la porte ET-NON 162 est haute, la bascule 182 est remise à l'état "un" et sa sortie Q est haute. Si la sortie de la porte ET-NON 162 est basse, la bascule 182 est remise à l'état "zéro6' pour lequel sa sortie 15 Q est basse. Les deux impulsions sortant de la porte OU I85 sont appliquées à une porte ET-NON 200 et à "l'entrée d'horloge de la bascule 184. Les- deux impulsions de la porte 185 provoquent soit un double basculement de la bascule 184 (entrées J, K et hautes) soit une conservation de son état zéro (P^ basse). La sortie Q de la bascule 182 permet de choisir l'un de ces 20 deux modes. En conséquence, la bascule 184 fonctionne soit comme un diviseur par 1, soit comme un diviseur par 2 et valide l'autre entrée de la porte ET-NON 200 de façon qu'une ou deux inçiulsion du signal de sortie de la porte I85 puisse passer. La sortie de la porte 200 constitue l'horloge de décalage du registre formé par les bascules 172, 174 et 176. La bascule. 172 étant initia-25 lement laissée dans l'état "zéro" peut valider une porte ET 188 pour laisser passer le traind'impulsions binaires X(i) de la source de donnée X 112, à travers la porte OU 194, vers le registre 204 (FIG. 14) du diviseur fraction- , naire (DF). Comme on le verra plus loin dans la description du circuit de la figure 14, le nombre introduit dans la registre 204 du diviseur fraction-30 naire est modifié puis le signal issu de la porte 185 fournit une impulsion permettant de déplacer le contenu du registre à décalage de la bascule I72 à la bascule 1?4. De ce fait, la porte ET 190 est validée pour laisser passer le train d'impulsions binaires Y(j), par l'intermédiaire de la porte OU 194, dans le registre à décalage204 du diviseur fractionnaire de la 35 figure 14, où il est traité;. Ensuite s le signal de la porte OU I85 fournit une nouvelle impulsion provoquant le transfert du^^^M^ÛU^^flS^ë'^a/ 70 26070 18 - 2051765 174 à la bascule I76, validant la porte ET 192 de façon à tranférer le train d'impulsions binaires Z(k)9 à travers la porte OU 194, dans le registre à décalage 204 du diviseur fractionnaire où il est traité. A l'impulsion suivante du signal de la porte 185, le contenu du registre à décalage revient 5 à la bascule 1?Z et l'opération se répète. On voit d'après ce qui précédé que le rôle des. bascules 136, 138 et 140 de la figure 13 et des portes logiques qui les suivent, est de déterminer l'ordre des valeurs de x, X et Z. Le registre à décalage à trois bits constitué par les bascules 172, 174 et 176 range ces nombres dans ^0 l'ordre décroissant et les tranmet au circuit suivant. La description du fonctionnement du système sera faite peur la séquence d'ordre ZÏZ. Comme on peut le voir sur les sorties des portes ET -NON 146, 148, 150, 152» 154 et 156, les séquences d'ordre des valeurs des nombres peuvent être divisées en fonctions cycliques et anti-cycliques. XÏZ, YZX, et ZXÏ peuvent être con-15 sidérées comme des fonctions cycliques et ZÏX, XZX et ÏXZ peuvent être con sidérées comme des fonctions anti-cycliques. On suppose maintenant que la détermination de la séquence des nombres a aboutit à une fonction anti-cyclique XXZ. Le fonctionnement des circuits décrits fait passer la bascule 1?4 à son état "zéro" au début de l'introdue-20 tion des données dans le diviseur fractionnaire, les deux autres bascules étant à l'état "un"„ Après l'introduction du nombre X, le registre à décalages reçoit l'instruction d'introduire la donnée X. En supposant que cela, à été fait9 la sortie de la porte ET-NON 162 est basse et l'impulsion d'x-nitiaiî sation 6T3 fait passer la bascule 182 à son état "zéro". En conséi. 25 quence, la sortie' Q de la bascule 184 est maintenue haute et valide la porte ET-NON 200 pour laisser passer les deux impulsions du signal de la porte OU I85. La sortie Q de l'étage 174 du registre à trois bits avance donc de deux pas et c'est l'étage 172 qui passe à l'état "zéro", validant la porte ET 188 d'introduction du nombre X. A la modification suivante du registre 30 à trois bits , la bascule 176 est mise à l'état "zéro", validant la porte ET 192 pour transmettre le nombre Z. A l5 actionnement suivant du registre à trois brts , la bascule 172 est laissée à l'état "zéro™ validant la porte ET 188, et ainsi de suite. On voit donc 'clairement que le système compre ant la porte ET-NON 35 162, les bascules 182 et 184 et la porte ET'-NON 200 permet de valider de ma nière cyclique ou anti-cyclique les portes ET 188, 190 et 192 en fonction des valeurs X' X et j établies par la logique précédente. 70 26070 - 19 - 2051765 La figure 14 est un schéma synoptique d'un circuit permettant d'exécuter les opérations fractionnaires -(l/8)X, + (l/2)Y, + (l/4)Z, +X. Le nombre le plus grand est introduit le premier dans le registre à décalage 204 du diviseur fractionnaire. Les quatre étages de l'extrémité du registre 5 204 qui contiennent les quatre chiffres de plus bas rang du nombre comportent des lignes de sortie appelées respectivement l/l pour la moins significative, 1/2 pour la suivante, 1/4 pour la troisième et 1/ pour la quatrième position dans l'ordre des significations croissantes. Ces quatres lignes sont respectivement reliées à quatre portes ET 206, 208, 10 210 et 212. Les sorties de toutes ces portes ET sont appliquées à une porte 0D 214 dont la sortie est à son tour appliquée au registre D ou au registre de fonction à .intégrer de l'intégrateur différentiel numérique portant la référence 32 sur la figure 5- Le principe du système de division représenté repose simplement 15 sur le fait que le nombre contenu dans le registre est divisé par deux lorsqu'on le lit en prenant le deuxième bit à partir de la droite comme chiffre de plus bas rang. De même, en commençant la lecture du même nombre trois bits à partir de la droite du registre à décalage, on le divise . par quatre. Il va de soi qu'en lisant le nombre contenu dans le registre, 20 en commençant par son chiffre de plus bas rang et en conservant tous les autres chiffres, le contenu du registre de division est transféré sans modification dans le registre 32 (figure 5). La validation des portes ET 206, 208, 210 et 212 pour effectuer les divisions indiquées est commandée par deux registres à décalage 218 25 et 220. Le contenu du registre 204 est décalé en réponse aux impulsions d'horloge de décalage (H 5 MHz sur la figure 8). Ces impulsions sont appliquées à une porte ET 205 qui est ouverte par une impulsion de validation de décalage . La sortie de la porta ET 205 est appliquée aux entrées C des étages des deux registres 204 et 218. 30 Le registre à décalage 218 comprend quatre étages à bascule 218A, 218B, 218C et 218D. Ces étages sont remis à zéro à l'apparition d'une impulsion d'horloge Tl transmise à travers un inverserur 219» et le décalage est commandé par les impulsions Cependant, le fonctionnement ne débute qu'à l'apparition de l'impulsion d'horloge T25 à l'entrée J de la 35 bascule 218A qui passe à l'état 1 et y reste pendant toute la durée des impulsions g- . 70 26070 - 20 - 2051765 Des "1" logique sont donc introduits dans le registre à décalage 218 à partir de l'impulsion T25. Les sorties Q des bascules 218B, 218C, et 218D sont reliées respectivement aux portes ET 212, 210 et 208 du diviseur fractionnaire. Les portes ET sont ainsi séquentiellement inhibées 5 après que le chiffre de plus haut rang du nombre contenu dans le registre 204 ait été transmis. Un registre à décalage est constitué par cinq étages à bascule 220A à 220E. A l'instant T29, le contenu est décalé d'une position. Pendant la période 6T (figure 10), l'entrée de données de la bascule 220A est validée. 10 Ainsi, un 1 est introduit dans la bascule 220A à l'impulsion T29 suivante. A l'impulsion T29 d'après, l'entrée de donnéet de la bascule 220A devient basse et la bascule 220B enregistre un 1. De cette manière un seul 1 est décalé dans tout le registre 220-. Dans le fonctionnement du circuit de la figure 14, le nombre le plus 15 grand est initialement introduit dans le registre à décalage 204. A l'ins tant T25, la bascule 218A passe à l'état 1. Les bascules suivantes sont mises à l'état 1 par les impulsions d'horloge successives. A l'instant Tl suivant, toutes les bascules sont remises à zéro. Ainsi, les portes ET 212, 210 et 208 sont successivement inhibées. Après l'instant 6T (c'est- à-dire à l'instant 20 7T), la bascule 220A passe à l'état 1 fournissant une entrée de validation à la porte ET 212, à la suite de quoi, en faisant sortir pas-à-pas le contenu du registre 204 Par la porte ET 212, on obtient la valeur (l/8)X. Cette valeur est introduite dans l'intégrateur D sous la forme d'un complément à deux. Ensuite, l'ordre Y est introduit dans le registre 204 et cette fois 25 c'est la porte ET 208 qui est validée à l'instant 8T. Le nombre sortant du registre est donc égal à (1/2)Y et il est directement introduit dans le registre de l'intégrateur D pour être additionne à -(1/8)X. On examine ensuite le contenu du registre D. Si la somme est négative (ce qui est indiqué par le bit de plus haut rang qui est un l), le registre 204 est 30 remis à zéro, dans le cas contraire son contenu est conservé. Ensuite, la porte ET 210 est validée à l'instant 9T pour introduire (1/4)Z dans le registre de l'intégrateur D. Enfin, l'ordre dont le nombre est le plus grand est à nouveau introduit dans le registre 204 et la porte ET 216 est validée. Le re'gistre ^ est remis à zéro par la sortie de la bascule 35 220D qui apparaît à l'instant 10T. La porte ET 216 est validée à l'instant 10T 70 26070 - 21 - 2051765 pour introduire le contenu du registre 204 dans le registre D où il s'ajoute au contenu précédent. Ensuite, à l'instant 11T, le complément à 1 du nombre contenu dans le registre D de l'intégrateur est chargé dans le registre i . (Le complément à 1 de D est l'inverse de D obtenu par passage de 5 cette valeur à travers un inverseuri On voit donc, d'après la description qui précède que la valeur de D a été calculée et que l'on dispose de son complément à 1 qui est approximativement égal à la valeur —. L'emploi du circuit représenté à la figure 5 permet de faire converger l'approximation de la valeur ^rapidement vers la valeur voulue. 10 La figure 15 illustre sous forme synoptique un circuit assurant l'opération de normalisation et de production d'un marqueur pour représenter la position de chiffre de plus bas rang contenu dans un registre après le processus de normalisation. Un compteur 222 compte les impulsions d'horloge lorsqu'il reçoit un signal de validation de comptage de la sortie Q d'une 15 bascule 283 (VC). Le signal VC est .appliqué à une porte ET 226 dont l'autre entrée est constituée par les impulsions H 5 MHz (figure 8). La sortie de la porte ET 226 est appliquée à une porte NI 228. La sortie de la porte NI 228 est appliquée à une autre porte NI 230 dont la sortie alimente le compteur 222. Le principe employé- dans ce circuit est simple : pour compter le nombre 20 de zéros non singificatifs contenus dans le registre, on examine les données au passage devant un point préalablement choisi. Chaque fois qu'un zéro est détecté au point d'examen, le compteur 222 progresse d'une unité. A l'apparition d'un 1, le compteur sst remis à zéro pour recommencer à compter au chiffre suivant. Après un cycle, complet de décalage, le dcompteur 25 222 contient une valeur indiquant le nombre de zéros situés à la gauche du chiffre 1 de plus haut rang du nombre examiné. Dans la présente invention, l'examen des chiffres s'effectue à la position 'de plus haut rang ou entrée du registre 222. On peut ainsi -compter le nombre de zéros non significatifs au moment du chargement du registre 222. 30 L'emploi de l'invention dans un système de commande numérique permet de programmer ou d'identifier l'information de vitesse par un code du système jj»ou de l'identifier sous forme d'un nombre code f placé dans le même registre}pour le mode de calcul. Pour que les données de vitesse soient normalisées comme les données d'axe, il est nécessaire de compter 35 les zéros non significatifs contenus dans ces registres. 70 26070 22 = 2051765 Les points d'examen ( pa sitiorisbinairesde plus haut rang ou bit de signe) de ces registres sont reliés aux bornes respectivements 231» 232, 234 et 236 de la figure 15. Ces bornes sont respectivement reliées à des portes eET-NON 237» 238, 240 et 242. La seconde entrée de la 5 porte 23? est fournie par un signal de synchronisation 3T» alors que les secondes entrées des portes 238, 240 et 242 sont fournies par un signal de synchronisation 4T. les sorties de ces quatres portes ET-NON sont réunies et appliquées comme entrée d'une autre porte ET-NON 246» Cette mime entr.ée de la porte 246 est également reliée à travers une 10 résistance à une source de potentiel positif indiqué,sur la figure comme +5 volts. Pendant l'intervalle 3TS le complément du signal de remise à zéro du compteur 222 présent à la borne 229 les zéros non significatifs du registre f ou e (registre 30 de la figure 16) sont comptés. Tant qu'un ag'f y 15 zéro est appliqué à la borne 229» la porte ET-NON 246/maintenue fermée et le compteur 222 progresse d'une unité à chaque impulsion d'horloge. Un 1 appliqué à la borne 231 valide la porte ET-NON 246. Sa sortie est. inversée par l'inverseur 250 et provoque la remise à zéro du compteur 222. Après 18intervalle 3TS le compteur 222 contient une valeur indiquant le nombre 20 de zéros non significatifs de la donnée f eu e. Or, si le nombre f a été programaé, le contenu da compteur 222 est transféré par l'application d'une iiapulsion de transfert TR à des portes ET-NPN 252A à 252F dans un décompteur 256; si un nombre e a été programmé, aucun signal TR n'est reçu et le décompteur 256 reste à zéro. 25 Pendant l'intervalle 4T, les zéros non significatifs des registres X, T et Z sont simultanément comptés. Si un zéro apparaît simultanément sur les bornes-232» 234 et 236, le compteur 222 progresse d'une unité; dès qu'un 1 apparaît à l'une quelconque des bornes 232, 234» 236, le compteur 222 est remis à zéro. 30 A la fin de l'intervalle 4T, le compteur contient une valeur représentant le nombre de zéros non significatifs communs aux trois ordres X, Y et Z. Le contenu du compteur 222 est ensuite transféré par un signal TR appliqué aux portes ET-NON 259A à 259S» dans le décompteur 258 et après la fin du signal de transfert» ie compteur 222 est remis à zéro par un signal 5T3* BAD ORlG'NM- 70 26070 - 23 - 2051765 En résumé, à la fin de l'examen des nombres constituant les ordres, le compteur 222 est à l'état zéro, le décompteur 256 contient le nombre de zéros non significatifs de l'ordre f (ou contient une valeur nulle s'il y a un ordre e) et le décompteur 258 contient le nombre de zéros 5 non significatifs du plus grand des ordres d'axes. Le compteur 222 et les décompteurs 256 et 258 ont une capacité maximale de 28 bits. De plus, leurs états de comptage sont identiques. Pendant l'intervalle 5T, certains des zéros antérieurement comptés sont éliminés de leurs intégrateurs numériques différentiels correspondants. 10 Les impulsions d'horloge reçues à travers la porte ET 226 et la porte NI 228 sont appliquées à la porte NI 230 pour faire progresser le compteur 222. Ces impulsions d'horloge sont également appliquées à travers deux portes NI 264 et 266 respectivement aux décompteurs 256 et 258. Les zéros du nombre f (s'il y en a) sont tout d'abord éliminés. 15 La technique utilisée consiste à supprimer des impulsions de décalage pendant la circulation du nombre dans le sens de la signification croissante à l'intérieur du registre 204 après que le nouveau bit de plus haut rang a été décalé à l'intérieur du registre 204. Pour Ce faire, à l'instant 5T2, une bascule 283 est remise à zéro et une bascule 268 est mise à 1. La sortie 20 Q de la bascule 268 est maintenant basse inhibant l'application des impul sions de décalage à l'intégrateur numérique différentiel f (30 sur la figure 16) tant qu'elle reste basse . Les impulsions de décalage contiennent d'être appliquées à travers la porte NI 264 au décompteur 256. Pour chaque impulsion de décalage supprimée, le décompteur 256 réduit son contenu d'une unité jusqu'à ce qu'il atteigne zéro. Un détecteur de zéro 274 fournit alors 25 une sortie validant l'entrée K de la bascule 268 qui revient à l'état zéro de façon à laisser passer les impulsions de décalage vers l'intégrateur F (V sur la figure 16). L'entrée J d'une bascule 270 est également rendue haute par le détecteur de zéro 274 de façon que sa sortie Q devienne basse et inhibe 30 l'application d'impulsion ^Ûe décalage aux intégrateurs d'axe (312, 314 et 316 sur la figure 16). Le décompteur 258 est maintenant validé pour fonctionner par la sortie basse Q de la bascule 270 qui valide la porte NI 266. Chaque impulsion de décalage éliminée du train appliqué aux intégrateurs d'axe réduit d'une unité le contenu du décompteur 258. 35 Lorsque le décompteur 258 arrive à 1, un détecteur 272 valide l'entrée K de la bascule 270 pour la ramener à zéro et transmettre à nouveau les impulsions 70 26070 - 24 - 2051765 aux intégrateurs d'axe. Des zéros non significatifs des registres d'axe sont ainsi tous supprimés sauf un. On notera que le décompteur 256 reçoit les impulsions d'horloge en même temps que le décompteur 258. La porte NI 269 assure une fonction 5 de réunion des sorties Q des bascules 268 et 270. Ceci provoque donc un débordement négatif du compteur 256 ou un compte à rebours à partir de zéro du nombre d'impulsions supprimées dans les intégrateurs d'axe. Le compteur 222 est également validé pour compter les impulsions d'horloge pendant l'instant 5T . En conséquence, le nombre atteint par le 10 compteur 222 est la somme des zéros supprimés dans l'intégrateur F et dans les intégrateurs d'axe. Comme on l'a vu précédemment dans la théorie d'une machine utilisant le rapport ^ (programmé avec un code f) au total 24 zéros non significatifs sont supprimés. En conséquence, le compteur 222 comporte une porte ET-NON 15 de décodage 285 reliée aux sorties de ses bascules. Lorsque le compteur atteint 24, la porte 285 applique à travers une autre porte NI 281 une impulsion de mise à 1 de la bascule 283. La sortie Q de la bascule 283 devient basse et provoque la remise a zéro de la bascule 270 arrêtant le fonctionnement en mode décomptage du décompteur 258. L'ensemble des compteurs 20 décrits précédemment assure la normalisation des systèmes ^ adressés avec un code f aussi bien que des systèmes de calcul adressés avec un code e. D'une manière générale, en mode —, le décompteur 258 ne peut atteindre 1 parce que le compteur 222 a déjà atteint 24, alors qu'en mode de calcul, le décompteur 258 atteint 1 avant que le compteur 222 ait atteint 24. 25 A la fin de la normalisation, le décompteur 256 contient un nombre (débordement négatif) représentatif du nombre d'imuplsions de décalage qui ont été retranchées des intégrateurs d'axe. Au début de l'intervalle 6T, ce nombre est transféré par les portes ET-NON 223À à223E dans le compteur 222. En même temps, un signal de validation de marqueur est reçu d'une source 30 de signal de validation de marqueur 260 qui valide une porte ET-NON 262 pour laisser passer 28 impulsions de décalage à chaque itération vers le compteur 222 par l'intermédiaire des portes NI 228 ei/230. Le compteur ayant une capacité maximale.de 28 décrit un cycle à chaque itération. La porte ET-NON 282 sert de détecteur de débordement pour mettre à 1 une bascule 284 35 au moment du débordement du compteur 222. L'instant du débordement a été BAD ORIGINAL 70 26070 - 25 - 2051765 précédemment fixé en présélectionnant le compteur 222 par les sorties de comptage du décompteur 258• L'impulsion apparaissant à la sortie da marqueur MA de la bascule 284 au cours de chaque cycle d'itération désigne l'instant auquel le chiffre de plus bas rang de la donnée normalisée 5 apparaît dans la position de droite du registre à décalage 222. /pour obtenir Dans le train de sortie d'un intégrateur différentiel,/un nombre d'impulsions de débordement égal à la valeur du nombre binaire contenu dans le registre de fonction à intégrerai faut effectuer autant de cyelœ d'ité- 10 ratinn que le registre de fonction à intégrer - comporte de positions binaires. Un compteur d'itérations 336 (figure 16 ) compte les itérations appliquées aux IDN d'axe. Pour un registre à n biti, 2n itérations sont nécessaires. Le processus de normalisation permet de réduire effectivement la longueur zéros/ . , du registre. Si i /non significatifs ont ete supprimes dans les IDN 15 d'axe, le nombre total d'itérations nécessaire est 211"1. Vu d'une autre manière, on peut dire que les registres de fonction à intégrer étant normalisés de i positions ont été multipliées par 2-*- de sorte'que seul 1/2^ du nombre total d'itérations (2n) est nécessaire. 2n/21 revient cependant au même que la formule 2n~1. Pour compter le nombre d®itérations, le 20 compteur 336 (figure 16) progresse d'une unité.chaque fois que les IDN d'axe effectuent une itération. Un incrément est- ajouté à la nième position binaire ou, en considérant l'aspect logique de la chose, à l'instant du marqueur. Lorsque le compteur d'itération déborde, 2n 1 d'incréments ont été traités. 25 Le marqueur a également un autre rôle. La littérature décrit abondamment le fait que le couplage croisé de deux intégrateurs permet d'obtenir un générateur sinus-cosinus ou une interpolation curviligne. Le débordement du premier IDN fait progresser le contenu du second, mais le débordement du second IDN fait diminuer le contenu du premier. Après 30 la norm âLisation, une augmentation/ diminution doit être effectuée f» la nième position binaire. Le marqueur identifie cette position. On comprendra qu'en augmentant le contenu du registre de fonction à intégrer de l'un des IDN d'axe, on peut provoquer un report sur la position binaire de rang immédiatement supérieur. Un bit supplémentaire est 35 réservé pour ce débordement car les IDN d'axe sont normalisés à l'exception 70 26070 fa 26 - 2051765 d'une position du fait du fonctionnement du détecteur de 1 272 associé au décompteur 258. La figure 16 est un schéma synoptique d'un générateur de vitesse d'avance et de contour réalisé selon les principes de l'invention et servant 5 à illustrer l'intégration des circuits précédemment décrits dans un système de commande numérique de machine-outil » Selon la présente invention, la vitesse peut être introduite sous forme d'un nombre de vitesse d'avance par un code f ou sous forme d'une vitesse d'avance (msi/mn).par un code e. 'Dans ce dernier cas, les données X, Y et Z sont utilisées pour calculer les 10 valeurs de fk Dans le premier cas par contre, l'intégrateur de .calcul de X V — est complètement mis hors circuit (ou rempli avec des l)> Les données de conoaande de la œachine-outi? peuvent être enregistrées de manière classique sur une bande et introduites dans le système par un lecteur 292 utilisant une commande classique de distribution 15 de données 294. Si les données sout fournies en forme '^décimal codé binaire", il faut utiliser un convertisseur 296 de décimal codé binaire en binaire pur, car le système fonctionne uniquement dans ce mode. Le convertisseur 296 f ournit à un registre tampon X 298,- un registre tampon Y 300 et un registre tampon Z 302 les ordres respectifs X, Y et Z et à un registre 20 tampon V JOk l'ordre de vitesse. Si la trajectoire à usiner est de forme curvilignes des données supplémentaires i, j et k nécessaires à la génération de la trajectoire sont chargées dans un registre tampon i 306, un registre tampon j 308 et un registre tampon k 310. Si le système fonctionne par incrément^ les nombres transférés 25 dans les registres X, Y et Z 306, 308 et 310 sont ensuite transférés aux 3DN respectifs 312, 314 et 316 associés à ces axes. Les contenus des IDN sont ensuite éliminés et l'on introduit les données i, j et k respectivement dans les IDN 312, 314 et 316. Ensuite, la normalisation est appliquée aux IDN X, Y et Z contenant i, j et k. 30 On comprendra que le nombre de vitesse d'avance d'un mouvement Y curviligne est défini par l'expression ^ . Pour appliquer les concepts de calcul de la vitesse d'avance à l'interpolation curviligne, une valeur doit être obtenue et placée dans l'IDN " 28. i, j et k étant les composantes du rayon R (en supposant que l'interpolation s'effectue dans 2 2 35 le .plan X-Y), R est égal à i + j . En utilisant la technique d'approxima tion de l'invention : 70 26070 - 27 - 2051765 R~ i + (l/2)j - (1/8)i si (l/2)j (l/8)i ^ O (k = 0) R~ i si (1/2)j - (1/8)i Cette formule est la même que celle utilisée pour calculer D ~ X +(l/2)ï - (1/8)X + (1/4)Z si (1/2)1 - (1/8)X^ 0 5 en remplaçant D par R, X par i, Y par j et Z par 0. On notera que le système comporte également un circuit 330 servant à déterminer si la trajectoire est curviligne ou linéaire et, si elle est curviligne, le plan dans lequel s'effectue l'interpolation. Ces circuits sont bien connus et ne seront pas autrement décrits. 10 Si la machine est du type à programmation absolue, les informations qui sont chargées dans les registres tampons des ordres X, Y et Z correspondent aux coordonnées X, Y et Z rapportées à l'origine de la machine. Il est donc nécessaire de charger X, Y et Z dans les IDN avec cette information; Cependant, les données de positions X, Y et Z doivent également être intro-15 duites sous forme de compléments à deux dans les- IDN d'axe. Cette informa tion de position actuelle est conservée dans un compteur de position X 318, un compteur de position Y 320 et un compteur de position Z 322. Les différences entre les ordres X, Y et Z et les contenus des compteurs de position X, Y et Z sont respectivement chargés dans les IDN des axes X, Y et 20 Z. Cette opération est bien connue des techniciens et ne nécessite pas d'autres détails. Dans la forme de réalisation considérée, les nombres des IDN X, Y et Z doivent être donnés sous une forme positive par les itérations et la normalisation ne peut normalement s'effectuer qu'à partir de nombres positifs. Si un ordre négatif est présent dans l'un des IDN d'axe, il 25 faut utiliser une bascule spéciale "de signe de servomécanisme" (non repré sentée) qui est positionnée à l'état "moins" et déclencher un cycle de calcul du complément à 2 de la donnée qui sera recycl4 sous cette forme. Lorsque les IDN des axes X, Y et Z ont été chargés, l'opération suivante à effectuer est la normalisation décrite précédemment. 30 Pour l'exécution d'un ordre curviligne, avant d'effectuer la normalisation, les nombres d'incréments sont introduits dans les intégrateurs 312, 314 et 316 des axes X, Y et Z, sont chargés dans un compteur d'extrémité X 324, un compteur d'extrémité Y 326 et un compteur d'extrémité Z 328. 70 26070 - 28 - 2051765 Les circuits effectuant la normalisation sont schématisés sur la figure 16 par le bloc 332 qui représente les circuits de la figure 15, Le nombre total d'itérations (nécessaires pour les mouvements linéaires)-est suivi dans un compteur d'itérations 336, par exemple 5 un registre à décalage à n bits dont le contenu peut être augmenté ou diminué. L'opération suivante est le calcul de la valeur de D ( ou R). Ce calcul est effectué par le bloc 33^ qui représente les circuits précédemment représentés et décrits. Les registres des intégrateurs 10 D (R) et ^ (^) sont chargés, 77 (^) étant le complément 1 de R(R). D K D K L'oscillateur 8 est ensuite mis en marche et le fonctionnement des blocs 30, 32, 34 et 28 est le même que pdécrit précédemment. La conversion de la valeur de 7? dr) est si rapide qu'après X X N le chargement des registres D (R) et — (—) , le système peut commencer à D K 15 fonctionner sous l'effet des impulsions qui sont transmises par l'inté grateur V aux intégrateurs d'axe X, Y et Z. Les IDN X, Y et Z fournissent les trains d'impulsions classiques IOX, IOY, IOZ et SSX, SSY, SSZ aux servomécanismes X, Y Z (non représentes). Ces servomécanismes sont commandés de manière classique et fournissent des impulsions de retour IRX, IRY , 20 IRZ , SRX, SRY et SRZ qui, dans le cas d'une machine à commande absolue, sont envoyés aux compteurs de position X, Y, Z, 318 , 320 et 322 pour mettre à jour l'information de position. En mode curviligne, les impulsions IRX, IRY et IRZ servent également à décompter les contenus des compteurs d'extrémité X, Y et Z, 324, 326 et 328 jusqu'à zéro. 25 On comprendra que les circuits de synchronisation des figures 9 et 11 sont utilisés pour transférer les informations des registres tampon d'ordre 306, 308 et 310 de la figure 16 aux IDN respectifs 312, 314-et 316 et également pour commander le processus de normâlisation, les circuits de synchronisation de la figure 7 étant utilisés pour la commande 30 de la circulation des registres à décalage (registres tampons d'ordres et IDN). Le fonctionnement de la chaîne de retard- de la figure 9 peut être résumé par la séquence d'opérations suivante correspondant aux impulsions de décalage 1T - llï. - 29 - 2051765 1T - processus précédent terminé, remise à zéro de tous les IDN. 2T - transfert de X, Y, Z et f, éventuellement e. 3T1 - misé à zéro du signe d'asservissement. * 3T (T1T2T3) - introduire le nouveau signe d'asservissement; calculer le complément à 2 si l'ordre d'axe est négatif. 3T-transférer le complément à 2 s'il a été calculé; compter les zéros non significatifs dans l'IDN f (e). 3T3 (signal composite de la porte 390 de la figure 14); remise à zéro du compteur 2222 avant le comptage. 4T1 - remise à zéro du décompteur 256. 4T(T1T2T3) - transférer le contenu du compteur 222 dans le compteur 256. * 4T3 - remise à zéro du compteur 222. 4T - si le mouvement est curviligne, transférer les contenus des IDN d'axe dans les compteurs d'extrémité d'arc 224, 226 et 228; si le mouvement est curviligne, transférer i, j et k dans les IDN d'axe en supprimant les anciens contenus; compter les zéros non significatifs des IDN d'axe; remise à zéro de la logique de tri (figure 13). 5T1 - remise à zéro du décompteur 258. 5T (T1T2T3)-transférer le contenu du compteur 222 dans le décompteur 258. 5T2 - mettre la bascule 2?0 à 1 ; remettre ma bascule 241 à zéro pour déclencher la normalisation. * 5T3 - remise à zéro du compteur 222 (figure 15). 5T - suppression des zéros non significatifs; tri par ordre de valeur. * 6T2 - remise à zéro du compteur 222 (figure 15). 6T3 - transfert du contenu du décompteur 256 (figure 15 dans ' le compteur 222; initialisation de la logique de tri (figure 13); validation de la source de marqueur 2?0. 6T - appliquer un signal au diviseur fractionnaire de la figure 14 pour étendre la chaîne de retard de l'impulsion de report final. 7T - - (1/8)X dans l'IDN D. 8T - Ajouter +(l/2)Y au contenu de l'IDN D. 70 26070 - 30 - 2051765 9T2 - vérifier si la somme est négative. 9T - si la somme est négative, supprimer le contenu et charger +(l4)z dans l'IDN Dj si la somme est positive, ajouter +(l/4)Z au contenu de l'IDN D. 5 10? - ajouter +X au contenu de l'IDN; remise à zéro de l'IDN —. HT - introduire le complément à 1 (inverse du contenu de' l'IDN D) dans l'IDN commencer le processus de génération de contour. On notera que dans le cas où la vitesse d'avance est donnée sous 10 la forme les opérations 7T à 11T ne sont pas nécessaires et sont , 1 simplement ignorées. Toutes les positions des registres des IDN ^ sont mises à 1 pour le mettre hors circuit. Le temps utilisé entre les blocs de la chaîne de retard de l'impulsiorjûe report final est de 36/Us pour V > la machine g- et de 66jus pour la machine nécessitant un calcul. . 15 Bien que la normalisation et le calcul de — ait été décrit en détail cans le cas d'une sachire à mémoire intermédiaire, il va de soi que le même concept s'applique aux prix de quelques modifications à des machines sans mémoire intermédiaire. Dars ce cas, les données X, Y et Z doivent apparaître les premières sur la bande. L'ordre est ensuite 20 calculé et envoyé aux décoapteurs d'axe. Si le mouvement programmé est circulaire, si,, j et k sent lus sur la bande dans les IDN d'axe. A partir de ce moment, la normalisation et le calcul de i- (^) sont identiques. D K Il a donc été décrit et représenté un générateur de vitesse d'avance et un générateur de contour utilisant des intégrateurs diffé-25 rentiels numériques comme multiplicateurs de fréquences, autorisant la normalisation pour accroître la vitesse de fonctionnement de la machine et dans lesquels la vitesse désirée peut être introduite soit sous la forme d'un nombre de vitesse d'avance (code f) soit en unités linéaires par minute (code e). 30 II va de soi que l'invention n'a été décrite qu'à titre illustratif mais nullement limitatif et qu'on pourra y apporter diverses modifications sans sortir de son cadre. 70 26070 -31 - 2051765 RKVKMDICATI QHS. 1. Système de commande numérique pour machine-outil, caractérisé en ce qu'il comprend un premier multiplicateur de fréquence et un moyen d'y introduire un nombre binaire, un multiplicateur différent pour chaque 5 axe et un moyen d'introduire un nombre binaire d'ordre de mouvement d'axe dans le multiplicateur de fréquence de l'axe correspondant, le premier multiplicateur et les multiplicateurs d'axe comportant chacun plusieurs étages pour enregistrer des nombres en parallèle, une source d'impulsions dont les impulsions sont appliquées au premier multiplicateur de 10 de fréquence pour être multipliées par le facteur qu'il contient, la sortie du premier multiplicateur de fréquence étant appliquée à tous les multiplicateurs de fréquence d'axe pour être multipliée par les nombres de qu'ils contiennent, les sorties/ bous les multiplicateurs de fréquence d'axe servant à commander le mouvement de la machine-outil,à un dispositif 15 pour réduire le temps de fonctionnement de la machine-outil comprenant un moyen de décaler tous les nombres binaires d'ordres de mouvement contenus dans les multiplicateurs d'axe d'un même nombre d'étage dans le sens de la signification croissante des dits multiplicateurs* jusqu'à ce que le bit de plus haut rang du plus grand des nombres binaires d'ordre de 20 mouvement soit dans la position la plus significative du multiplicateur . de fréquence qui le contient. 2. Système de commande numérique selon la revendication l), caractérisé en ce que la source d'impulsions comprend un dispositif utilisant les nombres binaires d'ordre de mouvement qui ont été décalés pour 25 calculer une valeur D représentant la distance vectorielle dont les dits nombres binaires sont les composantes, un dispositif calculant à partir de la- valeur D une valeur ^ au moeyn d'un multiplicateur de 1 v fréquence — , d'une source d'oscillation attaquant le dit multiplicateur 1 de fréquence r1 et d'un circuit destiné à appliquer la sortie du multi- 1 30 plicateur de fréquence g- au premier multiplicateur de fréquence. 3. Système de commande numérique d'une machine-outil du type dans lequel un nombre binaire est introduit dans un multiplicateur de fréquence dont l'entrée reçoit un train d'impulsions et dont la sortie produit un autre train d'impulsions utilisé pour la commande /fsf machine- 35 outil, le dit système de commande numérique étant caractérisé en ce qu'il 70 26070 - 32 - 2051765 comprend un appareil pour réduire le temps de fonctionnement de la machine- outil, le dit appareil étant constitué par un système de normalisation comprenant un compteur pour compter le nombre de zéros compris entre le chiffre binaire de plus haut rang du nombre binaire contenu dans le 5 multiplicateur et la position binaire la plus significative du dit multiplicateur, un circuit de recyclage du nombre binaire de la position la moins significative du multiplicateur à sa position la plus significative, et un moyen d-'inhiber le fonctionnement du circuit de recyclage pendant une partie de son cycle de circulation d'api es le contenu du compteur de haut/ 10 façon à amener le chiffre de plus/rang du nombre binaire dans la position la plus significative du multiplicateur de fréquence. 4. Système de commande numérique selon la revendication 3} caractérisée en ce que le moyen d'inhiber le fonctionnement du circuit de recyclage pendant une partie de son cycle de circulation comprend un 15 premier décompteur, un circuit de transfert du contenu du compteur dans le premier décompteur, un circuit appliquant des impulsions de décalage au premier décompteur pour faire diminuer son contenu et un moyen d'empêcher l'application des dites impulsions de décalage au multiplicateur de fréquence de façon que le contenu de"ce dernier soit recyclé jusqu'au moment 20 où le décompteur atteint une valeur prédéterminée. 5. Système de conmande numérique selon la revendication 4), caractérisé en ce qu'il comprend un multiplicateur de fréquence pour chaque a-ra de la machine-outil, le nombre binaire introduit dans chaque multiplicateur dè fréquence représentant l'ordre de mouvement programmé pour cet axe, le 25 compteur comptant le nombre de zéros compris entre la position de plus haut rang du plus grand des nombres binaires d'ordre de mouvement et la position binaire la plus significative du multiplicateur de fréquence d'axe dans lequel il est contenu. 6. Système de commande numérique d'une machine-outil ayant une 30 source de données de commande de machine-otitil comprenant des ordres de mouvements d'axe et une valeur V de la vitesse vectorielle désirée, le dit système de commande numérique étant caractérisé en ce qu'il comprend un moyen de calculer l'inverse de la distance vectorielle D correspondant aux ordres de mouvements d'axe, une source-d'oscillation "à une fréquence f , 70 26070 - 33 - 2051765 un premier dispositif de multiplication des oscillations de la source par la valeur calculée == pour produire un premier train d'impulsions , 1 ayant une fréquence résultante f . — , un second dispositif de multiplication de la fréquence fQ ^ du train d'impulsions par la valeur 5 de la dite vitesse vectorielle désirée pour produire un second train d'impulsions dont la fréquence résultante est f . ^ , un troisième dispositif de multiplication du second train d'impulsions à la fréquence y f^ . g- par la valeur de chaque ordre de mouvement d'axe pour produire un train d'impulsions commandant le mouvement de chaque axe de la machine-10 outil à une vitesse vectorielle proportionnelle à f . V. 7. Système de commande numérique selon la revendication 6), caractérisé en ce que le moyen de calculer la valeur — comprend un dispositif pour ordonner les valeurs des ordres de mouvements d'axe en une séquence décroissante, un dispositif pour calculer la valeur 1/2 15 de la seconde valeur de la dite séquence, un dispositif pour calculer la valeur 1/8 de la première valeur de la dite séqueneç, un dispositif pour soustraire cette dernière valeur de la valeur 1/2 de la seconde valeur de la séquence pour en calculer la différence, un dispositif déterminant si la différence est ou n'est pas positive, un dispositif 20 calculant la valeur 1/4 de la troisième valeur de la séquence, un dis positif ajoutant la différence, si elle est positive, à la valeur 1/4 de la troisième valeur de la séquence pour obtenir une somme et un dispositif additionnant la dite somme à la valeur la plus élevée de la séquence pour obtenir la valeur de la dimension D. 25 8. Système de commande numérique selon la revendication 7), carac térisé en ce que le moyen de calculer comprend en outre un dispositif pour multiplier la fréquence des oscillations de la source par une constante C pour obtenir une fréquence f . C, un dispositif pour 0 1 multipliser le premierytrain d'impulsions à la fréquence résultante f . — 30 par la valeur D pour obtenir une. oscillation dont la fréquence est proportionnelle à . D , un dispositif pour comparer la fréquence f , | . D à la fréquence fQ . C et pour produire une sortie représentative de la dite différence, un dispositif corrigeant la valeur de jj d'après la sortie du comparateur pour rendre la différence nulle. 70 26070 „ » 2051765 9. Système de commande numérique selon la revendication 6), caractérisé en ce que le troisième dispositif de multiplication comprend un système de normalisation.pour multiplier ia valeur numérique de tous les ordres de mouvements d'axe par d2n, n étant égal au nombre de O 5 compris entre la plus grande valeur possible des ordres d'axe exprimée sous la forme d'un nombre binaire, et la valeur réelle du plus grand des ordres d'axe exprimée sous la forme d'un nombre binaire. 10. Système de commadde numérique pour machine-outil comprenant une source de données fournissant des ordres de mouvement d'axe et de 10 vitesse vectorielle pour commander le fonctionnement de la machine-outil, le dit système de commande numérique étant caractérisé en ce qu'il comprend un multiplicateur de fréquence pour chaque axe, chaque multiplicateur de fréquence ayant un registre à plusieurs étages, l'étage le moins significatif étant à l'une des extrémités du registre, et 15 l'étage le plus significatif à l'autre extrémité du dit registre; un moyen pour introduire chaque ordre numérique de mouvement d'axe dans un registre différent de manière que son bit de plus bas rang soit dans l'étage le moins significatif du registre, un système de normalisation comprenant un moyen pour déplacer le nombre de l'ordre d'axe le 20 plus grand à l'intérieur de son registre, d,Unnombre d'étages suffisant pour amener son bit de plus haut rang dans l'étage le plus significatif, les autres ordres d'axe étant déplacés du même nombre d'étages dans le même sens dans leurs registres respectifs,' un dispositif utilisant les valeurs des ordres d'axe contenus dans les dits registres pour déterminer 25 une valeur , D étant la vitesse vectorielle correspondant aux ordres d'axe, tin dispositif utilisant le nombre de vitesse ectorielle, la valeur calculée g- et chaque ordre d'axe pour fournir pour chaque axe un train d'impulsions dont la fréquence est proportionnelle au produit 1 de la vitesse vectorielle par la valeur j et pari'ordre d'axe correspondant» 30 11. Système de commande numérique selon la revendication 10), caractérisé en ce que le dispositif de décalage du plus grand des ordres d'axe dans son registre pour amener son bit de plus haut rang dans l'étage le plus significatif et le dispositif de décalage des autres ordres d'axe du même nombre d'étage dans le même sens dans leursregistresrespectifs 35 comprend un compteur comptant le nombre d'étages compris entre l'étage le plus significatif et l'étage dans lequel est enregistré le bit de plus haut 70 26070 -35 - 2051765 rang du plus grand des ordres d'axe, une source d'impulsions de décalage faisant simultanément circuler les contenus de chacun des registres de leur étage le moins significatif à leur étage le plus significatif, les impulsions de décalage de la dite source étant appliquées à chacun 5 des registres pour faire circuler leur contenu, et un dispositif commandé par le compteur empêchant l'application à tous les registres d'un nombre d'impulsions de décalage égal au contenu du compteur. 12. Générateur de vitesse d'avance pour système de commande numérique produisant un train d'impulsions en réponse à des données 10 représentatives d'une vitesse désirée et d'une trajectoire vectorielle —2 "T5 2 désirée D = y I + Y + Z exprimée sous forme d'ordre de distance le long des axes de coordonnées X, Y et Z, le dit générateur étant caractérisé en ce qu'il comprend^ registre pour chaque axe dans lequel est enregistré l'ordre de distance relatif à cet axe, un registre 15 D utilisant les ordres de distance des registres d'axe pour calculer la valeur D, une source d'oscillation à la fréquence fo, un registre ^ , un dispositif pour calculer le complément à 1 de la valeur D, un dispositif pour introduire le complément à 1 de la valeur contenue dans le registre D, dans le registre ^ , un dispositif dont fait partie le registre — multipliant 20 la fréquence f Q par la valeur ducontenu du registre — pour produire un train d'impulsions à une fréquence fQ . — , un dispositif dont fait partie le registre D multipliant le train d'impulsions à la fréquence f Q ^ par la valeur du contenu du registre D pour produire un train d'impulsions à la fréquence f * ~ ^0» un comparateur comparant la fréquence f à la 25 fréquence f * et produisant un signal d'erreur représentatif de la dite différence, un dispositif pour corriger la valeur contenue dans le registre — d'après le signal d'erreur, un registre de vitesse vectorielle V dans lequel est introduite la valeur V de la vitesse vectorielle désirée, et un dispositif dont fait partie le registre V multipliant le train ■ 30 d'impulsions à la fréquence fQ . g- par la valeur contenue dans le registre V pour produire un train d'impulsions de vitesse d'avance ayant une fréquence f . ^ . V. 70 26070 - 36 - 2051765 13. Système de commande numérique selon la revendication 12), caractérisé en ce que le dispositif utilisant les données de distance contenues dans tous ies registres d'axe pour calculer la valeur de D dans le registre correspondant comprend un dispositif permettant d'ordonner 5 les ordres des distances dans le sens des. valeurs décroissantes, un registre de calcul, un dispositif pour introduire la valeur du second plus grand ordre de distance dans le registre de calcul, un dispositif pour calculer 1/2 de la valeur du second plus grand ordre de distance contenu dans le registre de calcul, un dispositif pour introduire la 10 valeur calculée dans le registre D, un dispositif pour introduire la valeur du plus grand ordre de distance dans le registre de calcul, un dispositif pour calculer 1/8 de la valeur du plus grand ordre de distance contenu dans le registre de calcul, un dispositif pour trandformer la valeur ainsi calculée en un nombre négatif de même valeur absoulue, 15 un dispositif pour introduire le dit nombre négatif dans le registre D et l'ajouter au nombre qu' il contenait précédemment, un dispositif pour déterminer si la différence résultante à une valeur négative, un dispositif pour remettre à zéro le registre D dans le cas où la différence résultante est négative, un dispositif pour introduire la 20 valeur du plus petit ordre des distances dans le registre de calcul, un dispositif pour calculer 1 fis, de la valeur du plus petit ordre • de distance contenu dans le registre de calcul, un dispositif pour introduire la valeur à calculer dans le registre D et n'ajouter à la valeur qu'il contient, un dispositif pour introduire la valeur du plus grand ordre de 25 distance dans le registre de calcul et un dispositif pour transférer la dite valeur du registre de calcul au registre D où elle s'ajoute au contenu antérieur de eelui-ci de façon que la valeur D apparaisse dans le registre D. 14. Appareil pour produire un train d'impulsions de vitesse d'avance 30 à partir d'une donnée numérique s'exprimant sous la forme d'un nombre V, représentant la vitesse d'avance désirée d'une machine-outil et une distance vectorielle représentant le mouvement à effectuer sous la forme . d'un ordre numérique de mouvement sur l'axe X, d'un ordre numérique de mouvement sur l'axe T et d'un ordre numérique de mouvement sur l'axe Z, 35 le dit appareil étant caractérisé en ce qu'il comprend pour chaque axe 70 26070 - 37 - 2051765 un registre d'axe pour enregistrer chaque ordre numérique de mouvement, une source d'oscillation à une fréquence fo> un registre jj, un dispositif comprenant le registre ™ et utilisant les ordres numériques de mouvement contenus dans les registres d'axe et les oscillations de la source 5 pour produire dans le registre ^ une valeur égale à l'inverse du nombre B, un registre V et un dispositif destiné à y introduire la valeur du nombre p, un circuit d'application des oscillations de la source au registre ^ pour 1 produire un train d5impulsions de sortie dont la fréquence est fQ . jj, un circuit appliquant le train d'impulsions à la fréquence fQ.au registre 10 V pour produire un train d'impulsions de vitesse d'avance dont la fréquence est fQ . ^ . 15. Procédé de production de trainsd'impulsions de vitesse d'avance pour faire exécuter à une machine-outil à commande numérique un déplacement vectorielD programmé sous la forme d'un ordre numérique de mouvement 15 pour chaque axe de la machine, à une vitesse d'avance donnée programmée . sous la forme d'un nombre V, le dit procédé étant caractérisé en ce qu'il consiste à calculer la valeur V à partir des ordres numériques de mouvement d'axe, à déterminer la valeur g- à partir de la valeur calculée de D, à produire un train d'impulsions à une fréquence fQ, à multiplier la 20 fréquence de ce train d'impulsions par la valeur ^ pour obtenir un second train d'impulsions dans la fréquence et f . —, puis à multiplier - OU la fréquence du second train d'impulsions par la valeur numérique V de la vitesse d'avance pour obtenir un train d'impulsions de vitesse d'avance dont la fréquence est proportionnelle à f q . i . V . 25 16. Procédé selon la revendication 15), caractérisé en ce que le calcul de la valeur de D à partir des ordres numériques de mouvement d'axe comprend lropération de-multiplication de chacun des ordres numériques de mouvement par un nombre 2n, n étant une valeur égale grand/ au nombre de zéros compris entre le chiffre de plus haut rang du plus/des ordres numériques de mouvement d'axe réellement programmés, exprimés sous la forme d'un nombre binaire, et le chiffre le plus significatif du plus grand ordre. numérique possible de mouvement d'axe exprimé sous la forme d'un nombre binaire..