You are on page 1of 87

CNC TECHNOLOGY and CNC PROGRAMMING

EM 406 : MFG PROCESSES TOOLING & AUITOMATION

Department of Mechatronics College of EME : NUST

2004

PART PROGRAM


A part program is a series of coded instructions required to produce a part. It controls the movement of the machine tool and the on/off control of auxiliary functions such as spindle rotation and coolant. The coded instructions are composed of letters, numbers and symbols and are arranged in a format of functional blocks as in the following example N10 G01 X5.0 Y2.5 F15.0 | | | | | | | | | Feed rate (15 in/min) | | | Y-coordinate (2.5") | | X-coordinate (5.0") | Linear interpolation mode Sequence number
2

2004

PROGRAM INPUT DEVICE




The program input device is the mechanism for part programs to be entered into the CNC control. The most The commonly used program input devices are keyboards, punched tape reader, diskette keyboards, drivers, throgh RS 232 serial ports and networks. networks.

2004

MACHINE CONTROL UNIT


The machine control unit (MCU) is the heart of a CNC system. It is used to perform the following functions:
  

Read coded instructions Decode coded instructions Implement interpolations (linear, circular, and helical) to generate axis motion commands Feed axis motion commands to the amplifier circuits for driving the axis mechanisms Receive the feedback signals of position and speed for each drive axis Implement auxiliary control functions such as coolant or spindle on/off, and tool change
4

2004

TYPES of CNC CONTROL SYSTEMS


 

OpenOpen-loop control Closed-loop control Closed-

2004

OPENOPEN-LOOP CONTROL SYSTEM




 

 

In open-loop control system step motors are openused 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
6

2004

CLOSEDCLOSED-LOOP CONTROL SYSTEMS




  

In closed-loop control systems DC or AC closedmotors 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
7

2004

DRIVE SYSTEM


A drive system consists of amplifier circuits, stepping motors or servomotors and ball lead-screws. The MCU feeds leadcontrol signals (position and speed) of each axis to the amplifier circuits. The control signals are augmented to actuate stepping motors which in turn rotate the ball lead-screws to position the machine leadtable.
8

2004

STEPPING MOTORS


A stepping motor provides open-loop, digital control of the position of a workpiece in a numerical control machine. The drive unit receives a direction input (cw or ccw) and pulse inputs. For each pulse it receives, the drive unit manipulates the motor voltage and current, causing the motor shaft to rotate bya fixed angle (one step). The lead screw converts the rotary motion of the motor shaft into linear motion of the workpiece .
9

2004

STEPPING MOTORS

2004

10

RECIRCULATING BALL SCREWS


Transform rotational motion of the motor into translational motion of the nut attached to the machine table.

2004

11

RECIRCULATING BALL SCREWS




Accuracy of CNC machines depends on their rigid construction, care in manufacturing, and the use of ball screws to almost eliminate slop in the screws used to move portions of the machine.
12

2004

2004

13

POSITIONING


The positioning resolution of a ball screw drive mechanism is directly proportional to the smallest angle that the motor can turn. The smallest angle is controlled by the motor step size. Microsteps can be used to decrease the motor step size. CNC machines typically have resolutions of 0.0025 mm or better.
14

2004

MACHINE TOOL


CNC controls are used to control various types of machine tools. Regardless of which type of machine tool is controlled, it always has a slide table and a spindle to control of position and speed. The machine table is controlled in the X and Y axes, while the spindle runs along the Z axis.
15

2004

FEEDBACK SYSTEM


The feedback system is also referred to as the measuring system. It uses position and speed transducers to continuously monitor the position at which the cutting tool is located at any particular time. The MCU uses the difference between reference signals and feedback signals to generate the control signals for correcting position and speed errors.
16

2004

CNC MACHINES FEEDBACK DEVICES

2004

17

POTENTIOMETERS

2004

18

POTENTIOMETERS

2004

19

ENCODERS
A device used to convert linear or rotational position information into an electrical output signal.

2004

20

ENCODERS

2004

21

INDUSTRIAL APPLICATIONS of ENCODERS

2004

22

RESOLVERS


A resolver is a rotary transformer that produces an output signal that is a function of the rotor position.

2004

23

SERVOMOTOR with RESOLVER

