Navigation

  • Page 1

    NCT® 99TNCT® 2000TControls for LathesProgrammer's Manual

  • Page 2

    Manufactured by NCT Automation kft.H1148 Budapest Fogarasi út 7: Address: H1631 Bp. pf.: 26F Phone: (+36 1) 467 63 00F Fax:(+36 1) 363 6605E-mail: nct@nct.huHome Page: www.nct.hu

  • Page 3

    3Contents1 Introduction .............................................................. 91.1 The Part Program ...................................................... 9Word ............................................................... 9Address Chain ...................................................

  • Page 4

    46.4.2 Exact Stop Mode (G61) ........................................... 486.4.3 Continuous Cutting Mode (G64) ..................................... 496.4.4 Override and Stop Inhibit (Tapping) Mode (G63) ........................ 496.4.5 Automatic Corner Override (G62) ..............................

  • Page 5

    513.3 Main Program and Sub-program ......................................... 7213.3.1 Calling the Sub-program ........................................... 7213.3.2 Return from a Sub-program ........................................ 7313.3.3 Jump within the Main Program ................................

  • Page 6

    617.2.6 Outer Diameter/Internal Diameter Drilling Cycle (G75) ................... 14517.2.7 Multiple Thread Cutting Cycle (G76) ................................ 14618 Canned Cycles for Drilling .............................................. 15218.1 Detailed Description of Canned Cycles .............

  • Page 7

    722.9.1 Multiple Calls .................................................. 19022.10 Format of Custom Macro Body ....................................... 19122.11 Variables of the Programming Language ................................. 19222.11.1 Identification of a Variable ............................

  • Page 8

    8 © Copyright NCT July 2, 2002The Publisher reserves all rights for contentsof this Manual. No reprinting, even inextracts, is permissible unless our writtenconsent is obtained.The text of this Manual has been compiledand checked with utmost care, yet weassume no liability for possible errors o...

  • Page 9

    1 Introduction91 Introduction1.1 The Part ProgramThe Part Program is a set of instructions that can be interpreted by the control system in order tocontrol the operation of the machine.The Part Program consists of blocks which, in turn, comprise words.Word: Address and DataEach word is made up of...

  • Page 10

    1 Introduction10BlockA block is made up of words.The blocks are separated by characters s (Line Feed) in the memory. The use of a block numberis not mandatory in the blocks. To distinguish the end of block from the beginning of another blockon the screen, each new block begins in a new line, with...

  • Page 11

    1 Introduction11return from the sub-program to the calling program.DNC ChannelA program contained in an external unit (e.g., in a computer) can also be executed without storing itin the control's memory. Now the control will read the program, instead of the memory, from theexternal data medium th...

  • Page 12

    1 Introduction12Fig. 1.2-1Fig. 1.2-21.2 Fundamental TermsThe InterpolationThe control system can move the tool along straight lines andarcs in the course of machining. These activities will be here-after referred to as "interpolation".Tool movement along a straight line:Program:G01 Z__X...

  • Page 13

    1 Introduction13Fig. 1.2-3Fig. 1.2-4FeedThe term "feed" refers to the speed of the tool relative to theworkpiece during the process of cutting. The desired feedcan be specified in the program at address F and with a nu-merical value. For example F2 means 2 mm/rev.Reference PointThe refe...

  • Page 14

    1 Introduction14Fig. 1.2-5Fig. 1.2-6Absolute Coordinate SpecificationWhen absolute coordinates are specified, the tool travels adistance measured from the origin of the coordinate system,i.e., to a point whose position has been specified by thecoordinates.The code of absolute data specification i...

  • Page 15

    1 Introduction15Fig. 1.2-7One-shot (Non-modal) FunctionsSome codes or values are effective only in the block in which they are specified. These are one-shotfunctions.Spindle Speed CommandThe spindle speed can be specified at address S. It is also termed as "S function". Instruction S150...

  • Page 16

    1 Introduction16Fig. 1.2-8Tool Nose Radius CompensationWhen machining a workpiece and the tool does not moveparallel to one of the axes exact size can be achieved only ifnot the tool tip is moved on the programmed path but thetool nose center parallel to it and with the distance of r.Radius compe...

  • Page 17

    2 Controlled Axes17Fig. 2.1-12 Controlled AxesNumber of Axes (in basic configuration)2 axesIn expanded configuration6 additional axes (8 axes altogether)Number of axes to be moved simultaneously8 axes (with linear interpolation)2.1 Names of AxesThe names of controlled axes can be defined in the p...

  • Page 18

    2 Controlled Axes18perform the conversion.The rotational axes are always provided with degrees as units of measure.The input increment system of the control is regarded as the smallest unit to be entered. It can beselected as parameter. There are three increment systems available IS-A, IS-B and ...

  • Page 19

    3 Preparatory Functions (G codes)193 Preparatory Functions (G codes)The type of command in the given block will be determined by address G and the number followingit.The Table below contains the G codes interpreted by the control system, the groups and functionsthereof.G codeGroupFunctionPageG00*...

  • Page 20

    3 Preparatory Functions (G codes)G codeGroupFunctionPage20G39Tool nose radius compensation corner arc98G40*07Tool nose radius compensation cancel82G41Tool nose radius compensation left82, 86G42Tool nose radius compensation right82, 86G50*11Scaling cancel111G51Scaling111G50.1*18Programable mirror ...

  • Page 21

    3 Preparatory Functions (G codes)G codeGroupFunctionPage21G78Thread cutting cycle128G79End face turning cycle130G80*09Canned cycle for drilling cancel161G81Drilling, spot boring cycle,161G82Drilling, counter boring cycle162G83Peck drilling cycle163G83.1High Speed Peck Drilling Cycle158G84Tapping ...

  • Page 22

    3 Preparatory Functions (G codes)22function group may used. – Reference to an illegal G code or specification of several G codes belonging to the same groupwithin a particular block will produce error message 3005 ILLEGAL G CODE.

  • Page 23

    4 The Interpolation23Fig. 4.1-14 The Interpolation4.1 Positioning (G00)The series of instructionsG00 vrefers to a positioning in the current coordinate system.It moves to the coordinate v. Designation v (vector) refers here (and hereinafter) to all controlledaxes used on the machine-tool. (They m...

  • Page 24

    4 The Interpolation24Fig. 4.2-1Fig. 4.2-2Feed along the axis X isFeed along the axis Z iswhere x, z are the displacements programmed alongthe respective axes, L is the vectorial length ofprogrammed displacement:G01 X192 Z120 F0.15The feed along a rotational axis is interpreted in units ofdegrees ...

  • Page 25

    4 The Interpolation25Fig. 4.3-14.3 Circular and Spiral Interpolation (G02, G03)The series of instructions specify circular interpolation.A circular interpolation is accomplished in the plane selected by commands G17, G18, G19 inclockwise or counter-clockwise direction (with G02 or G03, respective...

  • Page 26

    4 The Interpolation26Fig. 4.3-2The above figure shows clockwise (G02) andcounter clockwise (G03) circular directions inplane G18 when the plane is viewed in thepositive-to-negative direction of axis Y. If theplane is viewed in the negative-to-positivedirection of axis Y the interpretation of circ...

  • Page 27

    4 The Interpolation27Fig. 4.3-3Fig. 4.3-4Fig. 4.3-5Further data of the circle may be specified in one of two different ways.Case 1At address R where R is the radius of the circle. Now thecontrol will automatically calculate the coordinates of thecircle center from the start point coordinates (the...

  • Page 28

    4 The Interpolation28Fig. 4.3-6Fig. 4.3-7 L Notes: – I0, J0, K0 may be omitted, e.g. G03 X0 Z100 I-100 – When each of Xp, Yp and Zp is omitted, or the end point coordinate coincides with the start pointcoordinate, then: a. If the coordinates of the circle center are programmed at addresses, I...

  • Page 29

    4 The Interpolation29Fig. 4.3-8Fig. 4.3-9If the specified circle radius is smaller than half the distanceof straight line inter-connecting the start point with the endpoint, the control will regard the specified radius of the circleas the start-point radius, and will interpolate a circle of avary...

  • Page 30

    4 The Interpolation30Fig. 4.4-1Fig. 4.4-24.4 Equal Lead Thread Cutting (G33)The instructionG33 v F QG33 v E Qwill define a straight or taper thread cutting of equal lead.The coordinates of maximum two axes can bewritten for vector v. The control will cut atapered thread if two coordinated data ar...

  • Page 31

    4 The Interpolation31Fig. 4.4-3Fig. 4.5-1An example of programming a thread-cutting:G0 G90 X50 Z40U-30G33 U10 W38 F2G0 U20W-38In the example above X is specified in diameter. L Notes: – The control returns error message 3020 DATADEFINITION ERROR G33 if more than twocoordinates are specified at ...

  • Page 32

    4.6 Polar Coordinate Interpolation (G12.1, G13.1)32Fig. 4.6-14.6 Polar Coordinate Interpolation (G12.1, G13.1)Polar coordinate interpolation is a control operation method, in case of which the work described ina Cartesian coordinate system moves its contour path by moving a linear and a rotary ax...

  • Page 33

    4.6 Polar Coordinate Interpolation (G12.1, G13.1)33Programming length coordinates in the course of polar coordinate interpolationIn the switched-on state of the polar coordinate interpolation length coordinate data may beprogrammed on both axes belonging to the selected plane; The rotary axis in ...

  • Page 34

    4.6 Polar Coordinate Interpolation (G12.1, G13.1)34Fig. 4.6-2Fig. 4.6-3The diagram beside shows the cases whenstraight lines parallel to axis X (1, 2, 3, 4) areprogrammed. )x move belongs to theprogrammed feed within a time unit. Differentangular moves (n1, n2, n3, n4) belong to )xmove for each s...

  • Page 35

    4.6 Polar Coordinate Interpolation (G12.1, G13.1)35N080 G94 Z-3 S1000 M3N090 G12.1(polar coordinate interpolation on)N100 G42 G1 X100 F1000N110 C30N120 G3 X60 C50 I-20 J0N130 G1 X-40N140 X-100 C20N150 C-30N160 G3 X-60 C-50 R20N170 G1 X40N180 X100 C-20N190 C0N200 G40 G0 X150N210 G13.1(polar coordi...

  • Page 36

    4.7 Cylindrical Interpolation (G7.1)36Fig. 4.7-14.7 Cylindrical Interpolation (G7.1)Should a cylindrical cam grooving be milled on a cylinder mantle, cylindrical interpolation is to beused. In this case the rotation axis of the cylinder and of a rotary axis must coincide. The rotary axismovements...

  • Page 37

    4.7 Cylindrical Interpolation (G7.1)37Fig. 4.7-228 6511800 5..mmmm⋅°° ⋅ =πApplication of tool radius compensation in case of cylindrical interpolationCommands G41, G42 can be used in the usual manner in the switched-on state of cylindricalinterpolation. Though the following restrictions ar...

  • Page 38

    4.7 Cylindrical Interpolation (G7.1)38N140 G2 Z-10 C335 R35N150 G1 C360N160 G40 Z-20N170 G7.1 C0(cylindrical interpolation off)N180 G0 X100...%

  • Page 39

    5 The Coordinate Data39Fig. 5.1-15 The Coordinate Data5.1 Absolute and Incremental Programming (G90, G91), Operator IThe input coordinate data can be specified as absolute or incremental values. In an absolutespecification, the coordinates of the end point have to be specified for the control, fo...

  • Page 40

    5 The Coordinate Data40At the beginning of the program, the desired input unit has to be selected by specifying theappropriate code. The selected unit will be effective until a command of opposite meaning is issued,i.e., G20 and G21 are modal codes. Their effect will be preserved even after power...

  • Page 41

    5 The Coordinate Data41Fig. 5.4-1 The value ranges of angular coordinates:increment systemvalue range of angular coordinatesunit of measure IR-A± 0.01-999999.99degreesIR-B± 0.001-99999.999IR-C± 0.0001-9999.99995.4 Programming in Radius or DiameterSince the section of a turned work is generally...

  • Page 42

    5 The Coordinate Data425.5 Rotary Axis Roll-overThis function can be used in case of rotary axes, i.e., if address A, B or C is selected for operatingrotary axis. Handling of roll-over means, that the position on the given axis is not registered betweenplus and minus infinity, but regarding the p...

  • Page 43

    5 The Coordinate Data43Movement of rotary axis in case of absolute programmingIn case of absolute data input, when handling of roll-over is enabled for rotary axis(ROLLOVEN_x=1), the axis never moves more than that set at appropriate parameterROLLAMNT_x. That is, if, e.g., ROLLAMNT_C=360000 (360/...

  • Page 44

    5 The Coordinate Data44Movement of rotary axis in case of incremental programmingIn case of programming incremental data input the direction of movement is always according to theprogrammed sign.The appropriate parameter ROLLAMNT_x to be applied for movement setting can be set atparameter 0247 RE...

  • Page 45

    6 The Feed45Fig. 6.2-16 The Feed6.1 Feed in Rapid TraversG00 commands a positioning in rapid traverse.The value of rapid traverse for each axis is set by parameter by the builder of the machine. The rapidtraverse may be different for each axis.When several axes are performing rapid traverse motio...

  • Page 46

    6 The Feed46The feed value (F) is modal. After power-on, the feed value set at parameter FEED will beeffective.6.2.1 Feed per Minute (G94) and Feed per Revolution (G95)The unit of feed can be specified in the program with the G94 and G95 codes:G94: Feed per minuteG95: Feed per revolutionThe term ...

  • Page 47

    6 The Feed47The Table below shows the maximum programmable range of values at address F, for variouscases. inputunits outputunits incrementsystem value range of address F unitmmmmIS-A0.001 - 250000mmordeg/minIS-B0.0001 - 25000IS-C0.00001 - 2500IS-A0.0001 - 5000mmordeg/revIS-B0.00001 - 500IS-C0.00...

  • Page 48

    6 The Feed48Fig. 6.3-1Fig. 6.3-2Fig. 6.3-3automatically in the course of program execution.The maximum jog feed can also be clamped separately by parameters for human response times.6.3 Automatic Acceleration/DecelerationIn rapid traverse, the control will automaticallyperform a linear accelerati...

  • Page 49

    6 The Feed49Fig. 6.3-4Fig. 6.4-1The control is monitoring the changes intangential speeds. This is necessary to attain thecommanded speed in a process of continuousacceleration, if necessary, through severalblocks. The acceleration to the new feed (higherthan the previous one) is commenced by the...

  • Page 50

    6 The Feed50Fig. 6.4.5-1Fig. 6.4.5-26.4.3 Continuous Cutting Mode (G64)Modal function. The control will assume that state after power-on. It will be canceled by codesG61, G62 or G63.In this mode the movement will not come to a halt on the completion of the interpolation, the slideswill not slow d...

  • Page 51

    6 The Feed51Fig. 6.4.5-3Fig. 6.4.6-1Deceleration and acceleration will becommenced at distances Ll and Lg before andafter the corner, respectively. In the case of(circles) arcs, distance Ll and Lg will becalculated by the control along the arc.Distances Ll and Lg will be defined inparameters DECD...

  • Page 52

    7 The Dwell527 The Dwell (G04)The(G94) G04 P....command will program the dwell in seconds.The range of P is 0.001 to 99999.999 seconds.The(G95) G04 P....command will program the dwell in terms of spindle revolutions.The range of P is 0.001 to 99999.999 revolutions.Depending on parameter SECOND, t...

  • Page 53

    8 The Reference Point53Fig. 8-1 8 The Reference PointThe reference point is a distinguished positionon the machine-tool, to which the control caneasily return. The location of the reference pointcan be defined as a parameter in the coordinatesystem of the machine. Work coordinate systemcan be mea...

  • Page 54

    8 The Reference Point548.2 Automatic Return to Reference Points 2, 3, 4 (G30)Series of instructionsG30 v Pwill send the axes of coordinates defined at the addresses of vector v to the reference point definedat address P.P1=reference point 1P2=reference point 2P3=reference point 3P4=reference poi...

  • Page 55

    8 The Reference Point55Fig. 8.3-1taken into account in the new coordinate system.In the second phase it will move from the intermediate point to the point v defined in instruction G29.If coordinate v has an incremental value, the displacement will be measured from the intermediatepoint.When the t...

  • Page 56

    9 Coordinate Systems, Plane Selection56Fig. 9-1Fig. 9.1-19 Coordinate Systems, Plane SelectionThe position, to which the tool is to be moved, is specified with coordinate data in the program.When 2 axes are available (X, Z), the position of the tool is expressed by two coordinate dataX____ Z____ ...

  • Page 57

    9 Coordinate Systems, Plane Selection57Fig. 9.2.1-19.1.2 Positioning in the Machine Coordinate System (G53)InstructionG53 vwill move the tool to the position of v coordinate in the machine coordinate system. – Regardless of states G90, G91, coordinates v are always treated as absolute coordinat...

  • Page 58

    9 Coordinate Systems, Plane Selection58Fig. 9.2.1-2Fig. 9.2.2-1Furthermore, all work coordinate system can be offset with a common value. It can also be enteredin setting mode.9.2.2 Selecting the Work Coordinate SystemThe various work coordinate system can be selected with instructions G54...G59....

  • Page 59

    9 Coordinate Systems, Plane Selection59Fig. 9.2.2-2After a change of the work coordinate system,the tool position will be displayed in the newcoordinate system. For instance, there are twoworkpieces on the table. The first workcoordinate system (G54) has been assigned tozero point of one of the w...

  • Page 60

    9 Coordinate Systems, Plane Selection60Fig. 9.2.4-1Fig. 9.2.4-29.2.4 Creating a New Work Coordinate System (G92)InstructionG92 vwill establish a new work coordinate system insuch a way that coordinate point v of the newsystem will be a selected point - e.g. the tool'stip (if a length compensation...

  • Page 61

    9 Coordinate Systems, Plane Selection61Fig. 9.3-1Fig. 9.3-29.3 Local Coordinate SystemWhen writing part programs, it is sometimes more convenient to specify the coordinate data in a"local" coordinate system instead of the work coordinate system.InstructionG52 vwill create a local coordi...

  • Page 62

    9 Coordinate Systems, Plane Selection62Fig. 9.3-3Fig. 9.4-1each work coordinate system.Programming instruction G92 will delete the offsets produced by instruction G52 on the axesspecified inG92 - as if command G52 v0 had been issued.Whenever the tool is at point of X=240, Z=200coordinates in the ...

  • Page 63

    9 Coordinate Systems, Plane Selection63When X and U, Y and V, Z and W are parallel axes:The XY plane will be selected by G17 X_Y_,the XV plane will be selected by G17 X_V_,the UV plane will be selected by G17 U_V_,the XW plane will be selected by G18 X_W_,the YZ plane will be selected by G19 Y_Z_...

  • Page 64

    10 The Spindle Function64Fig. 10.2-110 The Spindle Function10.1 Spindle Speed Command (code S)With a number of max. five digits written at address S, the NC will give a code to the PLC.Depending on the design of the given machine-tool, the PLC may interpret address S as a code oras a data of revs...

  • Page 65

    10 The Spindle Function6510.2.1Constant Surface Speed Control Command (G96, G97)CommandG96 Sswitches constant surface speed control function on. The constant surface speed must be specifiedat address S in the unit of measure given in the above table.CommandG97 Scancels constant surface speed cont...

  • Page 66

    10 The Spindle Function6610.2.3 Selecting an Axis for Constant Surface Speed ControlThe axis, which position the constant surface speed is calculated from, is selected by parameter1182 AXIS. The logic axis number must be written at the parameter.If other than the selected axis is to be used, the ...

  • Page 67

    10 The Spindle Function6710.5 Spindle Positioning (Indexing)A spindle positioning is only feasible after the spindle position control loop has been closed afterorientation. Accordingly, this function is used for closing the loop. The loop will be opened byrotation command M3 or M4.If the value of...

  • Page 68

    10 The Spindle Function68Fig. 10.6-2Fig. 10.6-1Start of Spindle Speed Fluctuation DetectionAs the effect of new rotation speed the detection is suspended by the control. The speed fluctuationdetection starts when - the current spindle speedreaches the specified spindlespeed within the tolerance ...

  • Page 69

    10 The Spindle Function69Fig. 10.6-3Detecting ErrorIn the course of detection the control sends error message in case the deviation between current andspecified spindle speed exceeds- the tolerance limit specified by value "r" inpercent of the command value and- also the absolute tolera...

  • Page 70

    11 Tool Function7011 Tool FunctionThe first two digits of the number written at address T form the tool number, while the second twodigits form the offset number.Interpretation of the code written at address T:Meaning of command T1236: Activate tool No. 12 and use offset number 36. – Leading ze...

  • Page 71

    12 Miscellaneous and Auxiliary Functions7112 Miscellaneous and Auxiliary Functions12.1 Miscellaneous Functions (Codes M)With a numerical value of max. 3 digits specified behind address M, the NC will transfer the code tothe PLC.When a movement command and a miscellaneous function (M) are programm...

  • Page 72

    12 Miscellaneous and Auxiliary Functions72M99= end of subprogram (subroutine)It will cause the execution to return to the position of call.12.2 Auxiliary Function (Codes A, B, C)Max. three digits can be specified at each of addresses A, B, C provided one (or all) of thoseaddresses is (are) select...

  • Page 73

    13 Part Program Configuration7313 Part Program ConfigurationThe structure of the part program has been described already in the introduction presenting thecodes and formats of the programs in the memory. This Section will discuss the procedures oforganizing the part programs.13.1 Sequence Number ...

  • Page 74

    13 Part Program Configuration74main programO0010............subprogramcommentexecution of (main-)program O0010M98 P0011–––>O0011calling sub-programO0011..................execution of sub-program O0011next block<–––M99return to the callingprogram............resumption of programO...

  • Page 75

    13 Part Program Configuration75main programO0010..................subprogramcommentexecution of programO0010N101 M98 P0011–––>O0011calling sub-programO0011..................execution of sub-program O0011N102 ......<–––M99return to the nextblock of the callingprogram............r...

  • Page 76

    13 Part Program Configuration7613.3.3 Jump within the Main ProgramThe use of instructionM99in the main program will produce an unconditional jump to the first block of the main program, andthe execution of the program will be resumed there. The use of this instruction results in an endlesscycle:T...

  • Page 77

    14 The Tool Compensation7714 The Tool CompensationIn order not to take the overhang values, tool radii ect. belonging to the different tools into account,the tool characteristics are gathered in a table, namely in the offset table. In case a tool is called inthe part program, the place in the off...

  • Page 78

    14 The Tool Compensation78Fig. 14.1-1Fig. 14.1 -2Offsets in X, (Y), Z directions and radiuscompensations (R) can be two types:Geometry and wear offsets.Geometry value : Length/radius of themeasured tool, signed number.Wear value : Amount of wear occurringin the course of machining, signednumber.I...

  • Page 79

    14 The Tool Compensation79Fig. 14.1-3Value limits of geometric and wear offset values:input unitsystemoutput unitsystemincrementsystemgeometry valuewear valuedi-mensionmmmmIR-A±0.01 ÷99999.99±0.01÷163.80mmIR-B±0.001÷9999.999±0.001÷16.380IR-C±0.0001÷999.9999±0.0001÷1.6380inchmmIR-A±0....

  • Page 80

    14 The Tool Compensation80Fig. 14.1-4Fig. 14.1-5The compensation code called is modal, thus the control takes the same offset amounts into accountuntil an other T command is received, i.e. when the compensation values are read by means of a Tcommand, in this case the modification of the offset t...

  • Page 81

    14 The Tool Compensation81Fig. 14.3-114.2 Modification of Tool Offset Values from the Program (G10)BlockG10 L P X Y Z R QG10 L P XI YI ZI RI Q orG10 L P U V W C Qcan be used for modifying the tool offset values from the program. G10 is a single-shot command.The addresses and their values have the...

  • Page 82

    14 The Tool Compensation82Fig. 14.3-2(T0000)N10 G0 (G90) X700 Z350N20 X300 Z150 T202In this case block N30 is left and the commands of blocks N20 and N30 are pooled. In block N20in the course of movement it is already the imaginary tool nose led to the position of X=300, Z=150coordinates as in th...

  • Page 83

    14 The Tool Compensation83Fig. 14.4-1Fig. 14.4-214.4 Tool Nose Radius Compensation (G38, G39, G40, G41, G42)If only tool length compensation is used, it is notpossible to turn an accurate tapered line or acircular arc. In this case the imaginary tool noseis guided by the control along the program...

  • Page 84

    14 The Tool Compensation84Fig. 14.4-3Fig. 14.4-4vary with the compensation value (called at address T) and the geometry of the transition betweenthe two blocks.The compensation vectors are computed in the plane selected by instructions G17, G18, G19. Thisis the plane of tool nose radius compensat...

  • Page 85

    14 The Tool Compensation85The above points refer to the specification of positive tool radius compensation, but its value may benegative, too. It has a practical meaning if, e.g., a given subprogram is to be used for defining thecontours of a "female" part and of a "male" one ...

  • Page 86

    14 The Tool Compensation86Fig. 14.4-5An auxiliary data is to be introducedbefore embarking on the discussion of thedetails of the compensation computation.It is """, the angle at the corner of twoconsecutive blocks viewing from theworkpiece side. The direction of "depends on w...

  • Page 87

    14 The Tool Compensation87Fig. 14.4.1-114.4.1 Start up of Tool Nose Radius CompensationAfter power-on, end of program or resetting to the beginning of the program, the control will assumestate G40. The offset vector will be deleted, the path of the imaginary tool nose will coincide withthe progra...

  • Page 88

    14 The Tool Compensation88Fig. 14.4.1-2Fig. 14.4.1-3Fig. 14.4.1-4Going around the outside of a corner at an obtuse angle, 90°#"#180°Going around the outside of a corner at an acute angle, 0°#"<90°Special instances of starting up the radius compensation:If values are assigned to I...

  • Page 89

    14 The Tool Compensation89Fig. 14.4.1-5Fig. 14.4.1-6Fig. 14.4.1-7...G91 G18 G40...N110 G42 G1 X120 Z–80 I70 K50N120 Z100 ...In this case the control will always compute a point ofintersection regardless of whether an inside or an outsidecorner is to be machined.Unless a point of intersection is...

  • Page 90

    14 The Tool Compensation90Fig. 14.4.1-8If zero displacement is programmed (or such is produced) in the block containing the activation ofcompensation (G41, G42), the control will not perform any movement but will carry on themachining along the above-mentioned strategy....N10 G40 G18 G0 X0 Z0N15 ...

  • Page 91

    14 The Tool Compensation91Fig. 14.4.2-114.4.2 Rules of Tool Nose Radius Compensation in Offset ModeIn offset mode the compensation vectors will be calculated continuously between interpolationblocks G00, G01, G02, G03 (see the basic instances) until more than one block will be inserted,that do no...

  • Page 92

    14 The Tool Compensation92Fig. 14.4.2-2Fig. 14.4.2-3It may occur that no intersection point isobtained with some tool nose radius values. Inthis case the control comes to a halt duringexecution of the previous interpolation andreturns error message 3046 NO INTER-SECTION G41, G42.Going around the ...

  • Page 93

    14 The Tool Compensation93Fig. 14.4.2-4Fig. 14.4.2-5Going around the outside of a corner at an acute angle, 0°#"<90°Special instances of offset mode:If zero displacement is programmed (or such is obtained) in the selected plane in a block in offsetmode, a perpendicular vector will be po...

  • Page 94

    14 The Tool Compensation94Fig. 14.4.3-1Fig. 14.4.3-214.4.3 Canceling of Offset ModeCommand G40 will cancel the computation of tool radius compensation. Such a command can beissued with linear interpolation only. The control will return error message 3042 G40 IN G2, G3 toany attempt to program G40...

  • Page 95

    14 The Tool Compensation95Fig. 14.4.3-3Fig. 14.4.3-4Fig. 14.4.3-5Going around the outside of a corner at an acute angle, 0°#"<90°Special instances of canceling offset mode:If values are assigned to I, J, K in the compensation cancel block (G40) - but only to those in theselected plane (...

  • Page 96

    14 The Tool Compensation96Fig. 14.4.3-6Fig. 14.4.3-7Fig. 14.4.3-8Unless a point of intersection is found, the control will move,at a right angle, to the end point of the previous interpolation.If the compensation is canceled in a block in which nomovement is programmed in the selected plane, an o...

  • Page 97

    14 The Tool Compensation97Fig. 14.4.4-114.4.4 Change of Offset Direction While in the Offset ModeThe direction of tool-radius compensation computation is given in the Table below.Radius compensation: PositiveRadius compensation: NegativeG41leftrightG42rightleftThe direction of offset mode can be ...

  • Page 98

    14 The Tool Compensation98Fig. 14.4.4-2Fig. 14.4.4-3Fig. 14.4.4-4Unless a point of intersection is found in alinear-to-linear transition, the path of the toolwill be:Unless a point of intersection is found in alinear-to-circular transition, the path of the toolwill be:Unless a point of intersecti...

  • Page 99

    14 The Tool Compensation99Fig. 14.4.5-1Fig. 14.4.5-214.4.5 Programming Vector Hold (G38)Under the action of commandG38 vthe control will hold the last compensation vector between the previous interpolation and G38 blockin offset mode, and will implement it at the end of G38 block irrespective of ...

  • Page 100

    14 The Tool Compensation100Fig. 14.4.6-1Fig. 14.4.6-2The start and end points of the arc will be givenby a tool-radius long vector perpendicular to theend point of the path of previous interpolationand by a tool-radius vector perpendicular to thestart point of the next one, respectively. G39has t...

  • Page 101

    14 The Tool Compensation101Fig. 14.4.7-1Fig. 14.4.7-214.4.7 General Information on Tool Nose Radius CompensationIn offset mode (G41, G42), the control will always have to compute the compensation vectorsbetween two interpolation blocks in the selected plane. In practice it may be necessary to pro...

  • Page 102

    14 The Tool Compensation102Fig. 14.4.7-3Fig. 14.4.7-4Fig. 14.4.7-5If no cut is feasible in direction Y unless the radius compensation is setup, the following procedure may be adopted:...G18 G91...N110 G41 G0 X140 Z50 N120 G1 Y-40N130 X80...Now the tool will have a correct path as is shown in the ...

  • Page 103

    14 The Tool Compensation103Fig. 14.4.7-6Fig. 14.4.7-7The path of tool will be as follows when instructionsG22, G23, G52, G54-G59, G92G53G28, G29, G30are inserted between two interpolations.When command G22, G23, G52, G54-G59 or G92 is programmed in offset mode between twointerpolation blocks, the...

  • Page 104

    14 The Tool Compensation104Fig. 14.4.7-8Fig. 14.4.7-9If G28 or G30 is programmed (followed by G29) between two blocks in offset mode, thecompensation vector will be deleted at the end point of the block it positions the tool to theintermediate point, the tool will move to the reference point, and...

  • Page 105

    14 The Tool Compensation105Fig. 14.4.7-10Fig. 14.4.7-11Fig. 14.4.7-12A particular program detail or subprogram may be used also for machining a male or female work-piece with positive or negative radius compensation, respectively, or vice-versa. Let us review the following small programdetail:......

  • Page 106

    14 The Tool Compensation106Fig. 14.4.7-13Fig. 14.4.7-14When a full circle is being programmed, it may often occur that the path of tool covers more than acomplete revolution round the circle in offset mode.For example, this may occur in programming a directionreversal along the contours:...G17 G4...

  • Page 107

    14 The Tool Compensation107Fig. 14.4.7-15Fig. 14.4.8-1Two or more compensation vectors may be producedwhen going around sharp corners. When their endpoints lie close to each other, there will be hardly anymotion between the two points.When the distance between the two vectors is smallerthan the v...

  • Page 108

    14 The Tool Compensation108Fig. 14.4.8-2Fig. 14.4.8-3In the other words thecontrol will check wether thecompensated displacementvector has a componentopposite to the programmeddisplacement vector or not.If parameter ANGLAL is set to 1, the control will, after an angle check, return an interferenc...

  • Page 109

    14 The Tool Compensation109Fig. 14.4.8-4If parameter ANGLAL is set to 0, the control will not return an error message, but will automaticallyattempt to correct the contour in order to avoid overcutting. The procedure of compensation is asfollows.Each of blocks A, B and C are in offset mode. The c...

  • Page 110

    14 The Tool Compensation110Fig. 14.4.8-5Fig. 14.4.8-6Fig. 14.4.8-7Machining an inside corner with a radius smaller thanthe tool radius. The control returns error message3048 INTERFERENCE ALARM or else overcutting would occur.Cutting a step smaller than the tool radiusalong an arc. If parameter AN...

  • Page 111

    14 The Tool Compensation111Fig. 14.4.8-8In the above example an interference error isreturned again because the displacement of thecompensated path in interpolation B is oppositeto the programmed one.

  • Page 112

    15 Special Transformations112Fig. 15.1-115 Special Transformations15.1 Mirror Image for Double Turret (G68)Command G68 switches double turret mirror image on, while commandG69 cancels it.This function can be used for theprogramming of two facing turretsor tool posts. The first tool post,tool post...

  • Page 113

    15 Special Transformations113Fig. 15.2-1Fig. 15.2-215.2 Scaling (G50, G51)CommandG51 v Pcan be used for scaling a programmed shape.P1...P4:Points specified in the part programP1'...P4':Points after scalingP0:Center of scalingThe coordinates of the scaling center can be entered atcoordinates of v....

  • Page 114

    15 Special Transformations114Fig. 15.3-1in such a way that the coordinates of the axis (or axes) of mirror image can be specified in v. The vcoordinate may be X, Y, Z, U, V, W, A, B, C.The v coordinate data entered here are interpreted as rectangular coordinate data even when polarcoordinate data...

  • Page 115

    15 Special Transformations115to be canceled and only then the cancellation of the mirror image may come:G51.1 ...(mirror image on) G51 ...(scaling on)...G50 ...(scaling off)G50.1 ...(mirror image off)

  • Page 116

    16 Automatic Geometric Calculations116Fig. 16.1-1Fig. 16.1-216 Automatic Geometric Calculations16.1 Programming Chamfer and Corner RoundThe control is able to insert chamfer or rounding between two blocks containing linear (G01) orcircle interpolation (G02, G03) automatically.A chamfer, the lengt...

  • Page 117

    16 Automatic Geometric Calculations117Fig. 16.1-3Command containing a chamfer or a corner roundingmay also be written at the end of more successiveblocks as shown in the below example:...G1 X80 ,C10Z60 ,R22G3 X160 Z20 R40 ,C10G1 X220...L Note: – Chamfer or rounding can only be programmedbetween...

  • Page 118

    16 Automatic Geometric Calculations118Fig. 16.2-2Fig. 16.2-1Fig. 16.2-3L Note: ) In case the coordinate system is situated like on the figure besidethe interpretation of angle is modified as seen in theenclosed figure (positive direction is clockwise).For example:(G18 G90) G1 X60 Z120 ... Z70 ,A1...

  • Page 119

    16 Automatic Geometric Calculations119Fig. 16.3.1-116.3 Intersection Calculations in the Selected PlaneIntersection calculations discussed here are only executed by the control when tool radiuscompensation (G41 or G42 offset mode) is on. If eventually no tool radius compensation isneeded in the p...

  • Page 120

    16 Automatic Geometric Calculations120Fig. 16.3.1-2For example:(G18) G90 G41 ...G0 X20 Z90N10 G1 ,A150N20 X40 Z10 ,A225G0 Z0...Block N10 can also be given with thecoordinates of a point of the straight line:(G18) G90 G41 ...G0 X20 Z90N10 G1 X66.188 Z50N20 X40 Z10 ,A225G0 X0 Y20...Note, that in th...

  • Page 121

    16 Automatic Geometric Calculations121Fig. 16.3.1-3Fig. 16.3.1-4Intersection calculation can also be combined with a chamfer or corner rounding specification. E.g.:(G18) G90 G41 ...G0 X20 Z90N10 G1 X66.188 Z50 ,C10N20 X40 Z10 ,A225G0 X0 Y20...(G18) G90 G41 ...G0 X20 Z90N10 G1 X66.188 Z50 ,R10N20 ...

  • Page 122

    16 Automatic Geometric Calculations12216.3.2 Linear-circular IntersectionIf a circular block is given after a linear block in a way that the end and center position coordinatesas well as the radius of the circle are specified, i.e., the circle is determined over, then the controlcalculates inters...

  • Page 123

    16 Automatic Geometric Calculations123Fig. 16.3.2-1Fig. 16.3.2-2G17 G41 (G42)N1 G1 ,A or X1 Y1N2 G2 (G3) G90 X2 Y2 IJ R QG18 G41 (G42)N1 G1,A or X1 Z1N2 G2 (G3) G90 X2 Z2 IK R QG19 G41 (G42)N1 G1 ,A orY1 Z1N2 G2 (G3) G90 Y2 Z2 JK R Q The intersection is always calculated in the plane selected...

  • Page 124

    16 Automatic Geometric Calculations124Fig. 16.3.2-3Fig. 16.3.2-4Let us see the following example:%O9981N10 (G18) G42 G0 X40 Z100 S200 M3N20 G1 X-40 Z-30N30 G3 X80 Z20 I-10 K20 R50 Q-1N40 G40 G0 X120N50 Z120N60 M30%%O9982N10 (G18) G42 G0 X40 Z100 S200 M3N20 G1 X-40 Z-30N30 G3 X80 Z20 I-10 K20 R50 ...

  • Page 125

    16 Automatic Geometric Calculations125Fig. 16.3.3-1Fig. 16.3.3-216.3.3 Circular-linear IntersectionIf a linear block is given after a circular block in a way that the straight line is defined over, i.e., bothits end point coordinate and the angle are specified, then the control calculates inters...

  • Page 126

    16 Automatic Geometric Calculations126Fig. 16.3.3-3Fig. 16.3.3-4Let us see an example:%O9983N10 (G18) G0 X90 X0 M3 S200N20 G42 G1 Z50N30 G3 X0 Z-50 R50N40 G1 X85.714 Z-50 ,A171.87 Q-1N50 G40 G0 X140 N60 Z90N70 M30%%O9984N10 (G18) G0 X90 X0 M3 S200N20 G42 G1 Z50N30 G3 X0 Z-50 R50N40 G1 X85.714 Z-5...

  • Page 127

    16 Automatic Geometric Calculations127Fig. 16.3.4-1Fig. 16.3.4-216.3.4 Circular-circular IntersectionIf two successive circular blocks are specified so that the end point, the center coordinates as wellas the radius of the second block are given, i.e., it is determined over the control calculates...

  • Page 128

    16 Automatic Geometric Calculations128I, J, K coordinates defining the circle center, are always interpreted by the control as absolutedata (G90). Of the two resulting intersections the one to be calculated by the control can bespecified at address Q. If the address value is less than zero (Q<...

  • Page 129

    16 Automatic Geometric Calculations129Fig. 16.3.4-3Fig. 16.3.4-4Let us see the following example:%O9985N10 (G18) G0 X20 Z200 M3 S200N20 G42 G1 Z180N30 G3 X-80 Z130 R-50N40 X174.892 Z90 I30 K50 R70 Q–1N50 G40 G0 X200N60 Z200N70 M30%%O9986N10 (G18) G0 X20 Z200 M3 S200N20 G42 G1 Z180N30 G3 X-80 Z1...

  • Page 130

    16 Automatic Geometric Calculations130Fig. 16.3.5-116.3.5 Chaining of Intersection CalculationsIntersection calculation blocks can be chained, i.e., more successive blocks can be selected forintersection calculation. The control calculates intersection till straight lines or circles determined ov...

  • Page 131

    17.1.1 Cutting Cycle (G77)131Fig. 17.1.1-1Fig. 17.1.1-217 Canned Cycles for Turning17.1 Single CyclesThe single cycles are the cutting cycle G77, the simple thread cutting cycle G78 and the end facecutting cycle G79.17.1.1 Cutting Cycle (G77)Straight cutting cycle can be defined in the following ...

  • Page 132

    17.1.1 Cutting Cycle (G77)132Fig. 17.1.1-3In case of incremental programming the signs of addresses U, W and R(I) influence the movementdirections as follows:

  • Page 133

    17.1.2 Thread Cutting Cycle (G78)133Fig. 17.1.2-1Fig. 17.1.2-217.1.2 Thread Cutting Cycle (G78)Straight thread cutting cycle can be defined in the following way:G78 X(U)__ Z(W)__ Q__ F(E)__Incremental programming is also possible with operator I or by programming G91.In case of programming the da...

  • Page 134

    17.1.2 Thread Cutting Cycle (G78)134Fig. 17.1.2 -3Taper thread cutting cycle can be defined in the following way:G78 X(U)__ Z(W)__ R(I)__ Q__ F(E)__The taper can be specified at either address R or I. In both cases the data interpretation is the same.The data given at address R(I) is always incre...

  • Page 135

    17.1.3 End Face Cutting Cycle (G79)135Fig. 17.1.3 -1Fig. 17.1.3 -217.1.3 End Face Cutting Cycle (G79)Straight face cutting cycle can be defined in the following way:G79 X(U)__ Z(W)__ F__Incremental programming is also possible with operator I or by programming G91.In case of incremental programmi...

  • Page 136

    17.1.3 End Face Cutting Cycle (G79)136Fig. 17.1.4 -3In case of incremental programming the signs of addresses U, W and R(K) influence the movementdirections as follows:

  • Page 137

    17.1.4 Simple Cycle Application137Fig. 17.1.4 -117.1.4 Single Cycle ApplicationBoth G codes and input parameters of cycles are modal. This means that if the cycle variables X(U),Z(W) or R(I or K), are already given and their values have not changed, they must not be rewrittenin pogram.. For examp...

  • Page 138

    17.2.1 Stock Removal in Turning (G71)138Fig. 17.2.1 -117.2 Multiple Repetitive Cycles Multiple repetitive cycles simplify the writing of machining programs. For example the profile of thepart must be specified for finishing. At the same time this profile determines the basis of cyclesexecuting st...

  • Page 139

    17.2.1 Stock Removal in Turning (G71)139Fig. 17.2.1 -2where:)d:Depth of cut. Positive number interpreted always in radius. The depth of cut can also begiven at parameter 1339 DPTHCUT as well as this parameter is overwritten as the effect ofthe program command. This also means that in case the dep...

  • Page 140

    17.2.1 Stock Removal in Turning (G71)140Tool nose radius compensation calculation (G41, G42) can be switched on during cycle executionwith the obligation that it must be switched on (G41 or G42) and off (G40) between blocks rangingfrom ns to nf:CORRECTN(ns) X(U) G41 ... (G41)... ... (G40)N(nf...

  • Page 141

    17.2.1 Stock Removal in Turning (G71)141Fig. 17.2.1 -3Fig. 17.2.1 -4Fig. 17.2.1 -5Specification of type 1G71 U8 R1G71 P100 Q200 U0.5 W0.2 N100 X(U)___.........N200Specification of type 2G71 U8 R1G71 P100 Q200 U0.5 W0.2 N100 X(U)___ Z(W)__.........N200In case type 2 must be used with movement only...

  • Page 142

    17.2.1 Stock Removal in Turning (G71)142obligatorily referred to), i.e., the first cut must not be perpendicular to Z axis.

  • Page 143

    17.2.1 Stock Removal in Turning (G71)143Fig. 17.2.1 -6Fig. 17.2.1 -7In case of stock removal in turning type 2 theescaping amount is perpendicular to axis Z and isdone with valid escape amount “e”.The below figure shows an example how does the cycle cut the rough workpiece.In the above case Z...

  • Page 144

    17.2.2 Stock Removal in Facing (G72)144Fig. 17.2.2 -117.2.2 Stock Removal in Facing (G72)There are two kinds of stock removals in facing: Type 1 and 2.Stock removal in facing type 1The stock removal in facing (G72) seen in the below figure is the same as stock removal in turningG71 except for tha...

  • Page 145

    17.2.2 Stock Removal in Facing (G72)145Fig. 17.2.2 -22nd specification method:G72 P (ns) Q (nf) U()u) W()w) D()d) F(f) S(s) T(t)N(ns) Z(W) ......F___S___T___N(nf) ...The cycle can be used in all four quadrants.The figure shows the finishing allowance signfor all four cases.In block No. ...

  • Page 146

    17.2.3 Pattern Repeating Cycle (G73)146Fig. 17.2.3 -117.2.3 Pattern Repeating Cycle (G73)This cycle can be used for cutting parts whose rough shape has already been made by roughmachining, forging or casting method. This function permits cutting a fixed pattern repeatedly, with apattern being dis...

  • Page 147

    17.2.3 Pattern Repeating Cycle (G73)147)k:Distance and direction of relief along Z axis. Signed number always interpreted in radius.The relief can also be given at parameter 1342 RELIEFZ as well as this parameter isoverwritten as the effect of program commandd:Number of division. The number of di...

  • Page 148

    17.2.4 Finishing Cycle (G70)148Fig. 17.2.4-117.2.4 Finishing Cycle (G70)After the stock removal with G71, G72 or G73 finishing can be defined by means of command G70.Finishing can be given with the following command:G70 P (ns) Q (nf) U()u) W()w)ns:Sequence number of the first block for the pr...

  • Page 149

    17.2.5 End Face Peck Drilling Cycle (G74)149Fig. 17.2.5 -117.2.5 End Face Peck Drilling Cycle (G74)The enclosed figure shows the process of end face peck drilling cycle G74. The drilling is in Zdirection.1st specification method:Command lineG74 R (e)G74 X(U) Z(W) P ()i) Q ()k) R ()d) Fwhere:...

  • Page 150

    17.2.5 End Face Peck Drilling Cycle (G74)150However, if the filling out of addresses X(U) and P()i) is omitted the sign of R()d) isinterpreted and the movement direction is determined by the sign of )d at the cuttingbottom.F:FeedrateIn the figure (F) indicates the phases done at feedrate and (R) ...

  • Page 151

    17.2.6 Outer Diameter/Internal Diameter Drilling Cycle (G75)151Fig. 17.2.6 -117.2.6 Outer Diameter/Internal Diameter Drilling Cycle (G75)The enclosed figure shows the process of outer diameter/internal diameter drilling cycle G75.1st specification method:G75 R (e)G75 X(U) Z(W) P ()i) Q ()k) R...

  • Page 152

    17.2.7 Multiple Thread Cutting Cycle (G76)152Fig. 17.2.7 -1Fig. 17.2.7 -217.2.7 Multiple Thread Cutting Cycle (G76)The enclosed figure shows the process of multiple thread cutting cycle G76.

  • Page 153

    17.2.7 Multiple Thread Cutting Cycle (G76)1531st specification method:Command linesG76 P (n) (r) (") Q ()dmin) R (d)G76 X(U) Z(W) P (k) Q ()d) R (i) F(E)(L)where:n:Repetitive count in finishing (n=01...99)The value is modal, unchanging until overwritten. The repetitive count of finish...

  • Page 154

    17.2.7 Multiple Thread Cutting Cycle (G76)154)d:Depth of cut in 1st cut (positive number interpreted always in radius)L:Lead of threadIts programming corresponds to that of G33. Value written at address F indicates threadlead, while the value written at address E indicates the ridges pro inch.The...

  • Page 155

    17.2.7 Multiple Thread Cutting Cycle (G76)155Fig. 17.2.7 -3Fig. 17.2.7 -4P4: Cutting depth constant, both edge cuttingP5: Cutting amount constant, both edge cutting

  • Page 156

    17.2.7 Multiple Thread Cutting Cycle (G76)156Fig. 17.2.7 -6Fig. 17.2.7 -5

  • Page 157

    17.2.7 Multiple Thread Cutting Cycle (G76)157Fig. 17.2.7 -7

  • Page 158

    18 Canned Cycles for Drilling158Fig. 18-118 Canned Cycles for DrillingA drilling cycle may be broken up into the following operations.Operation 1: Positioning in the Selected PlaneOperation 2: Operation After PositioningOperation 3: Movement in Rapid Traverse to Point ROperation 4: Operation ...

  • Page 159

    18 Canned Cycles for Drilling159Fig. 18-2where Xp is axis X or the one parallel to itYp is axis Y or the one parallel to itZp is axis Z or the one parallel to it.Axes U, V, W are regarded to be parallel ones when they are defined in parameters.If face drilling is to be programmed, where the dril...

  • Page 160

    18 Canned Cycles for Drilling160Fig. 18-3The code of drilling:For meanings of the codes see below.Each code will be modal until an instruction G80 or a code is programmed, that belongs to G codegroup 1 (interpolation codes: G01, G02, G03, G33).As long as the cycle state is on (instructions G83.1,...

  • Page 161

    18 Canned Cycles for Drilling161Fig. 18-4tool is to be withdrawn from the surface can be specified at addresses I, J or K. The control willinterpret the addresses in conformity with the plane selected.G17:I, JG18:K, IG19:J, KEach address is interpreted as an incremental data of rectangular coordi...

  • Page 162

    18 Canned Cycles for Drilling162Cut-in value (Q)It is the depth of the cut-in, in the cycles of G73 and G83. It is invariably an incremental, rectangularpositive data (a modal one). Its value will be deleted by G80 or by the codes of the interpolationgroup. The scaling does not affect the value o...

  • Page 163

    18 Canned Cycles for Drilling163Fig. 18-5Fig. 18-6Examples of using cycle repetitions :If a particular type of hole is to be drilled with unchanged parameters at equally spaced positions,the number of repetitions can be specified at address L. The value of L is only effective in the block,in whic...

  • Page 164

    18 Canned Cycles for Drilling164Fig. 18.1.1-118.1 Detailed Description of Canned Cycles18.1.1 High Speed Peck Drilling Cycle (G83.1)The variables used in the cycle areG17 G83.1 Xp__ Yp__ C__ Zp__ R__ Q__ E__ F__ L__G18 G83.1 Zp__ Xp__ C__ Yp__ R__ Q__ E__ F__ L__G19 G83.1 Yp__ Zp__ C__ ...

  • Page 165

    18 Canned Cycles for Drilling165Fig. 18.1.2-118.1.2 Counter Tapping Cycle (G84.1)This cycle can be used only with a spring tap. The variables used in the cycle areG17 G84.1 Xp__ Yp__ C__ Zp__ R__ (P__) F__ L__G18 G84.1 Zp__ Xp__ C__ Yp__ R__ (P__) F__ L__G19 G84.1 Yp__ Zp__ C__ Xp__ ...

  • Page 166

    18 Canned Cycles for Drilling166Fig. 18.1.3-118.1.3 Fine Boring Cycle (G86.1)Cycle G76 is only applicable when the facility of spindle orientation is incorporated in the machine-tool. In this case parameter ORIENT1 is to be set to 1, otherwise message 3052 ERROR IN G76 isreturned.Since, on the bo...

  • Page 167

    18 Canned Cycles for Drilling167Fig. 18.1.5-1– spindle re-started in direction M318.1.4 Canned Cycle for Drilling Cancel (G80)The code G80 will cancel the cycle state, the cycle variables will be deleted.Z and R will assume incremental 0 value (the rest of variables will assume 0).With coordina...

  • Page 168

    18 Canned Cycles for Drilling168Fig. 18.1.6-118.1.6 Drilling, Counter Boring Cycle (G82)The variables used in the cycle areG17 G82 Xp__ Yp__ C__ Zp__ R__ P__ F__ L__G18 G82 Zp__ Xp__ C__ Yp__ R__ P__ F__ L__G19 G82 Yp__ Zp__ C__ Xp__ R__ P__ F__ L__the operations of the cycle are1.rap...

  • Page 169

    18 Canned Cycles for Drilling169Fig. 18.1.7-118.1.7 Peck Drilling Cycle (G83)The variables used in the cycle areG17 G83 Xp__ Yp__ C__ Zp__ R__ Q__ E__ F__ L__G18 G83 Zp__ Xp__ C__ Yp__ R__ Q__ E__ F__ L__G19 G83 Yp__ Zp__ C__ Xp__ R__ Q__ E__ F__ L__The oprations of the cycle are1.rap...

  • Page 170

    18 Canned Cycles for Drilling170Fig. 18.1.8-1Distance E will be taken from the program (address E) or from parameter CLEG83.18.1.8 Tapping Cycle (G84)This cycle can be used only with a spring tap.The variables used in the cycle areG17 G84 Xp__ Yp__ C__ Zp__ R__ (P__) F__ L__G18 G84 Zp__ Xp_...

  • Page 171

    18 Canned Cycles for Drilling1719.with G98, rapid-traverse retraction to the initial point10.-18.1.9 Rigid (Clockwise and Counter-clockwise) Tap Cycles (G84.2, G84.3)In a tapping cycle the quotient of the drill-axis feed and the spindle rpm must be equal to the threadpitch of the tap. In other wo...

  • Page 172

    18 Canned Cycles for Drilling172Fig. 18.1.9-1 – In state G94 (feed per minute), where P is the thread pitch in mm/rev or inches/rev,S is the spindle speed in rpmIn this case the displacement and the feed along the drilling axis and the spindle will be asfollows (Z assumed to be the drilling axi...

  • Page 173

    18 Canned Cycles for Drilling173Fig. 18.1.9-24.spindle orientation (M19)5.linear interpolation between the drilling axis and the spindle, with the spindle rotated in clockwise direction6.-7.linear interpolation between the drilling axis and the spindle, with the spindle being rotated counter-cloc...

  • Page 174

    18 Canned Cycles for Drilling174Fig. 18.1.10-118.1.10 Boring Cycle (G85)The variables used in the cycle areG17 G85 Xp__ Yp__ C__ Zp__ R__ F__ L__G18 G85 Zp__ Xp__ C__ Yp__ R__ F__ L__G19 G85 Yp__ Zp__ C__ Xp__ R__ F__ L__The operations of the cycle are1.rapid-traverse positioning in t...

  • Page 175

    18 Canned Cycles for Drilling175Fig. 18.1.11-118.1.11 Boring Cycle Tool Retraction with Rapid Traverse (G86)The variables used in the cycle areG17 G86 Xp__ Yp__ C__ Zp__ R__ F__ L__G18 G86 Zp__ Xp__ C__ Yp__ R__ F__ L__G19 G86 Yp__ Zp__ C__ Xp__ R__ F__ L__The spindle has to be given ...

  • Page 176

    18 Canned Cycles for Drilling176Fig. 18.1.12-118.1.12 Boring Cycle/Back Boring Cycle (G87)The cycle will be performed in two different ways.A. Boring Cycle, Manual Operation at Bottom PointUnless the machine is provided with the facility of spindle orientation (parameter ORIENT1=0), thecontrol wi...

  • Page 177

    18 Canned Cycles for Drilling177Fig. 18.1.12-2B. Back Boring CycleIf the machine is provided with the facility of spindle orientation (parameter ORIENT1=1), thecontrol will act in conformity with case "B".The variables of cycle areG17 G87 Xp__ Yp__ C__ I__ J__ Zp__ R__ F__ L__G18 G...

  • Page 178

    18 Canned Cycles for Drilling178Fig. 18.1.13-118.1.13 Boring Cycle (Manual Operation on the Bottom Point) (G88)The variables used in the cycle areG17 G88 Xp__ Yp__ C__ Zp__ R__ P__ F__ L__G18 G88 Zp__ Xp__ C__ Yp__ R__ P__ F__ L__G19 G88 Yp__ Zp__ C__ Xp__ R__ P__ F__ L__The spindle m...

  • Page 179

    18 Canned Cycles for Drilling179Fig. 18.1.14-118.1.14 Boring Cycle (Dwell on the Bottom Point, Retraction with Feed) (G89)The variables used in the cycle areG17 G89 Xp__ Yp__ Zp__ R__ P__ F__ L__G18 G89 Zp__ Xp__ Yp__ R__ P__ F__ L__G19 G89 Yp__ Zp__ Xp__ R__ P__ F__ L__The operations of...

  • Page 180

    18 Canned Cycles for Drilling180To illustrate the foregoing, let us see the following example. G81X_ C_ Z_ R_ F(the drilling cycle is executed)X(the drilling cycle is executed)F_(the drilling cycle is not executed, F isover-written)M_(the drilling cycle is not executed, code Mis executed) G4P_(...

  • Page 181

    19 Polygonal Turning181Fig. 19-1Fig. 19.1-1Fig. 19.1-219 Polygonal TurningIn case of polygonal turning both the tool and the workpiece arerotated in relation to each other by a specified revolution ratio.Polygons with varying side number are resulted from the change ofthe revolution ratio and the...

  • Page 182

    19 Polygonal Turning182Fig. 19.1-4Fig. 19.1-3Fig. 19.1-5With other revolution ratios thecurves will differ from ellipses,although the polygonal sides canbe estimated even with thoseforms.19.2 Programming Polygonal Turning (G51.2, G50.2)CommandG51.2 P_ Q_switches polygonal turning mode on. The rev...

  • Page 183

    19 Polygonal Turning183also a negative number can be set at address Q, this results in counter-direction of the tool spindlerotation.CommandG50.2switches polygonal turning off.Commands G51.2 and G50.2 must always be issued in separate blocks.In order to execute polygonal turning, a second spindle...

  • Page 184

    20 Measurement Functions184Fig. 20.1-120 Measurement Functions20.1 Skip Function (G31)InstructionG31 v (F) (P)starts linear interpolation to the point of v coordinate. The motion is carried on until an external skipsignal (e.g. that of a touch-probe) arrives or the control reaches the end-point p...

  • Page 185

    20 Measurement Functions185Fig. 20.1-2Fig. 20.1-3Fig. 20.2-1The interpolation can be executed in state G40 only. Programming G31 in state G41 or G42 returnserror message 3054 G31 IN INCORRECT STATE. Again, the same error message will bereturned if state G95, G51, G51.1, G68 or G16 is in effect.Th...

  • Page 186

    20 Measurement Functions186arrives outside of the ALADIST range (specified on parameter) of the predicted position X or Z.If the measurement is completed successfully and the touch-probe signal has arrived at the point ofcoordinate Q, the control will – add the difference Q-q to the wear compen...

  • Page 187

    21 Safety Functions187Fig. 21.1-121 Safety Functions21.1 Programmable Stroke Check (G22, G23)InstructionG22 X Y Z I J K Pwill forbid to enter the area selected by the command. Meaning of addresses:X:Limit along axis X in positive directionI:Limit along axis X in negative directionY:Limit along ax...

  • Page 188

    21 Safety Functions188Fig. 21.2-1limit data of coordinates specified for that axis will limit the movement by stopping the tip of the toolat the limit. If, however, the compensation is not set up, the reference point of the tool holder will notbe allowed into the prohibited area. It is advisable ...

  • Page 189

    21 Safety Functions189Fig. 21.3-1Fig. 21.3-221.3 Stroke Check Before Movement The control differentiates two forbidden areas. The first is the parametric overtravel area whichdelimits the physically possible movement range of the machine. The extreme positions of that rangeare referred to as limi...

  • Page 190

    22 Custom Macro19022 Custom Macro22.1 The Simple Macro Call (G65)As a result of instructionG65 P(program number) L(number of repetitions) <argument assignment>the custom macro body (program) specified at address P (program number) will be called as manytimes as is the number specified at ad...

  • Page 191

    22 Custom Macro191The control will accept simultaneous selections of arguments 1 and 2 in a given block. An errormessage will be returned when an attempt is made to make reference twice to a variable of aparticular number. For example,In the above example, variable #8 has already been assigned a ...

  • Page 192

    22 Custom Macro192 G1 Z#26 F#9 (drilling as far as the point Z specified ataddress Z–100, with the feed specified at addressF130) G4 P#24 (dwell at the bottom of the hole for the timespecified at address X2) G0 Z-[#18+#26](retraction of the tool to the initial point) M99 (...

  • Page 193

    22 Custom Macro193if address N has been recorded already as an argument, the next reference toaddress N will produce error message 3064 BAD MACRO STATEMENT.In the case of G66.1, the rules of block execution:The selected macro will be called already from the block, in which code G66.1 has been spe...

  • Page 194

    22 Custom Macro194A modal code can be deleted by instruction G67.22.4 Custom Macro Call Using M CodeMaximum 10 different M codes can be selected by parameters, to which macro calls are initiated.Now the series of instructionsNn Mm <argument assignment>have to be typed. Now code M will not b...

  • Page 195

    22 Custom Macro195 FGMAC=0, not enabled (executed as an ordinary codes M, S, ... G) FGMAC=1, enabled, i.e. a new call will be generated.22.6 Subprogram Call with T CodeWith parameter T(9034)=1 set, the value of T written in the program will not be transferred to thePLC, instead, the T code will i...

  • Page 196

    22 Custom Macro196Gg Xx Yy M98 P9031The values assigned to addresses A, B and C will be transferred to common variables #195, #196,and #197, respectively. If reference is made again to the same address in the subprogram started by code A, B or C, thesubprogram will not be called again, but the va...

  • Page 197

    22 Custom Macro197Including only the interpolations, the sequence of execution will beOf the numbers in brackets, the first and the second ones are the numbers of the programs andblock being executed, respectively.Instruction G67 specified in block N14 will cancel the macro called in block N12 (O...

  • Page 198

    22 Custom Macro19822.10 Format of Custom Macro BodyThe program format of a user macro is identical with that of a subprogram:O(program number):commands:M99The program number is irrelevant, but the program numbers between O9000 and O9034 arereversed for special calls.22.11 Variables of the Program...

  • Page 199

    22 Custom Macro199 – Referring to program number O, block number N or conditional block / by a variable is notpermissible. Address N will be regarded as a block number if it is preceded only by address"/" in the block. – The number of a variable may not be substituted for by a vari...

  • Page 200

    22 Custom Macro200Difference between a vacant variable and a 0 - value one in a conditional expression will be if #1=<vacant> if #1=0 #1 EQ #0 #1 EQ #0 * * fulfilled not fulfilled #...

  • Page 201

    22 Custom Macro201protected will be written to parameters WRPROT1 and WRPROT2, respectively. If, e.g., thevariables #530 through #540 are to be protected, the respective parameters have to be set asWRPROT1=530 and WRPROT2=540.22.12.3 System VariablesThe system variables are fixed ones providing i...

  • Page 202

    22 Custom Macro202Interface output signals - #1100–#1115, #113216 interface output signals can be issued, one by one, by assigning values to variables #1100through #1115. Name of system variables Interface input with reference to the PLC program...

  • Page 203

    22 Custom Macro203Tool compensation values - #10001 through #13999The tool compensation values can be read from variables #10001 through #19999, or values can beassigned them.NXYZRQweargeom..weargeom..weargeom..weargeom..1#10001#15001#14001#19001#11001#16001#12001#17001#130012#10002#15002#14002#1...

  • Page 204

    22 Custom Macro204Work zero-point offsets - #5201 through #5328The work zero-point offsets can be read at variables #5201 through #5328, or values can beassigned them.No. of value of variablevariableworkpiececoordinatesystem#5201common work zero point offset, axis 1common forall thecoord...

  • Page 205

    22 Custom Macro205The axis number refers to the physical ones. The relationship between the numbers and the names ofaxes will be defined by the machine tool builder by parameters in group AXIS. Usually axes 1, 2 and3 are assigned to addresses X, Y and Z, respectively, but different specifications...

  • Page 206

    22 Custom Macro206Suppression of stop button, feed override, exact stop - #3004Under the conditions of suppression of feed stop function, the feed will stop after the stop button ispressed when the suppression is released.When the feedrate override is suppressed, the override takes the value of 1...

  • Page 207

    22 Custom Macro207The bits have the following meanings:0 = no mirror imaging1 = mirror imaging on.If, e.g., the value of the variable is 5, mirror image is on in axes 1 and 3. The axis number refers to aphysical axis, the parameter defining the particular name of axis pertaining to a physical axi...

  • Page 208

    22 Custom Macro208Positional information - #5001 through #5108Positions at block end system position information reading in during variable motion #5001 block end coordinate of axis 1 #5002 block end coordinat...

  • Page 209

    22 Custom Macro209Fig. 22.12.3-1Skip signal position system nature of position information entry during variable motion #5061 Skip signal coordinate of axis 1 (G31) #5062 Skip signal coordinate of axis 2 (G31) : ...

  • Page 210

    22 Custom Macro210Servo lag system nature of position information entry during variable motion #5101 servo lag in axis 1 #5102 servo lag in axis 2 : not possible #...

  • Page 211

    22 Custom Macro211Subtraction: #i = #j – #kThe code of the operation is –.As a result of the operation, variable #i will assume the difference of the values of variables #jand #k.Logical sum, or: #i = #j OR #kThe code of the operation is OR.As a result of operation, the logic sum of variables...

  • Page 212

    22 Custom Macro212Sine: #i = SIN #jThe code of operation is SIN.As a result of operation, variable #i will assume the sine of variable #j. The value of #j alwaysrefers to degrees.Cosine: #i = COS #jThe code of operation is COS.As a result of operation, variable #i will assume the cosine of variab...

  • Page 213

    22 Custom Macro213Conversion from binary-coded decimal into binary: #i = BIN #jThe code of the function is BIN.As a result of the operation, variable #i will assume the binary value of variable #j. The valuerange of variable #j is 0 to 99999999.Discard fractions less than 1: #i = FIX #jThe code o...

  • Page 214

    22 Custom Macro21422.13.3 Logical OperationsThe programming language uses the following logical operations:Equal to#i EQ #jNot equal to#i NE #jGreater than#i GT #jLess than#i LT #jGreater than or equal to#i GE #jLess than or equal to#i LE #jThe variables on both sides of a logical operation can b...

  • Page 215

    22 Custom Macro21522.13.7 Iteration: WHILE[<conditional expression>] Dom ... ENDmAs long as [<conditional expression>] is satisfied, the blocks following DOm up to block ENDm willbe repeatedly executed. In the instruction, the control will check wether the condition has been fulfilled...

  • Page 216

    22 Custom Macro216 – A particular identifier number can be used several times. : DO1 : END1 : : correct : DO1 : END1 : – Pairs DOm ... ENDm can be nested into one another at three levels. : DO1 : DO2 : DO3 : : ...

  • Page 217

    22 Custom Macro217 – No entry is permissible into a cycle from outside. : GOTO150 : DO1 : : false : N150 : END1 : or : DO1 : N150 : : false : END1 : GOTO150 : – A subprogram or a macro can be ca...

  • Page 218

    22 Custom Macro218Opening a peripheral - POPENnBefore issuing a data output command, the appropriate peripheral has to be opened, through which thedata output is to be performed. The appropriate peripheral is selected by number n.n = 1RS–232C interface of serial channeln = 31 memory of control...

  • Page 219

    22 Custom Macro219 Characters to be output areDecimal data output - DPRNT[...]All characters and digits will be output in ISO or ASCII code, depending on the parameter setting. – For the rules of character outputs, see instruction BPRNT. – For the output of variable values, the numbers of d...

  • Page 220

    22 Custom Macro220 Output of data with PRNT=0: Data output at PRNT=1: 7 6 5 4 3 2 1 0 1 1 0 1 1 0 0 0 --- X 1 0 1 0 0 0 0 0 --- Space 1 0 1 0 0 0 0 0 --- Space 1 0 1 0 0 0 0 0 --- Space 1 0 1 0 0 0 0 0 --- Space 0 0 1 1 0 0 1 1 --- 3 0 0 1 1 0 1 0 1 --- 5 0 0 1 0 1 1...

  • Page 221

    22 Custom Macro221Closing a peripheral - PCLOSnThe peripheral opened with command POPEN has to be closed with command PCLOS. CommandPCLOS has to be followed by the specification of the number of peripheral to be closed. At the timeof closing, a % character is also sent to the peripheral, i.e., ea...

  • Page 222

    22 Custom Macro222Fig. 22.15-1Fig. 22.15-2Example:SBSTM =0%O1000...N10 #100=50 N20 #101=100N30 G1 X#100 Y#101N40 #100=60 (definition after N30)N50 #101=120 (definition after N30)N60 G1 X#100 Y#101Definition commands in blocks N40 and N50are executed after the movement of block N30.L Conclusions: ...

  • Page 223

    Notes223Notes

  • Page 224

    Index in Alphabetical Order224Index in Alphabetical Order:#0 ............................ 193#10001–#13999 ................. 197#1000–#1015 ................... 195#1032 ......................... 195#1100–#1115 ................... 196#1132 ......................... 196#195 .....................

  • Page 225

    Index in Alphabetical Order225Format .......................... 10full arc of circle ................... 104full circle ........................ 104going around sharp corners .......... 105Going around the outside of a corner ... 91-94Inch ......................... 38, 40Increment System ...........

  • Page 226

    Index in Alphabetical Order226O_LINE ...................... 196ORIENT1 ......... 65, 160, 170, 171POSCHECK ................... 23PRNT ........................ 213PRTCNTM ................ 70, 201PRTREQRD ................... 201PRTTOTAL ................... 201RADDIF ...................... 27RAPDIST...

  • Page 227

    Index in Alphabetical Order227

  • Page 228

x