`
`Slot produced by
`end milling
`
`dkis
`*)os,,
`
`Z-axis movement
`
`Figure 6.3 Resulting tool path when three slides move simultaneously.
`
`Contouring
`Contouring also involves two or more controlled slide movements resulting
`from program data that specify the next position required and the required feed
`rates to reach that position, so there is some overlap between linear interpo-
`lation and contouring. However, contouring can also be much more complex,
`involving combinations of angular movement and curves with one feature mov-
`ing without interruption in the cutting process into another. This type of move-
`ment gives rise to the expression continuous path machining, which is often
`used to describe contouring.
`Machining of the elliptical profile shown in Figure 6.4 would involve con-
`tinuous path movement. Likewise, the radii shown on the components in Figure
`6.5 would be produced in a similar manner. The elliptical shape is not readily
`defined in numerical terms, and to produce the necessary cutter path would
`present an interesting, although not insurmountable, problem to the part pro-
`grammer unless the control system was specially equipped with a canned cycle
`to deal with such a situation. On the other hand, the two radii shown in Figure
`6.5 are an everyday occurrence and most control systems can readily accom-
`modate the production of a radius, or a combination of radii. Such a facility
`is referred to as circular interpolation.
`Circular arcs may be programmed in the XY, XZ, and YZ planes. In excep-
`tional cases three axes may be involved, resulting, in effect, in a helical tool
`path.
`
`PART PROGRAMMING AND MACHINE CONTROL (cid:9)
`
`123
`
`(cid:9)►
`
`
`1
`
`Tool path
`
`Machined profile
`
`Figure 6.4 Component profile produced by contouring.
`
`Cutter
`
`Constant radius curves
`
`a)
`
`Constant radius curves
`
`(b)
`
`Figure 6.5 Components with radial features requiring circular interpolation: (a) turned corn-
`ponent and (b) milled profile.
`
`Page 16 of 74
`
`RA v. AMS
`Ex. 1010
`
`(cid:9)
`
`
`124
`
`PROGRAMMING POSITIONAL MOVES
`
`In practice the three types of positioning referred to previously are rarely iso-
`lated. The production of the majority of components will involve a combination
`of the techniques. However, it will be necessary to clearly identify in the part
`program the type of positioning required at each stage of the machining pro-
`cess.
`Manual data input systems will vary from one control system to another. For
`example, a widely used training machine specifies all linear movement as linear
`interpolation and differentiates by linking the movement to an appropriate feed
`rate. The program entry is reduced to pressing a linear interpolation key fol-
`lowed by the dimensional detail and the feed rate. Similarly, a radius is simply
`defined by pressing a circular interpolation key, followed by a data entry of
`the dimensional value of the target position, the radius, and the direction of
`rotation as either clockwise or counterclockwise.
`Control systems using the recommendations contained in EIA RS-274-D or
`BS 3635:1972 will specify the type of positioning involved by using the ap-
`propriate preparatory function or G code, the common ones being as follows:
`
`GOO Point-to-point
`GO1 Linear interpolation
`G02 Circular interpolation clockwise
`G03 Circular interpolation counterclockwise
`
`Having defined the type of positioning in this way the instruction is completed
`by including dimensional details of the move together with the feed rate for
`G01, G02, and G03. GOO moves are usually made at the maximum slide tra-
`verse rate for the machine.
`
`DIMENSIONAL DEFINITIONS OF SLIDE MOVEMENT
`
`In Chapter 1 it was explained that the axes in which slide movement can take
`place are designated by a letter and either a plus (+) or minus (-) sign to
`indicate the direction of movement. Unfortunately, these designated slide
`movements, owing to the different design configurations of machine tools, do
`not always coincide with the movement of the tool in relation to the work, and
`as a result this can cause some confusion when slide movements are being
`determined. In the case of a turning center with a conventional tool post there
`is no problem, since the slide movement and the tool movement in relation to
`the work are identical. But on a vertical machining center, for example, to
`achieve a positive (+) movement of the tool in relation to the work, the table,
`not the cutter, has to move, and this movement is in the opposite direction.
`Since a move in the wrong direction, especially at a rapid feed rate, could have
`disastrous results, this fact should be clearly understood.
`
`PART PROGRAMMING AND MACHINE CONTROL
`
`125
`
`A sound technique when determining slide movements is to program the tool
`movement in relation to the work. In other words, on all types of machines,
`imagine it is the tool moving and not, as is sometimes the case, the workpiece.
`To do this it is necessary to redefine some, but not all, of the machine move-
`ments. A simple diagram such as the one alongside the components shown in
`Figures 6.6 and 6.9 is usually very helpful.
`Once the direction of movement has been established it will need to be di-
`mensionally defined. There are two methods used, and they are referred to as:
`
`(a) absolute;
`(b) incremental.
`
`Figure 6.6 shows the profile of a component to be machined on a turning center
`using the machine spindle center line and the face of the workpiece as datums
`in the X and Z axes respectively. Assume the sequence of machining is to
`commence with the 1.4 in. (35 mm) diameter, followed by the 1.2 in. (30 mm)
`diameter and finishing with the 1 in. (25 mm) diameter.
`To machine the profile using absolute dimensions, it is necessary to relate
`all the slide movements to a preestablished datum. The movements required in
`absolute terms are indicated in Figure 6.7. Note that all position commands
`are the actual distance that the tool tip is from the datum point.
`Incremental positioning involves relating the slide movement to the final po-
`sition of the previous move. The slide movements, expressed in incremental
`terms, which would be necessary to machine the profile are indicated in Figure
`6.8. Note position commands indicate the direction and the exact amount of
`slide motion required.
`Note that each dimension in the X axis in Figure 6.7 is equal to the work
`
`80 (3.0)
`
`50
`(2.0)
`
`30
`(1 2)
`
`X-
`
`z-
`
`z+
`
`1
`X+
`
`O O
`
`CD
`CD
`
`v
`
`1111Ih
`XZ zero datum
`300
`(1.20)
`
`350
`(1 40)
`
`10
`(0.4)
`
`Figure 6.6 Component detail. (Inch units are given in parentheses.)
`
`Page 17 of 74
`
`RA v. AMS
`Ex. 1010
`
`
`
`126
`
`PART PROGRAMMING AND MACHINE CONTROL (cid:9)
`
`127
`
`C
`
`(a)
`
`(b)
`
`(c)
`
`50 (2)
`
`N
`
`1.0
`(0.04)
`
`Axis movements
`
`All cuts start 1 mm
`(0.04 in.) from face
`
`X
`17.5 (0.7)
`Feed in
`Turn 350 (1.40) 17.5 (0.7)
`Withdraw
`18.0 (0.72)
`Return
`18.0 (0.72)
`
`1.0 (0.04)
`-50.0 (-2)
`-50.0 (-2)
`1.0 (0.04)
`
`Axis movements
`
`All cuts s art
`1 mm (0.04 in.) from face
`
`Feed in
`Turn 350 (1.40)
`Withdraw
`Return
`
`-2.5 (-0.1)
`0
`0.5 (0.02)
`0
`
`0
`-51.0 (-2)
`0
`51.0 (2)
`
`30 (1.2)
`
`r (cid:9)
`fs,. \ \ \ \ 1
`
`(b)
`
` 31 (1.2)
`
`h.
`
`/
`
`X
`15.0 (0.6)
`Feed in
`Turn 300 (1.20) 15.0 (0.6)
`Withdraw
`15.5 (0.62)
`Return
`15.5 (0.62)
`
`z
`
`1.0 (0.04)
`-30.0 (-1.2)
`-30.0 (-1.2)
`1.0 (0.04)
`
`Feed in
`Turn 250 (10)
`Withdraw
`Return
`
`X
`12.5 (0.5)
`12.5 (0.5)
`20.0 (0.8)
`20.0 (0.8)
`
`1.0 (0.04)
`-10.0 (-0.4)
`-10.0 (-0.4)
`1.0 (0.04)
`
`X
`
`Feed in
`Turn 300 (1.20)
`Withdraw
`Return
`
`-3.0
`(-0.12)
`0
`-0.5 (0.02)
`0
`
`0
`-31.0 (-1.2)
`0
`31.0 (-1.2)
`
`11
`
`17-777
`
`(c)
`
`Feed in
`Turn 250 (10)
`Withdraw
`Return
`
`X
`
`-3.0 (-0.12)
`0
`7.5 (0.3)
`0
`
`0
`-11.0 (-0.4)
`0
`11.0 (0.4)
`
`Figure 6.7 Turning using absolute positioning. (Inch units are given in parentheses.)
`
`Figure 6.8 Turning using incremental positioning. (Inch units are given in parentheses.)
`
`radius. When turning, some control systems will require dimensions in the X
`axis to be stated as a diameter, other machines may allow the programmer to
`select radius or diameter programming.
`Figure 6.9 shows a component that is to be milled in the sequence A to C
`on a vertical machining center using datums as indicated. Assume that the
`movement in the Z axis to give a slot depth of 0.4 in (10 mm) has already
`
`been made. The necessary slide movements in the X and Y axes in absolute
`and incremental terms are indicated in Figures 6.10 and 6.11, respectively.
`On the more sophisticated control systems, it is possible to use absolute and
`incremental dimensional definition within the same program, the distinction
`being achieved by using the G91 preparatory function code when the switch
`from absolute (G90) to incremental (G91) is to be made.
`
`Page 18 of 74
`
`RA v. AMS
`Ex. 1010
`
`(cid:9)
`
`
`128
`
`XY zero datum
`
`20 (0.8) (cid:9)
`
`25 (1)
`
`30 (1.2)
`
`Y+
`
`X-
`
`X+
`
`Figure 6.10 Milling using ab-
`solute positioning. (Inch units
`are given in parentheses.)
`
`12
`(0.5)
`
`tCl
`
`Move from datum to position 1
`Mill to length
`Return to position 1
`
`Axis movements
`X
`35.00 (1.4)
`35.00 (1.4)
`35.00 (1.4)
`
`0
`-50.00 (-2.00)
`0
`
`' Position 1 (cid:9)
`
`Position 2
`
`L-
`
`l_ I _J
`
`LI)
`
`Figure 6.9 Component detail. (Inch units given in parentheses.)
`
`CIRCULAR INTERPOLATION
`
`It was stated earlier that circular arc programming, particularly on conversa-
`tional data input systems, has been reduced to simply dimensionally defining
`the target position, the radius, and the direction in which movement is to take
`place. On control systems using the word address format, it is rather more
`complex and there are slight variations in approach. Two of these variations
`will be considered later.
`Common to all systems used to program circular movement is the need to
`determine whether the relative tool travel is in a clockwise (CW) or counter-
`clockwise (CCW) direction. The following approach is usually helpful.
`
`1. For milling operations look along the machine spindle toward the surface
`being machined.
`2. For turning operations look on to the top face of the cutting tool. (For in-
`verted tooling this involves looking at the tool from below.)
`
`The standard G codes for circular interpolation are G02 (CW) and G03 (CCW).
`However, not all systems adopt this recommendation and there is at least one
`widely used system in which they are reversed, that is, G02 is CCW and G03
`
`(b)
`
`X
`Move from position') to position 2 60.00 (2.4)
`Mill to length
`60.00 (2.4)
`60.00 (2.4)
`Return to position 2
`
`0
`-55.00 (-2.2)
`0
`
`Position 2
`
`Position 3
`
`90
`(3.5)
`
`(c)
`
`X
`Move from position 2 to position 3 90.00 (3.5)
`Mill to length
`90.00 (3.5)
`90.00 (3.5)
`Return to position 3
`0
`Return to datum
`
`0
`-60.00 (-2.4)
`0
`0
`
`Page 19 of 74
`
`RA v. AMS
`Ex. 1010
`
`
`
`130
`
`XYzero datum
`
`Position 1
`
`35
`(1.4)
`
`Figure 6.11 Milling using in-
`cremental positioning. (Inch
`units are given in parenthe-
`ses.)
`
`(a)
`
`Axis movements
`
`Move from datum to position 1
`Mill to length
`Return to position 1
`
`35.00 (1.4)
`0
`0
`
`0
`—50.00
`50.00
`
`(-2.00)
`(2.00)
`
`(b)
`
`X
`Move from position 1 to position 2 25.00 (1.00)
`0
`Mill to length
`0
`Return to position 2
`
`Y
`
`0
`— 55.00 (— 2.2)
`55.00 (2.2)
`
`90 (3.5)
`
`—43— (cid:9)
`
`Position 2 //
`
`30
`(1.2)
`
`Position 3
`e."--
`
`(NJ
`
`(c)
`
`Move from position 2 to position 3
`Mill to length
`Return to position 3
`Return to datum
`
`X
`30.00 (1.2)
`0
`0
`— 90.00 (-3.5)
`
`0
`—60.00 (-2.4)
`60.00 (2.4)
`0
`
`PART PROGRAMMING AND MACHINE CONTROL (cid:9)
`
`131
`
`is CW. (In this case it is advisable to refer to the machine tool programming
`manual.)
`The three variations in arc programming referred to above are as follows.
`Note: That machines will normally not have all three methods of circular arc
`programming.
`
`Method 1
`Assuming that the last programmed move brought the cutting tool to the start
`point, the arc is defined in the following manner:
`
`1. The finish or target point of the arc is dimensionally defined in relation
`to the start point using the appropriate combination of X, Y, and Z di-
`mensional values stated in absolute or incremental terms.
`2. The center of the arc is dimensionally defined in relation to the start
`point using I, J, and K values measured along the corresponding X, Y,
`and Z axes respectively.
`
`Thus the arc shown in Figure 6.12 would be programmed as follows. In ab-
`solute terms using diameter programming:
`
`Inch
`
`q02
`
`Metric
`
`G02
`
`In incremental terms:
`
`Inch
`
`G02
`
`Metric
`
`G02
`
`X
`1.6
`
`X
`40
`
`X
`0.8
`
`X
`20
`
`Z
`2.0
`
`Z
`50
`
`Z
`—0.8
`
`Z
`—20
`
`I
`0
`
`I
`0
`
`/
`0
`
`/
`0
`
`K
`0.8
`
`K
`20
`
`K
`0.8
`
`K
`20
`
`The variation in the X values in these two examples is because the absolute
`program assumes that X values are programmed as a diameter rather than a
`radius.
`I has no value because the center and start point of the arc are in line with
`each other in relationship to the X axis. In practice, when a value is zero, it
`is not entered in the program.
`The I, J, and K values are always positive, with I related to X, J related to
`Y, and K related to Z.
`Complete circles and semicircles are programmed as a series of 90° quadrants
`in many cases. Thus a complete circle would require four lines of program
`entry. New pieces of equipment can now complete full circles in one line of
`program entry.
`
`Page 20 of 74
`
`RA v. AMS
`Ex. 1010
`
`(cid:9)
`
`
`132 (cid:9)
`
`PART PROGRAMMING AND MACHINE CONTROL (cid:9)
`
`133
`
`50 (2)
`
`In incremental terms:
`
`XZzero datum
`
`R20 (cid:9)
`(R0.8)
`
`(r). (cid:9)
`
`Start
`
`End
`
`E (cid:9)
`
`Inch (cid:9)
`
`Metric (cid:9)
`
`G (cid:9)
`03 (cid:9)
`02 (cid:9)
`
`G (cid:9)
`03 (cid:9)
`02 (cid:9)
`
`X (cid:9)
`1.2 (cid:9)
`1.6 (cid:9)
`
`X (cid:9)
`30 (cid:9)
`40 (cid:9)
`
`Y (cid:9)
`—1.2 (cid:9)
`—1.6 (cid:9)
`
`Y (cid:9)
`—30 (cid:9)
`—40 (cid:9)
`
`/ (cid:9)
`1.2 (cid:9)
`0 (cid:9)
`
`I (cid:9)
`30 (cid:9)
`0 (cid:9)
`
`J
`0
`1.6
`
`J
`0
`40
`
`There are often situations where the start and/or stop points do not coincide
`with an X, Y, or Z axis, and it is then necessary to make a series of calculations.
`Such a situation is shown in Fig. 6.14. Dimensional values for X, Y, I, and J
`have to be determined. The necessary trigonometry is indicated in Fig. 6.15.
`From A to B the magnitude of the X move is
`
`Figure 6.12 Turned component detail involving arc programming. (Inch units are given in (cid:9)
`parentheses.) (cid:9)
`
`Inch 1 X cos 30° — 1 X cos 75° = 0.866 — 0.259 = 0.607
`Metric 25.00 cos 30° — 25.00 cos 75° = 21.65 — 6.47 = 15.18
`
`Figure 6.13 shows the program for a milled profile. The cutter radius has
`been ignored.
`In absolute terms:
`
`Inch
`
`Metric
`
`G
`03
`02
`
`G
`03
`02
`
`XYzero datum
`
`X
`2
`3.5
`
`X
`50
`90
`
`Start
`
`Y
`—1.2
`—1.2
`
`Y
`—30
`—70
`
`I
`1.2
`0
`
`1
`30
`0
`
`J
`0
`1.6
`
`J
`0
`40
`
`From A to B the magnitude of the Y move is
`
`Inch 1 x sin 75° — 1 x sin 30° = 0.966 — 0.500 = 0.466
`Metric 25.00 sin 75° — 25 sin 30° = 24.15 — 12.50 = 11.65
`
`The magnitude of the I dimension in the X axis is
`
`Inch 1 x cos 75° = 0.259
`Metric 25 cos 75° = 6.47
`
`The magnitude of J in the Y axis is
`
`Inch 1 x sin 75° = 0.966
`Metric 25.00 sin 75° = 24.15
`
`Once the dimensions have been incorporated, they are incorporated in the pro-
`gram as before.
`
`End/start
`
`7— End
`
`Figure 6.13 Milled component involving arc programming. (Inch units are given in parenthe-
`ses.) (cid:9)
`
`Figure 6.14 Partial arc programming. (Inch units are given in parentheses.)
`
`Page 21 of 74
`
`RA v. AMS
`Ex. 1010
`
`(cid:9)
`(cid:9)
`(cid:9)
`
`
`134 (cid:9)
`
`PART PROGRAMMING AND MACHINE CONTROL (cid:9)
`
`135
`
`—I"- 25.00 sin 30°
`i (1.00 sin 30°)
`
`25.00 cos 30°
`(1.00 cos 30°)
`
`A
`
`1.-- 6'
`o
`
`
`NI
`
`75°
`N 25.00 cos 75°
`(1.00 cos 75°)
`
`Figure 6.15 Trigonometry required to program a partial arc. (Inch units are given in paren-
`theses.)
`
`Method 2
`The second method of arc programming varies from the one previously de-
`scribed in the way in which the arc center is defined. As in the previous method,
`it will be assumed that the cutting tool has arrived at the start point of the
`curve. To continue, the following data are required.
`
`1. The finish or target point of the arc is dimensionally defined in relation
`to the start point using the appropriate combination of X, Y, and Z val-
`ues stated in absolute or incremental terms.
`2. The center of the arc is dimensionally defined in relation to the program
`datum using I, J, and K values measured along the corresponding X,
`Y, and Z axes respectively.
`
`Using this method the arc shown in Fig. 6.12 would be programmed as follows.
`In absolute terms:
`
`Inch
`
`Metric (cid:9)
`
`02
`
`02 (cid:9)
`
`X
`1.6 (cid:9)
`
`40
`
`2.0
`
`50 (cid:9)
`
`/ (cid:9)
`0 (cid:9)
`0 (cid:9)
`
`K
`2.0
`50
`
`Figure 6.16 Negative I and K values. (Inch units are given in parentheses.)
`
`X+
`
`In incremental terms:
`
`Inch (cid:9)
`
`Metric (cid:9)
`
`G (cid:9)
`02 (cid:9)
`
`02 (cid:9)
`
`X
`0.8 (cid:9)
`
`20 (cid:9)
`
`—0.8
`
`—20
`
`/ (cid:9)
`0 (cid:9)
`
`0 (cid:9)
`
`K
`2.0
`
`50
`
`Note that in this example it is / that has no value, since the center of the arc
`lies on the X datum and therefore / would be omitted from the program.
`When the arc center is related to the program datum it is possible for the /,
`J, and K values to be a negative quantity, as illustrated in Figure 6.16.
`The programming methods referred to above concern arcs of up to 90°. Some
`of the more modern control systems permit programming of arcs in excess of
`90° in one data block, a facility referred to as 'multi-quadrant' programming
`or 360° circular interpolation.
`
`Method 3
`The third method of arc programming on some controls is to use absolute or
`incremental polar coordinates. It varies from the previous methods in that it
`does not use I and J values. With this method the circle center point has been
`defined previously with X, Y, or Z values. The arc is then programmed with
`a radius dimension and an angular amount of tool path from the circle center.
`A positive or negative angle will establish the direction of the cutter path:
`
`1. The circle center is established with absolute or incremental dimensions.
`
`Page 22 of 74
`
`RA v. AMS
`Ex. 1010
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`
`
`136 (cid:9)
`
`PART PROGRAMMING AND MACHINE CONTROL (cid:9)
`
`137
`
`2. The tool will have been moved to the arc start point.
`3. The degrees of arc and radius are then programmed, with the sign (+ or
`—) on the degrees of arc establishing direction of cut.
`
`Using the above terms the arc in Figure 6.12 would be programmed as fol-
`lows:
`In absolute terms:
`
`Inch (cid:9)
`
`Metric (cid:9)
`
`CC XO Z2
`G1 XO Z2.8
`C Polar radius 0.8 polar angle 90°
`
`CC XO Z50
`G1 XO Z70
`C Polar radius 20 polar angle 90°
`
`Define circle center
`Position cutter to starting point
`Cut circle
`
`Define circle center
`Position cutter to start point
`Cut circle
`
`Positive angles denote clockwise motion; negative angles denote counterclock-
`wise motion. Note: Most machines with polar coordinate circular interpolation
`capabilities are conversationally controlled.
`In incremental terms:
`
`Inch (cid:9)
`
`CC XO Z2
`G1 X0 Z2.8
`
`C Polar radius 0,8 polar angle 90°
`
`Metric (cid:9)
`
`CC X0 Z50
`G1 XO Z20
`
`C Polar radius 20 polar angle 90°
`
`Circle center from datum
`Position tool to start from circle
`center
`Circular movement
`Circle center from datum
`Position tool to start from circle
`center
`Circular movement
`
`RAMP
`
`The starting and stopping of slide servo motors appear to be instantaneous. In
`fact there is, of course, a brief period of acceleration at the start of a move
`and a brief period of deceleration at the end of a move. This is shown graph-
`ically in Figure 6.17.
`The period of acceleration is known as "ramp up" and the period of dece-
`leration as "ramp down." The ramp is a carefully designed feature of the servo
`motor.
`From a metal-cutting point of view, the quicker a slide attains its correct
`feed rate the better, and ideally this should be maintained throughout the cut.
`The ramp period therefore is kept as brief as possible, but consideration has
`to be given to ensuring that at the end of the movement there is no motor over-
`run or oscillation, both of which could affect the dimensional accuracy of the
`component.
`For linear interpolation the ramp effect is rarely of concern, but for circular
`
`0.25 s
`
`Slide travel
`10 m/min
`(33 ft/min)
`
`0.25 s
`
`Motor speed constant
`
`0)
`0
`0
`
`0 ?it
`
`Figure 6.17 Servo motor speed/feed rate relationship.
`
`Time
`
`interpolation, and particularly where one curve runs into another, it is prefer-
`able that there is no speed variation of the servo motor, and thus of the feed
`rate of the slide, however small this might be. Any such variation would not
`only affect the metal-removal rate but may also affect the dimensional accuracy
`and surface finish of the component. Because of this, many control units are
`equipped with a ramp inhibit or ramp suppression facility, which means there
`is no slowing down or acceleration of the slide movement as one programmed
`movement leads into a second. G codes allocated to ramp are usually G08 and
`G09.
`
`REPETITIVE MACHINING SEQUENCES
`
`There are a number of machining sequences that are commonly used when
`machining a variety of components. Other less common sequences may be
`repetitive, but only on one particular component. It is helpful, since it reduces
`the program length, if such a sequence can be programmed just once and given
`an identity so that it can be called back into the main program as and when
`required. Such sequences are referred to in a variety of ways, for example, as
`cycles, subroutines, loops, patterns, and macros. Although this can be slightly
`confusing, there are instances when one particular title appears to be more
`appropriate than the others. Various types of repeat machining sequences are
`discussed here.
`
`Standardized Fixed Cycles
`A number of the basic machining sequences, or cycles, commonly used were
`initially standardized (ANSI/EIA RS-274-D:1979; BS 3635:1972). The rec-
`
`Page 23 of 74
`
`RA v. AMS
`Ex. 1010
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`
`
`138 (cid:9)
`
`ommendations were commonly adopted and continue to be employed today.
`The machining cycles are identified by assigned G codes, and when they are
`incorporated into a control system, they are referred to as "fixed" or "canned"
`cycles. Perhaps the most commonly used fixed cycle is that of drilling a hole.
`Consider the hole shown in Figure 6.18(a). The sequence of machine move-
`ments involved in drilling the hole would be:
`
`1. Position to hole location.
`2. Lower the spindle at a programmed feed rate.
`3. Lift the spindle rapidly to the start position.
`
`Now consider the process of drilling the hole shown in Figure 6.18(b). The
`same sequence of spindle movements is necessary; the only variation is in the
`depth of travel. To program such a sequence of moves is quite simple, but if
`there were a large number of holes to be drilled, apart from the boredom of
`repeating the necessary data when writing the program, the program itself would
`be very long. In addition, the fewer data commands that have to be handled
`the less likely it is that errors will be made. By standardizing the sequence of
`moves the only additional data requirements are the new hole location, depth
`of cut, feed rate, and spindle speed. This information, with the appropriate G
`code, is entered only once. Each time the slide moves to bring the spindle to
`a new position in relation to the work another hole is drilled to the programmed
`depth.
`
`PART PROGRAMMING AND MACHINE CONTROL (cid:9)
`
`139
`
`Nonstandardized Fixed Cycles
`It is often the case that manufacturers of machine control units wish to include
`in their systems cycles that are not necessarily widely applicable and therefore
`do not fit into the "standardized" category, but the inclusion of which consid-
`erably enhances their control system. The cycles they choose to include will
`depend on the machine type to which the control is to be fitted. Some of the
`more common cycles of this nature are discussed below.
`Loops The term "loop" is particularly relevant when reducing raw material to
`size by making a series of roughing cuts. Consider the component shown in
`Figure 6.19, which is to be reduced from 50 mm (2 in.) to 26 mm (1 in.)
`diameter by a series of cuts each of 2 mm (0.08 in.) depth. Assuming that the
`starting point for the tool is as shown, the tool will first move in a distance of
`2.5 mm (0.1 in.), thus taking a 2 mm (0.08 in.) depth of cut, travel along a
`length of 50 mm (2 in.), retract 0.5 mm (0.02 in.), and return to the Z datum,
`thereby completing the loop. It will then move in a distance of 2.5 mm (0.1
`in.), feed along 50 mm (2 in.), retract 0.5 mm (0.02 in.), and return to the Z
`datum, and so on. The loop, including the feed rate, is programmed just once,
`but is repeated via the "loop count" command in the main program as many
`
`70
`
`136
`
`2. Thi
`3. Thi
`
`Usit
`lows:
`In z
`
`Inch
`
`Metric
`
`Positi
`wise
`capab
`In i
`
`Inch
`
`Metric
`
`The
`fact 1
`and
`
`Th
`lerati
`mote
`Fr,
`feed
`The
`to be
`run
`coin]
`Fc
`
`Start position
`
`Zdepth
`
`Start position
`
`co
`N
`
`(a)
`
`
`
`(b)
`
`'
`
`I.
`
`\\\M
`
`Figure 6.18 Movements required to drill holes. (Inch units are given in parentheses.)
`
`Z depth
`
`N
`
`Q
`O
`IC)
`
`(a)
`
`Material removed
`by loop 1
`
`Datum
`face Z
`
`in Fi
`cic)
`
`Tool start
`position
`
`Fi, . ci
`
`- L 1- (cid:9).
`
`(13
`1-
`
`Feed 50.00 (2)
`
`
`
`I
`•
`•
`
`Return to start (cid:9)
`position in Zaxis
`
`
` - - -/ —
`-.•
`ID fCN
`
`CI) (cid:9) Lc) 0 ,---
`I (cid:9)
`u_
`• (cid:9)
`
`
`
`IM (cid:9)
`(b)
`Figure 6.19 Looping or roughing cycle: (a) component and (b) loop details, repeated six
`times. (Inch units are given in parentheses.)
`
`Page 24 of 74
`
`RA v. AMS
`Ex. 1010
`
`(cid:9)
`(cid:9)
`(cid:9)
`
`
`140 (cid:9)
`
`I (cid:9)
`
`PART PROGRAMMING AND MACHINE CONTROL (cid:9)
`
`141
`
`times as necessary to reduce the work to the required diameter. Note: some
`controls will do this with special "G" codes, while other controls will use
`special command codes, but the results are the same.
`Face Milling Cycle Figure 6.20 shows details of a face milling cycle. After
`programming the appropriate G code, together with spindle speed and feed rate,
`the only other information required are the X and Y dimensions of the face to
`be milled. The control unit computer will determine the number of passes nec-
`essary and the appropriate cutter step-over to machine the face. The cutter di-
`ameter will be picked up automatically from previously entered information.
`This type of cycle is very commonly found on conversationally programmed
`controls.
`Slot Milling Cycle Figure 6.21 illustrates a slot milling routine. As with face
`milling, the programmer has to state spindle speed, feed rate, and slot dimen-
`sions in the X and Y axes. The first pass made by the cutter passes through the
`middle of the slot and then returns to the start. Further passes are made until
`the correct depth is achieved, the number of passes necessary being determined
`by the axis increment depth programmed in the cycle. When the correct depth
`is reached, the cutter path is that of a series of cycles increasing in size with
`each pass. Some controls vary this process by cutting the entire slot at each
`depth except the finish pass. Again, as with the face milling, the computer will
`determine the step-over and the number of cycles necessary to machine the slot
`to size.
`Pocket Milling Figure 6.22 illustrates the pocket milling cycle. This cycle
`starts at the center of the pocket, the cutter feeding in the Z axis to a pro-
`
`Broken lines indicate
`cutter path
`
`Cycle start and finish
`
`Broken lines
`indicate cutter
`path
`
`X
`
`- ,•••••..
`
`Cycle start
`and finish
`
`- (cid:9)
`
`- - - -
`
`Figure 6.21 Slot milling cycle.
`
`grammed depth. There follows a series of cycles until the programmed X and
`Y dimensions are reached, the step-over of up to 80% of the cutter diameter
`will ensure that a flat surface is produced by providing overlap of passes. Some
`systems provide for a cycle that roughs out the main pocket and then machines
`to size with a small finishing cut. If the pocket depth is such that more than
`one increment in the Z axis is necessary, the slide movement returns the cutter
`to the center of the pocket and the cycle is repeated at the next depth.
`Bolt Hole Circles The term "bolt hole circle" means that a number of holes
`are required equally spaced on a stated pitch circle diameter as illustrated in
`Figure 6.23. Given that the program has brought the cutter to the pole position,
`
`Broken lines indicate
`cutter path
`
`Cutter step-over
`Y axis
`
`Cutter
`step-over
`
`X
`
`Cycle start and (cid:9)
`finish position (cid:9)
`
`Cutter step-over
`Xaxis
`
`Figure 6.20 Face milling cycle.
`
`Figure 6.22 Pocket milling cycle.
`
`Page 25 of 74
`
`RA v. AMS
`Ex. 1010
`
`
`
`142 (cid:9)
`
`I (cid:9)
`
`PART PROGRAMMING AND MACHINE CONTROL (cid:9)
`
`143
`
`Pitch circle
`diameter
`
`Pole
`
`Angle of rotation
`
`Holes equally
`spaced
`
`Figure 6.23 Bolt hole circle.
`
`the other dimensional data required are the position of the first hole, the Z axis
`movement, the pitch diameter or radius, depending on the control system, and
`the number of holes required. The computer makes all the necessary calcula-
`tions to convert the polar coordinates to linear coordinates and to move the
`slides accordingly.
`A variation of this cycle will cater for just two or three holes positioned in
`an angular relationship to one another. An example is detailed in Figure 6.24.
`Again, the pole position is programmed and the cutter will be at this point
`when the cycle commences. The additional dimensional data that have to be
`supplied are the Z axis movement, the polar radius and the polar angle(s), and
`the number of holes required, the computer then converts this information to
`slide movement in the appropriate axes.
`On some control systems it is possible to "rotate" more complex loop pro-
`grammed features such as the example shown in Figure 6.25.
`
`Figure 6.25 Feature rotation.
`
`Pole (cid:9)
`
`Machined feature
`
`Cycles Devised by the Part Programmer
`Cycles devised by the part programmer may be defined as follows. First, there
`are cycles that are devised specifically for one particular machining task. Sec-
`ond, there are those that may be used when machining a range of components.
`Consider the component shown in Figure 6.26, which has a repetitive fea-
`ture, namely, the recess. When writing a program for machining this particular
`component, the programmer would devise a cycle, in situations such as this
`being referred to as a "routine," for producing just one recess. Via an appro-
`priate call the blocks of data defining the routine can be activated as and when
`required within the main machining program at new locations.
`The construction of a routine may include subroutines also specifically con-
`structed by the part programmer and may also utilize any fixed or canned cycles
`that are considered appropriate. The technique of programming cycles or rou-
`tines within routines is referred to as "nesting" and is further described sub-
`sequently.
`Assume the component shown in Figure 6.26 is quite large so that within
`each recess there were also a number of holes arranged in three groups, as
`
`Repetitive feature
`
`)
`0 0 0 -J
`
`Figure 6.24 Polar coordinates.
`
`Figure 6.26 Component with repetitive feature.
`
`Page 26 of 74
`
`RA v. AMS
`Ex. 1010
`
`
`
`144
`
`PART PROGRAMMING AND MACHINE CONTROL
`
`145
`
`Recess
`
`Three groups
`each of four holes
`
`Figure 6.27 Enlarged detail of component in Figure 6.26.
`
`shown in 6.27. The main routine would be the data necessary for the production
`of the recess, as explained above. The subroutine would be the data necessary
`to produce a group of four holes. The subroutine would be nested within the
`main routine and called into the main program on three occasions.
`However, the production of the four holes is repetitive, and thus it is possible
`to program to produce just one hole, but to repeat the sequence four times.
`The complete sequence for producing the component is illustrated diagram-
`matically in Figure 6.28. On some control systems it is possible to program
`cycles within cycles as many as eight deep.
`Programmer-devised cycles of the second type, to which reference was made
`above, are useful when a machined feature commonly occurs within the pro-
`duction schedule of a particular company, that is, a machined feature (possibly
`of unusual design) is required over a range of components. To accommodate
`this situation some control systems permit routines that are "user defined"