FR 2206540 A1 19740607 FR 7340634 A 19731115 la présente invention est relative à une installation de commande numérique pour machine-outil et plus particulièrement à une méthode et à un appareillage permettant d'extraire des caractères d'un programme partiel à partir d'un ordinateur éloigné fonctionnant en temps partagé et d'emmagasiner localement 11 ensemble d'un programme partiel pour utilisation directe ultérieure. L'utilisation d'une installation de commande numérique pour machine-outil entraîne automatiquement la préparation d'une bande perforée portant les caractères d'un programme partiel indispensables pour amener la machine-outil à exécuter une séquence déterminée d'opérations. le programme partiel porté par la bande perforée consiste en une succession de caractères définissant non seulement la trajectoire de l'outil pour exécuter le contour souhaité de la pièce mais aussi d'autres opérations mécaniques liées au fonctionnement de la machine-outil, telles que l'importance du flux de liquide de refroidissement, la vitesse de déplacement relative entre ouvrage et outil ; les coordonnées initiale et finale du déplacement, etc. ...La préparation de la bande perforée comporte une étape de "prétraitement" consistant en une traduction des dimensions, de la forme de la partie brute dans le langage de programmation, tel que le langage APT qui est uniformément accepté en vue de son utilisation dans de nombreuses installations de commande numérique. La préparation de la bande comporte en outre une étape de "post-traitement" consistant à la sortie de la machine de traitement en la traduction du langage de programmation dans le langage spécifique propre au fonctionnement d'une combinaison déterminée d'une machine-outil et de son organe de commande associé. Toutes ces étapes: "pré-traitement", traitement et "post-traitement" sont essentielles dans la préparation àidée par ordinateur d'un programme partiel. On a conçu récemment une autre méthode de fonctionnement d'une installation de commande numérique selon laquelle la bande pourrait & re utilisée comme support d'entrée d'un calculateur numérique universel disposant d'une mémoire d'une capacité suffisante pour emmagasiner un programme partiel complet, c'est-à-dire la séquence complète de caractères provenant de la bande perforée. L'exécution d'un programme partiel est alors effectuée en lisant ce dernier soit à partir de la mémoire du calculateur soit directement à partir de la bande perforée. Dans une autre installation de commande numérique il est connu d'emmagasiner le programme partiel à un endroit éloigné et de le mettre à la disposition d'une multiplicité de stations de commande numérique au moyen d'un dispositif fonctionnant en temps partagé. Dans un tel système, la station de travail de la commande numérique est mise en communication avec la source éloignée de programme partiel fonctionnant en temps partagé. les caractères du programme partiel sont transférés en série et dans un mode direct vers l'installation de commande numérique locale pour exécution directe. Suivant la présente invention, le fonctionnement d'une installation de commande numérique estréalisé à l'aide d'un ordinateur local comportant une mémoire d'emmagasinage capable de contenir un ou plusieurs programmes partiels complets. De plus, la présente invention prévoit 11 utilisation d'un ordinateur éloigné susceptible de fonctionner en temps partagé si bien que les données, après avoir reçu leur "post-traitement" peuvent etre transmises caractère par caractère à la mémoire d'emmagasinage de l'ordinateur local. Typiquement, le programme partiel n'est pas exécuté au moment où il est reçu de l'ordinateur éloigné mais de préférence emmagasiné dans son intégralité pour exécution ultérieure d'une manière directe.La restitution et l'emmagasinage aux termes de la présente méthode fournissent l'avantage de permettre l'investigation et la correction éventuelle de l'ensemble du programme partiel avant son exécution ce qui correspond à une grande flexibilité de fonctionnement et à une plus grande qualité du produit fini. De plus, une exécution continue, sans interruption du programme partiel est assurée alors qu'une restitution en temps réel peut causer des discontinuités dans l'exécution qui sont dues à des incompatibilités dans le minutage, à des erreurs et autres facteurs. Suivant la présente invention, le calculateur éloigné est d'un caractère tel qu'il peut fonctionner en temps partagé et qu'il est à meme de recevoir des informations se présentant sous la forme d'un langage généralisé approprié à la commande numérique, tel que le langage APT. De plus, le calculateur éloigné est capable de fonctionner dans un nombre de langages spécialisés dans lesquels un programme partiel peut dtre transformé ou compilé pendant l'étape de "post-traitement" puis transmis à la station de commande numérique locale pour exécution ultérieure. D2autres caractéristiques ressortiront de la description qui va suivre et qui n'est donnée qu'à titre d'exemple. A cet effet on se reportera aux dessins joints dans lesquels: - la figure I représente sous forme de schema-bloc un mode de réalisation de l'installation de commande numérique suivant la présente invention ; et, - la figure 2 est un organigramme du fonctionnement de base de l'installation telle qu'illustrée à la figure 1. Suivant la représentation de la figure 1, une installation de commande numérique classique 10 est associée à une machine-outil 12, telle qu'un tour, une rectifieuse ou une fraiseuse. De plus, la figure 1 comporte les trois parties.essentielles suivantes : une section de calcul directe 14 ; une section de communication 16 incorporant une voie de communication téléphonique 18, et unesection de calcul à distance 20 qui est relativement éloignée par rapport à la section de calcul directe 14 et reliée à cette dernière au moyen de la section de communication 16.La section de calcul directe 14 commande l'exécution d'un programme partiel au moyen de l'installation de commande numérique 10 et de la machine-outil 12, tandis que la section de calcul à distance 20 en fonctionnement, reçoit des informations relatives à un programme partiel en langage généralisé, tel que le langage APT et réexpédie les caractères du programme partiel après leur "post-traitement" sous forme série vers la section de calcul directe 14 pour emmagasinage et exécution ultérieure. La section 14 comprend un calculateur numérique universel 22 relié à l'installation de commande numérique 10 pour des opérations directes avec cette dernière et possédant une mémoire 24 divisée en deux parties désignées par les lettres A et B à la figure 1 pour manifester sa capacité à emmagasiner deux programmes partiels distincts. Un calculateur approprié ayant une capacité de mémoire propre est par exemple le calculateur t'Nícro 810" fabriqué par les établissements Microdata Corp. de Santa Ana, Californie. Ce calculateur numérique est relativement petit. Il a une mémoire propre d'environ 32.000 multiplets (bytes). La capacité de mémoire peut & re augmentée à l'aide de disques extérieurs empilési de mémqires à tores, etc. .... On utiliserait tout aussi bien tout autre type de calculateur numérique universel. le calculateur 22 est subordonné au contrôle d'un opérateur par l'intermédiaire d'un tableau 26 porteur d'une multiplicité d'eléments d'entrées tels que boutons-poussoirs, boutons moletés, etc. le tableau 26 comporte un "bouton-poussoir à chargement de prograRmme" 28 que l'on fait fonctionner lorsque lton désire extraire un programme partiel après "post-traitement" de la section éloignée 20 et l'emmagasiner dans la partie A ou B de la mémoire 24 pour exécution ultérieure. le tableau 26 comporte en outre un indicateur 30 de "programme disponible" fonctionnant pour indiquer que l'ex- traction du programme partiel entier de la section éloignée 20 a été exécutée.Le tableau 26 comporte encore un bouton poussoir 32 "d'exécution" que l'on met en fonctionnement simultanément avec respectivement l'un des boutons poussoirs 34 et 36 qui correspondent aux sections A et B de la mémoire 24 pour placer un programme emmagasiné Gn fonctionnement réel au moyen de l'installation de commande numérique 10 et de la machine-outil 12. La section de calcul directe 14 comprend en outre un interface 38 fonctionnant pour convertir partiellement les signaux du calculateur en la forme appropriée en vue de leur transmission sur une voie de communication téléphonique standard 18 d'une manière classique. La firme Microdata Corp. fournit également un interface 18 approprié sous la référence numérique 8805. L'interface 38 est connecté entre le calculateur 22 et un convertisseur analogiquenumérique standard connu du technicien sous le nom de "modem" 40 et qui fait partie de la section de communication 16.Le modem 4D est relié d'une part à un dispositif standard 42 à accès direct des Bell Telephone qui est relié directement à la voie de communication par ligne téléphonique 18. le modem 40 peut aussi etre interconnecté avec un téléimprimeur 44, lecteur de bande comportant un clavier de perforation de façon à permettre la réception des données d'un programme partiel à partir d'une bande perforée et aussi de façon à permettre la préparation d'une bande perforée utilisant les données après "post-traitement" qui sont extraites de la section éloignée 20.Dans ces circonstances, le télé-imprimeur 44 lecteur de bande comportant un clavier de perforation, fonctionne comme une unité de réception pour les données du programme partiel après "post-traitement" et en simultanéité avec l'emmagasinage de ce programme partiel dans la mémoire 24. La section de calcul éloignée 20 est l'image dans un miroir à l'extrémité opposée de la voie téléphonique 18 du système de transformation et de conversion du signal 14. En conséquence, elle comporte la liaison série des éléments suivants : un dispositif standard à accès direct 46 ; un modem 48 ; un interface 50, tous reliés en série entre la voie téléphonique 18 et un calculateur 52 avec "post-traitement" disposant d'une mémoire à grande capacité 54. La communication entre la section de calcul 14 et la section de calcul éloignée 20 peut & re engagée au moyen d'un téléphone 56 à cadran numérique standard 58 connecté entre le modem 40 et le dispositif à accès direct 42. Un dispositif à couplage acoustique bien connu peut entre utilisé pour établir le contact initial ou la communication et maintenir cette dernière le temps du transfert d'un programme partiel dans l'une ou l'autre direction. On décrit le fonctionnement du dispositif de la figure 1 en relation avec les figures 1 et 2. Avantageusement, l'organi- gramme de la figure 2 est inséré de façon directe par programmation du calculateur 22, mais il peut également être inséré à l'aide d'un câblage permanent. Le fonctionnement du dispositif illustré à la figure 1 est déclenché par l'envoi d'une demande de programme partiel à partir du calculateur local 22 à l'adresse du calculateur éloigné 52. Une manière d'effectuer cette demande consiste à utiliser le clavier du téléimprimeur 44 pour introduire la séquence appropriée de caractères alphanumériques. Une autre manière consiste de la part de I'opérateur à introduire un chiffre désiré en direction de l'ordinateur 52 au moyen d'un clavier numérique que l'on peut trouver sur le tableau 26. Le calculateur 22 compose alors et envoie au calculateur éloigné 52 une séquence appropriée de caractères alphanumériques. Le calculateur 22 en combinaison avec la mémoire 24, îtinstallation de commande numérique 10, et la machine outil 22 fonctionne dans un mode "d'interruption prioritaire" comme il est connu du technicien, et suivant lequel une hiérarchie dans les priorités est établie une fois pour toutes. Suivant cette hiérarchie le calculateur est amené à entreprendre un certain nombre de tâches suivant un certain ordre. Des signaux d'interruption sont engendrés par les différents dispositifs d'entrée pour signaler le besoin de données spécifiques relativement aux opérations en cours. Dans le mode d'interruption par priorité, le calculateur 22 peut être considéré comme exécutant un programme principal identifié à la figure 2 par un losange 51 à partir duquel le programme sort en réponse à un signal d'interruption reçu, reconnu comme tel et identifié en bonne et due forme.Dans ce cas le signal d'interruption survient comme étant le résultat d'un caractère reçu de l'ordinateur éloigné 52. Ce caractère parvient au modem 20 et amène l'interface 38 à engendrer un signal d'interruption. L'accusé de réception de ce signal est ensuite produit par le calculateur 22. La combinai son de ces opérations est identifiée à la figure 2 par un rectangle 59. Une fois que le fonctionnement du calculateur 22 a été interrompu par les étapes 57 et 59, le transfert d'un programme partiel après "post-traitement" du calculateur 52 vers une section choisie de la mémoire 24 peut être entrepris au moyen de la section de communication 16. Dans cette opération, le programme partiel tout entier est transféré du calculateur 52 à la mémoire 24 et emmagasiné pour exécution ultérieure, c'est-à-dire que le programme partiel n'est pas transféré à l'installation de commande numérique 10 pour exécution sur la machine 12 pendant son transfert vers le calculateur 22 et la mémoire 24. Avant qu'une séquence de caractères d'un programme partiel soit emmagasinée dans la mémoire 24, on doit enfoncer le bouton 28 de "chargement de programme" sur le tableau de commande 26. En conséquence, la réception, l'accusé de réception et l'identification du signal d'interruption indiqués par le rectangle 59 sont suivis d'une opération logique pour déterminer si oui ou non le bouton 28 a été enfoncé. Cette opération logique est identifiée à la figure 2 par un losange 60. Une réponse négative à cette question résulte dans le fait que l'on ignore le caractère, ce qui est indiqué à la figure 2 par un rectangle 62 et en retournant au programme principal 57. Si ceci se produit, l'étape d'interruption 59 se reproduit indiquant la disponibilité d'un caractère d'un programme partiel jusqu'à ce que le bouton poussoir 28 soit correctement enfoncé, si bien que la réponse à la question logique 60 puisse dtre affirmative.Dans cette dernière hypothèse, le programme progresse jusqu a une étape 64 correspondant à la determination logique de savoir si un caractère EOR "d'arrêt-rebobinage" a été reçu du calculateur 52 de post-traitement. L'apparition de ce caractère signifie le commencement effectif du transfert d'une séquence de programme partiel du calculateur de post-traitement vers la mémoire 24, tout caractère reçu précédemment étant sans valeur et par conséquent ignoré. Pour exécuter l'étape de l'élimination des caractères reçus précédemment, on voit à la figure 2 qu'une réponse négative à la question 64 est suivie d'une étape 66 au cours de laquelle on introduit le caractère et on l'analyse dans une étape 68 pour déterminer s'il est ou non lui-meme le caractère EOR de l'étape 64. Si la réponse est "non", le caractère est rejeté à l'étape 70 et le calculateur retourne au programme principal 57. Si la réponse est "oui", l'étape suivante consiste à placer un drapeau "chargement de programme" sur la mémoire 24 pour provoquer l'exécution systématique de toutes les étapes ultérieures relatives au transfert des caractères du programme partiel vers la mémoire 24. La mise en place du drapeau dé chargement de programme est indiquée par un rectangle 72 et est suivie par le retour au programme principal 57. Une fois que le drapeau de chargement de programme a été placé, l'apparition du caractère suivant du programme partiel provoque à nouveau une sortie du programme principal 57 par la voie du signal de réception, accusé de réception et identification et une progression par les étapes 60 et 64 jusqu'à la détermination logique d'une étape 74. Cette détermination logique comporte l'analyse du caractère pour déterminer si la totalité du programme partiel a été reçue. Suivant le mode de réalisation spécifique décrit ici, la fin du programme partiel est signifiée par une succession de 40 espacements consécutifs et par conséquent l'étape logique 74 consiste à déterminer si les quarante espacements ont été reçus. Si la réponse est "non", le caractère rendu disponible est lu et emmagasiné dans la partie appropriée de la mémoire 24. Ceci est indiqué par le rectangle 76. A la suite de cette opération, on effectue un retour au programme principal 57 de façon à préparer le système pour l'arrivée et l'emmagasinage du caractère suivant du programme partiel dans la séquence. Une fois terminé, le transfert du programme partiel et les quarante espacements reçus, si bien que la réponse à la question logique 74 est alors "oui", une étape 78 est entreprise pour éclairer l'ampoule 30 sur le tableau 26 ce qui indique que le programme entier a été' reçu et emmagasiné et qu'il est disponible pour le fonctionnement direct de la machine-outil 12 à l'aide du calculateur 22 dans l'installation de commande numérique 10. A la suite de étape 78, le drapeau de chargement de programme en mémoire 24 est remis en place au cours d tune étape 80 et le fonctionnement du calculateur 22 est reporté au programme principal 57. REVENDICATIONS 1) Procédé de commande pour machine-outil caractérisé en ce que : llon adresse une source éloignée de caractères de programme partiel en vue de la restitution en série de caractères de programme partiel ; on restitue et l'on emmagasine les caractères d'un programme partiel complet dans une mémoire locale de capacité suffisante pour permettre l'emmagasinage d'au moins un tel programme comportant une multiplicité de caractères ; on extrait les caractères du programme de cette mémoire locale et on les utilise en vue de la commande numérique de la machine-outil dans un mode direct. 2) Procédé suivant la revendication 1, caractérisé en ce que les caractères qui sont restitués par la source éloignée sont analysés successivement et que l'on ne retient que ceux qui surviennent en série entre deux caractères prédéterminés. 3) Installation de commande numérique pour machine-outil comportant un calculateur relié à l'installation de commande numérique et possédant une mémoire d'une capacité suffisante pour être à meame d'emmagasiner au moins un programme partiel complet comportant une multiplicité de caractères, caractérisée en ce qu'elle comprend : une source éloignée de caractères de programme partiel susceptible d'etre mise en communication d?une façon sélective avec la mémoire et des moyens de contre pour conditionner ce calculateur et cette mémoire en vue de la réception et de l'emmaga- sinage dtun programme partiel complet dans ladite mémoire en provenance de la source éloignée indépendamment du fonctionnement de la machine-outil en liaison avec le calculateur. 4) Installation suivant la revendication 3, caractérisée en ce que cette source éloignée comporte un calculateur numérique capable de répondre à un langage de programme généralisé pour restituer une séquence série de caractères de programme partiel dans un format machine spécialisé. 5) Installation suivant la revendication 3, caractérisée par une voie de communication entre la source éloignée et la mémoire. 6) Installation suivant la revendication 5, caractérisée en ce que cette voie de communication comprend une ligne téléphonique et un convertisseur analogique-numérique à chaque extrémité. 7) Installation suivant la revendication 3, caractérisée en ce que cette mémoire comprend au moins deux parties (A et iB) dont chacune présente une capacité suffisante pour recevoir et emmagasiner au moins un programme partiel complet comportant une multiplicité de caractères numériques. 8) Installation suivant la revendication 3, caractérisée en ce que le calculateur comprend des moyens pour analyser les caractères restitués par la source éloignée et ne retenir que ceux compris entre deux caractères déterminés dans la série de caractères reçus.