FR2489200A1 - Procede de mesure de la position reelle de surfaces d'une piece sur une machine-outil a commande numerique - Google Patents

Procede de mesure de la position reelle de surfaces d'une piece sur une machine-outil a commande numerique Download PDF

Info

Publication number
FR2489200A1
FR2489200A1 FR8116709A FR8116709A FR2489200A1 FR 2489200 A1 FR2489200 A1 FR 2489200A1 FR 8116709 A FR8116709 A FR 8116709A FR 8116709 A FR8116709 A FR 8116709A FR 2489200 A1 FR2489200 A1 FR 2489200A1
Authority
FR
France
Prior art keywords
signal
coordinate
signals
program
sensing element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8116709A
Other languages
English (en)
Other versions
FR2489200B1 (fr
Inventor
John Albert Berenberg
William Andrew Haggerty
Richard Linder Kegg
Myron Jeffrey Schmenk
Ralph Charles Taylor Jr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Milacron Inc
Original Assignee
Milacron Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Milacron Inc filed Critical Milacron Inc
Publication of FR2489200A1 publication Critical patent/FR2489200A1/fr
Application granted granted Critical
Publication of FR2489200B1 publication Critical patent/FR2489200B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4083Adapting programme, configuration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34393Stop program if needed workpiece, tool or data lacks, misses
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36503Adapt program to real coordinates, software orientation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37052Sense surface, mean value used as reference surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37357Force, pressure, weight or deflection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37405Contact detection between workpiece and tool, probe, feeler
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41363Excess in error, error too large, follow up error
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49157Limitation, collision, interference, forbidden zones, avoid obstacles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49302Part, workpiece, code, tool identification
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50252Replace, change tool with tracer head, probe, feeler

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

L'INVENTION CONCERNE LES MACHINES-OUTILS A COMMANDE NUMERIQUE. ON DETERMINE LA POSITION D'UNE PIECE 14 SUR UNE MACHINE-OUTIL ET LA POSITION D'UNE CARACTERISTIQUE 23 DE LA PIECE, PAR UNE SERIE DE CYCLES D'EXPLORATION PROGRAMMES DANS LE PROGRAMME D'USINAGE. ON ENREGISTRE LES POSITIONS MAXIMALES, MINIMALES ET MOYENNES MESUREES DE POINTS SUR UNE SURFACE DE LA PIECE ET ON UTILISE CES VALEURS POUR CALCULER DES DECALAGES DE POSITION QU'ON PEUT EMPLOYER POUR MODIFIER LE PROGRAMME D'USINAGE. ON PEUT EN OUTRE COMPARER LES POSITIONS ET LES DECALAGES MESURES AVEC DES LIMITES PROGRAMMEES POUR DETERMINER SI CES POSITIONS SONT COMPRISES DANS UNE PLAGE DE TOLERANCE. APPLICATION A L'USINAGE AUTOMATIQUE DE PIECES.

Description

2489i0O La présente invention concerne de façon générale le domaine-des
machines à commande numérique. L'invention
porte plus particulièrement sur une machine à commande numé-
rique comportant un élément de détection commandé par pro-
gramme qui est destiné à détecter l'emplacement et la posi- tion de caractéristiques de référence sur une pièce. Cette possibilité permet au programmeur de pièces de faire face aux variations de montage d'une pièce à une autre, ce
qui réduit au minimum l'intervention de l'opérateur et amé-
liore considérablement la productivité.
Bien que l'invention de la commande numérique ait considérablement amélioré la vitesse et la fiabilité avec lesquelles on peut usiner de nombreuses pièces, il existe
de nombreuses pièces qui nécessitent encore une interven-
tion prenant du temps et effectuée par un opérateur quali-
fié, au cours du processus d'usinage.
Le processus d'usinage commence par la prépara-
tion par un programmeur de pièces d'un programme d'usinage
basé sur les plans d'une pièce représentée à l'état termi-
né. Pour préparer le programme, le programmeur définit un emplacement particulier de la pièce sur la machine, ainsi que des surfaces de référence dimensionnelle particulières de la pièce non usinée. Le programmeur prépare ensuite un programme d'usinage qui est constitué par des blocs d'instructions et de données définies par rapport à un
système de coordonnées de programme, créé par le program-
meur. Au cours du fonctionnement, une unité de commande connectée à la machine génère des signaux d'ordre sous l'action du programme d'usinage, afin de déplacer un outil de coupe par rapport à la pièce, grâce à quoi la pièce est
usinée pour donner la pièce terminée désirée.
Cependant, avant l'usinage, l'opérateur de la machine doit tout d'abord positionner la pièce dans le système de coordonnées de la machine, à un emplacement
défini par le programmeur de pièces. Le système de coordon-
nées de la machine est représenté de façon caractéristique par trois axes de déplacement rectilignes et mutuellement
perpendiculaires. Après avoir positionné la pièce, l'opéra-
teur de la machine fait avancer manuellement le porte-outil jusqu'à proximité des surfaces de référence désignées sur la
pièce ou sur sa monture; et ensuite, en utilisant un cali-
bre tenu à la main et des incréments d'avance de plus en plus faibles, l'opérateur positionne le porte-outil aussi près de la pièce qu'il est humainement possible. Lorsque les
axes sont en position, l'opérateur actionne un bouton-
poussoir de fixation de position qui affecte une coordonnée
de programme spécifiée à la surface de la pièce positionnée.
La procédure consistant à définir avec précision l'emplace-
ment de la pièce dans le système de coordonnées lié à la
machine peut prendre de 10 à 15-minutes.
De nombreuses pièces de fonderie brutes et de grandes dimensions présentent des variations dimensionnelles
importantes par rapport à ce qui a été supposé par le pro-
grammeur. Par exemple, l'emplacement des trous et des bossa-
ges peut varier d'une valeur atteignant 13 mm par rapport à
une position nominale, d'une pièce de fonderie à une autre.
Par conséquent, avant.l'usinage de trous ou de surfaces, l'opérateur doit réaligner les coordonnées dimensionnelles du programme avec l'emplacement réel des éléments sur la pièce. Pour faire face à ce problème, l'unité de commande numérique comporte un dispositif de décalage qui établit un
décalage de coordonnées pouvant être sélectionné par pro-
gramme, dans le but de décaler toutes les dimensions, dans
une partie du programme, d'un incrément introduit par l'opé-
rateur, pour chacun des axes rectilignes principaux de la machine. Par conséquent, l'opérateur mesure les distances depuis une référence jusqu'aux trous ou aux bossages, en suivant les instructions du programmeur. Il introduit manuellement dans des décalages sélectionnés à l'avance la différence entre ces distances et les distances indiquées
par le programmeur. Du fait qu'une pièce de grandes dimen-
sions nécessite un grand nombre de décalages et que la perte de productivité est cumulative, les opérations manuelles
ci-dessus nécessitent un niveau de qualification relative-
ment élevé et, en outre, elles réduisent en fait une machine
2489'00
à commande numérique, très perfectionnée et très coûteuse,
en une machine utilisée manuellement.
L'invention a pour but de supprimer la nécessité d'interruption du cycle d'usinage par l'opérateur, pour définir l'emplacement exact de la pièce et la position des
caractéristiques de référence sur la pièce.
L'invention a également pour but de réaliser un dispositif de mesure de pièce destiné à mesurer la position de plusieurs points sur une surface de référence et à déterminer les valeurs maximale, minimale et moyenne des mesures. On peut utiliser les valeurs moyennes pour définir l'emplacement du centre d'une ouverture, d'un trou ou d'un bossage brut, ou pour trouver la surface qui coincide le mieux avec une surface brute. On peut utiliser la valeur
maximale pour définir le dégagement par rapport à une sur-
face brute et on peut utiliser la valeur minimale pour définir la quantité minimale de matière à enlever pour
dresser une surface brute.
L'invention a également pour but d'utiliser la position mesurée sur une surface pour calculer une valeur de décalage par rapport à une définition programmée de la surface. L'invention permet également de comparer les valeurs mesurées et les décalages avec des maximums et des minimums définis par le programmeur pour assurer que la
pièce est comprise dans les tolérances.
Enfin, l'invention a pour but d'utiliser un outil de coupe et un circuit de mesure de couple pour réaliser la détection de surface et pour mesurer de façon
précise l'emplacement de la pièce et les positions des sur-
faces de la pièce.
Un mode de réalisation de l'invention consiste en un procédé destiné à modifier des données de coordonnées dans un programme d'usinage, conformément aux positions de surfaces sur une pièce qui est mesurée par un élément de
détection. Un cycle d'exploration est exécuté sous la com-
mande du programme pour enregistrer l'emplacement d'un cer-
tain nombre de points sur une surface de la pièce. Le 2489i0O cycle d'exploration peut être exécuté en utilisant un outil de coupe et un circuit de mesure de couple ou tout autre mécanisme de détection de surface. Le procédé comprend les opérations consistant à enregistrer les valeurs maximale, minimale et moyenne des valeurs mesurées. Le procédé com- prend en outre le calcul de décalages qui sont utilisés
pour aligner des données programmées par rapport à la pièce.
En outre, les valeurs mesurées peuvent être comparées avec des valeurs maximales et minimales programmées afin de
déterminer si la pièce est comprise dans les tolérances.
L'invention sera mieux comprise à'la lecture de la
description qui va suivre de modes de réalisation et en se
référant aux dessins annexés sur lesquels: La figure 1 est une représentation d'une machine
à laquelle on peut appliquer l'invention.
La figure 2 est un schéma synoptique général d'une unité de commande numérique à ordinateur qu'on peut
utiliser pour mettre en oeuvre l'invention.
La figure 3 est un organigramme montrant les éta-
pes de traitement pour l'exécution d'un cycle de fonction-
nement de machine de type général.
Les figures 4a à 4c sont un organigramme montrant les étapes de traitement nécessaires pour mesurer un point
sur la pièce.
Les figures 5a et 5b sont un organigramme montrant les étapes de traitement destinées au calcul de décalages. Les figures 6a à 6f sont un organigramme montrant les étapes de traitement destinées à la comparaison des
valeurs mesurées et calculées avec des maximums et des mini-
mums programmés.
La figure 7 est un organigramme montrant les étapes de traitement destinées à la restauration de la
mémoire de données de surface.
La figure 8 est un organigramme montrant les étapes de traitement destinées à mettre en fonction et
hors fonction une sonde de détection de surface, conformé-
ment aux modes de fonctionnement.
2489.00
La figure 1 représente sous forme schématique un type de machine auquel on peut appliquer l'invention. Des moteurs 10 et des transducteurs de position associés 11 sont accouplés mécaniquement à des coulisseaux 12, afin de déplacer les coulisseaux 12 le long de glissières fixes 13
et de générer des signaux représentant les positions rela-
tives des coulisseaux 12. Les coulisseaux 12 et les glis-
sières fixes 13 sont disposés parallèlement aux axes mutuellement perpendiculaires du système de coordonnées tridimensionnel 17. Un système de coordonnées de machine est établi par les accouplements mécaniques des moteurs 10 et des transducteurs de position 11 avec les coulisseaux 12. La pièce à usiner 14 est portée par la table 18 qui est elle-même fixée sur ceux des coulisseaux 12 qui sont parallèles aux axes X et Y du système de coordonnées 17. Un porte-outil 15 est fixé à celui des coulisseaux 12
qui est parallèle à l'axe Z du système de coordonnées 17.
Un élément de détection 16 est associé au porte-outil 15.
Un mouvement relatif de l'élément de détection 16 par rapport à la pièce 14 est obtenu en entraînant les moteurs 10. La pièce 14 est maintenue en place sur la table 18 par des brides de fixation 21 situées sur des surfaces de référence de positionnement 19. Si la pièce 14 représentée est correctement alignée sur la table 18, les surfaces de référence de positionnement 19 définissent des plans parallèles aux plans définis par les axes de coordonnées 17. La pièce peut comporter une caractéristique, telle
qu'une nervure 23, dont la position, par rapport aux sur-
faces de référence de positionnement 19, varie d'une pièce à une autre sous l'effet des variables de fabrication. En outre, la position précise des surfaces de référence de positionnement 19 par rapport au système de coordonnées de la machine peut varier d'une pièce à une autre à cause de
changements dans les brides de fixation 21 ou d'un mouve-
ment de ces dernières.
Tous les mouvements des coulisseaux 12 sont commandés par l'unité de commande 25 représentée sur la figure 2, au moyen de signaux qui sont générés et échangés avec les dispositifs d'attaque de moteurs de coulisseaux et les transducteurs de position 42. L'invention décrit un procédé de détermination des variations de position des surfaces de référence de positionnement 19 et des caracté- ristiques de la pièce, comme la caractéristique 23, et de
modification automatique des ordres de positionnement géné-
rés par l'unité de commande 25, dans le but d'usiner la pièce 14 conformément à un programme d'usinage qui est enregistré dans l'unité de commande 25, indépendamment de
ces variations de position.
La figure 2 est un schéma synoptique général montrant l'architecture d'une unité de commande numérique
à ordinateur 25 dans laquelle on peut employer l'invention.
Bien que les composants particuliers qui sont représentés sur cette figure soient ceux utilisés dans l'unité de - commande numérique à ordinateur qui est fabriquée par la firme Cincinnati Milacron Inc., l'invention peut être mise en oeuvre dans n'importe quelle unité de commande numérique à ordinateur comprenant des composants équivalents. Par conséquent, on ne doit pas considérer que les détails de construction constituent des limitations du procédé de l'invention. La communication entre l'opérateur et l'unité de commande s'effectue essentiellement par l'ensemble de
dispositifs du pupitre de commande, comprenant le disposi-
tif d'affichage à tube cathodique 20, le clavier 22, les
dispositifs d'entrée de programme 24 et 26 et les boutons-
poussoirs et les voyants 28. Ces dispositifs sont eux-
mêmes reliés à l'ordinateur 51 par l'intermédiaire du
tiroir d'interface de module de commande 50. Toute l'infor-
mation qui est échangée entre ces dispositifs et l'ordina-
teur est acheminée par le bus de données d'entrée 48 et le bus de données de sortie 46. Ces bus sont constitués par huit lignes de signal parallèles. La communication entre la machine et l'unité de commande, par laquelle l'unité
de commande contrôle les conditions de la machine et com-
mande le fonctionnement de la machine, s'effectue par l'en-
semble d'interfaces de machine comprenant la servocommande de coulisseau 30, l'interface d'électro-aimants de machine 32, l'interface de voyants de machine 34, l'interface d'interrupteurs de fin de course de machine 36, l'interface de boutons-poussoirs de machine 38 et le dispositif de commande de vitesse de broche 40. Ces interfaces commandent les éléments respectifs suivants de la machine: les dispositifs
de commande des moteurs des coulisseaux et les transduc-
teurs de position 42, les éléments de changement d'outil et d'autres mécanismes divers 44, les voyants de la machine 54, les interrupteurs de fin de course correspondant à un dépassement de la course autorisée des coulisseaux et à d'autres mécanismes de la machine, 56, les boutonspoussoirs de fonction d'opérateur, 58, et le dispositif de commande du moteur de la broche, 60. Ces dispositifs de la machine sont reliés parleursinterfaces respectives à l'ordinateur, par l'intermédiaire du bus d'interfaces de la machine, 52, et tout l'échange d'information entre ces dispositifs et l'ordinateur s'effectue par le bus de données d'entrée 48
et le bus de données de sortie 46.
L'information de détection de surface est détec-
tée par une sonde 64 qui est connectée au bus d'interfaces de la machine, 52, par l'intermédiaire d'une interface de sonde 62. Dans le mode de réalisation préféré, la sonde 64
est une sonde à contact de type tridimensionnel, disponi-
ble dans le commerce, qui contient un contact de fin de course qui est actionné lorsque la sonde est déformée et
qui n'est pas actionné lorsque la sonde n'est pas déformée.
L'interface de sonde 62 détecte l'état du contact de fin de course de la sonde et elle émet cette information par le bus d'interfaces de la machine, 52. Comme l'homme de l'art pourra le noter, l'invention peut être mise en oeuvre avec d'autres moyens de détection de surface, comme par exemple un capteur capacitif, un capteur photoélectrique,_un capteur acoustique ou d'autres moyens de détection de rayonnement. A titre d'alternative à la sonde de surface à contact, 64, l'invention utilise un module de commande de
couple, 66, qui contrôle les transducteurs du moteur de bro-
che, 68. Les transducteurs du moteur de broche mesurent le courant, la tension et la vitesse angulaire du moteur de la broche. Les détails du module de commande de couple.66 sont décrits dans la demande de brevet U. S. 065 583, déposée le Août 1979 et qui est la propriété de la Demanderesse. On
pourrait utiliser n'importe quel autre dispositif de détec-
tion de force de coupe disponible dans le commerce, permet-
tant au programmeur de définir une limite de force détecta-
ble, à la place du module 66 et des transducteurs 68.
L'ordinateur 51 comprend fondamentalement une
mémoire 72 destinée à enregistrer des instructions de pro-
gramme et des données de programme, et une unité centrale
qui est destinée à interpréter les instructions de pro-
gramme et à manipuler les données de programme. Un program-
me de système d'exploitation 81 commande la séquence des
exécutions de programmes dans l'ordinateur. Sous la super-
vision du programme de commande de cycle de machine, 80, un programme de commande de lecture/affichage de programme de pièce, 74, commande l'entrée d'un programme d'usinage et d'autres informations d'entrée à partir des dispositifs d'entrée 24, 26 et du clavier et des boutons- poussoirs, 22 et 28. Le programme de commande de dispositif d'entrée 76
est un sous-programme destiné à commander le fonctionne-
ment d'un lecteur de bande ou d'un autre mécanisme d'entrée.
Le programme de format d'affichage 78 définit les emplace-
ments des caractères et accomplit d'autres opérations d'affichage associées au dispositif d'affichage à tube
cathodique 20. Le programme de traitement de bloc de com-
mande numérique, 82, décode les données entrantes, accom-
plit des contrôles de parité et d'autres contrôles
d'erreur et convertit les données sous un format utilisa-
ble pour la commande numérique.
Le programme de préparation de données 86 accom-
plit la fonction générale qui consiste à trier les données traitées par le programme de traitement de bloc de commande
numérique 82 et à enregistrer les données dans ses posi-
tions de mémoire respectives. Sous la commande du programme de préparation de données 86, le programme de données d'outil 87 enregistre les outils actifs qui sont utilisés, ainsi que des valeurs de compensation pour la longueur ou le diamètre de ces outils qui peuvent être introduites manuellement par l'opérateur ou automatiquement par un calibre d'outil automatique. L'unité de commande numérique à ordinateur 25 considère que la sonde 64 est un type d'outil et, par conséquent, le programme de données d'outil 87 enregistre l'information de numéro d'outil identifiant la sonde, ainsi que les données de longueur de la sonde et
de diamètre de la pointe de la sonde. Le programme de pré-
paration et de décodage et d'enregistrement de fonctions diverses, 90, réagit à un bloc de données et il décode toutes les informations diverses appropriées concernant les fonctions mises en oeuvre avant les déplacements et après les déplacements et affectant les déplacements qui sont exigés par les fonctions préparatoires. Ce programme réagit
à un certain nombre de nouveaux codes de fonctions prépara-
toires, ou codes G, définis par l'invention, dans le but de
déclencher le cycle d'exploration et les fonctions arithmé-
tiques nécessaires. En outre, ce programme réagit à des données d'entrée en mettant en fonction et en équilibrant le circuit de commande de couple, ainsi qu'en définissant
des limites de couple. Le programme identificateur de sur-
face active 90 met en fonction un décalage demandé par le programmeur et il met en fonction les tables de données de surface appropriées, 92, pour enregistrer l'information mesurée. La mémoire de position et de vitesse d'avance
courantes et commandées, 94, conserve des données de posi-
tion et de vitesse d'avance courantes et futures. Connais-
sant les données de position et de vitesse d'avance ainsi que d'autres informations relatives à la modification de la position de l'outil, le programme de calcul de données de déplacement 96 détermine la valeur de la longueur d'un déplacement courant et il détermine les distances axiales
et les vitesses d'avance pour réaliser le déplacement dési-
ré. La mémoire d'ordre d'outil et de vitesse de broche, 98, définit les vitesses de broche et les outils demandés par
le programmeur pendant l'exécution du déplacement.
Le programme de commande de sortie 102 reçoit les données provenant du programme de préparation de données 86 et il commande l'exécution et le transfert de ces données vers les éléments de la machine. Un programme de commande d'exécution de déplacement 104 commande la génération et la distribution aux divers servomécanismes de signaux d'ordre
représentant des données de coordonnées axiales. Le pro-
gramme de demande de traitement de mécanisme 106 commande l'exécution des fonctions de la machine avant et après déplacement. Le programme d'achèvement ou d'interruption de déplacement et de traitement, 108, suit l'exécution d'un déplacement d'usinage-particulier par la machine et il
détermine l'exécution avec succès d'un déplacement d'usi-
nage particulier, ou sa terminaison prématurée. Le pro-
gramme d'armement et de service d'interruption par l'élé-
ment de détection, 110, commande la mise en action de la
sonde 64 ou du module de détection de couple 66. Si l'élé-
ment de détection de surface est mis en action, le program-
me contrôle alors l'apparition d'une interruption provenant de l'élément de détection de surface qui indique que la
surface a été détectée, et il commande l'action que nécessi-
te la fonction préparatoire effective. Le programme de déca-
lage et de test 112 exécute des fonctions entièrement arith-
métiques définies par le programmeur pour calculer des décalages ou pour effectuer des comparaisons avec des bandes
de tolérance, à la suite d'une détection de surface.
Le dispositif de commande de mécanisme 116 réagit aux demandes provenant du programme de demande de traitement
de mécanisme 106, de façon à actionner les éléments nécessai-
res de la machine pour exécuter le traitement de machine demandé. La file d'attente de demandes de traitement 118 enregistre un certain nombre de traitements demandés; et le programme de déclenchement de traitement 120 dessert la file
d'attente et il-déclenche les traitements qui sont enregis-
trés dans cette dernière. Le programme de commande d'exécu-
tion de traitement 122 contrôle l'exécution des traitements qui sont mis en action et il détermine le moment auquel
l'activité de ces traitements est terminée.
La figure 3 est un organigramme d'un cycle de machine général et montre l'interaction des composants des sous-ensembles de la figure 2, lorsqu'ils traitent un bloc d'information dans un programme d'usinage. En supposant que l'unité de commande soit dans un mode de fonctionnement correspondant.à la commande numérique, et non dans un mode manuel ou un mode -d'introduction manuelle de données, le cycle de machine est déclenché au moment o l'opérateur appuie sur un bouton-poussoir de démarrage de cycle. Sous l'effet de la réception d'un signal d'entrée provenant du bouton-poussoir de démarrage de cycle, le programme de commande de cycle de machine 80 de la figure 2 commande le transfert d'un bloc d'instructions et de données associées à partir de l'un des dispositifs d'entrée de programme 24 ou 26. L'étape de traitement 124 demande un transfert du bloc d'information vers l'unité de commande, à partir d'un dispositif d'entrée. Les lecteurs de bande perforée en papier et les unités de disque souple sont des exemples
caractéristiques des types de dispositifs d'entrée de pro-
gramme couramment utilisés. Le dispositif d'entrée actif au moment considéré est identifié par le programme de commande d'affichage et de lecture du programme de pièce,
74, qui sélectionne à son tour le programme de fonctionne-
ment de dispositif d'entrée approprié parmi l'ensemble de programmes 76. Les données du programme de pièce sont ensuite transférées du dispositif d'entrée actif vers la zone de mémoire tampon qui est associée au programme de
traitement de bloc de commande numérique 82.
L'étape de traitement 126 de la figure 3 demande le traitement du bloc d'information. Les programmes de traitement de bloc de commande numérique 82 de la figure 2
effectuent des contrôles d'erreur de données et ils con-
vertissent les données en binaire, à partir du code dans
lequel elles sont reçues à partir du dispositif d'entrée.
Le programme de commande de cycle de machine 80 fait -
ensuite en sorte que le programme de préparation de données 86 sépare les données de coulisseaux de machine des données
de mécanisme de machine et calcule les déplacements incré-
mentiels des coulisseaux de la machine. Le programme de
commande de cycle de machine 80 fait en sorte que le pro-
gramme de commande de sortie 102 sépare les données d'axe et d'interpolation de ces opérations relatives au mécanis- me, telles que la vitesse de la broche, le numéro de l'outil ét divers ordres de fonctions. Le programme de commande de sortie 102 transfère ensuite les données de longueur de déplacement et de vitesse d'avance vers la
servocommande 30, par le bus d'interfaces de la machine, 52.
L'étape de traitement 128 détermine si une inter-
polation est nécessaire. Dans le cas de l'invention, il peut exister certains blocs d'information programmés dans lesquels aucun mouvement des coulisseaux n'a lieu, mais dans lesquels certaines fonctions de calcul doivent être accomplies. Si aucune interpolation n'est nécessaire, le traitement passe à l'étape 130 qui nécessite l'exécution de fonctions arithmétiques. En retournant à la figure 2, on
note que dans les blocs d'information nécessitant des opé-
rations arithmétiques, des codes de préparation spéciaux
sont décodés par le sous-ensemble de décodage et d'enregis-
trement 88. Le programme de fonction de surface 100 assem-
ble l'information et les données nécessaires pour exécuter la fonction arithmétique demandée. Ensuite, le programme de commande de sortie 102 fait en sorte que le programme de décalage et de test 112 exécute les fonctions arithmétiques
nécessaires. Le programme d'achèvement du traitement rela-
tif à un déplacement, 108, détecte le moment auquel ces fonctions arithmétiques ont été achevées et il fait passer
le traitement au bloc de données suivant.
On retournera maintenant à la figure 3 pour noter que si l'interpolation est exigée par l'étape de traitement 128, le traitement passe à l'étape 132 qui déclenche l'exécution des traitements de machine qui doivent avoir lieu avant le déplacement des coulisseaux de la machine, c'est-à- dire la mise en action de la broche et du fluide de refroidissement, la mise en action du module de commande de couple, l'établissement d'une limite de couple nécessaire, etc. Le programme de commande de sortie 102 de la figure 2
déclenche un traitement de machine en actionnant le disposi-
tif de commande de mécanisme 116 qui dessert la file d'attente de traitement 118. Cette mise en action a pour effet de bloquer le démarrage de l'interpolation relative
aux axes et de permettre au dispositif de commande de méca-
nisme 116 d'exécuter les traitements de machine nécessaires avant le déplacement, de la manière définie à l'étape 134
de la figure 3.
Une fois que les traitements demandés sont ache-
vés, le programme de commande d'exécution de traitement 122 fait en sorte que le dispositif de commande de mécanisme 116
génère un signal de déclenchement de cycle de commande numé-
rique de démarrage de déplacement, qui permet au système
d'exploitation de commande numérique par ordinateur d'effec-
tuer l'interpolation sur les axes jusqu'à l'extrémité du déplacement ou jusqu'à l'interruption émise par l'élément de détection, de la manièredéfinie à l'étape de traitement 136 de la figure 3. Dans le cas de l'exécution d'un cycle d'exploration le long d'un seul axe de mouvement, le bloc d'information d'exploration définit un point d'extrémité à l'intérieur d'une surface de la pièce. Par conséquent, lorsque la sonde vient en contact avec la pièce ou lorsque l'outil de coupe détecte la pièce, l'interface d'élément de
détection active, c'est-à-dire le module de commande de cou-
ple 66 ou l'interface de sonde 62, génère une interruption
qui doit être traitée par le programme d'armement et de ser-
vice d'interruption d'élément de détection, 110. Ceci pro-
voque un arrêt immédiat du mouvement du coulisseau et lorsque le cycle d'exploration est terminé, un signal de fin de déplacement est généré. Lorsque la pièce n'est pas présente, une fin de déplacement est produite de la manière
normale. Dans un cas comme dans l'autre, l'étape de traite-
ment 138 nécessite que le programme de commande de sortie 102 déclenche l'exécution de traitements de machine après déplacement. Les traitements particuliers qui doivent être exécutés après l'interpolation comprennent des fonctions telles que l'arrêt de la broche, la mise hors fonction du fluide de refroidissement et le changement d'outils. Le système d'exploitation de commande numérique par ordinateur actionne le dispositif de commande de mécanisme 116 qui exécute ensuite ces traitements, conformément à l'étape de traitement 140 de la figure 3. Le système d'exploitation de commande numérique à ordinateur ne peut pas reprendre le cycle de machine automatique jusqu'à ce que le dispositif
de commande de mécanisme 116 génère un signal de déclenche-
ment de cycle de commande numérique, correspondant à la fin du déplacement. Conformément à l'étape de traitement 142 de la figure 3, si le programme d'usinage n'est pas terminé, le déclenchement final du cycle de commande numérique déclenche le transfert d'un autre bloc d'information et l'exécution d'un autre cycle de machine. Le traitement de la figure 3 se poursuit jusqu'à la fin du programme de pièce. L'invention offre au programmeur la possibilité
d'utiliser des éléments de détection de surface pour mesu-
rer les positions de caractéristiques d'une pièce et en-
registrer les positions en vue d'une utilisation ultérieu-
re. Dans le mode de réalisation préféré, un cycle de mesure de surface est déclenché avec des fonctions préparatoires désignées par une adresse G. Un motG à deux chiffres peut être choisi arbitrairement de façon à satisfaire aux normes
de programmation. Dans le cadre de la description, un mot
Gpp définira un cycle de mesure utilisant la sonde de con-
tact de surface et un mot Gtt définira un cycle de mesure
utilisant le couple de l'outil de coupe.
Comme il a été envisagé précédemment, la fonc-
tion de changement d'outil est une fonction de fin de déplacement. Par conséquent, dans le bloc d'information précédant un cycle de mesure, le programmeur doit définir un cycle de changement d'outil pour charger soit la sonde,
* soit l'outil de coupe approprié sur le porte-outil.
Dans le traitement d'une pièce, il est générale-
ment nécessaire de définir tout d'abord l'emplacement de la
pièce par rapport aux données de coordonnées programmées.
On peut ensuite définir diverses caractéristiques de la pièce. La pièce brute comporte de façon caractéristique des
surfaces de référence de positionnement, usinées préalable-
ment, correspondant aux axes X, Y et Z. Le programmeur peut donc définir des cycles de mesure successifs le long de chacun des axes de mouvement, pour mesurer l'emplacement exact de ces surfaces et pour établir un point de départ de programme à partir de ces surfaces. En pratique, si on suppose qu'on utilise la sonde à contact sur la surface, le programmeur charge la sonde sur le porte-outil et déplace la sonde jusqu'à une position située face à la surface de référence X. Les données de bloc suivantes, définissant un bloc d'instruction de positionnement de pièce, sont alors programmées dans le programme d'usinage Nnnn Gpp Xxxxxxxx Iiiiiiii Le terme Nnnn définit le numéro de séquence du bloc dans le programme d'usinage. Le terme Gpp est une instruction de mesure de surface qui définit un cycle de mesure par contact sur la surface. L'adresse X définit l'axe pour
lequel le cycle de mesure aura lieu, et les données numéri-
ques correspondant au mot X définissent un emplacement le long de l'axe X. Le terme Iiiiiiii, qui est une coordonnée supposée, définit la valeur de coordonnée à affecter à la surface de référence de positionnement relative à l'axe X. En supposant que le cycle de positionnement de pièce doit avoir lieu après que l'opérateur a initialisé
la machine et a aligné les coulisseaux, tous les mouve-
ments des coulisseaux survenant par la suite génèrent des
données de position courante dont les valeurs sont mesu-
rées par rapport au système de coordonnées de la machine.
Cependant, comme il a été indiqué précédemment, les
valeurs de coordonnées de programme d'usinage sont mesu-
rées par rapport à un système de coordonnées de programme qui est défini par le programmeur. L'affectation d'une valeur de coordonnées programmée à une position réelle d'un coulisseau a pour effet de générer une position de
coulisseau courante soumise à une translation, qui repré-
sente une translation de la position courante du coulis-
seau par rapport au système de coordonnées de la machine.
Ensuite, tous les ordres de positionnement de coulisseau générés par l'unité de commande sous l'effet du programme
d'usinage seront modifiés pour correspondre à cette transla-
tion. Ainsi, le système de coordonnées de programme est
effectivement soumis à une translation par rapport au systè-
me de coordonnées de la machine. Le bloc d'information ci-dessus sera lu et décodé par le programme de traitement
de bloc de commande numérique 82. Les programmes de prépara-
tion de données 86 décoderont la fonction préparatoire et prépareront un cycle de fonctionnement de mesure à exécuter par le programme de commande de sortie 102. Les étapes de
traitement relatives à l'exécution du cycle de fonctionne-
ment sont représentées sur les figures 4a à 4c.
On va maintenant considérer la figure 4a, sur laquelle on note que l'étape de traitement 144 nécessite que le programme de service d'interruption d'élément de détection 110 arme l'interruption de l'interface d'élément de détection active, c'est-à-dire le module de coupie 66 ou l'interface de sonde 62. L'étape de traitement 146 nécessite que le programme de commande de sortie 102 exécute toutes les fonctions nécessaires qui précèdent le déplacement. Dans
le mode de réalisation préféré, un bloc d'information conte-
nant une instruction de cycle de mesure peut comprendre n'importe quelle fonction parmi les fonctions diverses de type standard concernant la vitesse de la broche et les outils. Ensuite, l'étape de traitement 148 fait en sorte que l'unité de commande génère des signaux d'ordre d'exploration pour exécuter un déplacement d'attaque le long du chemin programmé, avec une vitesse d'avance fixée au préalable. On
choisit une vitesse d'avance fixée au préalable et non pro-
grammable afin d'améliorer la répétabilité et de réduire au
minimum le temps de cycle. Si une vitesse d'avance est pro-
grammiée avec les instructions de cycle de mesure, elle sera enregistrée pour le bloc d'information suivant ne faisant pas intervenir de mesure. La sonde se déplace le long de l'axe X, vers la surface de référence de positionnement de
l'axe X. L'étape de décision 150 détermine si une interrup-
tion du capteur apparaît le long de ce chemin. Si aucune interruption n'apparatt et si la sonde atteint la dimension X programmée, ce qui est déterminé par l'étape de décision 151, l'étape de traitement 153 arrête le coulisseau et signale une condition d'erreur, du fait que la pièce ne se trouve pas à un emplacement prévu par le programmeur. Si la
sonde vient en contact avec un point sur la surface de réfé-
rence et émet une interruption vers le système, l'étape de décision 150 fait en sorte que l'étape de traitement 152 arrête les coulisseaux. L'étape de traitement 154 provoque
l'enregistrement d'un signal de position initiale représen-
tant la position dix point sur la surface de référence.
Au moment du contact, la position de l'élément de
détection peut être déterminée à partir de plusieurs sour-
ces. Dans certaines situations, la servocommande de coulis-
seau 30 contient des registres qui indiquent la position courante du coulisseau. Dans ces situations, on peut lire
ces registres et enregistrer un signal de position d'axe.
Dans d'autres situations, la commande d'exécution de dépla-
cement qui fait partie du programme de commande de sortie 102 peut contenir une table des positions courantes du
coulisseau. Dans le cas o le programme de service d'inter-
ruption d'élément de détection 110 détecte une interruption et fait en sorte que le programme d'arrêt de déplacement
108 arrête le mouvement du coulisseau, le signal de posi-
tion d'axe peut être lu dans la table de position courante du coulisseau, dans le programme de commande d'exécution du déplacement, 104. Dans le cas de l'exécution d'un cycle de mesure le long d'axes de mouvement perpendiculaires à l'axe central de l'élément de détection, le signal de position d'axe représentant la position de l'élément de détection est modifié par une première compensation représentant le rayon de l'élément de détection, pour produire le signal de position initiale enregistré qui représente la position du point détecté sur la surface de référence. Lorsqu'on exécute
un cycle de mesure parallèlement à l'axe central de l'élé-
ment de détection, le signal de position d'axe est modifié
par un second signal de compensation représentant la lon-
gueur de l'élément de détection, pour produire le signal de
position initiale enregistré.
Le déplacement d'attaque de la sonde vers la sur-
face de référence X est effectué de façon caractéristique avec une vitesse d'avance relativement élevée. Par consé-
quent, du fait des erreurs suivantes et d'autres caractéris-
tiques du système, la position initiale enregistrée ne sera pas comprise dans une plage de tolérance acceptable. Si on utilise la sonde venant en contact sur la surface, l'étape de décision 156 fera avancer le traitement jusqu'à l'étape 158 qui générera un signal d'ordre de retrait représentant un mouvement supplémentaire le long de l'axe X, jusqu'à une position située à une distance prédéterminée du c8té intérieur de la surface de référence de positionnement, de la manière définie par le signal de position initiale. Le traitement passe ensuite à l'étape 160 de la figure 4b qui arme à nouveau l'interruption par le capteur. Ensuite,
l'étape de traitement 162 génère un signal d'ordre d'acqui-
sition de données qui provoque un mouvement, avec un dépla-
cement fixe, vers un point situé du c8té extérieur de la surface de référence de positionnement, avec une vitesse d'avance plus lente. L'étape de décision 164 détecte l'interruption de capteur qui indique que la sonde a perdu
le contact avec le point détecté sur la surface de référen-
ce de positionnement qui correspond à l'axe X. Sous l'effet de cette interruption, l'étape de traitement 166 arrêté le
mouvement du coulisseau et l'étape de traitement 168 enre-
gistre un signal de coordonnées X qui représente la posi-
tion du point sur la surface de référence, c'est-à-dire la
position de l'élément de détection, modifiée par la lon-
gueur ou le rayon de l'élément de détection. Si aucune interruption de capteur ne se produit et si la fin du déplacement est atteinte, ce qui est déterminé par l'étape de décision 170, le mouvement du coulisseau est arr8té et -une erreur est indiquée. Si on suppose qu'une interruption de capteur apparaît effectivement sous l'effet de la perte
de contact entre la sonde et la pièce, l'étape de traite-
ment 174 génère un signal d'ordre final pour déplacer la sonde avec une vitesse d'avance lente fixée au préalable, jusqu'à une position adjacente à la surface de référence de positionnement qui correspond à l'axe X; et l'axe central du porte-outil est alors déplacé à partir de la surface sur une distance égale au rayon de la sonde.
Le traitement passe ensuite à une étape de déci-
sion 176 qui détecte la présence de l'adresse I. L'adresse I nécessite que l'étape de traitement 178 établisse que le
point détecté sur la surface de référence qui est représen-
tée par la position courante de la sonde, modifiée par le rayon de la sonde, reçoive la valeur de coordonnée qui est définie par le mot I. On notera que pendant le réglage de la machine en préparation de l'exécution du programme, lorsque l'opérateur de la machine charge la sonde dans la zone de magasin d'outil sur la machine, il doit également charger les données de longueur de sonde et de diamètre de sonde. Ces données sont enregistrées dans la mémoire de données d'outil 87 avec d'autres informations d'outil. Du fait qu'aucune autre information n'a été programmée dans ce bloc particulier, aucune fonction intervenant après le déplacement n'est nécessaire et le traitement se poursuit
en passant au bloc d'information suivant.
Pour définir les coordonnées de programme pour les surfaces de référence Y et Z, le programmeur définit tout d'abord un bloc d'instruction de positionnement de pièce qui génère des signaux d'ordre d'exploration, de façon à positionner la sonde face à la surface de référence de positionnement relative à l'axe Y, après quoi il définit le bloc d'information suivant: Nnnn Gpp Yyyyyyyy Jjjjjjjj Au moment de la détection de l'instruction Gpp et de l'adresse Y, le programme de préparation de données 86 et
le programme de commande de sortie 102 préparent et exécu-
tent respectivement un déplacement d'attaque, un déplacement de retrait, un déplacement d'acquisition de données et un déplacement final,-pour déplacer la sonde le long de l'axe de mouvement Y et pour amener la sonde en contact avec la surface de référence de positionnement relative à l'axe Y. A ce point, l'étape de décision 180 détecte l'adresse J et fait en sorte que l'étape de traitement 182 définisse en tant que mot J la surface de référence de positionnement relative à l'axe Y. Le traitement est achevé en utilisant les étapes de traitement 184 et 186 pour le mouvement relatif à l'axe Z, afin d'établir en tant que mot K la surface de référence de positionnement relative à l'axe Z, en utilisant le bloc
d'information d'instruction de positionnement de pièce sui-
vant: Nnnn Gpp Zzzzzzzz Kkkkkkkk Rrrrrrrr L'étape de décision 188 détecte la présence de l'adresse R dans le bloc d'information ci-dessus. Le mot R définit un plan de dégagement correspondant à un cycle fixe qui se trouve à une distance prédéterminée au-dessus de la surface de la pièce, afin de déplacer l'outil entre des cycles fixes dans les opérations de perçage de trou et de finition. Le cycle de mesure permet au programmeur d'établir de façon précise l'emplacement de ce plan. Le mot R représente un incrément à additionner à la position de la surface pour définir le plan R. Ainsi, sur la figure 4b, une fois que l'adresse R a été détectée par l'étape 188, l'étape 190 fixe le plan R à l'incrément défini par le mot R augmenté de la valeur du
signal de coordonnée Z qui est enregistré à l'étape 168.
2.5 Si le programmeur de pièces a décidé d'utiliser le couple de l'outil de coupe pour détecter les surfaces de
référence, les blocs d'information ci-dessus sont identi-
ques, à l'exception du fait que Gtt est utilisé à la place de Gpp et qu'un Fffff est programmé. Lorsque e programme de préparation de données détecte le code de préparation de couple, il fait en sorte que le programme de commande de
sortie 102 arme l'interruption de module de commande de cou-
ple qui réagit au fait que le couple de coupe est égal ou supérieur à une limite de couple définie préalablement. La
limite de couple représente une valeur de couple qui indi-
que un contact superficiel de l'outil de coupe avec la pièce. En ce qui concerne les étapes de traitement 144, 146 et 148 de la figure 4a, le programme de préparation de
données 86 et le programme de commande de sortie 102 fonc-
tionnent de la manière décrite précédemment et ils déclen-
chent un déplacement d'attaque le long de l'axe programmé, vers la surface de référence de positionnement, à une vitesse d'avance qui est définie par le mot F. L'interrup- tion de capteur se produit lorsque le module de commande de couple produit un signal de contact représentant un couple
de coupe égal ou supérieur à la limite de couple, et l'in-
terruption fait en sorte que le programme de service d'in-
terruption 110 arrête le mouvement du coulisseau et enre-
gistre un signal de coordonnée Z représentant la position de la surface. L'étape de décision 156 fait avancer le traitement jusqu'à l'étape 192 qui génère un signal d'ordre de retrait sous l'effet du signal de coordonnée Z, pour
exécuter un déplacement de retrait le long de l'axe pro-
grammé, jusqu'à la position enregistrée. A ce point, le traitement passe à l'étape de décision 176 et se déroule de
la manière décrite précédemment.
La description des figures 4a - 4c faite jusqu'à
ce point décrit un premier mode de cycle de mesure dans lequel les surfaces de référence sont relativement bien
définies et sont par exemple des surfaces usinées. Cepen-
dant, des pièces de fonderie brutes peuvent comporter des
surfaces brutes et des nervures qui présentent des varia-
tions importantes. Dans ce cas, le fait de détecter avec une sonde un seul point de la surface ne peut pas donner une définition précise de l'emplacement de la surface. Par conséquent, le cycle de détection de surface comporte un second mode de fonctionnement qui permet au programmeur de détecter au moyen d'une sonde un grand nombre de points le long de la surface et d'accumuler des caractéristiques statistiques significatives pour les coordonnées mesurées, par exemple les valeurs maximales, les valeurs minimales, les valeurs moyennes, l'écart type, la médiane, etc. On supposera que la pièce contient une nervure venue de fonderie et non usinée qui s'étend parallèlement
à l'axe de déplacement Y et que le programmeur désire défi-
nir la position d'une arête de la nervure sur l'axe de mou-
248M2OO
vement X. Pour effectuer ceci, la sonde doit être position-
née à différents emplacements le long de l'axe Y et, à cha-
que emplacement, un cycle de mesure est défini le long de
l'axe de mouvement X en utilisant le bloc d'information sui-
vant: Nnnn Gpp Xxxxxxxx Hhh Le code préparatoire indique à nouveau que la sonde venant en contact avec la surface doit être utilisée dans le cycle de mesure, et le programme de préparation de données 86 et
le programme de commande de sortie 102 préparent un déplace-
ment d'attaque vert l'arête de la nervure, le long de l'axe X, à la vitesse d'avance choisie au préalable. Du fait
qu'on utilise la sonde pour détecter la surface, un déplace-
ment de retrait, un déplacement d'acquisition de données et
un déplacement final seront exécutés et un signal de coor-
donnée X représentant la position d'un point sur l'arête de la nervure sera enregistré, comme le demande l'étape 168 de la figure 4b. Le traitement passe ensuite à l'étape 194 de la figure 4c qui détermine si l'adresse H est présente. Un mot à deux chiffres est associé à l'adresse H et ce mot
définit une zone de mémoire de surface active qui fait par-
tie de la table d'identificateur de surface active 90. Cha-
que zone de mémoire du mot H comporte cinq emplacements de mémoire principaux destinés à enregistrer des signaux de coordonnées sélectionnés. Le premier emplacement enregistre
un ensemble de signaux de coordonnées X, Y et Z représen-
tant les valeurs maximales des positions dont les coordon-
nées sont mesurées; la seconde position enregistre un ensemble de signaux de coordonnées X, Y et Z représentant les valeurs minimales des positions dont les coordonnées sont mesurées; le troisième emplacement enregistre un ensemble de signaux de coordonnées X, Y et Z représentant la somme des positions mesurées et le quatrième emplacement enregistre un signal de nombre d'incréments représentant le nombre de mesures effectuées pour définir une surface de référence. Ainsi, en prélevant les signaux qui proviennent des troisième et quatrième emplacements de mémoire, on peut
calculer la moyenne des positions définies par les coordon-
nées mesurées sur le cycle de mesure complet. Le cinquième emplacement enregistre un ensemble de signaux de décalage X,
Y et Z qu'on décrira ultérieurement.
En retournant à l'étape de traitement 194 de la figure 4c, on note que la présence de l'adresse H nécessite
que l'étape de traitement 196 rappelle un signal de coordon-
née X enregistré précédemment, à partir du premier emplace-
ment dans la mémoire identifié par le mot H. Pour déterminer le plus grand signal de coordonnée, l'étape de traitement 198 compare les valeurs du signal enregistré précédemment et
du signal de coordonnée X courant. Si le signal de coordon-
née courant est le plus grand, l'étape de traitement 200 provoque l'enregistrement du signal de coordonnée X courant
en tant que position mesurée maximale dans le premier empla-
cement qui est défini par le mot H. Dans le cas contraire,
le signal de coordonnée enregistré dans le premier emplace-
ment demeure inchangé. Ensuite, l'étape de traitement 202 rappelle un signal de coordonnée X enregistré précédemment, à partir du second emplacement de mémoire dans la mémoire du mot H. L'étape de traitement 204 compare les valeurs du signal de coordonnée X courant et du signal enregistré
précédemment pour déterminer le plus petit signal de coor-
donnée. Si le signal de coordonnée X courant est le plus petit, il est enregistré dans le second emplacement de la mémoire du mot H en tant que nouvelle position minimale mesurée, conformément à l'étape de traitement 206. Dans le cas contraire, la position minimale enregistrée demeure inchangée. Ensuite, le signal de coordonnée X courant est
sommé avec les signaux de coordonnée X qui ont été enregis-
trés précédemment dans le troisième emplacement de mémoire
dans la mémoire du mot H, par l'étape de traitement 208.
Dans l'étape de traitement 210, le nombre contenu dans le quatrième emplacement de mémoire de la mémoire du mot H est
incrémenté d'une unité. Le traitement passe ensuite à l'éta-
pe 193 pour exécuter les fonctions qui interviennent après
le déplacement.
Chaque fois que le cycle de mesure est exécuté à un emplacement différent le long de l'axe Y, un signal de coordonnée X différent définissant la position de l'arête de la nervure est généré, et les signaux présents dans les
emplacements de la mémoire du mot H sont mis à jour. Par con-
séquent, après un certain nombre de cycles de mesure, le programmeur aura accumulé des données significatives identi- fiant l'arête de la nervure. Il connaîtra les points hauts
le long de l'arête ainsi que les points bas et il sera capa-
ble de générer un signal de coordonnée X moyenne représen-
tant la position mesurée moyenne de la nervure sur l'axe X. On peut utiliser les positions maximale et minimale mesurées pour déterminer la quantité de matière qui peut être enlevée pour juste dresser la surface, ou pour définir le dégagement réel au-dessus de la surface. S'il est nécessaire de placer des trous le long d'une ligne à une certaine distance de l'arête de la nervure, on peut utiliser la position moyenne mesurée de l'arête pour situer la ligne. Cependant, si les trous doivent être placés le long de l'axe de la nervure, on exécute un cycle de mesure qui mesure un nombre égal de points sur chaque arête de la nervure. La position moyenne mesurée des points définira l'axe moyen de la nervure. Bien que l'exemple précédent décrive l'utilisation d'une sonde et
l'accumulation des positions mesurées pour l'axe de mouve-
ment X, on peut procéder d'une manière similaire pour mesu-
rer et enregistrer des positions par rapport aux axes de mouvement Y et Z. Pour percer les trous le long de l'axe central de la nervure, le programmeur doit positionner le centre de chaque trou par rapport à l'arête de la nervure sur l'axe X. Par conséquent, une coordonnée programmée selon l'axe X, représentant la définition faite par le programmeur de l'arête de la nervuredoit être corrélée à la position réelle de l'arête telle que la sonde la détermine. Comme on l'a envisagé précédemment, on peut utiliser le premier mode
de mesure en association avec un mot I programmé représen-
tant la définition faite par le programmeur de l'arête de la nervure. Cependant, cette opération a pour effet de produire une translation de l'ensemble des coordonnées programmées par rapport à l'emplacement mesuré. Ceci est souhaitable au moment du positionnement initial de la pièce, mais lorsqu'on définit des caractéristiques individuelles de la pièce, par exemple une arête d'une nervure, il suffit de modifier les coordonnées programmées qui définissent le fonctionnement de la machine par rapport à la caractéristique considérée et d'autres caractéristiques programmées ne doivent pas être affectées. De ce fait, l'invention fait appel à plusieurs
codes préparatoires arithmétiques dont l'un peut être utili-
sé pour calculer un signal de décalage représentant la différence entre une position mesurée d'une caractéristique de la pièce, par exemple une arête d'une nervure, et la
définition faite par le programmeur de cette position. Cha-
que fois que le programmeur désire travailler par rapport à cette caractéristique de la pièce, il utilise le décalage associé qui donne lieu à une modification des signaux
d'ordre déduits des valeurs de coordonnées programmées, con-
formément à la position réelle mesurée d'une caractéristique de la pièce. Cependant, les signaux d'ordre qui sont
déduits d'autres coordonnées du programme ne sont pas modi-
fiés. Ainsi, pour calculer un décalage par rapport à l'arête de la nervure, le programmeur définit le bloc de données suivant: Nnnn (OFS Gi Hhh Xxxxxxxx) Le terme Nnnn définit l'emplacement dans le programme et les parenthèses sont utilisées conformément aux règles de programmation recommandées. L'instruction OFS est détectée par le programme de-fonction dé surface 100 du programme de préparation de données 86. Le programmeréagit au mot de surface active et aux données de coordonnées dans le bloc
d'information et il fait en sorte que le programme de déca-
lage et de test 112 du programme de commande de sortie 102
calcule le décalage approprié. L'invention permet de calcu-
ler un décalage parmi quatre possibles. La sélection du calcul désiré s'effectue en utilisant un code G parmi
quatre, GO à G3. Si un GO est programmé dans le bloc d'in-
formation, le signal de décalage X qui est calculé représen-
te la différence de valeur entre le mot X programmé et un signal de coordonnée X courant enregistré qui est déterminé soit par l'étape 168 de la figure 4bsoit par l'étape 154 de la figure 4a, selon qu'on utilise une détection de contact ou une détection de couple. Le mot X est une valeur de réfé- rence représentant la définition faite par le programmeur de la position d'un point prédéterminé sur la pièce. Le signal
de décalage X est calculé et est enregistré dans le cinquiè-
me emplacement de mémoire du mot H programmé. Dans l'exemple de l'arête de la nervure, seul l'axe X fait l'objet d'une détection par une sonde et d'une mesure. Cependant, on peut calculer des signaux de décalage Y et Z pour les axes Y ou
Z en ajoutant simplement des-mots Y et Z au bloc d'informa-
tion de décalage.
Si un G3 est programmé dans le bloc d'information, le signal de décalage X qui est calculé représente la différence entre le mot X et la position X mesurée maximale qui est enregistrée dans la mémoire du mot H. Si un G2 est programmé dans le bloc de décalage, le signal de décalage X qui est calculé représente la différence entre le mot X et la position X mesurée minimale qui est enregistrée dans
la mémoire du mot H. Enfin si, comme on l'a envisagé pré-
cédemment-, un Gi est programmé dans le bloc de décalage, le
signal de décalage X qui est calculé représente la diffé-
rence entre le mot X et la position X mesurée moyenne qui est enregistrée dans la mémoire du mot H. Dans l'exemple considéré, on désire positionner les trous le long de l'axe
central de la nervure et il est très souhaitable de posi-
tionner ces trous par rapport à la position X mesurée
moyenne définissant les arêtes de la nervure.
Les figures 5a et 5b représentent un organigramme qui montre les étapes de traitement destinées à l'exécution
d'un bloc d'information de décalage. Une fois que l'ins-
truction OFS a été décodée par le programme de préparation de données 86 de la figure 2, le traitement passe à l'étape 212 de la figure 5a, pour déterminer l'existence d'une adresse H. Si aucune adresse H ne se trouve dans le bloc de bande, il n'est pas possible d'enregistrer une valeur de
décalage calculée et, par conséquent, le programme de déca-
lage n'est pas exécuté. Si une adresse H est décodée, l'éta-
pe 214 détermine s'il existe un GO. Si un GO existe effec-
tivement, l'étape 216 détermine s'il existe une adresse X. Si une adresse X est présente, l'étape 218 calcule un déca- lage X en soustrayant la valeur du mot X de la valeur du signal de coordonnée X courant; et un signal de décalage X est enregistré dans le cinquième emplacement de mémoire de la mémoire de mot H. De façon similaire, le traitement effectué aux étapes 220 à 226 détecte la présence d'adresses Y ou Z, calcule des décalages Y et Z et enregistre des signaux de décalage Y et Z. L'étape de décision 228 détermine s'il existe une instruction Gi. Si cette instruction existe et si une adresse X est présente, ce qui est déterminé par l'étape 230, les étapes 232 et 234 utilisent la somme des positions mesurées et du nombre d'incrément du mot H identifié pour calculer un signal de coordonnée X moyenne. A l'étape 236, un décalage est calculé en soustrayant la valeur du mot X de la valeur du signal de coordonnée X moyenne; et un signal de décalage X correspondant est enregistré. De façon similaire, aux étapes 238 à 252 le traitement détermine si des adresses Y ou Z sont programmées; et des signaux de décalage Y et Z sont enregistrés sur la base des signaux de coordonnées Y et Z moyennes. L'étape de décision 253 de la figure 5b détermine si un G2 existe et s'il existe, l'étape de traitement 254 détermine la présence d'une
adresse X. Si une adresse X est présente, l'étape de trai-
tement 256 calcule une valeur de décalage en soustrayant la
valeur du mot X de la valeur de la position X mesurée mini-
male et enregistre un signal de décalage X correspondant dans le cinquième emplacement de la mémoire du mot H. De
façon similaire, les étapes 258 à 264 déterminent la pré-
sence d'adresses Y ou Z et enregistrent de façon correspon-
dante des signaux de décalage Y ou Z. L'étape de décision
268 détermine la présence d'une instruction G3. En associa-
tion avec une adresse X qui est définie par une étape 270, cette instruction fait en sorte qu'une étape de traitement 272 calcule une valeur de décalage X en soustrayant la
valeur du mot X de la valeur de la position X mesurée maxi-
male et enregistre un signal de décalage X correspondant dans la mémoire de mot H. De façon similaire, les étapes de traitement 274 à 280 déterminent si des adresses Y ou Z sont contenues dans le bloc d'information de décalage, et des signaux de décalage Y et Z sont enregistrés de façon correspondante.
L'invention offre également la possibilité arith-
métique de comparer une position correspondant à une coor-
donnée mesurée, avec des limites programmées représentant
des maximums et des minimums. On supposera que dans l'exem-
ple précédent le programmeur désire comparer le signal de coordonnée X moyenne, définissant l'arête de la nervure, avec des limites supérieure et inférieure. Pour réaliser ceci, il doit programmer le bloc d'information suivant Nnnn (TST Gi Hhh Xxxxxxxx Iiiiiiii)
L'instruction TST est reconnue par le programme de fonc-
tion de surface 100 du programme de préparation de données
86 qui réagit aux autres données dans le bloc d'informa-
tion de comparaison ou de test et exécute le test désiré, en association avec le programme de décalage et de test 112
du programme de commande de sortie 102. Lorsque le program-
meur utilise la fonction de test, il peut choisir de tester
jusqu'à six valeurs différentes, en fonction du mot G pr.o-
grammé. Par exemple, l'instruction Gi représente un test de la position mesurée moyenne par rapport aux mots X et I
programmés. Le mot X représente une limite inférieure défi-
nissant un minimum et le mot I représente une limite supé-
rieure définissant un maximum. Si le programmeur désire tester des positions mesurées Y ou Z, il doit programmer un
mot Y et un mot J associé ou un mot Z et un mot K associé.
La présence des adresses X, Y ou Z provoque l'exécution du test approprié. Il convient de noter qu'on peut exécuter un test portant sur une limite inférieure ou sur une limite supérieure, selon qu'on programme les adresses X, Y et Z ou les adresses I, J et K. Par conséquent, si on programme
seulement l'adresse X, seul est exécuté un test se rappor-
tant à la limite inférieure; et si on programme seulement l'adresse I, seul est exécuté un test se rapportant à la
limite supérieure.
Si une instruction GO est programmée dans le bloc d'information de test, la valeur du signal de coordon- née courant enregistré est testée. Si une instruction G2
est programmée, c'est la position correspondant à la coor-
donnée mesurée minimale qui est testée. Si une instruction G3 est utilisée dans le bloc de test, c'est la position correspondant à la coordonnée mesurée maximale qui est testée. Si une instruction G4 est programmée, le test porte sur la différence entre les positions correspondant aux
coordonnées mesurées maximale et minimale. Si une instruc-
tion G5 est programmée, c'est la valeur du signal de déca-
lage dans la mémoire du mot H qui est testée.
Une fois que le programme de fonction de surface a détecté l'instruction de test ou TST, le traitement représenté sur les figures 6a à 6e est exécuté. L'étape 284 détecte la présence d'une instruction GO. Si une instruction GO existe effectivement, l'étape de traitement 286 détermine la présence d'une adresse X. Si une adresse X est présente, l'étape de traitement 288 détermine si la valeur du signal de coordonnée X courant est supérieure à
la valeur du mot X qui définit un minimum. Dans la négati-
ve, un indicateur d'erreur est positionné par l'étape 293,
ce qui indique que la position mesurée est hors tolérance.
L'étape 290 détermine la présence d'un mot I et l'étape 292 détermine si la valeur du signal de coordonnée X est inférieure à la valeur du mot I ou du maximum. Dans la négative, un indicateur d'erreur est à nouveau positionné
pour indiquer que la position mesurée est hors tolérance.
D'une manière similaire, les étapes 294 à 310 exécutent un test des signaux de coordonnées Y et Z courants. Du fait que les tests restants nécessitent des données provenant d'une mémoire du mot H, s'il n'existe pas d'adresse H, le test ne peut pas être effectué. L'étape de décision 312
détecte la présence d'une adresse H. L'étape de traite-
ment 314 détermine l'existence du code Gi. L'étape de
-24 89200
décision 316 détermine la présence d'une adresse X. Si une adresse X est présente, l'étape de traitement 318 utilise la somme mesurée et un nombre d'incrément provenant de la
mémoire de mot H désignée pour calculer une position X mesu-
* rée moyenne. Sur la figure 6b, l'étape de traitement 320 compare la valeur de la position X moyenne mesurée avec la valeur du mot X représentant un minimum. Si la position X
moyenne mesurée est supérieure au minimum, l'étape de trai-
tement 322 détermine l'existence d'un mot I. L'étape de traitement 324 détermine si la valeur de la position X moyenne mesurée est inférieure à la valeur du mot I ou maximum programmé. Si l'un ou l'autre des tests donne un résultat négatif, la position X moyenne mesurée est hors des limites de tolérances et l'étape de traitement 326 positionne un indicateur d'erreur "hors tolérance". D'une manière similaire, les positions Y et Z moyennes mesurées font l'objet d'une comparaison avec les limites supérieures et inférieures programmées, par les étapes de traitement
328 à 350.
Dans les étapes de traitement 352 à 382, les
valeurs des positions correspondant aux coordonnées minima-
les du mot H sont comparées avec les valeurs des maximums
et des minimums programmés. Au cours des étapes de traite-
ment 384 à 414, les valeurs des positions correspondant aux coordonnées maximales mesurées de la mémoire de mot H
sont comparées avec les valeurs des maximums et des mini-
mums programmés. Au cours des étapes de traitement 416 à 452, la différence entre les positions correspondant aux
coordonnées maximales et minimales mesurées du mot H iden-
tifié est comparée avec les maximums et les minimums pro-
grammés et les étapes de traitement 454 à 484 comparent la valeur du signal de décalage enregistré avec la valeur des
maximums et des minimums programmés.
La figure 7 montre les étapes de traitement desti-
nées à la remise à zéro des mémoires de mot H. Pour réaliser ceci, on programme un bloc d'information qui contient un numéro de séquence, une instruction RST et un mot H. L'étape de traitement 486 détermine la présence de l'adresse H et
l'étape de traitement 488 positionne à zéro lés cinq emplace-
ments de mémoire qui sont associés au mot H. Par conséquent, le maximum mesuré, le minimum mesuré, la somme mesurée, le nombre d'incrément et les positions de décalage associés au mot H programmé sont remis à zéro.
La description qui précède montre que les princi-
pales sources d'intervention de l'opérateur dans un processus
d'usinage sont éliminées par la mise en oeuvre de l'inven-
tion. L'invention offre au programmeur non seulement la possibilité de positionner initialement la pièce sur la
machine, mais également la possibilité de déterminer la posi-
tion de caractéristiques de la pièce. En plus du positionne-
ment de la pièce sur la machine et de la mesure de la posi-
tion de surfaces de référence sur la pièce, on peut utiliser le cycle de mesure pour définir la position du centre d'un
trou ou d'un bossage.
Pour définir le centre réel d'un trou, on peut
exécuter un cycle d'exploration à partir d'un centre pro-
grammé supposé, dans une direction correspondant à un axe de mouvement, pour mesurer la position d'un point sur la circonférence. On exécute un autre cycle d'exploration dans la direction opposée, le long de l'axe, pour mesurer la position d'un autre point sur la circonférence. En incluant avec les instructions pour le cycle de mesure des instructions supplémentaires destinées à l'enregistrement de la position moyenne mesurée, on peut programmer un bloc
de décalage pour calculer un décalage à partir de la posi-
tion moyenne mesurée et l'addition de ce décalage à la position supposée du centre donne une position le long de l'axe qui représente le point milieu vrai entre les deux
points détectés sur la circonférence. En répétant la procé-
dure ci-dessus pour détecter deux autres points de la cir-
conférence, le long d'un autre axe de mouvement, on peut
définir la position réelle du centre du trou. On peut uti-
liser une procédure similaire pour localiser le centre
d'un bossage.
La sonde choisie par les inventeurs est capable de détecter des déformations de la pointe de sonde selon un axe quelconque parmi trois axes orthogonaux. En choisissant l'outil de coupe de façon appropriée, le module de commande de couple 66 peut détecter des charges correspondant à des couples générés par des contacts superficiels de l'outil de coupe avec des surfaces, dans n'importe quel plan, y compris les trois plans mutuellement perpendiculaires qui
sont définis par les trois mêmes axes orthogonaux.
En pratique, les cycles de mesure restreignent la
détection de surface à des plans uniques alignés parallèle-
ment aux plans qui sont définis par les axes de mouvement orthogonaux des coulisseaux de la machine. Par conséquent, un déplacement de mesure doit être programmé selon un seul
axe. Pour que les déplacements de mesure demeurent relative-
ment courts et pour être simultanément sûr que la position initiale du déplacement de mesure assure un dégagement de l'élément de détection par rapport à la surface, il existe
une fonction préparatoire pour la mise en action condition-
nelle de l'élément de détection, afin de faciliter le prépo-
sitionnement de la position initiale du déplacement de mesu-
re. Cette fonction protège l'élément de détection dans le cas o il heurte un obstacle, par exemple une bride de fixation inconnue du programmeur. Cette fonction permet en
outre la programmation de déplacements selon des axes multi-
ples et entraîne la génération d'un signal d'erreur lorsque
l'élément de détection détecte une surface pendant l'exécu-
tion de ces déplacements ne correspondant pas à des mesures.
Pour mettre en action l'élément de détection, on programme une instruction Gaa. Ensuite, tous les contacts avec une
surface qui sont détectés par l'élément de détection génè-
rent des erreurs jusqu'à ce que l'élément de détection soit
mis au repos par la programmation d'une fonction préparatoi-
re de mise au repos de l'élément de détection, Gdd, un cycle de mesure, ou une autre fonction de mise au repos générée par le traitement, par exemple une fin de programme, une restauration des données de commande, etc. La figure 8 est un organigramme qui illustre la nature conditionnelle des fonctions préparatoires de mise en action/mise au repos de l'élément de détection. Comme
2489200.
précédemment, le programme de préparation de données 86 décode et enregistre l'instruction Gaa provenant du bloc de données du programme. Sous la commande du programme de commande de cycle de machine 80, les programmes de commande de sortie 102 font avancer le traitement de blocs jusqu'à l'étape de traitement 500 de la figure 8, ce qui provoque la mise en action de l'élément de détection. L'interruption d'interface d'élément de détection actif est armée par le programme d'armement et de service d'interruption 110. Le
traitement passe à l'étape de traitement d'exécution de.
bloc 502 qui fait intervenir l'exécution des fonctions effectuées avant le déplacement, du déplacement et des fonctions effectuées après le déplacement, de la manière
décrite précédemment. L'exécution de ces fonctions est con-
ditionnée. par la réception de l'interruption d'élément de détection, conformément à l'étape de décision 504. Si une interruption apparaît, l'étape de traitement 506 interdit
le mouvement du coulisseau et elle positionne un indica-
teur d'erreur conformément au programme de service d'inter-
ruption 110 qui est associé à l'instruction Gaa. Le traite-
ment ne peut alors se poursuivre que si la condition d'erreur est supprimée ou volontairement négligée, comme
l'indique l'étape de décision 508. Si l'erreur est suppri-
mée ou négligée, l'étape de traitement 510 fait en sorte que le programme d'armement d'interruption d'élément de détection 110 réarme l'interruption d'interface d'élément
de détection actif.
Si aucune interruption d'élément de détection ne se produit, le traitement passe à l'étape de décision 512 qui détermine si l'exécution de bloc est terminée. Dans la négative, le traitement se poursuit par la boucle qui ramène à l'étape d'exécution de bloc 502. Une fois que l'exécution de bloc est terminée, la nature conditionnelle de la fonction Gaa est mise en évidence par les étapes de
décision 514, 518, 520 et 522. L'étape 514 teste l'existen-
ce d'une fin de programme, l'étape 518 teste l'existence de
la fonction préparatoire Gdd, mutuellement exclusive, déco-
dée dans des blocs de programme suivants, l'étape 520 teste l'existence de fonctions préparatoires d'annulation de cycle de mesure et l'étape 522 teste l'existence d'autres restaurations générées par le traitement. Si l'un quelconque de ces tests détecte la condition testée, le traitement se termine à l'étape 524 qui fait èn sorte que le programme d'armement et de service d'interruption 110 désarme
l'interruption d'interface d'élément actif. Si l'une quel-
conque des conditions testées n'est pas remplie, le traite-
ment passe aux étapes de décision suivantes et si aucune condition testée n'est remplie, le traitement se poursuit en passant à l'exécution de bloc, à l'étape de traitement
502. L'étape 516 montre que la condition active-de l'élé-
ment de détection est maintenue pendant l'exécution de blocs suivants du même programme, du fait que cette étape de traitement fait en sorte que le programme de commande
de-cycle de machine 80 charge des blocs de programme sui-
vants. à L'homme de l'art notera que les codes réels qui sont utilisés pour exécuter les fonctions précédentes dépendent du concepteur du système et des caractéristiques
d'une unité particulière de commande numérique à ordina-
teur. Par conséquent, les codes utilisés dans la descrip-
tion ci-dessus ne doivent pas être considérés comme limi-
tatifs. En outre, comme on l'a suggéré précédemment, on pourrait utiliser d'autres systèmes de mesure de force à
la place des éléments de détection décrits en détail ici.
De tels systèmes comprennent ceux capables de mesurer des charges sur les coulisseaux ou la broche de la machine, ou des déformations du porteoutil, etc.
Il va de soi que de nombreuses autres modifica-
tions peuvent être apportées au procédé décrit et représen-
té, sans sortir du cadre de l'invention.

Claims (11)

REVENDICATIONS
1. Procédé de mesure de la position réelle de sur-
faces d'une pièce et de modification de signaux d'ordre obtenus à partir d'un programme d'usinage définissant le fonctionnement d'une machine, cette machine comportant des
coulisseaux (12) qui se déplacent le long d'axes de mouve-
ment pour produire un mouvement relatif entre la pièce (14) et un porteoutil (15) auquel est associé un élément de détection (16), cette machine étant connectée à une unité de commande qui est destinée à enregistrer le programme d'usinage et à générer les signaux d'ordre pour commander
le mouvement relatif, caractérisé en ce que: (a) on enre-
gistre des instructions de programme d'exploration, en association avec le programme d'usinage, pour 'définir un cycle d'exploration afin de mesurer la position réelle d'une surface de référence de la pièce: (b) on génère des signaux d'ordre d'exploration pour positionner l'élément de détection face à un point sur la surface de référence;
(c) on génère des signaux d'ordre d'exploration supplémen-
taires pour déplacer l'élément de détection le long d'un axe de mouvement vers la surface de référence; (d) on arrUte le mouvement de l'élément de détection lorsque ce dernier détecte un point sur la surface de référence (e) on produit un signal de coordonnée définissant la position du point détecté le long de l'axe de mouvement (f) on répète les opérations (b) à (e) un nombre de. fois prédéterminé qui est défini par le cycle d'exploration pour mesurer la position d'un certain nombre de points différents, ce qui définit la position de la surface de référence; (g) on enregistre un certain nombre de signaux de coordonnée sélectionnés; et (h) on génère des signaux d'ordre modifiés sous l'effet des signaux de coordonnée sélectionnés et des signaux d'ordre obtenus à partir du
programme d'usinage, ces signaux d'ordre modifiés produi-
sant un mouvement relatif entre le porte-outil et la pièce conformément au programme d'usinage et indépendamment des
variations de la position de la surface de référence.
2. Procédé selon la revendication 1, caractérisé en ce que l'élément de détection consiste en une sonde actionnée par contact et les opérations consistant à arrêter le mouvement de l'élément de détection et à produire un signal de coordonnée comprennent en outre les étapes suivantes: (a) on arrête le mouvement de l'élément de détection lorsque ce dernier vient en contact avec un point sur la surface de référence; (b) on produit un signal de position initiale représentant la position du point sur la surface de référence, lorsque l'élément de détection vient en contact avec le point sur la surface de référence; (c) on génère sous l'effet du signal de position initiale un
signal d'ordre de retrait pour déplacer l'élément de détec-
tion le long de l'axe-de mouvement, jusqu'à une position
qui se trouve à une distance prédéterminée du c8té inté-
rieur de la surface de référence; (d) on génère un signal d'ordre d'acquisition de données pour déplacer l'élément de détection le long de l'axe de mouvement en l'éloignant
de la surface de référence avec une vitesse d'avance infé-
rieure prédéterminée; (e) on arrête le mouvement de l'élément de détection lorsque ce dernier perd le contact avec le point sur la surface de référence; (f) on produit un signal de coordonnée représentant la position du point
sur la surface de référence, le long de l'axe de mouve-
ment, lorsque l'élément de détection perd le contact avec la surface de référence; et (g) on génère sous l'effet du signal de coordonnée un signal d'ordre final'pour déplacer l'élément de détection le long de l'axe de mouvement, vers la surface de référence, jusqu'à une position adjacente au
point sur la surface de référence.
3. Procédé selon la revendication l caractérisé en ce que l'élément de détection consiste en un outil de coupe et l'unité de commande comprend un circuit de mesure de couple (68) qui réagit à l'outil de coupe en générant un signal de contact lorsque le couple de coupe qui est imposé à l'outil de coupe est au moins égal à une limite de couple prédéterminée représentant un contact superficiel de l'outil de coupe sur la pièce, et les opérations consistant
à arrêter le mouvement de l'élément de détection et à pro-
duire un signal de coordonnée comprennent en outre les étapes suivantes: (a) on arrête le mouvement de l'élément de détection sous l'effet du signal de contact; (b) on produit un signal de coordonnée représentant la position de l'outil de coupe, sous l'effet du signal de contact; et (c) on produit sous l'effet du signal de coordonnée un
signal d'ordre de retrait pour éloigner l'élément de détec-
tion de la surface de référence, le long de l'axe de mouve-
ment.
4. Procédé selon la revendication 1, caractérisé en ce que le programme d'usinage contient une valeur de référence qui représente un point défini à l'avance par rapport à la pièce et l'opération consistant à enregistrer des signaux de coordonnée sélectionnés comprend en outre les étapes suivantes (a) on génère un premier signal de décalage représentant la différence entre la valeur du signal de coordonnée courant et la valeur de référence
et (b) on enregistre le premier signal de décalage.
5. Procédé selon la revendication 1, caractérisé en ce que le programme d'usinage contient une valeur de référence représentant un point défini à l'avance par rapport à la pièce et l'opération consistant à enregistrer des signaux de coordonnée sélectionnés comprend en outre
les étapes suivantes: (a) on compare au cours de cha-
que itération un signal de coordonnée courant avec un
signal de coordonnée enregistré précédemment; (b) on enre-
gistre le plus grand des signaux de coordonnée, représen-
tant la position de coordonnée mesurée maximale sur la sur-
face de référence; (c) on génère un second signal de décalage représentant la différence entre la valeur du plus grand signal de coordonnée et la valeur de référence; et
(d) on enregistre le second signal de décalage.
6. Procédé selon la revendication 5, caractérisé
en ce que l'opération d'enregistrement de signaux de coor-
donnée sélectionnés comprend en outre les étapes sui-
vantes: (a) on compare au cours de chaque itération un signal de coordonnée courant avec un signal de coordonnée enregistré précédemment; (b) on enregistre le plus petit signal de coordonnée représentant la position de coordonnée mesurée minimale sur la surface de référence; (c) on génère un troisième signal de décalage représentant la différence entre la valeur du plus petit signal de coordon- née et la valeur de référence; et (d) on enregistre le
troisième signal de décalage.
7. Procédé selon la revendication 6, caractérisé en ce que l'opération d'enregistrement de signaux de coordonnée sélectionnés comprend en outre les étapes suivantes: (a) on additionne au cours de chaque itération un signal de coordonnée courant à une somme de signaux de coordonnée enregistrés précédemment, pour produire une somme des positions mesurées; (b) on enregistre le nombre
d'itérations; (c) on produit un signal de valeur de coor-
donnée moyenne représentant le quotient de la somme des valeurs des signaux de coordonnée enregistrés par le nombre d'itérations; (d) on génère un quatrième signal de décalage représentant la différence entre la valeur du signal de coordonnée moyenne et la valeur de référence
et (e) on enregistre le quatrième signal de décalage.
8. Procédé selon la revendication 7, caractérisé en ce qu'il comprend en outre les opérations suivantes: (a) on enregistre un programme d'exploration contenant des instructions de test qui définissent une limite supérieure représentant un maximum; (b) on compare l'un des signaux de décalage à la limite supérieure; et (c) on génère un signal d'erreur lorsque la valeur de l'un des signaux de
décalage dépasse la valeur de la limite supérieure.
9. Procédé selon la revendication 8, caractérisé en ce qu'il comprend en outre les opérations suivantes: (a) on enregistre un programme d'exploration contenant des instructions de test qui définissent une limite inférieure représentant un minimum; (b) on compare l'un des signaux de décalage à la limite inférieure; et (c) on génère un signal d'erreur lorsque la valeur de l'un des signaux de
décalage est inférieure à la valeur de la limite inférieu-
re.
2489ZOO
10. Procédé selon la revendication 9, caractérisé en ce que l'opération de génération de signaux d'ordre
modifiés comprend en outre l'étape qui consiste à modi-
fier au moyen de l'un des signaux de décalage les signaux d'ordre obtenus à partir du programme d'usinage.
11. Procédé selon la revendication 10, caracté-
risé en ce qu'il comprend en outre les opérations suivan-
tes: (a) on enregistre un programme d'exploration compre-
nant les instructions de test définissant une limite de référence; (b) on compare l'un des signaux de coordonnée enregistrés avec la limite de référence; et (c) on génère un signal d'erreur lorsque la valeur de celui des signaux de coordonnée enregistrés qui est comparé dépasse la limite
de référence.
FR8116709A 1980-09-02 1981-09-02 Procede de mesure de la position reelle de surfaces d'une piece sur une machine-outil a commande numerique Expired FR2489200B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/183,193 US4370721A (en) 1980-09-02 1980-09-02 Method for modifying programmed positions by using a programmably controlled surface sensing element

Publications (2)

Publication Number Publication Date
FR2489200A1 true FR2489200A1 (fr) 1982-03-05
FR2489200B1 FR2489200B1 (fr) 1986-08-14

Family

ID=22671833

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8116709A Expired FR2489200B1 (fr) 1980-09-02 1981-09-02 Procede de mesure de la position reelle de surfaces d'une piece sur une machine-outil a commande numerique

Country Status (5)

Country Link
US (1) US4370721A (fr)
JP (1) JPS5776609A (fr)
DE (1) DE3134315C3 (fr)
FR (1) FR2489200B1 (fr)
GB (1) GB2083658B (fr)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57114340A (en) * 1980-12-30 1982-07-16 Fanuc Ltd Thermal displacement compensation
JPS57113118A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
US4620281A (en) * 1981-09-22 1986-10-28 General Electric Company In-process cutting tool condition compensation and part inspection
US4432063A (en) * 1981-10-06 1984-02-14 Cincinnati Milacron Inc. Apparatus for automatically moving a robot arm along a nonprogrammed path
DE3150977A1 (de) * 1981-12-23 1983-06-30 Fa. Carl Zeiss, 7920 Heidenheim Verfahren und einrichtung zur ermittlung und korrektur von fuehrungsfehlern
US4535414A (en) * 1982-02-26 1985-08-13 Lemelson Jerome H Position indicating system and method
JPS58206364A (ja) * 1982-05-24 1983-12-01 Toshiba Mach Co Ltd 工作機械
US4542467A (en) * 1982-09-16 1985-09-17 Renishaw Electrical Limited Method of operating a machine tool with a sensing probe in order to gather positional data for the calculation of tool offset parameters
CA1184273A (fr) * 1982-09-23 1985-03-19 Kazuyoshi Yasukawa Appareil de commande de robot
JPS5969248A (ja) * 1982-10-12 1984-04-19 Okuma Mach Works Ltd 工具径自動計測補正方法
US4501094A (en) * 1982-11-22 1985-02-26 Western Gear Machinery Co. Workpiece profile-following control system for conditioning grinders
ATE26674T1 (de) * 1983-01-29 1987-05-15 Roland Man Druckmasch Vorrichtung zum ermitteln und auswerten von farbmessfeldern auf einem druckbogen.
JPS59140510A (ja) * 1983-02-01 1984-08-11 Mitsubishi Electric Corp 数値制御装置
DE3311526A1 (de) * 1983-03-30 1984-10-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., 8000 München Verfahren zum halbautomatischen programmieren von industrierobotern
JPS60189008A (ja) * 1984-03-07 1985-09-26 Shin Meiwa Ind Co Ltd 産業用ロボツト
US4696707A (en) * 1987-08-18 1987-09-29 The Ingersoll Milling Machine Company Composite tape placement apparatus with natural path generation means
US4750965A (en) * 1986-03-28 1988-06-14 The Ingersoll Milling Machine Company Adaptive control for tape laying head having natural path generation
GB8626499D0 (en) * 1986-11-06 1986-12-10 Busm Co Ltd Treating workpieces
DE3700617A1 (de) * 1987-01-10 1988-07-21 Dirk Leimbach Signalschranken-sicherheitsvorrichtung
US4796195A (en) * 1987-05-13 1989-01-03 Cincinnati Milacron Inc. Method for machining with improved accuracy
FR2620242B1 (fr) * 1987-09-09 1990-03-02 Snecma Procede d'utilisation d'un robot d'ebavurage
EP0308539A1 (fr) * 1987-09-25 1989-03-29 Waldrich Siegen Werkzeugmaschinenbau GmbH Méthode et dispositif pour orienter une surface concrète réelle, par exemple une forme, sur un système de coordonnées internes lui-même relatif à une machine mobile, en particulier à une machine à plusieurs axes pour la pose de bandes, ainsi qu'un système de positionnement
US4926345A (en) * 1988-03-25 1990-05-15 Hughes Aircraft Company Robotic component lead trimmer
US4969108A (en) * 1988-04-08 1990-11-06 Cincinnati Milacron Inc. Vision seam tracking method and apparatus for a manipulator
JP2619520B2 (ja) * 1989-03-10 1997-06-11 ファナック株式会社 トランスファーマシン用数値制御装置
DE4006949C5 (de) * 1990-03-06 2008-07-17 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum punktweisen Abtasten der Oberfläche eines Werkstücks
US5208763A (en) * 1990-09-14 1993-05-04 New York University Method and apparatus for determining position and orientation of mechanical objects
US5255199A (en) * 1990-12-14 1993-10-19 Martin Marietta Energy Systems, Inc. Cutting tool form compensaton system and method
US5387061A (en) * 1990-12-14 1995-02-07 The United States Of America As Represented By The United States Department Of Energy Parameter monitoring compensation system and method
US5339249A (en) * 1991-10-29 1994-08-16 Parker Hannifin Corporation Machine control system
CA2082790A1 (fr) * 1991-12-02 1993-06-03 R. David Hemmerle Systeme de maintenance automatise pour machines a commande numerique par ordinateur
CA2082708C (fr) * 1991-12-02 2004-01-13 James Edward Randolph Jr. Compensation de l'alignement et de l'inclinaison dans l'usinage de pieces
US5288209A (en) * 1991-12-19 1994-02-22 General Electric Company Automatic adaptive sculptured machining
EP0640231A4 (fr) * 1992-05-01 1995-11-02 Zev Galel Coupe selective autonome, procede et dispositif.
JPH068105A (ja) * 1992-06-29 1994-01-18 Komatsu Ltd 円筒形状加工装置
US5903459A (en) * 1996-06-06 1999-05-11 The Boeing Company Method for product acceptance by improving the accuracy of machines
US6681145B1 (en) 1996-06-06 2004-01-20 The Boeing Company Method for improving the accuracy of machines
US5949685A (en) * 1997-06-03 1999-09-07 The Boeing Company Real-time orientation of machine media to improve machine accuracy
US6052628A (en) * 1997-08-08 2000-04-18 Hong; Jaiwei Method and system for continuous motion digital probe routing
US6106204A (en) * 1997-09-05 2000-08-22 United Technologies Corporation Apparatus for forming the edge of an airfoil
US7394347B2 (en) * 1997-10-27 2008-07-01 World Wide Innovations, Llc Locking device for electronic equipment
US8963681B2 (en) 1997-10-27 2015-02-24 Direct Source International, Llc Operating control system for electronic equipment
EP1025468A4 (fr) * 1997-10-27 2003-07-16 Cady Darren J Dispositif de verrouillage pour outils et appareils
US6256546B1 (en) 1998-09-28 2001-07-03 General Electric Company System and method for numerical control processing of an in-processing part
US6745101B2 (en) * 2002-06-11 2004-06-01 The Boeing Company Deflection compensation for numerical controlled manufacturing
US7725206B2 (en) * 2003-11-12 2010-05-25 The Boeing Company System and method for manufacturing and after-market support using as-built data
CN100507778C (zh) * 2005-01-19 2009-07-01 三菱电机株式会社 定位装置及定位方法
US7366583B2 (en) * 2005-09-01 2008-04-29 General Electric Company Methods and systems for fabricating components
SE530700C2 (sv) * 2006-12-21 2008-08-19 Hexagon Metrology Ab Förfarande och anordning för kompensering av geometriska fel i bearbetningsmaskiner
EP2028439A1 (fr) * 2007-07-26 2009-02-25 Renishaw plc Appareil de mesure pouvant être désactivé
EP2018934A1 (fr) * 2007-07-26 2009-01-28 Renishaw plc Dispositif de mesure doté d'un module d'authentification
DE102007048588A1 (de) * 2007-10-01 2009-04-02 Eew Maschinenbau Gmbh Verfahren zum Nachbearbeiten eines extern vorgefertigten Formteils
US8387158B2 (en) * 2009-08-05 2013-02-26 The United States of America as represented by the Secretary of Commerce, the National Institute of Standards and Technology Laser guided tip approach with 3D registration to a surface
US8676373B2 (en) * 2011-02-23 2014-03-18 GM Global Technology Operations LLC Global offset compensation for a CNC machine
JP6130674B2 (ja) * 2013-01-15 2017-05-17 株式会社東芝 支援装置及び支援方法
CN104369052A (zh) * 2013-08-14 2015-02-25 鸿富锦精密工业(深圳)有限公司 加工治具、双轮廓加工系统及方法
US11178166B2 (en) * 2016-02-22 2021-11-16 The Regents Of The University Of California Information leakage-aware computer aided cyber-physical manufacturing
JP7417356B2 (ja) * 2019-01-25 2024-01-18 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2016547A1 (fr) * 1968-08-29 1970-05-08 Ibm
FR2023492A1 (fr) * 1968-11-18 1970-08-21 American Welding Manufac
FR2321373A1 (fr) * 1975-08-20 1977-03-18 Bendix Corp Procede et systeme pour transport automatique de pieces

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3628002A (en) * 1967-11-21 1971-12-14 Gen Electric On-machine inspection systems
US3623216A (en) * 1968-07-17 1971-11-30 Ikegai Iron Works Ltd Automatic tool position compensating system for a numerically controlled machine tool
US3641849A (en) * 1970-08-13 1972-02-15 American Welding Mfg Co Method and apparatus for calibrating the position of a tool and for gauging the dimensions of a workpiece
JPS5082488A (fr) * 1973-11-26 1975-07-03
US4061952A (en) * 1975-04-14 1977-12-06 Cranfield Institute Of Technology Computer-controlled machine tool
JPS604486B2 (ja) * 1976-10-22 1985-02-04 株式会社日立製作所 位置合わせ方法
DE2918249A1 (de) * 1979-05-05 1980-11-06 Goetze Ag Maschine zum vorzugsweise spanenden umfangsbearbeiten von unrunden werkstuecken, insbesondere kolbenringen
US4237408A (en) * 1979-08-10 1980-12-02 Cincinnati Milacron Inc. Method and apparatus for modifying the operation of a machine tool as a function of torque

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2016547A1 (fr) * 1968-08-29 1970-05-08 Ibm
FR2023492A1 (fr) * 1968-11-18 1970-08-21 American Welding Manufac
FR2321373A1 (fr) * 1975-08-20 1977-03-18 Bendix Corp Procede et systeme pour transport automatique de pieces

Also Published As

Publication number Publication date
GB2083658A (en) 1982-03-24
DE3134315A1 (de) 1982-04-08
DE3134315C3 (de) 1994-09-15
US4370721A (en) 1983-01-25
DE3134315C2 (fr) 1994-09-15
JPS5776609A (en) 1982-05-13
GB2083658B (en) 1984-09-12
FR2489200B1 (fr) 1986-08-14

Similar Documents

Publication Publication Date Title
FR2489200A1 (fr) Procede de mesure de la position reelle de surfaces d'une piece sur une machine-outil a commande numerique
JP4680176B2 (ja) 工作機械の制御方法、および、それに対する装置
JP6731478B2 (ja) 一体型の位置合わせプログラムプランニング及び編集機能を含む検査プログラム編集環境
FR2583671A1 (fr) Mouvement programme pour le retrait et le retour d'outil automatique en reponse a un seuil de perte de qualite
US7039493B2 (en) Numerical control apparatus
US4096770A (en) Method and apparatus for modifying the position of a machine slide to compensate for different following errors
US4597040A (en) Method of retracting and returning a tool from and to a workpiece during the machining of this workpiece by a numerically controlled machining device, and numerically controlled machining device for performing the method
US20190143470A1 (en) Servo tuning device and servo tuning method
FR2513161A1 (fr) Usinage d'un contour tridimentionnel dans une piece avec une machine a commande numerique
JP2003256009A (ja) Ncプログラムのための最適データ変換方法及び最適データ変換手段を備えた数値制御工作機械
FR2489199A1 (fr) Procede de detection de la presence d'une caracteristique d'une piece a usiner et de commande de la sequence d'execution d'un programme d'usinage
JPH05127730A (ja) 数値制御工作機械における干渉チエツク装置
US5970431A (en) Iconized DMIS
CN108829027A (zh) 执行程序生成方法及其装置、介质、终端
US20070169034A1 (en) System and method for generating a measuring program
EP0774701B1 (fr) Procédé et programme de commande numérique de machine-outil ainsi que commande numérique fonctionnant au moyen de ce programme
EP1170648A1 (fr) Méthode pour usiner une pièce
US5654618A (en) Process for the two-dimensional determination of a work-area contour for lathes
JP2000180106A (ja) ワーク加工装置及びコンピュータ読み取り可能な記録媒体
JPH05143145A (ja) 数値制御における送り速度制御方法
EP0177655B1 (fr) Procédé d'usinage d'un profil fini et dispositif de mise en oeuvre du procédé
JPH0653335B2 (ja) 数値制御プログラムの加工シミユレ−シヨン方式
KR100257611B1 (ko) 선삭 시스템 및 그의 공구경로 생성방법
US20230101718A1 (en) Three-dimensional shape measurement system and machine tool system
JP3955776B2 (ja) 数値制御工作機械と数値制御工作機械のデータ変換方法

Legal Events

Date Code Title Description
TP Transmission of property
TP Transmission of property