FR 2083350 A1 19711217 FR 7109268 A 19710317 7î 09268 i 206^350 La présente invention concerne des dispositifs pour la commande numérique de machines à reproduire des contours, notamment pour réaliser la commande numérique du mouvement relatif entre un organe de machine et une pièce à travail-5 1er. Dans la commande numérique de machines-outils, le mouvement que l'on veut donner à un organe de coupe par rapport à une pièce à travailler se décrit par un programme d'ordres sous forme digitale, qu'on fournit, en fait, à l'en-30 trée du système de commande par des moyens tels que des bandes perforées. Les données d'entrée au système de commande doivent contenir l'information concernant à la fois la vitesse, dite aussi vitesse comparative du mouvement d'avance (pas d'avance), et la trajectoire du mouvement relatif entre l'organe de coupe 15 et la pièce à travailler. Cette trajectoire du mouvement relatif en l'organe de coupe par rapport à la pièce à travailler est donnée pour chaque incrément programmé du mouvement, par des signaux qui indiquent les incréments du mouvement suivant deux ou trois axes perpendiculaires entre eux, ces signaux pouvant 20 être définis par exemple comme étant les coordonnées X, Y et Z. La présente invention sera décrite entièrement en considérant le mouvement défini par deux coordonnées (X et Y), mais il est évident que l'on pourra l'étendre à des systèmes-qui utilisent la troisième coordonnée Z. L'information contenue dans les 25 coordonnées individuelles indique les grandeurs relatives du déplacement que doivent effectuer les éléments de la machine pour arriver à la nouvelle position résultante. Le mouvement résultant de l'outil se fait alors suivant ce que l'on peut appeler une dimension diagonale que l'on peut considérer comme 30 l'hypoténuse d'un triangle dont les autres côtés sont définis par les coordonnées X et Y. Le pas d'avance, ou signal vitesse, indique dans son état initial, la vitesse absolue de l'outil suivant cette diagonale ou hypoténuse. Pour obtenir la vitesse voulue, le système doit engendrer des signaux qui commandent 35 les vitesses des éléments de commande de la machine suivant les axes respectifs X et Y, ces signaux étant des combinaisons des coordonnées de déplacement suivant X et Y, et du signal vitesse. Pour réaliser cela, un train d'impulsions est émis pour chaque coordonnée. Pour obtenir la vitesse résultante 40 voulue suivant la diagonale, les composantes du signal vitesse 71 09268 2 2083350 des ordres pour r et Y doivent être modifiées convenablement suivant. les dimensions du triangle rectangle définies par les cr.ordcruiées I et Y. Il était de pratique courante d'inscrire cette variation des signaux de vitesse dans le programme fourni 5 à la machine. Il s'est avéré que c'était là imposer une lourde tâche de calcul au programmeur, et le coût de la préparation d'un programme s'en trouvait aggravé. Un but de la présente invention est donc de fournir un système numérique de commande capable d'accepter 10 des données d'entrée contenant une information de vitesse programmée directement en unités de vitesse et capable de commander la vitesse du mouvement en deux ou trois dimensions sur une trajectoire de forme quelconque. L'invention consiste en un système numérique 15 de commande pour commander le fonctionnement d'une machine-outil automatique en commandant le mouvement relatif entre un outil de coupe et une pièce à travailler, tel qu'il est défini par des coordonnées programmées suivant au moins deux axes perpendiculaires l'un à l'autre, et pour commander le pas 20 d'avance du mouvement relatif suivant une diagonale définie par lesdites coordonnées en réponse à des signaux représentatifs de la vitesse comparative du mouvement d'avance. Le système comprend un générateur de fonction propre à émettre des signaux d'ordre propres aux axes individuels sous la forme de trains 25 d'impulsions séparés pour chacun de ces axes, comme déterminés par les coordonnées programmées, avec un moyen séparé pour recevoir les signaux d'ordre pour chaque axe et pour fournir les carrés des valeurs des déplacements prescrits suivant chacun des axes par les signaux d'ordre relatifs aux axes, des moyens 30 étant prévus pour fournir la somme des carrés des signaux d'ordre pour les mouvements relatifs respectivement à ces axes. Le système comprend encore des moyens pour engendrer des signaux vitesse correspondant à la vitesse comparative du mouvement d'avance sous la forme d'un train d'impulsions représentant 35 une vitesse programmée, des moyens reliés aux moyens générateurs de la vitesse comparative du mouvement d'avance pour mettre en mémoire une notation représentative de la somme des signaux vitesse représentatifs des pas d'avance, des moyens pour élever au carré cette notation de la somme des signaux vitesse repré-40 sentatifs des pas d'avance, des moyens pour comparer le carré 71 09268 3 2083350 de la somme en question des signaux vitesse à la somme des carrés des signaux d'ordre pour le mouvement suivant l'axe considéré et des moyens propres à engendrer, en réponse à une différence détectée par cette comparaison, des signaux transmis pour commander le fonctionnement du générateur de fonction en vue de modifier les signaux d'ordre touchant l'axe considéré, dans le but de réduire la différence et de maintenir ainsi une vitesse de pas d'avance conforme à la vitesse programmée. Le fonctionnement selon la présente invention repose sur le principe géométrique bien connu énonçant que le carré de l'hypoténuse d'un triangle rectangle doit être égal à la somme des carrés des deux autres côtés de ce triangle. On utilise ce principe dans le système de la présente invention pour commander de façon continue le fonctionnement du système pour obtenir le long de l'hypoténuse ou la diagonale, une vitesse de la machine qui correspond à la vitesse programmée. Sur les dessins joints au présent mémoire : La figure 1 est une représentation en perspective du système de commande numérique et d'une machine-outil suivant la présente invention. La figure 2 est un diagramme de blocs d'un système suivant la présente invention. La figure 3 est un diagramme de blocs montrant des détails du circuit d.e commande direct 10 de la vitesse d'avancement du système de la figure 2. La figure 4 est un diagramme de blocs correspondant à la figure 3, et montrant une variante du circuit de commande direct 10 de la vitesse d'avancement du système de la figure 2. La figure 1 représente un système de commande numérique qui comprend un pupitre de commande 1 et une machine-outil automatique 2. La machine-outil automatique 2 porte un outil de coupe 3 pour exécuter les opérations voulues sur une pièce à travailler 4 montée sur une table 5. Les opérations de coupe voulues sont exécutées en déplaçant l'outil de coupe 3 par rapport à la pièce à travailler 4, on en déplaçant la pièce à travailler 4 par rapport à l'outil de coupe 3, en réponse aux instructions programmées. Le mouvement relatif entre l'outil de coupe 3 et la pièce à travailler 4 est dit "mouvement de la machine-outil automatique". Les instructions 71 09268 s 2083350 L'emploi du principe suivant lequel le carré de l'hypoténuse est égal à la somme des carrés des deux autres côtés fournit un procédé pour réaliser le calcul exact des côtés du triangle rectangle défini par les coordonnées programmées 5 et prescrites X et Y et par la vitesse programmée. Ceci fournit un moyen pour une commande exacte de la vitesse ou du pas d'avance à partir des données du programme, fournies directement au générateur du pas d'avance, sans qu'il soit nécessaire de procéder à des calculs séparés par le programmeur pour compenser 10 les changements d'angle. C'est pour cette raison que le circuit 10 a été appelé circuit de commande directe du pas d'avance. Pendant le fonctionnement du circuit, les nombres emmagasinés dans les registres 64, 65 et 66 croissent de plus en plus. Pour que le prix de l'équipement soit maintenu dans des limites 15 raisonnables, la capacité de ces registres doit être limitée. Par conséquent, les registres 63, 64 et 65 sont construits de préférence pour avoir les mêmes dimensions. Avec cet agencement, le registre d'hypoténuse 66 sera le premier à être complètement rempli. Un circuit séparé (non montré) est prévu pour déterminer 20 quand cet état de choses se présente et, en conséquence, les trois registres 64, 65 et 66 sont remis à zéro. Ils recommencent alors immédiatement à se remplir et à assurer la suite du calcul des carrés emmagasinés dans le registre 70. On a trouvé que lorsqu'on utilise les registres 64, 65 et 66, ayant respective-25 ment une capacité de seulement 8 chiffres binaires, l'erreur due à la remise à zéro et au redémarrage du comptage conduit à une erreur inférieure à 1/2 % dans la vitesse prescrite . Si l'on désire des précisions supérieures,- on peut utiliser des registres de plus grande capacité. 30 Une différence nulle dans le registre de somma tion des carrés 70 indique l'égalité de la vitesse programmée de Fp et de la vitesse effective prescrite par les signaux ]?x et F , tandis qu'une différence négative indique que la vitesse v prescrite à partir des signaux F et F est plus grande. Dans x y 35 les deux cas, aucun signal de sortie n'est fourni par le registre 70 de sommation des carrés par le circuit de transfert 75A et la borne 63 au générateur de fonction 22. Ainsi, le système attend jusqu'à ce qu'au moins une impulsion de pas d'avance programmé supplémentaire arrive par la borne 60 au registre 66, 40 permettant ainsi au train d'impulsions du pas d'avance programmé 71 09268 9 2083350 de rattraper et de dépasser légèrement le pas d'avance prescrit. Lorsque cette situation correspondant à un excès se présente, un résultat de différence positive est emmagasiné dans le registre de' sommation des carrés 70 et le circuit de transfert 5 75A est alors établi de façon à transmettre une impulsion par la borne 63 au générateur de fonction 22, faisant que le générateur de fonction émet une impulsion ou une impulsion F . La porte 75A est alors rétablie par une impulsion d'horloge arrivant par le fil 73. Ainsi, des signaux formés par des trains 10 d'impulsions sont transmis par l'intermédiaire du générateur de fonction 22 en réponse seulement à des signaux de différence positive emmagasinés dans le registre de sommation des carrés 70. Néanmoins, cette transmission à polarité unique d'impulsions règle l'équilibre entre la somme des carrés des 15 quantités stockées dans les registres 64 et 65 et le carré de la quantité stockée dans le registre 66, en raison du train continu d'impulsions F^ fourni à partir du générateur de pas d'avance par l'intermédiaire du registre 66. Si le registre de sommation des carrés montre un contenu positif, des impulsions 20 sont émises par l'intermédiaire du circuit 75A pour faire fonctionner le générateur de fonction 22 en vue de fournir des impulsions Fx et F en sorte que les quantités emmagasinées dans les registres 64 et 65 rattrapent les quantités -emmagasinées dans le registre 66. Si la quantité stockée dans le registre 70 25 de sommation des carrés est négative, aucune impulsion n'est émise par la bascule 75A et le générateur de fonction n'engendre pas d'impulsions Fx et F pour permettre ainsi le rattrapage des impulsions du générateur de pas d'avance emmagasinées dans le registre 66. 30 La figure 4 est un schéma d'une variante de forme de réalisation du circuit de commande directe 10 du pas d'avance. Gomme dans la forme de réalisation qui vient d'être décrite à propos de la figure 3, le générateur de fonction 22 et le générateur du pas d'avance 14, y sont également représentés. 35 Une différence fondamentale du circuit de la figure 4 par rapport au circuit de la figure 3 réside en ce que l'on a prévu une boucle de commande supplémentaire. Le registre 66 continue à stocker un nombre qui représente la diagonale ou l'hypoténuse du triangle rectangle, c'est-à-dire un nombre représentant la 40 somme des signaux représentatifs de la vitesse ou du pas 71 09268 10 2083350 d'avance. Cependant, ce nombre est emmagasiné en enregistrant des impulsions l'erreur F transmisss à partir du registre q■- ioamation des carrés 70 par 1 ' intermédiaire d'an générateur d'incréments résultants 75, à la borne 81. Cette boucle de si-5 gnal d'erreur retient le nombre stocké dans le registre 66 à une valeur suffisante pour équilibrer la relation des carrés, telle qu'établie dans le registre de sommation de carrés 70. Une détermination se fait pour savoir si cette valeur Fr correspond au train d'impulsions F^ provenant du générateur de pas d'avan-10 ce 14, dans un registre de différence 80. Lorsque le nombre du registre de différence est positif, indiquant un dépassement des impulsions représentatives du pas d'avance programmé F f la seconde boucle de commande est reliée par une connexion 82 à un circuit de transfert 75A pour fournir une impulsion nouvelle 15 à la borne 63 pour le générateur de fonction 22. Le générateur de fonction 22 émet alors des impulsions vers les registres 64 et 65 afin que les signaux d'ordre rattrapent les impulsions de pas d'avance programmé et provenant du générateur de pas d'avance 14. Lorsque cet état de choses est établi, les signaux 20 qui sont emmagasinés dans le registre 66 correspondent aux signaux du pas d'avance qui ont été émis à partir du générateur 14. Pour que le fonctionnement ait lieu de la façon décrite, le générateur d'incréments résultants 75 peut 25 être un circuit de transfert à bascuieur binaire qui ne répond qu'à un nombre négatif dans le registre de sommation de carrés 70. Cette polarité du fonctionnement est nécessaire puisqu'un nombre négatif montre que le contenu du registre 66 doit être accru de façon à obtenir un équilibre dans le registre de 30 sommation 70. La figure 4 comprend aussi des circuits de commande d'échelle 85 et 86 montés respectivement entre la borne d'entrée 61 et le registre 64 et entre la borne d'entrée 62 et le registre 65. Les circuits de commande d'échelle peu- 35 vent fonctionner sélectivement pour transmettre à une échelle de un ou à une échelle de dix les trains d'impulsions F et F x y en provenance du générateur de fonction 22, vers les registres 64 et 65. Une échelle autre que dix peut être utilisée si on le désire. Le fonctionnement à échelle de dix est utilisée 40 lorsque le système détermine que la vitesse programmée est si 71 09268 ii 2083350 grande que le générateur de fonction 22 ne peut pas produire d'impulsions à une cadence suffisante pour commander une vitesse égale à la vitesse programmée. Cet état de choses est déterminé par la présence d'un nombre élevé dans le registre de différence 5 80, en faisant passer la sortie, à une borne de sortie 83 du registre de différence 80, à un circuit OU 29. La sortie du circuit OU 29 est admise à une entrée d'une bascule 290 ayant des bornes de sortie qui correspondent respectivement aux bornes de commande à échelle d.e un et à échelle de dix, 87 et 88. 10 L'échelle du fonctionnement répond également à une vitesse programmée élevée en faisant passer le signal de sortie approprié du générateur de pas d'avance 14 au circuit OU 29. Lorsqu'on ne dispose d'aucune entrée pour la bascule 290 à partir du circuit OU 29, elle fournit -un signal de commande à échelle de un 15 à la borne 87. Un signal d'entrée venant de 29 rétablit la bascule 290 dans son état initial et un signal de commande à échelle de dix est fourni à la borne 88. La bascule 290 est rétablie par un signal en 290A à la fin du fonctionnement pour un bloc de données. 20 De la borne d'entrée 61, des impulsions sont ad mises aux bornes d'entrée de la première et de la seconde porte ET 90 et 91 du circuit de commande d'échelle 85. La porte ET 90 possède aussi une borne d'entrée reliée à la borne 88 de commande de l'échelle de dix et la porte ET 91 possède également une 25 entrée reliée à la borne 87 de commande de l'échelle de un. La sortie de la porte ET 90 est reliée à un multiplicateur d'impulsions 93 dont la sortie est reliée à une entrée de la porte ET 94. L'autre entrée de la porte 94 est également reliée à la borne 88 de commande d'échelle de dix. Les deux portes ET 91 et 94 ont 30 leurs sorties reliées à une porte OU 96 dont le signal de sortie est admis au registre 64. De même, la borne d'entrée 62 fournit des impulsions F aux portes ET 100 et 101 qui ont éga- w lement des entrées reliées aux bornes 87 et 88 respectivement. La porte ET 100 est reliée à un multiplicateur d'impulsions 103. 35 Le multiplicateur 103 fournit un signal de sortie à une porte ET 104 ayant également une borne d'entrée reliée à la borne 88. Les deux portes ET 104 et 101 sont reliées à une porte OU 106 couplée au registre Y 65. Lorsque le nombre contenu dans le registre de 40 différence 80 et la vitesse programmée sont en dessous d'un 71 09268 12 2083350 niveau prédéterminé, la bascule 90 est rétablie dans son état initial. Ceci rend non conductrices les portes ET 90 et 94 et rend conductrice la porte ET 91. Des impulsions F sont admises sans changement de la borne 61 par la porte ET 91 et la porte 5 OU 96 au registre 64. Lorsque le nombre dans le registre de différence 80 est égal à un nombre prédéterminé ou dépasse un nombre prédéterminé ou lorsque la vitesse ordonnée par le générateur de pas d'avance 14 est si grande qu'elle indique que le circuit de commande numérique ne peut pas satisfaire à la 20 vitesse commandée, la bascule 290 est commandée. Ceci fait fonctionner le circuit de commande numérique à l'échelle de dix. La porte ET 91 devient non conductrice et les portes ET 90 et 94 deviennent conductrices. Des impulsions F sont appliquées de la borne 61, par la porte ET 90, multipliées par le circuit 15 93 et admises par la porte ET 94 et la porte OU 96 au registre 64. De même, les portes ET 100 et 104 font passer des impulsions F par le multiplicateur 103 au registre 65. w 71 09268 13 2083350 - REVENDICATIONS -1. Dispositif de commande numérique pour une machine-outil automatique par la commande du mouvement relatif entre un outil de coupe et une pièce à travailler, tel que 5 défini par des coordonnées programmées suivant au moins deux axes perpendiculaires l'un à l'autre et pour commander la vitesse comparative du mouvement d'avance (pas d'avance) le long d'une diagonale définie par ces coordonnées, en réponse à des signaux représentant le pas d'avance du type comprenant un géné- 10 rateur de fonction propre à émettre des signaux d'ordre (F , F ) x y individuels pour les axes, et se présentant sous, la forme de trains d'impulsions séparés pour dhacun des axes, en fonction des coordonnées programmées, caractérisé en ce qu'il comprend des moyens séparés (64, 65, 70A ; 10) pour recevoir les signaux 15 d'ordre pour les axes, et pour fournir des notations séparées pour les carrés des valeurs des déplacements prescrits.selon chacun des axes par les signaux d'ordre des axes, des moyens (70) fournissent la sommation des carrés des signaux d'ordre pour les mouvements respectifs le long desdits axes respectifs, 20 un générateur (14) pour engendrer des signaux représentatifs du pas d'avance sous la forme d'un train d'impulsions représentant une vitesse programmée, des moyens (66) reliés au générateur du pas d'avance pour emmagasiner une notation représentative d'une somme de signaux vitesse correspondant aux pas d'avance , 25 des moyens (66, 70A) pour élever au carré cette notation de la somme de signaux vitesse correspondant aux pas d'avance, des moyens (70) pour comparer ce carré de la somme des signaux vitesse à la somme desdits carrés des signaux d'ordre de mouvement le long des axes, et des moyens (75) propres à engendrer, en ré-30 ponse à une différence détectée par cette comparaison, des signaux (en 63) pour commander le fonctionnement du générateur de fonction en vue de modifier les signaux d'ordre pour les axes individuels et de réduire cette différence et de maintenir ainsi un pas d'avance conforme à la vitesse programmée. 35 2. Dispositif suivant la revendication 1, carac térisé en ce que les moyens séparés pour recevoir et pour engendrer des notations séparées des fonctions carrées des valeurs des déplacements prescrits suivant chacun des axes comprennent un registre séparé (64, 65) pour chaque axe, pour emmagasiner 40 les notations non élevées au carré des déplacements prescrits 71 09268 14 2083350 suivant axe correspondant et propre à emmagasiner un certain nombre indiquant le mouvement ordonné selon cet axe, lesdits •no y en ? pour eaunagasiner la notation d'une somme de signaux représentatifs du pas d'avance comprenant un registre. 5 3. Dispositif suivant l'une quelconque des reven dications 1 et 2, caractérisé en ce qu'un moyen élévateur au carré unique (70A) est prévu pour engendrer les carrés des déplacements prescrits suivant chacun des axes et pour élever au carré la notation de la somme des signaux de vitesse corres-10 pondant au pas d'avance. 4. Dispositif suivant la revendication 3, caractérisé en ce que le moyen élévateur au carré uniqae (70A) comprend un circuit additionnsur propre à engendrer des valeurs cumulatives de fonctions au carré par additions successives de la 15 fonction (2n+l), chaque addition étant exécutée pour un quelconque desdits registres à la réception d'une nouvelle impulsion par ce registre, n étant la valeur du nombre emmagasiné dans le registre avant mise en mémoire de la nouvelle impulsion. 5o Dispositif suivant l'une quelconque des reven-20 dications 1, 2, 3, 4, caractérisé en ce que les moyens pour sommer les carrés des signaux d'ordre pour les axes respectifs, et les moyens pour comparer le carré de la somme des signaux vitesse à la somme des carrés des signaux d'ordre de mouvement pour les axes, sont combinés dans un dispositif additionneur 25 unique (70A) et un registre de sommation de carrés unique (70) pour additionner le carré de la somme des signaux vitesse en sens opposés à la somme des carrés des signaux d'ordre pour le mouvement suivant les axes et pour emmagasiner le résultat qui indique une différence numérique. 30 6. Dispositif suivant l'une quelconque des reven dications 1, 2, 3, 4, 5, caractérisé en ce que le moyen (75A) propre à fonctionner en fonction d'une différence détectée dans la comparaison n'est capable d'engendrer des signaux qu'en réponse à une différence d'une seule polarité. 35 7. Dispositif suivant l'une quelconque des reven dications 2,3, 4, 5, 6, caractérisé en ce qu'il comporte des moyens reliés au registre de pas d'avance et susceptibles, lorsque le registre de pas d'avance emmagasine un nombre plus grand qu'une valeur prédéterminée, à vider le registre de pas d'avance 40 (66) et les registres des axes (64, 65). 71 09268 15 2083350 8o Dispositif suivant l'une quelconque des revendications 1, 2, 3, 4, 5, 6, 7, caractérisé en ce que les moyens (66) pour emmagasiner la notation d'une somme des signaux vitesse correspondant au pas d'avance sont montés directement 5 pour recevoir et emmagasiner les signaux de la vitesse programmée, à partir des moyens générateurs de signaux vitesse correspondant au pas d'avance (14). 9. Dispositif suivant l'une quelconque des revendications 1, 2, 3, 4,-5, 6, 7, caractérisé en ce que l'entrée JÙ des moyens (66) pour emmagasiner la notation d'une somme des signaux vitesse correspondant au pas d'avance est reliée de façon à recevoir les signaux de différence provenant des moyens (75) propres à répondre à une différence détectée, ces signaux de différence représentant les signaux vitesse correspondant 15 au pas d'avance qui y sonf emmagasinés, les moyens propres à répondre à une différence détectée comprenant encore des moyens (80) montés pour comparer les signaux vitesse programmés venant des moyens générateurs (14) de signaux vitesse correspondant au pas d'avance, aux signaux de différence représentant les 2© signaux vitesse correspondant au pas d'avance et propres à commander le générateur de fonction (22) suivant cette comparaison. 10. Dispositif suivant la revendication 9, caractérisé en ce que les moyens (80) montés pour comparer les si- 25 gnaux vitesse programmés provenant du générateur (14) aux signaux de différence représentant les signauxde vitesse correspondant au pas d'avance, comprennent un registre de différence auquel les signaux à comparer sont fournis, l'un desdits signaux étant ajouté au contenu du registre et l'autre desdits signaux 30 étant soustrait du contenu dudit registre,une connexion (82,75A,6 3) étant prévue entre ]e registre de différence (80) et le générateur de fonction (22) pour mocLifier le fonctionnement du générateur de fonction chaque fois qu'une valeur complémentaire est indiquée dans le registre de différence. 35 11. Dispositif suivant l'une quelconque des revendications 9 et 10, caractérisé en ce qu'il comporte des moyens de modification d'échelles (85, 86) montés entre le générateur de fonction (22) et les registres d'ordres pour les axes (64, 65) pour fournir sélectivement à ces derniers, soit 40 des signaux d'entrée, indiquant le mouvement commandé suivant 71 09268 16 2083350 les axes respectifs, soit des signaux d'entrée indiquant un multiple des mouvements commandés suivant les axes, ainsi que des moyens bistables de sélection d'échelle (290) ayant une entrée (83, 29) répondant à une condition, agencés pour répondre à un nombre d'une grandeur prédéterminée emmagasiné dans le registre de différence (80) et ayant des sorties couplées aux moyens de modifications d'échelle pour choisir les entrées aux registre des axes.