CNC – Lathe Manual

Views:
 
     
 

Presentation Description

CNC Programming For Lathe Including model Programs Thank you for downloading

Comments

Presentation Transcript

CNC – Lathe Manual: 

CNC – Lathe Manual Prepared by M.Ganesh Murugan

LIST OF G CODES: 

LIST OF G CODES G-CODE MODEL GROUP FUNCTION G00* 1 Modal Positioning (Rapid Traverse) G01 1 Modal Linear Interpolation (Feed) G02 1 Modal Circular Interpolation CW G03 1 Modal Circular Interpolation CCW G04 0 Non-modal Dwell G20 6 Modal Inch Data Input G21* 6 Modal Metric Data Input G28 0 Non-modal Reference Point Return G40* 7 Modal Tool Nose Radius Compensation Cancel G41 7 Modal Tool Nose Radius Compensation Left G42 7 Modal Tool Nose Radius Compensation Right G50 0 Non-modal Work Co-ordinate Change/Max. Spindle Speed setting G70 0 Non-modal Finishing Cycle G71 0 Non-modal Stock Removal in Turning – X G72 0 Non-modal Stock Removal in Facing – Z G73 0 Non-modal Pattern Repeating G74 0 Non-modal Peck Drilling in Z Axis G75 0 Non-modal Grooving in X Axis G76 0 Non-modal Multiple Thread Cutting Cycle G81 1 Modal Deep hole drilling (No FANUC) G90 1 Modal Diameter Cutting Cycle A (Outer/Inner) G92 1 Modal Thread Cutting Cycle G94 1 Modal Cutting Cycle B (End Face Cycle) G96 2 Modal Assessed Surface Speed Control G97* 2 Modal Assessed Surface Speed Control Cancel G98* 11 Modal Feed Per Minute G99 11 Modal Feed Per Revolution

AXIS NOMENCLATURE: 

AXIS NOMENCLATURE a) Manual Mode From a point Moving Towards spindle Z-ve Moving away from spindle Z+ve Moving up X +ve Moving down X-ve

AXIS NOMENCLATURE: 

AXIS NOMENCLATURE b) Auto Mode From work piece zero point Moving left (towards spindle) Z-ve Moving right (away from spindle)Z+ve Moving above spindle center line X+ve Moving below spindle center line X–ve

G00 (Rapid Positioning / Traverse): 

G00 (Rapid Positioning / Traverse) The G00 code executes a non cutting movement, at a rapid feedrate, to a specific co-ordinate position in the working area (absolute co-ordinate movement) or when a certain distance from a previously stated position (incremental co-ordinate movement) is programmed A G00 command is written in the following format: G00 X _ _ _ _ Z _ _ _ _ ; where, X, Z are the X and Z axis co-ordinate values

G01 (Linear Interpolation): 

G01 (Linear Interpolation) The G01 code executes a cutting movement following a straight line, at a set feedrate A G01 command is written in the following format: G01 X(or U) _ _ _ _ Z(orW) _ _ _ _ ; where, X(orU) _ _ _ _ Z(orW) Note: Programmed in absolute values as X and Z, or Incremental values as U and W are the X, and Z axis co-ordinate values

Example: 

Example 1001 N05 G20 G40 N10 T0101 N15 M03 N20 G01 X2.375 M08 N22 Z0.1 N25 G01 Z-2.0 F0.015 N30 G01 X2.5 N35 Z0.1 N40 X2.25 N45 G01 Z-1.75 N50 G01 X2.375 N55 Z0.1 N60 X2.125 N65 G01 Z-1.5 N70 G01 X2.25 N75 Z0.1 N80 X1.875 N85 G01 Z0 N90 X2.125 Z-0.125 N95 G01 X4 M09 N100 Z3 N105 T0100 M05 N110 M30

G02 / G03 (Circular Interpolation): 

G02 / G03 (Circular Interpolation) The G02 code executes a cutting movement following a clockwise circular path, at a set feedrate The G03 code executes a cutting movement following an anticlockwise circular path, at a set feedrate A G02 command is written in the following format: G02 X (U) _ _ Z (W) _ _ R _ _; Absolute position (X, Z), the value is the dimension of the end point of the arc Incremental position (U, W), the co-ordinate of the end point is the distance the tool moves from the start position of the arc

G02 / G03 (Circular Interpolation): 

G02 / G03 (Circular Interpolation)