2004

24

VELOCITY FEEDBACK


Tachometers: Electrical output is proportional to rate of angular rotation. Encoders, Resolvers, Potentiometers: Number of pulses per time is proportional to rate change of position.

2004

25

CNC CUTTERS

 Turning

center cutters  Machining center cutters

2004

26

TURNING CENTER CUTTERS


Types of cutters used on CNC turning centers  Carbides (and other hard materials) insert turning and boring tools  Ceramics  High Speed Steel (HSS) drills and taps

2004

27

STANDART INSERT SHAPES


 

 

2004

V used for profiling, weakest insert, 2 edges per side. D somewhat stronger, used for profiling when the angle allows it, 2 edges per side. T commonly used for turning because it has 3 edges per side. C popular insert because the same holder can be used for turning and facing. 2 edges per side. W newest shape. Can turn and face like the C, but 3 edges per side. S Very strong, but mostly used for chamfering because it won t cut a square shoulder. 4 edges per side. R strongest insert but least commonly used.

28

TYPICAL TURNING, THREADING and PARTING TOOLS

2004

29

MACHINING CENTER CUTTING TOOLS




Most machining centers use some form of HSS or carbide insert endmill as the basic cutting tool. Insert endmills cut many times faster than HSS, but the HSS endmills leave a better finish when side cutting.
30

2004

MACHINING CENTER CUTTING TOOLS (cont d)




Facemills flatten large surfaces quickly and with an excellent finish. Notice the engine block being finished in one pass with a large cutter.

2004

31

MACHINING CENTER CUTTING TOOLS (cont d)




Ball endmills (both HSS and insert) are used for a variety of profiling operations such as the mold shown in the picture. Slitting and side cutters are used when deep, narrow slots must be cut.
32

2004

MACHINING CENTER CUTTING TOOLS (cont d)




Drills, Taps, and Reamers Common HSS tools such as drills, taps, and reamers are commonly used on CNC machining centers. Note that a spot drill is used instead of a centerdrill. Also, spiral point or gun taps are used for through holes and spiral flute for blind holes. Rarely are hand taps used on a machining center.

2004

33

TOOL HOLDERS


All cutting tools must be held in a holder that fits in the spindle. These include end mill holders (shown), collet holders, face mill adapters, etc. Most machines in the USA use a CAT taper which is a modified NST 30, 40, or 50 taper that uses a pull stud and a groove in the flange. The machine pulls on the pull stud to hold the holder in the spindle, and the groove in the flange gives the automatic tool changer something to hold onto. HSK tool holders were designed a number of years ago as an improvement to CAT tapers, but they are gaining acceptance slowly.

2004

34

CNC PROGRAMMING

2004

35

CNC PROGRAMMING
 

 

