FR 2569877 A1 19860307 FR 8510286 A 19850705 La présente invention concerne de façon générale des systèmes de commande numérique par ordinateur pour des machines-outils et elle porte plus particulièrement sur la visualisation graphique d'information liée au fonctionne- ment de tels outils et au processus d'usinage. Les systèmes de commande numérique destinés à commander des machines-outils conformément à l'exécution de programmes enregistrés dans un ordinateur sont bien connus. De tels systèmes commandent l'opération d'usinage sous l'action d'un ou de plusieurs programmes de pièces qui sont enregistrés dans une mémoire après avoir été chargés dans la mémoire au moyen, par exemple, d'une ban- de perforée. A la demande, le programme de pièce fait accomplir à la machine une série d'étapes de fabrication. Lorsque, par exemple, la machine comprend un outil de coupe, le mouvement relatif entre-la pièce usinée et l'outil de coupe s'effectue normalement selon trois axes mutuellement perpendiculaires, conformément au programme de pièce qui impose le mouvement de l'outil de coupe. De plus, un système de commande numérique par ordinateur peut être conçu de façon à commander d'autres fonctions telles que des changements d'outil, la vitesse de la broche, la circulation du fluide de refroidissement, la sélection de palettes et la génération de messages et de graphiques. Le nombre et le type de fonctions varient considérablement en fonction du type de la machine-outil qui est commandée. Dans le passé, on a effectué la com- mande au moyen de circuits câblés spécialisés fonctionnant sous la dépendance de conditions détectées sur la machine- outil et d'ordres contenus dans le programme de pièce. Cependant, plus récemment, on a incorporé dans un système informatique la logique associée à des systèmes de commande de machine-outil, au moyen d'un ensemble de programmes enregistrés (c'est-à-dire d'un logiciel), pour réaliser la commande d'ensemble. Le logiciel est spéciale- ment adapté à une application particulière et on peut le modifier aisément à la demande pour satisfaire des besoins spécifiques. L'adjonction d'une commande programmable à un système de commande numérique procure un certain nombre d'avantages dont le premier et le plus important consiste en ce qu'il suffit de reprogrammer la commande pour lui permettre de fonctionner avec une machine-outil particu- lière. De plus, la programmation par l'utilisateur est relativement plus aisée, à cause du type de jeu d'instruc- tions qui est normalement employé et des caractéristiques d'édition qui sont normalement disponibles. Une commande numérique par ordinateur, ou sim- plement une CNO, destinée à commander le fonctionnement d'une machine-outil, peut comprendre deux logiciels sépa- rés, à savoir la "logique de commande numérique', qu'on appelle le logiciel de commande numérique, dont le contenu est plus ou moins fixe, et la "logique de commande de machine", qu'on appelle le programme LCM, qui est modifia- ble et peut être adapté à une machine-outil particulière. Dans l'industrie, cette adaptation est habituellement effectuée par le constructeur d'équipements spécifiques (OEM). Le logiciel de commande numérique commande la fabrication des pièces, le mouvement selon les axes, la visualisation sur un tube cathodique et d'autres fonc- tions auxiliaires, tandis que le programme LCM commande essentiellement, sinon exclusivement, le fonctionnement de la machine-outil. La demande de brevet des E.U.A. n 415 041 déposée le 7 septembre 1982 décrit en outre un logiciel d'interface, qu'on appelle une Fenêtre d'Adapta- tion, qui est constitué par un groupe de programmes, de réseaux d'entrée/sortie et d'indicateurs drétat qui assu- rent la liaison entre le logiciel de commande numérique, le programme LCM et la machine-outil. L'utilisation d'une fenêtre d'adaptation procure auconstructeur d'équipements spécifiques, ou au client, une grande sou- plesse dans l'adaptation d'une commande numérique par ordinateur à une machine-outil particulière. Dans l'un de ses aspects, l'invention utilise une fenêtre d'adapta- tion. Une fois-que les commandes numériques par ordi- nateur ont été programmées et fonctionnent, elles rem- plissent leur fonction automatiquement et pratiquement sans intervention du personnel d'exploitation. Il est néanmoins nécessaire de temps en temps que l'opérateur (ou d'autres) puisse discerner rapidement des résultats de fonctionnement, des données d'usinage, des conditions de la machine, etc. En bref, il est nécessaire qu'il existe une communication aisée entre la commande numéri- que par ordinateur et le personnel qui s'occupe du pro- cessus commandé. Dans une commande numérique par ordina- teur de type caractéristique, une partie considérable de cette communication s'effectue par une présentation visuelle sur un tube cathodique. La majeure partie de l'information présentée est cependant sous la forme d'un texte qui doit être lu intégralement pour être pleinement compris. Il demeure donc un besoin portant sur une aide graphique, de façon que le personnel d'exploitation puisse connaître très rapidement et très aisément des conditions de fonctionnement telles que la vitesse de la broche, ou le temps d'utilisation cumulé d'un outil, en jetant seulement un regard sur l'écran du tube cathodi- que. L'invention a donc pour but d'apporter un per- fectionnement à des systèmes de commande numérique pour des machines-outils. L'invention a plus particulièrement pour but d'apporter un perfectionnement à des moyens destinés à présenter une information sur un dispositif de visuali- sation graphique pour un système de commande numérique par ordinateur, de façon que des opérateurs de machine- outil, du personnel de maintenance ou autre puissent discerner aisément et rapidement les conditions de fonctionnement de la machine-outil. Brièvement, on atteint les buts précédents ainsi que d'autres, dans un système de commande numéri- que par ordinateur, par l'utilisation d'un nouvel ensem- ble de sous-programmes incorporés dans la partie du pro- gramme de logique de commande de machine (LCM) qui est spécialement accessible pour l'adaptation de la commande numérique par ordinateur à une machine-outil particuliè- re. Les sous-programmes sont exécutés lorsque l'opérateur de la machineoutil demande la visualisation d'une page de visualisation d'information d'état de la machine. Les sous-programmes comprennent une routine destinée à ini- tialiser une visualisation graphique prédéterminée à partir de fichiers de commande de visualisation du logi- ciel de commande numérique. Ceci est suivi par une seconde routine qui est exécutée périodiquement lorsque la visualisation graphique est active, pour mettre à jour de façon dynamique l'information graphique qui est visua- lisée. Pendant chacune des deux routines, on appelle une ou plusieurs de six procédures de "tracé" pour produire la visualisation graphique désirée. Ces procédures com- prennent le déplacement d'un curseur graphique jusqu'à une position donnée sur l'écran du tube cathodique, le tracé d'une ligne, le tracé d'un rectangle, le tracé d'un arc, le tracé d'un cercle, le remplissage d'une zone pré- déterminée et l'effacement d'une zone, qui peut comprendre la totalité de l'écran de visualisation. En combinant ces procédures, on peut créer une représentation graphique de grandeurs physiques sur l'écran du tube cathodique. Ces graphiques sont d'une forme que l'observateur peut comprendre rapidement. On peut dans certains cas leur donner une forme semblable à celle d'appareils de mesure analogiques. A titre d'exem- ple, en combinant deux arcs contigus, on peut créer une visualisation analogique de la vitesse d'une broche, en pourcentage de la vitesse maximale. Dans un tel cas, on amène le curseur à une position spécifique, on trace ensuite un premier arc dont la longueur représente la vitesse réelle de la broche, et on trace ensuite un second arc, contigu au premier. Les deux arcs représen- tent ensemble la vitesse maximale de la broche. Lorsque la vitesse de la broche change, les angles des arcs varient mutuellement. L'impression obtenue est assez semblable à celle correspondant à un tachymètre à affi- chage analogique. On notera qu'on peut créer des graphi- ques à segments, des diagrammes à secteurs et diverses autres formes de graphiques. La suite de la description se réfère aux dessins annexés qui représentent respectivement: Figure 1: un schéma simplifié représentatif d'un système de commande numérique par ordinateur connu, de l'art antérieur, destiné à la commande d'une machine- outil; Figure 2: un schéma représentant de façon géné- rale le logiciel contenu dans le système de commande numé- rique par ordinateur représenté sur la figure 1; Figure 3: un schéma synoptique représentant de façon plus détaillée le logiciel de commande numérique par ordinateur représenté sur la figure 2; Figure 4: un schéma représentant la manière selon laquelle on établit le programme de commande de machine (LCM); Figure 5: un schéma synoptique représentant de façon générale la séquence d'opérations du logiciel de commande numérique par ordinateur; Figure 6: un schéma représentatif des diverses pages de visualisation qui peuvent être présentées sur l'écran d'un tube cathodique qui fait partie du poste de commande numérique représenté sur la figure 1; Figure 7: un schéma synoptique représentant des sections de sous-programmes qu'on appelle des "modules", dans le programme LCM de constructeur d'équipements spéci- fiques (OEM) représenté sur la figure 3; Figure 8: un schéma synoptique représentant de façon plus détaillée le mode de réalisation préféré de l'invention, dans lequel on ajoute des graphiques à une page de visualisation de format défini, pour un construc- teur d'équipements spécifiques (OEM), présentée sur le tube cathodique du poste de commande numérique représenté sur la figure 1; et Figure 9: un organigramme du procédé de mise en oeuvre de la visualisation graphique sur une page de visualisation pour OEM qui est présentée au poste de com- mande numérique. En considérant maintenant les dessins et plus particulièrement la figure 1, on voit la représentation, dans un but d'illustration, de l'environnement fonctionnel dans lequel l'invention est mise en oeuvre. La figure 1 montre, à titre d'exemple, un système de commande numéri- que par ordinateur (CNO) destiné à commander une machine- outil 10 et qui comprend trois éléments de matériel prin- cipaux. Ces éléments sont les suivants: le poste de com- mande numérique 12, le poste de commande de machine 14 et le coffret du système de commande numérique 16, dont le but est de loger les principales cartes de circuit imprimé, non représentées. Une telle configuration constitue un exemple caractéristique d'un système de commande numérique de la marque Mark Century 2000 de la firme General Electric Company. Ce système est capable d'enregistrer des program- mes d'ordinateur complets et de les appeler selon une séquence désirée, d'éditer des programmes par l'adjonction ou la suppression de sousprogrammes dans des sections ou blocs appelés modules, et d'exécuter ensuite un ensemble complet d'instructions qui accomplit une tâche spécifique sur une machine-outil telle qu'un tour ou une fraiseuse. Le poste-de commande numérique 12 comprend un moniteur-vidéo sous la forme d'un dispositif de visuali- sation à écran cathodique 18, et un clavier 20 ayant des touches de fonctions spéciales pour introduire en mémoire des ensembles d'information, qu'on appelle des fichiers, et pour commander ensuite la lecture de l'information de fichier d'une manière bien connue, pour l'exécution de programmes. - Le poste de commande de machine 14 comprend un ensemble de commandes manuelles et de boutons-poussoirs 22 qu'on utilise pour-des fonctions accomplies par l'opé- rateur et concernant la machine, colmme la sélection de mode, l'accès aux décalages, l'avance pas à pas, la vitesse de la broche, la vitesse d'avance, etc. Les fonctions accomplies par le système de com- mande numérique:par ordinateur représenté sur la figure 1 sont déterminées par des programmes enregistrés de façon interne qu'on appelle le logiciel de commande numérique par ordinateur. Le logiciel de commande numérique par ordinateur est constitué par trois ensembles de program- mes différents, comme le montre la figure 2, et il com- prend la logique de commande numérique 24 (qu'on appelle- ra ci-après le logiciel de commande numérique), la fenê- tre LCM 26 et la logique de commande de machine 28 (qu'on appellera ci-après le programme LCM). Le logiciel de com- mande numérique 24 commande la fabrication de pièces, le mouvement selon les axes de la machine et la présentation de messages pour un tube cathodique. Le logiciel de com- mande numérique constitue une partie fixe ou permanente du système de commande numérique par ordinateur que l'uti- lisateur ne peut normalement pas changer. Le programme LCM commande de façon spécifique le fonctionnement de la machine-outil et il est constitué par un grand nombre de sous-programmes, contenus dans des sections modulaires appelées modules, qui permettent au constructeur d'équipe- ments spécifiques (OEM) d'adapter le système à l'utilisa- teur. La fenêtre LCM 26 consiste en un logiciel, tel que celui décrit dans la demande de brevet des E.U.A. n 415 041 précitée, qui permet au programme LCM 28 de communiquer avec le logiciel de commande numérique 24 et qui donne accès aux entrées et aux sorties de la machine- outil 10. Comme la figure 3 le montre de façon plus détaillée, le programme LCM 28 est constitué par deux par- ties: la LCM fixe 30 et la LCM d'adaptation 32. La LCM d'adaptation contient les programmes destinés à commander le fonctionnement de la machine-outil 10, en utilisant le logiciel de fenêtre LCM 26 pour assurer l'interface nécessaire avec la machine. C'est la LCM d'adaptation 32 qui est spécialement conçue pour adapter la commande numé- rique par ordinateur à la commande d'une machine-outil particulière. La LCM fixe 30 est au contraire un logiciel dont la fonction fondamentale est de contr8ler et de com- mander les dispositifs destinés à l'opérateur dans le poste de commande de machine 14 (figure 1), et on l'utili- se sans aucune modification dans la plupart des applica- tions. La fenêtre LCM 26 est constituée par une série de procédures et de fonctions de fenêtre, 34, par des réseaux d'indicateurs d'état 36 et par des réseaux d'entrée et de sortie 38 qui, en majeure partie, ne peuvent pas être changés, de façon que l'intégrité du logiciel de commande numérique ne puisse pas être compromise par des fonctions et des procédures quelconques programmables par l'utilisa- teur qui sont programmées dans le programme LCM 28. Le logiciel de commande numérique 24 est consti- tué par un ensemble de routines destinées à commander la fabrication de pièces, 40, le mouvement selon les axes, 42, et les visualisations pour l'opérateur, 44, et qui procurent également des programmes commandant le mouvement de la broche, des temporisateurs, des fonctions mathémati- ques et des données de configuration de machine. Les rou- tines de visualisation 44 présentent un intérêt particu- lier dans l'invention dans la mesure o elles comprennent des routines qui permettent à la LCM d'adaptation 32 de sélectionner ou "d'appeler" au choix certaines routines de page de visualisation du logiciel de commande numérique, afin de visualiser pour l'opérateur, à la demande, l'in- formation d'état de machine désirée. Avant de décrire l'invention en détail, on con- sidérera brièvement la structure du programme LCM 28. Le programme LCM est constitué par une séquence exécutable de sous-programmes exprimés dans un langage de programma- tion de haut niveau qui ressemble à une langue naturelle comme l'anglais. Ce langage, appelé Programmable Control- ler Language (PCL), consiste en un groupe de données et d'instructions associées, similaires au PASCAL, qui sont destinées à l'accomplissement d'une opération particuliè- re. On crée séparément des sous-programmes et on peut les utiliser aussi souvent qu'il est nécessaire pour exécuter soit une procédure qui accomplit une opération, soit une fonction qui accomplit une opération et retourne une valeur. Chaque programme comporte un identificateur (qu'on appelle un "appel") qui, lorsqu'il est rencontré, provoque l'exécution du programme considéré. Chaque sous- programme est introduit par une déclaration suivie par les constantes, variables, réseaux ou types de données énu- mérés qu'il contient. Pour un système de commande numé- rique par ordinateur Mark Century 2000, on pourra se référer à une publication de General Electric intitulée "Introduction To PCL/MCL",NEC 1214, novembre 1983, pour avoir une explication détaillée du langage PCL. L'inven- tion présente une utilité particulière lorsqu'elle est utilisée en association avec un système de commande numé- rique par ordinateur Mark Century 2000, mais il apparai- tra clairement que l'invention n'est pas limitée à ce système et peut tout aussi bien être utiliséeavec d'autres systèmes de commande numérique. En considérant maintenant la figure 4, on note que l'adaptation d'un programme MCL 28 pour la machine- outil 10 commence par l'introduction par un concepteur du système d'une série de sous-programmes PCL, désignés par la référence 46, dans le système de commande numéri- que par ordinateur, au moyen du clavier 20 du poste de commande numérique 12, dans lequel ces sous-programmes sont appliqués à un éditeur de fichiers 48. Ce dernier les transforme en fichiers PCL qui sont enregistrés dans une mémoire, non représentée. Les fichiers PCL sont éga- lement appliqués à un compilateur PCL 52 dans lequel ils sont ensuite traduits en code machine et sont enregistrés sous la forme d'un fichier de code machine 54. Pour ache- ver le traitement du programme, les fichiers de code machine sont ensuite appliqués à un éditeur de liens 56 qui produit un seul fichier de code machine 58. Le fichier de code machine enchaîné est ensuite appliqué à un module d'implantation 60 qui affecte des adresses dans une mémoire vive, non représentée, à l'information conte- nue dans le fichier de sortie de l'éditeur de liens, et qui crée un nouveau fichier 62 contenant les affectations en mémoire vive. L'information provenant du fichier de sortie de l'éditeur de liens est la version finale en code 0 0 0 :11 -: machine du programme LCM et elle est ensuite exécutée pendant le fonctionnement de la machine-outil 10. Lorsque le logiciel de commande numérique par ordinateur, comprenant le programme LCM 28, est en place, l'exécution du logiciel de commande numérique 24 donne lieu à des appels répétés du programme LCM 28, comme le montre la figure 5. Chaque passe résultante par le pro- gramme LCM constitue ce qu'on appelle un balayage. Au cours de chaque balayage du programme LCM, les routines LCM fixes sont exécutées en premier pour contrôler et commander les dispositifs du poste de commande de machine 14. Ceci est suivi par l'exécution des routines LCM d'adaptation qui définissent le déroulement séquentiel et l'appel des sous-programmes de la machine-outil. Le programme LCM d'adaptation 32 peut compren- dre un certain nombre de modules de sous-programmes, cha- cun d'eux étant disponibles pour une adaptation indivi- duelle. On peut augmenter ou diminuer le nombre de modu- les dans une adaptation particulière quelconque, en fonction de l'application considérée. La figure 7 repré- sente certains modules de sous-programmes dont on pourrait disposer de façon caractéristique. L'invention concerne l'un des modules de sousprogrammes, à savoir les pages de visualisation de LCM 321. Cependant, à titre d'exemple, les modules de sous-programmes peuvent comprendre: un Module de Mise Sous Tension 322 qui comprend les routines de démarrage et les verrouillages de sécurité utilisés sur la machine au Cours de son démarrage; un Module de Convoyeur 323 qui contient toute la commande manuelle et de programme de pièce pour les transferts; un Module de Contre-Poupée 324 qui commande la contre-poupée sur le tour, un Module de Lubrification 325 qui met en oeuvre la lubrification automatique de la machine qui doit être accomplie ou contrôlée de façon régulière; un Module de Fourreau 326 qui commande le fourreau de la contre-poupée sous la dépendance du programme de pièce; un Module de Mandrin 327 qui réalise la commande de toutes les opéra- tions de serrage et de desserrage du mandrin pendant l'exécution d'un programme de pièce; un Module de Tou- relle Porte-outils 328 qui commande la tourelle porte- outils sous la dépendance du programme de pièce; un Module de Broche 329 qui commande la vitesse de la bro- che d'un tour, et un Module de Fluide de Refroidissement 3210 qui commande le fluide de refroidissement de la machine. Après avoir ainsi présenté l'environnement fonctionnel, on peut maintenant considérer les détails de l'invention. L'invention concerne la visualisation graphique d'information sur le tube cathodique du moni- teur vidéo 18 du poste de commande numérique 12 qui est représenté sur la figure 1. Le clavier 20 du poste de commande numérique 12 comprend une rangée de dix touches 66 par lesquelles un opérateur peut sélectionner une page quelconque parmi dix pages de visualisation princi- pales qui sont fréquemment utilisées. Chaque page de visualisation consiste en une visualisation vidéo du type à balayage par trame et elle est générée à partir de fichiers de commande de visualisation enregistrés en mémoire, non représentés, qui font partie du logiciel de commande numérique 24. La rangée de touches de pages de visualisation 66 est représentée de façon plus détaillée sur la figure 6. On peut également sélectionner des pages de visualisation supplémentaires, appelées souspages, au moyen d'un jeu de touches ou de boutons-poussoirs dési- gnés par la référence 68 sur la figure 1. Quatre touches de curseur sont prévues pour permettre la commande des mouvements vers le haut et le bas et vers la droite et la gauche d'un curseur, pour l'édition des données et le défilement vertical. Les sélections de sous-pages de droite sont représentées juste au-dessus de la rangée de touches de pages de visualisation 66, tandis que les sélections de sous-pages de gauche sont représentées au-dessous de la rangée de touches de pages de visua- lisation, et sont respectivement désignées par les références 67 et 69. Les sélections de sous-pages de droite 67 comprennent, par exemple: "ETAT DE L'OUTIL"; "POSITION DE MACHINE "; "DONNEES D'OUTILLAGE"; etc, tandis que les sélections de sous-pages de gauche 69 comprennent "ETAT TECH", "POSITION DE PROGRAMME", etc. - Au moyen de la LCM d'Adaptation 32, le logi- ciel du système de commande numérique par ordinateur offre au constructeur de la machine-outil ou au concep- teur OEM la possibilité de définir le format de trois pages de visualisation de "machine". On peut ainsi uti- liser l'adaptation pour visualiser n'importe quelle information d'état de machine désirée, pour l'assistance de l'opérateur ou du personnel d'entretien. On peut sélectionner ces pages de visualisation par la touche "MACHINE" 70 et par les options de pages de visualisation 72 et 74, correspondant respectivement aux sous-pages de droite et de gauche, sur la figure 6. En considérant maintenant la figure 8, on note que lorsque l'opérateur sélectionne l'une des trois pages de visualisation de machine, le logiciel de commande numérique 24 réagit à une procédure de page de visualisa- tion 78 conformément au type de la page sélectionnée, c'est-à-dire la page de gauche, la page de droite ou la page principale. L'information de texte, par opposition à l'information graphique, est alors appelée à partir des fichiers de commande de visualisation 80 dans lesquels elle a été enregistrée précédemment. L'information de texte, sous forme appropriée, est ensuite transmise au dispositif de visualisation à tube cathodique 18. Lorsque des graphiques doivent être incorporés dans la visualisation complète faite sur le tube cathodi- que, un "appel" incorporé dans les fichiers de commande de visualisation 80 déclenche les procédures nécessaires pour mettre en oeuvre la partie graphique de la visuali- sation. La routine de page de visualisation 78 réagit à la demande de visualisation graphique incorporée en déclenchant un appel vers la routine de page de visua- lisation LCM 32, par l'intermédiaire d'un point d'entrée 79 de la fenêtre 26. Une routine de changement de visua- lisation graphique 82 est exécutée en réponse. Cette rou- tine 82 est accessible, par exemple à un constructeur d'équipements spécifiques adaptant une commande à une machine-outil particulière, pour réaliser l'adaptation de la partie statique de la visualisation graphique. L'adaptation est écrite en PCL, comme décrit ci-dessus. La visualisation graphique que procure la rou- tine de changement de visualisation graphique 82 est statique dans le sens o une fois que le format et le con- tenu de la visualisation ont été sélectionnés, ils demeu- rent inchangés jusqu'à ce qu'on effectue une nouvelle adaptation. La routine de changement de visualisation gra- phique 82 est capable d'appeler certaines fonctions gra- phiques de base, par l'intermédiaire de points d'entrée 83 dans la fenêtre 26. A titre d'exemple, la routine de changement de visualisation graphique 82 dispose de fonc- tions permettant de: (1) déplacer le curseur du tube cathodique vers une position particulière de l'écran; (2) tracer une ligne entre des points spécifiés; (3) tracer un rectangle, connaissant les coordonnées de points correspondant à des angles opposés; (4) tracer un arc de rayon et d'angle donnés; (5) tracer un cercle; (60) emplir une zone particulière de l'écran; et (7) effacer une zone de l'écran. * Trois fonctions graphiques sont elles-mêmes des routines d'un type classique qui sont disponibles sur appel dans la mémoire du système de commande numérique par ordinateur, non représentée. Ces fonctions consti- tuent conjointement la routine de visualisation graphi- que 84. Des points d'entrée de fenêtre 83 séparés sont prévus pour chaque fonction graphique, de façon que chaque fonction soit disponible de la manière nécessai- re pour composer une visualisation personnalisée. Les routines de visualisation graphique 84 sont fusionnées avec le texte par l'intermédiaire des fichiers de commande de-visualisation 80, puis l'information cor- respondante est visualisée sur le tube cathodique i8. La partie statique de la visualisation graphi- que procure un fond ou un cadre dans lequel on peut visualiser sous forme graphique des données de fonction- nement en temps réel. La routine de mise à jour de visua- lisation graphique 86 fournit virtuellement en temps réel ces données de fonctionnement dynamiques. Dans le mode de page de visualisation, la procédure de page de visualisa- tion 78 effectue un appel périodique, par exemple toutes les 150 millisecondes, par le point d'entrée de fenêtre 81, dirigé vers la routine de mise à jour de visualisation graphique 86. La routine 86 est spécialement adaptée de façon à échantillonner l'information exigée qui est dis- ponible par nature dans le système de commande numérique. A titre d'exemple, pour un tour, on dispose aisément d'une information de vitesse de la broche, en temps réel. Cette information est simplement cadrée par la routine de mise à jour de visualisation graphique 86 qui déclenche alors une ou plusieurs des fonctions graphiques (par les points d'entrée 83), de façon à visualiser l'information proportionnellement à sa vraie valeur en temps réel. La routine de mise à jour de visualisation gra- phique 86 fonctionne ainsi de façon pratiquement identi- que à la routine de changement de visualisation graphique 82, à l'exception du fait que la routine 86 est appelée de façon répétée et est conçue de façon à inclure des don- nées de fonctionnement instantanées. Les informations graphiques statiques et dynamiques qui sont ainsi pro- duites sont fusionnées avec le texte par l'intermédiaire de fichiers de commande de visualisation 80 et de la routine de page de visualisation 78 pour la présentation sur le tube cathodique. Pour aider à la compréhension de l'invention, on envisagera une visualisation graphique de type carac- téristique qu'on pourrait désirer. A titre d'exemple, pour créer un graphique à segments de la vitesse de la broche pour un tour, expriméeen pourcentage de la vitesse maximale de la broche, on donne simplement à la LCM d'adaptation 32 une configuration capable de créer deux rectangles contigus, comme l'indique la référence 88 sur le tube cathodique 18 de la figure 8. Bien qu'il puisse y avoir une partie statique dans la visualisation d'en- semble, le graphique à segments qui doit être créé est composé essentiellement par des données qui sont toutes des données en temps réel mises à jour de façon répétiti- ve. Du fait que les parties statiques et dynamiques sont obtenues par des procédures très similaires, il suffit simplement d'envisager la partie dynamique de l'informa- tion graphique à visualiser. Pour créer le graphique à segments de la figure 8, la routine de page de visualisation 78 appelle toutes les 150 millisecondes la routine de mise à jour de visua- lisation graphique 86, par l'intermédiaire du point d'en- trée 81 de la fenêtre LCM. La routine de mise à jour de visualisation graphique 86 dispose de données en temps réel concernant la vitesse de la broche du tour, qui proviennent du système de commande. Cette information est cadrée et des ordres de tracé sont ensuite émis conformé- ment à l'information cadrée. A titre d'exemple, quatre ordres sont nécessaires: (1) déplacer le curseur jusqu'à un point de départ sélectionné d'un premier rectangle, dans le coin inférieur gauche de celui-ci; (2) tracer le premier rectangle jusqu'à -un point final situé dans le coin supérieur droit, ce point étant fonction de la vitesse réelle de la broche; (3) déplacer à nouveau le curseur vers le point de départ d'un second rectangle, dans le coin inférieur gauche de celui-ci, de façon que le second rectangle commence à l'endroit o le premier rectangle se termine; et (4) tracer ensuite le second rectangle jusqu'au point final dans le coin supérieur droit, ce point représentant la vitesse maximale de la broche. Ainsi, lorsque la vitesse de la broche augmente ou diminue, les deux rectangles augmentent et/ou dimi- nuent de longueur de façon correspondante. L'aspect visuel est celui d'un graphique à segments représentant la vitesse réelle de la broche. L'Annexe I est un programme PCL pour créer un graphique à segments de la manière décrite ci-dessus. L'Annexe II contient des routines destinées à produire les appels de fenêtre pour générer les graphiques. En considérant maintenant la figure 9, on voit un organigramme qui illustre les étapes fonctionnelles qui sont mises en oeuvre dans le logiciel pour générer des graphiques sur les pages de visualisation de la LCM d'adaptation pour OEM, qui sont présentées sur le moni- teur vidéo 18. La première étape est désignée par la référence 90 et constitue un appel de l'une des trois pages de visualisation de "machine", par l'intermédiaire du module de page de visualisation LCM 32, lorsqu'un opérateur demande une page de visualisation LCM particu- lière. On rappelle que ceci se produit lorsqu'un opéra- teur actionne l'une des touches faisant partie des cla- viers 66 et 68 du poste de commande numérique 12 (figure 1). Un test est ensuite effectué pour déterminer l'exis- tence et la disponibilité d'une page particulière, ce qui est indiqué par l'étape 92. L'étape 93 correspond à l'obtention de valeurs suivantes des paramètres désirés qui doivent faire l'objet d'une visualisation graphique. Après la détermination de la page de visuali- sation et des valeurs de paramètres, il y a émission d'un appel pour présenter la page de visualisation, et la routine de page de visualisation 78 est alors exécu- tée, comme l'indique l'étape 96. La partie d'initialisa- tion de la génération graphique est ensuite exécutée (étape 98) et est suivie par une mise à jour périodique de la visualisation graphique, ce qui est indiqué par l'étape 100. Pendant chacune des étapes de génération graphique 98 et 100, il y a des appels de programme 82 et 86 émis par le programme LCM d'adaptation 32, pour exécuter sept procédures de tracé 102, 104,... 114, avec les paramètres appropriés, pour produire les visua- lisations graphiques désirées en mettant en oeuvre les sept fonctions exposées précédemment telles que: le déplacement du curseur graphique jusqu'à une position donnée, le tracé d'un rectangle, etc. On a ainsi décrit et représenté un procédé et un système pour produire des représentations graphiques sur un moniteur de visualisation de machine-outil à com- mande numérique, afin de visualiser à la demande de l'opérateur une page de visualisation définie par un constructeur d'équipements spécifiques (OEM). ANNEXE I iPROCEfDURE GRFDSPMAIN IS -- start of srfdsp-_min lEGIN CASE GRFDSPMASTER IS WHEN iNITSTATE -: bRFbSPMASTER:=-RUN.STATE; WHEN RUNSTATE => - IF GRFOSPOK THEN CASE: GRFDSPS-TATE IS WHEN GRFDSP..STANDBY => if etivedisP_.page=90 then r TEMP:= drawclear; rfdsp.state:= writestate; OLDXCURSOR:= O; end if; when writestate => if activedisPPae=903 t hern -cursor:= trurnc((ro _s ncssova1ue)/10.0); if xcursor > 400 then cursor 3= 400; elsi xt2Jcursor ≤ O t -he n t,'nen =,'cursor:= 1; end if; xcursor:=, cursor.+ 60; IF OL:DXCURSOR /= XCURSOR THEN OLDxcursor:= XCURSOR; temp:= draw.nove(60,120); e'P = drawrectanrle(OLDxcursor,75,4,8); : tem:= drawmrove(OLDxcursor,120); LtemP:=drawreetanl1e(46l,95,3,8); END iF; ELSE -GRFISFPSTATE:= BRFDSFPSTANDBY; TEMP:* DRAWCLEAR; end if; ENrt CASE; ELSE -- not:rfdspok GRFDSPMASTER:= ERRORSTATE; EN[ IF; END CASE; PROCEDURE START_SEQ( OP_CODE: ENTIER); '(début 3629) ************************************************************************** ********* ******* * DATE DE PROGRAMMATION: 03/01/84 * * NOM DU PROGRAMMEUR: BILL GODDARD * * DESCRIPTION: INITIALISE "GRAPHICS SEQ" AVEC LE CARACTERE CEM> * * SUIVI PAR LE PARAMETRE "OP CODE". * * * * PARAMETRES ASSOCIES * * REFERENCES DES DONNEES GLOBALES * * * ***** ***** * ** ***** *********** ******* **************************** * *********** ****** ********* CONST EM = CHR(16119); BEGIN o GRAPHICS SEQ( i):= EM; GRAPHICS SEQ(2):= CHR( OPCODE); H GRAPHICS SEQ.LEN:= 2; END; (fin 3629) PROCEDURE ADDINTTOSEQ( I: ENTIER); (début 3629) ***********************%******************%********************%*****%**** ******** * DATE DE PROGRAMMATION 03/01/84 * * NOM DU PROGRAMMEUR:BILL GODDARD * * DESCRIPTION:AJOUTE LE PARAMETRE ENTIER A LA CHAINE * * "GRAPHICSSEQ". ON UTILISE DEUX OCTETS DE * * LA CHAINE. LES SEPT BITS DE PLUS FORT POIDS * * DU PARAMETRE VONT DANS LE PREMIER OCTET. ** * LES SEPT BITS DE MOINDRE POIDS VONT DANS * * LE SECOND OCTET. LE BIT DE PLUS FORT POIDS * * DE CHAQUE OCTET EST FIXE A UN POUR INDIQUER * * UN OCTET DE DONNEES. * * * * * * PARAMETRES ASSOCIES * * REFERENCES DES DONNEES GLOBALES: GRAPHICSSEQ, LOCAL, KGTASK. * ******************%***%*******%*%*%*%*%**$*%*$*%************************** ****** BEGIN H GRAPHICS SEQ( GRAPHICS SEQ.LEN + 1):= CHR(((I DIV 128) AND 127) + 128); GRAPHICSSEQ( GRAPHICS_SEQ.LEN + 2):= OHR(((I MOD 128)AND 127) + 128); GRAPHIOSSEQ.LEN:= GRAPHICS_SEQ.LEN + 2; END; (fin 3629) Co ori PROCEDURE END_AND_SEND SEQ; (début 3629) * * * DATE DE PROGRAMMATION:03/02/84 * NOM DU PROGRAMMEUR:BILL GODDARD * * DESCRIPTION:TERMINE LA CHAINE "GRAPHICS SEQ" EN * * AJOUTANT LE CARACTERE 4EM> ET EMET LA * * CHAIIE VERS LE SGCN * * * * PARAMETRES ASSOCIES * * REFERENCES DES DONNEES GLOBALES: GRAPHICS SEQ, LOCAL, KGTASK. * * KGDCRT FILECODE * * * CONST EM = CHR( 16119); BEGIN t ' GRAPHICS SEQ.LEN:= GRAPHICS SEQ.LEN + 1; H GRAPHICS-SEQ( GRAPHICS SEQ.LEN):= EM; Ksr PUTSTR ( GRAPHICS SEQ); END; (fin 3629) * SGCN = Système graphique pour la commande numérique C> Co a' -' PROCEDURE KGR MOVE; (début 3629) ( - ( X: ENTIER;) ( Y: ENTIER)) ******************'******************************************************* ******** * DATE'DE PROGRAMMATION: 03/01/84 * * NOM DU PROGRAMMEUR: BILL GODDARD * DESCRIPTION EMET UNE SEQUENCE DE COMMANDE * *.;.GRAPHIQUE VERS SGCN POUR AMENER LE * *; CURSEUR GRAPHIQUE A LA POSITION * * ', ' X, Y * *,, , *' * ****4f*********;*******************.****************.******************** * **** BEGIN STARTSEQ( 201001010); ADD INT TO SEQ(;X); ADDINT TO-SEQ( Y);: END-ANDSENDSEQ;, END; H ( 'fin 3629) H Lrn os ho Co -4 -.4 PROCEDURE KGRLINE; (début 3629) ( X: ENTIER; Y: ENTIER; COLOR: ENTIER; ( PATTERN: ENTIER)) ************************************************************************** ******** * * * DATE DE PROGRAMMATION: 03/01/84 * * NOM DU PROGRAMMEUR: BILL GODDARD * * DESCRIPTION: EMET UNE SEQUENCE DE COMMANDE * * GRAPHIQUE VERS LE SGCN QUI TRACE * * UNE LIGNE ALLANT DE LA POSITION * * COURANTE DU CURSEUR GRAPHIQUE * * JUSQU'A X, Y. * e * ************************************************************************** ******** BEGIN r START SEQ( 201000000); H ADD INT TO SEQ( X); ADD INT TO SEQ( Y); ADD COLOR PATTERN( COLOR. PATTERN); ENDAND_SENDSEQ END; (fin 3629) %n CD PROCEDURE KGR RECTANGLE; (début 3629) ( - ( X: ENTIER) ( Y: ENTIER) ( COLOR: ENTIER) ( PATTERN: ENTIER)) ********************************%***************************************** ******** * * * DATE DE PROGRAMMATION: 03/01/84 * * NOM DU PROGRAMMEUR: BILL GODDARD * * DESCRIPTION: EMET UNE SEQUENCE DE COMMANDE * * GRAPHIQUE VERS LE SGCN QUI TRACE * * UN RECTANGLE * * * BEGIN START SEQ( 2101000010); ADD INT TO SEQ( X); ADD-INT-TO-SEQ( Y); H ADD-COLOR PATTERN( COLOR, PATTERN); H GRAPHICS SEQ.LEN:= GRAPHICS SEQ.LEN + 1; ( ajoute une rotation de GRAPHICS SEQ( GRAPHICS_SEQ.LEN):= CHR( 2110000000); valeur zéro) ENDAND_SENDSEQ END; ( fin 3629) r Co -4 PROCEDURE KGR ARC; (début 3629) ( ( X: ENTIER;) ( Y: ENTIER;) ( CX: ENTIER;) ( CY: ENTIER;) ( DIR: ENTIER;) ( COLOR: ENTIER;) ( PATTERN: ENTIER)) ************************************************************************** ******** * DATE DE PROGRAMMATION: 03/01/84 * * NOM DU PROGRAMMEUR: BILL GODDARD * * DESCRIPTION: EMET UNE SEQUENCE DE COMMANDE * * GRAPHIQUE VERS LE SGCN QUI TRACE * * UN ARC. * * * ************************************************************************** ********* BEGIN START SEQ( 2101000100); H ADD INT TO SEQ( X); H ADDINT-TO SEQ( Y); ADD INT TO SEQ( CX); ADD INT TO SEQ( CY); GRAPHICS SEQ.LEN:= GRAPHICS SEQ.LEN + 1; GRAPHICS-SEQ( GRAPHICS SEQ.LEN):= CHR( 128 + DIR); ADD COLOR PATTERN( COLOR, PATTERN); ENDANDSENDSEQ END; (,fin 3629) n o co -'J _. PROCEDURE KGR CIRCLE; (début 3629) ( (RADIUS: ENTIER;) ( COLOR: ENTIER;) ( PATTERN: ENTIER)) **.***\*******4*****************************************.***.***. ************* * DATE DE PROGRAMMATION: 03/01/84 * * NOM'DU PROGRAMMEUR: BILL GODDARD * * DESCRIPTION: EMET UNE SEQUENCE DE COMMANDE * *,GRAPHIQUE VERS LE SGCN QUI TRACE * *:'"UN CERCLE. * * ***** ***************** ************ ******************************* ********************: BEGIN START SEQ( 201000110); ADD INT TO SEQ( RADIUS); ADD-COLOR PATTERN( COLOR, PATTERN); *ENDAND SEND SEQ END; H- END;: t (,fin 3629) H Co ,,,; O CO PROCEDURE KGR FILL; (début 329) ( ( X: ENTIER;) ( Y: ENTIER;) ( COLOR: ENTIER;) ( PATTERN: ENTIER)) ********* * ************************************************************************* * DATE DE PROGRAMMATION: 03/01/84 * * NOM DU PROGRAMMEUR: BILL GODDARD * * DESCRIPTION: EMET UNE SEQUENCE DE COMMANDE * * GRAPHIQUE VERS LE SGCN QUI REMPLIT * * LA ZONE IDENTIFIEE PAR X ET Y. * * * BEGIN START SEQ( 2101001001); ADD INT TO SEQ( X); ADD INT TO SEQ( Y); M N ADD-COLOR PATTERN( COLOR, PATTERN); H END-ANDSENDSEQ H END; (rin 3629) - n NO o co -4 PROCEDURE KGR_CLEAR; (début 3629) ********************************************%***************************** ********* * * * DATE DE PROGRAMMATION: 03/01/84 * * NOM DU PROGRAMMEUR: BILL GODDARD * * DESCRIPTION: EMET UNE SEQUENCE DE COMMANDE * * GRAPHIQUE VERS LE SGCN QUI EFFACE * * f LA ZONE GRAPHIQUE * * * BEGIN START SEQ( 2101001000); ADDINTTOSEQ( O); ( gl = g2 = O, efface l'écran complet) ADD INT TO SEQ( O); ENDANDSEND_SEQ END. H H A, ó N REVENDICATIONS 1. Procédé de commande du fonctionnement d'un système de commande numérique par ordinateur pour visualiser une information prédéterminée concernant le fonctionnement d'un système d'usinage, sous la forme de graphiques, caractérisé en ce qu'il comprend les opérations suivantes: (a) on demande une visualisation du type à balayage par trame sur une dispositif de visualisation (18) observable par un opérateur; (b) on détermine des valeurs de l'information prédéterminée qu'on désire visualiser; (c) on génère initialement une représentation graphique de l'information prédéter- minée; et (d) on met périodiquement à jour cette représentation graphique pour visualiser des valeurs variables de l'information prédéterminée. 2. Procédé selon la revendication 1, caractéri- sé en ce que l'information prédéterminée consiste en une information d'état de machine. 3. Procédé selon la revendication 1, caractéri- sé en ce que la visualisation du type à balayage par trame comprend une page parmi un ensemble de pages de visualisation présentées sur un moniteur vidéo (18) pour visualiser une information d'état de machine spé- cifiée par le constructeur d'équipements spécifiques (OEM). 4. Procédé selon la revendication 1, caractéri- sé en ce que la page de visualisation prédéterminée comprend également une information de message sous for- me alphanumérique. 5. Procédé selon la revendication 1, caractéri- sé en ce que les opérations de génération et de mise à jour de la représentation graphique comprennent sélec- tivement les opérations consistant à amener un curseur graphique à une position donnée, à tracer une ligne, à tracer un rectangle, à tracer un arc, à tracer un cer- cle, à emplir une zone prédéterminée de l'emplacement de la représentation graphique, et à effacer une zone prédé- terminée de l'emplacement de la représentation graphique. 6. Procédé selon la revendication 5, caractéri- sé en ce que le système de commande numérique par ordina- teur comprend une section logique de commande numérique (24) et une section logique de commande de machine (LCM) (28), réalisées par logiciel, et en ce que l'opération de demande de la page de visualisation comprend la deman- de d'une page de visualisation de LCM correspondant à une information d'.état de machine prédéterminée. 7. Procédé selon la revendication 6, caractéri- sé en ce que l'opération de demande d'une page de visua- lisation de LCM comprend en outre l'inclusion d'un appel dans des fichiers de commande de visualisation (80) de la section de commande numérique (24), pour la génération de graphiques (88), cette section de commande numérique réa- gissant à l'appel et déclenchant un appel vers la section LCM (28), et la section LCM exécutant une ou plusieurs routines qui comprennent des appels renvoyés vers la sec- tion de commande numérique (24) pour produire les graphi- ques (88).: 8. Procédé selon la revendication 7, caractéri- sé en ce que le système de commande numérique par ordina- teur comprend en outre une interface (26) réalisée par logiciel qui établit une liaison de communication entre la section de commande numérique (24), la section LCM (28) et le dispositif d'entrée/sortie du système d'usina- ge, et en ce que l'opération consistant à effectuer des appels d'exécution comprend la transmission de ces appels par ladite interface (26). 9. Procédé selon la revendication 8, caractéri- sé en ce que la section LCM (28) comprend une section d'adaptation (32) réalisée par logiciel et programmable par le constructeur d'équipements spécifiques (OEM), et les appels d'exécution de logiciel pour une visualisation graphique proviennent d'un module de sous-programmes de la section LCM d'adaptation (32). 10. Procédé selon la revendication 9, caractéri- sé en ce que le dispositif de visualisation comprend un moniteur de type vidéo (18) comportant une section de pré- sentation, et en ce que les opérations de génération et de mise à jour de la représentation graphique comprennent sélectivement les opérations consistant à amener un cur- seur graphique à une position donnée sur l'écran de pré- sentation, à tracer une ligne de longueur prédéterminée, à tracer un rectangle de dimensions prédéterminées, à tra- cer un arc de longueur prédéterminée, à tracer un cercle de diamètre prédéterminé, à emplir une zone prédéterminée de l'écran et à effacer une zone prédéterminée de l'écran. 11. Système de commande numérique destiné à com- mander une machine-outil (10) comprenant des moyens (18) destinés à visualiser une information pour un opérateur, caractérisé en ce qu'il comprend: un logiciel de logique de commande numérique (24) et un logiciel de logique de commande de machine (LCM) (28), comprenant respectivement des premier et second ensembles de programmes d'ordina- teur enregistrés, pouvant être exécutés à la demande pour commander le fonctionnement du système; le premier ensemble de programmes peut, lorsqu'il est appelé, accé- der à un fichier de commande de visualisation (80) et lire ce fichier, transmettre des signaux vers les moyens de visualisation (18) pour présenter à l'opérateur une information sous forme de texte, et déclencher un appel vers le second ensemble de programmes pour générer une visualisation graphique; et le second ensemble de pro- grammes comprend un ensemble de sous-programmes qui sont exécutés sous la dépendance de l'appel pour générer des appels en retour vers le premier ensemble de programmes, afin de visualiser une information prédéterminée sous la forme de ladite visualisation graphique. 12. Système selon la revendication 11, caracté- risé en ce que le second ensemble de programmes est au moins partiellement constitué par un ensemble de modules de sous-programmes (321 - 321O) qui peuvent être adaptés à une application particulière par un constructeur d'équipements spécifiques (OEM). 13. Système selon la revendication 12, caracté- risé en ce que les modules de sous-programmes comprennent un module (321) destiné à appeler au moins une visualisa- tion graphique sous la forme d'une page de visualisation d'information d'état de machine. 14. Système selon la revendication 13, caracté- risé en ce que le module appelant la visualisation gra- phique comprend un premier sous-programme (82) destiné à appeler initialement la génération d'une visualisation graphique et un second sous-programme (86) destiné à mettre périodiquement à jour la visualisation graphique générée initialement, cette mise à jour comprenant l'effacement des visualisations graphiques présentées sur un écran. 15. Système selon la revendication 14, caracté- risé en ce que les deux sous-programmes comprennent des routines destinées à appeler les programmes de la comman- de numérique, et en ce que les programmes de la commande numérique comprennent des routines (84) destinées à réa- liser le déplacement d'un curseur graphique, le tracé d'une ligne, le tracé d'un rectangle, le tracé d'un arc, le tracé d'un cercle, le remplissage d'une zone prédéter- minée et l'effacement d'une zone prédéterminée ainsi que de la visualisation graphique complète. 16. Système selon la revendication 15, caracté- risé en ce qu'il comprend en outre une interface (26) constituée par un troisième ensemble de programmes enre- gistrés (34), un ensemble d'indicateurs d'état (36) et un ensemble de réseaux d'entrée/sortie (38), et cette inter- face relie les premier et second ensembles de programmes (24, 28) et la machine-outil (10), et les appels de pro- gramme entre les premier et second ensembles de programmes sont transmis par cette interface (26).