Example: 

Example G02 - Circular G03 - Circular N05 G20 G40 (TOOL/STANDARD,5,80,0,10,0) (STOCK/2.1,2.1,0,-0.1) N10 T0202 N15 M03 N20 G01 X1.75 N22 G01 Z0.1 M08 N25 G01 Z-0.5 F0.012 N30 G01 X2 N35 G01 Z0.1 N40 G01 X1.4 N45 G01 Z-0.25 N50 G01 X2.1 N55 G01 Z-1 N60 G01 X2 N65 G02 X0 Z0 I-1 K0 N70 G00 X2.1 N75 G01 Z-1 N80 G01 X2 N85 G02 X2 Z-2 I0.5 K-0.5 N90 G00 X4 Z3 M09 N95 T0200 M05 N100 M30 (TOOL/STANDARD,5,60,0.1,2,0) N05 G20 G40 (STOCK/2,2,0,0) N10 T0202 N15 M03 N20 G42 G01 X1.75 N22 G01 Z0.1 M08 N25 G01 Z-0.5 F0.012 N30 G01 X2 N35 G01 Z0.1 N40 G01 X1.4 N45 G01 Z-0.25 N50 G01 X1.5 N55 G01 Z0.1 N60 G01 X0 N65 G01 Z0 N70 G03 X2 Z-1 I0 K-1 N75 G01 Z-2 N80 G03 X2 Z-1 I0.5 K0.5 N85 G01 X4 Z3 M09 N90 T0200 M05 N95 M30

G04 (Dwell): 

G04 (Dwell) The G04 code is used to enter a set time delay into the program A G04 command is written in the following format: G04 X _ _ _ _ ; or G04 U _ _ _ _ ; or G04 P _ _ _ _ ; where, The dwell value is programmed using the address letters X (time in seconds), U (time in seconds) or P (time in 1/1000 seconds), followed by a number indicating this dwell value For example : G04 X1.0 ; This command is read perform a dwell of 1 second duration G04 U1.5 ; This command is read perform a dwell of 1.5 seconds duration G04 P2000 ; This command is read perform a dwell of 2 seconds duration

Example: 

Example N05 G20 G40 G90 (TOOL/DRILL,1,112,50) (STOCK/4,4,0,-0.125) N10 T0808 N15 M03 N20 G01 X0 N25 G01 Z0.125 N30 G01 Z-2.0 F0.015 N35 G04 P500 N40 G00 Z3 N45 X4 N50 T0800 M05 N55 M30

G20 / G21(Inch/Metric Data Input): 

G20 / G21(Inch/Metric Data Input) The machine controller can be programmed in either Imperial (inch) unit input (G20) or Metric (millimetre) unit input (G21). The standard format for a CNC part program is to write the G20 or G21 code in the first block of the program The unit systems of the following items are changed depending on whether G20 or G21 is set : 1) Positioning commands (X and Z) 2) Incremental movement distances 3) Feedrates commanded by the F code 4) Offset values G Code Type Units Lowest Input Value G20 Imperial Inch 0.0001 inch G21 Metric Millimetre 0.001 mm

Tool Nose Radius Offset: 

Tool Nose Radius Offset

Tool Nose Radius Offset: 

Tool Nose Radius Offset

G50 (Clamping Max. Spindle Speed): 

G50 (Clamping Max. Spindle Speed) G50 S_ _ _ _ specifies the maximum spindle speed for constant surface speed control, measured in r.p.m When the spindle speed in the constant surface speed control reaches the figure specified by the program the spindle is clamped and this speed becomes the maximum value Format to specify the address G50 S_ _ _ _

G96 (Constant Surface Speed Control): 

G96 (Constant Surface Speed Control) If surface speed (relative spbetween tool and billet) is set after the address S __ , the spindle speed is calculated so that the surface speed is always the specified value in relation to the tool positioneed The units used will depend on whether the machine is operating using metric or imperial measurements A G96 command for surface speed control is written in the following format: G96 S __ ; where, S __ is the surface speed (M/Min or Feet/Min) Input Unit. Surface Speed Unit Metric - Millimetre. Metres per Minute, M/Min. Imperial - Inches Feet per Minute, Feet/Min G96 Constant surface speed (CSS) Varies spindle speed automatically to achieve a constant surface speed Takes an S address integer, which is interpreted as sfm in G20 mode or as m/min in G21 mode

