throbber
172
`
`Initial zero shift
`
`Second zero shift or offset
`
`False
`centre
`
`(b)
`
`Figure 8.7 The application of a second zero shift to accommodate work resetting (a) first
`work setting (b second work setting.
`
`God
`plate
`
`Original
`zero
`datum
`
`Repositioned
`zero datum
`
`Figure 8.8 Use of zero shift for multicomponent machining at one setting.
`
`to locate a particular town. Using this reference system the part programmer
`can instruct the machine set-up person/operator exactly where to position each
`component so that their location will correspond with the selected program
`zeros.
`
`CNC PART PROGRAMMING (cid:9)
`DOCUMENTATION ASSOCIATED WITH PART
`PROGRAMMING
`
`173
`
`Before a part program can be compiled it is necessary to give some thought
`to the practical aspects of producing the component, and in most companies
`this is likely to involve the completion of an operation sheet. There is no stan-
`dard operation sheet, and the format will vary from company to company. One
`which will meet the requirements of the exercises that follow is shown in Figure
`8.9.
`In addition to an operation sheet there is also the need for documentation
`relating to machine setting and tooling, because some of the decisions made
`during the operation planning stage, and which in turn are taken into account
`when writing the part program, are of direct concern to shopfloor personnel
`responsible for preparing the tooling and the machine. Again, there is no stan-
`dard format for such documents. Each company will have its own procedure.
`
`DOCUMENTATION RELATING TO MACHINE SETTING
`
`Information regarding work-holding and location is of vital importance to the
`machine set-up person. He or she will also benefit from knowing the sequence
`of operations that has been adopted by the programmer. Also, it will be nec-
`essary to know the form in which the material to be machined is to be supplied.
`Ideally, all this information should be documented, not only as an aid to ef-
`ficiency on the shop floor, but also to provide a record for future reference.
`The documents used to convey this information will vary from company to
`company, and the precise way this information is disseminated is not of major
`
`OPERATION
`SCHEDULE
`
`OP
`No.
`
`DESCRIPTION
`
`PART No
`
`DESCRIPTION
`
`MACHINE TYPE
`
`COMPILED BY
`
`SHE
`ET No
`OF
`DATE
`
`TOOLING TYPE
`AND SIZE
`
`WORK
`HOLDING
`
`CUTTING
`SPEED
`
`FEED
`RATE
`
`SPINDLE
`SPEED
`
`Figure 8.9 Example of an operation schedule.
`
`Page 36 of 74
`
`RA v. AMS
`Ex. 1010
`
`

`
`174
`
`CNC PART PROGRAMMING (cid:9)
`
`175
`
`importance. The important thing is that the shop floor personnel fully under-
`stand what is required. So how detailed does the information need to be? The
`answer depends on the complexity of the component and the machining op-
`erations involved.
`Assume that the machine set-up person knows the sequence of machining
`operations involved and is to proceed with setting up the machine. Consider
`in the first instance work loading, holding, and location. What information is
`required?
`A simple component that is to be turned in one set up from a prefaced billet
`could be accommodated with a few short notes as follows:
`Material: (cid:9)
`Loading: (cid:9)
`Work-holding: (cid:9)
`Location:
`Zero shift:
`
`prepared billet, part number ****
`manual
`chuck type, fixture number ****
`back face of chuck
`Z direction + or —, and value
`
`The last item would indicate that a manual data entry shifting the Z axis zero
`from the spindle face to the workpiece face is required.
`A more complex component requiring two settings, with the second opera-
`tion requiring center support activated by an entry in the program, will require
`a little more detail and the information may be given as follows:
`
`Material:
`Loading:
`Work-holding: (cid:9)
`
`Zero shifts:
`
`diameter and length of bar stock
`bar feed to programmed stops, bar stop number
`collet, with programmed center support for second
`setting
`first setting, direction + or —, and value second
`setting, direction + or —, and value
`
`This information could be supplemented by two simple sketches showing the
`machining to be carried out at each setting.
`A simlar exercise can be carried out for workpieces involving milling. The
`exercise shown in Figure 8.10 could be produced on a "one part" basis or
`involve a multicomponent setting.
`In the first instance the workpiece could be located using the corner of the
`fixed jaw of the vise as a reference point, a technique referred to on page 168.
`The instructions necessary to achieve this would be as follows:
`Material: (cid:9)
`Work-holding:
`Location:
`Program datum:
`
`prepared blank length x width x height
`machine vise, fixture number ***"
`left-corner of fixed jaw
`X axis —25 mm (-1 in.) (axis-direction + or — value)
`Y axis 25 mm (1 in.)
`Z axis 2 mm (0.1 in.)
`
`Again the information regarding the program datum may be more readily
`understood if the instructions include a sketch.
`
`XY zero datum
`
`Drill two holes 50 (0.20)
`
`10
`(0.4)
`
`—
`
`t- - •
`
`20
`(0.8)
`
`Material: aluminum alloy
`
`Figure 8.10 Component detail. (Inch units are given in parentheses.)
`
`A multicomponent setup involving the same component could involve the
`use of a grid plate. To convey the necessary set-up information, the program-
`mer should be familiar with the grid plate and its associated locating and clamp-
`ing devices. With such knowledge he or she may be able to give detailed in-
`structions for the complete setting, using the grid references to position the
`various setting blocks, locating dowels, and clamps to be used in the operation.
`On the other hand, a competent set-up person could manage with the basic
`information included in Figure 8.11.
`
`X axis offset 120 (4.7)
`
`Original
`XY zero
`datum
`
`a)
`(.0 o CD
`
`Cl, CO
`
`• co
`
`
`
`Figure 8.11 8.11 Use of grid plate. (Inch units are given in parentheses.)
`
`Page 37 of 74
`
`RA v. AMS
`Ex. 1010
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`

`
`176
`
`TOOLING SELECTION AND IDENTIFICATION
`
`The responsibilities of the part programmer concerning tooling are as follows:
`
`(a) determine the appropriate tools to be used, including their shape and size
`and the material from which they will be made;
`(b) allocate identification numbers to facilitate machine setting;
`(c) allocate tool offset numbers;
`(d) determine, when appropriate, the dimensonal value of the offsets;
`(e) prepare appropriate documentation.
`
`It is essential that a programmer is fully conversant with the tooling system for
`the machine involved, that is, the type of tooling that can be used and the way
`the tools can be located and held in position.
`A major feature of CNC machining is the use of standard tooling. The in-
`tricate slide movements that are possible greatly minimize the need for special
`tooling, particularly form tools. In many ways the tooling requirements for
`CNC machining are less complex than for conventional machining.
`Providing the programmer is conversant with the machine tooling system,
`the process of selecting tooling for a particular job is largely a case of selecting
`and utilizing standard items.
`It is important that the correct tool material is used, particularly when using
`carbide inserts. Reference should be made to manufacturers' literature for guid-
`ance in this respect. Pages 44 through 46 give an indication of the type of
`information that is available.
`It is often the case that the tools available within a company for use on a
`particular machine will be further standardized with their details being docu-
`mented. An example of a company-based tool standard is shown in Figure
`8.12.
`All tools are required to have a numerical identity within the part program.
`This identity, commonly the letter T followed by two digits, is allocated by
`the part programmer and will correspond with the numbered position the tool
`will occupy in the machine turret, magazine, or other storage facility. The
`position each tool will occupy is affected by factors which are discussed below.
`Commonly used tools are often given an identity that is retained at all times,
`since this often eliminates the need to reset when jobs are changed. When this
`situation exists, it is essential that the part programmer knows exactly which
`tools are involved and their numerical identity.
`
`TOOL STORAGE
`
`With automatic tool changing facilities involving turrets, the positions for the
`tools in the turret are numbered. Thus a tool call of, say, T06 will cause the
`turret to index to position number six. The tool allocated the numerical identity
`6 must be set in position six.
`
`CNC PART PROGRAMMING
`
`177
`
`A.J. SMITH LTD (cid:9)
`
`NUMERICAL CONTROL DEPT.
`
`TOOL HOLDER No.
`
`PDJNL 3232P15
`
`PDJNL 3232P15
`
`ISO CODING
`KENNAMETAL
`SANDVIK
`VALENITE
`
`
`CARBOLOY
`
`r
`
`I
`I
`a
`I
`I
`
`I
`
`I
`I (cid:9)
`
`CHUCK
`ROTATION
`
`MO4
`
`TURRET
`
`MORI SEIKI
`TOOLHOLDER
`No T00026
`
`t
`2 E
`
`• i
`I
`I
`I
`I
`in
`
`I
`I
`I
`I
`I (cid:9)
`
`32°
`
`NOTE:- ALL DIMENSIONS ARE IN INCHES UNLESS STATED OTHERWISE
`
`TOOL
`No
`T709
`T710
`T711
`T712
`T713
`T714
`T715
`T716
`
`RN
`
`AC
`
`AN
`
`XN
`
`ZN
`
`WN
`
`AS
`
`XS
`
`ZS
`
`0.008
`0.0156
`0.0313
`0.0469
`0-0.625
`00937
`
`3
`3
`3
`3
`3
`3
`
`55
`55
`55
`55
`55
`55
`
`0.008
`0.0156
`0-0313
`0.0469
`0.0625
`0.0937
`
`0.008
`0.0156
`0.0313
`0.0469
`0.0625
`0-0937
`
`-90
`-90
`-90
`-90
`-90
`-90
`
`35634 2.6795
`3-5568 2.6788
`3-5433 2.6772
`3.5297 2.6756
`3.5162 2.6741
`34892 2.6710
`
`„.....- (cid:9)
`
`,...._
`
`NOSE
`RADIUS
`
`INSERT No.
`I.S.O. CODE I.S.O. CODE I.S.O. CODE I.S.O. CODE Zero Rtn. Dia. MAX. DIA.
`
`0-008 DNMG150602
`0-0156 DNMG150604 DNMM150604
`0-0313 DNMG150608 DNMM150608
`0-0469 DNMG150612 DNMM150612
`0.0625 DNMG150616 DNMM150616
`0.0937 DNMG150624
`
`'TITLE:-
`
`FINISH PROFILING TOOL
`
`QUALIFIED TOOLING
`MORI SEIKI SL7 — C.N.C. LATHE
`
`20-4323
`204455
`20.4725
`20.4997
`20.5267
`20-580.7
`
`25-9441
`25-9573
`25.9843
`26.0115
`26.0385
`26.0925
`
`TOOL No
`
`T709 to T716
`
`Figure 8.12 Company-devised tool standard. (All units are given in millimeters.)
`
`Page 38 of 74
`
`RA v. AMS
`Ex. 1010
`
`

`
`178
`
`Similarly, tools changed by automatic handling devices will be housed in
`readiness in a tooling magazine. When a tool is called the magazine will index
`to bring the appropriate tooling station into a position where the tool located
`in that station can be accessed by the handling device. Clearly the correct tool
`must be in each numbered position if the programmed tool call is to bring the
`desired tool into the machining position.
`Even when the tool change is a manual operation, effected by a programmed
`stop in the machining cycle, the process is assisted if the operator has a clear
`indication of the next tool to be used. It is usual, therefore, to number the tool
`storage positions or even the tools themselves. When the programmed break
`in machining occurs, the operator can refer to a document provided by the
`programmer to determine the next tool involved; on the more sophisticated
`control systems the tool may be indicated by a message displayed on the visual
`display unit of the control.
`The programmer should give due thought to the positioning of the tools in
`relationship to each other in the turret or magazine. Most indexing arrange-
`ments involve rotation in one direction only, so to change, say, from T03 to
`T06 will require three indexing moves, two of which are time-consuming and
`unproductive. Therefore the objective should be to position the tools in the
`turret or magazine in the order in which they will be called into use, although
`this is not always possible in practice.
`The problem of wasteful indexing time is considerably eased when the ma-
`chine is equipped with the facility to index tooling by the shortest possible
`route. In other words, the turret or magazine will rotate either clockwise or
`counterclockwise depending on which tool is called.
`
`TOOL CHANGING POSITION
`
`The programmer should consider carefully the position the machine slides are
`to be in when a tool change is made. There is a tendency, particularly among
`students, to return the machine slides to a set position before making a change,
`a practice that may have its merits from a safety point of view early in training
`but which, like wasteful indexing moves, can add considerably to the total time
`taken to machine the part.
`The objective must be to keep noncutting slide movement to a minimum.
`For example, on a vertical machining center it is often possible to effect a tool
`change immediately above the point at which the tool completes the required
`machining, the change being carried out after an appropriate Z up-movement
`of the machine spindle or head. This saves making a long and unnecessary
`journey to a set position such as the XY zero datum. On turning centers a similar
`time saving can be achieved by indexing as near to the workpiece as is safely
`possible. The programmer should always refer to the machinery manuals to
`check clearances necessary to allow tool indexing mechanisms and cutting tools
`to clear any obstructions.
`
`CNC PART PROGRAMMING (cid:9)
`
`179
`
`REPLACEMENT TOOLING
`
`For long production runs the programmer will need to give some thought to
`the provision of replacement tooling.
`When tools need to be replaced it is possible for the set-up person to deter-
`mine suitable offsets and make the necessary tool data entries as he or she
`would for the original tools, but this is time-consuming and interrupts produc-
`tion.
`An alternative approach is to use replacement tooling which is identical to
`the original. Such identical tooling may be of two types, namely, "qualified"
`or "preset."
`Qualified tooling is used on turning centers and has dimensions guaranteed
`by the manufacturer to within -10.0005 in. or 10.08 mm from up to three
`datum faces.
`Preset tooling is precisely set to predetermined dimensions in the toolroom
`and is applied to turning tools and milling cutters.
`The programmer may choose to recommend qualified or preset tools when
`compiling his or her tooling schedule, but if such tooling is prescribed, the
`programmer may need a feedback of information from the toolroom regarding
`the setting sizes. This information then becomes part of the overall program-
`ming and machine-setting package and should be documented for future ref-
`erence.
`
`TOOLING DOCUMENTATION
`
`Documentation regarding tooling, as with machine setting instructions, may be
`simple or relatively complex. It depends largely on the size of the company
`and the degree of organization that exists.
`The possibilities range from the situation where the machine set-up person
`has personal access to the range of tooling likely to be required, to situations
`where the tooling is prepared in a special-purpose tool room, issued to the set-
`up person as a package for that particular job, and on completion returned to
`the tool room for refurbishment and storage.
`For each programmed tool the minimum information required on the shop
`floor is as follows:
`
`(a) programmed identity—TOI, T02, T03, etc.;
`(b) tool type;
`(c) holder type and size;
`(d) insert type and size;
`(e) overall dimensions (solid tools);
`(f) projection of cutting tool from holder.
`
`When presetting is involved, the tool design or program personnel usually
`determine the original preset dimensions. The sizes should ultimately be no-
`
`Page 39 of 74
`
`RA v. AMS
`Ex. 1010
`
`

`
`Society, Glenview, IL
`
`Figure 8.14 Sample tool layout. Numerical Contr
`
`180
`
`tified to the part programmer so that they may be recorded and included as
`part of the general documentation for that particular job. A well-organized tool
`preparation facility may well retain the data against their own job reference to
`facilitate the preparation of replacement tooling and to allow for the possibility
`of having to prepare identical tools at some future time. See Figures 8.13 and
`8.14 for examples of tool data sheets.
`When tooling offsets are being used to achieve a particular machining effect,
`as discussed on page 225, the value of the offsets must be included on the
`document.
`It is often the situation that information regarding tooling, and sometimes
`information relating to machine setting, is included on the original part program
`form when one is used. Information documented in this way is of necessity
`rather brief, but in many cases is adequate.
`Another practice widely adopted is to give tooling details alongside the tool
`call in the part program. Again, the information is brief but adequate for many
`situations.
`The important thing is that the part programmer fully appreciates the needs
`of the people more directly concerned with the machining operation. There
`must be an efficient transfer of the relevant information. The means adopted
`
`091-001 (cid:9)
`PART NO. (cid:9)
`PART NAME (cid:9)
`TOOL
`
`SAMPLE (cid:9)
`
`TOOL
`DESCRIPTION
`HHS END MILL - 4
`FLUTE -1" (cid:9) SHANK (cid:9)
`•
`SINGLE END/CV-49-
`15920 END HILL
`HOLDER
`
`SEC/ NUMBER
`
`TO1
`
`El
`
`TO2
`
`El
`
`T03
`
`El
`
`194
`
`El
`
`TO5
`
`El
`
`T06
`
`El
`
`2
`
`3
`
`4
`
`5
`
`6
`
`HSS END MILL - 4
`FLUTE 3/5" SHANK
`ABLE ENO/CV-49-15715
`
`END MILL HOLDER
`
`A2 CENTER DRILL
`
`Erikson Ext Collet
`Chock/4200-3/16
`col 1 et/CV-49-15923
`Collet
`
`Holder/d100-3/4
`collet
`
`•
`
`Drill
`CV-49-15923 collet
`holder/9100-1/8
`collet
`
`DRILL
`CV-49-15923 toll et
`holder/with 9100-7/32
`collet
`
`HSS END MILL - 2
`FLUTE 3/0" SHANK
`CUL END/CV-49-15915
`END HILL HOLDER
`
`.078
`
`.078
`
`4.875
`
`5.000
`
`.125
`
`.125
`
`5.125
`
`4.875
`
`.205
`
`.205
`
`5.250
`
`5.509
`
`.375
`
`.375
`
`4.562
`
`4.700
`
`SPOT (18) HOLES
`ON PERIMETER,
`(8) (cid:9) ON B.C. (cid:9) and
`(4) (cid:9) on (cid:9) angle.
`
`.1 (cid:9) DP
`
`H3 (cid:9)
`
`
`e : F.
`
`54 (cid:9) Drill (cid:9) (8) (cid:9) HOLES
`ON B.C.
`
`22
`HS (cid:9) DRILL (cid:9) (19) (cid:9) HOLES
`ON PERIMETER AND
`(4) (cid:9) ON ANGLE 1"
`;., (cid:9)
`c, (cid:9) THRU
`
`C . BORE (18)
`HOLES
`
`H6 (cid:9)
`
`•
`t;,,'
`
`MODEL 104 TOOL SHEET
`MATERIAL (cid:9) 1018 CRS (cid:9)
`4/p CHANGE (cid:9) DATE (cid:9)
`TOOL DIAMETER
`
`!OPERATION (cid:9)
`
`TOOL LENGTH
`
`3 (cid:9)
`
`PROG.
`
`ACT.
`
`# (cid:9)
`
`',Roo ACT. V (cid:9)
`
`OPERATION
`DESCRIPTION
`
`PROGRAMMED BY (cid:9)
`DATE (cid:9)
`5-6-80 (cid:9)
`
`G. COMBS
`!SHEET (cid:9)
`SPEED
`
`1.0
`
`.750
`
`DI
`
`
`l':',, (cid:9)
`
`02
`
`6.187
`
`5.812
`
`.250
`
`.250
`
`4.687
`
`4.687
`
`HI (cid:9)
`
`FINISH MILL
`PERIPHERY
`
`H2 (cid:9) Mill (cid:9) (4) (cid:9) pockets
`.062 Op.
`Finish mill
`sides
`
`1 (cid:9) OF 1
`FEED
`IN/,AA
`
`3
`
`2
`
`3
`
`6
`
`5
`
`R P M
`
`270
`
`1100
`
`1180
`
`3030
`
`1650
`
`850
`
`3.9
`
`Figure 8.13 Model 104 tool sheet. Ex-Cell-0 Corp., Rockford Machine Tool Company, Rock-
`ford, IL
`
`Page 40 of 74
`
`RA v. AMS
`Ex. 1010
`
`

`
`182
`
`CNC PART PROGRAMMING
`
`183
`
`to achieve this objective will vary, but the programmer should always remem-
`ber that it is a very important aspect of his or her work.
`
`PART PROGRAMMING PROCEDURE
`
`The blocks of data entered in a part program are numbered N01, NO2, NO3,
`and so on. On completion of a machining program it is usually necessary to
`return to the beginning so that another component can be machined. The return
`to the program start position is usually achieved via a "rewind" or "return to
`start" command included at the end of the program.
`With word address systems, this command is entered as a miscellaneous
`function designated M30, which has the effect of stopping all slide and spindle
`movement, turning off the coolant supply and rewinding the tape. When the
`tape has merely been used to transfer a program into the microcomputer mem-
`ory, then it rewinds the program within the microcomputer. The stage at which
`this rewind must cease has to be identified, and this is achieved via a "rewind
`stop" program entry signified by the % sign. This is usually the first entry in
`a word address program.
`With the start of the program established, the next three or four blocks of
`data will concern setting the machine controller so that it interprets subsequent
`data in the correct manner. These set-up entries include instructions relating to
`the following:
`
`(a) units, which may be programmed in inch or metric;
`(b) slide movement, which may be stated as incremental or absolute dimen-
`sional values;
`(c) speed, which may be programmed as surface speed in feet/meters per
`minute or spindle speed in revolutions per minute;
`(d) feed, which may be programmed as inches/millimeters per spindle revo-
`lution or inches/millimeters per minute.
`
`Having established the basic set-up data, it may be helpful now to list in a
`general way the functions and machine movements necessary to produce the
`component. Consider the drawing for Exercise 1 (in Appendix C) and imagine
`that the machine is set with the spindle in its 'home' or 'base' datum position,
`that is, at a point some distance above the XY datum indicated on the drawing.
`Starting from this position, the part program must provide for the following:
`
`1. Rapid linear movement to P1 in X and Y.
`2. Rapid linear movement to a clearance position above ZO.
`
`3. Spindle on clockwise direction.
`4. Coolant on.
`5. Feed linear movement to Z depth.
`6. Rapid linear movement to clearance above ZO.
`7. Rapid linear movement to P2.
`8. Feed linear movement to Z depth.
`9. Rapid linear movement to clearance above ZO.
`. (cid:9)
`. and so on.
`
`These simple comments can, providing a space exists, be entered directly onto
`a program sheet or, if the program is being listed on plain paper, alongside
`each item of data, but it is probably a better plan to prepare a rough list in the
`first instance and then check carefully to ensure nothing has been overlooked.
`Relative codes and data can then be added to each statement.
`Should it be found that, on completion of a program, omissions have in-
`advertently been made, the error can be rectified more easily if the block num-
`bers are allocated in increments of five: N01, N05, N10, N15. It is then a
`simple matter to include additional blocks---N06, NO7, N08, for instance—
`between N05 and N10.
`If the program is being listed on a computer the blocks can be numbered
`consecutively, since any omission entered via the keyboard will automatically
`cause the existing blocks to renumber or, alternatively, renumbering can be
`easily effected. Many MDI control systems also have this facility.
`A methodical approach to part programming is essential, and it is recom-
`mended that, even for a simple component, an operation schedule listing the
`tooling speeds and feeds to be used should be completed in the first instance.
`
`WORD ADDRESS PROGRAMMING
`
`Word address programming is largely based on an International Standards Or-
`ganization (ISO) and Electronic Industries Association (EIA) code that require
`the program to be compiled using codes identified by letters, in particular G
`and M. Each code addresses, or directs, the item of data it precedes to perform
`a certain function within the control system.
`The ISO and EIA Standards provided for 99 G codes and an identical number
`of M codes, each being exprssed by the address letter followed by two digits.
`Not all the codes were allocated a specific function in the Standard and this
`gave the manufacturers of control systems the opportunity to introduce their
`own variations. There is, therefore, no standard word address machine pro-
`gramming language, although many of the recommendations made have been
`widely adopted.
`
`Page 41 of 74
`
`RA v. AMS
`Ex. 1010
`
`

`
`184 (cid:9)
`
`The G codes, or preparatory functions, are used to set up the machine control
`unit modes of operation required for the machining that is to be carried out—
`whether movement is to be in a straight line/linear or radially/circular, for
`example. In general they relate to slide motion control. Examples of commonly
`used G codes are as follows:
`
`GOO Rapid linear positioning, point to point
`GO1 Linear positioning at a controlled feed rate
`G02 Circular interpolation, clockwise
`G03 Circular interpolation, counter-clockwise
`G04 Dwell for programmed duration
`G33 Thread cutting, constant lead
`G34 Thread cutting, increasing lead
`G40 Cutter compensation, cancel
`G41 Cutter compensation, left
`G42 Cutter compensation, right
`G70 Inch programming
`G71 Metric programming
`G80 Series associated with drilling, boring, tapping and reaming.
`
`(For a complete list of G codes refer to Chapter 6.)
`G codes may be "modal," that is, they remain active until cancelled. Al-
`ternatively they may be nonmodal, and are only operative for the block in
`which they are programmed.
`The M codes, or miscellaneous functions, are used to establish requirements
`other than those related to slide movement. For example, they are used to
`activate spindle motion or to turn on a coolant supply. Examples of commonly
`used M codes are as follows:
`
`MOO Program stop
`MO1 Optional stop
`MO2 End of program
`M03 Spindle on clockwise
`MO4 Spindle on counter-clockwise
`M05 Spindle off
`M06 Tool change
`MO8 Coolant on
`MO9 Coolant off
`M30 End of tape
`
`(For a complete list of M functions refer to Chapter 6.)
`As with G codes, some M functions are modal, remaining active until can-
`celled. M functions may also become active immediately upon reading of the
`
`CNC PART PROGRAMMING (cid:9)
`
`185
`
`block or after all block commands are completed. (Refer to machinery manuals
`to determine how various codes operate.)
`In addition to the address letters G and M there is also common usage of S,
`F, and T to indicate speeds, feeds, and tooling. The letter N is always used to
`identify block numbers.
`The distinction between word address and conversational programming is
`best appreciated by reference to the simple movements discussed earlier.
`To program the linear movement of —39.786 mm or —1.6 in. in the X axis
`using the word address technique, it is first necessary to establish the operating
`mode required. This is done by including the appropriate G code, in this case
`GO I . Thus the complete program entry for the required move will be:
`
`Inch N260 GO1 X-1.6
`Metric N260 GO1 X-39.786
`
`Similarly, reconsider the 0.3 in. or 8 mm radial movement through an arc of
`90°. Once again the mode of operation has to be established using the appro-
`priate G code, which for circular movement in a clockwise direction is G02.
`It will also be necessary to define the target position in the appropriate axes
`and also the start of the arc in relation to the arc center using I, J, and K address
`letters that correspond to the X, Y, and Z axes respectively. A word address
`progrm entry to achieve this movement would read as follows:
`
`Inch N350 X1.7 Z-3.0 K.3
`Metric N350 G02 X43.765 Z-75.000 K8
`
`There are variations in procedure even when word address programming such
`a common machining feature as a radius. On some control systems the arc
`center may have to be defined—still using the I, J, and K address letters—in
`relation to the program datum and not the start position.
`The programming of radial movements using the word address method will
`be returned to later in the text.
`A word address program that includes a number of codes in both inch and
`metric is listed below. The program relates to the component detailed in Figure
`8.15, and is typical of its type. The comments written alongside the data should
`convey to the reader an impression of how, prior to programming, the ma-
`chining of a component is first broken down into operations. It also shows how
`the necessary machine control data are presented. Later in the text further ref-
`erence will be made to the program to illustrate specific programming tech-
`niques and features.
`
`Page 42 of 74
`
`RA v. AMS
`Ex. 1010
`
`

`
`186
`
`PROGRAMMING EXAMPLE
`
`Figure 8.15 shows a simple turned component for which a part program is to
`be prepared using the following basic programming information. (Examples of
`more detailed programming specifications are given in Appendix C.)
`
`CNC PART PROGRAMMING
`
`187
`
`i X axis values to be
`G90 Absolute positioning data (cid:9)
`G91 (cid:9)
`Incremental positioning data J programmed as diameters
`G94 Feed (in. or mm)/min
`G95 Feed (in. or mm)/rev
`G96 Constant surface cutting speed
`G97 spindle speed rev/min
`
`PREPARATORY FUNCTIONS (G CODES)
`
`MISCELLANEOUS FUNCTIONS (M CODES)
`
`GOO Rapid movement
`001 Linear interpolation—movement at a programmed feed rate
`G02 Circular interpolation, clockwise
`G03 Circular interpolation, counter clockwise
`G40 Cancel tool nose radius compensation
`G41 Tool nose radius compensation left
`G42 Tool nose radius compensation right
`G70 Inch units
`G71 Metric units
`
`MOO Program stop
`MO1 Optional stop
`M02 End program
`M03 Spindle on clockwise
`M04 Spindle on counterclockwise
`M05 Spindle off
`MO6 Tool change
`MO8 Coolant on
`M09 Coolant off
`M30 End of program
`
`5 x 45°
`W2 x 451
`
`s I
`
`E
`0
`Program datum
`Material removed
`by final pass
`
`Stock removal
`passes
`
`OPERATION SCHEDULE
`
`The first stage in the programming process is to prepare an operation schedule.
`An operation schedule for the component is shown in Figure 8.16, where only
`metric units are shown. The spindle speeds and feed rates have been determined
`by reference to the cutting data given in Chapter 7.
`
`TOOLING INFORMATION
`
`Although the component is a relatively simple one, it is still necessary to pro-
`vide tooling information for the machine tool setter. This information is de-
`tailed on the form illustrated in Figure 8.17, where only metric units are shown.
`
`PROGRAM LISTING
`
`Figure 8.15 Component detail. (Inch units are given in parentheses.)
`
`dtock material: 600 (2.40) brass
`
`Attention can now be given to listing the necessary programming data, together
`with appropriate remarks to ensure a logical approach is being adopted and to
`
`Page 43 of 74
`
`RA v. AMS
`Ex. 1010
`
`(cid:9)
`(cid:9)
`

`
`188 (cid:9)
`
`OPERATION
`
`SCHEDULE
`OP
`No.
`
`DESCRIPTION
`
`PART No. Ex. /
`
`mAcHvy.3742
`
`DESCRIPTION piad 6
`COMPILED BY . 4, C
`
`S7fT 7
`1).19A T E2- te4,
`
`CNC PART PROGRAMMING (cid:9)
`
`189
`
`ensure that nothing is overlooked. The required program is listed below. (Note
`that, in this particular case, a programming form is not being used, but partially
`completed programming exercises involving the use of a form are given in
`Appendix C.)
`
`TOOLING TYPE
`CUTTING
`FEED
`AND SIZE
`RATE
`SPEED
`.
`2ff (cid:9)
`./2
`IS,"0- ,e4/4/F
`/ Chnerie if/e/4 Z
`AlAiljell
`A, ,ZA11_11
`At.t.s.4eil 4
`•
`.78
`2
`28 (cid:9)
`2 0 Ria
`0 /0
`4+ AOC/ 890
`rim"
`Av,ii
`
`
`2 Raw ifeebTLE ';"- c;_,.4"- courr ,Z 70 .1).f 41, r4/41 /...1.17
`/35-0
`ZrAr.of.ed .
`P447 eitc,
`miAloi„
`ode;fAelr /g5-°
`AteACT
`
`WORK
`HOLDING
`
`SPINDLE
`SPEED
`,56,0
`
`Figure 8.16 (Metric units)
`
`TOOL PREPARATION AND SETTING DATA
`
`TURRET
`POSITION
`
`OFFSET
`No.
`
`OPERATION
`
`INSERT
`TYPE
`
`PART No. (cid:9)
`
`HOLDER
`TYPE
`
`X. /
`PRE SET LENGTHS
`x
`2'
`
`---
`
`..--
`
`,QC /07
`i AretivA,E
`/c ft 0 (cid:9)
`44141.exEA► ce4
`I )10
`r 4 / 22- 47?[
`7A,E waiive
`/9.2',9 6.,e a -054
`
`/ 0/ efilfriE Ae/Z4
`3 o3 Mats( /a
`chi'ni.ev To AbRa-
`S 05 me, oFF
`
`Figure 8.17 (Metric units)
`
`PART PROGRAM (INCH)
`
`Data
`
`Remarks
`
`G70 G90
`N10
`G95 G97
`N15
`G92 X4.0 Z8.0
`N20
`TO101 M06
`N25
`S3000 M03
`N30
`GOO XO Z.1 M08
`N35
`G01 Z-.3 F.003
`N40
`GOO Z.1
`N45
`X4.0 Z8.0
`N50
`T0202 M06
`N55
`S2380 M03
`N60
`GOO XO Z.1
`N65
`N70 GO1 Z-1.2 F.015 M08
`GOD Z.1
`N75
`N80
`X4.0 Z8.0
`N85
`T0303 M06
`S1430 MO3
`N90
`GOO X1.97 Z.1
`N95
`N100 GO1 Z-.768 F.020 M08
`N105 G00 X2.05 Z-.688
`N110 Z.1
`N115 X1.772
`N120 G01 Z-.748
`N125 GOO X1.85 Z-.669
`N130 Z.1
`N135 X1.575
`N140 GO1 Z-.709
`N145 GOO X1.654 Z-.63
`N150 Z.1
`N155 X1.417
`N160 GO1 Z-.65
`N165 GOO X1.496 Z-.57
`N170 Z.1
`N175 X1.26
`N180 GO1 Z-.512
`N185 GOO X1.339 Z-.433
`N190 Z.1
`N195 X.984
`N200 GO1 Z-.079
`N205 GOO X1.063 Z.1
`
`Absolute inch
`Feed inches/rev Spindle speed rev/min
`Pre-set safe turret indexing position
`Tool change. Tool No. 1. Off-set No. 1
`Spindle on clockwise
`Rapid to start position. Coolant on
`Center drill
`Rapid retract
`Return to turret index position
`Tool change. Tool No. 2 Off-set No. 2
`Spindle Speed
`Rapid to start position .
`Drill through .40
`Rapid retract
`Return to turret index position
`Tool change. Tool No. 3 Off-set No. 3
`Spindle speed
`Rapid to start position
`
`Rapid retract to clear cut surface
`Second rough pass-start position
`
`Third rough pass-start position
`
`Fourth rough pass-start position
`
`Fifth rough pass-start position
`
`Sixth rough pass-start position
`
`Page 44 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)
`(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)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket