FR 2198189 A1 19740329 FR 7322351 A 19730613 La présente invention concerne un systeme de commande numérique adaptative de machineoutils, modifiant l'opération de commande numériQue en fonce tion de variables mesurées sur la machine pendant l'opération d'usinege. La présente invention concerne plus particulièrement une méthode d'utilisation d'un ordinateur connecté à un système de commande numérique afin de modifier l'opération basée sur un programme de commande numérique précéderrrnent préparé pour en améliorer les performances, en fonction de la réaction des forces de déviation mesurées pendant l'usinage de chaque pièce. La commande adaptative de machineoutils par des systèmes utilisant des mesures de données de déviations d'outils, est connue dans l'art antérieur. On sait que les forces de déviation totales de l'outil délivrent des informations concernant le degré d'ajustement nécessaire de la vitesse d'avancement. En général, on a constaté que ces informations tendent à demander une réduction excessive de la vitesse d'avancement par comparaison avec la méthode utilisée dans la présente invention. On a constaté que le facteur critique en ce qui concerne cet ajustement est la composante de force perpendiculaire à la trajectoire de coupe. En conséquence, un objet de la présente invention est d'assurer à un système permettant la commande de machines ou d'outils automatiques et la modification adaptative de la vitesse d'avancement, une amélioration résidant dans le commande de la vitesse d'avancement en fonction de la force de déviation normale à la trajectoire de coupe de l'outil. Selon la présente invention, on peut réaliser un système et concevoir une méthode permettant de réaliser cet objet. Le système et la méthode de commande adaptative d'outil ou de machine-outil comprend un contrôleur d'outil automatique, une unité de commande adaptative, un programme délivrant une commande programmée au contrôleur et des données correspondantes à l'unité de commande adaptative. Un outil est connecté au contrôleur pour fonctionner sous la commande de celui--ci. Une pièce de travail est fixée près de l'outil. L'outil est orienté vers la pièce de travail et un moteur d'avancement entraine l'outil et la pièce de travail relativement l'un par rapport à l'autre. Une unité de commande de vitesse d'avancement délivre des signaux au contrbleur pour commander l'actionnement du moteur d'avancement en réponse aux signaux de modification de vitesse d'avancement. Des détecteurs génèrent des signaux proportionnels à la force de dévia tion entre l'outil et la pièce de travail. L'unité de commande adaptative est prévue pour calculer la composante critique de la force de déviation perpendiculaire à la trajectoire de coupe comnandée par les données du programme L'unité de commande adaptative utilise la composante critique et délivre un signal de sortie de modification de vitesse d'avancement variant en fonction de la composante critique. Le signal de modification de vitesse d'avancement est envoyé à l'unité de commande de vitesse d'avancement depuis l'unité de commande adaptative-. La figure 1 représente un système d'usinage actionné par ordinateur et à commande de fonctionnement adaptative numérique directe, à boucle fermée. La figure 2A représente un outil et une pièce de travail W, l'outil se déplaçant le long de la trajectoire P, suivant l'axe x, la force de dévie tion F étant dirigée suivant l'axe y. L'axe longitudinal de l'outil est représenté comme étant parallèle à l'axe z, L'outil est à utiliser pour le fraisage latéral ou le fraisage de rainures dans la pièce W le long de la surface définie par les axes x et n La figure 26 représente le rapport des forces et d'une trajectoire de coupe P différente de celle représentée à la figure 2A pour un outil découpant une pièce de travail du type représenté à la figure 2A. La figure 3 représente l'assemblage des figures 3A, 36 et 3C qui forment ensemble une représentation schématique partielle du système de la figure 1, présentant à la fois l'équipement de la figure 1 et le système de commande programmé dans l'ordinateur. La figure 4 est une représentation schématique du bloc de commande de mouvement et de synchronisation de données représenté à la figure 3A dans l'interface 38. La figure 5 représente le système de traitement de données des figures 1 et 3A, 36 et 3C au point de vue programmation, illustrant les larges fonctions de traitement de données sous forme très générale, et un ordinateur de trai tement de données ajouté à l'ordinateur de commande d'opération pour la préparation du programme de pièce de la commande de mouvement avancé tAMC). La figure 6 représente l'assemblage des figures 6A et 6B qui en combinaison re /représentent schématiquement le déroulement des opérations représentées aux figures 3A, 36 et 5, en partie, en insistant sur les fonctions représentées à la figure 36. Les figures 7 et 8 représentent le mouvement de l'outil de coupe sur une trajectoire circulaire, indiquant des paramètres utilisés en interpola tion circulaire selon la présente invention. La figure 9 est un diagramme (MLMSR) permettant le calcul de la force de déviation normale à la trajectoire de l'outil, permettant le calcul de valeurs pour l'interpellation circulaire, si nécessaire. La figure 10 est un diagramme présentant le calcul du vecteur de dévia tion nul M. a figure Il représente un diagramme (ACSCN) pour amorcer le calcul de la force de déviation de Cl, C2 et C3, demandée par ACSCN. La figure 12 est un diagramme (MLOPT} pour l'utilisation de la force de déviation FD permettant la maximisation de la dimension du mordant B qui est utilisé comme un index de performance, La figure 13 représente ltalgorithme de la figure 12 sous forme de graphique, la force de déviation FD étant représentée en fonction du mordant 6. L'augmentation et la diminution de la vitesse d'avancement et ainsi du mordant B sont représentées pour des gammes variables de valeurs précédentes de B et pour des gammes variables de FD. La figure 14 représente un programme pour le calcul de BRM qui implique la multiplication de la vitesse de broche normalisée S/So du moteur par le mordant B. Dans les systèmes de commande de fraisage latéral ou de rainures à boucle fermée classiques, ou dans les systèmes de commande adaptative, l'amplitude de la force tendant à dévier l'outil de coupe par rapport à sa trajectoire désirée est mesurée et commandée. Etant donné que le métal placé directement à l'avant de l'outil de coupe sera retiré par la dent suivante de l'outil de coupe lors de la rotation de celui-ci, seules des déviations de l'outil de coupe perpendiculaires à la direction de sa trajectoire et donc seules les forces perpendiculaires à la direction de sa trajectoire affecteront la surface de la pièce en cours de fraisage.La présente invention combine la direction connue de la trajectoire avec une force mesurée (direction et grandeur) pour obtenir une déviation indiquée perpendiculaire à la trajectoire de coupe, Puis en conjonction avec la maximisation du mordant de l'outil de coupe, cette déviation indiquée est maintenue à l'intérieur de certaines limites (précisées par les tolérances de l'usinage particulier effectué) en réduisant la vitesse d'avancement, en ralentissant donc l'opération de découpe et réduisant la déviation. L'équipement dans lequel cette invention peut être utilisée comprend un système d'usinage commandé par un ordinateur à boucle fermée représenté à la figure 1. Un disque 10 délivre des données de commande de programme à un ordinateur de commande d'opération 50 connecté réciproquement par une interface 38 à un contrdleur à commande numérique 14 adapté pour commander la machineoutils 18. Oes détecteurs sur la machine-outil 18 sont connectés par des amplificateurs 34 prévus dans l'interface 38 et par le convertisseur A/D 23 au module de programme de commande adaptive 19 dans l'ordinateur 50. L'ordinateur 50 comprend un module de programme de commande de déplacement qui agit en association avec le module de commande adaptative 19. Le système total permet une commande directe adaptative de l'usinage des pièces par la machine-outil à commande numérique, Avec ce système, des mesures de la force de déviation de coupe F peuvent être introduites dans une unité centrale de traitement d'un ordinateur; La donnée décrivant la direction de la trajectoire P, est contenue dans un programme de pièce. Le vecteur de direction de trajectoire P est utilisé pour calculer un vecteur unitaire Q , perpendiculaire à P [ voir la figure 233: dans laquelle la direction de trajectoire z = un vecteur unitaire dans la direction z perpendiculaire à la fois à x et y, et X = représente le produit vectoriel,. Ce calcul de Q est exécuté au début de chaque changement de trajectoire Puis à chaque instant d'échantillonnage du système de commande, une nouvelle variable FD, la composante de force perpendiculaire à la direction de la trajectoire (voir la figure 26) est calculée: FD =q. F (2) dans laquelle les composantes de la force mesurée, et représente le produit ponctuel En fonctionnement réel, un vecteur de décalage nul M (voir la figure 10), et une matrice de calibration (ou de gain) N, sont appliqués pour amener les lectures du convertisseur analogique-digital (ADC) à réfléchir les valeurs de la force mesurée F en livres, Supposons que:: soit le vecteur de force tel que lu à partir des points ADC. (3) soit le vecteur de décalage nul, (4) défini pendant une certaine période d'amorçage. et que soit la matrice de calibration (5) de façon que F = NIFin - MI (6) où N et N représentent des corrections d'interférence et N et N xy yx xx yy représentent le rapport entre des lectures ADC et la force réelle en livres: en supposant qu'il n'y a pas d'interférence: Nxy = Nyx = 0 N = N xx x N = N yy Y En se reportant à la figure 2, on a où les valeurs de sont contenues dans le programme de pièces. Etant donné que d'après l'équation (6), F = NIFin - Ml, FD = /# .F = #. {N IFin - MI} (voir équation (2)] (8) En substituant les équations (6), (4) et (5) dans l'équation (9); on a: FD = -qxxNxMx-qyNyMy+(qxNx) Fin + (qyNy) Fin. (10) En rassemblant les constantes de l'équation (10), on définit (voir la figure 93: dans laquelle (voir la figure 12) C1 = -(c2Mx + C3My) (12) FD peut maintenant être utilisé dans un système de commande à déviation limitée appropriée comme une valeur approchée de la déviation moyenne de l'outil perpendiculaire à la direction de la trajectoire. La figure 12 montre comment la force de déviation FD est utilisée pour la maximisation d'un index de performance, le mordant (6). B est alors utilisé pour calculer la nouvelle vitesse d'avancement à appliquer. Le but de l'algorithme représenté est de déterminer dans quelle région se trouve FD et d'ajuster 6 en conséquence. Les régions sont limitées par les valeurs: FDHIMAX, FDMAX, FDLOMAX, et FDMIN, où FDHIMAX > FDMIN FDLOMAX > FDMIN Ces valeurs sont uniques pour chaque coupe. Les variables représentées dans le diagramme sont définies comme suit: FD force de déviation courante perpendiculaire à la direction de la trajectoire; calculée comme représenté dans la figure 9. FDHIMAX Force de déviation maximum élevée perpendiculaire à la direc tion de la trajectoire; pré-indiquée, FDMAX Force de déviation maximum perpendiculaire à la direction de la trajectoire pré-indiquée. FDLOMAX Force de déviation maximum faible perpendiculaire à la direc tion de la trajectoire pré-indiquée, FDMIN Force de déviation minimum perpendiculaire à la direction de la trajectoire, pré-indiquée, 6 Mordant courant perpendiculaire à la direction de la trajec toire, calculé comme représenté dans la figure 12 ou la vitesse d'avancement divisée par la vitesse de la broche et multipliée par le nombre de dents de l'outil. BHIMAX Mordant maximum haut; pré-indiqué. BMAX Mordant maximum ; pré-indiqué BLOMAX Mordant maximum bas; pré-indiqué 6NIN Mordant minimum; pré-indiqué I Incrément de mordant; pré-indiqué A Multiplicateur de gain élevé pour incrément de mordant; pré-indiqué. J Nouvelle valeur de travail du mordant; variable de travail I voir le diagramme de la figure 1 L'algorithme est appliqué périodiquement afin de produire les nouvelles vitesses d'avancement désirées, qui maintiendront FD à l'intérieur de limites désirées, Au-dessus, le vecteur unitaire q, calculé pour être perpendiculaire à la trajectoire de l'outil, est utilisé pour déterminer la composante de la force de déviation perpendiculaire à la trajectoire de l'outil. La description présume que le vecteur q est une constante sur n'importe quel bloc particulier du programme de pièce. Ceci est acceptable pour des opérations point à point et de contour linéaire.Cependant, lorsque le contrôleur NC comporte un équipement d'interpolation circulaire (ou d'ordre plus élevé), le vecteur q tourne réellement lorsque l'outil de coupe se déplace autour de la trajectoire circulaire (voir la figure 5). Il est possible de combiner la connaissance de la vitesse d'avancement de l'outil et la connaissance du rayon du cercle (paramètres d'interpolation d'ordre plus élevé) pour obtenir une valeur approchée de la modification nécessaire du vecteur. On va maintenant décrire les opérations nécessaires pour obtenir et utiliser un vecteur q rotatif pour la détermination de la force perpendiculaire à la direction de la trajectoire pendant l'interpolation circulaire. L'information définissant la direction et le rayon du contour circulaire est normalement contenue dans le bloc d'instruction NC (voir la norme standard RS-274-6 de l'Electronic Industries Association) codé Ixxxx et Jxxxx. Voir la figure 9. Il est à noter que le vecteur lil j (dans lequel i et j représentent en pouces les quantités codées Ixxxx et Yxxxx] est perpendiculaire à la direction de trajectoire P. Donc, pour trouver un vecteur unitaire q qui, selon la technique décrite ci-dessus, soit perpendiculaire à la direction de la trajectoire, on utilise initialement le vecteur normalisé Ce vecteur doit cependant etre tourné à mesure que le découpage continue et la direction de P change autour du cercle. Pour toute modification par incrément de l'angle 8, q peut être tourné de: en supposant une rotation dans le sens anti-horaire, La variatiOn de l'angle O (c'est-à-dire, la rotation de l'axe des x dans l'axe des y] pendant n'importe quelle période de temps AT est f#T r(60) où f: vitesse d'avancement (en pouces par minute) r: rayon [en pouces) AT: est en seconde et 60 est des secondes par minute. Une approche du problème consisterait à tourner le vecteur unitaire q à chaque intervalle de commande. Ceci nécessiterait le calcul de # = f r 60 et de q (k+1) à chaque AT. T. On a choisi comme autre solution la rotation de q à des incréments sélectionnés de 8 (#I) seulement. Afin de déterminer l'instant où un incrément #I est terminé, la composante variable de l'équation pour calculer #8 est résumée à chaque intervalle de commande. Dans le système de commande traité ici, f = (BRM)Fo f = vitesse d'avancement (en pouces par minute) = la valeur envoyée au multiplicateur de BRM vitesse beinaire 29 (figure 3A), traité ci dessous, Fo = la valeur de la vitesse d'avancement envoyée au contrôleur f#T BRM #8 = Fo #T Il set à noter que BRM est la r(60) r(60) seule partie variable. Le but de la commande est de vérifier: Pour effectuer un ajustement en raisin du fait que le nombre BRM est réellement traité comme un nombre entier, tandis que l'équation BRM est exprimée comme un nombre O # BRM # 1, 1024 (le nombre entier maximum de BRM] est divisé à partir du côté gauche: La matrice de l'équatiOn (1) de rotation est plus compliquée que nécessaire, On retire un avantage du fait que pour de faibles angles. cos e - 1 sin e - E 8 pour faciliter le calcul, 6 peut etre choisi comme 2n pour certains n (permettant la division par décalage vers la droite), par exemple: n=3, #= 1/6, est utilisé dans le système. L'approximation n'est pas très précise, mais suffisante dans ce but. où s est positif pour un usinage dans le sens anti-horaire, négatif dans l'autre cas. En utilisation: -1 x 2 y 3 La programme de la figure 9 est introduit une fois pour chaque cycle de commande et si le programme de pièce demande une interpolation circulaire, cette partie du programme suivant OUI dans le bloc de décision d'interpolation circulaire est alors exécuté. C1, C 2 et C3 sont fixés égaux respectivement par rapport à U1 (K+1), U2 (K+1), et U3 (K+13 et K est alors incrémenté de 1. N BRM doit être ramené à zéro dans la figure 9 au début de n'importe quel bloc particulier. I1 est à noter que dans les équations ci-dessus, on a utilisé les suppositions suq,antes! s M +1 pour le sens anti-horaire M -1 pour le sens horaire 1024 est la valeur maximum de BRM 8 est l'incrément angulaire entre des ajustements de q de c1, c2 et C3 en radians Con envisage O r 1/6) T est la période de commande en secondes (c'est-à-dire 0,02 seconde) f est la vitesse d'avancement programmée en pouces par o minute, Le système de commande de machine-outil à boucle fermée est représenté aux figures 3A, 3B et 3C.Les éléments principaux du système sont un ordinateur de commande d'opération 50 représenté sous la forme des éléments 19 et 11, qui comprend comme éléments périphériques, un convertisseur analogique-digital 23 et une unité d'emmagasinage à disques 10. D'autres éléments principaux du système sont constitués par l'unité d'interface 38, le contr- leur de commande numérique 14 et la machine outil 18. A l'intérieur de l'ordinateur de commande d'opération 50 et plus précisément dans le module de commande de déplacement 11, la donnée est délivrée aux lignes de sortie de données digitales 51. Cette donnée est rendue disponible par l'intermédiaire de câbles à l'interface 38 au travers du démultiplexeur 16. Le démultiplexage de la donnée est commandé par des bits O et 1 sur les lignes 51. Si le bit O est enclenché, la donnée est une donnée de commande de déplacement et est transférée par la porte 37. Mais si la donnée est une donnée de multiplicateur de vitesse binaire (6RN), le bit 1 est enclenché et cette donnée est transférée par la porte 48 au multiplicateur de vitesse binaire, BRMS9.La donnée de commande de déplacement est transférée par la porte 37 et communiquée au contrôleur de commande numérique 14 par les mêmes lignes normalement alimentées par les amplificateurs d'un lecteur de bandes de papier qui sont les mêmes que ceux contenus dans la plupart des contrôleurs de commande numérique. Le transfert de cette donnée de commande de déplacement entre l'ordinateur 50 et le contrôleur 14 est commandé par l'unité de synchronisation de données de commande de déplacement 36. L'unité 36 est représentée à la figure 4 d'une manière plus détaillée. Le circuit ET logique 60 répond aux signaux sur la ligne de démarrage de cycle 61 et la ligne de commande de bande 62, tous deux à partir du contre leur 14. Le circuit ET 60 déclenche le monocoup 63 pour générer une impulsion d'une durée approximative de 3 millisecondes, Le monocoup 63 déclenche le monocoup 64 pour générer une impulsion d'une durée de 10 microsecondes qui est transmise à l'ordinateur 50 comme un signal d'interruption sur la ligne 65. La ligne de démarrage de cycle 61 issue du contrôleur 14 indique que la machine-outil 18 est prête et cette fonction est assurée par de nombreux contré leurs classiques, La ligne de commande de bande 62 est également trouvée sur des contrôleurs avec l'entrée de bande de papier. La ligne de commande de bande 62 porte un signal demandant à l'entrainement de bande d'alimenter de nouvelles données. L'interruption générée dans l'ordinateur 50 demande un nouveau bloc de données. Lorsque l'ordinateur 50 amène le premier caractère d'un nouveau bloc de données, il passe au niveau haut ligne 66 appellée "DAO prêt". La ligne 66 est connectée à l'unité 36 dans l'interface. Dans l'unité 36, un monocoup d'une milliseconde 57 a son entrée connectée à la ligne 66. Sa sortie est ré-injectée dans le contrôleur 14 sur une ligne 68. La ligne 68 est la ligne commune dans tout dispositif alimentant une interface d'entrée de bande de papier.L'impulsion de la ligne indique au récepteur de la donnée (dans ce cas, le contrôleur 143 que la donnée dans la machine est prête à etre prise. La sortie du monocoup "DAO prêt" 67 pour la ligne 68 est également inversée par l'inverseur 69 et délivrée à la porte ET 70 connectée dans un autre monocoup à une millisaconde 71 suivie par un monocoup à 10 microsecondes 72 qui a sa sortie connectée à la ligne "DAO Sync" 73. Le signal de la ligne "DAO Sync". est envoyé à l'ordinateur 50 et indique logiquement à celui-ci que la donnée qui a déclenché le signal "DAO prêt" a été acceptée.Le résultat final d'un signal sur la ligne wDAO Sync" 73 sur le canal de l'ordinateur 50 sera de rendre prêt le caractère suivant du bloc sur les lignes de sortie digitales 51. La fonction du circuit ET 70 est d'assurer la protection contre les-impulsions "sync". envoyées lorsque la ligne de commande de bande 62 est au niveau bas et d'assurer qu'aucune impulsion "sync". n'est envoyée lors du dernier caractère. Le dernier caractère est indiqué par la présence d'un bit EOB signalé par la ligne 39. La présence du bit EOB est indiquée à l'unité 36 sur la ligne d'interface 39 dans la figure 3A connectée aux lignes de sortie 51 par le démultiplexeur 16. En utilisant les données de commande de déplacement sur les lignes 51, le contrôleur 14 commande logiquement la machine 18 pour des fonctions auxiliaires telles que la mise en route de la broche 41, etc et pour dépla cer les axes afin de compléter les fonctions d'usinage. Un dynamomètre 33 est disposé sur le bàti de la machine-outil 35. Le dynamomètre 33 mesure les forces cartésiennes F , F et F imposes par l'outil 41 sur la pièce Z y x de travail 75, indiquées par le dynamomètre 33. Pendant une opération d'usinage normal, une pièce de travail 75 à usiner par l'outil 76 monté dans la broche 41 est disposée sur la partie supérieure du dynamomètre 33. Les lignes du dynamomètre 77, 78 et 79 sont connectées à des amplificateurs 34 et la ligne de vitesse de br & e 17 est connectée à un tachymètre fixé à la broche 41. Les amplificateurs 34 dans l'interface 38 alimentent un convertisseur analogique-digital et le multiplexeur 23 du type monté dans les ordinateurs de commande d'opération à acquisition de données classiques. La manipulation des données à l'intérieur du module de commande de déplacement et du module de commande adaptative 19 sera décrite ci dessous. La donnée de commande de vitesse d'avancement est multiplexée dans les registres de sortie digitale 15 à l'intérieur du module de commande de déplacement 11. Cette donnée est transférée par les lignes 51 au démulti plexeur 16 à l'intérieur de l'interface 36. La donnée issue de la porte 48 est envoyée au multiplicateur de vitesse binaire BRM 29. Ce type de dispositif est décrit dans le "Handbook of Automation Computation and Control" de E.N. Grabbe; 1959 publié par Wiley et fils, A l'intérieur de la plupart des contrôleurs 14 comportant des interpolateurs commandés par impulsions, on trouve une ligne portant des impulsions dont la fréquence est proportionnelle à la vitesse d'avancement commandée.Dans ce système, cette ligne allant normalement aux interpolateurs d'axes, a été coupée Le coté générateur a été pris pour délivrer les impulsions sur la ligne 30 au BRM 29 dans l'interface 38. Le BRM 29 renvoie une fraction de ces impulsions sur la ligne de sortie 31 au contrôleur 14 où il est raccordé dans la ligne divisée indiquée ci dessus aux interpolateurs d'axes Ainsi, le BRM 29 commande la cadence à laquelle des impulsions alimentent les interpolateùrs d'axes dans le contrôleur 14 et donc le mouvement et la vitesse des axes de l'outil 18. Le disque 10 continent des programmes de pièce délivrés au module de commande de mouvement 11 qui comprend un sous-programme FILBF qui remplit la mémoire intermédiaire à disques 12 avec des données de programme de pièce et de commande adaptative. Le sous-programme EXPND prend les données de commande numérique "bande de papier" de la mémoire intermédiaire 12 pour remplir la mémoire intermédiaire de sortie 13.Le sous-programme OUTPX transmet les données de la mémoire intermédiaire au contrôleur N.C. 14 sur demande par la ligne 113 r la jonction 15 et les lignes 51, l'interface de sortie digitale 38 et son démultiplexeur 16, et les portes 37 et 48 afin de commander la machine-outil 18, La mémoire intermédiaire 12 délivre des données de commande adaptative sur la ligne 81 au module de commande adaptative 19 de l'ordinateur 50 sous la commande du sous-ppogramme de balayage de commande adaptative ACSCN, distribuant l'information au registre de paramètres AMC adaptatif 20 21 et 22 en synchronisation avec les-données issues du contrôleur 14.Le sous-programme MLCTL, (commande de boucle principale) est commandé par le synchro de l'équipement, synchronisant les sous programmes MLSMS (détection boucle principale), MLM9R (mesure boucle principale3, MLOPT toptinisation boucle principale), MLAPL (application boucle principale), et MLUPD (mise à jour boucle principale). Le programme MLSNS en 92 transfère des lectures de données approximatives de la vitesse de broche sur la ligne 17 et F , F et F sur les lignes 77, 78, 79 détectées x y z à la machine-outil 18 à partir des amplificateur 34, et du convertisseur A-D 23 par la ligne 88 aux registres variables détectés 24.Le programme MLMSR en 93 actionne la jonction 98 pour combiner des données dans les registres 24 entre lelles et des données dans le registre 22 pour appliquer des décalages nuls, des facteurs de cadrage, et pour calculer la force de déviation, le couple, la vitesse de la broche. etc, , qui sont passés sur la ligne 90 pour être emmagasinés dans des registres variables mesurés 25. Le programme MLOPT en 104 combine des données dans la jonction 99 à partir des registres 25, du registre 26 et des registres 21 par les lignes 91, 109 et 96 de façon à modifier les registres 26 d'une manière tendant à augmenter la valeur de l'index de performance B.Le programme MLAPL en 103 combine des données à la jonction 100 par 94, 97 et 110 à partir des registres 25, 26 et 20 afin de calculer une variable de commande de sortie en prenant la vitesse réelle de la broche en tours minute dans le registre 25 divisé par la vitesse nominale en tours minute dans le registre 20, multipliée par le mordant B dans le registre 26 pour produire la vitesse d'avancement BRM (figure 143 et emmagasine sa sortie dans les registres variables d'application 27. Le programme MLUPD en 101 multiplexe des données par la mémoire intermédiaire de sortie 28j par 102 et 82 à l'interface 15, à transmettre au multiplicateur de vitesse binaire BRM 9 par le démultiplex- eur 16 et la porte 48.BRM 29 accepte les impulsions de vitesse d'avancement BRM sur la ligne 30, agissant sur celles-ci pour émettre un nombre réduit d'impulsions sur la ligne 31 lorsque le rapport entre les des impulsions sur les lignes 31 et 30 est proportionnel à la valeur délivrée à BRM 29 à partir des lignes 32. La ligne 30 délivre des impulsions à partir de l'interpolateur de vitesse d'avancement dans le contrôleur 14. La ligne 31 entraîne les interpolateurs d'axes dans le contrôleur 14 à une vitesse d'avancement réduite. Les figures 3A et 3B représentent les éléments de commande de mouvement et de commande adaptative. Le module 11 pour la commande de mouvement est représenté dans la figure 3A et le module 19 pour la commande adaptative est représenté dans la figure 3B. La commande de mouvement est commandée par des interruptions sur la ligne 65 issue du contrôleur 14. Chaque interruption est une demande pour le bloc d'instruction suivant du programme de pièce. Cette interruption est entretenue par le module OUPTX. OUPTX commande l'alimentation de deux types de mémoires intermédiaires les mémoires intermédiaires de sortie 13 et les mémoires intermédiaires à disques 12. Une mémoire intermédiaire de sortie 13 contient un bloc d'instructions unique à envoyer au contrôleur 14. Il existe deux de ces mémoires intermédiaires 13. Tandis qu'une est utilisée pour transmettre un bloc d'instructions au contrôleur, l'autre est remplie par 112, par le module EXPND. Ce module obtient ces blocs d'instructions à partir d'une mémoire intermédiaire à disques 12 également au nombre de deux. Tandis qu'une mémoire intermédiaire 12 est utilisée pour rechercher des blocs d'instructions à envoyer au contrôleur, l'autre est remplie avec le bloc de disques suivant des blocs d'instructions pour le programme de pièce. Un bloc de disques contient plusieurs blocs d'instructions et un ensemble de ceux-ci forme le programme de pièce tel qu'emmagasiné sur le disque 10. Ceci est réalisé sous la commande du module FILBF invoqué par OUTPX. Le module ACSCN dans la figure 3B assure la liaison de commande entre la commande de mouvement et la commande adaptative. Avant que chaque bloc d'instructions soit envoyé au contrôleur, OUTPX exécute ACSCN qui transmet des données entraînées avec le bloc d'instruction à la commande adaptative par une zone de mémoire principale accessible aux deux éléments. Cette zone contient des positions d'emmagasinage appelées "registres de programmation." On trouve inclus les composants Ax et Ay de la trajectoire de l'outil et la force maximum nécessaire pour effectuer la découpe à l'intérieur des tolérances désirées. De plus, des commutateurs sont enclenchés, signalant à la commande adaptative 19 le début d'une nouvelle découpe et que de nouvelles constantes doivent entre calculées pour la découpe. Une autre fonction assurée par ACSCN consiste à passer la commande adaptative 19 en exécution lors de la détection du premier bloc d'instructions du programme de pièce. Il met en fonctionnement un dispositif de synchronisation qui provoque des interruptions comme représenté dans la figure 8 à des intervalles fixes pour la durée du programme de pièce. Il commande également l'arrêt du dispositif de synchronisation lorsque la découpe de la pièce est terminée. Finalement, il provoque l'exécution des calculs représentés dans la figure 9 au début de chaque découpe. Ce sont des interruptions issues du dispositif de synchronisation. qui commandent le composant de commande adaptative qui est formé des modules représentés dans la figure 3B. MLCTL commande la séquence d'exécution des autres modules représentés dans le sens horaire d'exécution. ACSCN est le seul module de commande adaptative non commandé par le dispositif de synchronisation. Ces interruptions se produisent à un intervalle fixe exigé par le système particulier, c'est-à-dire un intervalle de 20 à 40 millise condés MLSNS lit la donnée du détecteur et la place dans les registres de programmation 24. Celle-ci comprend la vitesse de broche et les forces composantes s'exerçant à l'outil de découpe. MLMSR calcule la force de déviation FD, comme représenté à la figure 10.Si la découpe est circulaire, les paramètres C1, C2 et C3 sont recalculés à des intervalles angulaires fixes par ce module. MLOPT détermine le mordant nécessaire comme représenté dans la figure 12. Celui-ci est une indication de performance utilisé pour commander la vitesse d'avancement de l'outil. MLOPT utilise FD calculé par MLMSR. Dans MLAPL, le mordant est multiplié par la vitesse de la broche et une constante afin d'obtenir un paramètre de commande à envoyer au multiplicateur de vitesse binaire (ART) 29. La vitesse de la broche est utilisée comme un multiplicateur pour stabiliser le système. Le module MLUPD envoie alors par la sortie digitale, le paramètre de commande à BRM 29.Ce paramètre est une fraction entre 0 et 1 représentant la réduction à appliquer à la vitesse d'avancement à partir de la valeur très élevée réglée par un programme PCUE (décrit ci-dessous) dans l'ordinateur 9, figure 5. MLMON (non représenté) écrit sur la bande les valeurs courantes des paramètres AMC sélectionnés lorsqu'ils sont dans les registres de rogrammation. Ne faisant pas partie du composant de commande adaptative, l'exécution de ce module peut être interdit d'exécution si on le désire. La figure 10 représente les calculs effectués avant l'exécution d'un programme de pièce. Ces valeurs calculées sont utilisées pour calculer les paramètres de l'équation de la force de déviation avant le début de chaque nouvelle découpe. On notera alors qu'à chaque intervalle d'interruption du dispositif de synchronisation, ces modules de composants de commande adaptative sont exécutés dans la séquence représentée et continuent à être exécutés pendant la durée de l'exécution du programme de pièce. La communication entre les composants de commande de mouvement et de commande adaptative est obtenue au moyen des registres de programmation et du module ACSCN. L'usinage à force constante sensible à la trajectoire de l'outil fait partie d'un système de commande de mouvement avancé complet (ANC) représenté à la figure 5. Ce système implique à la fois un ordinateur de commande d'opération 50 pour la commande de la machine-outil 18 et un ordinateur de traitement de données 9 pour la préparation des Programmes de pièce à utiliser par le contrôleur de la machine-outil 14 pour Ia production des pièces. Une description des composants de progammation de ce système va suivre, montrant comment les composantes particuliers pour l'usinage à force constante sensible à la traject,ire de l'outil sont reliés au système total. Le but de l'ordinateur de traitement de données 9 est de préparer les programmes de pièce AMC qui comprennent des données de commande adaptative, pour exécution par l'ordinateur de commande d'opération 50. Le processeur NC classique, accepte comme langage source d'entrée, des programmes de pièce, les traduisant en programmes de pièce en langage machine (objet) à l'aide des post-processeurs nécessaires. Ceux-ci sont à leur tour traités par un programme spécial appelé PCUBE (pour post-post-processeur) , qui met le programme de pièce au format sur une bande magnétique pour son introduction dans l'ordinateur de commande d'opération 50.De plus, PCUBE ajuste les vitesses d'avancement spécifiées dans un programme de pièce à des valeurs élevées de façon qu'elles puissent cistre dynamiquement réduites aux valeurs désirées, lors de la découpe d'une pièce. Il comprend également des valeurs de forces maximum spécifiées par l'utilisateur pour les découpes, Ces valeurs de forces maximum sont utilisées par l'ordinateur de commande d'opération 50 pour commander les tolérances à l'intérieur desquelles la pièce d sot être découpée. PCUEE est écrit dans PL/I et peut fonctionner sous la commande d'un IBM 360/qS. Cette prograumatinn AMC est principalement écrite en FORTRAN, avec certains modules de programme codés en langage d'assemblage* Elle est est exécutée sous la commande du système d'actionnement exécutif tMPX) à multiprogrammation IBM 1800. La programmation est un ensemble de modules de programmes qui sont combinés et construits en charge-mémoires exécutables par le NPX. Ces charge-mémoires sont alors chargées et exécutées par le MPX selon les diverses conditions de temps réel qui apparaissent. Le système est conçu de faç @@ que divers algorithmes de commande adaptative puissent être construits dans ces charge-mémoires puis chargés sous la commande de l'utilisateur. Ces charge-mémoires demeurent dans la mémoire pendant la taille d'une pièce et sont appelées "charge-mémoiree MC et AC" étant donné que la zone de charge-mémoires contient les modules-essentiels pour la réalisation de la commande de mouvement et de la commande adaptative. De cette manière, divers algorithmes de commande adaptative peuvent entre testés. La mémoire totale utilisée est de 40K, avec la distribution suivante: 1. Zone NPX exécutive 24 K 2. Zone de charge-mémoires MC et AC 6 K 3. Réserve 2 K 4. Mémoire variable 8 K Des programmes de pièce préparés comme décrit ici, sont écrits sur la bande magnétique 80 à utiliser comme entrée de l'ordinateur de commande d'opération 50. La bande 80 est utilisée comme un moyen d'emmagasinage commun entre les deux ordinateurs 9 et 50, bien que d'autres moyens soient possib les, suivant les ordinateurs utilisés. Les buts principaux de la programmation de commande de mouvement avancée dans l'ordinateur de commande d'opération 50 sont: 1. La commande numérique directe commande ce de mouvement) de la machineoutil 18 2. La commande adaptative de l'opération de découpe, et 3. L'analyse des données du système La commande numérique directe implique la transmission à la machineoutil, sous la commande de l'ordinateur, des ordes nécessaires pour fabriquer une pièce, La commande adaptative implique la modification de l'opération de découpe en temps réel afin de satisfaire certains indexes de performance. L'analyse de données facilite l'évaluation du système et la mise au point des techniques de commande adaptative par l'utilisateur Les buts secondaires du système sont: 1. La commande par l'utilisateur et 2. L'entretien des programmes de pièce L'exécutif comprend 20 250 mots et inclut des sous-programmes de l'uti- lisateur L'exécutif demeure dans la mémoire une fois qu'il a été chargé par la procèdure de démarrage à froid. La charge mémoire MC et AC utilisée est de 3460 mots et. comme indiqué précédemment, demeure dans la mémoire pour la durée de l'exécution d'un programme de pièce.Une mémoire variable tVCORE] est une zone où diverses charge-mémoires peuvent être introduites et retirées comme nécessaire sur une base de partage Par exemple, lorsque le terminal de présentation 81 attire l'attention, la charge-mémoire se trouvant habituellement dans VCORE est économisée sur le disque, et le sous-programme d'attention du terminal 81 est chargé à partir du disque. Lorsque le soueprogramne d'attention est terminé, la charge mémoire originale est à nouveau chargée dans la mémoire, et son exécution continue. Une zone FORTRAN COMMON appelée IN9KEt COMMON, est située dans l'exécutif. Cette zone est accessible à tous les programmes; Elle contient tous les paramètres de commande adaptative. De cette manière, des d usnées peuvent être communiquées parmi les divers modules de programme exécutés dans un environnement de multiprogrammation. Au démarrage à froid, des valeurs initiales sont lues à partir d'un organe de stokage de paramètres de commande adaptative et chargées dans cette zone, Certaines de ces valeurs peuvent etre modifiées par des cartes de Paramètres de commande adaptative dans n'importe quel programme de pièce. Les composants fonctionneS de la programmation AMC de l'ordinateur sont représentés dans la figure 5. Ce sont l'entretien des programmes de pièce, l'exécutif et le démarrage à froid, la commande de mouvement, la commande adaptative, la commande d'utilisateur, le contrôle et l'analyse des données. Le composant entretien de programmes de pièce de la programmation AMC lit les programmes de pièce à partir de la bande, crée un organe de stockage de programmes de pièce et un index, et les charge sur le disque 10. Des entrées sont ajoutées ou retires des organes de stokage et de l'index à mesure que des prograrrfnes de pièce sont ajoutés ou retirés du système.Puis, lorsqu'un programme de pièce est demandé par l'opérateur pour exécution, une recherche de l'index est effectuée par ce programme de pièce, qui est référencée z e par une identification à huit caractères, Si cette recherche est concluante, la position est identifiée au composant de commande de mouvement, et des secteurs de l'organe de stockage cstenant 3e programme de pièce sont chargés par la commande de mouvement dans la mémoire lorsque le programme de pièce est en cours d'exécution Une autre fonction du composant entretien de programmes de pièce est de faire une liste des programmes de pièce sur l'imprimante, sur demande.Une carte de commande portant le numéro de la vitesse d'avancement de l'outil est placée (en option) à l'avant du paquet de cartes Ce rapport spécifie la valeur suivant laquelle PCUBE doit multiplier la vitesse d'avancement programmée. La multiplication est nécessaire en raison du fait que la vitesse d'avancement programmée sélectionnée par le programneur de pièces aura été choisie pour classique être utilisée avec des techniques de commande numérique/(c' est-à- dire sans commande adaptative). D'autre part, le BRM 29 ne peut que réduire à des degrés variables, cette vitesse d'avancement programmée de base Pour allouer au BRM 29 une plage qui non seulement comprenne mais excède la vitesse d'avancement estimée du programmeur, cette vitesse d'avancement est multipliée dans la phase de traitement du PCUBE. Par exemple, si le programmeur de pièces a initialement programmé une découpe à 10 pouces par minute t25,4cm par minute), on peut raisonnablement s'attendre à ce que dans cers unes régions (peut être en raison de bulles dans le matériau), le système de commande adaptative constate qu'il est préférable d'effectuer la découpe à une vitesse d'avancement excédant 10 pouces par minute (25,4cm par minute). Si la vitesse d'avancement prograaaée envoyée au contrôleur est de 10 pouces par minute (25,4co par minute), le BRM 29 ne peut que réduire la vitesse d'avancament, à des degrés divers, en dessous de 10 pouces par minute t25,4cml. Pour permettre au N ds commarid la vitesse d'avancement au-dessus de la vitesse initialement programmée, une vitese d'avancement plus élevée (peut Entre 20 ou 30 pouces par minute) (50,8 ou 76,2cm par minuts), doit être envoyée au contrôleur 14.Dans ce cas, la vitesse d'avancement est de 10 pouces par minute (25:4cm) et sera multipliée dans PCUBE par un coefficient de vitesse d'avancement. Les cartes restant dans le paquet de cartes comprennent une première carte (qui suit la carte de commande), des cartes d'ouverture, des cartes de paramètres de commande adapative et des cartes de blocs d'instruction. La première carte attrioue un numéro de référence au programme de pièce. Des cartes d'ouverture sont prévus pour assurer une amorce de bande de papier dans les systèmes classiques. Elles sont ignorées par PCUBE. Des cartes de paramètres de commande adaptative contiennent des données nécessaires pour modifier l'algorithme de commande pour la pièce particulièrs. Les cartes de blocs d'instructions contiennent les ordres commandant le fonctionnement de la machine-outil. Il existe un bloc d'ordres par carte. La programmation pour l'ordinateur de commande d'opération 50 est composée des six composants suivants utilisant 40K comme représenté dans la figure 5: 1. Exécutif et démarrage à froid 2. Entretien de programmes de pièce 3. Commande opérateur 4. Commande de mouvement 5. Commande adaptative 6. Contrôle et analyse de données. L'exécutif est assuré par le programme MPX et un composant contenu dans la mémoire principale qui assure les services suivants: traitement d'interruption, mise en attente et chargement de programmes, vérification d'erreurs du système, recharge et redémarrage du système et multiprogrammation. La fonction de démarrage à froid prépare initialement le système et charge des paramètres AMC à partir du disque 10 dans la mémoire principale. Le composant entretien de programmes de pièce lit les programmes de pièce à partir de la bande et crée un organe de stokage de programmes de pièce sur le disque 10, et ajoute ou retire des programmes de l'organe de stokage. La commande de l'opérateur assure une interface entre le système et l'opérateur. En utilisant un terminal de présentation 81, l'opérateur peut s'enquérir de l'état du système et modifier les paramètres AMC. II peut également commander l'exécution des programmes de pièce. Le- programme de- contr5le et d'analyr,r de données échantillonne des données-pendant la découpe dfune pièce et écrit cette donnée sur la bande 82 Cette donnée peut alors entre notée ou traitée à nouveau en utilisant les techniques de réduction de données. Les deux composants de programmes directement concernés par la commande en temps réel de l'opération de découpe sont les programmes de commande de mouvement et de commande adaptative. Le but du programme de commande de mouvement est de diriger la machine-outil suivant le programme de pièce classique. Les buts du programme du composant de commande adaptative sont les suivants: 1. La détection continue de l'opération de découpe 2. La dérivation d'une ou plusieurs variables de commande basées sur certains index de performance, et 3. La modification de l'opération de découpe par l'utilisation des variables de commande dérivées. Comme représenté dans la figure 5, la commande de mouvement, sur demande, envoie des blocs d'instruction au contrôleur 14 par l'interface AMC 48. Tandis que cette opération est en cours, la commande adaptative est également en fonctionnement grâce à la possibilité de multi-programmation offerte par l'exécutif. A des intervalles réguliers commandés par un dispositif de synchronisation d'équipement, il détecte le fonctionnement de l'outil de coupe et modifie la vitesse d'avancement en utilisant le multiplicateur de vitesse binaire BRM 29 dans l'interface AMC 48. La figure 6 représente plus en détail les composants de commande adaptative et de mouvement. La logique de programme est divisée en trois sections logiques appelées "niveau 1, niveau 2 et niveau 3". Les trois sections logiques sont multi-programmées entre elles, le numéro de niveau indiquant la priorité en ce qui concerne l'accès au CPU de chaque section. Le niveau 1 a la priorité la plus élevée, le niveau 2 la priorité suivante et le niveau 3 la dernière priorité. Le niveau 1 sert des demandes issues du contrôleur pour des blocs d'instructions par l'intermédiaire des interruptions du contrôleur. Ces demandes doivent être honorées en premier afin de maintenir la machine-outil en fonctionnement. Au niveau 2, la logique commande le remplissage des mémoires intermédiaires de sortie et des mémoires intermédiaires à disques. Cette logique est commandée par des interruptions programmées amorcées à partir de la logique du niveau 1 lorsqu'une mémoire intermédiaire de sortie est à remplir. Il existe deux types de mémoires intermédiaires utilisées: la mémoire intermédiaire de sortie et la mémoire intermédiaire à disques, les deux se trouvant dans la mémoire principale. Une mémoire intermédiaire de sortie 13 contient un bloc d'instructions unique à envoyer au contrôleur 14. Il existe deux de ces mémoires intermédiaires 13. Tandis qu'une est utilisée pour transmettre un bioc d'instructions au contrôleur 14, l'autre est remplie par la logique de niveau 2. Les blocs d'instructions sont retirés des mémoires intermédiaires à disques 12, qui sont également au nombre de deux. Tandis qu'une mémoire intermédiaire est utilisée pour retirer les blocs d'instructions à envoyer au contrôleur 14, l'autre est remplie à partir du disque 10 avec le bloc de disques suivznt des blocs d'instructions du programme de pièce. Un bloc de disques contient plusieurs blocs d'instructions et un ensemble de ceux-ci forme le programme de pièce tel qu'emmagasiné sur le disque 10. La logique du niveau trois est commandée par des interruptions du dispositif de synchronisation amorçé lorsque le premier bloc d'instructions d'un programme de pièce est envoyé au contrôleur 14. Ces interruptions se répètent à un intervalle fixe pendant la durée du programme de pièce. Cette logique dérive un paramètre de commande utilisé pour modifier la vitesse d'avancement de la machine-outil 18 et comprend la partie commande adaptive du système tandis que les deux premiers niveaux de la logique comprennent le composant de commande de mouvement. Au niveau 1, lorsqu'une interruption de contrôleur issue de la ligne 65 est reçue, demandant le bloc d'instructions suivant du programme de pièce, avant l'envoi du bloc, ACSCN provoque l'entraînement de la donnée de commande adaptative en meme temps que le bloc et son passage à la commande adaptative par une zone de mémoire principale accessible aux deux composants. On trouve inclus les deux composants Ax et hy de la trajectoire de l'outil et la force maximum nécessaire pour effectuer la découpe à l'intérieur des tolérances désirées. De plus, des commutateurs sont enclenchés, signalant à la commande adaptative qu'une nouvelle découpe commence et provoquant le calcul de nouvelles constantes pour la découpe, en utilisant l'algorithme de la figure 11. La logique du niveau 1 démarre également la commande adaptative lors de la détection du premier bloc d'instruction du programme de pièce en cours d'envoi et stoppe celui-ci après l'envoi du dernier. Elle amorce le remplissage d'une mémoire intermédiaire de sortie 13 en provoquant une interruption programmée (manipulée par l'exécutif] qui démarre la logique au niveau 2. Elle effectue également les calculs d'initialisation représentés dans la figure 11. La logique du niveau 2 est concernée par l'assurance que le bloc d'instructions suivant est toujours prét sur demande pour le contrleur 14. Elle signale également à la logique de niveau 1 le moment où le dernier bloc d'instructions du programme de pièce a été détecté. Les interruptions du dispositif de synchronisation excitant la logique du niveau 3. apparaissent à un-intervalle fixe- choisi par ltoDérateuv, compris généralement entre 20 et 40 millisecondes. Après l'interruption, la première fonction exécutée est la lecture des -oétecteurs (par l'entrée analogique) à la machine outil. Les valeurs obtenues comprennent la vitesse de la broche sur l'axe 17 et les forces composantes Fx, Fy sur les lignes 77 et 78 à l'outil 18. Puis, et en utilisant les forces composantes mesurées, la force de déviation FD, est calculée comme représenté dans le diagramme MLMSR de la figure 9.Si la découpe est circulaire, les paramètres Cl, C2 et C3 sont recalculés à ce point à des intervalles angulaires fixes, L'index de performance (dans ce cas le mordant) est ensuite déterminé comme représenté dans le diagramme MLOPT de la figure 12. Cette détermination utilise la valeur de FD calculée précédemment et les forces maximum et minimum tolérées pour la découpe passée par la logique de niveau 1. Le mordant 8 est alors transformé dans le diagramme MLAPL de la figure 14 en un paramètre de commande en le multipliant par la vitesse de broche normalisée S/So et une constante. Ceci constitue le paramètre qui est alors envoyé au multiplicateur de vitesse binaire BRM 29 à l'étape suivante. L'utilisation de la vitesse de broche normalisée comme un multiplicateur entraine la stabilisation du système. Le paramètre de commande est écrit en utilisant la sortie digitale. Il est interprété comme une fraction entre 0 et 1 représentant la valeur suivant laquelle la vitesse d'avancement doit entre réduite par rapport à la valeur très élevée réglée par le programme PCUBE (figure 5). Une fonction d'initialisation non représentée à la figure 6 est assurée avant l'exécution du programme de pièce. Cette fonction calcule les paramètres de décalage représentés dans le diagramme de la figure 10 et charge à la fois la sortie et les mémoires intermédiaires à disques 12 et 13. En se reportant à nouveau à la figure 9, on voit que la force de déviation FD est calculée comme représenté dans le diagramme MLMSR. Sous la commande d'un dispositif de synchronisation d'équipement, ce sousprogramme est exécuté toutes les 20-40 ms, calculant la force de déviation FD. Cette force est alors appliquée à l'algorithme de commande adaptative du programme MLOPT de la figure 12 qui provoqua le maintient de Fg à l'intérieur de limites désirées. L'algorithme est appliqué périodiquement, la période étant normalement la même que la période de calcul de FD (20-40 ms).F O x et F qui sont les lectures des détecteurs pour les composantes de force y des axes x- et y-, sont lus périodiquement par le sous -programme de détection (ce sous-programme est une partie du système total d'usinage commandé par ordinateur, à boucle fermée). C1, C2 et C3 sont calculés précédemment avant le début de la découpe (voir le diagramme ACSCN de la figure Il pour l'exécution de l'initialisation pour le calcul de la force de déviation). En se reportant à la figure 10, on voit que les valeurs de décalage pour dss lectures de force sont déterminées, dans lesquelles: Mx M = My Ce sous-programme est exécuté avant la démarrage de la machine-outil et tandis que l'outil est fixe. Il calcule les valeurs de décalage des forces d'axer x- et y-, N et N en prenant une moyenne courant sur vingt x y lectures de détecteurs. Ces valeurs sont alors gardées pour le calcul des paramètres de l'équation des forces de déviation avant le début de chaque nouvelle découpe. F et F sont les lectures de détecteurs pour les composantes de force x y d'axes x- y- et sont mesurées par un dynamomètre. En se reportant au diagramme ACSCN de la figure 11, on voit que l'initialisation pour le calcul de la force de déviation de C1, C2 et C3 est calculée. Ce sous-programme est exécuté avant le commencement de chaque découpe par l'ordinateur 50. Il calcule les paramètres de l'équation de la force de déviation utilisés pour le calcul de la force de déviation. Ex et hy sont les composantes de la trajectoire de l'outil. q x et qy sont des composants du vecteur unitaire perpendiculaire à la trajectoire de l'outil. N et x N sont des composantes d'une matrice de calibration utilisée pour convertir y des lectures de détection des composantes de force en unités de force en livres. C1, C2 et C3 sont les paramètres de l'équation de la force de déviation. bx et y sont entrainés avec le programme de pièce et sont uniques pour chaque découpe. N et N sont déterminés par une opération de calibra x y tion st sont appropriés pour l'exécution de nombreux programmes de pièce. M et N sont les valeurs de décalage obtenues avant le démarrage de x y la machine-outil (voir le diagramme de la figure 10 qui "calcule des valeurs de décalage pour des lectures de force"). En se reportant à la figure 12, on voit que le mordant maximum est déterminé en fonction de FD, comme représenté par le diagramme. Comme sxpliqué ci-dessus, B est utilisé pour déterminer la nouvelle vitesse d'avancement à appliquer. L'algorithme d'optimisation de recherche à incrément constant est représenté graphiquement à la figure 13 et sous forme de diagramme à la figure 12. En effet, il augmente le mordant lorsqu'aucune limite n'est dépassée st diminue le mordant lorsqu'une limite quelconque est dépassée. L'algorithme est conçu pour que la variable de commande (le mordant) s'approche rapidement de lP région de fonctionnement optimum par la définition des régions extérieures, éloignées de DONAX et BMAX où la taille de l'incrément I est augmentée suivant du facteur A. En utilisant la force de déviation de l'outil de coupe et le mordant comme contraintes, cet algorithme permet au système de limiter la tolérance de découpe à une valeur inférieure à 1 millième de pouce (E,025mm3. La figure 14 présente le diagramme MLAPL pour le calcule de BRM. La valeur est obtenue en multipliant le mordant B du diagramme MLOPT de la figure 12 par le rapport de la vitesse de broche réelle S et de la vitesse de broche nominale So. La vitesse de broche nominale est la vitesse de broche non chargée. Bien que l'on ait décrit dans ce qui précède et représenté sur les dessins les caractéristiques essentielles de l'invention appliquées à un mode de réalisation préféré de celle-ci, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles, sans pour autant sortir du cadre de ladite invention. REVENDICATIONS 1.- Système de commande adaptative du type comprenant un outil orienté dans la direction d'une pièce de travail et au moins un moteur pour déplacer ledit outil et ladite pièce de travail l'un par rapport à l'autre, système caractérisé en ce qu'il comprend: un contrôleur d'outil automatique relié audit outil et audit moteur pour contrôler leur fonctionnement, des moyens de détection engendrant des signaux proportionnels à la force de déviation sxistant entre ledit outil et ladite pièce de travail, des moyens de programmation fournissant une commande programmée dudit contrleur et des données correspondantes à des moyens de commande adapative calculant la composante critique de ladite force de déviation pour un angle donné par rapport ou chemin fixé par lesdites données des dits moyens de progremmation, lesdits moyens de commande adaptative comprenant une entrée reliée à une sortie dssdits moyens ds programmation et opérant sur ladite composante critique ds manière à engendrer un signal de commande variant en fonction ds ladite composante critique, des moyens reliés audit contréleur pour commander la vitesse de fonc tionnsment dudit moteur en fonction desdits signaux de commande. 2.# Système de commande adaptative selon la revendication 1 caractérisé en ce que ksdits moyens ds commande camprennent des moyens pour calculer la vitesse du moteur sous la forme du produit de la vitesse normalisée de l'outil et de la valeur du mordant dudit outil. 3.- Système de commande adaptative selon le revendication 1 caractérisé en ce que lesdits moyens de commande ajustent la valeur du mordant à une valeur optimum, st en ce que si la déviation dépasse une valeur limite prédéterminée, la correction appliquée à la vitesse du moteur est plus grande que lorsque la déviation est située à l'intérieur de ladite valeur limite. 4.- Système de commande adaptative selon l'une quelconque des revendications 1 à 3 caractérisé en ce que ledit outil est un outil de coupe. 5.- Système de commande adaptative selon l'une quelconque des revendications 1 à 4 caractérisé en ce que ledit contré leur est un contréleur à commande numérique st en ce que ledit programme de commande comporte des données de commande numériques.