G97 (Spindle Speed in Rev/Minute): 

G97 (Spindle Speed in Rev/Minute) The G97 command allows a spindle speed written in the units, revs per minute, to be entered into the machine controller. All subsequent spindle speeds are defined in revs per minute, after the original read-in of the command G97. If a change of spindle speed is required within a program, only the S __ value needs to be entered. A G97 command for spindle speed control is written in the following format: G97 S __ ; where, S __ is the spindle speed, written in the format revs per minute G96, of course, specifies constant surface speed mode, while G97 specifies rpm mode. In constant surface speed mode, the spindle speed in rpm is automatically determined by the CNC control based upon the diameter a tool is currently cutting and the speed specified in surface feet per minute (or meters per minute in metric mode). This mode is only used for single point turning tools (boring bars, turning tools, grooving tools, etc.), when diameters to be machined change substantially throughout the workpiece. There are (at least) four benefits to using constant surface speed mode for appropriate applications

G98 (Feed per minute): 

G98 (Feed per minute) The G98 command allows a feedrate written in the units, millimeters per minute or inches per minute, to be entered into the machine controller All subsequent feedrate are defined in the chosen units, after the original read-in of the command G98 If a change of feedrate is required within a program, only the F __ value needs to be entered A G98 feedrate command is written in the following format: G98 F _ _; where, F _ _ is the feedrate, written in the format millimeters per minute or inches per minute

G99 (Per Revolution Feed): 

G99 (Per Revolution Feed) The G99 command allows a feedrate written in the units, millimeters per revolution or inches per revolution, to be entered into the machine controller All subsequent feedrate are defined in the chosen units, after the original read-in of the command G99 If a change of feedrate is required within a program, only the F _ _ value needs to be entered A G99 feedrate command is written in the following format: G99 F _ _; where, F _ _is the feedrate, written in the format millimeters per revolution or inches per revolution

G90 (Outer / Internal Dia. Cutting Cycle): 

G90 (Outer / Internal Dia. Cutting Cycle) The command G90 performs a one pass cutting cycle, where the cut is applied in the X axis. Also, by using the command R __ within the G90 block, tapers can be generated If the one pass move needs to be repeated, only the values that change (ie, movement dimensions) need to be entered in the next block A G90 command for taper cutting is written in the following format G90 X (U) __ Z (W) __R __ F __ where, R __ is the dimension defining taper angle F __ is the feed rate

Taper: 

Taper The sign of R depends on the cutting direction of path "P1" - in the above program, R is entered as a minus value The G90 taper cut command can be used for both internal and external cutting operations

G94 (End/Taper Face Turning Cycle): 

G94 (End/Taper Face Turning Cycle) The G94 command performs a one pass face cutting cycle, where the cut is applied in the Z axis If a repartition of the move is required, only the values that change need to be entered into the next block

G71 (Stock Removal in X Axis): 

G71 (Stock Removal in X Axis) The G71 code commands a multiple repetitive cycle, sometimes referred to as a canned cycle This G71 cycles are used within a CNC program to simplify programming, since only the dimensions describing the required component profile are required. The CNC control will then generate the roughing cuts needed to make this component profile, from within its own memory. Format: G71 U_ _R_ _ G71 P_ _Q_ _U_ _W_ _F_ _ where, U is the depth of cut in the X axis (Radius value) R is the escaping amount (Retract) P is the sequence number of the first block of the programmed finished shape. Q is the sequence number of the last block of the programmed finished shape. U is the distance and direction of the finishing allowance in the X axis (Diameter value). W is the distance and direction of the finishing allowance in the Z axis. F is the feedrate for Roughing

Example: 

Example (TOOL/STANDARD,15,60,0,10,0) (COLOR,255,255,255) G21 G98 F98; G50 S5900; (STOCK/100,100,0,0.0) G96 S987; G00 X100 Z1; G71 U2. R1.0; G71 P7 Q12 U2.5 W2.5 F12 S500; N7 G00 X0 Z0; N8 X30 Z0; N9 X30 Z-30; N10 X60 Z-60; N11 X60 Z-90; N12 X100 Z-90; M30

G72 (Stock Removal in Facing): 

