Comment les macros personnalisées simplifient le remplacement d'outil et la reprise des opérations en toute transparence
Certains programmeurs évitent d'utiliser des macros personnalisées parce qu'ils pensent que ces macros rendent plus difficile le redémarrage d'un programme à partir du milieu d'une opération d'usinage complexe. Cette préoccupation peut souvent être surmontée avec un peu de planification. En effet, les macros personnalisées rendent parfois plus facile le redémarrage du programme et l'exécution à partir du milieu de l'opération d'usinage d'un outil de coupe.
La technique dans cet article a été inspirée par Chad Kluth de Mid Valley Industries à Kaukuana, Wisconsin. Je l'aidais à résoudre un problème différent dans une macro personnalisée d'usinage de trous sur cercle de boulons. Je l'inclus ici car elle est pertinente pour notre discussion.
L'application de Kluth impliquait l'usinage de composants en acier 4140 très grands et durs utilisés dans l'industrie minière. Il avait besoin de percer jusqu'à 100 trous, chacun de 2 pouces de diamètre, autour d'un motif de cercle de boulons dans une face/bride ronde à une profondeur de 6 pouces. Comme vous pouvez l'imaginer, l'usure et la casse d'outil sont de gros problèmes. Même un foret avec de nouveaux inserts peut ne pas passer tout le cycle sans s'user — et le foret pourrait être au 90e trou quand il s'use. Pour empirer les choses, une inclusion dure dans la matière première pourrait causer la rupture du foret à tout moment.
Kluth utilise une macro personnalisée universelle de cercle de boulons capable d'effectuer plusieurs types d'opérations d'usinage de trous, y compris le perçage, le taraudage standard, le taraudage rigide, l'alésage et l'alésage de précision. Le problème original avait à voir avec le taraudage rigide. Étant une macro « universelle », la commande M29 devait ignorer le taraudage rigide si la machine effectuait toute autre opération. Pour résoudre ce problème, nous avons utilisé des variables locales « vacantes ».
Quant au saut de trous, un argument dans la commande d'appel spécifie le nombre de trous à sauter. Par exemple, si le foret s'use pendant le 90e trou, l'utilisateur doit définir cet argument à 89. Nous avons utilisé le mot K (mot L avec les anciens CNC FANUC) dans la commande de cycle préprogrammé pour spécifier si la machine doit sauter un trou. Si K est défini à zéro (K0), le trou est sauté. Si K est défini à un (K1), le trou est usiné.
Voici un exemple de programme contenant un exemple de commande d'appel :
- O0001
- N005 G90 S500 M03
- N010 G00 X0 Y0
- N015 G43 H01 Z0.1
- N020 G65 P9010 X0 Y0 Z0 C81.0 D6.0 R0.1 B12.0 A90.0 I100.0 F12.0 H89.0
- N025 G91 G28 Z0
- N030 M30
Ce sont les arguments obligatoires qui doivent être dans la commande d'appel :
- (X = centre X)
- (Y = centre Y)
- (Z = surface Z)
- (D = Profondeur du trou)
- (C = Cycle à utiliser — G81, G82, G83, G73 ou G84)
- (R = Position rapide Z)
- (B = Rayon du cercle de boulons)
- (A = Angle de début)
- (I = Nombre de trous)
- (F = Débit d'avance)
Ce sont les arguments qui ne sont requis que dans des cas spéciaux :
- (T = Requis avec G82 pour spécifier le temps de temps d'attente)
- (Q = Requis avec G73 ou G83 pour spécifier la profondeur de piquage)
- (M29.0 = Requis si taraudage rigide)
- (Sxxxx.x = Requis si taraudage rigide pour spécifier les tr/min de broche)
- (H = Requis si saut de trous pour spécifier le nombre de trous à sauter)
Voici la macro personnalisée :
- O9010 (Macro personnalisée universelle de cercle de boulons)
- #101=1 (Initialiser le compteur)
- #102=#1 (Initialiser l'angle actuel à A)
- #103=360 / #4 (Distance angulaire incrémentale entre les trous)
- #104=#26 + 0.1 (Plan d'approche rapide)
- #105=#26 - #7 (Position Z bas du trou)
- #32=1 (Compteur de trous sautés — utilisé si H est inclus dans la commande d'appel)
- N1 IF[#101 GT #4] GOTO 99 (Tester si fini d'usiner les trous)
- #110=#24 + COS[#102] * #2 (Position X pour le trou actuel)
- #111=#25 + SIN[#102] * #2 (Position Y pour le trou actuel)
- #33=1 (Valeur du mot K, défini à 1 au cas où le prochain trou serait usiné)
- IF[#11EQ#0] GOTO5 (Tester si H est inclus dans la commande d'appel)
- IF[#32GT#11] GOTO5 (Tester si fini de sauter les trous)
- #33=0 (Le prochain trou sera sauté)
- N5 M#13 S#19 (Non exécuté si #13 et #19 sont vacants)
- G#3 X#110 Y#111 R#104 Z#105 P#20 Q#17 F#9 K#33 (Usiner le trou actuel)
- G80 (Annuler le cycle)
- #101=#101 + 1 (Incrémenter le compteur)
- #102=#102 + #103 (Incrémenter l'angle actuel)
- #32=#32+1 (Incrémenter le compteur de trous sautés)
- GOTO 1 (Retourner au test)
- N99 M99 (Fin)
Voici un guide des éléments en gras dans la macro personnalisée :
- M#13 S#19 — Si un mot CNC contient une variable locale vacante, le CNC ignorera le mot. Lors de l'exécution du taraudage rigide, la commande d'appel doit inclure les mots M29.0 et Sxxxx.0 (S spécifie les tr/min pour le taraudage rigide). Si l'on fait une autre opération, les utilisateurs doivent laisser M et S hors de la commande d'appel.
- P#20 et Q#17 — Si l'utilisateur utilise l'alésage de précision (G82), il doit inclure T dans la commande d'appel pour spécifier le temps d'attente. Lors du perçage par piquage (G73 ou G83), les utilisateurs doivent inclure Q pour spécifier la profondeur de piquage.
- K#33 — FANUC a deux formats de programmation pour les cycles préprogrammés. Avec les CNC FANUC plus récents, K spécifie le nombre de trous en cours d'usinage. Les anciens CNC FANUC utilisent L pour le même but. Si cette macro personnalisée ne fonctionne pas (la machine ne saute pas les trous même si H est inclus dans la commande d'appel), changez le K#33 dans cette commande en L#33.
Équipement industriel
- Comment les outils Lean débloquent la fiabilité : Guide pratique
- Pourquoi l'équipement casse juste après maintenance : causes clés & stratégies de prévention
- Les technologies AR et VR transforment la formation, l'efficacité logistique et la précision d'assemblage
- Top 5 avantages de l'usinage CNC 5 axes sur mesure pour la fabrication de précision
- Outils de Relevage de Divots de Golf Personnalisés : Solutions Précises Imprimées en 3D pour un Jeu Supérieur
- Tour suisse 7 axes avancé : réduction de 40 % du temps mort et opérations plus rapides
- Logiciel PDV sur mesure : Booster l'efficacité retail & sublimer l'expérience client
- Libérez le Potentiel de Votre Entreprise avec Nos Services Premium d'Usinage Sur Mesure
- Pourquoi les pièces usinées sur mesure surpassent les pièces d'usine dans 4 domaines clés