Offline programming linked to CAD programs. Conversational programming by the operator. MDI ~ Manual Data Input. Manual Control using jog buttons or `electronic handwheel'. WordWord-Address Coding using standard G-codes Gand M-codes. M36

2004

Basics of NC Part Programming:

During secondary motion, either the tool moves relative to the workpiece or the workpiece moves relative to the tool. In NC programming, it is always assumed that the tool moves relative to the workpiece no matter what the real situation is.

2004

37

The position of the tool is described by using a Cartesian coordinate system. If (0,0,0) position can be described by the operator, then it is called floating zero. zero.

2004

38

In defining the motion of the tool from one point to another, either absolute positioning mode or incremental positioning mode can be used.

2004

39

1. Absolute positioning. In this mode, the positioning. desired target position of the tool for a particular move is given relative to the origin point of the program. 2. Incremental positioning. In this mode, positioning. the next target position for the tool is given relative to the current tool position.

2004

40

Structure of an NC Part Program:


Commands are input into the controller in units called blocks or statements. Block Format: 1. Fixed sequential format 2. Tab sequential format 3. Word address format
2004 41

EXAMPLE:
Assume that a drilling operation is to be programmed as: 1. The tool is positioned at (25.4,12.5,0) by a rapid movement. 2. The tool is then advanced -10 mm in the z direction at a feed rate of 500 mm/min., with the flood coolant on. 3.The is then retracted back 10 mm at the rapid feed rate, and the coolant is turned off.

2004

42

1. Fixed sequential format 0050 00 +0025400 +0012500 +0000000 0000 00 0060 01 +0025400 +0012500 -0010000 0500 08 0070 00 +0025400 +0012500 +0000000 0000 09

2. Tab sequential format 0050 TAB 00 TAB +0025400 TAB +0012500 TAB +0000000 TAB TAB 0060 TAB 01 TAB TAB TAB -0010000 TAB 0500 TAB 08 0070 TAB 00 TAB TAB TAB -0000000 TAB 0000 TAB 09

3. Word address format N50 G00 X25400 Y125 Z0 F0 N60 G01 Z-10000 F500 M08 N70 G00 Z0 M09
2004 43

Modal commands: Commands issued in the commands: NC program that will stay in effect until it is changed by some other command, like, feed rate selection, coolant selection, etc. Nonmodal commands: Commands that are commands: effective only when issued and whose effects are lost for subsequent commands, like, a dwell command which instructs the tool to remain in a given configuration for a given amount of time.
2004 44

CNC PROGRAMMING

2004

45

INFORMATION NEEDED by a CNC


1. Preparatory Information: units, incremental or absolute positioning 2. Coordinates: X,Y,Z, RX,RY,RZ 3. Machining Parameters: Feed rate and spindle speed 4. Coolant Control: On/Off, Flood, Mist 5. Tool Control: Tool and tool parameters 6. Cycle Functions: Type of action required 7. Miscellaneous Control: Spindle on/off, direction of rotation, stops for part movement This information is conveyed to the machine through a set of instructions arranged in a desired sequence Program.
2004 46

BLOCK FORMAT
Sample Block
N135 G01 X1.0 Y1.0 Z0.125 F5
Restrictions on CNC blocks  Each may contain only one tool move  Each may contain any number of non-tool move G-codes  Each may contain only one feedrate  Each may contain only one specified tool or spindle speed  The block numbers should be sequential  Both the program start flag and the program number must be independent of all other commands (on separate lines)  The data within a block should follow the sequence 2004 47 shown in the above sample block


WORDWORD-ADDRESS CODING
Example CNC Program
          

N5 G90 G20 N10 M06 T3 N15 M03 S1250 N20 G00 X1 Y1 N25 Z0.1 N30 G01 Z-0.125 F5 ZN35 X3 Y2 F10 N40 G00 Z1 N45 X0 Y0 N50 M05 N55 M30

Each instruction to the machine consists of a letter followed by a number. Each letter is associated with a specific type of action or piece of information needed by the machine.
Letters used in Codes N,G,X,Y,Z,A,B,C,I,J,K,F,S,T,R,M

2004

48

G & M Codes
Example CNC Program
          

N5 G90 G20 N10 M06 T3 N15 M03 S1250 N20 G00 X1 Y1 N25 Z0.1 N30 G01 Z-0.125 F5 ZN35 X3 Y2 F10 N40 G00 Z1 N45 X0 Y0 N50 M05 N55 M30

G-codes: Preparatory Functions involve actual tool moves. M-codes: Miscellaneous Functions involve actions necessary for machining (i.e. spindle on/off, coolant on/off).

2004

49

G Codes
           

G00 Rapid traverse G01 Linear interpolation G02 Circular interpolation, CW G03 Circular interpolation, CCW G04 Dwell G08 Acceleration G09 Deceleration G17 X-Y Plane XG18 Z-X Plane ZG19 Y-Z Plane YG20 Inch Units (G70) G21 Metric Units (G71)

         

2004

G40 Cutter compensation cancel G41 Cutter compensation left G42 Cutter compensationcompensationright G70 Inch format G71 Metric format G74 Full-circle programming Fulloff G75 Full-circle programming Fullon G80 Fixed-cycle cancel FixedG81G81-G89 Fixed cycles G90 Absolute dimensions G91 Incremental dimensions

50

Modal G-Codes G-

Most G-codes set the machine in a mode Gwhich stays in effect until it is changed or cancelled by another G-code. These Gcommands are called modal .

2004

51

Modal G-Code List G            

G00 G01 G02 G03

Rapid Transverse Linear Interpolation Circular Interpolation, CW Circular Interpolation, CCW G17 XY Plane G18 XZ Plane G19 YZ Plane G20/G70 Inch units G21/G71 Metric Units G40 Cutter compensation cancel G41 Cutter compensation left G42 Cutter compensation right G43 Tool length compensation (plus)

        

G43 Tool length compensation (plus) G44 Tool length compensation (minus) G49 Tool length compensation cancel G80 Cancel canned cycles G81 Drilling cycle G82 Counter boring cycle G83 Deep hole drilling cycle G90 Absolute positioning G91 Incremental positioning

2004

52

M Codes
           

M00 M01 M02 M03 M04 M05 M06 M08 M09 M10 M11 M30

Program stop Optional program stop Program end Spindle on clockwise Spindle on counterclockwise Spindle stop Tool change Coolant on Coolant off Clamps on Clamps off Program stop, reset to start

2004

53

N Codes


Gives an identifying number for each block of information. It is generally good practice to increment each block number by 5 or 10 to allow additional blocks to be inserted if future changes are required.
54

2004

X,Y, and Z Codes




X, Y, and Z codes are used to specify the coordinate axis. Number following the code defines the coordinate at the end of the move relative to an incremental or absolute reference point.

2004

55

I,J, and K Codes




I, J, and K codes are used to specify the coordinate axis when defining the center of a circle. Number following the code defines the respective coordinate for the center of the circle.
56

2004

F,S, and T Codes




F-code: used to specify the feed rate code: S-code: used to specify the spindle speed code: T-code: used to specify the tool code: identification number associated with the tool to be used in subsequent operations.
57

2004

Application of Some Codes G01 Linear Interpolation


Format: N_ G01 X_ Y_ Z_ F_


Linear Interpolation results in a straight line feed move. Unless tool compensation is used, the coordinates are associated with the centerline of the tool.
58

2004

Application of Some Codes G01 Linear Interpolation




. As an example, for the motion that occurs in x-y plane with the same maximum speed for the x- and y-axis, initial motion is at an angle of 45o yto the axes until motion in one of the axes is completed and then the balance of the motion occurs in the other axis. This is called point-topoint-to-point motion. motion.

2004

59

Application of Some Codes G01 Linear Interpolation


25 20 15 10 A 5 Positioning motion from A to C N10 G00 X30000 Y20000 F0 B C

5
2004

10

15

20 25

30
60

Application of Some Codes G01 Linear Interpolation


G01 is another preparatory function to specify that the tool should be moved to a specified location along a straight line path. It is referred to as linear interpolation. This function is typically used to specify machining of straight features such as turning a cylindrical surface in turning, cutting a slot in milling, etc.
2004 61

Application of Some Codes G01 Linear Interpolation


25 20 15 10 A 5 Linear interpolation from A to C N10 G01 X30000 Y20000 F2500 C

5
2004

10

15

20 25

30
62

G01 Linear Interpolation

N10 G00 X1 Z1 N15 Z0.1 N20 G01 Z-0.125 F5 ZN25 X2 Z2 F10

2004

63

G02 Circular Interpolation




G02 is also a preparatory function to specify that the tool should be moved to a specified location along a circular path in a clockwise direction. In order to specify the path to the MCU, the end point of the arc and the location of the center of the arc should be specified. Within the block in which the G02 code is programmed, the center of the arc is given by specifying its location relative to the start of the arc.
64

2004

G02 Circular Interpolation (CW)




The G02 command requires an endpoint and a radius in order to cut the arc. I,J, and K are relative to the start point. N_ G02 X2 Y1 I0 J-1 F10 Jor N_ G02 X2 Y1 R1

2004

65

G02 Circular Interpolation (CW)


25 20 15 J=15 10 C 5 B Circular interpolation from A to B about a circle centered at C N10 G02 X20000 Y10000 I5000 J15000 F2500 I=5 A C

2004

10

15

20 25

30

66

Canned Cycles
The sequence of some machining operations is may be the same for any part and for any machine. For example, drilling a hole involves the following steps: Position the tool above the point where the hole will be drilled Set the correct spindle speed Feed the tool into the workpiece at a controlled feed rate to a predetermined depth Retract the tool at a rapid rate to just above the point where the hole started
2004 67

Some Commonly Used Canned Cycle Code G81 G82 G83 G84 G85 G86
2004

Function Drilling Spot face, counterbore Deep hole drilling Tapping

Down feed Continuous feed Continuous feed Peck

At bottom No action Dwell No action Reverse spindle No action Stop spindle

Retracti on Rapid Rapid Rapid Feed rate Feed rate Rapid


68

Continuous feed Through boring(in Continuous & out) feed Through boring(in Continuous only) feed

G81 ILLUSTRATION

2004

69

Three Main parts of a CNC program


Part 1- Program Petup 1

N5 G90 G21 G21 N10 M06 T2 N15 M03 S1200

(Absolute units, metric) metric) (Stop for tool change, use tool # 2) (Turn the spindle on CW to 1200 rpm)
70

2004

Three Main parts of a CNC program


Part 2- Chip Removal 2     

N20 G00 X1 Y1 N25 N30 N35 N40 N45

(Rapid to X1,Y1 from origin point) Z0.125 (Rapid down to Z0.125) G01 Z-0.125 F100 (Feed down to Z-0.125 at ZF100 Z100 mm/min) mm/min) G01 X2 Y2 (Feed diagonally to X2,Y2) G00 Z1 (Rapid up to Z1) X0 Y0 (Rapid to X0,Y0)
71

2004

Three Main parts of a CNC program


Part 3- System Shutdown 3

N50 M05 N55 M00 M0

(Turn the spindle off) (Program stop) stop)

2004

72

EXAMPLE OPERATION on CNC MILLING MACHINE

2004

73

G-CODE PROGRAM


First pass : conventional mill to a depth of 0.125 around edge profile. Tool 1 is a inch dia. end mill.
% :1002 N5 G90 G20 N10 M06 T1 N15 M03 S1200 N20 G00 X0.125 Y0.125 N30 Z0.125 N35 G01 Z-0.125 F5 N40 X3.875 N45 Y4.125 N50 X0.125 N55 Y0.125

2004

74

Second pass: conventional mill to a depth of 0.25 around edge profile. N35 Z-0.250 N40 X3.875 N45 Y4.125 N50 X0.125 N55 Y0.125 N60 Z0.125

2004

75

Third pass: conventional mill to a depth of 0.125 around pocket profile. N65 G00 X1.25 Y1.0 N70 G01 Z-0.125 F5 N75 X1.75 N80 Y2.5 N85 X1.25 N90 Y1.0 N95 Z0.125

2004

76

Fourth pass: climb mill to a depth of 0.125 across remaining material. N100 Y2.125 N105 X2.625 N110 Z0.125 N115 G00 X-5 Y-5 Z5 N120 M05 N125 M30

2004

77

Advanced features:


Execution of the part of the program in a rotated or mirrored position. Ability to scale the program and produce larger or smaller programs. Three dimensional circular interpolation which produces a helical shape. Parabolic and cubic interpolation.

2004

78

Program Loading:
    

Through Through Through Through Through

keyboard punched tape reader diskette drive RS 232 serial port network interface card

2004

79

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

80

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

81

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.
82

2004

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

83

Computer Aided Part Programming:




NC program preparation may be tedious and difficult if the part to be machined has a complex geometry. The main difficulty is to find out the cutter locations during the machining. Computers may be used to assist the programmers in preparing the NC codes.

2004

84

Advantages of applying computer-aided part computerprogramming include the following:




   
2004

1. It reduces the manual calculations involves in determining the geometric characteristics of the part. It provides the cutter path simulation. It provides tool collision checking. It shortens the program preparation time. It makes the program preparation easier.
85

The Aerospace Industries Association sponsored the work that led to the first part programming language, developed in MIT in 1955. This was called: Automatically Programmed Tools (APT). APT is an English like simple programming language which basically produce the Cutter Location (CL) data. Using the cutter location data, the program can generate the actual NC codes by using a postprocessor .
86

2004

CAD/CAM Based Part Programming:




The output of any CAD package include the geometric data of the part to be machined. Therefore, many CAD/CAM package can produce cutter location (CL) data to be used for NC code generation. There is still to be a process planning module for a workable NC code generation. Some of the CAD/CAM packages that have the NC code generation capabilities are Computervision, CATIA, CADAM, ProEngineer, MechanicalDesktop (Auto Desk).
87

2004

You might also like