G72 (Stock Removal in Facing) The G72 code commands a multiple repetitive cycle, sometimes referred to as a canned cycle. The G72 cycle is similar to the G71 cycle except that the cut is applied in the Z axis A G72 command is written in the following format G72 W _ _R _ _ G72 P_ _Q _ _U _ _W _ _F _ _ where, W is the depth of cut in the Z axis. R is the escaping amount (Retract). P is the sequence number of the first block of the programmed finished shape. Q is the sequence number of the last block of the programmed finished shape. U is the distance and direction of the finishing allowance in the X axis. W is the distance and direction of the finishing allowance in the Z axis. F is the feedrate for Roughing

Example: 

Example G21 G42 G50 S1000; (STOCK/95,100,0,0) (TOOL/STANDARD,15,60,1,20,0) M06 T0101; M03 G96 S950; G01 X110 Z2; G72 W1.0 R1; G72 P100 Q150 U1.0 W1.0 F52.0; N100 X100 Z-50; N110 X50 Z-50; N120 X30 Z-30; N130 X10 Z-30; N140 X10 Z-0; N150 X0 Z0; M09 M05; M30;

G73 (Pattern Repeating): 

G73 (Pattern Repeating) The function of the G73 canned cycle is to permit the cutting of a programmed profile repeatedly. It is mainly used for machined parts where the rough shape has already been formed by either rough machining, forging or casting G73 U _ _W _ _R _ _; G73 P _ _Q _ _U _ _W _ _F _ _; The definitions of P _ _,Q _ _,U _ _,W _ _ and F _ _are the same as those in the G71 and G72 code explanations where, U – X axis distance and direction of relief W – Z axis distance and direction of relief R – Number of cutting Divisions P is the sequence number of the first block of the programmed finished shape Q is the sequence number of the last block of the programmed finished shape U is the distance and direction of the finishing allowance in the X axis (Diameter value) W is the distance and direction of the finishing allowance in the Z axis F is the feedrate for Roughing

Example: 

Example G21 G42; (TOOL/STANDARD,15,50,0,18,0) (STOCK/90,120,0,0) M06 T0101; M03 G50 S1200; G96 S850; G00 X120 Z4; G73 U10.0 W5.0 R9.0; G73 P100 Q160 U.2 W.5 F41.5; N100 X30 Z1; N110 X30 Z-30; N120 X60 Z-45; N130 X60 Z-60; N140 X80 Z-60; N150 X100 Z-80; N160 X120 Z-80 M05 M09; M30;

G70 (Finishing Cycle): 

G70 (Finishing Cycle) After part profile rough cutting has been completed, using the G71, G72 or G73 codes, the G70 code can be used to perform a finishing cut/pass A G70 finishing pass command is written in the following format G70 P _ _Q _ _ where, P is the sequence number of the start block for the finishing pass. Q is the sequence number of the last block for the finishing pass

Example: 

Example G21 G42 G50 S1000; (STOCK/95,100,0,0) (TOOL/STANDARD,15,60,1,20,0) M06 T0101; M03 G96 S950; G01 X110 Z2; G72 W1.0 R1; G72 P100 Q150 U1.0 W1.0 F52.0; N100 X100 Z-50; N110 X50 Z-50; N120 X30 Z-30; N130 X10 Z-30; N140 X10 Z-0; N150 X0 Z0; M09 M05; (TOOL/STANDARD,15,60,1,22,0) M06 T0202; G42 G96 S900; G70 P100 Q150 F25; G00 X105 Z2; M30;

G92 (Thread Cutting Cycle): 

G92 (Thread Cutting Cycle) The G92 command performs a one pass threading cycle. Only the X (U) axis moves need to be entered in subsequent blocks, after the original read-in of the G92 command A G92 command for straight thread cutting is written in the following format G92 X (U) _ _Z (W) _ _ F (Lead) _ _; where, F Lead is the threading lead feedrate

Example: 

Example G21 G42 (TOOL/STANDARD,19,58,0,15,0) (STOCK/50,101,0,0) M06 T0101; M03 G96 S1000; G00 X100 Z2; G01 X100 Z0; G71 U2.0 R1.0 G71 P1 Q4 U.5 W.5 F12.0 N1 X50 Z0 N2 X50 Z-30 N3 X75 Z-45 N4 X100 Z-45 G70 P1 Q4 G01 X50 Z0 (TOOL/THREAD,60,40,15,90) M06 T0202 G96 S1500 G99 F1.5 G92 X50 Z-30 F1.5 X49 X48 X47 M30;

Example: 

