nc pogramming

62
06/20/22 Numerical Control and Programming

Upload: illpa

Post on 24-Jun-2015

2.414 views

Category:

Education


1 download

DESCRIPTION

presentation

TRANSCRIPT

Page 1: NC pogramming

04/13/23

Numerical Control and Programming

Page 2: NC pogramming

04/13/23

An NC system for large parts

Page 3: NC pogramming

04/13/23

Brief History of Machine Tool

• Basic machining, as early as 700 B.C.• Metal machining, 15th century• Invention of high speed steel, early 20th

century• Automated machine controlled by

mechanical devices, first two decades of 20th century

• Fixed automation, 1930s and 1940s• A machine tool is coupled with a computer,

1947• A first NC prototype, 1952

Page 4: NC pogramming

04/13/23

Definition of Numerical Control

• A system in which actions are controlled by direct insertion of numerical data at some point. The system must automatically interpret at least some portion of this data.

Page 5: NC pogramming

04/13/23

NC motion-control commands

Commands for individual components

Commands for motion

Page 6: NC pogramming

04/13/23

NC classification regarding

• Motion control: PTP versus continuous path

• Control loops: open versus close• Power drives: hydraulic, electric, or

pneumatic• Positioning systems: incremental or

absolute positioning• Hard-wired NC and soft-wired CNC

Page 7: NC pogramming

04/13/23

A point-to-point NC system

Page 8: NC pogramming

04/13/23

Continuous-path control using linear interpolation

Page 9: NC pogramming

04/13/23

The structure of an NC machine

Page 10: NC pogramming

04/13/23

Major components comprising an NC machine tool

Page 11: NC pogramming

04/13/23

Leadscrew and machine ways (Courtesy of Cincinnati Milacron)

Page 12: NC pogramming

04/13/23

A typical screw thread

Page 13: NC pogramming

04/13/23

Accuracy and repeatability

• Accuracy• Repeatability• Spindle and axis-motor horsepower• Number of controlled axes• Dimension of the workspace• Features of the machine and the controller

Page 14: NC pogramming

04/13/23

Motion control for NC

Inverse kinematics is to convert the position and orientation

commands into the machines axes commands

Interpolation is to coordinate multiple

axes to move the tool on a desired trajectory

Page 15: NC pogramming

04/13/23

Interpretation: Linear path

Interpolation is important when we try to control the path of the tool.

Page 16: NC pogramming

04/13/23

A DDA

Page 17: NC pogramming

04/13/23

Two-axis control

Page 18: NC pogramming

04/13/23

A linear interpolator example

Page 19: NC pogramming

04/13/23

Page 20: NC pogramming

04/13/23

Machine Kinematics: A Cartesian machine

Page 21: NC pogramming

04/13/23

A lathe

Page 22: NC pogramming

04/13/23

A three-axis vertical milling machine

Page 23: NC pogramming

04/13/23

5-axis machine - 1

Page 24: NC pogramming

04/13/23

5-axis machine - 2

Page 25: NC pogramming

04/13/23

5-axis machine - 3

Page 26: NC pogramming

04/13/23

Rotary table attachment (Courtesy of Fadal Machine)

Page 27: NC pogramming

04/13/23

Five-axis machine coordinate systems

Page 28: NC pogramming

04/13/23

Relating the workpiece coordinate system with the 5-axis coordinate system

Page 29: NC pogramming

04/13/23

NC Manual Programming

• One needs to tell the controller what needs to be done in order to machine a particular component. CNC programs are the means of achieving this.

• CNC programs are made up of a series of commands or blocks that inform the controller what must be done, step by step. A CNC program is sequentially executed, one step at a time and the controller executes the commands in the same order as encountered.

• Programming can be done in several ways:– On line—using the machine’s controller– Off line—coding and later downloading using tapes, etc.

Page 30: NC pogramming

04/13/23

N005 G00 X10 Y10 Z10 M03

word word word

Block or Command

NC Programming Languages

• There does not exist a standard NC programming language

• Every CNC machine manufacturer has a special language for programming their machines.

