Numerical Control Programming 6.1 NC PART PROGRAMMING Introduction • Coordinate Systems • NC Words 6.1.1 Coordinate System Z AXIS Z // rotating spindle workpiece-rotating machine: Z is parallel to the spindle tool-rotating machine: Z is parallel to the tool axis Z Z Z 6.1.1 Coordinate System X AXIS X // table workpiece-rotating machine: X is the direction of tool movement X Z horizontal milling machine : X axis is parallel to the table vertical machine : +X axis points to the right when the programmer is facing the machine. X Z X Z 6.1.5 NC Words N, G, X, Y Z, A, B, C, I, J, K, F, S, T, R, M N: specify the sequence number G: preparatory word to prepare for control functions (the motion of each axis, coordinate system, coordinate plane, cutter radius compensation, tool length offset……) M: miscellaneous word to control miscellaneous functions (spindle on/off, start/stop the machine, turn on/off the coolant, change the tool, and rewind the program tape) 6.1.5 NC Words 6.1.5 NC Words M CODES M00 Program stop M06 Tool change M01 Optional stop M07 Flood coolant on M02 End of program M08 Mist coolant on M03 Spindle CW M09 Coolant off M04 Spindle CCW M30 End of tape 6.1.5 NC Words Modal codes and non modal codes/ • modal functions Modal functions stay active until some other command changes it. Modal commands are arranged in sets called “modal groups”, and only one member of a modal group may be in forces at any given time. • non-modal functions Non-modal functions have effect only on the lines on which they occur. 6.1.5 NC Words modal groups 6.1.5 NC Words M CODES modal groups M00 Program stop M06 Tool change M01 Optional stop M07 Flood coolant on M02 End of program M08 Mist coolant on M03 Spindle CW M09 Coolant off M04 Spindle CCW M30 End of tape 6.1.5 NC Words N, G, X, Y , Z, A, B, C, I, J, K, F, S, T, R, M F: feed rate of the tool motion S: cutting-speed T: tool number 6.1.5 NC Words N, G, X, Y , Z, A, B, C, I, J, K, F, S, T, R, M X, Y, Z, A, B, C: provide the coordinate positions of the tool. X, Y, and Z define the three translational (Cartesian) axes of a machine. A, B and C are used for the three rotational axes about the X, Y, and Z axes. I, J, K: specify the center for circular motion 6.1.5 NC Words N, G, X, Y, Z, A, B, C, I, J, K, F, S, T, R, M R: specify the clearance height in canned-cycle N0010 G81 X1.000 Y2.000 Z0.000 R1.300 Operations in drill cycle G81 : 1. Rapid to location (1,2,2). 2. Rapid down to the R plane:(1,2,1.3) 3. Feed to the Z point, the bottom of the hole:(1,2,0) 4. Operation at the bottom of the hole . 5. Rapid or feed to either the R plane or the initial height. NC Words G codes Unit selection: • G70 (inch), G71(metric) Coordinates selection: • G90(absolute), G91(incremental) Working plane selection: • G17(X-Y), G18(Z-X), G19(Y-Z) Set up working coordinate Z Machine zero • is unchangeable and usually is set up with the machine 23 Working coordinate (is decided by the offset from the machine zero) • G92 • Be defined in program G55 G56 G57 X 25.2 G92 X25.2 Z23.0 G58 G59 G54 Machine zero Rapid traverse: G00 G00: • to make the machine move at maximum speed. • It is used for positioning motion. G90 G00 X20.0 Y10.0 End G90: absolute coordinate s Start (20,10) (10,10) (0,0) Linear interpolation: G01 G01: • linear interpolation at feed speed. G91 G0l X200.0 Y100.0 F200.0 G91: incremental coordinates Y End 100.0 Start 200.0 X Circular interpolation: G02, G03 G02, G03: • For circular interpolation, the tool destination and the circle center are programmed in one block • G02 is clockwise interpolation, G03 is counterclockwise interpolation G 02 R G17 X __ Y __ G 03 I __ F __; J __ G 02 R G18 X __ Z __ F __; G 03 I __ K __ G 02 R G19 Y __ Z __ F __; G 03 J __ K __ End point Circle center, radius Circular interpolation: G02, G03 Y End Specify Center with I, J, K • X Start j Center i • I, J, K are the incremental distance from the start of the arc; Viewing the start of arc as the origin, I, J, K have positive or negative signs. Circular interpolation: G02, G03 N0010 G92 X200.0 Y40.0 Z0; N0020 G90 G03 X140.0 Y100.0 R60.0 F300; N0030 G02 X120.0 Y60.0 R50.0; G92: To define working coordinate G90: absolute coordinates Y 100 60 40 R50 R60 X O 90 120 140 200 Circular interpolation: G02, G03 Annotation for Circular Interpolation • I0.0, J0.0, and K0.0 can be omitted. • If X,Y,Z are all omitted in the program, that means start and end of arc are same points. N0020 G02 I20.0 (a full circle) • If I, J, K, and R all appears in circular interpolation instruction, R is valid and I, J, and K are invalid Return to Machine Zero: G28 G28 The machine passes by the specified point, and then move to the machine zero. G91: incremental G91 G28 X_, Y_, Z_ coordinates X,Y,Z are the coordinate of specified point that is saved in memory of machine. Usually this instruction is used in the beginning and end of program. Machine Zero A Specified point Return to the Specified point : G29 G29 The machine passes from the machine zero by the point that is specified in G28, and then move to the new specified point. G29 X_, Y_, Z_ X, Y, Z are the coordinate of new specified point G28,G29 are usually used to change tool Specified point in G28 Machine Zero A New specified point in G29 M code miscellaneous word miscellaneous functions: • • • • • turn the spindle on/off start/stop the machine turn on/off the coolant change the tool rewind the program (tape) M code M00 Program stop M06 Tool change M01 Optional stop M07 Flood coolant on M02 End of program M08 Mist coolant on M03 Spindle CW M09 Coolant off M04 Spindle CCW M30 End of tape modal groups M code: M00, M01 M00 and M01 both stop the machine in the middle of a program. M01 is effective only when the optional stop button on the control panel is depressed. The program can be resumed through the control panel. M code: M03, M04, M05 M03 turns on the spindle clockwise. M04 turns the spindle on counterclockwise. (The spindle rpm must be specified in the same line or in a previous line. ) M05 turns off the spindle. M code: M07, M08, M09 M07 and M08 turn on different modes of coolant. • • M07: flood coolant on M08: mist coolant on M09 turns off the coolant. M code: M06 M06 signals the tool-change operation. On a machine equipped with an automatic tool changer, it stops the spindle, retracts the spindle to the tool-change position, and then changes the tool to the one specified in the T-code. M code: M02, M30 M02 marks the end of the program. M30 marks the end of the tape. It stops the spindle and rewinds the program (tape) Example A 2.0-in 2.0-in. square is to be milled using a 1/2-in. end milling cutter (end mill). Write an NC part program to make the square. Example Part program Explanation N0010 G41 S1000 F5 M03 Begin compensation(left), set feed and speed, spindle on (CW) Move to lower left corner Plunge down the tool Cut to upper left corner Cut to upper right corner with external curve Cut to lower right corner with external curve Cut to lower left corner with external curve Lift the tool End the composition, stop the machine N0020 G00 X6.000 Y6.000 N0030 G01 Z-1.000 N0040 G01 Y8.000 N0050 G01 X8.000 M96 N0060 G01 Y6.000 M96 N0070 G01 X6.000 M96 N0080 G01 Z1.000 N0090 G40 M30 G codes with animations http://www.cncezpro.com/gcodes.cfm Manual Part Programming Example 5” 2.5” p3 p2 p4 p5 1” 5” 45° Tool size = 0.25 inch, Feed rate = 6 inch per minute, Cutting speed = 300 rpm, Tool start position: 2.0, 2.0 Programming in inches (4, 4) p1 p0 (2, 2) Motion of tool: p0 p1 p2 p3 p4 p5 p1 p0 1. Set up the programming parameters 5” 2.5” p3 p2 p4 p5 1” Programming in inches 5” Use absolute coordinates Feed in ipm 45° N010 G70 G90 G94 G97 M04 (4, 4) p1 p0 (2, 2) Spindle speed in rpm Spindle CCW 2. Set up the machining conditions 5” 2.5” p3 p2 p4 p5 1” Machine moves in XY-plane Use full-circle interpolation 5” Feed rate Spindle speed 45° N020 G17 G75 F6.0 S300 T1001 M08 (4, 4) p1 p0 (2, 2) Tool no. Flood coolant ON 3. Move tool from p0 to p1 in straight line 5” 2.5” p3 p2 1” p4 p5 Linear interpolation target coordinates N030 G01 X3.875 Y3.698 5” 45° (4, 4) p1 p0 (2, 2) 4. Cut profile from p1 to p2 5” 2.5” p3 p2 p4 p5 1” Linear interpolation 5” target coordinates N040 G01 X3.875 Y9.125 45° or (4, 4) p1 N040 G01 Y9.125 p0 (2, 2) X-coordinate does not change no need to program it 5. Cut profile from p2 to p3 5” 2.5” p3 p2 p4 p5 Linear interpolation target coordinates 1” N050 G01 X5.634 Y9.125 5” y = 9 + 0.125 = 9.125 (6.5 - x)2 + 0.1252 = (1 - 0.125)2 x = 5.634 45° p3 (x, y) (4, 4) p1 (6.5, 9) .125 p0 (2, 2) 1” 6. Cut along circle from p3 to p4 5” 2.5” p3 p2 p4 p5 1” circular interpolation, CCW motion 5” target coordinates 45° (4, 4) N060 G03 X7.366 Y9.125 I6.5 J9.0 coordinates of center of circle p1 p0 (2, 2) N060 G03 X7.366 Y9.125 I0.866 J-0.125 7. Cut from p4 to p5 5” 2.5” p3 p2 p4 p5 1” 5” Linear interpolation 45° (4, 4) p1 p0 (2, 2) target coordinates (Y is unchanged) N070 G01 X9.302 8. Cut from p5 to p1 5” 2.5” p3 p2 p4 p5 1” 5” Linear interpolation target coordinates (see step 3) 45° N080 G01 X3.875 Y3.698 (4, 4) p1 p0 (2, 2) 9. Return to home position, stop program 5” 2.5” p3 p2 p4 p5 1” Linear interpolation target coordinates (see step 3) 5” N090 G01 X2.0 Y2.0 M30 45° (4, 4) p1 p0 (2, 2) end of data N100 M00 program stop 10. Complete RS-274 program N010 G70 G90 G94 G97 M04 N020 G17 G75 F6.0 S300 T1001 M08 N030 G01 X3.875 Y3.698 N040 G01 X3.875 Y9.125 N050 G01 X5.634 Y9.125 N060 G03 X7.366 Y9.125 I0.866 J-0.125 N070 G01 X9.302 N080 G01 X3.875 Y3.698 N090 G01 X2.0 Y2.0 M30 Automatic Part Programming Software programs can automatic generation of CNC data Define Tool CNC data Make 3D model Simulate cutting Automatic part programming and DNC Very complex part shapes very large NC program NC controller memory may not handle HUGE part program computer feeds few blocks of NC program to controller When almost all blocks executed, controller requests more blocks Assignment (Learn this software) CNC Simulator Download from http://cncsimulator.com/download/get.php?f=C ncSetup453.exe Direct Numerical Control (DNC): A system in which a central computer downloads the NC programs block by block to many NC machine tools simultaneously is called Direct Numerical Control (DNC) system. 2004 49 DNC Direct numerical control (DNC) – control of multiple machine tools by a single (mainframe) computer through direct connection and in real time 1960s technology Two way communication Distributed numerical control (DNC) – network consisting of central computer connected to machine tool MCUs, which are CNC Present technology Two way communication Direct Numerical Control (DNC): This system used to work with the early NC machine tools which can not read more than a block of information at a time. The central computer feed the program information one block at a time. When the machine execute the information, the next block of information would be fed. 2004 51 Distributed Numerical Control (DNC): Distributed NC is known by the same acronym as Direct Numerical Control (DNC). After the introduction of CNC, the machine tools have had the capability of storing large amount of information. Therefore, there have been no need to have drip feed information system, like, Direct Numerical Control. Instead, Distributed Numerical Control is introduced. In such a system, a host computer communicate with many CNC machine tools via networks and download or upload programs. 2004 52 Distributed Numerical Control (DNC): With Distributed Numerical Control systems, it is possible to monitor the activities in individual CNC machine tools on host computer. Therefore, better shop floor control can be achieved. 2004 53 TYPES of CNC CONTROL SYSTEMS 2004 Open-loop control Closed-loop control 54 OPEN-LOOP CONTROL SYSTEM In open-loop control system step motors are used Step motors are driven by electric pulses Every pulse rotates the motor spindle through a certain amount By counting the pulses, the amount of motion can be controlled No feedback signal for error correction Lower positioning accuracy 2004 55 CLOSED-LOOP CONTROL SYSTEMS In closed-loop control systems DC or AC motors are used Position transducers are used to generate position feedback signals for error correction Better accuracy can be achieved More expensive Suitable for large size machine tools 2004 56