NC pogramming

3,650 views

Published on

presentation

Published in: Education
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
3,650
On SlideShare
0
From Embeds
0
Number of Embeds
128
Actions
Shares
0
Downloads
202
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

NC pogramming

  1. 1. 03/30/15 Numerical Control and Programming
  2. 2. 03/30/15 An NC system for large parts
  3. 3. 03/30/15 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
  4. 4. 03/30/15 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.
  5. 5. 03/30/15 NC motion-control commands Commands for individual components Commands for motion
  6. 6. 03/30/15 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
  7. 7. 03/30/15 A point-to-point NC system
  8. 8. 03/30/15 Continuous-path control using linear interpolation
  9. 9. 03/30/15 The structure of an NC machine
  10. 10. 03/30/15 Major components comprising an NC machine tool
  11. 11. 03/30/15 Leadscrew and machine ways (Courtesy of Cincinnati Milacron)
  12. 12. 03/30/15 A typical screw thread
  13. 13. 03/30/15 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
  14. 14. 03/30/15 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
  15. 15. 03/30/15 Interpretation: Linear path Interpolation is important when we try to control the path of the tool.
  16. 16. 03/30/15 A DDA
  17. 17. 03/30/15 Two-axis control
  18. 18. 03/30/15 A linear interpolator example
  19. 19. 03/30/15
  20. 20. 03/30/15 Machine Kinematics: A Cartesian machine
  21. 21. 03/30/15 A lathe
  22. 22. 03/30/15 A three-axis vertical milling machine
  23. 23. 03/30/15 5-axis machine - 1
  24. 24. 03/30/15 5-axis machine - 2
  25. 25. 03/30/15 5-axis machine - 3
  26. 26. 03/30/15 Rotary table attachment (Courtesy of Fadal Machine)
  27. 27. 03/30/15 Five-axis machine coordinate systems
  28. 28. 03/30/15 Relating the workpiece coordinate system with the 5-axis coordinate system
  29. 29. 03/30/15 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.
  30. 30. 03/30/15 N005 G00 X10 Y 10 Z10 M 03 word word word B lock or C ommand 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.
  31. 31. 03/30/15 NC program functions • Preparatory functions • Coordinates • Machining parameters: feed and speed • Tool control • Cycle functions • Coolant control • Miscellaneous control • Interpolators
  32. 32. 03/30/15 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.
  33. 33. 03/30/15 Reference Points (contd) program reference zero (-5,-6,-7) workpiece table (0,0,0) m/c home zero LRZ Tool
  34. 34. 03/30/15 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?
  35. 35. 03/30/15 Figure 1 7 6 5 43 2 1 432 5 14325 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
  36. 36. 03/30/15 Machine Configuration Y Z X Vertical Milling Machine X Z Y Horizontal Milling Machine
  37. 37. 03/30/15 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)
  38. 38. 03/30/15 • 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
  39. 39. 03/30/15 • 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
  40. 40. 03/30/15 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
  41. 41. 03/30/15 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
  42. 42. 03/30/15 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 5 N025G01X5.Y5.F3.5 3.5ipm
  43. 43. 03/30/15 Sample G/M Code Use R. or I, J to specify radius N015 G03 X5.0 Y5.0 I-2.0J0.0F3.5
  44. 44. 03/30/15 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.
  45. 45. 03/30/15 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.
  46. 46. 03/30/15 – 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
  47. 47. 03/30/15 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
  48. 48. 03/30/15 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) 0.75 P3 P2 0.75 P3 P2 Transfer coordinate back: Final important offset points
  49. 49. 03/30/15 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
  50. 50. 03/30/15 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
  51. 51. 03/30/15 • 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.)
  52. 52. 03/30/15 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.
  53. 53. 03/30/15 Cutter Radius Compensation - Examples 4.00 6.00 1” Radius (typ) 0.5 Wall (typ) φ 1” cutter 2.00 1.50 0.50
  54. 54. 03/30/15 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)
  55. 55. 03/30/15 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.20.2 1.0 0.2 P r o g r a m Z e r o
  56. 56. 03/30/15 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
  57. 57. 03/30/15 More example
  58. 58. 03/30/15 Solution
  59. 59. 03/30/15 Example
  60. 60. 03/30/15 Solution
  61. 61. 03/30/15 Example
  62. 62. 03/30/15 Solution

×