• The closest to a standard language are G/M codes.– A G/M code CNC program is made up of a series of

commands. Each command or block is made up of words– Each word is composed of a letter address (X,Y,Z,R, etc.)

and a numerical value.

Page 31: NC pogramming

04/13/23

NC program functions

• Preparatory functions• Coordinates• Machining parameters: feed and speed• Tool control• Cycle functions• Coolant control• Miscellaneous control• Interpolators

Page 32: NC pogramming

04/13/23

Reference Points

• Machine Reference Zero:– Each axis of motion has a reference point which provides a

starting point for each axis• All positions are measured with respect to this point.

– The reference points of all the axes determine a machine’s reference zero point.

• All distances are measured with respect to this point.

• Program Reference Zero:– Reference point for measuring distance on the part or

drawing.

• Local Reference Zero:– Temporary reference point from which distances can be

measured.

Page 33: NC pogramming

04/13/23

Reference Points (contd)

program reference zero

(-5,-6,-7)

workpiece

table

(0,0,0) m/c home zeroLRZ

Tool

Page 34: NC pogramming

04/13/23

Absolute Vs. Incremental Mode

• Absolute Mode– the distances moved are relative to the program zero.

• Incremental Mode:– the distances moved are relative to the machine’s current position.

• Absolute Mode: To what position does the m/c move?

• Incremental Mode: How far does the m/c move?

Page 35: NC pogramming

04/13/23

Figure

1

7

6

5

43

2

1 432 5

14

32

5 Point Absolute Mode Incremental Mode

1 X 1.0 Y 1.0 X 1.0 Y 1.0

2 X 2.0 Y 1.0 X 1.0 Y 0.0

3 X 3.0 Y 2.0 X 1.0 Y 1.0

4 X 4.0 Y 2.0 X 1.0 Y 0.0

5 X 4.0 Y 4.0 X 0.0 Y 2.0

6 X 5.0 Y 2.0 X 1.0 Y –2.0

7 X 5.0 Y 5.0 X 0.0 Y 3.0

Page 36: NC pogramming

04/13/23

Machine Configuration

Y

Z

X

Vertical Milling Machine

X

Z

Y

Horizontal Milling Machine

Page 37: NC pogramming

04/13/23

Components of a G/M Code Program

• N: Specifies a sequence number for program command identification (e.g., N05, N0010, ..., etc.)

• G: Specifies Preparatory Functions which allow various modes to be set from within the program (e.g., G90-sets absolute mode, etc.)

• X,Y,Z: Specify linear movement along the axes (e.g., X10 means move 10 units in the +x direction)

• A,B,C: Specify the rotary motions• F: Specifies the desired feed rate (e.g., F3.5 means 3.5 distance

units/time unit)• S: Specifies the spindle speed (usually in rpm) (e.g., S2000

means spindle rotates at 2000 rpm)• M: Specifies Miscellaneous functions like spindle stop (M05)

Page 38: NC pogramming

04/13/23

• 3-axis Vertical milling machine

In all movements, consider tool tip as moving, NOT the axes

spindle

cutting tool

table-X +X

-Z

+z+Y

-Y

Machine Axes

Page 39: NC pogramming

04/13/23

• Program Reference Zero (PRZ)

• PRZ can be set up manually or within NC program– Nxx G92 Xxx Yxx Zxx– e.g. N020 G92 X5.000 Y6.000 Z7.000

==> Location of Home Zero is (5,6,7)

(i.e., the zero point has been shifted)

program reference zero

(-5,-6,-7)

workpiece

table

(0,0,0) m/c home zero

Machine Home Zero

Page 40: NC pogramming

04/13/23

Before Writing Any NC Program

• Develop a sequence of operations.• Do all math necessary and “mark up” your blueprint.• Program zero & absolute mode (incremental mode)

• Determine the Tool Motion:– Rapid motion G00– St. Line Cutting Motion G01– Circular Motion G02 CW; G03 CCW Depends on the tool

thread direction.– All these are MODAL commands

Page 41: NC pogramming

04/13/23

Sample G/M Code

N015 G00 X5.0 Y5.0

