#LyX 1.3 created this file. For more info see http://www.lyx.org/ \lyxformat 221 \textclass book \begin_preamble \usepackage{a4} \end_preamble \language frenchb \inputencoding default \fontscheme bookman \graphics default \paperfontsize 10 \spacing single \papersize Default \paperpackage a4 \use_geometry 0 \use_amsmath 0 \use_natbib 0 \use_numerical_citations 0 \paperorientation portrait \secnumdepth 5 \tocdepth 5 \paragraph_separation skip \defskip smallskip \quotes_language english \quotes_times 2 \papercolumns 1 \papersides 2 \paperpagestyle default \layout Chapter Cycles préprogrammés \layout Standard Les cycles préprogrammés G81 à G89 sont implémentés comme décrit dans cette section. \layout Standard Tous les cycles préprogrammés sont effectués dans le respect du plan de travail courant. N'importe lequel des trois plans de travail XY, YZ, ZX peut être choisi. Dans cette section, la plupart des descriptions supposeront que le plan de travail XY est le plan courant. Le comportement reste analogue pour les plans de travail YZ ou XZ. \layout Standard Les mots d'axes rotatifs sont autorisés (sous conditions) dans les cycles préprogrammés, mais il est préférable de les omettre. Si les mots d'axes rotatifs sont utilisés, leurs valeurs doivent rester les mêmes que celles de la position courante, de sorte qu'ils ne tournent pas. \layout Standard Tous les cycles préprogrammés utilisent X-, Y-, R-, et Z- dans le code NC. Ces valeurs sont utilisées pour déterminer les positions de X, Y, R, et Z. La position de R- (signifiant rétraction) est perpendiculaire au plan de travail courant (axe Z pour le plan XY, axe X pour le plan YZ, axe Y pour le plan XZ). Quelques cycles préprogrammés utilisent des arguments supplémentaires. \layout Standard Dans les cycles préprogrammés, un nombre est appelé \begin_inset Quotes eld \end_inset sticky \begin_inset Quotes erd \end_inset (collant) si, quand le même cycle est répété sur plusieurs lignes de code en colonne, le nombre doit être indiqué la première fois, mais qu'il devient optionnel pour le reste des lignes suivantes. Les nombres \begin_inset Quotes eld \end_inset sticky \begin_inset Quotes erd \end_inset conservent leur valeur tant qu'ils ne sont pas explicitement programmés avec une nouvelle valeur. La valeur de R- est toujours \begin_inset Quotes eld \end_inset sticky \begin_inset Quotes erd \end_inset . \layout Standard En mode de déplacements incrémentaux (G91): quand le plan courant est XY, les valeurs X-, Y-, est R- sont traitées comme incrémentales à partir de la position courante et Z- comme un incrément depuis la position précédent le mouvement impliquant l'axe Z. Quand le plan YZ ou XZ est le plan courant, le traitement des mots d'axes est analogue. En mode de déplacements absolus, les valeurs de X-, Y-, R-, et Z- sont des positions absolues dans le système de coordonnées courant. \layout Standard La valeur L- est optionnelle, elle représente le nombre de répétitions. L=0 n'est pas permis. Si les répétitions sont utilisées, elles le sont normalement en mode de déplacements incrémentaux, de sorte que la même séquence de mouvements puisse être répétée à plusieurs endroits, égalements espacés, le long d'un ligne droite. En mode de déplacements absolus, L>1 signifie \begin_inset Quotes eld \end_inset faire le même cycle au même endroit, plusieurs fois \begin_inset Quotes erd \end_inset . L'omission du mot L revient à spécifier L=1. La valeur de L- n'est pas \begin_inset Quotes eld \end_inset sticky \begin_inset Quotes erd \end_inset . \layout Standard Avec L>1 en mode incrémental et XY comme plan courant, les positions X et Y sont déterminées en ajoutant les valeurs X- et Y- de la commande à celles de la position courante, pour le premier trajet ou, ensuite, à celles de la position finale du précédent trajet, pour les répétitions. Les valeurs de R- et de Z- ne changent pas durant toutes les répétitions. \layout Standard La hauteur du mouvement de retrait à la fin de chaque répétition (appellée \begin_inset Quotes eld \end_inset plan de retrait \begin_inset Quotes erd \end_inset dans les descriptions suivantes) est déterminée par le passage en mode: retrait sur la position initiale de Z, si elle est au dessus de la valeur de R- et que le mode de retrait est G98, OLD_Z, sinon, à la position de R-. \layout Section Mouvement préliminaire \layout Standard Tout au début de l'exécution d'un cycle préprogrammé, avec le plan courant XY, si la position actuelle de Z est en dessous de la position de retrait R, l'axe Z va à la position R. Ceci n'arrive qu'une fois, sans tenir compte de la valeur de L. \layout Standard En plus, au début du premier cycle et à chaque répétition, un ou deux des mouvements suivants sont faits: \layout Standard 1. Un déplacement en ligne droite, parallèle au plan XY, vers le position programmée. 2. Un déplacement en ligne droite, de l'axe Z seul vers la position de retrait R, si il n'est pas déjà à cette position R. \layout Standard Si un des plans XZ ou YZ est actif, le mouvement préliminaire et intermédiaire est analogue. \layout Section G80 Révocation des codes modaux \layout Standard G80 \begin_inset LatexCommand \index{G80} \end_inset Programmer G80 pour s'assurer qu'aucun mouvement d'axe ne surviendra sans G-code modal. \layout Standard Dans l'interpréteur d'EMC, G80 est un code modal révoqué par tout autre g-code. Les résultats des lignes suivantes sont identiques: \layout Standard \family typewriter \size scriptsize N1000 G90 G81 X1 Y1 Z1.5 R2.8 (cycle préprogrammé en mode de déplacements absolus) \newline N1001 G80 (révoque G81) \newline N1002 G0 X0 Y0 Z0 (active les mouvements en vitesse rapide et déplace le mobile en X0, Y0 et Z0) \layout Standard produit le même déplacement et le même état final de la machine que: \layout Standard \family typewriter \size scriptsize N1000 G90 G81 X1 Y1 Z1.5 R2.8 (cycle préprogrammé en mode de déplacements absolus) \newline N1001 G0 X0 Y0 Z0 (active les mouvements en vitesse rapide et déplace le mobile en X0, Y0 et Z0) \layout Standard L'avantage du premier, la ligne du G80 révoque clairement le cycle G81. Avec ce premier programme, le programmeur doit revenir en mode mouvement avec G0, comme c'est fait sur la ligne suivante, ou tout autre mot G de mouvement. \layout Standard Exemple 0: Utilisation d'un cycle préprogrammé avec un code de mouvement modal \layout Standard Si un cycle préprogrammé n'est pas révoqué avec G80 ou un autre mot G de mouvement, le cycle préprogrammé attend de se répéter en utilisant le prochaine ligne de code contenant un (ou plusieurs) mot d'axe X, Y ou Z. Le fichier suivant perce (G81) un ensemble de huit trous. Noter la position de Z change après les quatre premiers trous. \layout Standard \noindent \align left \begin_inset Minipage position 0 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \align left \family typewriter \size scriptsize N100 G90 G0 X0 Y0 Z0 (coordonnées d'origine) \newline N110 G1 X0 G4 P0.1 \newline N120 G81 X1 Y0 Z0 R1 (cycle de perçage) \newline N130 X2 \layout Standard \align left \family typewriter \size scriptsize N140 X3 \newline N150 X4 \newline N160 Y1 Z0.5 \newline N170 X3 \newline N180 X2 \newline N190 X1 \newline N200 G80 (révocation du cycle G81) \newline N210 G0 X0 (mouvement en vitesse rapide) \newline N220 Y0 \newline N220 Z0 \newline N220 M2 (fin du programme) \end_inset \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G81mult.png width 2.5in \end_inset \end_inset \layout Standard L'utilisation de G80 à la ligne N200 est optionnel puisqu'il y a un G0 sur la ligne suivante qui révoque le cycle G81. Mais utiliser G80, comme l'exemple 1 le montre, donne une meilleure lisibilité au code du cycle préprogrammé. Sans lui, il est moins évident que les lignes entre N120 et N200 appartiennent au cycle G81. \layout Standard Si vous utilisez G80 et que vous ne placez pas un code de mouvement modal juste derrière vous pourrez avoir un de ces messages: \layout Quote \family typewriter \size footnotesize Cannot use axis commands with G80 \newline Coordinate setting given with G80 \layout Standard Ils servent à vous rappeler que vous devez écrire un nouveau mot de mouvement. \layout Section Cycle G81 \layout Standard Le cycle G81 \begin_inset LatexCommand \index{G81} \end_inset est destiné au perçage. \layout Standard 0. Un mouvement préliminaire, comme il a été traité ci-dessus. \layout Standard 1. Un déplacement de l'axe Z seul à la vitesse programmée, vers la position Z programmée. \layout Standard 2. Retrait de l'axe Z en vitesse rapide jusqu'au plan de retrait R. \layout Standard Exemple 1: G81 en position absolue \layout Standard Supposons que la position courante soit, X1, Y2, Z3 dans le plan XY, la ligne de codes suivante est interprétée: \layout Standard G90 G81 G98 X4 Y5 Z1.5 R2.8 \layout Standard Le mode de déplacements absolus est appelé (G90), le plan de retrait est positionné sur OLD_Z (G98), l'appel du cycle de perçage G81 va lancer ce cycle une fois. La position X deviendra celle demandée, X4. La position de Y deviendra celle demandée, Y5. La position de Z deviendra celle demandée, Z1.5. La valeur de R fixe le plan de retrait de Z à 2.8. La valeur de OLD_Z est 3. Les mouvements suivants vont se produire: \layout Standard 1. Un mouvement en vitesse rapide, parallèle au plan XY vers X4, Y5, Z3 \layout Standard 2. Un mouvement en vitesse rapide, parallèle à l'axe Z vers X4, Y5, Z2.8 \layout Standard 3. Un mouvement en vitesse travail, parallèle à l'axe Z vers X4, Y5, Z1.5 \layout Standard \added_space_bottom 0.3cm 4. Un mouvement en vitesse rapide, parallèle à l'axe Z vers X4, Y5, Z3 \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G81ex1.png \end_inset \end_inset \layout Standard Exemple 2: Supposons que la position courante soit, X1, Y2, Z3 dans le plan XY, la ligne de codes suivante est interprétée: \layout Standard G91 G81 G98 X4 Y5 Z-0.6 R1.8 L3 \layout Standard Le mode de déplacements incrémentaux est appelé (G91), le plan de retrait est positionné sur OLD_Z (G98), l'appel du cycle de perçage G81 demande 3 répétitions du cycle. La valeur demandée de X est 4, la valeur demandée de Y est 5, la valeur demandée de Z est -0.6 et le retrait R est à 1.8. La position initiale de X sera 5 (1+4), la position initiale de Y sera 7 (2+5), le plan de retrait sera positionné sur 4.8 (1.8+3) et Z positionné sur 4.2 (4.8-0.6). OLD_Z est à 3. \layout Standard Le premier mouvement en vitesse rapide le long de l'axe Z vers X1, Y2, Z4.8), puisque OLD_Z est inférieur au plan de retrait. \layout Standard La première répétition produira 3 mouvements. \layout Standard 1. Un déplacement en vitesse rapide, parallèle au plan XY vers X5, Y7, Z4.8 \layout Standard 2. Un déplacement en vitesse travail, parallèle à l'axe Z vers X5, Y7, Z4.2 \layout Standard 3. Un déplacement en vitesse rapide, parallèle à l'axe Z vers X5, Y7, Z4.8 \layout Standard La deuxième répétition produira 3 mouvements. La position de X est augmentée de 4 et passe à 9, la position de Y est augmentée de 5 et passe à 12. \layout Standard 1. Un déplacement en vitesse rapide, parallèle au plan XY vers X9, Y12, Z4.8 \layout Standard 2. Un déplacement en vitesse travail, parallèle à l'axe Z vers X9, Y12, Z4.2 \layout Standard 3. Un déplacement en vitesse rapide, parallèle à l'axe Z vers X9, Y12, Z4.8 \layout Standard La troisième répétition produira 3 mouvements. La position de X est augmentée de 4 et passe à 13, la position de Y est augmentée de 5 et passe à 17. \layout Standard 1. Un déplacement en vitesse rapide, parallèle au plan XY vers X13, Y17, Z4.8 \layout Standard 2. Un déplacement en vitesse travail, parallèle à l'axe Z vers X13, Y17, Z4.2 \layout Standard \added_space_bottom 0.3cm 3. Un déplacement en vitesse rapide, parallèle à l'axe Z vers X13, Y17, Z4.8 \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G81ex2.png \end_inset \end_inset \layout Standard Exemple 3 - G81 en position relative \layout Standard \added_space_bottom 0.3cm Supposons maintenant que vous exécutez le premier g81 de la ligne de code, mais de (0, 0, 0) plutôt que de (1, 2, 3). G90 G81 G98 X4 Y5 Z1.5 R2.8 Depuis OLD_Z est inférieur à la valeur de R, il n'ajoute rien au mouvement, mais puisque la valeur initiale de Z est inférieure à la valeur spécifiée dans R, un premier mouvement de Z sera effectué durant le mouvement préliminaire. \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G81.png \end_inset \end_inset \layout Standard Exemple 4 - G81 en absolu avec R > Z \layout Standard Il s'agit de la trajectoire pour le second block de code de g81. \layout Standard G91 G81 G98 X4 Y5 Z-0.6 R1.8 L3 \layout Standard \added_space_bottom 0.3cm Cette trajectoire commence en (0, 0, 0), l'interpréteur ajoute les valeurs initiales Z0 et R 1.8 et déplace le mobile en vitesse rapide vers cet emplacemen t. Après ce premier déplacement initial de Z, la répétition fonctionne de manière identique à celle de l'exemple 3 avec le mouvement final de Z à 0.6 en dessous de la valeur de R. \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G81a.png \end_inset \end_inset \layout Standard Exemple 5 - Position relative R > Z \layout Section Cycle G82 \layout Standard Le cycle G82 \begin_inset LatexCommand \index{G82} \end_inset est destiné au perçage. \layout Standard 0. Un mouvement préliminaire, comme il a été traité ci-dessus. \layout Standard 1. Un déplacement de l'axe Z seul en vitesse programmée, vers la position Z programmée. \layout Standard 2. Une temporisation de P secondes. \layout Standard 3. Retrait de l'axe Z en vitesse rapide jusqu'au plan de retrait R. \layout Standard Les mouvements du cycle G82 ressemblent à ceux de g81 avec une temporisation supplémentaire en fin de mouvement Z. La longueur de cette temporisation, exprimée en secondes, est spécifiée par un mot P# sur la ligne du G82. \layout Standard G90 G82 G98 X4 Y5 Z1.5 R2.8 P2 \layout Standard Sera équivalent à l'exemple 3 ci-dessus mais avec une temporisation de 2 secondes en fond de trou. \layout Section Cycle G83 \layout Standard Le cycle G83 \begin_inset LatexCommand \index{G82} \end_inset est destiné au perçage profond ou au fraisage avec brise-copeaux. Les retraits, au cours de ce cycle, dégagent les copeaux du trou et fragmentent les copeaux longs (qui sont fréquents lors du perçage dans l'aluminum). Ce cycle utilise la valeur Q qui représente un incrément \begin_inset Quotes eld \end_inset delta \begin_inset Quotes erd \end_inset le long de l'axe Z. \layout Standard 0. Un mouvement préliminaire, comme décrit précédemment. \layout Standard 1. Un mouvement de l'axe Z seul, en vitesse travail, sur la position la moins profonde entre, un incrément delta, ou la position de Z programmée. \layout Standard 2. Un mouvement en vitesse rapide au plan de retrait. \layout Standard 3. Une plongée en vitesse rapide dans le même trou, presque jusqu'au fond. \layout Standard 3. Répétition des étapes 2, 3 et 4 jusqu'à ce que la position programmée de Z soit atteinte à l'étape 2. \layout Standard 4. Un mouvement de l'axe Z en vitesse rapide vers le plan de retrait. \layout Section Cycle G84 \layout Standard Ce code n'est pas encore implémenté dans EMC2. Il est accepté mais son comportement n'est pas défini. Voir G33.1 \layout Standard The G84 \begin_inset LatexCommand \index{G84} \end_inset cycle is intended for right-hand tapping. \layout Standard 0. Preliminary motion, as described above. \layout Standard 1. Start speed-feed synchronization. \layout Standard 2. Move the Z-axis only at the current feed rate to the Z position. \layout Standard 3. Stop the spindle. \layout Standard 4. Start the spindle counterclockwise. \layout Standard 5. Retract the Z-axis at the current feed rate to clear Z. \layout Standard 6. If speed-feed synch was not on before the cycle started, stop it. \layout Standard 7. Stop the spindle. \layout Standard 8. Start the spindle clockwise. \layout Section Cycle G85 \begin_inset LatexCommand \index{G85} \end_inset \layout Standard Le cycle G85 est destiné à l'alésage, mais peut être utilisé pour le perçage ou le fraisage. \layout Standard 0. Un mouvement préliminaire, comme décrit précédemment. \layout Standard 1. Un déplacement de l'axe Z seul en vitesse travail, vers la position Z programmé e. \layout Standard 2. Retrait de l'axe Z en vitesse travail vers le plan de retrait. \layout Section Cycle G86 \begin_inset LatexCommand \index{G86} \end_inset \layout Standard Le cycle G86 est destiné à l'alésage. Ce cycle utilise la valeur P pour une temporisation en secondes. \layout Standard 0. Un mouvement préliminaire, comme décrit précédemment. \layout Standard 1. Un déplacement de l'axe Z seul en vitesse travail, vers la position Z programmé e. \layout Standard 2. Une temporisation de P secondes. \layout Standard 3. L'arrêt de rotation de la broche. \layout Standard 4. Retrait de l'axe Z en vitesse rapide vers le plan de retrait. \layout Standard 5. Reprise de la rotation de la broche dans la même direction que précédemment. \layout Section Cycle G87 \begin_inset LatexCommand \index{G87} \end_inset \layout Standard Ce code n'est pas encore implémenté dans EMC2. Il est accepté mais son comportement n'est pas défini. \layout Standard The G87 cycle is intended for back boring. \layout Standard The situation is that you have a through hole and you want to counter bore the bottom of hole. To do this you put an L-shaped tool in the spindle with a cutting surface on the UPPER side of its base. You stick it carefully through the hole when it is not spinning and is oriented so it fits through the hole, then you move it so the stem of the L is on the axis of the hole, start the spindle, and feed the tool upward to make the counter bore. Then you stop the tool, get it out of the hole, and restart it. \layout Standard This cycle uses I and J values to indicate the position for inserting and removing the tool. I and J will always be increments from the X position and the Y position, regardless of the distance mode setting. This cycle also uses a K value to specify the position along the Z-axis of the top of counterbore. The K value is an absolute Z-value in absolute distance mode, and an increment (from the Z position) in incremental distance mode. \layout Standard 0. Preliminary motion, as described above. \layout Standard 1. Move at traverse rate parallel to the XY-plane to the point indicated by I and J. \layout Standard 2. Stop the spindle in a specific orientation. \layout Standard 3. Move the Z-axis only at traverse rate downward to the Z position. \layout Standard 4. Move at traverse rate parallel to the XY-plane to the X,Y location. \layout Standard 5. Start the spindle in the direction it was going before. \layout Standard 6. Move the Z-axis only at the given feed rate upward to the position indicated by K. \layout Standard 7. Move the Z-axis only at the given feed rate back down to the Z position. \layout Standard 8. Stop the spindle in the same orientation as before. \layout Standard 9. Move at traverse rate parallel to the XY-plane to the point indicated by I and J. \layout Standard 10. Move the Z-axis only at traverse rate to the clear Z. \layout Standard 11. Move at traverse rate parallel to the XY-plane to the specified X,Y location. \layout Standard \added_space_bottom 0.3cm 12. Restart the spindle in the direction it was going before. \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Minipage position 0 inner_position 1 height "1in" width "50col%" collapsed false \layout Standard \noindent \align left \begin_inset Graphics filename G87pre.png \end_inset \end_inset \layout Standard Exemple 6 - Backbore \layout Standard Example six uses a incremental distances from (0, 0, 0) so the preliminary moves look much like those in example five but they are done using the G87 backbore canned cycle. \layout Standard G91 G87 M3 S1000 X1 Y1 Z-0.4 R1.4 I-0.1 J-0.1 K-0.1 \layout Standard \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard You will notice that the preliminary moves shift the tool to directly above the center axis of the existing bore. \layout Standard Next it increments that location by the I and J values. I offsets X with a plus value being added to the current X. J does the same for the Y axis. \layout Standard For our example block both I and J are negative so they move back from the hole axis along the path just made by the tool. The amount of offset required should be just enough that the tool tip will slide down through the bore. \end_inset \layout Standard \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G87s1.png width 2in \end_inset \end_inset \layout Standard \added_space_bottom 0.3cm \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard Next the canned cycle moves the tool down in z and at the bottom location represented in the block by the Z 0.4 value it moves the tool back to the center of the bore. \end_inset \layout Standard \added_space_bottom 0.3cm \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G87s5.png width 2in \end_inset \end_inset \layout Standard Now the g87 canned cycle turns the spindle on and moves back up into the bore at the programmed feed rate. This is the real cutting action of this canned cycle. With the proper tool in a boring bar this cycle will produce a chamfer on the bottom side of the bore. G87 can also be used to produce a larger diameter bore on the bottom side of the bore. \layout Standard \added_space_bottom 0.3cm \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard When the tool has reached the K position it is returned to the bottom location, the spindle is stopped and oriented and follows the earlier path back out of the bore to the initial position above. \end_inset \layout Standard \added_space_bottom 0.3cm \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G87s12.png width 2in \end_inset \end_inset \layout Standard This canned cycle assumes spindle orientation which has not been implemented in the EMC to date. The proper alignment of the tool tip to the oriented spindle is critical to the successful insertion of the tool through the hole to be backbored. \layout Section Cycle G88 \layout Standard Ce code n'est pas encore implémenté dans EMC2. Il est accepté mais son comportement n'est pas défini. \layout Standard The G88 \begin_inset LatexCommand \index{G88} \end_inset cycle is intended for boring. This cycle uses a P value, where P specifies the number of seconds to dwell. \layout Standard 0. Preliminary motion, as described above. \layout Standard 1. Move the Z-axis only at the current feed rate to the Z position. \layout Standard 2. Dwell for the given number of seconds. \layout Standard 3. Stop the spindle turning. \layout Standard 4. Stop the program so the operator can retract the spindle manually. \layout Standard 5. Restart the spindle in the direction it was going. It is unclear how the operator is to manually move the tool because a change to manual mode resets the program to the top. We will attempt to clarify that step in this procedure. \layout Section Cycle G89 \layout Standard Le cycle G89 \begin_inset LatexCommand \index{G89} \end_inset est destiné à l'alésage. Il utilise la valeur de P pour une temporisation en secondes. \layout Standard 0. Un mouvement préliminaire, comme décrit précédemment. \layout Standard 1. Un déplacement de l'axe Z seul en vitesse travail, vers la position Z programmé e. \layout Standard 2. Temporisation de P secondes. \layout Standard 3. Retrait de l'axe Z en vitesse travail vers le plan de retrait. \layout Section Options G98 et G99 \layout Standard Quand la broche se rétracte pendant les cycles préprogrammés, il existe deux options pour indiquer comment elle se rétracte: (1) Retrait perpendiculair e au plan de travail courant jusqu'à la position indiquée par le mot R, ou (2) Retrait perpendiculaire au plan de travail courant jusqu'à la position qui était celle de cet axe juste avant le début du cycle préprogrammé (à moins que cette position ne soit inférieure à celle indiquée par le mot R, auquel cas, c'est cette dernière qui serait utilisée. \layout Standard \added_space_bottom 0.3cm \align left Pour utiliser l'option (1), programmer G99 \begin_inset LatexCommand \index{G99} \end_inset . Pour utiliser l'option (2), programmer G98 \begin_inset LatexCommand \index{G98} \end_inset . Ne pas oublier que le mot R a différentes significations en mode de déplacement absolu et en mode de déplacement incrémental. \layout Standard \added_space_bottom 0.3cm \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G81g98d.png width 2in \end_inset \end_inset \layout Standard \added_space_bottom 0.3cm \align left Utilisation de G98 \layout Standard \added_space_bottom 0.3cm \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename G81ret.png width 2in \end_inset \end_inset \layout Standard Utilisation de G99 \layout Section Pourquoi utiliser les cycles préprogrammés ? \layout Standard Il y a au moins deux raisons, la première est l'économie de code. Un simple trou demande plusieurs lignes de code pour être exécuté. \layout Standard Exemple 7: Nous avons montré plus haut, comment les cycles préprogrammés peuvent être utilisés pour produire 8 trous avec dix lignes de code. Le programme ci-dessous permet de produire le même jeu de 8 trous en utilisant cinq lignes pour le cycle préprogrammé. Il ne suit pas exactement le même parcours et ne perce pas dans le même ordre que l'exemple précédent, mais le programme a été écrit de manière économique, une bonne pratique qui devrait être courante avec les cycles préprogrammés. \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \align left Exemple 7 - perçage de huit trous, réécrit. \layout Standard \align left \family typewriter \size footnotesize n100 g90 g0 x0 y0 z0 (coordonnées d'origine) \layout Standard \align left \family typewriter \size footnotesize n110 g1 f10 x0 g4 p0.1 \layout Standard \align left \family typewriter \size footnotesize n120 g91 g81 x1 y0 z-1 r1 l4(cycle de perçage) \layout Standard \align left \family typewriter \size footnotesize n130 g90 g0 x0 y1 \layout Standard \align left \family typewriter \size footnotesize n140 z0 \layout Standard \align left \family typewriter \size footnotesize n150 g91 g81 x1 y0 z-.5 r1 l4(cycle de perçage) \layout Standard \align left \family typewriter \size footnotesize n160 g80 (révocation du cycle G81) \layout Standard \align left \family typewriter \size footnotesize n170 m2 (fin du programme) \end_inset \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename Eight.png width 2in \end_inset \end_inset \layout Standard \added_space_bottom 0.3cm \noindent \align left Exemple 8 - Douze trous dans un carré \layout Standard \added_space_bottom 0.3cm \noindent \align left Cet exemple montre l'utilisation du mot L pour répéter une série incrémentale de cycles de perçage pour des blocks de code successifs dans le même mode mouvements G81. Ici, nous produisons 12 trous au moyen de cinq lignes de code dans le mouvement modal. \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \family typewriter \size small N1000 G90 G0 X0 Y0 Z0 (coordinées d'origine) \newline N1010 G1 F50 X0 G4 P0.1 \newline N1020 G91 G81 X1 Y0 Z-0.5 R1 L4 (cycle de perçage) \newline N1030 X0 Y1 R0 L3 (répétition) \newline N1040 X-1 Y0 L3 (répétition) \newline N1050 X0 Y-1 L2 (répétition) \newline N1060 G80 (révocation du cycle G81) \newline N1070 G90 G0 X0 (retour vers l'origine en vitesse rapide) \newline N1080 Y0 \newline N1090 Z0 \newline N1100 M2 (fin du programme) \end_inset \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Minipage position 1 inner_position 1 height "1pt" width "50col%" collapsed false \layout Standard \begin_inset Graphics filename Twelve.png width 2in \end_inset \end_inset \layout Standard \added_space_bottom 0.3cm \noindent \align left La deuxième raison d'utiliser les cycles préprogrammés, c'est qu'il produisent un mouvement préliminaire et retournent à une position prévisible et contrôlabl e, quel que soit le point de départ du cycle. \layout Standard \added_space_bottom 0.3cm \noindent \align left \begin_inset Note collapsed true \layout Standard Credits \layout Standard This page is a rather direct rip off of the relevant portion of the RS274NGC/RS2 74VGER documents from NIST. Thanks also to Dan Falck, Ron Wickersham, and Jon Elson for their comments on portions of this page. \layout Standard This page is maintained by Ray Henry Your comments and criticisms are welcome. \end_inset \the_end