Example G21 G42; (TOOL/STANDARD,15,56,0,20,0) (STOCK/40,30,0,0) M06 T0101; G97 S1540; G00 X30 Z0; G94 X0 Z0; Z-1; Z-2; (TOOL/THREAD,60,50,10,90) M03 T0202; G92 X30 Z-25 F1.5; X29; X28; G00 U1 Z1; M30;

G74 (End Face Peck Drilling Cycle): 

G74 (End Face Peck Drilling Cycle) The G74 code instructs the machine to perform a peck drilling cycle The centerline of the drill runs parallel to the Z axis, i.e., the drill will make holes in the face end of the billet A G74 command is written in the following format : G74 R (1) ; G74 X (U) _ _Z (W) _ _P _ _Q _ _R (2) F ; where, R(1) is the peck return amount X (U) is the diameter of the bore if step over is used (i.e., stepping along the X axis to repeat the peck cycle) Z (W) is the depth of the bore P is the step over in the X axis measured in micron's (without sign) Q is the pecking depth in the Z axis measured in micron's (without sign) F is the feedrate 1) A tipped U-drill can drill into a billet, then move along the X axis and repeat the operation several times if required, ie , it can be used to drill holes off-centre. 2) A standard drill can also be used. If the words X, P and R are omitted from the G74 command, a hole will be generated by pecking in stages (each stage measuring a depth of Q _to a total depth of Z _

Example: 

Example (TOOL/GROOVE,0.5,0.5,15,-10,5,5,0,3,0,0) (from/220,100) (stock/170,140,0,-170) N010 G50 X200. Z220. N011 G00 X100. Z 172. N012 G74 R2. N013 G74 X50. Z145. P7. Q8. F0.3 S550. N014 G00 X200. Z220. (TOOL/DRILL,16,120,160,0,0) N015 G00 X0. Z 172. N016 G74 R4. N017 G74 Z45. Q18. F0.3 S550. N018 G00 X200. Z220. (TOOL/GROOVE,0.5,0.5,20,10,5,5,90,3,0,0) N019 G00 X145. Z120. N023 M02

G75 (GROOVING CYCLE): 

G75 (GROOVING CYCLE) The G75 command permits drilling and grooving in the X axis A G75 command is written in the following format G75 R _ _; G75 X (U) _ _Z (W) _ _ P _ _Q _ _R _ _F _ _; where, the definitions of R, X (U) , Z (W) , P, Q, R and Fare the same as G74 where, R is the peck return amount X (U) is the diameter of the bore if step over is used (i.e., stepping along the X axis to repeat the peck cycle) Z (W) is the depth of the bore P is the step over in the X axis measured in micron's (without sign) Q is the pecking depth in the Z axis measured in micron's (without sign) R (2) is the retract move at the base of the groove F is the feedrate

Example: 

Example G21 G96 S1000 (STOCK/50,50,0,0) (TOOL/GROOVE,.5,.5,20,5,1,1,90,0) M06 T0101 G01 X51 Z0 G01 X51 Z-15 G75 R2000 G75 X30. Z-20. P1.0 Q2.0 F21 G28 M30

G76 (Multiple Thread Cutting Cycle): 

G76 (Multiple Thread Cutting Cycle) The G76 command contains, within two blocks, all the information required to generate a standard thread form and pitch A G76 uses one edge cutting to reduce the load on the tool tip G76 P (A) / (B) / (C) _ _ _ _ _ _Q _ _R _ _; G76 X(U) _ _Z(W) _ _P _ _Q _ _F _ _; where, P (A) is the number of thread finishing passes (1 to 99) P (B) is the chamfer amount. This is the angle at which the tool leaves the billet, at the end of the thread cutting cycle P (C) is the angle of the tool tip (80°, 60°, 55°, 30°, 29° and 0°) Note - (A), (B) and (C) are all specified at the same time by the address P, Ex, P036060 = number of cuts is 03, chamfer amount of 60 and tool angle of 60° Q is the minimum cutting depth (in microns R is the finishing allowance X(U) is the end position of the thread in the X axis (the core diameter) Z(W) is the end position of the thread in the Z axis P is the depth of the thread as a radius value (in microns) Q is the depth of the first pass as a radius value (in microns) F is the size of the thread pitch

Example: 

Example (stock/170,100,0,0) (TOOL/THREAD,60,50,15,90,0,0) N010 G50 X200. Z0. N020 G00 X120. Z12. S20. N030 G76 P011260 Q100 R200 N040 G76 X87. Z-50. P5000 Q2500 F8. N050 G00 X200. Z50. N060 M02

Sub Program: 

Sub Program G21 G96 S1000 (STOCK/80,50,0,0) (TOOL/GROOVE,0,0,10,5,0,0,90,0) M06 T0101 G01 X50 Z0 M98 P1088 L1 G01 X50 G01 Z-10 M98 P1088 L1 G01 X50 G01 Z-20 M98 P1088 L1 G01 X50 G01 Z-30 M98 P1088 L1 G01 X50 G01 Z-40 M98 P1088 L1 G01 X50 G01 Z-50 G01 X50 G28 U0 W0 M05 M09 M30 O1088 G01 U-10. G01 W-2. M99

M Codes: 

M Codes M00 (Program Stop): When the machine controller reads the code M00 within a block, it halts the program The [CYCLE START] key must be pressed to allow the program to continue M01 (Optional Stop): The M01 code performs the same function as the M00 code (program stop), except the machine controller only recognizes the signal to halt the program if the optional [STOP] input key is activated M02 (End of Program): This code indicates the end of a program and performs a general reset function on the machine controller, i.e., the CNC reverts to its initial state The code also acts as an M05 M03 (Spindle Forward): Spindle Forward is the clockwise rotation of the spindle The clockwise direction of the spindle is determined by viewing from the back of the machine headstock, along the Z axis towards the tailstock The spindle forward command is activated at the beginning of the block in which it is programmed, i.e., before any axis movement occurs The spindle forward command is sometimes referred to as spindle start

M Codes: 

M Codes M04 (Spindle Reverse): Spindle Reverse is the counterclockwise rotation of the spindle The counterclockwise direction of the spindle is determined by viewing from the back of the machine headstock, along the Z axis towards the tailstock The spindle reverse command is activated at the beginning of the block in which it is programmed, i.e., before any axis movement occurs M05 (Spindle Stop): The M05 code, to stop the spindle rotating, is activated at the end of the block in which it is programmed, i.e. , after any axis movement M06 (Automatic Tool Change): This code activates the machine turret and is followed by the code T_ _ _ _, instructing it to move to the stated tool number For example, M06 T0303 ; This command is read change automatically from the current tool number to tool number 3 M08 (Coolant On): This code switches the coolant pump on M09 (Coolant Off): This code switches the coolant pump off

M Codes: 

M Codes M10 (Chuck Open): This code will open the jaws of a power chuck M11 (Chuck Close): This code will close the jaws of a power chuck M13 (Spindle Forward and Coolant On): This code combines the functions of M03 and M08 together The M05 code will stop both the spindle and coolant M14 (Spindle Reverse and Coolant On): This code will drive the tailstock quill out (extend) The spindle has to be stopped (using the M05 code) to allow the machine controller to activate an M25 code M30 (Program Stop and Reset): This code stops the program running, i.e., it signals the end of the program Control is then reset back to the beginning of this program If the M30 code is followed by a block number, the program will be reset back to the stated block number For example, M30 P0140; This command is read stop the program running and reset it back to block number 140 The M30 code also acts as an M05 and M09

M Codes: 

M Codes M26 (Tailstock Quill Retract): This code will drive the tailstock quill in (retract) The spindle has to be stopped (using the M05 code) to allow the machine controller to activate an M25 code M40 (Parts Catcher Extend): This code drives the parts catcher out to beneath the part prior to parting off. M41 (Parts Catcher Retract): This code drives the parts catcher back to its parking position after parting off M62 / M63 / M64 / M65 / M66 / M76 / M77 (Auxiliary Output Functions): M62 - Auxiliary Output 1 On M63 - Auxiliary Output 2 On M64 - Auxiliary Output 1 Off M65 - Auxiliary Output 2 Off M66 - Wait for Auxiliary Output 1 On M67 - Wait for Auxiliary Output 2 On M76 - Wait for Auxiliary Output 1 Off M77 - Wait for Auxiliary Output 2 Off These codes allow a signal to be sent from the machine controller to a different device, such as a robot, then wait for a return signal instructing that the device has completed its function

M Codes: 

M Codes M98 (Sub Program Call): This code will cause the machine controller to jump across from the main program to read a different program in its memory (called a sub program) M99 (Sub program end and return)

Thanks for viewing: 

Thanks for viewing M. Ganesh Murugan