Navigation

  • Page 1

    NCT® 99MNCT® 2000MControls for Milling Machines and Machining CentersProgrammer'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) ........................................... 496.4.3 Continuous Cutting Mode (G64) ..................................... 506.4.4 Override and Stop Inhibit (Tapping) Mode (G63) ........................ 506.4.5 Automatic Corner Override (G62) ..............................

  • Page 5

    513.1 Sequence Number (Address N) ......................................... 7413.2 Conditional Block Skip ................................................ 7413.3 Main Program and Sub-program ......................................... 7413.3.1 Calling the Sub-program ..................................

  • Page 6

    617.1.4 Canned Cycle Cancel (G80) ...................................... 14117.1.5 Drilling, Spot Boring Cycle (G81) ................................... 14117.1.6 Drilling, Counter Boring Cycle (G82) ................................ 14217.1.7 Peck Drilling Cycle (G83) ...............................

  • Page 7

    720.13.1 Definition, Substitution .......................................... 18020.13.2 Arithmetic Operations and Functions ................................ 18120.13.3 Logical Operations ............................................. 18420.13.4 Unconditional Divergence ...............................

  • 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-2Fig. 1.2-31.2 Fundamental TermsThe InterpolationThe control system can move the tool alongstraight lines and arcs in the course of mach-ining. These activities will be hereafter referredto as "interpolation".Tool movement along a straight line:program...

  • Page 13

    1 Introduction13Fig. 1.2-4Fig. 1.2-5Reference PointThe reference point is a fixed point on the machine-tool. After power-on of the machine, the slideshave to be moved to the reference point. Afterwards the control system will be able to interpret dataof absolute coordinates as well.Coordinate Sys...

  • Page 14

    1 Introduction14Fig. 1.2-6Fig. 1.2-7Absolute Coordinate SpecificationWhen absolute coordinates are specified,the tool travels a distance measured fromthe origin of the coordinate system, i.e., toa point whose position has been specifiedby the coordinates.The code of absolute data specification is...

  • Page 15

    1 Introduction15Fig. 1.2-8the code of G90 (absolute data specification) and the value of F (Feed), specified in block N15, willbe modal in blocks N16 and N17. Thus it is not necessary to specify those functions in each blockfollowed.One-shot (Non-modal) FunctionsSome codes or values are effective...

  • Page 16

    1 Introduction16Fig. 1.2-9Cutter Radius CompensationMachining a workpiece has to be done with toolsof different radii. Radius compensation has to beintroduced in order to write the actual contour dataof the part in the program, instead of the pathcovered by the tool center (taking intoconsiderati...

  • Page 17

    2 Controlled Axes17Fig. 2.1-12 Controlled AxesNumber of Axes (in basic configuration)3 axesIn expanded configuration5 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 Axes18The 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 systems available - IS-A IS-B and IS-C. The incrementsystems may no...

  • 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 codeGroupFunctionPage20G39cutter compensation corner arc100G40*07cutter radius/3 dimensional tool compensation cancel85G41cutter radius compensation left/3 dimensional tool compensation85, 88G42cutter radius compensation right85, 88G43*08tool length compensation...

  • Page 21

    3 Preparatory Functions (G codes)G codeGroupFunctionPage21G80*canned cycle cancel141G81drilling, spot boring cycle,141G82drilling, counter boring cycle142G83peck drilling cycle143G84tapping cycle144G84.2rigid tap cycle145G84.3rigid counter tap cycle145G85boring cycle148G86Boring Cycle Tool Retrac...

  • Page 22

    4 The Interpolation22Fig. 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 23

    4 The Interpolation23Fig. 4.2-1Fig. 4.2-2Feed along the axis Y is.............................Feed along the axis U is.............................Feed along the axis C iswhere x, y, u, c are the displacements programmed along the respective axes, L is the vectoriallength of programmed displaceme...

  • Page 24

    4 The Interpolation24Fig. 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 25

    4 The Interpolation25Fig. 4.3-2Fig. 4.3-3Further 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 the control will automatically calculate thecoordinates of the circle center from the start point coordinates (the point wh...

  • Page 26

    4 The Interpolation26Fig. 4.3-4Fig. 4.3-5The feed along the path can be programmed at address F,pointing in the direction of the circle tangent, and beingconstant all along the path. L Notes: – I0, J0, K0 may be omitted, e.g. G03 X0 Y100 I-100 – When each of Xp, Yp and Zp is omitted, or the e...

  • Page 27

    4 The Interpolation27Fig. 4.3-6Fig. 4.3-7The program detail below is an example of howa spiral interpolation (circle of varying radius)can be specified by the use of addresses I, J, K.G17 G90 G0 X50 Y0G3 X-20 I-50If the specified circle radius is smaller than halfthe distance of straight line int...

  • Page 28

    4 The Interpolation28Fig. 4.4-1Fig. 4.4-2The feed specified at address F is effectivealong the circle path. Feed component Fq alongaxis q is obtained from the relationshipwhereLq: displacement along axis q,Larc: length of circular arc,F: programmed feed,Fq: feed along axis q.For example:G17 G03 X...

  • Page 29

    4 The Interpolation29Fig. 4.5-1Fig. 4.5-2 – The specified tool-radius compensation is implemented invariably in the plane of the circle.4.5 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...

  • Page 30

    4 The Interpolation30Fig. 4.5-3An example of programming a thread-cutting:N50 G90 G0 X0 Y0 S100 M4N55 Z2N60 G33 Z-100 F2N65 M19N70 G0 X5N75 Z2 M0N80 X0 M4N85 G4 P2N90 G33 Z-100 F2...Explanation:N50, N55 - Moving the tool over the center of hole, startingthe spindle in counter-clockwise rotation,N...

  • Page 31

    4.6 Polar Coordinate Interpolation (G12.1, G13.1)31Fig. 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 32

    4.6 Polar Coordinate Interpolation (G12.1, G13.1)32Programming 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 33

    4.6 Polar Coordinate Interpolation (G12.1, G13.1)33Fig. 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 34

    4.6 Polar Coordinate Interpolation (G12.1, G13.1)34direction X on rotary axis C)N070 G17 G0 X200 C0(select plane X, C; orientation to coordinateX…0, C=0)N080 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 ...

  • Page 35

    4.7 Cylindrical Interpolation (G7.1)35Fig. 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 36

    4.7 Cylindrical Interpolation (G7.1)36Fig. 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 37

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

  • Page 38

    5 The Coordinate Data38Fig. 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 39

    5 The Coordinate Data39Fig. 5.2-1Fig. 5.2-2Fig. 5.2-3Example:G90 G16 G01 X100 Y60 F180Both the radius and the angle areabsolute data, the tool moves to thepoint of 100mm; 60°.G90 G16 G01 X100 YI40 F180The angle is an incremental data. Amovement by 40° relative to theprevious angular position is...

  • Page 40

    5 The Coordinate Data40N3 Y120N4 Y180N5 Y240N6 Y300N7 Y360N8 G15 G0 X1005.3 Inch/Metric Conversion (G20, G21)With the appropriate G code programmed, the input data can be specified in metric or inch units.G20: Inch input programmingG21: Metric input programmingAt the beginning of the program, the...

  • Page 41

    5 The Coordinate Data41The value ranges of the length coordinates are shown in the Table below.input unit output unit incrementsystem value range of lengthcoordinates unit ofmeasuremmmmIS-A± 0.01-999999.99mmIS-B± 0.001-99999.999IS-C± 0.0001-9999.9999inchmmIS-A± 0.001-39370.078inchIS-B± 0.00...

  • Page 42

    5 The Coordinate Data42Enabling the handling of roll-overThe function is affected by setting parameter 0241 ROLLOVEN_A, 0242 ROLLOVEN_B or0243 ROLLOVEN_C to 1 for axes A, B or C, respectively, provided the appropriate axis is arotary one. If the given parameter ROLLOVEN_x – =0: the rotary axis ...

  • Page 43

    5 The Coordinate Data43Movement 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 44

    6 The Feed44Fig. 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 45

    6 The Feed45The 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 46

    6 The Feed46The 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 47

    6 The Feed47Fig. 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 48

    6 The Feed48Fig. 6.3-4Fig. 6.4-1The control is monitoring the changes in tangential speeds. This is necessary to attain thecommanded speed in a process of continuous acceleration, if necessary, through several blocks. Theacceleration to the new feed (higher than theprevious one) is commenced by t...

  • Page 49

    6 The Feed49Fig. 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 50

    6 The Feed50Fig. 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 51

    7 The Dwell517 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 52

    8 The Reference Point52Fig. 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 53

    8 The Reference Point538.2 Automatic return to reference points 2nd, 3rd, 4th (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=referen...

  • Page 54

    8 The Reference Point54Fig. 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 c...

  • Page 55

    9 Coordinate Systems, Plane Selection55Fig. 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 3 axes are available (X, Y, Z), the position of the tool is expressed by three coordinate dataX____ Y...

  • Page 56

    9 Coordinate Systems, Plane Selection56Fig. 9.2.1-19.1.1 Setting the Machine Coordinate systemAfter a reference point return, the machine coordinate system can be set in parameters. The distanceof the reference point, calculated from the origin of the machine coordinate system, has to be writtenf...

  • Page 57

    9 Coordinate Systems, Plane Selection57Fig. 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 58

    9 Coordinate Systems, Plane Selection58Fig. 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 59

    9 Coordinate Systems, Plane Selection59Fig. 9.2.4-1Fig. 9.2.4-2If, e.g., the tool is at a point of X=150, Y=100coordinates, in the actual (current) X, Y workcoordinate system, instruction G92 X90 Y60will create a new X', Y' coordinate system, inwhich the tool will be set to the point of X'=90,Y'=...

  • Page 60

    9 Coordinate Systems, Plane Selection60Fig. 9.3-1will create a local coordinate system. – If coordinate v is specified as an absolute value, the origin of the local coordinate system willcoincide with the point v in the work coordinate system. – When specified as an incremental value, the ori...

  • Page 61

    9 Coordinate Systems, Plane Selection61Fig. 9.3-2Fig. 9.3-3Fig. 9.4-1The local coordinate system will be offset ineach 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 ...

  • Page 62

    9 Coordinate Systems, Plane Selection62Xp=X or an axis parallel to X,Yp=Y or an axis parallel to Y,Zp=Z or an axis parallel to Z.The selected plane is referred to as "main plane".The particular one of the parallel axes will be selected (by instruction G17, G18 or G19) dependingon the ax...

  • Page 63

    10 The Spindle Function63Fig. 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 64

    10 The Spindle Function6410.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 65

    10 The Spindle Function6510.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 66

    10 The Spindle Function6610.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 67

    10 The Spindle Function67Fig. 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 68

    10 The Spindle Function68Fig. 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 69

    11 Tool Function6911 Tool Function11.1 Tool Select Command (Code T)With a number of max. four digits written at address T, the NC will give a code to the PLC.When a movement command and a tool number (T) are programmed in a given block, function Twill be issued during or after the motion command....

  • Page 70

    11 Tool Function70This procedure is described in the part program as follows.Part ProgramExplanation.....................Tnnnn........search for tool Tnnnn.................the part program is running, tool search is being performed in thebackground...M06 Tmmmm....tool Tnnnn is placed in the spind...

  • 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 Functions72M98= call of a subprogram (subroutine)It will call a subprogram (subroutine).M99= 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...

  • 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 Compensation14.1 Referring to Tool Compensation Values (H and D)Reference can be made totool length compensation at address H,tool radius compensation at address D.The number behind the address (the tool compensation number) indicates the particularcompensati...

  • Page 78

    14 The Tool Compensation78Limit values of geometry and wear: input units output units incrementsystem geometry value wear value unit ofmeasure mmmmIS-A±0.01 ÷99999.99±0.01÷163.80mmIS-B±0.001÷9999.999±0.001÷16.380IS-C±0.0001÷999.9999±0.0001÷1.6380inchmmIS-A±0.001÷9999.999±0.001...

  • Page 79

    14 The Tool Compensation7914.3 Tool Length Compensation (G43, G44, G49)InstructionG43 q H orG44 q Hwill set up the tool length compensation mode.Address q means axis q to which the tool length compensation is applied (q= X, Y, Z, U, V, W, A,B, C).Address H means the compensation cell, from which ...

  • Page 80

    14 The Tool Compensation80Fig. 14.3-1If, however, instruction G49 is used, anyreference to address H will be ineffective untilG43 or G44 is programmed.At power-on, the value defined in parametergroup CODES decides which code is effective(G43, G44, G49).The example below presents a simple drilling...

  • Page 81

    14 The Tool Compensation81Fig. 14.4-1Fig. 14.4-2Fig. 14.4-3Fig. 14.4-4Fig. 14.4-5With G45 programmed (increase by the offset value):a. movement command: 20b. movement command: 20compensation: 5compensation: -5a. movement command: -20b. movement command: -20compensation: 5compensation: -5With G46 ...

  • Page 82

    14 The Tool Compensation82Fig. 14.4-6Fig. 14.4-7Fig. 14.4-8With G47 programmed (double increase by the offset value):a. movement command: 20cases b, c, d are similar to G45compensation: 5With G48 programmed (double decrease by the offset value):a. movement command: 20cases b, c, d are similar to ...

  • Page 83

    14 The Tool Compensation83Fig. 14.4-9NC commandG45 XI0 D1G46 XI0 D1G45 XI-0 D1G46 XI-0 D1displacementx=12x=-12x=-12x=12A tool radius compensation applied with one of codes G45...G48 is also applicable with ¼ and ¾circles, provided the centers of the circles are specified at address I, J or K.An...

  • Page 84

    14 The Tool Compensation84Fig. 14.5-1Fig. 14.5-214.5 Cutter Compensation (G38, G39, G40, G41, G42)To be able to mill the contour of atwo-dimensional workpiece and tospecify the points of that formationas per the drawing in the program(regardless of the size of the toolemployed), the control must ...

  • Page 85

    14 The Tool Compensation85compensation calculations are performed for interpolation movements G00, G01, G02, G03.The 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 us...

  • Page 86

    14 The Tool Compensation86Fig. 14.5-3An 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.5.1-114.5.1 Start up of Cutter 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 tool center will coincide with theprogrammed path.Under in...

  • Page 88

    14 The Tool Compensation88Fig. 14.5.1-2Fig. 14.5.1-3Fig. 14.5.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.5.1-5Fig. 14.5.1-6Fig. 14.5.1-7...G91 G17 G40...N110 G42 G1 X-80 Y60 I50 J70 D1N120 X100 ...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.5.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 G17 G0 X0 Y0N15 ...

  • Page 91

    14 The Tool Compensation91Fig. 14.5.2-114.5.2 Rules of Cutter 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 not contain ...

  • Page 92

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

  • Page 93

    14 The Tool Compensation93Fig. 14.5.2-4Fig. 14.5.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.5.3-1Fig. 14.5.3-214.5.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.5.3-3Fig. 14.5.3-4Fig. 14.5.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.5.3-6Fig. 14.5.3-7Fig. 14.5.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.5.4-114.5.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.5.4-2Fig. 14.5.4-3Fig. 14.5.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.5.5-1Fig. 14.5.5-214.5.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.5.6-1Fig. 14.5.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.5.7-1Fig. 14.5.7-214.5.7 General Information on the Application of Cutter 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 necessa...

  • Page 102

    14 The Tool Compensation102Fig. 14.5.7-3Fig. 14.5.7-4Fig. 14.5.7-5If no cut is feasible in direction Z unless the radius compensation is setup, the following procedure may be adopted:...G17 G91...N110 G41 G0 X50 Y70 D1N120 G1 Z-40N130 Y40...Now the tool will have a correct path as is shown in the...

  • Page 103

    14 The Tool Compensation103Fig. 14.5.7-6Fig. 14.5.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.5.7-8Fig. 14.5.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.5.7-10Fig. 14.5.7-11Fig. 14.5.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.5.7-13Fig. 14.5.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.5.7-15Fig. 14.5.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.5.8-2Fig. 14.5.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.5.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.5.8-5Fig. 14.5.8-6Fig. 14.5.8-7Machining an inside corner with a radius smaller thanthe tool radius. The control returns error message3048 INTERFERENCE ALARM or else overcutting would occure.Milling a step smaller than the tool radiusalong an arc. If parameter A...

  • Page 111

    14 The Tool Compensation111Fig. 14.5.8-8In the above example an interference error isreturned again because the displacement of thecompensated path in interpolation B is oppositeto the programmed one.14.6 Three-dimensional Tool Offset (G41, G42)The 2D tool radius compensation will offset the tool...

  • Page 112

    14 The Tool Compensation112Fig. 14.6.2-1CommandG40 orD00will cancel the three-dimensional offset compensation.The difference between the two commands is that D00 will delete the compensation only, leavingstate G41 or G42 unchanged. If a reference is made subsequently to a new address D (other tha...

  • Page 113

    14 The Tool Compensation113Instruction G42 functions in the same manner as G41 with the difference that the compensationvector is computed in a direction opposite to G41:A change-over from state G41 to G42 or vice versa is only feasible in a linear interpolation block.The previous values will be ...

  • Page 114

    15 Special Transformations114Fig. 15.1-1Fig. 15.1-215 Special Transformations15.1 Coordinate System Rotation (G68, G69)A programmed shape can be rotated in the plane selected by G17, G18, G19 by the use ofcommandG68 p q RThe coordinates of the center of rotation will be specified ataddress p and ...

  • Page 115

    15 Special Transformations115Fig. 15.1-3Fig. 15.2-1Example:N1 G17 G90 G0 X0 Y0N2 G68 X90 Y60 R60N3 G1 X60 Y20 F150 (G91 X60 Y20 F150)N4 G91 X80N5 G3 Y60 R100N6 G1 X-80N7 Y-60N8 G69 G90 X0 Y015.2 Scaling (G50, G51)CommandG51 v Pcan be used for scaling a programmed shape.P1...P4:points specified ...

  • Page 116

    15 Special Transformations116Fig. 15.2-2For example:N1 G90 G0 X0 Y0N2 G51 X60 Y140 P0.5N3 G1 X30 Y100 F150 (G91 X30 Y100 F150)N4 G91 X100N5 G3 Y60 R100N6 G1 X-100N7 Y-60N8 G50 G90 X0 Y015.3 Programmable Mirror Image (G50.1, G51.1)A programmed shape can be projected as a mirror image along the c...

  • Page 117

    15 Special Transformations117Fig. 15.3-1Example:subprogramO0101N1 G90 G0 X180 Y120 F120N2 G1 X240N3 Y160N4 G3 X180 Y120 R80N5 M99main programO0100N1 G90(absolute coordinate specification)N2 M98 P101(call of subprogram)N3 G51.1 X140(mirror image applied to an axis parallel to axis Y on coordinate ...

  • Page 118

    15 Special Transformations118Fig. 15.4-1It is evident from the figure that the order of applying the various transformations is relevant.The programmed mirror image is a different case. It can be set up in states G50 and G69 only, i.e.,in the absence of scaling and rotation commands.On the other ...

  • Page 119

    16 Automatic Geometric Calculations119Fig. 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 120

    16 Automatic Geometric Calculations120Fig. 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 Y40 ,C10X60 ,R22G3 X20 Y80 R40 ,C10G1 Y110...L Note: – Chamfer or rounding can only be programmedbetween ...

  • Page 121

    16 Automatic Geometric Calculations121Fig. 16.2-1Fig. 16.2-2Forexample:G17 G90 G0 X57.735 Y0 ... G1 G91...X100 ,A30(this specification isequivalent to X100 Y57.735where 7.735=100Atg30°)Y100 ,A120(this specification isequivalent to X-57.735 Y100where !57.735=100/tg120°)X-100 ,A210(this specifica...

  • Page 122

    16 Automatic Geometric Calculations12216.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 part program t...

  • Page 123

    16 Automatic Geometric Calculations123Fig. 16.3.1-1Fig. 16.3.1-216.3.1 Linear-linear IntersectionIf the second one of two successivelinear interpolation blocks is specified theway that its both end point coordinates inthe selected plane and also its angle isspecified, the control calculates thein...

  • Page 124

    16 Automatic Geometric Calculations124the control as end point, but as a transit position binding the straight line with the start point.

  • Page 125

    16 Automatic Geometric Calculations125Fig. 16.3.1-3Fig. 16.3.1-4Intersection calculation can also be combined with a chamfer or corner rounding specification. E.g.:G17 G90 G41 D0...G0 X90 Y10N10 G1 X50 Y33.094 ,C10N20 X10 Y20 ,A225G0 X0 Y20...G17 G90 G41 D0...G0 X90 Y10N10 G1 X50 Y33.094 ,R10N20 ...

  • Page 126

    16 Automatic Geometric Calculations12616.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 127

    16 Automatic Geometric Calculations127Fig. 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 128

    16 Automatic Geometric Calculations128Fig. 16.3.2-3Fig. 16.3.2-4Let us see the following example:%O9981N10 G17 G42 G0 X100 Y20 D0 S200 M3N20 G1 X-30 Y-20N30 G3 X20 Y40 I20 J-10 R50 Q-1N40 G40 G0 Y60N50 X120N60 M30%%O9982N10 G17 G42 G0 X100 Y20 D0 S200 M3N20 G1 X-30 Y-20N30 G3 X20 Y40 I20 J-10 R50...

  • Page 129

    16 Automatic Geometric Calculations129Fig. 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 130

    16 Automatic Geometric Calculations130Fig. 16.3.3-3Fig. 16.3.3-4Let us see an example:%O9983N10 G17 G0 X90 Y0 M3 S200N20 G42 G1 X50 D0N30 G3 X-50 Y0 R50N40 G1 X-50 Y42.857 ,A171.87 Q-1N50 G40 G0 Y70 N60 X90N70 M30%%O9984N10 G17 G0 X90 Y0 M3 S200N20 G42 G1 X50 D0N30 G3 X-50 Y0 R50N40 G1 X-50 Y42.8...

  • Page 131

    16 Automatic Geometric Calculations131Fig. 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 132

    16 Automatic Geometric Calculations132I, 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 133

    16 Automatic Geometric Calculations133Fig. 16.3.4-3Fig. 16.3.4-4Let us see the following example:%O9985N10 G17 G54 G0 X200 Y10 M3 S200N20 G42 G1 X180 D1N30 G3 X130 Y-40 R-50N40 X90 Y87.446 I50 J30 R70 Q–1N50 G40 G0 Y100N60 X200N70 M30%%O9986N10 G17 G54 G0 X200 Y10 M3 S200N20 G42 G1 X180 D1N30 G...

  • Page 134

    16 Automatic Geometric Calculations134Fig. 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 135

    17 Canned Cycles for Drilling135Fig. 17-117 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 136

    17 Canned Cycles for Drilling136Fig. 17-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.The drilling cycles can be configured with instructi...

  • Page 137

    17 Canned Cycles for Drilling137Fig. 17-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 G73, G...

  • Page 138

    17 Canned Cycles for Drilling138Fig. 17-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 139

    17 Canned Cycles for Drilling139Cut-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 140

    17 Canned Cycles for Drilling140Fig. 17-5Fig. 17-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 141

    17 Canned Cycles for Drilling141Fig. 17.1.1-117.1 Detailed Description of Canned Cycles17.1.1 High Speed Peck Drilling Cycle (G73)The variables used in the cycle areG17 G73 Xp__ Yp__ Zp__ R__ Q__ E__ F__ L__G18 G73 Zp__ Xp__ Yp__ R__ Q__ E__ F__ L__G19 G73 Yp__ Zp__ Xp__ R__ Q__ E__ F__ ...

  • Page 142

    17 Canned Cycles for Drilling142Fig. 17.1.2-117.1.2 Counter Tapping Cycle (G74)This cycle can be used only with a spring tap. The variables used in the cycle areG17 G74 Xp__ Yp__ Zp__ R__ (P__) F__ L__G18 G74 Zp__ Xp__ Yp__ R__ (P__) F__ L__G19 G74 Yp__ Zp__ Xp__ R__ (P__) F__ L__Prio...

  • Page 143

    17 Canned Cycles for Drilling143Fig. 17.1.3-117.1.3 Fine Boring Cycle (G76)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 bott...

  • Page 144

    17 Canned Cycles for Drilling144Fig. 17.1.5-1– spindle re-started in direction M317.1.4 Canned Cycle 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 coordinates programme...

  • Page 145

    17 Canned Cycles for Drilling145Fig. 17.1.6-117.1.6 Drilling, Counter Boring Cycle (G82)The variables used in the cycle areG17 G82 Xp__ Yp__ Zp__ R__ P__ F__ L__G18 G82 Zp__ Xp__ Yp__ R__ P__ F__ L__G19 G82 Yp__ Zp__ Xp__ R__ P__ F__ L__the operations of the cycle are1.rapid-traverse pos...

  • Page 146

    17 Canned Cycles for Drilling146Fig. 17.1.7-117.1.7 Peck Drilling Cycle (G83)The variables used in the cycle areG17 G83 Xp__ Yp__ Zp__ R__ Q__ E__ F__ L__G18 G83 Zp__ Xp__ Yp__ R__ Q__ E__ F__ L__G19 G83 Yp__ Zp__ Xp__ R__ Q__ E__ F__ L__The oprations of the cycle are1.rapid-traverse pos...

  • Page 147

    17 Canned Cycles for Drilling147Fig. 17.1.8-1Distance E will be taken from the program (address E) or from parameter CLEG83.17.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__ Zp__ R__ (P__) F__ L__G18 G84 Zp__ Xp__ Yp...

  • Page 148

    17 Canned Cycles for Drilling1489.with G98, rapid-traverse retraction to the initial point10.-17.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 149

    17 Canned Cycles for Drilling149Fig. 17.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 150

    17 Canned Cycles for Drilling150Fig. 17.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 151

    17 Canned Cycles for Drilling151Fig. 17.1.10-117.1.10 Boring Cycle (G85)The variables used in the cycle areG17 G85 Xp__ Yp__ Zp__ R__ F__ L__G18 G85 Zp__ Xp__ Yp__ R__ F__ L__G19 G85 Yp__ Zp__ Xp__ R__ F__ L__The operations of the cycle are1.rapid-traverse positioning in the selected pla...

  • Page 152

    17 Canned Cycles for Drilling152Fig. 17.1.11-117.1.11 Boring Cycle Tool Retraction with Rapid Traverse (G86)The variables used in the cycle areG17 G86 Xp__ Yp__ Zp__ R__ F__ L__G18 G86 Zp__ Xp__ Yp__ R__ F__ L__G19 G86 Yp__ Zp__ Xp__ R__ F__ L__The spindle has to be given rotation of M3 ...

  • Page 153

    17 Canned Cycles for Drilling153Fig. 17.1.12-117.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 154

    17 Canned Cycles for Drilling154Fig. 17.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__ I__ J__ Zp__ R__ F__ L__G18 G87 Z...

  • Page 155

    17 Canned Cycles for Drilling155Fig. 17.1.13-117.1.13 Boring Cycle (Manual Operation on the Bottom Point) (G88)The variables used in the cycle areG17 G88 Xp__ Yp__ Zp__ R__ P__ F__ L__G18 G88 Zp__ Xp__ Yp__ R__ P__ F__ L__G19 G88 Yp__ Zp__ Xp__ R__ P__ F__ L__The spindle must be given ro...

  • Page 156

    17 Canned Cycles for Drilling156Fig. 17.1.14-117.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 157

    17 Canned Cycles for Drilling157To illustrate the foregoing, let us see the following example. G81X_ Y_ 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 158

    18 Measurement Functions158Fig. 18.1-118 Measurement Functions18.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 159

    18 Measurement Functions159Fig. 18.1-2Fig. 18.1-3Fig. 18.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 160

    18 Measurement Functions160and the touch-probe signal has arrived at the point of coordinate Q, the control will – add the difference Q-q to the wear of compensation register selected on address H earlier (ifparameter ADD=1) – or will subtract the difference from it (if parameter ADD=0).The a...

  • Page 161

    19 Safety Functions161Fig. 19.1-119 Safety Functions19.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 162

    19 Safety Functions162Fig. 19.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 163

    19 Safety Functions163Fig. 19.3-1Fig. 19.3-219.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 164

    20 Custom Macro16420 Custom Macro20.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 165

    20 Custom Macro165particular number. For example,In the above example, variable #8 has already been assigned a value by the second address J(value, -12), since the value of address E is also assigned to variable #8, the control returns errormessage 3064 BAD MACRO STATEMENT.A decimal point and a s...

  • Page 166

    20 Custom Macro166 G0 Z-[#18+#26](retraction of the tool to the initial point) M99 (return to the main program) %20.2.2 Macro Modal Call From Each Block (G66.1)As a result of commandG66.1 P(program number) L(number of repetitions) <argument assignment>all subsequent blocks will...

  • Page 167

    20 Custom Macro167In 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 specified,taking into account the rules of argument assignment described at point 1.Each NC block following G66.1 to a block containing code ...

  • Page 168

    20 Custom Macro16820.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 be transferred to the PLC, but the macro of the ...

  • Page 169

    20 Custom Macro16920.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 initiate the call of subprogram No. O9034.Now blockGg Xx Yy Ttwill be equivalent to the following two blocks:#199=tGg X...

  • Page 170

    20 Custom Macro170If 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 value of the address will be transferred already to thePLC or interpolator.If a call of a user G, M, S, T code is made in the subprogram, F...

  • Page 171

    20 Custom Macro171Including only the interpolations, the sequence of executions 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 (...

  • Page 172

    20 Custom Macro17220.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.20.11 Variables of the Program...

  • Page 173

    20 Custom Macro173 – 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 174

    20 Custom Macro174Difference 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 175

    20 Custom Macro175protected 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.20.12.3 System VariablesThe system variables are fixed ones providing i...

  • Page 176

    20 Custom Macro176Interface 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 177

    20 Custom Macro177Tool compensation values - #10001 through #13999The tool compensation values can be read from variables #10001 through #13999, or values can beassigned them.No. of compensation H D geometry wear geometry ...

  • Page 178

    20 Custom Macro178Work 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 179

    20 Custom Macro179The 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 180

    20 Custom Macro180Suppression 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 181

    20 Custom Macro181The 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 182

    20 Custom Macro182Positional 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 183

    20 Custom Macro183Fig. 20.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 184

    20 Custom Macro184Fig. 20.12.3-2Servo lag system nature of position information entry during variable motion #5101 servo lag in axis 1 #5102 servo lag in axis 2 : ...

  • Page 185

    20 Custom Macro18520.13.2 Arithmetic Operations and FunctionsSingle-Operand OperationsSingle-operand minus: #i = – #jThe code of the operation is –.As a result of the operation, variable #i will have a value identical with variable #j in absolutevalue but opposite in sign.Arithmetic negation...

  • Page 186

    20 Custom Macro186Division: #i = #j / #kThe code of the operation is /.As a result of operation, variable #i will assume the quotient of variables #j and #k. The valueof #k may not be 0 or else the control will return error message 3092 DIVISION BY 0 #.Remainder: #i = #j MOD #kThe code of the ope...

  • Page 187

    20 Custom Macro187Arc tangent - #i = ATAN #jThe code of the function is ATAN.As a result of operation, variable #i will assume the arc tangent of variable #j in degrees. Theresult, i.e. the value of #i, lies between +90° and -90°.Exponent with base e: #i = EXP #jThe code of the function is EXP....

  • Page 188

    20 Custom Macro188Complex Arithmetic Operations - Sequence of ExecutionThe above-mentioned arithmetic operations and functions can be combined. The sequence of executingthe operations, or the precedence rule is function - multiplicative operations - additive operations.For example, Modifying the ...

  • Page 189

    20 Custom Macro18920.13.5 Conditional Divergence: IF[<conditional expression>] GOTOnIf [<conditional expression>], put mandatorily between square brackets, is satisfied, the execution ofthe program will be resumed at the block of the same program with sequence number n.If [<conditi...

  • Page 190

    20 Custom Macro190 – Instructions DOm and ENDm must be put in pairs. : DO1 : DO1 false : END1 : or : DO1 : END1 false : END1 : – A particular identifier number can be used several times. : DO1 : END1 : :...

  • Page 191

    20 Custom Macro191 – Pairs DOm ... ENDm may not be overlapped. : DO1 : DO2 : : false : END1 : END2 – A divergence can be made outside from a cycle. : DO1 : GOTO150 : : correct : END1 : N150 : – No...

  • Page 192

    20 Custom Macro192 – A subprogram or a macro can be called from the inside of a cycle. The cycles inside the subprogramor the user macro can again be nested up to three levels. : DO1 : M98... correct : G65... correct : G66... correct ...

  • Page 193

    20 Custom Macro193 – The characters are output in ISO or ASCII code. The characters to be output arealphabetic characters (A, B, ..., Z)numerical characters (1, 2, ..., 0)special characters (*, /, +, –)The control will output the ISO code of a space character (A0h) instead of *. – The value...

  • Page 194

    20 Custom Macro194 – For the rules of character outputs, see instruction BPRNT. – For the output of variable values, the numbers of decimal integers and fractions must be specified,in which the variable is to be out put. The digits have to be specified in square brackets [ ]. Thecondition 0 &...

  • Page 195

    20 Custom Macro195 Data output at PRNT=1:Closing 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...

  • Page 196

    20 Custom Macro196 – a block containing a conditional divergence or iteration instruction (IF, WHILE) – blocks containing control commands (GOTO, DO, END) – blocks containing macro calls (G65, G66, G66.1, G67, or codes G, or M that initiate macro calls).20.15 Execution of NC and Macro Instr...

  • Page 197

    20 Custom Macro197Fig. 20.15-1Fig. 20.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 198

    20 Custom Macro198Fig. 20.18-120.18 Pocket-milling Macro CycleInstructionG65 P9999 X Y Z I J K R F D E Q M S Twill start a pocket-milling cycle. For the execution of the cycle, macro of program number O9999 hasto be filled in the memory, from the PROM memory of the control.Prior to calling the cy...

  • Page 199

    20 Custom Macro199Fig. 20.18-2 E = width of cutting, in percent of milling diameterwith + sign, machining in counter-clockwise sense,with – sign, machining in clockwise sense.Two types of information can be specified at address E. The value of E defines the width of cutting inpercent of milling...

  • Page 200

    20 Custom Macro200Fig. 20.18-3Fig. 20.18-4Unless the width of pocket and the rounding radii of corners have been specified, the tool diameterapplied will be taken for the width of pocket (groove).If neither the length nor the width of pocket has been specified, only address R has been programmed,...

  • Page 201

    20 Custom Macro201 – The size specified for the length or width of pocket is smaller than twice of the pocket radius. – The length or width of pocket is smaller than the diameter of tool called at address D. – The value specified for the width of cutting is 0 or the tool radius called is 0 ...

  • Page 202

    Notes202Notes

  • Page 203

    Index in Alphabetical Order203Index in Alphabetical Order:#0 ............................ 170#10001–#13999 ................. 173#1000–#1015 ................... 172#1032 ......................... 172#1100–#1115 ................... 173#1132 ......................... 173#195 .....................

  • Page 204

    Index in Alphabetical Order204Feed ....................... 12, 176Feed Reduction ................... 51Format .......................... 10full arc of circle ................... 106full circle ....................... 106going around sharp corners .......... 107Going around the outside of a corner...

  • Page 205

    Index in Alphabetical Order205LIMP2n ...................... 158M(9001) ...................... 165M(9020) ...................... 165M-NUMB1 ..................... 67MD8 ......................... 192MD9 ......................... 192MODGEQU ................... 164MULBUF ...................... 21O_LIN...

  • Page 206

    Index in Alphabetical Order206Local ........................ 171Vacant ....................... 170varying radius ..................... 28Vector Hold ..................... 100Wear Compensation ............... 16Word ............................ 9Work Coordinate System ............ 57

x