CNC TECHNOLOGY
description
Transcript of CNC TECHNOLOGY
11
CNC CNC TECHNOLOGYTECHNOLOGY
22
INTRODUCTION TO INTRODUCTION TO CNCCNC AND METAL AND METAL
CUTTINGCUTTING
33
HISTORYHISTORY
US Air Force commissioned MIT to develop the US Air Force commissioned MIT to develop the first "numerically controlled" machine in 1949. It first "numerically controlled" machine in 1949. It was demonstrated in 1952. was demonstrated in 1952.
At 1970-1972 first Computer Numeric Control At 1970-1972 first Computer Numeric Control machines were developed.machines were developed.
Today, computer numerical control (CNC) Today, computer numerical control (CNC) machines are found almost everywhere, from machines are found almost everywhere, from small job shops in rural communities to small job shops in rural communities to companies in large urban areas. companies in large urban areas.
44
DEFINITIONDEFINITION
In In CNC CNC ((Computer Numerical ControlComputer Numerical Control),), the the instructions are stored as a program in a instructions are stored as a program in a micro-computer attached to the machine. micro-computer attached to the machine. The computer will also handle much of the The computer will also handle much of the control logic of the machine, making it control logic of the machine, making it more adaptable than earlier hard-wired more adaptable than earlier hard-wired controllers.controllers.
55
CNC APPLICATIONSCNC APPLICATIONS
MachiningMachining 2.5D / 3D 2.5D / 3D Turning ~ Lathes, Turning Centre Turning ~ Lathes, Turning Centre Milling ~ Machining Centres Milling ~ Machining Centres FormingForming 2D 2D Plasma and Laser Cutting Plasma and Laser Cutting Blanking, nibbling and punching Blanking, nibbling and punching 3D 3D Rapid Prototyping Rapid Prototyping
66
SAMPLESAMPLE CNC MACHINES CNC MACHINES
77
CNC TURNINGCNC TURNING
88
CNC MILLINGCNC MILLING
99
CNC LASER CUTTINGCNC LASER CUTTING
1010
CNC PLASMA CUTTINGCNC PLASMA CUTTING
1111
CNC PRESSCNC PRESS
1212
CNC RAPID PROTOTYPINGCNC RAPID PROTOTYPING
1313
INDUSTRIES MOST AFFECTED INDUSTRIES MOST AFFECTED by CNCby CNC
Aerospace Aerospace Machinery Machinery Electrical Electrical Fabrication Fabrication Automotive Automotive Instrumentation Instrumentation Mold making Mold making
1414
SAMPLE PRODUCTSSAMPLE PRODUCTS OF OF
CNC MANUFACTURINGCNC MANUFACTURING
1515
AUTOMOTIVE INDUSTRYAUTOMOTIVE INDUSTRY
Engine BlockEngine Block
1616
AUTOMOTIVE INDUSTRY(Cont’d)AUTOMOTIVE INDUSTRY(Cont’d)
Different ProductsDifferent Products
1717
AEROSPACE INDUSTRYAEROSPACE INDUSTRYAircraft Turbine Machined by Aircraft Turbine Machined by 5-Axis CNC Milling Machine5-Axis CNC Milling Machine
1818
CNC MOLD MAKINGCNC MOLD MAKING
1919
ELECTRONIC INDUSTRYELECTRONIC INDUSTRY
2020
RAPID PROTOTYPING RAPID PROTOTYPING PRODUCTSPRODUCTS
2121
ADVANTAGES OF CNCADVANTAGES OF CNC
2222
Utilization of computers in Utilization of computers in manufacturing applications has manufacturing applications has proved to be one of the most proved to be one of the most
significant advantages & significant advantages & developments over the last couple developments over the last couple of decades in helping to improve of decades in helping to improve the productivity and efficiency of the productivity and efficiency of
manufacturing systems.manufacturing systems.
2323
ADVANTAGES of CNCADVANTAGES of CNC
ProductivityProductivity
Machine utilisation is increased because Machine utilisation is increased because more time is spent cutting and less time is more time is spent cutting and less time is taken by positioning. taken by positioning.
Reduced setup time increases utilisation Reduced setup time increases utilisation too. too.
2424
PROFITPROFIT increases as increases as COSTCOST decreases decreases and as and as PRODUCTIVITYPRODUCTIVITY increases. increases.
PRODUCTIVITY through PRODUCTIVITY through AUAUTOMATIONTOMATION
2525
AUTOMATIONAUTOMATION
any means of helping the workers to perform their tasks more efficiently
transfer of the skill of the operator to the machine
2626
Transferred skill
Results
muscle power engine driven machine tools
First industrial revolution
manipulating skill
mechanization hard automation
vision skill use of position transducers,
cameras
increase of accuracy, part
recognition
brain power cnc machines, industrial robots, soft automation,
computer control of manufacturing
systems
second industrial revolution
2727
EFFICIENCY OF EFFICIENCY OF MANUFACTURINGMANUFACTURING
COST = COST OF MANUFACTURING AND COST OF MATERIAL HANDLING
PROFIT = INCOME - COST
PRODUCTIVITY = AVERAGE OUTPUT PER MAN-HOUR
2828
ADVANTAGES of CNCADVANTAGES of CNC
QualityQuality
Parts are more accurate. Parts are more accurate.
Parts are more repeatable. Parts are more repeatable.
Less waste due to scrap. Less waste due to scrap.
2929
ADVANTAGES of CNCADVANTAGES of CNC
Reduced inventoryReduced inventory
Reduced setup time permits smaller Reduced setup time permits smaller economic batch quantities. economic batch quantities.
Lower lead time allows lower stock levels. Lower lead time allows lower stock levels.
Lower stock levels reduce interest charges Lower stock levels reduce interest charges and working capital requirements. and working capital requirements.
3030
ADVANTAGES of CNCADVANTAGES of CNC
Machining Complex shapesMachining Complex shapes
Slide movements under computer control. Slide movements under computer control.
Computer controller can calculate steps. Computer controller can calculate steps.
First NC machine built 1951 at MIT for First NC machine built 1951 at MIT for aircraft skin milling. aircraft skin milling.
3131
ADVANTAGES of CNCADVANTAGES of CNC
Management ControlManagement Control
CNC leads to CAD CNC leads to CAD
Process planning Process planning
Production planning Production planning
3232
DRAWBACKS of CNCDRAWBACKS of CNC High capital cost High capital cost Machine tools cost $30,000 - $1,500,000 Machine tools cost $30,000 - $1,500,000 Retraining and recruitment of staff Retraining and recruitment of staff New support facilities New support facilities High maintenance requirementsHigh maintenance requirements Not cost-effective for low-level production on simple Not cost-effective for low-level production on simple
partsparts As geometric complexity or volume increases CNC As geometric complexity or volume increases CNC
becomes more economicalbecomes more economical Maintenance personnel must have both mechanical Maintenance personnel must have both mechanical
and electronics expertise and electronics expertise
3333
FUNDAMENTAL OF FUNDAMENTAL OF METAL CUTTINGMETAL CUTTING
3434
The metal cutting operations The metal cutting operations (also (also called machining)called machining) is one of the is one of the most important manufacturing most important manufacturing
processes in industry today processes in industry today (as it (as it was yesterday)was yesterday). .
3535
MACHINING MACHINING IS THE REMOVAL IS THE REMOVAL OF MATERIALS IN FORMS OF OF MATERIALS IN FORMS OF CHIPS FROM THE WORKPIECE CHIPS FROM THE WORKPIECE BY SHEARING WITH A SHARP BY SHEARING WITH A SHARP
TOOL.TOOL.
3636
The main function of a machine tool The main function of a machine tool is to control the workpiece-cutting is to control the workpiece-cutting
tool positional relationship in such a tool positional relationship in such a way as to achieve a desired way as to achieve a desired
geometric shape of the workpiece geometric shape of the workpiece with sufficient dimensional with sufficient dimensional
accuracy.accuracy.
3737
Machine tool provides:
work holdingtool holdingrelative motion between tool and workpiece
primary motion
secondary motion
3838
Primary motion
Relative motionbetween tool and
workpieceSecondary motion
Cutting motion
Cutting speed
Feed motion
Feed rate
3939
CLASSIFICATION OF THE CHIP REMOVING CLASSIFICATION OF THE CHIP REMOVING METHODS ACCORDING TO THE RELATIVE MOTIONMETHODS ACCORDING TO THE RELATIVE MOTION
4040
CLASSIFICATION OF MACHINE TOOLSCLASSIFICATION OF MACHINE TOOLS
THOSE USING SINGLE POINT TOOLS
THOSE USING MULTIPOINT TOOLS
THOSE USING ABRASIVE TOOLS
lathesshapersplanersboring m/c’setc.
drilling m/c’smilling m/c’sbroaching m/c’shobbing m/c’setc.
grinding m/c’shoning m/c’setc.
4141
BASIC COMPONENTS BASIC COMPONENTS OF CNC SYSTEMSOF CNC SYSTEMS
4242
machine control unitposition transducers
work holding device
tool holding device
4343
ISO MACHINE TOOL AXIS DEFINITIONISO MACHINE TOOL AXIS DEFINITION
4444
ISO MACHINE TOOL AXES DEFINITIONS
AXIS MACHINE TOOL WITH SPINDLE MACHINE TOOL WITH NO SPINDLE
Z axis of spindle,(+Z) as tool goes away from the work piece
perpendicular to work holding surface, (+Z) as tool goes away from the workpiece
MACHINE TOOL WITH ROTATING WORKPIECE
MACHINE TOOL WITH ROTATING TOOL
HORIZONTAL AXIS
VERTICAL AXIS
X radial and parallel to cross slide, (+X) when tool goes away from the axis of spindle
horizontal and parallel to work holding surface, (+X) to the right when viewed from spindle towards work piece
horizontal and parallel to the work holding surface, (+X) to the right when viewed from spindle towards column
parallel to and positive in the principal direction of cutting (primary motion)
Y apply right hand rules
4545
RIGHT HAND RULERIGHT HAND RULEVertical Machine Horizontal Vertical Machine Horizontal MachineMachine
4646
STANDARD LATHE STANDARD LATHE COORDINATE SYSTEMCOORDINATE SYSTEM
4747
STANDARD MILLING MACHINESTANDARD MILLING MACHINECOORDINATE SYSTEMCOORDINATE SYSTEM
4848
NUMERICALLY CONTROLLED MACHINE NUMERICALLY CONTROLLED MACHINE TOOLS:TOOLS:
An NC machine tool is functionally the same An NC machine tool is functionally the same as a conventional machine tool. The as a conventional machine tool. The
technological capabilities NC machine tools technological capabilities NC machine tools in terms of machining are no different from in terms of machining are no different from those of conventional ones. The difference those of conventional ones. The difference is in the way in which the various machine is in the way in which the various machine
functions and slide movements are functions and slide movements are controlled.controlled.
4949
The functions and motions such as;The functions and motions such as;
turning the spindle on and offturning the spindle on and offsetting cutting speedssetting cutting speedssetting feed ratesetting feed rateturning coolant on and offturning coolant on and offmoving tool with respect to workpiecemoving tool with respect to workpiece
are performed by Machine Control Unit (MCU) are performed by Machine Control Unit (MCU) in NC machine tools.in NC machine tools.
5050
MACHINE TOOL MACHINE TOOL AUTOMATIONAUTOMATION
5151
CNC SYSTEM ELEMENTSCNC SYSTEM ELEMENTS
A typical CNC system consists of thA typical CNC system consists of the e following six elements following six elements
Part program Part program Program input device Program input device Machine control unit Machine control unit Drive system Drive system Machine tool Machine tool Feedback system Feedback system
5252
NC SYSTEM ELEMENTSNC SYSTEM ELEMENTS
5353
OPERATIONAL FEATURES of OPERATIONAL FEATURES of CNC MACHINESCNC MACHINES
5454
PART PROGRAMPART PROGRAM A part program is a series of coded instructions required A part program is a series of coded instructions required
to produce a part. It controls the movement of the to produce a part. It controls the movement of the machine tool and the on/off control of auxiliary functions machine tool and the on/off control of auxiliary functions such as spindle rotation and coolant. The coded such as spindle rotation and coolant. The coded instructions are composed of letters, numbers and instructions are composed of letters, numbers and symbols and are arranged in a format of functional symbols and are arranged in a format of functional blocks as in the following exampleblocks as in the following example
N10 G01 X5.0 Y2.5 F15.0N10 G01 X5.0 Y2.5 F15.0 | | | | | | | | | | | | | | Feed rate (15 in/min) | | | | Feed rate (15 in/min) | | | Y-coordinate (2.5") | | | Y-coordinate (2.5") | | X-coordinate (5.0") | | X-coordinate (5.0") | Linear interpolation mode | Linear interpolation mode Sequence number Sequence number
5555
PROGRAM INPUT DEVICEPROGRAM INPUT DEVICE
The program input device is the The program input device is the mechanism for part programs to be mechanism for part programs to be entered into the CNC control. Thentered into the CNC control. The moste most commonly used program input devices are commonly used program input devices are keyboardskeyboards,, punched tape reader, diskette punched tape reader, diskette drivers, throgh RS 232 serial ports and drivers, throgh RS 232 serial ports and networksnetworks. .
5656
MACHINE CONTROL UNITMACHINE CONTROL UNIT The machine control unit (MCU) is the heart of a CNC The machine control unit (MCU) is the heart of a CNC
system. It is used to perform the following functions: system. It is used to perform the following functions:
Read coded instructionsRead coded instructions Decode coded instructions Decode coded instructions Implement interpolations (linear, circular, and helical) to Implement interpolations (linear, circular, and helical) to
generate axis motion commands generate axis motion commands Feed axis motion commands to the amplifier circuits for Feed axis motion commands to the amplifier circuits for
driving the axis mechanisms driving the axis mechanisms Receive the feedback signals of position and speed for Receive the feedback signals of position and speed for
each drive axis each drive axis Implement auxiliary control functions such as coolant or Implement auxiliary control functions such as coolant or
spindle on/off, and tool changespindle on/off, and tool change
5757
TYPES of CNC CONTROL TYPES of CNC CONTROL SYSTEMSSYSTEMS
Open-loop controlOpen-loop control Closed-loop controlClosed-loop control
5858
OPEN-LOOP CONTROL OPEN-LOOP CONTROL SYSTEMSYSTEM
In open-loop control system step motors are In open-loop control system step motors are usedused
Step motors are driven by electric pulsesStep motors are driven by electric pulses Every pulse rotates the motor spindle through a Every pulse rotates the motor spindle through a
certain amountcertain amount By counting the pulses, the amount of motion By counting the pulses, the amount of motion
can be controlledcan be controlled No feedback signal for error correctionNo feedback signal for error correction Lower positioning accuracy Lower positioning accuracy
5959
CLOSED-LOOP CONTROL CLOSED-LOOP CONTROL SYSTEMSSYSTEMS
In closed-loop control systems DC or AC In closed-loop control systems DC or AC motors are usedmotors are used
Position transducers are used to generate Position transducers are used to generate position feedback signals for error position feedback signals for error correctioncorrection
Better accuracy can be achievedBetter accuracy can be achieved More expensiveMore expensive Suitable for large size machine toolsSuitable for large size machine tools
CONTROLCONTROL
Desired path (Desired path (p, v, ap, v, a)) 3-axis position control (encoder feedback)3-axis position control (encoder feedback) Velocity control (tachometer feedback)Velocity control (tachometer feedback) Torque control (current feedback)Torque control (current feedback)
Path generatorPath generator Linear interpolationLinear interpolation Circular interpolationCircular interpolation Complex path interpolation (contouring)Complex path interpolation (contouring)
6161
DRIVE SYSTEMDRIVE SYSTEM
A drive system consists of amplifier A drive system consists of amplifier circuits, circuits, steppingstepping motors motors or servomotors or servomotors and ball lead-screws. The MCU feeds and ball lead-screws. The MCU feeds control signals (position and speed) of control signals (position and speed) of each axis to the amplifier circuits. The each axis to the amplifier circuits. The control signals are augmented to actuate control signals are augmented to actuate steppingstepping motors which in turn rotate the motors which in turn rotate the ball lead-screws to position the machine ball lead-screws to position the machine table. table.
6262
STEPPING MOTORSSTEPPING 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 .
6363
STEPPING MOTORSSTEPPING MOTORS
6464
RECIRCULATING BALL RECIRCULATING BALL SCREWSSCREWS
Transform rotational motion of the motor Transform rotational motion of the motor intointo translationaltranslational motion of the nut attached to the motion of the nut attached to the machine table.machine table.
6565
RECIRCULATING BALL RECIRCULATING BALL SCREWSSCREWS
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.
COMPONENTS OF COMPONENTS OF RECIRCULATING BALL SCREWSRECIRCULATING BALL SCREWS
Ball screwBall screw Ball nut (anti-backlash)Ball nut (anti-backlash) WaysWays Linear bearingsLinear bearings
6767
6868
POSITIONINGPOSITIONING
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.
6969
MACHINE TOOLMACHINE TOOL
CNC controls are used to control various CNC controls are used to control various types of machine tools. Regardless of types of machine tools. Regardless of which type of machine tool is controlled, it which type of machine tool is controlled, it always has a slide table and a spindle to always has a slide table and a spindle to control of position and speed. The control of position and speed. The machine table is controlled in the X and Y machine table is controlled in the X and Y axes, while the spindle runs along the Z axes, while the spindle runs along the Z axis. axis.
7070
FEEDBACK SYSTEMFEEDBACK SYSTEM
The feedback system is also referred to as The feedback system is also referred to as the measuring system. It uses position and the measuring system. It uses position and speed transducers to continuously monitor speed transducers to continuously monitor the position at which the cutting tool is the position at which the cutting tool is located at any particular time. The MCU located at any particular time. The MCU uses the difference between reference uses the difference between reference signals and feedback signals to generate signals and feedback signals to generate the control signals for correcting position the control signals for correcting position and speed errors. and speed errors.
7171
CNC MACHINES FEEDBACK CNC MACHINES FEEDBACK DEVICESDEVICES
7272
ENCODERSENCODERS
A device used to convert linear or rotational position information into an electrical output signal.
7373
ENCODERSENCODERS
7474
INDUSTRIAL APPLICATIONS of INDUSTRIAL APPLICATIONS of ENCODERSENCODERS
7575
RESOLVERSRESOLVERS
A resolver is a rotary transformer that produces an output signal that is a function of the rotor position.
7676
SERVOMOTOR with SERVOMOTOR with RESOLVERRESOLVER
DRIVE MOTORSDRIVE MOTORS
DC servo motorsDC servo motors AC servo motorsAC servo motors Stepper motorsStepper motors Hydraulic motorsHydraulic motors
POSITION FEEDBACKPOSITION FEEDBACK
Incremental encoderIncremental encoder QuadratureQuadrature Absolute encoderAbsolute encoder ResolverResolver TachometerTachometer No feedback (open No feedback (open
loop)loop)
7979
POTENTIOMETERSPOTENTIOMETERS
8080
POTENTIOMETERSPOTENTIOMETERS
CNC ProgrammingCNC Programming
ManualManual Write code directlyWrite code directly
Computer-assistedComputer-assisted Draw cutter pathDraw cutter path
CAD/CAMCAD/CAM Draw the partDraw the part Cutter path is generatedCutter path is generated
8282
VELOCITY FEEDBACKVELOCITY 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.
8383
CNC MACHINES CNC MACHINES CUTTING TOOLS (CUTTERS)CUTTING TOOLS (CUTTERS)
8484
CNC CUTTERSCNC CUTTERS
Turning center cutters Turning center cutters Machining center cuttersMachining center cutters
8585
TURNING CENTER CUTTERSTURNING 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
8686
STANDART INSERT SHAPESSTANDART INSERT SHAPES
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.
8787
TYPICAL TURNING,THREADING and PARTING
TOOLS
8888
MACHINING CENTER CUTTING MACHINING CENTER CUTTING TOOLSTOOLS
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.
8989
MACHINING CENTER CUTTING MACHINING CENTER CUTTING TOOLS (cont’d)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.
9090
MACHINING CENTER CUTTING MACHINING CENTER CUTTING TOOLS (cont’d)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.
9191
MACHINING CENTER CUTTING MACHINING CENTER CUTTING TOOLS (cont’d)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.
9292
TOOL HOLDERSTOOL 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.
9393
CNC PROGRAMMINGCNC PROGRAMMING
9494
CNC PROGRAMMINGCNC PROGRAMMING
Offline programmingOffline programming linked to CAD programs. linked to CAD programs. Conversational programmingConversational programming by the operator. by the operator. MDIMDI ~ Manual Data Input. ~ Manual Data Input. Manual ControlManual Control using jog buttons or `electronic using jog buttons or `electronic
handwheel'. handwheel'. Word-Address CodingWord-Address Coding using standard G-codes using standard G-codes
and M-codes. and M-codes.
9595
During secondary motion, either the tool During secondary motion, either the tool moves relative to the workpiece or the moves relative to the workpiece or the workpiece moves relative to the tool. In workpiece moves relative to the tool. In NC programming, it is always assumed NC programming, it is always assumed
that the tool moves relative to the that the tool moves relative to the workpiece no matter what the real workpiece no matter what the real
situation is.situation is.
Basics of NC Part Programming:Basics of NC Part Programming:
9696
The position of the tool is described The position of the tool is described by using a Cartesian coordinate by using a Cartesian coordinate system. If (0,0,0) position can be system. If (0,0,0) position can be
described by the operator, then it is described by the operator, then it is called called floating zerofloating zero..
9797
In defining the motion of the tool In defining the motion of the tool from one point to another, from one point to another, either either absoluteabsolute positioningpositioning mode or mode or incrementalincremental positioningpositioning mode mode can be used.can be used.
9898
1. 1. Absolute positioningAbsolute positioning. In this mode, the . In this mode, the desired target position of the tool for a desired target position of the tool for a particular move is given relative to the origin particular move is given relative to the origin point of the program.point of the program.
2. 2. Incremental positioningIncremental positioning. In this mode, the . In this mode, the next target position for the tool is given next target position for the tool is given relative to the current tool relative to the current tool position.position.
9999
Structure of an NC Part Program:Structure of an NC Part Program:
Commands are input into the controller in units called blocks or statements.
Block Format:
1. Fixed sequential format2. Tab sequential format3. Word address format
100100
EXAMPLE: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.
101101
1. Fixed sequential format1. Fixed sequential format0050 00 +0025400 +0012500 +0000000 0000 000050 00 +0025400 +0012500 +0000000 0000 000060 01 +0025400 +0012500 -0010000 0500 080060 01 +0025400 +0012500 -0010000 0500 080070 00 +0025400 +0012500 +0000000 0000 090070 00 +0025400 +0012500 +0000000 0000 09
2. Tab sequential format0050 TAB 00 TAB +0025400 TAB +0012500 TAB +0000000 TAB TAB 0060 TAB 01 TAB TAB TAB -0010000 TAB 0500 TAB 080070 TAB 00 TAB TAB TAB -0000000 TAB 0000 TAB 09
3. Word address formatN50 G00 X25400 Y125 Z0 F0N60 G01 Z-10000 F500 M08N70 G00 Z0 M09
102102
Modal commandsModal commands: Commands issued in the : Commands issued in the NC program that will stay in effect until it is NC program that will stay in effect until it is changed by some other command, like, feed changed by some other command, like, feed rate selection, coolant selection, etc.rate selection, coolant selection, etc.
Nonmodal commandsNonmodal commands: Commands that are : Commands that are effective only when issued and whose effective only when issued and whose effects are lost for subsequent commands, effects are lost for subsequent commands, like, a dwell command which instructs the like, a dwell command which instructs the tool to remain in a given configuration for a tool to remain in a given configuration for a given amount of time.given amount of time.
103103
CNC PROGRAMMINGCNC PROGRAMMING
104104
INFORMATION NEEDED by a INFORMATION NEEDED by a CNCCNC
1. Preparatory Information: units, incremental or absolute positioning
2. Coordinates: X,Y,Z, RX,RY,RZ3. Machining Parameters: Feed rate and spindle speed4. Coolant Control: On/Off, Flood, Mist5. Tool Control: Tool and tool parameters6. Cycle Functions: Type of action required7. Miscellaneous Control: Spindle on/off, direction of
rotation, stops for part movementThis information is conveyed to the machine through a setof instructions arranged in a desired sequence – Program.
105105
BLOCK FORMATBLOCK FORMAT
Sample BlockSample 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 shown in the above sample block
106106
WORD-ADDRESS CODINGWORD-ADDRESS CODING
N5 G90 G20N5 G90 G20 N10 M06 T3N10 M06 T3 N15 M03 S1250N15 M03 S1250 N20 G00 X1 Y1N20 G00 X1 Y1 N25 Z0.1N25 Z0.1 N30 G01 Z-0.125 F5N30 G01 Z-0.125 F5 N35 X3 Y2 F10N35 X3 Y2 F10 N40 G00 Z1N40 G00 Z1 N45 X0 Y0N45 X0 Y0 N50 M05N50 M05 N55 M30N55 M30
Example CNC ProgramExample CNC Program
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
107107
G & M CodesG & M Codes
N5 G90 G20N5 G90 G20 N10 M06 T3N10 M06 T3 N15 M03 S1250N15 M03 S1250 N20 G00 X1 Y1N20 G00 X1 Y1 N25 Z0.1N25 Z0.1 N30 G01 Z-0.125 F5N30 G01 Z-0.125 F5 N35 X3 Y2 F10N35 X3 Y2 F10 N40 G00 Z1N40 G00 Z1 N45 X0 Y0N45 X0 Y0 N50 M05N50 M05 N55 M30N55 M30
Example CNC ProgramExample CNC Program
• G-codes: Preparatory Functions involve actual tool moves.
• M-codes: MiscellaneousFunctions – involve actionsnecessary for machining (i.e.spindle on/off, coolant on/off).
108108
G CodesG Codes G00G00 Rapid traverseRapid traverse G01 Linear interpolationG01 Linear interpolation G02G02 Circular interpolation, Circular interpolation,
CWCW G03 Circular interpolation, G03 Circular interpolation,
CCWCCW G04 DwellG04 Dwell G08 AccelerationG08 Acceleration G09 DecelerationG09 Deceleration G17 X-Y PlaneG17 X-Y Plane G18 Z-X PlaneG18 Z-X Plane G19 Y-Z PlaneG19 Y-Z Plane G20 Inch Units (G70)G20 Inch Units (G70) G21 Metric Units (G71)G21 Metric Units (G71)
G40 Cutter compensation – G40 Cutter compensation – cancelcancel
G41 Cutter compensation – G41 Cutter compensation – leftleft
G42 Cutter compensation- G42 Cutter compensation- rightright
G70 Inch formatG70 Inch format G71 Metric formatG71 Metric format G74 Full-circleG74 Full-circle programming programming
offoff G75 Full-circle programming G75 Full-circle programming
onon G80 Fixed-cycle cancelG80 Fixed-cycle cancel G81-G89 Fixed cyclesG81-G89 Fixed cycles G90 Absolute dimensionsG90 Absolute dimensions G91 Incremental dimensionsG91 Incremental dimensions
109109
Modal G-CodesModal G-Codes
Most G-codes set theMost G-codes set the machine in a “mode”machine in a “mode” which stays in effectwhich stays in effect until it is changed oruntil it is changed or cancelled by another Gcancelled by another G--code.code. These These commandscommands are called “modal”.are called “modal”.
110110
Modal G-Code ListModal G-Code List G00G00 Rapid TransverseRapid Transverse G01G01 Linear InterpolationLinear Interpolation G02G02 Circular Interpolation, CWCircular Interpolation, CW G03G03 Circular Interpolation, Circular Interpolation,
CCWCCW G17G17 XY PlaneXY Plane G18G18 XZ PlaneXZ Plane G19G19 YZ PlaneYZ Plane G20/G70 G20/G70 Inch unitsInch units G21/G71 G21/G71 Metric UnitsMetric Units G40 G40 Cutter compensation Cutter compensation
cancelcancel G41 G41 Cutter compensation leftCutter compensation left G42 G42 Cutter compensation rightCutter compensation right G43 G43 Tool length compensation Tool length compensation
(plus)(plus)
G43G43 Tool length Tool length compensation compensation (plus)(plus)
G44G44 Tool length Tool length compensation compensation (minus)(minus)
G49G49 Tool length Tool length compensation compensation cancelcancel
G80G80 Cancel canned cyclesCancel canned cycles G81G81 Drilling cycleDrilling cycle G82G82 Counter boring cycleCounter boring cycle G83G83 Deep hole drilling Deep hole drilling
cyclecycle G90G90 Absolute positioningAbsolute positioning G91G91 Incremental Incremental
positioningpositioning
111111
M CodesM Codes M00 M00 Program stopProgram stop M01 M01 Optional program stopOptional program stop M02 M02 Program endProgram end M03 M03 Spindle on clockwiseSpindle on clockwise M04 M04 Spindle on counterclockwiseSpindle on counterclockwise M05 M05 Spindle stopSpindle stop M06 M06 Tool changeTool change M08 M08 Coolant onCoolant on M09 M09 Coolant offCoolant off M10 M10 Clamps onClamps on M11 M11 Clamps offClamps off M30 M30 Program stop, reset to startProgram stop, reset to start
112112
N CodesN Codes
Gives anGives an identifying number for eachidentifying number for each block block of information.of information.
It is generally good practice toIt is generally good practice to increment increment each block number byeach block number by 5 or 10 to allow 5 or 10 to allow additionaladditional blocks to be inserted if futureblocks to be inserted if future changes are required.changes are required.
113113
X,Y, and Z CodesX,Y, and Z Codes
X, Y, and Z X, Y, and Z codes are used tocodes are used to specify the specify the coordinate axis.coordinate axis.
Number following the codeNumber following the code defines the defines the coordinate at the endcoordinate at the end of the move relative of the move relative to anto an incremental or absoluteincremental or absolute reference reference point.point.
114114
I,J, and K CodesI,J, and K Codes
I, J, and K I, J, and K codes are used tocodes are used to specify the specify the coordinate axiscoordinate axis when defining the center when defining the center of aof a circle.circle.
Number following the codeNumber following the code defines the defines the respective coordinaterespective coordinate for the center of the for the center of the circle.circle.
115115
FF,,SS, and , and TT Codes Codes
F-codeF-code: used to specify the feed: used to specify the feed raterate
S-codeS-code: used to specify the: used to specify the spindle speedspindle speed
T-codeT-code: used to specify the tool: used to specify the tool identification number associatedidentification number associated with the with the tool to be used intool to be used in subsequent operations.subsequent operations.
116116
Application of Some CodesApplication of Some CodesG01 Linear InterpolationG01 Linear Interpolation
Format: N_ G01 X_ Y_ Z_ F_Format: N_ G01 X_ Y_ Z_ F_
Linear Interpolation results in a straight Linear Interpolation results in a straight line feedline feed move.move.
Unless tool compensation is used, theUnless tool compensation is used, the coordinates arecoordinates are associated with the associated with the centerline of the tool.centerline of the tool.
117117
Application of Some CodesApplication of Some CodesG01 Linear InterpolationG01 Linear Interpolation
. As an example, for the motion that occurs in . As an example, for the motion that occurs in x-x-y plane with the same maximum speed for the x- y plane with the same maximum speed for the x- and y-axis, initial motion is at an angle of 45o to and y-axis, initial motion is at an angle of 45o to the axes until motion in one of the axes until motion in one of
the axes is completed and then the balance of the axes is completed and then the balance of the motion occurs in the other axis. This is called the motion occurs in the other axis. This is called point-to-point motionpoint-to-point motion..
118118
Application of Some CodesApplication of Some CodesG01 Linear InterpolationG01 Linear Interpolation
5
10
15
20
25
5 10 15 20 25 30
A
B C
Positioning motion from A to CN10 G00 X30000 Y20000 F0
119119
Application of Some CodesApplication of Some CodesG01 Linear InterpolationG01 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.
120120
Application of Some CodesApplication of Some CodesG01 Linear InterpolationG01 Linear Interpolation
5
10
15
20
25
5 10 15 20 25 30
A
C
Linear interpolation from A to CN10 G01 X30000 Y20000 F2500
121121
N10 N10 G00 X1 G00 X1 ZZ11NN115 Z0.15 Z0.1NN2020 G01 Z-0.125 F5 G01 Z-0.125 F5NN225 5 X2 Z2 X2 Z2 F10F10
G01 Linear InterpolationG01 Linear Interpolation
X
Z
122122
G02 Circular InterpolationG02 Circular Interpolation
G02 is also a preparatory function to specify that G02 is also a preparatory function to specify that the tool should be moved to a specified location the tool should be moved to a specified location along a circular path in a clockwise direction. In along a circular path in a clockwise direction. In order to specify the path to the MCU, the end order to specify the path to the MCU, the end point of the arc and the location of the center of point of the arc and the location of the center of the arc should be specified. Within the block in the arc should be specified. Within the block in which the G02 code is programmed, the center which the G02 code is programmed, the center of the arc is given by specifying its location of the arc is given by specifying its location relative to the start of the arc. relative to the start of the arc.
123123
G02 Circular Interpolation (CW)G02 Circular Interpolation (CW)
The G02 commandThe G02 command requiresrequires an endpoint and a radiusan endpoint and a radius inin order to cut the arc.order to cut the arc.
I,J, and K are relativeI,J, and K are relative to the to the start point.start point.
N_ G02 X2 Y1 I0 J-1 F10N_ G02 X2 Y1 I0 J-1 F10
oror
N_ G02 X2 Y1 R1N_ G02 X2 Y1 R1
124124
G02 Circular Interpolation (CW)G02 Circular Interpolation (CW)
5
10
15
20
25
5 10 15 20 25 30
C
C
Circular interpolation from A to Babout a circle centered at C N10 G02 X20000 Y10000 I5000 J15000 F2500
A
B
I=5
J=15
125125
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
Canned Cycles
126126
Some Commonly Used Canned Cycle
Code Function Down feed At bottom Retraction
G81 Drilling Continuous feed
No action Rapid
G82 Spot face, counterbore
Continuous feed
Dwell Rapid
G83 Deep hole drilling Peck No action Rapid
G84 Tapping Continuous feed
Reverse spindle
Feed rate
G85 Through boring(in & out)
Continuous feed
No action Feed rate
G86 Through boring(in only)
Continuous feed
Stop spindle
Rapid
127127
G81 ILLUSTRATIONG81 ILLUSTRATION
128128
Three Main parts of a CNC Three Main parts of a CNC programprogram
N5 G90 G2N5 G90 G211 (Absolute units, (Absolute units, metricmetric))
N10 M06 T2 N10 M06 T2 (Stop for tool change, (Stop for tool change, use use tool # 2)tool # 2)
N15 M03 S1200 N15 M03 S1200 (Turn the spindle on CW to (Turn the spindle on CW to 1200 rpm)1200 rpm)
Part 1- Program PetupPart 1- Program Petup
129129
Three Main parts of a CNC Three Main parts of a CNC programprogram
N20 G00 X1 Y1 N20 G00 X1 Y1 (Rapid to X1,Y1 from origin (Rapid to X1,Y1 from origin point)point)
N25 Z0.125 N25 Z0.125 (Rapid down to Z0.125)(Rapid down to Z0.125) N30 G01 Z-0.125 FN30 G01 Z-0.125 F100100 (Feed down to Z-0.125 at (Feed down to Z-0.125 at
100 mm/100 mm/mminin)) N35 G01 X2 Y2 N35 G01 X2 Y2 (Feed diagonally to X2,Y2)(Feed diagonally to X2,Y2) N40 G00 Z1 N40 G00 Z1 (Rapid up to Z1)(Rapid up to Z1) N45 X0 Y0 N45 X0 Y0 (Rapid to X0,Y0)(Rapid to X0,Y0)
Part 2- Chip RemovalPart 2- Chip Removal
130130
Three Main parts of a CNC Three Main parts of a CNC programprogram
N50 M05 N50 M05 (Turn the spindle off)(Turn the spindle off)
N55 MN55 M000 0 ((PProgramrogram stop stop))
Part 3- System ShutdownPart 3- System Shutdown
131131
EXAMPLE OPERATION on CNC EXAMPLE OPERATION on CNC MILLING MACHINEMILLING MACHINE
132132
G-CODE PROGRAMG-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
133133
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
134134
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
135135
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
136136
Advanced features:Advanced features:
Execution of the part of the program in a Execution of the part of the program in a rotated or mirrored position.rotated or mirrored position.
Ability to scale the program and produce Ability to scale the program and produce larger or smaller programs.larger or smaller programs.
Three dimensional circular interpolation Three dimensional circular interpolation which produces a helical shape.which produces a helical shape.
Parabolic and cubic interpolation.Parabolic and cubic interpolation.
137137
Program Loading:
Through keyboard Through punched tape reader Through diskette drive Through RS 232 serial port Through network interface card
138138
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.
Direct Numerical Control (DNC):
139139
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.
Direct Numerical Control (DNC):
140140
Distributed NC is known by the same acronym Distributed NC is known by the same acronym as Direct Numerical Control (DNC). After the as Direct Numerical Control (DNC). After the introduction of CNC, the machine tools have introduction of CNC, the machine tools have had the capability of storing large amount of had the capability of storing large amount of information. Therefore, there have been no information. Therefore, there have been no need to have drip feed information system, like, need to have drip feed information system, like, Direct Numerical Control. Instead, Distributed Direct Numerical Control. Instead, Distributed Numerical Control is introduced. In such a Numerical Control is introduced. In such a system, a host computer communicate with system, a host computer communicate with many CNC machine tools via networks and many CNC machine tools via networks and download or upload programs.download or upload programs.
Distributed Numerical Control (DNC):
141141
With Distributed Numerical Control systems, it With Distributed Numerical Control systems, it is possible to monitor the activities in individual is possible to monitor the activities in individual CNC machine tools on host computer. CNC machine tools on host computer.
Therefore, better shop floor control can be Therefore, better shop floor control can be achieved.achieved.
Distributed Numerical Control (DNC):
142142
NC program preparation may be tedious and NC program preparation may be tedious and difficult if the part to be machined has a difficult if the part to be machined has a complex geometry. The main difficulty is to find complex geometry. The main difficulty is to find out the cutter locations during the machining. out the cutter locations during the machining. Computers may be used to assist the Computers may be used to assist the programmers in preparing the NC codes.programmers in preparing the NC codes.
Computer Aided Part Programming:
143143
Advantages of applying computer-aided part Advantages of applying computer-aided part programming include the following:programming include the following:
1. It reduces the manual calculations 1. It reduces the manual calculations involves in determining the geometric involves in determining the geometric characteristics of the part.characteristics of the part.
It provides the cutter path simulation.It provides the cutter path simulation. It provides tool collision checking.It provides tool collision checking. It shortens the program preparation time.It shortens the program preparation time. It makes the program preparation easier.It makes the program preparation easier.
144144
The Aerospace Industries Association sponsored the work The Aerospace Industries Association sponsored the work that led to the first part programming language, developed in that led to the first part programming language, developed in MIT in 1955.MIT in 1955.
This was called:This was called: Automatically Programmed ToolsAutomatically Programmed Tools (APT). (APT). APT is an English like simple programming language which APT is an English like simple programming language which
basically produce the basically produce the Cutter LocationCutter Location (CL) data. (CL) data. Using the cutter location data, the program can generate the Using the cutter location data, the program can generate the
actual NC codes by using a postprocessor .actual NC codes by using a postprocessor .
145145
The output of any CAD package include the geometric data of the The output of any CAD package include the geometric data of the part to be machined. Therefore, many CAD/CAM package can part to be machined. Therefore, many CAD/CAM package can produce cutter location (CL) data to be used for NC code produce cutter location (CL) data to be used for NC code generation.generation.
There is still to be a process planning module for a workable NC There is still to be a process planning module for a workable NC code generation. code generation.
Some of the CAD/CAM packages that have the NC code Some of the CAD/CAM packages that have the NC code generation capabilities are Computervision, CATIA, CADAM, generation capabilities are Computervision, CATIA, CADAM, ProEngineer, MechanicalDesktop (Auto Desk).ProEngineer, MechanicalDesktop (Auto Desk).
CAD/CAM Based Part Programming:CAD/CAM Based Part Programming: