FR 2037264 A1 19701231 FR 7010838 A 19700325 70 10838 1 2037264 L'invention concerne une commande vectorielle de la vitesse d'un outil de machine, ou d'un dispositif semblable, à commande numérique, en réponse à des instructions préalablement mémorisées. Dans une machine-outil à commande numérique, l'outil de coupe 5 est déplacé sur la pièce 5 usiner avec spécification des mouvements désirés de l'outil à partir de sa position momentanée en se référant à trois axes perpendiculaires entre eux, X, Y et Z. Pour une utilisation optimale de la machine, le mouvement D doit être une vitesse maximale, D étant la racine carrée de la 10 somme des carrés des distances X, Y et 2 programmées. Cette vitesse maximale dépend principalement de la nature de l'outil de coupe et de la composition de la matière à usiner et par conséquent reste constante pour une série de pièces donnée. Les distances programmées X, Y et Z sont mémorisées sur une 15 bande perforée ou analogue et sont lues sous forme de blocs en même temps que des mots associés, chaque mot représentant une fonction de commande. Un interpolateur linéaire compte vin nombre déterminé d'impulsions d'horloge transmises à un servo-systême qui les transforme en un signal proportionnel (analogique) pour com-20 mander les éléments moteurs de la machine-outil. Un générateur de vitesse d'avance commande la fréquence des impulsions d'horloge appliquées à 1'interpolateur linéaire et cet interpolateur définit la durée du cycle pour chaque instruction, commandant ainsi la vitesse de la machine-outil. 25 II est de pratique courante de commander le générateur de vi tesse d'avance par un ordre de vitesse mémorisé (indice de vitesse d'avance) donné par line formule-type adaptée à la relation entre l'indice de vitesse d'avance (FKN), le mouvement programmé D et la vitesse désirée V, comme suit : 30 FRW = ^ (1) La vitesse V est donnée par ion tableau pour tous les outils de coupe et matériaux et l'écart D est calculé à partir des distances X, Y et Z programmées. Antérieurement, l'indice de vitesse d'avance était calculé à 35 l'avance pour chaque mouvement programmé et mémorisé sur la bande en même temps que les valeurs de X, Y et Z. L'amplitude du mouvement D n'est normalement pas mémorisée ; cependant, l'indice de vitesse d'avance indique cette valeur pour une vitesse constante. 70 10838 2 203726^ La difficulté réside dans le fait que, bien qu'il ne soit pas mémorisé, il est nécessaire de le calculer pour chaque mouvement d'outil programmé afin de pouvoir mémoriser l'indice de vitesse d'avance avec les valeurs programmées de X, Y et Z. Il serait 5 plus commode de programmer seulement les valeurs de X, Y et Z et de mémoriser ou d1 introduire dans 11 appareil de commande la vitesse choisie (par exemple. 250 cm/mn), sans relation avec une information de mouvement (somme vectorielle de X, Y et Z). Pour une combinaison différente d'outil de coupe et de matière, on peut 10 alors utiliser le même programme en programmant simplement une vitesse différente. Cependant, l'appareil de commande doit avoir été conçu pour calculer effectivement l'indice de vitesse d'avance à partir des informations de vitesse et de mouvement. L'information de mouvement est mémorisée uniquement en fonc-15 tion des mouvements suivant les axes X, Y et Z de commande de la machine. Par conséquent, avant de calculer l'indice de vitesse d'avance, il est nécessaire de calculer le mouvement D. Il doit être possible de réaliser un appareil pour obtenir le mouvement D sous forme d'une quantité scalaire à partir des valeurs de X, Y en 20 et Z lues sur la bande en élevant au carré chaque valeur,/ajoutant en , les carrés et/calculant la racine carrée de cette somme. Cependant, 1'algorithme correspondant à ce calcul numérique est très compliqué, en particulier pour le calcul final de la racine carrée. Par conséquent,si l'indice de vitesse d'avance ne doit pas être cal-25 culé à l'avance et mémorisé en tant que partie du programme, il serait souhaitable de disposer d'un moyen simple de calculer l'écart D. La vitesse est habituellement mémorisée sous une forme conforme aux normes de "Electronics Industry Association"(EIA) qui 30 consiste en un signal codé â trois chiffres f(abc), habituellement dénommé "trois magiques". Le premier chiffre a représente un expo- ci-™ 3 sant des puissances de 10 pour un multiplicateur 10 alors que les deux autrgfefihiffre.s- (b ,c) spécifient la vitesse en pouces (environ 2,5 cm)/minute sous forme d'une fraction décimale. Par 35 exemple le signal codé f(620) "trois magique" est à interpréter 6 3 comme 10 x0,20 pouce/mn ce qui correspond à 200 pouces/mn ou -500 cm/mn. Ce code autorise une gamme de vitesses comprises entre r0,01 et 990 pouces (environ 0,025 et 2500 cm) par minute, largement suffisante pour les machines-outils actuellement existantes. 70 10838 3 2037264 En réalisant un appareil pour calculer effectivement l'indice de vitesse d'avance à partir d'informations programmées X, Y et Z avec la vitesse désirée, il serait avantageux d'utiliser le code EIA "trois magique". 5 Selon la présente invention, le mouvement D dans un système à deux axes est donné par les équations approchées : D =| X |+| 0,5Y | si j x|>|yi d =| y |+| 0,5xJ si) x| 10 Cette valeur approchée de D ainsi obtenue est alors utilisée pour l'émission d'un train d'impulsions à une fréquence fQ, à appliquer à un interpolateur linéaire comportant des multiplicateurs de vitesse pour les axes de déplacement. Pour obtenir une approximation encore meilleure, le mouvement D peut être donné par les 15 équations approchées : D=|x|+Jo,5ï| -I 0,lx| si|0,5ï| -I 0,lx|>0 , , I MàM (3) D =j X| si| 0,5YJ -| 0,1X si| x|c|y[, il faut interchanger les valeurs de x et y. 20 Pour une commande à trois dimensions, la valeur approchée pour D est la suivante : D=|x|+|0,5Y| -| 0,1X| +| 0 „3Z | si | 0,5y| -| 0,iz|>0 (4) D =| x|+| 0 ,3Z| | 0,5Y| -| 0,1X| 25 Pour cette approximation, il est nécessaire quej x|^JyJ;>|zJ . Les dénominations des axes pour les déplacements X* Y et Z sont interchangées de manière à réaliser ce tri par amplitude afin que le plus grand vecteur soit désigné par X et le plus petit par Z, mais• uniquement pour calculer D. Comme on vient de l'indiquer, cette 30 approximation est utilisée, selon une caractéristique de l'invention, pour commander une source de trains d'impulàions de manière à engendrer un train de f impulsions de sortie inversement proportionnelles au mouvement approché D. On utilise alors un interpolateur linéaire pour multiplier 1* quantité fQ caractérisant le 35 train d'impulsions par les déplacements commandés suivant les axes, par exemple X et Y pour deux axes de manière à appliquer f0«* et f0.Y impulsions aux servo-commandes pour X et Y.. La vitesse de l'outil est ainsi maintenue sensiblement constante pour tous les déplacements X et Y. Pour une vitesse différente, la source de 70 10838 4 203726k train d'impulsions est modifiée de façon à faire varier en proportion sa fréquence f . Antérieurement, quand on ne disposait pas d'un indice de vitesse d'avancement, on utilisait couramment l'axe de déplacement maximal et par conséquent de vitesse maximale 5 pour commander la fréquence fQ. On obtenait ce résultat en transformant simplement le train d'impulsions provenant du multiplicateur de vitesse de chaque axe en une tension continue proportionnelle et en appliquant chaque tension à un oscillateur'commandé par une tension" (en passant par une mémoire tampon dont le signal 10 de sortie serait toujours égal à la tension d'entrée maximale) pour faire varier f en conséquence. Dans des systèmes plus compliqués, il est devenu de pratique courante de mémoriser un indice de vitesse d'avance avec les déplacements commandés suivant les axes sur la bande à programme, 15 l'indice FRN étant posé égal au quotient de la vitesse désirée V par le mouvement programme D de façon à obtenir un train d'impulsions à la fréquence f égale à F.FRN, quand F est la fréquence constante d'un train d'impulsions d'horloge. Conformément à une caractéristique importante de la présente 20 invention, la vitesse désirée V, à la place de l'indice de vitesse d'avance, est mémorisée en même temps que les déplacements commandés suivant les axes. L'indice de vitesse d'avance correspondant est ensuite calculé par l'équation V = FRN.D en multipliant une fréquence d'horloge F par V pour obtenir une fréquence de réfé-25 rence fR, en multipliant la fréquence d'horloge F par. une variable Q et en multipliant le produit Q.F par le mouvement D. Le produit Q.F.D. est alors comparé à la fréquende fR de référence (égale à V.F.) et on fait croître la variable Q jusqu'à ce que Q.F.D soit égal à V.F, la variable Q étant ainsi la valeur désirée de 30 FRN qui peut être appliquée directement à un générateur de vitesse d'avance comportant un multiplicateur de fréquence afin d'obtenir un train d'impulsions à une fréquence proportionnelle à la vitesse. Ce train d'impulsions est ensuite appliquée à un interpolateur classique (multiplicateur de vitesse des dëplace-35 ments commandés suivant un axe). Selon une autre caractéristique de l'invention, la vitesse désirée est définie dans le code EIA "trois magique" f(abc) dans lequel les deux, derniers chiffres b, c représentent une fraction décimale, tandis que le premier chiffre est un entier positif à 70 10838 5 2037264 ajouter à l'exposant d'un multiplicateur 10 ^ par lequel la fraction doit être multipliée pour représenter la vitesse désirée en pouces (2,54 cm) par minute. En calculant l'indice de vitesse d'avance en écrivant F.V = Q.F.D., Q étant l'indice désiré comme 5 on vient de l'expliquer, on utilise seulement la partie (.bc) pour multiplier F dans le premier membre de l'équation. Le multiplicateur I0a ^ est ensuite introduit pour déplacer effectivement le produit FQ ou F(.bc) du nombre nécessaire de positions décimales (par exemple en faisant varier la fréquence F d'horloge à l'en-10 trée et le multiplicateur associé U ou (.bc) d'un certain nombre de décades dans un multiplicateur de vitesse). Dans une forme de 3 réalisation préférée, le multiplicateur 10 est introduit dans 3-1 le second membre de l'équation sous la forme 10 en modifiant les rangs des décades dans le multiplicateur de vitesse pour le 15 produit Q.F. La quantité Q est alors la valeur demandée de FRN (si F.V = Q.F.D) qui est appliquée sous forme de signal d'entrée à un interpolateur linéaire classique de manière à appliquer simultanément des impulsions à tous les servo-systêmes pour les axes X, Y et Z. De cette manière, le multiplicateur I0a ^ apparaît dans 20 le train d'impulsions représentant le produit Q.F et dans l'indice de vitesse d'avance FRN quand Q.F.D est égal à F(.bc). Bien qu'on décrive un système à base 10, il va de soi qu'on peut choisir une base quelconque pour le système, par exemple 2 ou 8. D'autres objets et avantages de l'invention seront mieux com-25 pris à la lecture de la description qui va suivre de plusieurs exemples de réalisation et en se référant aux dessins annexés dans lesquels : la figure 1 est un schéma fonctionnel d'une réalisation de la . présente invention dans laquelle la vitesse de l'outil de la ma-30 chine est maintenue constante pour tous les mouvements programmés; la figure 2 est le schéma des circuits d'un amplificateur différentiel employé dans la réalisation de la figure 1 ; la figure 3 est un schéma logique d'un appareil incorporé dans le système de la figure 1 pour calculer approximativement 35 le mouvement (scalaire représentant la somme vectorielle) D pour les déplacements X, Y et Z commandés et pour engendrer une tension de signal proportionnelle à D; la figure 4. est un schéma fonctionnel d'une autre réalisation de la présente invention, dans laquelle la vitesse est précisée 70 10838 6 2037264 en tant qu'élément des informations concernant les déplacements commandés suivant les axes, lues sur une bande ; la figure 5 est un schéma fonctionnel plus détaillé d'un appareil employé dans le système de la figure 4 pour calculer un 5 indice de vitesse d'avance (FRN) à partir d'un déplacement D et d'une vitesse V approchés selon l'équation F.V = V.Q.D, où Q est une variable croissant en partant de 0 jusqu'à ce que l'équation soit satisfaite, Q étant alors la valeur désirée de FRN; la figure 6 représente une variante de l'appareil de la figure 10 5 destinée à permettre de préciser la vitesse par lè signal en code EIA "Trois magique". Dans une réalisation préférée de l'invention représentée sur la figure 1, l'information concernant les déplacements est mémorisée, par exemple, sur une bande de papier perforée sous forme 15 d'amplitude des mouvements le long des axes de commande X, Y et Z. D'autres informations peuvent être également mémorisées et lues, en même temps que l'information concernant le mouvement, par un lecteur de bande 10. Une unité 11 de distribution de 1'information transforme les 20 signaux de sortie provenant du lecteur de bande 10 en information compatible avec le système. Après avoir effectué divers contrôles concernant cette information pour en garantir la fiabilité, l'information est distribuée à un génératem: 12 de déplacement suivant, un axe et une unité de commande commune/où l'information désirêo 25 est mémorisée temporairement dans des mémoires-tampon. De cette manière, quand les ordres pour un mouvement donné D d'un outil d'une machine sont traités par le générateur de déplacement 12 an étant commandés par l'unité 13, le lecteur de bande 10 et l'unité 11 de distribution de l'information peuvent être préparés pour la 30 lecture et la transmission des ordres suivants. L'unité 13 de commande commune dirige le traitement de tous les ordres et oblige le système à réagir en conséquence, le tout en conformité avec des pratiques qui sont devenues courantes pour les systèmes de commande numérique. Le générateur 12 de déplacement 35 suivant les axes reçoit par une ligne 14 un signal provenant de l'unité 13 pour engendrer un cycle d'ordres. Après que le générateur 12 de déplacement a achevé son cycle d'ordres un signal "report final" est transmis par une ligne 15 pour indiquer à l'unité de commande commune 13 que le cycle a été achevé, le tout 70 10838 7 2037264 en accord avec des pratiques devenues courantes pour les systèmes de commande numérique. Une unité 17 de commande de vitesse d'avance commande la fréquence de l'oscillateur 1G pour maintenir constante la vitesse 5 de l'outil de la machine. On peut faire varier cette valeur entre certaines limites par un potentiomètre Î8. On a représenté pour plus de commodité un système de commande à deux axes. Par conséquent, seuls les trains d'impulsions de fréquence f_.X et f .Y / o o sont représentés sous la forme 'de signaux de sortie provenant du 10 générateur 12 de déplacement à destination des servo-systêmes X et Y pour la commande de l'outil de la machine (non représenté). De cette manière, le générateur 12 de déplacement suivant les axes fonctionne a la manière d'un interpolateur linéaire classique pour appliquer des impulsions simultanément à tous les axes en 15 fonction du mouvement D (de composantes X et Y) programmé. Les impulsions X et Y sont introduites dans les servo-systêmes à une vitesse assurant l'accomplissement du mouvement programmé pendant un cycle de commande en utilisant le train d'impulsions provenant de l'oscillateur 16 - commandé par une tension - pour 20 déterminer la base de temps. Ce résultat est obtenu en utilisant les multiplicateurs de vitesse du générateur 12 de déplacement suivant les axes (ou déplacements axiaux), pour transmettre également vin nombre prédéterminé d'impulsions pour accomplir le cycle de manière que la durée dudit cycle soit inversement proportion-25 nelle S la fréquence f du train d'impulsions d'entrée qui lui correspond. Ceci définit la durée appropriée du cycle et un déplacement synchronisé des servo-systèmes pour tous les axes pour provoquer un déplacement à vitesse constante de l'outil commandé. Les servo-systêmes convertissent les impulsions appliquées en 30 une tension ou un courant proportionnel pour actionner des éléments moteurs de la machine-outil en réponse à la différence entre un signal de réaction (retour d'asservissement) définissant la position de la machine-outil et la tension, ou le courant, de signal obtenus à partir des impulsions appliquées. Les éléments 35 moteurs fonctionneront alors dans un sens destiné à réduire cette différence, selon la pratique courante pour les servo-systèmes. Le sens du mouvement produit le long d'un axe donné est déterminé par le signe du déplacement commandé suivant cet axe. Ceci est représenté sur la figure 1 par des signaux indiquant les signes 70 10838 8 2037264 des signaux X et Y transrais par l'unité 11 de distribution de l'information aux divers servo-systèmes. Les impulsions émises par le générateur 12 de déplacements axiaux sont alors transmises à une unité 17 de commande de la vi-5 tesse d'avance en vue d'agir sur l'oscillateur 16 commandé par une tension afin d'engendrer un train d'impulsions de sortie à une fréquence f qui se transforme en la vitesse désirée de la machine-outil quel que soit le mouvement programmé. Par exemple, si l'ordre donné demande un mouvement D uniquement suivant l'axe 10 des X, l'ordre pour l'axe Y est égal à zéro et la fréquence f de l'oscillateur commandé par une tension, fixée par le potentiomètre 18 sera multipliée par X pour engendrer les impulsions fQ»X émises qui provoquent un déplacement suivant l'axe des X de l'outil de la machine égal au mouvement D spécifié à la vitesse 15 désirée. En résumé, ledit système de commande numérique est basé sur des impulsions telles que chaque impulsion engendre un déplacement prédéterminé le long d'un axe (par exemple un micron). Le générateur de déplacements axiaux 12 émet un nombre suffisant d'impul-20 sions pour produire le mouvement programmé de l'outil de la machine de manière à satisfaire à l'équation : V.T = D dans laquelle T est la durée du cycle pour le mouvement D à la vitesse désirée V. Alors, la tâche de l'unité 17 de commande de 25 la vitesse d'avance est de maintenir la vitesse du mouvement du système de déplacement suivant deux axes constante entre certaines limites indépendantes de la valeur des ordres de déplacement suivant X et Y. Il était antérieurement de pratique courante de maintenir la vitesse du mouvement constante seulement suivant 30 un axe, celui correspondant au déplacement le plus grand. Par exemple, si un ordre commande un mouvement de 5 cm suivant 1'axe des X et 10 cm suivant l'axe des Y, la vitesse de l'outil de la machine le long de l'axe Y est maintenue constante. Cependant, la somme vectorielle des vitesses X et Y de la machine-outil est 35 alors affectée d'une erreur de 12 %. Cette erreur augmente lorsque la différence entre les déplacements X et Y diminue, jusqu'à atteindre un maximum de 41,4 % quand les déplacements suivants X et Y sont égaux: Cette erreur est considérablement réduite, 70 10838 9 2037264 selon l'invention, en commandant l'oscillateur 16 en tenant compte des ordres suivant les deux axes, en se rapprochant du mouvement D à effectuer, conformément aux ordres pour les axes X et Y de manière à se rapprocher davantage de l'équation V.T = D. 5 En tenant compte des deux axes, cette/ferreur peut être réduite à zéro en affichant sur D, la commande de l'oscillateur 16, un nombre égal à la racine carrée de la somme des déplacements séparés élevés au carré suivant les divers axes. Cependant, comme indiqué ci-dessus, l'algorithme pour élever au carré les déplace-10 ments suivant les axes, déterminer la somme de ces carrés et calculer ensuite la racine carrée de cette somme est compliqué et exigerait un grand nombre de blocs fonctionnels. Par conséquent, selon la présente invention, le mouvement D est donné approximativement par un algorithme en conformité avec 1'équation 2. 15 On compare dans le tableau ci-après l'erreur résultant de l'application du procédé connu de commande de la vitesse avec celle liée à la présente invention. Dans les deux premières colonnes, les déplacements X et Y sont indiqués pour onze rapports de 1/0 à 1/1. La troisième colonne indique le mouvement D de 20 l'outil de la machine, correspondant à la vraie somme vectorielle, des ordres correspondant aux divers axes. La quatrième colonne indique le mouvement approohê D de la machine-outil déterminé par le procédé selon l'invention. La cinquième colonne indique 1 ' erreur en pour oent du. mouvement approché D par rapport au mou-25 vement vrai indiqué sur la troisième colonne. Selon les procédés de la technique antérieure on admet dans tous les cas que le mouvement D de la machine-outil est égal à l'unité pour les rapports figurant sur le tableau, l'erreur en pour cent de la technique antérieure ayant la valeur indiquée dans la dernière 30 colonne du tableau. 70 10838 2037264 % d'erreur %- d'erreur de . la technique X + 2 Y antérieure 1 0 1 1 0 0 5 1 0,1 1,005 1,05 -4,5 +0,5 1 0,2 1,02 1,1 -7,85 + 2 1 0,3 1,045 1,15 -10 +4,5 1 0,4 1,077 1,2 -11,4 +7,7 10 1 0,5 1,12 1,25 -11,6 +12 1 0,6 1,168 1,3 -11,3 + 16,8 1 0,7 1,22 1,35 -10,65 +22 1 0,8 1,281 1,4 -9,28 +28 15 1 0,9 1,346 1,45 -7,73 +34,6 1 1 1,414 1,5 -6,08 +41,4 On peut établir un tableau semblable pour des rapports correspondants quand Y est supérieur à X en échangeant simplement X et Y 20 dans les deux- premières colonnes. Dans la mise en oeuvre de ce procédé pour obtenir une valeur approchée du mouvement D en fonction des ordres pour les axes X d'abord et Y, il faut/établir si X est égal ou supérieur à Y. Cela est réalisé par un amplificateur différentiel 19 de l'unité 17 de 25 commande de la vitesse d'avance qui reçoit des tensions de signal proportionnelles aux fréquences des trains d'impulsions fQ-X et fQ.Y par les convertisseurs correspondants de fréquence en tension 20 et 21. Si X est supérieur à Y, le train d'impulsions fQ.X aura une fréquence supérieure à celle du train d'impulsions Par 30 conséquent, la tension de sortie du convertisseur 20 sera supérieure à la tension de sortie du convertisseur 21. L'amplificateur différentiel transmet alors un signal de commande i}Rx pour commander une calculatrice D 22 qui émet un train d'impulsions de fréquence égale à fQ(X + 0,5Y). Si Y est supérieur à X, la tension 35 de sortie de l'amplificateur différentiel sera voisine de 0 V, empêchant ainsi la transmission d'un signal de commande DRx à la calculatrice D 22. Au contraire, l'amplificateur différentiel 19 transmet un signal de commande D Ry, par un inverseur 23, à la calculatrice 22. Ordre D vrai D approché V 2 2 1 X + Y X + J Y 70 10838 2037264 11 La figure 2 représente un schéma des circuits de l'amplificateur différentiel 19, comportant deux transistors NPN et ayant une résistance 25 d'émetteur commune. Les bases des transistors et T2 sont connectées aux convertisseurs 20 et 21 de 5 fréquence en tension par des résistances 26 et 27. Le collecteur du transistor T'2 est relié directement à la source de courant tandis que le collecteur du transistor est relié à la source de courant par les résistances 28 et 29 d'un diviseur de tension. La jonction base-émetteur d'un transistor PNP est branchée en 10 parallèle sur la résistance 29 pour obtenir un signal asymétrique de l'amplificateur différentiel. Si X est supérieur ou égal à y, la tension de sortie du convertisseur 20 de fréquence en tension est égale ou supérieure à la tension provenant du convertisseur 21 si bien que seul le transistor T1 devient conducteur rendant 15 ainsi conducteur le transistor T^. Le signal de commande DRx est alors engendré aux bornes de la résistance de charge 30. Si y est supérieur à X, le transistor Ï2 est conducteur, bloquant ainsi le transistor et le transistor , si bien que la tension de commande DRx s'annule. L'inverseur 23, qui peut comporter un autre 20 transistor, émet alors une tension de commande DRy positive. Une résistance de réaction 31 branchée entre le collecteur du transistor et la base du transistor produit un retard qui verrouille l'amplificateur différentiel dans un état déterminé chaque fois que X = y, ledit état n'ayant aucune importance puisque 25 |x| +| 0,5y| = j y|' +| 0,5x| si| xj = j yj^empêchant ainsi l'apparition d'un état mal défini quand X = y. La calculatrice D 22 est décrite ci-après en se référant au schéma logique de la figure 3. Elle comprend deux basculeurs de commande FF et FF2 dont les bornes de retour direct à 1'état 30 initial (DR) sont branchées de manière à recevoir les signaux de commande DRx et DRy. Si X est égal ou supérieur à y, le basculeur FF^ reste toujours au zéro, de manière à permettre à un circuit réunion-négation 35 de transmettre chaque impulsion fQ*X reçue à une borne d'entrée binaire B de celui-ci, à partir du générateur 35 12 de déplacements axiaux (Figure 1). La borne d'entrée DR de retour direct à zéro du basculeur binaire FF2 est branchée de manière à recevoir le signal de commande DRy égal à zéro volt quand X est égal ou supérieur à y. Par conséquent, le basculeur binaire FF2 doit réagir à chaque impulsion fQ«Y reçue à sa borne d'entrée 70 10838 12 2037264 binaire B, en provenance du générateur 12 de déplacements pour appliquer à sa borne de sortie SD de positionnement une onde rectangulaire de fréquence égale à la moitié de celle du train d'impulsions fQ^. Un circuit réunion-négation 36 (raccordé à la borne 5 de sortie de positionnement du basculeur binaire FF 2 et au générateur 12 de déplacements pour recevoir le train d'impulsions f0»"¥") transmet alors seulement la moitié des impulsions du train f0.Y. Des basculeurs tampons FF3 et FF^ sont raccordés à un multivibrateur monostable 37 de manière à le déclencher quand l'un des 10 basculeurs FF^ ou FF^ est ramené à zéro par une impulsion appliquée à sa borne d'entrée R. Un des basculeurs, par exemple FF^, est ramené à zéro directement par le signal de sortie f de l'oscillateur 16 commandé par une tension (Figure 1) tandis que l'autre basculeur FF^ est ramené à zéro par le signal de sortie retardé 15 et déphasé de 180° de l'oscillateur 16 commandé par une tension. De cette manière, le train d'impulsions provenant du multivibrateur monostable 37 a une fréquence de sortie proportionnelle à Jx | +| 0,5ï| .Le signal de sortie retardé de l'oscillateur 16 commandé par une tension peut être obtenu par exemple en inter-20 calant un élément 38 inverseur entre la borne de sortie de l'oscillateur commandé par une tension et la borne d'en.trée de remise à zéro du basculeur tampon FF^. Si la valeur absolue du déplacement suivant y est supérieure à la valeur absolue du déplacement suivant X, les rôles des bascu-25 leurs binaires FF^ et FF£ sont inversés si Lien que la porte 36 transmet chaque impulsion f «y tandis que la porte 35 transmet seulement chaque autre impulsion fQ-X. De cette manière, la calculatrice D 22 émet un train d'impulsions de fréquence proportionnelle £ |x| +|c,5y| ou | y| +J 0, 5x|, Un convertisseur 40 de 30 fréquence en tension transforme le train d'impulsion provenant de la calculatrice D en un courant ou tension proportionnels appliqués à un amplificateur opérationnel 41 (Figure 1) par une résistance 42. Le potentiomètre 1C est raccordé au point sommateur de l'amplificateur opérationnel 41 par une résistance 4 3 de, par exemple, 35 100 000 ohms ; le potentiomètre 18 a alors par exemple une valeur ohmique de 2000 ohms. La sortie de l'amplificateur opérationnel 41 est reliée à la borne de commande de l'oscillateur 16 commandé par une tension qui peut être d'un type connu, par exemple un multivibrateur astable commandé par une charge. On réalise de 70 10838 2037264 13 cette manière un système analogique à boucle fermée pour commander la fréquence de sortie f de l'oscillateur 16 commandé par une tension, en fonction du mouvement D désiré de l'outil de la machine, D étant déterminé approximativement de la manière dé-5 crite ci-dessus. A noter que, puisqu'on utilise le même oscillateur 16 qui commande le générateur 12 de déplacements axiaux afin d'effectuer les déplacements X et Y pour ramener au zéro successivement les basculeurs FF^ et FF^, les impulsions - 0,5 Y (-0,5X) sont ajou-10 tées exactement entre deux impulsions X (Y) si l'oscillateur 16 est choisi avec un cycle de travail de 50 %. Par conséquent, la grandeur de sortie f (X + 0,5Y) ou (Y + 0,5X) comporte un espacement inégal entre les impulsions et le convertisseur 40 de fréquence en tension engendre une tension inférieure à ce qu'elle 15 serait avec un espacement égal si l'on utilisait des convertisseurs classiques fréquence-tension, par exemple un convertisseur comportant un condensateur intégrateur et un circuit de décharge ayant une constante de temps RC prédéterminée. On admet, pour le tableau ci-dessus des erreurs, un espacement uniforme entre les 20 impulsions. Par conséquent, l'erreur réelle est inférieure à l'erreur indiquée. Par exemple, si X= 1 et Y = 0,5, l'erreur effectivement mesurée est de -9,75 % et non -11,6 %. A noter également que cette erreur est toujours négative ce qui signifie que la vitesse de l'outil de la machine est toujours légèrement 25 inférieure à la vitesse désirée si bien que le système peut être programmé en toute sécurité pour la vitesse maximale avec un ensemble donné d'outil et de matière. En d'autres termes, l'erreur inhérente au système donnant une valeur approchée de la distance D doit fournir une marge de sécurité pour la programmation 30 (c'est-à-dire l'affichage par le potentiomètre 18) de la vitesse du système. On n'obtient alors la vitesse maximale que lorsque le déplacement de l'outil s'effectue le long d'un des axes de coordonnées (c'est-à-dire si X ou Y = O). Le générateur 12 de déplacements axiaux qui émet les trains 35 d'impulsions f0.X et f0.Y pour engendrer un tel mouvement de la machine-outil peut, . principe, être un interpolateur linéaire du modèle couramment utilisé dans les systèmes à commande numérique, tel que la fréquence f émise par l'oscillateur 16 (qui détermine par l'unité 17 de commande de la vitesse d'avance le 70 10838 14 2037264 facteur de vitesse pour le système à commande numérique) doit produire des trains d'impulsions à des fréquences fQ«X et fQ*Y permettant d'obtenir le mouvement désiré de l'outil de la machine le long d'axes particuliers oû chaque impulsion est pondérée afin 5 de provoquer un mouvement d'amplitude prédéterminée. En d'autres termes, l'oscillateur 16 commandé par une tension et l'unité de commande 17 de la vitesse d'avance fonctionnent ensemble comme un générateur de vitesse d'avance pour émettre un train d'impulsions qui fixe la vitesse maximale. Un nombre donné (par exemple 10 10 000) d'impulsions définit un cycle. Par conséquent, la durée du cycle est fonction de la fréquence f laquelle impose une limite maximale au mouvement (par exemple une unité de longueur - pouce ou cm - par cycle de 10 000 impulsions,chaque impulsion étant pondérée de manière à provoquer un déplacement d'un dix-15 millième d'unité).-Par conséquent, pour obtenir le mouvement désiré le long d'un axe particulier, le générateur de déplacement doit multiplier le train d'impulsions f par l'ordre concernant cet axe. Ceci signifie, par exemple, que pour un ordre de 0,2222 unités, un train de 2222 impulsions doit être appliqué pendant le 20 cycle de 10 000 impulsions. Ceci revient à multiplier les 10 000 impulsions du train émis par l'oscillateur 16 par la fraction . 2222/10 000. Cette multiplication est réalisée par le générateur 12 de déplacements axiaux comportant un multiplicateur avec un compteur qui compte les impulsions de fréquence f et des portes 25 qui réagissent aux ordres de déplacements axiaux de manière à provoquer l'émission par des étages appropriés du compteur d'impulsions à des fréquences différentes qui, après avoir été combinées par une porte-tampon, doivent représenter le nombre désiré d'impulsions émises. A noter que le compteur doit compter toutes 30 les 10 000 impulsions provenant de l'oscillateur 16 même si moins de 10 000 impulsions sont transmises aux servo-systèmes X et Y. Quand le comptage 10 000 est atteint, un signal de report final provenant du compteur transmis par le conducteur 15 indique à l'unité 13 de commande commune que le cycle a été achevé. De cette 35 manière, le cycle correspondant à un ordre donné a une durée qui est fonction de la vitesse de l'outil qui est maintenue constante avec une faible marge d'erreur, et de l'amplitude de X et Y. La figure 4 représente une autre forme de réalisation dans laquelle la vitesse constitue un élément des informations concernant 70 10838 2037264 un ordre de déplacement axial lu par un lecteur de bande 50. Une unité 51 de distribution de l'information et une unité 52 de commande commune fonctionnent de la même manière que le système décrit à propos de la figure 1. La valeur de la vitesse est trans-5 mise directement à un générateur de vitesse d'avance et à 1'interpolateur linéaire 55 par une calculatrice - D 54 qui fournit une valeur approchée du mouvement selon 1'équation 2 ou une autre valeur approchée destinée à réduire l'erreur sans faire intervenir un algorithme de complication voisine de celle de l'algorithme 10 destiné à déterminer le mouvement vrai D par calcul de la .racine carrée de la somme des carrés des déplacements suivant les divers axes. Cependant, il va de soi que, sous son aspect le plus général, la caractéristique de calculer l'indice de vitesse d'avance selon 1'invention peut être utilisée avantageusement dans un système 15 dans lequel la vraie valeur du déplacement D est déterminée et introduite ainsi. L'unité 52 de commande commune déclenche un cycle en ramenant au zéro le générateur de vitesse d'avance et 1'interpolateur linéaire 55. Ce dernier émet des impulsions transmises aux servo-20 systèmes X et Y à une cadence qui permet de réaliser le déplacement désiré de la machine-outil suivant les axes indiqués avec une vitesse V déterminée par la somme vectorielle. Quand le cycle a été achevé, un signal de report final est transmis par un conducteur 57 à l'unité de commande commune 52 qui commence alors le 25 traitement des ordres suivants. Un oscillateur 53 transmet un signal d'horloge à une fréquence F2 au générateur de vitesse d'avance et à 1'interpolateur linéaire 55, la génération d'une vitesse d'avance ayant pour but de calculer un facteur de vitesse dénommé indice de vitesse d'avance (FRN) 30 par lequel on multiplie la fréquence F£. L'interpolateur linéaire a non seulement pour rôle la génération du signal de report final après avoir compté un nombre donné (par exemple 10 000) d'impulsions à la fréquence F2.FRIJ mais aussi de multiplier le nombre de trains d'impulsions à cette fréquence F^-FRl^I par les amplitudes 35 des déplacements X et Y commandés de manière à obtenir les trains d'impulsions F2.FRN.X et F2.FRN.Y. Un potentiomètre 59 est destiné à fixer la fréquence constante F2. Avant de décrire le générateur de vitesse d'avance et 1'interpolateur linéaire 55 en se référant à la figure 5, on décrit tout 70 10838 2037264 d'abord les systèmes connus. Ils mémorisent un indice de vitesse d'avance FRN qui. correspond à la valeur du mouvement D, suivant l'équation V = FRN.D au lieu de mémoriser- la vitesse désirée V pour un mouvement donné. Sous la .forme, la plus simple, ces sys-5 ternes connus sont constitués par un multiplicateur, de vitesse destiné à multiplier une fréquence d'horloge F-par un indice de vitesse d'avance comportant en général-trois chiffres décimaux. Par conséquent, le multiplicateur de vitesse est constitué par des compteurs décimaux en cascade avec des.signaux de sortie con-10 ditionnés par l'indice de vitesse d'avance mémorisé dans un registre statique. Les impulsions conditionnées sont ensuite combinées par une porte-tampon de manière à engendrer un train d'impulsions à une fréquence F.FRN.Ce train.'d'impulsions définit la vitesse d'avance. Par conséquent, le multiplicateur de fréquence pour 15 l'indice de vitesse d'avance peut être dénommé générateur de vitesse d'avance et son signal de sortie est transmis â un interpolateur linéaire comportant des multiplicateurs de fréquence, semblables à un multiplicateur de fréquence du générateur de vitesse * d'avance, les ordres pour les axes X et Y étant les multiplicandes. 20 La grandeur de sortie de 1'interpolateur linéaire est alors un train d'impulsions à une fréquence proportionnelle, à l'indice de vitesse d'avance qui correspond à l'amplitude du mouvement D conformément à l'équation V = ERN.D. En d'autres termes, l'indice de vitesse d'avance ne peut pas être mémorisé dans les systèmes 25 connus sous forme d'un élément de programme avant que la vitesse de l'outil ait été choisie et le mouvement D calculé. Par la présente invention, il ne faut choisir que la vitesse V ; le mouvement D est alors calculé approximativement (ou exactement si on le désire)en exploitation continue. On calcule l'indice de vitesse 30 d'avance à partir de ces données (V et D) . . .. . , On décrit ci-après, en se référant.à la figure 5, le généra-téur de vitesse d'avance et l'interpolateur. linéaire-55 du système représenté sur~la figure.4. .La .vitesseVV~indépendante des informationsconcernant^le.mouvement,ëst lue—par le lecteur de 35 bande 50 (figure 4) . L'unité „51- de-,distribution:.de l'information transmet alors ^information ;de vitesse-sous Vf ormè-dAun nombre décimal à quatre chiffresau.générateur/de vitesse d'avance et à • ; 1 Vinterpolatei^ilin^xrè ■ 55f j(Fig^re0fir^oûr^ëlle lest^mémorieée dans " un- registre. V .50 -pour' servir1 de multiplicateur dans un"multiplicateur ,. • .* ' ':v. 7^"" ^ '' • ' • r ' * . : • . . • • cOP^i 70 10838 2037264 décimal de fréquence par une vitesse (DRM) 61 qui est alimenté par un signal d'horloge à la fréquence F par une porte 62 si bien que la fréquence de sortie de la porte-tampon 63 est proportionnelle à la vitesse désirée. Cette fréquence, qui est égale à V.F, est 5 alors utilisée pour calculer l'indice de vitesse d'avance (FRN) â partir du mouvement D introduit, provenant de la calculatrice 54 de la figure 4, la-valeur approchée dé D étant égale à |x| +| 0,5y| si X est égal ou supérieur à)yjet |y| +J 0,5x| si Y est supérieur à X. 10 Le calcul de D est effectué facilement par mémorisation des informations X et Y dans des registres statiques, effectuant une comparaison statique et, en réponse à celle-ci, mettant-en état de fonctionner une des deux séries de portes qui doivent introduire- le signal le plus grand dans le registre,D. Si l'on admet-15 que X > Y, alors X est introduit dans le 'registre D et ensuite 0.5Y est ajouté au contenu du registre D. En variante, D peut être formé par la calculatrice 54 de la figure 4 dans le registre d 65 en incorporant quatre compteurs décimaux en cascade dans le registre D 65, chaque décade pouvant être introduite en série. 20 Si l'on admet alors que X = 0,7321 et ï = 0,6951, le nombre D est engendré comme suit : on envoie sept impulsions dans la décade 1, trois impulsions dans la décade 2, deux impulsions dans la décade 3 et une impulsion dans la décade 4. On a introduit ainsi jxj. Pour ajouterjo,5 y| on procède ainsi. On transmet 6/2 = 3 . 25 impulsions à la décade 1 ; 9/2 = 4 impulsions â la décade 2 et 5 impulsions à la décade 3 ; 5/2 = 2 impulsions â la décade 3 et 5 impulsions à la décade 4 ; 1/2 = 0 impulsion à la décade - 4. Comme on le voit, chaque nombre pair peut être divisé^par deux sans reste; cependant, un nombre impair divisé par deux 30 laisse un reste qui exige..l'introduction de cinq impulsions dans la décade immédiatement inférieure. Le résultat concernant D est maintenant |xJ+|0,5Y|. Une troisième variante consisterait à-transformer chacun des nombres décimaux correspondant' aux ordres X et Y en nombres effectivement codés dans le.système binaire, -35" de manière à diviser facilement Y par deux par un simple" dépla--cément d'un rang de l'ordre Y "dans la direction des emplacements des chiffres d'ordre"inférieur, afin de former 0,5 Y.avant de' l'ajouter à X. ' .; " V - ~ co*", 70 10838 2037264 18 L'indice de vitesse d'avance FRN est calculé, ou mieux engendré, de manière à satisfaire S l'équation V = FFN.D en appliquant à un multiplicateur 66 décimal de l'indice FRN une impulsion d'horloge de fréquence égale à celle de l'impulsion d'horloge ap-5 pliquée au multiplicateur 61 de vitesse. Le signal de sortie du multiplicateur 66 est appliqué au multiplicateur 64 D par une porte-tampon 67. La fréquence appliquée au multiplicateur 64 de vitesse du mouvement D est alors proportionnelle au multiplicateur du multiplicateur d'indice de vitesse d'avance, qui est le nombre 10 mémorisé par le compteur décimal 72. Cette fréquence est ensuite multipliée par l'amplitude D du mouvement dans le registre D 65 par le multiplicateur 64 de fréquence D. Si le multiplicateur approprié a été utilisé avec le multiplicateur 66 d'indice de vitesse d'avance, la grandeur de sortie du multiplicateur 64 de 15 fréquence D combinée par une porte-tampon 68 doit être égale à la fréquence du signal de sortie de la porte-tampon 63. Cette égalité est décelée par un circuit anti-coïncidence comportant un basculeur JK FFç. et un circuit intersection 69. Les impulsions d'horloge appliquées au multiplicateur 61 de 20 vitesse et au multiplicateur 66 d'indice de vitesse d'avance sont déphasées de 180° à une fréquence de 1 MHz par un basculeur binaire FFg déclenché à la fréquence de 2 MHz par des impulsions d'horloge provenant d'une source 70. Le signal de sortie complémentaire du basculeur FFg permet alors au circuit intersection 62 25 de transmettre chaque autre impulsion provenant de la source d'horloge et d'un circuit intersection 71 de manière à transmettre des impulsions alternantes provenant de la source 70 de signaux d'horloge, déphasées par rapport aux impulsions d'horloge transmises par le circuit intersection 62. Par conséquent, des impul-30 sions ne peuvent apparaître simultanément aux bornes d'entrée JK du basculeur FFr. D Au départ, le multiplicateur pour le multiplicateur d'indice de vitesse 66 mémorisé dans un compteur décimal 72 est zéro, si bien qu'aucune impulsion n'est transmise par la porte-tampon 68 35 à la borne d'entrée K du basculeur FF^ puisque le produit FRN.D est alors nul. Par conséquent, la première impulsion appliquée à la borne d'entrée J positionne le basculeur FF5 et toutes les impulsions ultérieures transmises par la porte-tampon 63 franchissent le circuit intersection 69 en direction du compteur décimal 72 70 10838 19 2037264 augmentant ainsi le nombre mémorisé dans celui-ci, qui peut être dénommé Q, de zéro à une valeur finie. Le multiplicateur 66 d'indice de vitesse commence alors instantanément à émettre des impulsions à travers la porte-tampon 67 en vue de leur multiplica-5 tion par l'amplitude D du déplacement mémorisé dans le registre 65 par le multiplicateur 64 de fréquence D. La première impulsion transmise par la porte-tampon 68 en provenance du multiplicateur D 64 doit ramener le basculeur FFr au zéro. Par conséquent, l'im- O pulsion suivante provenant de la porte-tampon 63 ne traverse pas 10 le circuit intersection 65 mais positionne à nouveau le basculeur FF^. Si la fréquence des impulsions transmises par la porte-tampon 63 est supérieure à la fréquence des impulsions transmises par la porte-tampon 68 est supérieure à la fréquence des impulsions transmises par la porte-tampon 68,alors la différence des deux 15 fréquences passe par le circuit intersection 69 de manière à augmenter la quantité Q dans le compteur décimal 72. Finalement, la quantité Q dans le compteur 72 est augmentée suffisamment pour que la fréquence des impulsions transmises par la porte-tampon 68 soit égale à la fréquence des impulsions trans-20 mises par la porte-tampon 63, ce qui fait alors basculer le basculeur FF^ (en le positionnant et le ramenant au zéro alternativement) sans permettre la transmission par le circuit intersection 69 d'impulsions supplémentaires par la porte-tampon 63. L'équation V = FRN.D est alors satisfaite si bien que la quantité Q mémorisée 25 dans le compteur décimal est l'indice de vitesse d'avance FRN désiré pour la vitesse spécifiée V et le mouvement calculé D. Par conséquent, le signal de sortie du compteur décimal 72 alors appliqué au multiplicateur 66 d'indice FRN peut alors être transmis sous forme de multiplicateur FRN à un générateur classique de 30 vitesse d'avance, dans lequel un train d'impulsions d'horloge â la fréquence de 166,66 kHz par exemple est multiplié par l'indice de vitesse d'avance de manière à former le facteur de vitesse pour le système de commande numérique. Le train d'impulsions de sortie provenant de ce multiplicateur est alors transmis à un interpola-35 teur linéaire classique comportant des multiplicateurs X et Y de vitesse du type représenté sur la figure 6 (qui représente une variante de l'appareil de la figure 5). Comme indiqué ci-dessus, le générateur de vitesse d'avance doit émettre au moins le nombre d'impulsions nécessaire pour le 70 10838 2037264 mouvement maximal programmable par cycle de la machine. Si le mouvement maximal programmable par bloc d'instruction est de 0,9999 unité de longueur, le nombre d'impulsions nécessaires pour effectuer le mouvement est de 9999. Pour plus de commodité, 10 000 5 impulsions peuvent être choisies comme nombre normalisé par cycle. Par conséquent, les multiplicateurs de fréquence X et Y de 1'inter¬polateur linéaire peuvent comporter chacun quatre compteurs à décade qui comptent 10 000 impulsions et achèvent le cycle en émettant un signal de "report final" ou, comme l'indique la figure 6 10 quatre compteurs de décades en cascade avec d'autres compteurs de décades en cascade avec un multiplicateur de fréquence de commande, effectuant chacun une division par 10, de manière à permettre de 4 5 6 choisir une base de temps de 10 , 10 ou 10 impulsions par cycle, multipliant ainsi les ordres concernant les déplacement X et Y 15 donnés sous forme de fraction décimale de manière à obtenir des valeurs supérieures à 1. Si la vitesse doit être maintenue constante pour des déplacements inférieurs à 0,1 unité, il serait 3 avantageux de choisir une base de temps de 10 , ce qui peut être effectué en choisissant le signal de report final dans la troisième 20 décade de ces multiplicateurs de déplacement suivant un axe. Avec un appareil de ce genre, la vitesse peut être maintenue constante pour des déplacements compris entre 0,01 unité et 99,99 unités. Si l'on passe alors à la réalisation de la figure 6, l'information de vitesse lue sur la bande de papier perforé est dans le 25 code dit "trois magique" F(abc) dans lequel le premier chiffre"a" est un exposant pour un multiplicateur 10a'"3 tandis que les deux derniers chiffres b et c_ sont une fraction décimale (.bc) représentant des unités de longueur par minute. La fraction décimale (.bc) est mémorisée sous forme d'information de vitesse dans un 30 registre 30 et utilisée comme multiplicateur dans un multiplicateur de vitesse 81 de manière que la fréquence d'un train d'impulsions a la sortie d'une porte-tampon 82 soit F (.bc) qui diffère de F.V comme le signal de sortie de la porte 63 de la figure 5. Pour que le circuit anti-coïncidence comprenant un basculeur FF y 35 et un circuit intersection 83 fonctionne dans le même but que le circuit correspondant de la figure 5, il est alors nécessaire de diviser la fréquence dans le canal inférieur par 10a ^ pour compenser uniquement la fraction décimale (.bc) de la vitesse introduite dans le canal supérieur. On obtient ce résultat en 70 10838 2037264 incorporant plus de décades dans un multiplicateur 84 d'indice d'avance de vitesse que dans le multiplicateur 81 de vitesse et en appliquant le train d'impulsions d'horloge qui lui est appliqué à un autre compteur décimal monté en cascade. Dans chaque cas, le 5 décalage correspond à un nombre de décades égal à a-3. Dans cet exemple de réalisation, la-différence(a-3)doit être au moins égale à 1 puisque le multiplicateur de vitesse 81 comporte deux décades pour la fraction décimale à deux chiffres (.bc) tandis que l'indice de vitesse d'avance doit être un nombre à trois 10 chiffres. Par conséquent, le premier chiffre du code "trois magique" doit être au moins égal à 4. S'il est égal à 4 , un commutateur est positionné de manière à transmettre un train d'impulsions de fréquence F (le trait au-dessus du F désignant un déphasage de 180° par rapport au train d'impulsions appliqué au 15 multiplicateur 81 de vitesse) à la troisième, à partir de la dernière, décade du multiplicateur 84 d'indice de vitesse d'avance, comme représenté, de manière à diviser le signal de sortie du canal inférieur par 100. Si le chiffre a est égal à 5 le commutateur S-| est amené dans la position "5" de manière à englober une décade 20 de plus dans le multiplicateur 84 d'indice de vitesse d'avance, divisant ainsi par 10. Si le chiffre a = 6, le commutateur est déplacé d'un rang supplémentaire pour diviser par 1. On peut prévoir davantage de décades et de positions du commutateur, mais un chiffre a compris entre 4 et 6 a conduit à un intervalle 25 suffisant de vitesse de 0,1 à 990 unités (par exemple 0,25 à 2500 cm) par minute. A noter que les trains d'impulsions aux fréquences F et F sont émis par un basculeur FFg et des circuits intersection 85 et 86, en provenance d'une source d'impulsions d'horloge 87, tout comme dans 30 la réalisation de la figure 5. La principale différence entre les deux formes de réalisation consiste simplement en la manière dont l'information de vitesse est exprimée et la manière dont elle est introduite. Cependant, ce mode d'introduction n'est pas obligatoire puisqu'on peut incorporer un convertisseur de code pour 35 convertir les informations de vitesse dans le code "trois magique" en un nombre à quatre chiffres, auquel cas on utilise la forme de réalisation de la figure 5. Un commutateur S£ est jumelé avec le commutateur S^ pour que le train d'impulsions passant du circuit intersection 83 au compteur 70 1Ô838 22 2037264 décimal 88 soit toujours commuté sur un étage de comptage à décades de ce dernier qui est décalé, par rapport à la fréquence appliquée au multiplicateur "84 d'indices de vitesse d'avance, de trois décades. Ceci de maniéré que l'indice d'avance engendré dans le 5 compteur 88 comporte toujours trois chiffres au lieu de quatre comme sur la figure 5. Dans le système de commande numérique courant il faut au maximum 4 ms pour que l'indice de vitesse d'avance à engendrer après les ordres concernant X et Y soient lus dans la mémoire intermé-10 diaire (c'est-à-dire dans les registres de la calculatrice 54 de la figure 4) et que le signal codé "trois magique" ait été mémorisé. L'ensemble 52 de commande commun synchronise et déclenche l'opération de génération de l'indice de vitesse d'avance en ramenant à la position initiale par des circuits de retour à la posi-15 tion initiale (non représentée) tous les éléments binaires du système de la figure 5. Après la génération de 11 indice de vitesse d'avance, celui-ci peut être introduit dans le générateur 91 de vitesse d'avance chaque fois que le bloc précédent est achevé et qu'un transfert d'information en direction des multiplica-20 teurs 91, 100 et 102 est nécessaire. Le contenu du compteur décimal 90 est alors introduit dans le circuit de verrouillage 90. Les multiplicateurs 91 à cinq décades servent alors de générateurs de vitesse d'avance. A noter que, bien que les commutateurs et S£ soient représentés par des commutateurs mécaniques (qui peuvent 25 être des commutateurs à gradins actionnés par un élçctroaimant en réponse à un nombre d'impulsions égal à a-3), en pratique les commutateurs sont des commutateurs électroniques pour que le temps d'introduction de l'information de vitesse soit inférieur au temps (4 ms) nécessaire pour engendrer l'indice de vitesse d'a-30 vance. Ces commutateurs électroniques peuvent être facilement réalisés avec des transistors, par exemple dans un dispositif double de sélection "arborescent". Lors de la génération de l'indice de vitesse d'avance la quantité D introduite dans un registre D 92 est calculée de la 35 manière indiquée précédemment. La différence entre un multiplicateur 93 D et le multiplicateur correspondant de la figure 5 est la suivante : un multiplicateur 94 de signal binaire d'entrée est incorporé pour recevoir un dépassement d'un chiffre décimal 1 quand la quantité D est calculée à partir des quantités X et Y. Par 70 10838 23 2037264 exemple, si l'on admet que X = 0,7321 et Y = 0,6951, puisque X est le chiffre le plus grand, D est égal à 0,7321 +(0,5)0,6951 soit 1,0796.Le report de 1 à gauche de la virgule exige que le registre D comporte une décade additionnelle (la cinquième, pour 5 mémoriser le dépassement). Cependant, puisque X et Y sont toujours des fractions décimales, le dépassement ne peut jamais être supérieur à 1, si bien qu'un simple étage binaire doit suffire pour la cinquième décade dans le registre D. L'étage binaire 94 correspondant à l'entrée du multiplicateur D permet alors de diviser 10 par deux des impulsions provenant d'un circuit-tampon 95. Alors, si un chiffre décimal "1" est mémorisé dans la position correspondant au chiffre de poids le plus élevé du registre D, les impulsions ainsi divisées par deux sont transmises à un circuit tampon 96 sous la forme d'une partie du train d'impulsions représentant 15 le produit Q.F.D. dans lequel Q est le nombre actuellement mémorisé dans le compteur 88. Puisque le canal inférieur comporte alors un diviseur binaire additionnel dans l'étage binaire 94, un étage de correction doit être inclus dans le canal supérieur. On obtient ce résultat en incorporant dans le canal supérieur un basculeur 20 binaire FFg. Si l'étage additionnel 94 était une décade complète, alors l'étage correcteur dans le canal supérieur devrait également être une décade complète. Le générateur de vitesse d'avance qui comprend le multiplicateur 91 décimal et le circuit-tampon 97 reçoit des impulsions à 25 fréquence constante (166,66 klïz) d'une source 98 et transmet des impulsions de fréquence proportionnelle à l'indice de vitesse d'avance engendré à un interpolateur linéaire 99 classique comportant un multiplicateur 100 et un circuit-tampon 101 pour un train d'impulsions appliqué au servo-système de l'axe'des X et un multi-30 plicateur 102 et un circuit-tampon 103 pour un train d'impulsions appliqué au servo-système de l'axe des Y. Chaque multiplicateur 100 et 102 comporte quatre décades. Par conséquent, le signal de report provenant de la décade de poids le plus élevé indique un comptage de 10 000 impulsions à la borne 104, signifiant un "report 35 final" pour achever un cycle. Cependant, cette période d'un cycle correspond à moins d'une unité de longueur pour les déplacements suivant les axes X et Y. Pour les déplacements de 1 à 9,999 unités de longueur, il est nécessaire que le programme sur bande mémorise les ordres sous forme de fractions décimales et les multiplie par 70 10838 24 2037264 10 à l'aide d'un signal codé classique g(10). On peut réaliser cela en choisissant le signal "report final" à une borne 105 d'un compteur 106 à décade en cascade. Par exemple, on introduit un déplacement y de 9,9 unités de longueur sous la forme g(10) X 5 0,9900. Les déplacements de 10 a 99, 99 unités de longueur sont introduits par exemple sous la forme g(60) X 0,9999 si g(60) est un signal codé à multiplier par 100. On obtient ce résultat en choisissant le signal "report final" à partir d'une nouvelle borne 107, à la sortie d'un compteur à décade 108 en cascade avec 10 le compteur 106. Pour les déplacements inférieurs à 0,1000-par exemple 0,0500-unité de longueur par minute, les nombres correspondants doivent être "normalisés" pour supprimer les zéros immédiatement après la virgule. De cette manière, on introduit 0,0500 sous la forme 15 0,5000. Le signal de "report final" doit alors être choisi une décade avant la borne de sortie 104 pour diviser le signal de sortie de 1'interpolateur par 10. On peut également obtenir ce résultat à l'aide d'un signal codé programmé en utilisant un signal codé classique g (11). Par conséquent, en utilisant ces signaux 20 codés classiques en g, ce système maintiendra la vitesse vectorielle à la valeur indiquée pour des ordres compris entre 0,001 et 99,99 unités de longueur. Les réalisations des figures 1 à 4 ont été décrites en se référant à une valeur approchée de D égale â X + 0,5y et y + 0,5x 25 suivant que x est ou non égal ou supérieur à y. On obtiendrait une meilleure approximation avec D =|x| +|0,5y| -j 0,ix| si |x|>(y| et si |o,5y| - | 0,lxJ est supérieure à 0 ; dans le cas contraire, on peut poser D = jxjavec une approximation suffisante. Le tableau ci-après indique les erreurs résultant de ces approxi-30 mations. 70 10838 2037264 TABLEAU X Y "V x2+ *2 D erreur 1 .0 1 1,0* 0 5 1 0,1 1,005 1,0* +0,5 1 0,2 1,02 1,0* + 1,97 1 0,3 1,045 1,05 1 O CO 1 0,4 1,077 1,10 -2,15 10 1 0,5 1,12 1,15 -2,7 1 0,6 1,168 1,2 -2,75 1 0,7 1,22 1,25 "2,5 0,8 1,281 1,30 "1,5 15 1 0,9 1,346 1,35 -0,3 1 0,10 1,414 1,4 +1,0 + | 0,5ïJ-j 0,IX| est inférieure à 0 ; par conséquent D = X 20 Si Y est supérieur à X en valeur absolue, alors on échange les quantités X et Y dans l'équation et le tableau ci-dessus pour calculer D. Ce résultat peut être facilement obtenu avec la calculatrice 54 de la figure 4 en déplaçant simplement X (ou Y) d'un rang décimal pour former 0,1X (ou 0,1Y). On soustrait cette quan-25 tité de X + 0,5Y (ou Y +0,5X) en ajoutant le complément de 0,1 X (0,1Y). Pour la calculatrice 22 de la figure 1, la réalisation peut prendre la forme d'un compteur à décades relié à la sortie du circuit 35 pour former la valeur de 0,1X. Ce signal de sortie doit alors être transmis à un circuit à anti-coïncidence 30 comportant le basculeur JK FF,, et le circuit intersection 69 (Figure 5) la borne d'entrée J étant raccordée au compteur ajouté et la borne d'entrée K étant raccordée au basculeur FF^ de la calculatrice 22 de la figure 3 pour former la différence 0,5Y-0,1X. A noter que le signal de sortie du circuit à anti-coïncidence 35 qui doit être ajouté à la quantité X dans le multivibrateur 37 est considéré comme égal à 0 si 0,5Y - 0,1X est inférieur à 0, si bien que la condition imposée pour les trois premiers cas du tableau ci-dessus est satisfaite et on donne à D la valeur X. 70 10838 2037264 Ceci présuppose, évidemment, que X est égal ou supérieur à Y ; dans le cas contraire, le signal de sortie du compteur ajouté devrait être supprimé par le signal DRy provenant de l'amplificateur différentiel 19 (Figure 1) de manière que 0,1X soit égal à 0. Il 5 faut ajouter un second compteur à décades et un circuit à anticoïncidence de manière complémentaire pour les cas où Y est supérieur à X. Ce second compteur peut être mis hors d'action par le signal DRx quand X est supérieur à Y. Bien qu'on ait considéré uniquement des systèmes à deux axes 10 comme exemple de réalisation de l'invention, il va de soi que ces diverses caractéristiques peuvent être incorporées dans un système à trois axes simplement en tenant compte du troisième quand la caractéristique utilisée est liée à la détermination d'une valeur approchée de D. On peut obtenir ce résultat en ajoutant simplement 15 0,3Z à 1* approximation obtenue autrement en considérant seulement deux axes X et y. Ceci présuppose que X et y sont supérieurs à z et que toutes les autres conditions sont satisfaites. En d'autres termes D-r^x) + |0,5y| - |o,lx| + jo ,3z ^ relation dans laquelle on pose |o,5Y| - 10,IX| = 0 si Jû,5y| - |o,lx| est égale ou infé-20 rieure à 0. Si |x|>|yJ>|z|. Si cette condition n'est pas satisfaite, les déplacements suivant les axes sont interchangës en fonction de leur valeur relative. L'erreur ainsi obtenue est inférieure à + 5 % de la valeur exacte de D. Il va de soi que les nouvelles caractéristiques décritès en se 25 reportant aux réalisations des figures 5 et 6, ne sont pas liées à un calcul approché de la valeur de D, puisqu'on peut introduire la valeur exacte de D si l'on prend les dispositions nécessaires pour calculer la valeur de D en prenant la racine carrée de la . somme des carrés des déplacements suivant les divers axes. Il va 30 également de soi que, bien qu'on ait pris comme référence le système décimal à cause de l'habitude consistant à préparer les bandes dans le système de numération décimale, par exemple dans le système comportant des nombres décimaux codés sous forme binaire, toutes les nouvelles caractéristiques décrites peuvent 35 être facilement mises en oeuvre dans les systèmes binairees, même si les bandes de programmation sont établies dans le système de numération décimale, en utilisant des convertisseurs de nombres décimaux en nombres binaires dans l'unité de distribution de l'information. 70 10838 2037264 Bien entendu, diverses modifications peuvent être apportées par l'homme de l'art aux dispositif et procédé qui viennent d'être décrits uniquement à titre d'exemple non limitatif sans sortir du cadre de l'invention. LEGENDE DES DESSINS Figure Repère 1 a signe de X, signe de Y en direction des servo-systèmes •| b en direction des servo-systèmes 1 c unité de commande de la vitesse d'avance 2 d amplificateur différentiel 6 e report final 6 f ordre en X 6 g ordre en Y 70 10838 28 2037264 REVENDICATIONS 1. .Procédé d'obtention d'un train d'impulsions d'horloge dans un système â commande numérique, la fréquence dudit train d'impulsions étant fonction du mouvement désiré D de l'outil et, en ré- 5 ponse à celui-ci, les impulsions de mouvement étant obtenues en fonction des déplacements commandés suivant les axes X et Y pour chaque servo-système d'axe, de manière que ledit outil se déplace à une vitesse prédéterminée V, caractérisé en ce qu'il comprend les opérations ci-après : calcul dudit mouvement D à partir des 10 déplacements suivant les axes X et y, selon l'équation : D = |x| + Jo ,5yJ , si|x|>|y|, et D = |y| + |0,5X| , si|y|»|x|. l'émission d'un train d'impulsions dont la fréquence est une fonction de ladite vitesse V et du mouvement D calculé, et la multiplication de la fréquence-dudit train d'impulsions par les 15 déplacements X et Y dans des multiplicateurs de fréquences d'impulsions afin d'obtenir une fréquence desdites impulsions de déplacement qui communique ladite vitesse prédéterminée V au dépla- * cernent d. 2. Procédé selon la revendication 1, caractérisé en ce que 20 ledit déplacement D est calculé par les équations : D=|x|+|o,5y| -| 0,1X| si |o,5y| - |o,lx|> 0 et D =|x| si |0,5Y| - |0,1X| les déplacements X et Y étant échangés dans lesdites équations si. 25 |r|>|x|. 3. Procédé selon la revendication 2, caractérisé en ce qu'on calcule ledit mouvement D pour un système à trois axes en ajoutant |0,3Z| à chaque mouvement calculé à partir des déplacements suivant X et Y, si toutes les conditions sont satisfaites de la même ma- 30 nière que pour un système à deux axes et en échangeant X, Y et Z de manière qu'on ait, après échange, |xj>JyJ^Jz . 4. Système-de commande numérique pour un outil'de machine comportant:tout au moins des servo-systêmes pour les axes X et Y, caractérisé en ce qu'il comprend : un dispositif * de.lecture pour 35 lire à partir d'un programme mémorisé les déplacements commandés suivant les axes X et Y pour un mouvement D prédéterminé de ladite . machiner-outil '; un oscillateur commandé par une tension comportant . une borne dé commande et une borne de sortie: pour émettre un train d'impulsions-à une fréquence f par ladite borne de sortie en réponse 70 10838 2037264 à une tension de signal appliquée à ladite borne de commande ; un dispositif multiplicateur de fréquence, raccordé audit dispositif de lecture et audit oscillateur pour engendrer des impulsions de déplacement pour lesdits servo-systèmes à des fréquences fQ-X et 5 fQ.Y ; un dispositif de comparaison réagissant auxdites impulsions de déplacement pour déterminer si ladite fréquence engendrée est supérieure ou égale à ladite fréquence fQ.Y engendrée ; un dispositif diviseur commandé par ledit dispositif de comparaison pour diviser ladite fréquence fQ«Y par deux si ladite 10 fréquence fQ.X est supérieure ou égale à ladite fréquence fQ'Y et pour diviser ladite fréquence fQ«X par deux si ladite fréquence fQ.Y est supérieure à ladite fréquence fQ«X ; un dispositif combi- nateur commandé par ledit dispositif diviseur pou? combiner en les fréquence intercalant, les impulsions provenant de ladite/f0X ou fqy divisée, 15 avec des impulsions provenant de ladite fréquence fQX ou fqy non -divisé de manière à engendrer un train d'impulsions à une fréquence fg donnée par l'équation fg = fQ £ I x|+ |0/5y|J si |xj> (y| ou par l'équation fg = fQ £|y|+ |o,5xfj si | y|> jxj ; et un dispositif de 20 conversion réagissant aux signaux de sortie dudit dispositif combi-nateur pour faire apparaître une tension de signal à ladite borne de commande dudit oscillateur en réponse à ladite fréquence f , de 5 manière que ladite fréquence, fQ soit fonction d'une valeur approchée du mouvement D donné par l'équation : 25 d = |xj + |0,5y| si |x}^|y| , et d = )y|+|0,5xj si|y|>[x|. 5. Système de commande numérique pour outil de machine, caractérisé en ce qu'il comprend : un premier dispositif pour lire sur un programme d'information mémorisé pour une machine un mouve-' ment désiré D de l'outil et une vitesse désirée V pour ledit mou-30 vement D ; un second dispositif réagissant audit premier dispositif pour émettre un premier train d'impulsions à une fréquence en relation avec le produit d'une constante F par ladite vitesse V ; un troisième dispositif réagissant audit premier dispositif pour émettré un second train d'impulsions à une fréquence en relation 35 avec le produit de ladite constante F, d'un nombre Q et de ladite amplitude D du mouvement ; un quatrième dispositif réagissant aux-dits second et troisième dispositifs pour comparer ledit premier train d'impulsions audit second train d'impulsions et, en fonction de ceux-ci, pour émettre un troisième' train d'impulsions à une COPV 70 10838 2037264 fréquence proportionnelle à la différence des fréquences desdits premier et second trains d'impulsions et un compteur pour engendrer ledit nombre Q en réponse audit troisième train d'impulsion pour augmenter la fréquence dudit second train d'impulsion jus-5 qu'à la fréquence dudit premier train d'impulsions à l'instant pour lequel F.V = F.Q.D, avec Q = FRN, la quantité FRN étant un indice de vitesse d'avance égal au rapport V/D. 6. Système de commande selon la revendication 5, caractérisé en ce que ladite information concernant le mouvement de l'outil 10 est lue par ledit premier dispositif sous forme de déplacement suivant les axes X et Y et en ce que ledit troisième dispositif comporte des éléments réagissant auxdits déplacements suivant les axes pour calculer ledit mouvement D à partir desdits déplacements et en ce que lesdits organes de détermination calculent ledit 15 mouvement selon les équations : D = |x|+ jû ,5Y | si |X | > J Y j, et D = | Y|+ |0,5X| si |ï |>-| X |. 7. Système de commande selon la revendication 6, caractérisé 20 en ce que lesdits organes de détermination calculent ledit mouvement D d'après les équations : D = | X J+ Jû, 5y| -| 0,ixj si }û,5y( -j 0,ixj> 0, et d = | X | si |0,5yJ - | 0,ix|4: 0, 25 les déplacements X et Y étant échangés dans lesdites équations si |Y|>| X|. . 8. Système de commande selon la revendication 7, caractérisé en ce que lesdits organes de détermination calculent ledit mouvement D pour un système à trois axes en ajoutant |0,3 zj à chaque 30 mouvement calculé à partir des déplacements suivant X et Y, si toutes les conditions sont satisfaites comme pour un système à deux axes et en échangeant les dénominations de X, Y et Z de manière qu'après échange, J X j> j yJ> jzj. 9. Système de commande selon la revendication 5, caractérisé 35 en ce que ledit second dispositif comporte un premier multiplicateur de fréquence destiné à recevoir ladite vitesse V et un train d'impulsions à une fréquence constante F de manière à engendrer un signal de sortie à partir du premier train d'impulsions à une fréquence de référence, qui est fonction de la vitesse V ; ledit 70 10838 2037264 troisième dispositif comporte un second multiplicateur destiné à recevoir ledit nombre Q et un train d'impulsions à l'entrée à ladite fréquence constante F de manière à engendrer un train d'impulsions à une fréquence fonction de la valeur du nombre Q, 5 ledit troisième dispositif comportant de plus un troisième multiplicateur conçu de manière à recevoir la valeur de l'amplitude dudit mouvement D et ledit train d'impulsions en provenance dudit second multiplicateur de manière à engendrer à partir dudit second train d'impulsions un signal de sortie de fréquenc^Tïwfction 10 dudit mouvement D et dudit nombre Q, ledit quatrième dispositif destiné à comparer la fréquence dudit premier train d'impulsions émis en provenance dudit premier multiplicateur de vitesse par une fréquence avec la fréquence dudit second train d'impulsions émis par ledit troisième multiplicateur et S émettre ledit troi-15 sième train d'impulsions à une fréquence proportionnelle à ladite différence de fréquences et en ce que ledit compteur fournissant ledit nombre Q est branché de manière à recevoir ledit troisième train d'impulsions provenant dudit dispositif comparateur de manière à augmenter ledit nombre Q jusqu'à ce que les multipli-20 cateurs desdits premier, second et troisième dispositifs multiplicateurs soient liés par la relation V = Q.D, Q étant alors égal à un indice de vitesse d'avance nécessaire pour multiplier une fréquence d'horloge de manière à émettre un train d'impulsions à une fréquence proportionnelle au quotient de la vitesse V par 25 le mouvement D pour un déplacement de l'outil de la machine à la vitesse V désirée. 10. Système de commande selon la revendication 9, caractérisé en ce que ladite vitesse V est représentée par un signal codé f(abc), dans laquelle "a" est un coefficient d'un multiplicateur 30 Ra ^ pour le reste du signal codé représentant une fraction (.bc) dans laquelle R est la base desdites informations numériques et p est une constante, ledit second dispositif réagissant aux signaux provenant dudit premier dispositif pour produire ledit premier train d'impulsions de fréquence égale au produit de ladite cons-35 tante F par ladite fraction (.bc), et en ce que ledit troisième dispositif réagit aux signaux provenant dudit premier dispositif pour émettre ledit second train d'impulsions à une fréquence égale au produit de ladite constante F par un nombre Q, l'amplitude dudit mouvement D et l'inverse dudit multiplicateur Ra