– rapid rate– minimize “air cutting”– need not be in a straight. line

Tool at start position

Program Zero

5.0

5.0

Page 42: NC pogramming

04/13/23

Sample G/M Code

Centerline Movements

– Tool moves along straight line at specified feed rate– Feed Rate is also a modal command.– Used for operations like: drilling a hole, milling a straight

surface, milling an angular surface.

Start

End

Program Zero

5

5N025 G01 X5. Y5. F3.5

3.5 ipm

Page 43: NC pogramming

04/13/23

Sample G/M Code

Use R. or I, J to specify radius

N015 G03 X5.0 Y5.0 I-2.0J0.0F3.5

Start

End

5

5

N015 G03 X5. Y5. R2. F3.5

2” radius

2.0

Page 44: NC pogramming

04/13/23

Preparatory Functions (G Codes) - Partial List

G00: Rapid Traverse

G01: Linear Interpolation

G02: Clockwise Circular Interpolation

G03: Counterclockwise Circular Interpolation

G04: Dwell (G04 10.0 - for 10 secs)

G17: XY—Plane Selection

G20: Measurement in inches

G21: Measurement in mm.

G28: Return to reference position

G40: Cutter Compensation/Offset Cancel

G41: Cutter Compensation—Left

G42: Cutter Compensation—Right

G80: Cancel Canned Cycles

G90: Absolute Format

G91: Incremental Format

G92: Program Zero Definition

G94: Feedrate in inches/min.

Page 45: NC pogramming

04/13/23

Auxiliary Functions (M Codes) - Partial List

M00: Halt

M02: Program End

M03: Spindle On (CW)

M04: Spindle On (CCW)

M05: Spindle Off

M08: Coolant On

M09: Coolant Off

M30: End Newpart

• Program end must contain M02 or M30.• Always turn on spindle before entering workpiece.• Never turn off spindle before retracting from

workpiece.

Page 46: NC pogramming

04/13/23

– Identify PRZ, cutter radius– Calculate coordinates of “important” points on the offset tool path

• A: (-0.25, -0.25); C: (3.25, 2.25)

• B: (-0.25, 2.25); D: (3.25, -0.25)

Developing NC Programs

D

C

Path of the cutter center

2” 1/4”

3”

B

A

Page 47: NC pogramming

04/13/23

Developing NC Programs (contd)• Cutter diameter = 0.5”

• P1: X of P1 = 4 - 0.25 = 3.75

Y of P1 = 4 - 0.25 * tan 67.5” = 3.396

• Calculate intersection points

1. Use geometric calculation

2. Solving the equation

P1 (3.75,3.396)

P1

P2 P3

Page 48: NC pogramming

04/13/23

An Developing NC Programs (contd)

• Cutter diameter = 0.25”

• P2: (4-0.25, 9+0.25) = (3.75, 9.25)

• Way1: P3: (x, 9.125), x=

• Way2: assume the circle center =(0,0)

2 26.5 0.75 0.25 5.793

0.75P3

P20.75

P3

P2

2 2 2' ' 0.75, ' 5

' 0.25

x yx

y

6.5 ' 6.5 5, y 9 ' 9.25x x y Transfer coordinate back:

Final important offset

points

Page 49: NC pogramming

04/13/23

Developing NC Programs (contd)

N10 F60 S400 M03

N20 G01 X3.75 Y3.396

N30 G01 Y9.25

N40 G01 X5.793 Y9.25

N50 G03 X7.207 Y9.25 I 0.707_ J_-0.25_ or R 0.75

N60 G01 X9. 604

N70 G01 X3.75 Y3.396

N80 G01 X0. Y0 M05 M30

To decide the I, J vector that rep the radius:

(I,J) = start (x,y) center (x,y)

I=6.5- 5.793 = 0.707_

J=9 – 9.25 =_-0.25_

Ending point of G03

Page 50: NC pogramming

04/13/23

Cutter Radius Compensation

• Allows programmer to:– forget about radius of milling cutter as program is written– program only workpiece coordinates

• Used only when you are milling on the “side” of the cutter. Not used for drills, tapes, reamers, face mills, etc.

