Brevet FR2461974A1 — publié le 19810206

Procédé et montage pour l'établissement et/ou la modification du programme dans des machines à commande numérique." La présente invention concerne un procédé et un montage pour l'établissement et/ou la modification du programme dans des machines, notamment des machines-outils et des machines de mesure, à commande numérique, au moyen d'une unité de visualisation pour des lignes de programme et d'un clavier muni de touches d'introduction pour des données numériques et/ou alphanumériques. Dans les machines à commande numérique, le programme de travail est représenté sous la forme de lignes de programme alphanumériques sur une unité de visualisation. L'opérateur peut contrôler visuellement le programme de travail représenté et le modifier au besoin ou corriger des erreurs possibles. A cet effet, il fait par exemple ressortir sur l'unité de visualisation, par un marquage au moyen d'une silhouette mobile ou d'un curseur, les données à modifier ou à corriger dans une ligne de programme. Il est possible de modifier par échelons la position d'une silhouette mobile au moyen de touches de commande appropriées "pas vers la droite","pas vers la gauche","avance de ligne", "recul de ligne", afin de procéder à des changements ou des corrections sur des signes alphanumériques représentés en lignes sur l'écran d'un tube à rayons cathodiques. L'invention a pour objet un procédé et un montage permettant de simplifier le service de telles commandes, de supprimer dans une large mesure les possibilités d'erreur et de simplifier encore davantage, pour l'opérateur d'une machine à commande numérique, les modifications et corrections sur des lignes de programme visualisées. Le procédé est caractérisé par le fait que l'on utilise l'unité de visualisation pour la représentation visuelle de lignes de programme et/ou de textes de dialogue et que la commande propose, le cas échéant, des données numériques et/ou alphanumériques à introduire. L'avantage de l'invention réside particulièrement dans le fait que, dans l'établissement de lignes de programme, l'opérateur est guidé par le dialogue proposé, ce qui allège sa tâche et élimine à peu près tous risques d'erreur. Dans un mode de réalisation préféré, après que l'on a commencé l'établissement d'une ligne de programme, on ne fixe complètement les parties de ladite ligne dans l'ordre déterminé par les textes de dialogue qu'après réponse au texte de dialogue actuel, par exemple sousla forme d'un accord ou d'une modification de données proposées éventuellement dans ce texte de dialogue. Avec un clavier qui comporte aussi des touches de commande, pour la modification ou la correction de données des lignes de programme visualisées sur des marques ou signes (positions) désignés par un curseur dans lesdites lignes de programme, sous la forme de touches de position par lesquelles le curseur est chaque fois déplaçable, dans un sens ou dans l'autre, d'une marque ou d'un signe (position) dans une ligne de programme de l'unité de visualisation et sous la forme de touches de ligne par lesquelles les lignes de programme de l'unité de visualisation sont enclenchées successivement vers l'avant et vers l'arrière, la sortie du curseur d'une ligne de programme dans un certain sens peut annuler des modifications ou corrections précédemment apportées à des données de la ligne de programme, tandis que la sortie dans le sens opposé laissera subsister lesdites modifications ou corrections précédemment apportées à de telles données ; dans les mêmes conditions, en cas de positions du curseur à l'intérieur d'une ligne de programme, un actionnement des touches de ligne peut provoquer la poursuite de l'enclenchement des lignes de programme de l'unité de visualisation jusqu'à la ligne la plus proche renfermant la marque ou le signe (position) caractérisés par le curseur et l'on peut éventuellement corriger les données sur cette marque ou ce signe (position). Les données proposées par la commande sont de préférence celles qui ont été introduites en dernier dons les précédentes phases de travail, ce qui épargne, par exemple, à l'opérateur l'introduction répétée de données identiques. On peut, de plus, annuler aussitôt des modifications ou corrections entreprises, par erreur, à un mauvais emplacement ou défectueuses, c'est-à-dire que les données anciennes ne se perdent pas du fait de la correction et restent au contraire disponibles pour la suite. On peut en outre effectuer de façon rapide des modifications ou corrections de même genre dans différentes lignes de programme. L'unité de visualisation possède par exemple un champ à une seule ligne avec la possibilité d'afficher alternativement des textes de dialogue et des lignes de programme. Si le champ de ladite unité comporte deux lignes, on peut afficher simultanément un texte de dialogue et une ligne de programme. En cas de champ de visualisation à trois lignes, on peut afficher simultanément un texte de dialogue, une ligne de programme et une correction introduite. Avec un champ de visualisation à multiples lignes, on peut afficher simultanément un texte de dialogue, plusieurs lignes de programme, une ligne de programme actuelle, une correction introduite ou une ligne de programme incomplète et plusieurs états de programme. Selon d'autres particularités possibles de l'invention : le curseur n'est déplaçable, dans les deux sens, dans une ligne de programme de l'unité de visualisation que vers des marques ou signes (positions) déterminés ; toute ligne de programme quelconque est affichable au moyen d'une touche de"SAUT"dans l'unité de visualisation ; des touches de présélection permettent de fixer à l'avance le mode de fonctionnement ; dans le dialogue, on affiche aussi, sous forme numérique et/ou alphanumérique, des erreurs et d'autres états de fonctionnement dans l'unité de visualisation ; on interroge le dialogue à l'actionnement d'une touche"effacement de programme". Le montage de mise en oeuvre du procédé selon l'invention est caractérisé par le fait qu'un micro-ordinateur commande l'unité de visualisation sur sollicitation du clavier et est relié à une mémoire ROM/PROM (mémoire morte et/ou morte programmable) ainsi qu'à une mémoire RAM (mémoire à accès direct). L'invention sera mieux comprise à l'aide de la description détaillée d'un mode de réalisation pris comme exemple non limitatif et illustré schématiquement par le dessin annexé, sur lequel : la figure 1 est une vue fragmentaire d'une machine de travail munie d'un appareil de commande numérique ; la figure 2 est un schéma synoptique du montage électrique ; les figures 3a à 3d représentent différents champs d'affichage d'une unité de visualisation. On voit sur la figure 1 le banc 1 et le chariot 2, mobile par rapport à celui-ci en direction des flèches X, d'une machine quelconque, par exemple une machine-outil,. à commande numérique. Les déplacements relatifs du banc 1 et du chariot 2 sont soumis au contrôle d'un appareil de mesure de longueur électrique numérique dans lequel la graduation d'une échelle, non représentée, placée sur un support 3 est explorée de façon connue par une unité de lecture 4 reliée au chariot 2 par un organe d'entraînement 5 fixé à ce dernier par des vis 6. Un appareil de commande numérique 7 de la machine-outil doté d'un tableau de service et de visualisation 8 est fixé au moyen d'un bras pivotable 9 au banc 1 de ladite machine. Ce tableau de service et de visualisation 8 présente un champ d'affichage à une seule ligne lOa pour la représentation visuelle de lignes de programme et de textes de dialogue. L'introduction de données numériques pour les lignes de programme est assurée par des touches appropriées 11, et en même temps les données ainsi choisies apparaissent aux fins de contrôle sur un champ d'affichage 12. Il existe, en outre, des touches de commande 13, des touches de commencement de ligne 14 et des touches lumineuses 15 de présélection de mode de fonctionnement sur lesquelles on reviendra ci-après. Un champ d'affichage 16 donne à tout moment l'indication-des valeurs réelles de position pour les axes X, Y et Z. On admettra, pour l'exposé du procédé selon l'invention, que la machine-outil a déjà parcouru au moins une phase d'usinage et doit être reprogrammée pourune phase suivante. La commande dispose d'un nombre déterminé de différentes lignes de programme pour l'exécution d'autant de phases : celles qui sont nécessaires à la phase chaque fois envisagée sont appelées successivement au moyen des touches 14 de commencement de ligne et affichées dans le champ à une seule ligne lOa après l'accomplissement d'un dialogue. Une première ligne de programme de ce genre a par exemple l'expression suivante :"A X+123. 45 RO F 1000 H 01010". La let- tre"A"introduite au moyen de la touche de présélection 15 "ABS"au commencement de la programmation de cette ligne signifie que la prochaine phase de travail devra se dérouler en"mesure absolue". En appuyant sur la touche 14 de commencement de ligne"X", on fait apparaître dans le champ d'affichage 10a le texte de dialogue"Valeur de consigne de position ?". L'opérateur choisit, par exemple, au moyen des touches d'introduction 11, la valeur de consigne de position voulue"+123. 45", qu'il contrôle dans le champ d'affichage 12 et introduit par enfoncement de la touche 13"INTR", dans la ligne de programme. Après quoi, il apparaît dans le champ d'affichage 10a le prochain texte de dialogue"Corr. rayon : R +/R-/Pas de corr. ?". Si l'opérateur n'actionne ni la touche 15"R+"de correction de rayon positive ni la touche 15"R-"de correction négative, la ligne de programme reçoit, par l'effet de la touche 13 "INTR", la fonction"RO" (pas de correction de rayon). Le texte de dialogue"Corr. rayon..."peut également être supprimé ; on présélectionne alors tout d'abord, après avoir opté pour la touche 15"ABS"ou la touche 15"ITÉR" (mesure itérative), la correction de rayon souhaitée ou non souhaitée par actionnement ou non de la touche 15"R+"ou de la touche 15"R-". Les touches de présélection 15 permettent donc d'abréger le dialogue. Dans le texte de dialogue"Avance ? F = 1000"qui suit dans le champ d'affichage 10a, la commande fait à l'opérateur une proposition quant à la valeur d'avance à choisir ; l'opérateur peut choisir une nouvelle valeur d'avance ou introduire dans la ligne de programme, par actionnement de la touche 13"INTR", la valeur "1000" proposée, ce qui le dispense alors de l'introduction répétée de valeurs identiques. De même, le texte de dialogue suivant"Fonction additionnelle ? H = 01010"propose deux de cinq fonctions additionnelles pouvant être choisies : chaque emplacement de chiffre désigne une de ces fonctions additionnelles déterminée ; le chiffre "1"signifie que la fonction additionnelle correspondante entre en action, et le chiffre "0" que la fonction addition- nelle correspondante reste inopérante. Après prise en charge de cette position ou d'une autre combinaison dans la ligne de programme par actionnement de la touche 13"INTR", la ligne de programme, alors complète, apparaît dans la fenêtre d'affichage 10a et, après un contrôle d'exactitude, elle peut être emmagasinée, par nouvel actionnement de la touche 13 "INTR", dans une mémoire RAM (mémoire à accès direct) 19 ; la ligne de programme reçoit en même temps un numéro. On établit de la même façon, en dialogue, les autres lignes de programme au moyen des autres touches 14 de commencement de ligne. S'il s'avère nécessaire d'apporter après coup des modifications ou corrections aux lignes de programmes achevées, on peut placer sur la marque ou le signe (position) à modifier ou à corriger un curseur déplaçable au moyen de touches de position 13c, 13d dans la ligne de programme intéressée ; le curseur peut caractériser ladite position par clignotement encadrement, soulignement ou tout autre moyen approprié. Après composition de la valeur de correction par les touches d'introduction 11 et actionnement de la touche 13"INTR", cette valeur aboutit, dans la ligne de programme, à la position marquée par le curseur. Si l'on retire ensuite ledit curseur de ladite ligne de programme, par exemple vers la gauche, au moyen de la touche de position 13d, il apparaît à nouveau la valeur ancienne, c'est-à-dire que la correction effectuée est annulée ; si l'on retire le curseur vers la droite, par la touche de position 13c, la correction subsiste au contraire. On peut ainsi, sans perdre l'ancienne valeur de donnée et en continuant par conséquent à en disposer, supprimer aussitôt des modifications ou corrections entreprises par erreur à un mauvais emplacement ou défectueuses. Il s'avère en même temps opportun de n'autoriser pour le curseur que des marques ou signes (positions) déterminés dans une ligne de programme ; si dans la ligne de programme précitée, le curseur marque par exemple la position"F", on peut modifier globalement la valeur "1000"suivante au moyen des touches d'introduction 11. En outre, en cas de positions du curseur à l'intérieur de la ligne de programme affichée, un actionnement des touches- de ligne 13a, 13b provoque l'affichage de la ligne de programme la plus proche qui renferme la marque ou le signe (position) désignés par le curseur. Si ce dernier désigne par exemple la marque"F"corrigée dans la ligne de programme précitée, l'actionnement des touches de ligne 13a, 13b fait apparaître la plus proche des lignes de programme suivantes ou précédentes qui renferme également la marque"F"à corriger. Un actionnement de la touche 13"INTR"provoque l'introduction de la correction initiale dans cette ligne de programme, et un autre actionnement des touches de ligne 13a, 13b un affichage de la ligne de programme suivante la plus proche comportant ladite marque"F". On peut ainsi effectuer de façon simple et rapide des corrections de même genre dans différentes lignes de programme non voisines. Pour compléter l'explicationon supposera affichées, en plus de la ligne de programme précitée, d'autres lignes de même genre donnant le programme suivant : 1 A X + 123, 45 RO F 1000 H 01010 2 DEF OUTI 255 RAYON 123.45 3 APP OUTI 225 Z S 1250 H 11111 4 DEF CYCL 1 F 1000 On considèrera comme"ligne de programme actuelle"celle qui porte le numéro"1" (les numéros de ligne figurent au commencement de chaque ligne) et que le curseur désigne, par exemple en j. & soulignant, la. ntarque"F"pour que l'on procède à une correction de la valeur de donnée correspondante de"1000". Si l'on actionne ensuite la touche de ligne 13a, il apparaît comme"ligne de programme actuelle, la ligne de programme de numéro 4 renfermant également la marque"F", que le curseur désigne de même en la soulignant et à la valeur de donnée correspondante "1000" de laquelle on peut apporter une correction. Les marques"F"peuvent se trouver en des positions quelconques de la première et de la quatrième lignes de programme. On peut repérer de la même façon aussi des groupes de marques, par exemple"A" (mesure absolue) et"I" (mesure itérative), à tour de rôle au moyen du curseur après affichage de leurs lignes de programme correspondantes par actionnement des touches de ligne 13a, 13b. Si le curseur se trouve en dehors de la ligne de programme affichée, chaque actionnement de la touche de ligne 13a provoque l'indication successive des lignes de programme suivantes, et un actionnement de la touche de ligne 13b l'indication successive des lignes de programme précédentes. L'actionnement de la touche 13"SAUT"et l'introduction d'un numéro de ligne de programme permettent l'affichage immédiat de la ligne de programme en question. Au moyen des touches 13 L6N' et dz on peut effacer respectivement une ligne de programme non nécessaire et la totalité du programme ; l'actionnement de la touche 13 s'accompagne cependant d'une interrogation de dialogue à l'effet de savoir si l'effacement de programme souhaité doit vraiment avoir lieu, cela afin d'éviter un effacement intempestif de l'ensemble du programme. La figure 2 représente un montage pour la mise en oeuvre du procédé selon l'invention. Un micro-ordinateur 18 commande l'unité de visualisation 17 sur sollicitation du clavier 21 et est relié à une mémoire PROM (morte programmable) 20 ainsi qu'à une mémoire RAM (à accès direct) 19. La mémoire RAM 19 renferme les lignes de programme et les données introduites, la mémoire PROM 20 un programme de déroulement interne. Les figures 3a à 3d représentent différentes fenêtres d'affichage 10a à 10d pour l'unité de visualisation 17. On retrouve sur la figure 3a la fenêtre à une seule ligne 10a selon la figure 1, dans laquelle on affiche les uns après les autres les textes de dialogue nécessaires à l'établissement d'une ligne de programme ; après le dernier texte de dialogue, la ligne de programme achevée se trouve affichée. La figure 3b représente une fenêtre d'affichage à deux lignes lOb qui permet l'affichage simultané de textes de dialogue et d'une ligne de programme correspondante, cette dernière dans la mesure seulement de l'avancement du dialogue. La figure 3c concerne une fenêtre d'affichage à trois lignes 10c, dont la troisième, supplémentaire, sert à l'affichage de corrections introduites. Enfin, la figure 3d est consacrée à une fenêtre d'affichage 10d constituée par l'écran d'un visualiseur de données et comportant un grand nombre de lignes dont celle du milieu présente en l'ligne de programme actuelle"la ligne de programme chaque fois appelée ; cette ligne de programme est mise en relief par rapport aux autres par une plus grande clarté. Au-dessous de la"ligne de programme actuelle"se trouve une ligne pour l'affichage de corrections introduites dans laquelle, lors de l'établissement du dialogue, la ligne de programme incomplète est affichée pour être ensuite transférée à la ligne"ligne de programme actuelle"par la touche 13"INTR". Les deux dernières lignes caractérisent l'état du programme, par exemple le choix d'outil opéré. 1. ProcCcié clC t iil-) l 1 ss (-, iii (ii L (-/oti cit iii (.) cl if i cit L i (-Iii (lu HINENl11l.'N' ! 1 UNS J. Procédé d'éLablissement et/ou de modification du ]. Proceclé d t é t abl i ssc} ell t e L/ou tle IlltXd iE i ca t ion tiU programme dans des machines, notamment dus machines-outils ou des machinas de mesure, a commande, nmnérique, comportant : l'utilisation d'une unité de visualisation pour dus lignes de programme et d'un clavier avec des touchi.'s d'introduct : ion pour des données numériques et/ou alphanumériques et caractérise par le fait que l'on se sert de l'unité de visualisation (17) pour la représentation de lignes de programme et/ou de textes de dialogue et que la commande propose ie cas échéant des données numériques et/ou alphanumériques à introduire. 2. Procédé selon la revendication 1 caractérisé par le fait une, après avoir lancé l'établissement d'une ligne de programme, on ne fixe complètement] es parties de ladite ligne dans l'ordre déterminé par le texte de dialogue qu'après avoir répondu au texte de dialogue du moment, par exemple sous la forme d'un accord ou d'une modification de données proposées éventuellement dans ce texte de dialogue. 3. Procédé de modification du programme dans des machines, notamment des machines-outils ou des machines de mesure, à commande numérique, comportant l'utilisation d'une unité de visualisation pour des lignes de programme et d'un clavier muni de touches d'introduction pour des données numériques et/ou alphanumériques ainsi que de touches de commande, pour la modification ou la correction de données des lignes de programme 1 visualisées sur des marques ou signes (positions) désignés par un curseur dans lesdites lignes de programme, sous la forme de touches de position par lesquelles le curseur est chaque fois déplaçable dans un sens ou dans l'autre, d'ure marque ou d'un signe (position) dans une ligne de programme de l'unité de visualisation et sous la forme de touches de ligne parlesquelles les lignes de programme de l'unité de visualisation sont enclenchables successivement vers l'avant et vers l'arrière, procédé caractérisé par le fait qu'en sortant le curseur d'une ligne de programme dans un certain sens, on annule des modifications ou corrections précédemment apportées a des données de ladite ligne de programme, au lieu qu'en le sortant dans l'autre sens, on maintient lesdites modifications ou corrections. 4. Procédé de modification du programme dans des machines, notamment des machines-outils et des machines de mesure, à commande numérique, comportant l'utilisation d'une unité de visualisation pour des lignes de programme et d'un clavier muni de touches d'introduction pour des données numériques et/ou alphanumériques ainsi que de touches de commande, pour la modification ou la correction de données des lignes de programme visualisées sur des marques ou signes (positions) désignés par un curseur dans lesdites lignes de programme, sous la forme de touches de position par lesquelles le curseur est chaque fois déplaçable dans un sens ou dans l'autre d'une marque ou d'un signe (position) dans une ligne de programme de l'unité de visualisation et sous la forme de touches de ligne par lesquelles les lignes de programme de l'unité de visualisation sont enclenchables successivement vers l'avant et vers l'arrière, procédé caractérisé par le fait qu'en cas de positions du curseur à l'intérieur d'une ligne de programme, un actionnement des touches de ligne (13a, 13b) provoque la poursuite de l'enclenchement des lignes de programme de l'unité de visualisation (17) jusqu'à la ligne la plus proche renfermant la marque ou le signe (position) désignés par le curseur et que l'on peut le cas échéant corriger les données sur cette marque ou ce signe (position). 5. Procédé selon la revendication 1, dans lequel on utilise pour modifier ou corriger des données des lignes de programme visualisées sur des marques ou signes (positions) désignés par un curseur dans lesdites lignes de programme, des touches de commande sous la forme de touches de position par lesquelles le curseur est déplaçable à chaque fois, dans un sens ou dans l'autre, d'une marque ou d'un signe (position) dans une ligne de programme de l'unité de visualisation et sous la forme de touches de ligne par lesquelles les lignes de programme de l'unité de visualisation sont enclenchables successivement vers l'avant et vers l'arrière, procédé caractérisé par le fait que l'unité de visualisation (17) comporte au moins une ligne. 6. Procédé selon l'une quelconque des revendications 1 ou 5 caractérisé par le fait que, dans le cas d'une unité de visualisation (17) dont le champ (lOa) comporte une seule ligne, des textes de dialogue et des lignes de programme sont alternativement affichables. 7. Procédé selon l'une quelconque des revendications 1 ou 5 caractérisé par le fait que, dans le cas d'une unité de visualisation (17) dont le champ (lOb) comporte deux lignes, un texte de dialogue et une ligne de programme sont simultanément affichables. 8. Procédé selon l'une quelconque des revendications 1 ou 5 caractérisé par le fait que, dans le cas d'une unité de visualisation (17) dont le champ (lOc) comporte trois lignes, un texte de dialogue, une ligne de programme et une correction introduite sont simultanément affichables. 9. Procédé selon l'une quelconque des revendications 1 ou 5 caractérisé par le fait que, dans le cas d'une unité de visualisation (17) dont le champ (lOd) comporte de multiples lignes, un texte de dialogue, plusieurs lignes de programme, une ligne de programme actuelle, une correction introduite ou une ligne de programme incomplète et plusieurs états de programme sont simultanément affichables. 10. Procédé selon la revendication 3 caractérisé par le fait que le curseur n'est déplaçable, dans les deux sens, à l'intérieur d'une ligne de programme de l'unité de visualisation (17) que vers des marques ou signes (positions) déterminés. 11. Procédé selon la revendication 4 caractérisé par le fait qu'une ligne de programme quelconque est affichable dans l'unité de visualisation (17) au moyen d'une touche (13) de "SAUT". 12. Procédé selon la revendication 1 caractérisé par le fait que l'on utilise des touches de présélection (15) pour fixer à l'avance le mode de fonctionnement. 13. Procédé selon la revendicatrn l, caractérisé par le fait que, dans le dialogue, on affiche aussi, sous forme numérique et/ou alphanumérique, des erreurs ou d'autres états de fonctionnement dans l'unité de visualisation (17). 14. Procédé selon la revendication l, caractérisé par le fait que l'actionnement d'une touche (13) d'effacement de programme s'accompagne C > d'une interrogation de dialogue à l'effet de savoir si l'effacement de programme souhaité doit vraiment avoir lieu. 15. Montage de mise en oeuvre du procédé selon l'une des revendications 1 à 4 caractérisé par le fait qu'un micro-ordinateur (18) commande l'unité de visualisation (17) sur sollicitation du clavier (21) et est relié à une mémoire ROM/PROM (mémoire morte et/ou programmable) (20) ainsi qu'à une mémoire RAM (mémoire à accès direct) (19).