• 3 basic steps to using cutter radius compensation– Initialize cutter radius compensation– Make tool movements using cutter radius compensation– Cancel cutter radius compensation

Page 51: NC pogramming

04/13/23

• To initialize, first determine whether cutter is to the LEFT or the RIGHT of the workpiece during the cut– G41: Left

– G42: Right

• D word stores cutter radius information e.g.. D1 => radius of tool 1

G42 Cutter Right G42 Cutter Right

G41 Cutter left

G41 Cutter left

Cutter Radius Compensation (contd.)

Page 52: NC pogramming

04/13/23

Cutter Radius Compensation (contd.)

Tool Position prior to initialization: • Position the tool so that as we instate cutter radius

compensation, and begin cutting, a right angle is formed.– G41, G42 are modal commands canceled using G40.

• Get tool out of workpiece before canceling cutter radius compensation.

• G43 for tool length compensation• H word H1: length of tool 1.• Now let’s try to put it all together and look at a full

example of cutter radius compensation.

Page 53: NC pogramming

04/13/23

Cutter Radius Compensation - Examples

4.00

6.00

1” Radius (typ)0.5 Wall (typ)

1” cutter

2.00

1.50

0.50

Page 54: NC pogramming

04/13/23

Cutter Radius Compensation - Examples (contd)

N005 G92 X10. Y10. Z10 (Set up program zero; just example numbers)

N010 G90 S400 M03 (Select absolute mode and turn the spindle on CLW at 400 RPM)

N015 G00 X1.5 Y2. (Move over to first X Y position, still tool centerline coordinates.)

N020 G43 N01 Z.1 M06 (Instate tool length compensation, move tool down, and turn on the coolant)

N025 G01 Z-.5 F6.5 (Plunge tool into work surface at 6.5 IPM)

N030 G42 D31 X.5 F3.0 (Instate cutter radius compensation.)

N035 Y2.5

N040 G02 X1.5 Y3.5 R1.

N045 G01 X4.5

N050 G02 X5.5 Y2.5 R1.

N055 G01 Y1.5.

N060 G02 X4.5 Y.5 R1.

N065 G01 X1.5

N070 G02 X.5 Y1.5 R1.

N075 G01 Y2.0 (Last cutting move back to Y2.0)

N080 G00 Z.1 (Move tool up to clear workpiece in Z)

N085 G40 M09 (Cancel cutter radius compensation and turn off coolant)

N090 G91 G28 X0 Y0 Z0 (Send the machine to home position)

N095 M30 (End of program)

Page 55: NC pogramming

04/13/23

Cutter Radius Compensation - Examples (contd)

2.0

3.0

4.0

2.6

0.2

1.0 1.0

R 0.4

0.2

0.2

0.2

1.0

0.2

Program Zero

Page 56: NC pogramming

04/13/23

Cutter Radius Compensation - Examples (contd)

N010 G90 S305 M03 (1” End Mill)

N015 G00 X4.6 Y-.6

N020 G43 H01 Z.1 M08

N025 G01 Z.-2 F30.

N030 G42 D31 X3.8 F4.0 (NOTE: “D31” would be “H31” for 0M or 3M control)

N035 Y2.4

N040 G03 X3.4 Y2.8 R.4

N045 G01 X3.0

N050 X2.0 Y2.6

N055 X1.0 Y2.8

N058 X.6

N060 G03 X.2 Y2.4 R.4

N065 G01 Y.6

N070 G03 X.6 Y.2 R.4

N075 G01 X3.4

N080 G03 X3.8 Y.6 R.4

N085 G00 Z.1

N090 G40 M09

N095 G91 G28 Z0 (NOTE: No need for “M19” because only one tool in program)

N100 G28 X0 Y0

N105 M30

Page 57: NC pogramming

04/13/23

More example

Page 58: NC pogramming

04/13/23

Solution

Page 59: NC pogramming

04/13/23

Example

Page 60: NC pogramming

04/13/23

Solution

Page 61: NC pogramming

04/13/23

Example

Page 62: NC pogramming

04/13/23

Solution