Home
NCT Group NCT 2000M User's Manual
Contents
1. 5 Abbreviations v local variable a a argument assignment No 1 2 a a argument assignment No 2 The subscripts following addresses I J K indicate the argument assignment sequence The control will accept simultaneous selections of arguments 1 and 2 in a given block An error message will be returned when an attempt is made to make reference twice to a variable of a 164 20 Custom Macro particular number For example G65 A2 12 B3 213 J36 9 J 12 E129 73 P2200 variable 1 2 12 2 3 213 5 36 9 8 12 8 ERROR 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 error message 3064 BAD MACRO STATEMENT A decimal point and a sign can also be transferred at the addresses 20 2 The Modal Macro Call 20 2 1 Macro Modal Call in Every Motion Command G66 As a result of instruction G66 P program number L number of repetitions lt argument assignment gt the macro body specified at address P program number will be called after the execution of each motion command as many times as is the number specified at address L The interpretations of addresses P and L and the rules of argument assignment are identical with those described for instruction G65 The selected macro will be called until with command G67 it is canceled For example a hole has to be drilled in a given segm
2. 6 M98 P101 call of subprogram 7 G50 1 XO canceling mirror image on the axis parallel to Y 8 M98 P101 call of subprogram 9 G50 1 YO canceling mirror image on the axis parallel to X 15 4 Rules of Programming Special Transformations Rotation and scaling instructions G68 and G51 can be issued in any order It should be borne in mind however that when rotation is followed by scaling the rotation command will have an effect on the coordinates of the center of scaling If on the other hand scaling is followed by rotation the scaling command will have an effect on the coordinates of the center of rotation Furthermore the on and off commands of the two procedures have to be nested they must not overlap each other rotation scaling scaling rotation 1 G90 G17 GO XO YO 1 G90 G17 GO XO YO 2 G68 X80 Y40 R60 2 G51 X130 Y70 P0 5 3 G51 X130 Y70 P0 5 3 G68 X80 Y40 R60 4 X180 Y40 4 X180 Y40 5 G1 Y100 F200 5 G1 Y100 F200 6 X80 6 X80 7 Y40 7 Y40 8 X180 8 X180 9 G50 9 G69 10 G69 GO X0 YO 10 G50 GO X0 YO 117 15 Special Transformations Rotated then sealed XS LM Scaled then Rotated Original tool path It 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 hand with mirror imaging set up both scali
3. GAL on the lefi side 742 on the right side 84 14 The Tool Compensation compensation 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 be negative too It has a practical meaning if e g a given subprogram is to be used for defining the contours of a female part and of a male one being matched to the former A possible way of doing this is to mill the female part with G41 and the male part with G42 However that change over may be omitted from the program when the female part is machined with a positive radius compensation and the male part with a negative one Now the path of the tool center is reversed with respect to the programmed G41 or G42 Radius compensation positive Radius compensation negative on the left side on the right side on the right side on the left side L Note For simplicity s sake the subsequent descriptions and Figures will always refer to positive radius compensations Command G40 or DOO will cancel the offset compensation The difference between the two commands is that DOO deletes only the compensation vector leaving state G41 or G42 unchanged If a reference is made subsequently to an address D other than zero the compensation vector will be computed with the new tool radius as the function of state G41 or G42 If however instruction G40 is used any refe
4. rapid traverse receding of the tool with values I J K in the selected plane with G99 rapid traverse retraction as far as point R 8 with G99 rapid traverse retraction of the tool in the selected plane opposite to the values specified at I J K spindle re started in direction M3 9 with G98 rapid traverse retraction to the initial point 10 with G98 rapid traverse retraction of the tool in the selected plane opposite to the values specified at I J K l4 143 17 Canned Cycles for Drilling spindle re started in direction M3 17 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 programmed in block G80 but no other instruction is issued the movement will be carried out according to the interpolation code in effect prior to activation of the cycle G code group 1 17 1 5 Drilling Spot Boring Cycle G81 CSI G95 GSI 99 v gu LE A Znitial point V renes gt Point R Fig 17 1 5 1 The variables used in the cycle are GI7G81X Y Z R F L G18 G81 Z X Y R F L GI9G81 Y Z X R F L The operations of the cycle are 1 rapid traverse positioning in the selected plane 2 3 rapid traverse movement as far as point R 4 5 drilling as far as the point Z with feed F 6 s 7 with G99 retraction to point R in rapid trave
5. 0 0 0 RR RR 180 20 13 2 Arithmetic Operations and Functions 0 c eee eee eee eee 181 20 13 3 Logical Operations 22144454 e RR ek babe desea ek ds 184 20 13 4 Unconditional Divergence 2 2 esce eer rr es 184 20 13 3 Conditional Divergence ac esses RO os nea eh REREESARCEREZAS P ERROR YA AG 185 20 13 6 Conditional Instruction eeeeeee RR 185 20 13 7 It ratiOl suere mer ee eH Sree ae oe ee HEE a oe ce e 185 20 13 8 Data Output Commands 0 0 eee cee eee 188 20 14 NC and Macro Instructions 0 00 ccc e 191 20 15 Execution of NC and Macro Instructions in Time 0 000000 rene 191 20 16 Displaying Macros and Sub programs in Automatic Mode nananana 192 20 17 Using the STOP Button While a Macro Instruction is Being Executed 192 20 18 Pocket milling Macro Cycle i uus ede rixas ep kr dor paura dup RAE 193 hr M A to TO a E e OR 197 Index in Alphabetical Order 2 2 066s cece cede cee RR RI eres 198 July 2 2002 Copyright NCT July 2 2002 The Publisher reserves all rights for contents of this Manual No reprinting even in extracts is permissible unless our written consent is obtained The text of this Manual has been compiled and checked with utmost care yet we assume no liability for possible errors or spurious data and for consequential losses or demages 1 Introduction 1 Introduction 1 1 The Part Program The Part Program is a set of in
6. 6 2 2 Clamping the Cutting Feed The maximum programmable feed on a particular machine can be clamped set as a parameter by the manufacturer of the machine The value set there invariably refers to minutes That value is also the speed of DRY RUN If a programmed feed higher than that is set the control will clamp it 46 6 The Feed automatically 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 Deceleration In rapid traverse the control will automatically perform a linear acceleration and linear deceleration when starting and ending a vau Rapid iraverse value movement The extent of acceleration is defined i i by the machine tool builder in parameter ACCn depending on the dynamics of the machine Acceleration Deceleration py Fig 6 3 1 In feed motions the tangential programmed feed value will be assumed by the control in linear acceleration inversely its value will be decreased by linear deceleration This technique offers the advantage over traditional exponential accelerations that the machine will sooner attain the desired speed assuming a given time constant adopted in both cases Jc programmed fesd exponential Thus the times of acceleration and deceleration Acceleration Deceleration 1 i e the times of actual slide movements will be pi 6 3 2 reduced Another advantage of linear
7. z distance between point R and point Z e 28340 degrees F 5S 360 Segre F min n state G95 feed per revolution F P where P is the thread pitch in mm rev or inches rev Evidently the thread pitch can be programmed directly in state G95 feed per revolution but S also has to be programmed in order to define the feed In this case the displacement and the feed along the drilling axis and the spindle will be as follows assuming axis Z to be the drilling axis Z z R distance between point and the base FP FS EM uk inch point z min min 2360 P degrees F 5 360 degsees min GS4 2 GIS G54 2 G99 Initial point Point R a 7 Linear inter Linear inter Linear inter polation pelation polation polation between belwaen between between the drilling the drilling the drilling the drilling avis and XU Clad enn and axis and spindle CW spindle CCW spindle CW spindle CCW Fig 17 1 9 1 Linear intar In the case of G84 2 the operations of the cycle are 1 rapid traverse positioning in the selected plane 2 3 rapid traverse movement to point R 149 17 Canned Cycles for Drilling spindle orientation M19 linear interpolation between the drilling axis and the spindle with the spindle rotated in clockwise direction linear interpolation between the drilling axis and the spindle with the spindle being rotated counter clockwise with G98 rapid traverse retraction to the ini
8. The values of I J K Q E P have to be specified in a block in which drilling is also performed or else the values will not be stored 156 17 Canned Cycles for Drilling To illustrate the foregoing let us see the following example G81 X Y Z R F the drilling cycle is executed X the drilling cycle is executed E the drilling cycle is not executed F is over written M the drilling cycle is not executed code M is executed G4 P the drilling cycle is not executed the dwell will be re written but not the dwell value of cycle variable I Q the drilling cycle is not executed the programmed values will not be recorded as cycle variables If a function as well as a drilling cycle are programmed in one block the function will be executed at the end of the first operation on completion of positioning If L has also been programmed in the cycle the function will be executed in the first round only In block byQ block mode the control will stop after each of operations 1 3 and 10 during the cycle The STOP button is ineffective to each of operations 5 6 and 7 of cycles G74 G84 If STOP is depressed during those operations the control will continue its functioning and will not stop before the end of operation 7 The feed and the spindle override will always be 100 in each of operations 5 6 and 7 of cycles G74 G84 regardless of the override switch setting If G43 G44
9. Fig 14 5 1 4 88 14 The Tool Compensation G91 G17 G40 N110 G42 G1 X 80 Y60 150 J70 D1 N120 X100 In this case the control will always compute a point of intersection regardless of whether an inside or an outside corner is to be machined Fig 14 5 1 5 Unless a point of intersection is found the control will move at right angles to the start point of the next interpolation Fig 14 5 1 6 When the compensation is set up by a special block in which no movement is programmed in the selected plane the compensation will be set up without any movement the calculated compensation vector s length is 0 The compensation vector is computed at the end of the next motion block according to the strategy corresponding to compensation computation in offset mode see the next chapter N10 G40 G17 GO XO YO N15 G42 D1 N20 G1 X80 N25 X110 Y60 Fig 14 5 1 7 89 14 The Tool Compensation If zero displacement is programmed or such is produced in the block containing the activation of compensation G41 G42 the control will not perform any movement but will carry on the machining along the above mentioned strategy N10 G40 G17 GO XO YO N15 G91 G42 D1 XO N20 G1 X80 N25 X30 Y60 If a displacement of 0 is obtained in the selected plane in the block following the start up of compensation the compensation vector will be set at right angles to the interpolation performing the setting up The path of the tool in the next
10. NIGOLN Y R comma and R is inserted between the end point of the block containing address R and the start point of the forthcoming block Fig 16 1 2 E g N1 G91 G01 X30 R8 N2 G03 X 30 Y30 R30 A R radius arc is inserted between the two blocks so that the circle osculates to both path elements 119 16 Automatic Geometric Calculations Command containing a chamfer or a corner rounding may also be written at the end of more successive blocks as shown in the below example G1 Y40 C10 X60 R22 G3 X20 Y80 R40 C10 G1 Y110 L Note Chamfer or rounding can only be programmed Fig 16 1 3 between the coordinates of the selected plane G17 G18 G19 otherwise error message 3051 DEFINITION ERROR C Ris sent by the control Chamfer or corner rounding can only be applied between blocks G1 G2 or G3 otherwise error message 3061 C R DEFINITION ERROR is sent by the control Provided the length of chamfer or the rounding radius is so great that it cannot be inserted to the programmed blocks error message 3084 C R TOO HIGH is sent by the control If both C and R are programmed within one block error message 3017 C AND R IN ONE BLOCK is sent by the control In single block mode the control stops and registers STOP state after the execution of chamfer or corner rounding 16 2 Specifying Straight Line with Angle Straight line can be specified in the plane determined by commands G17 G18 G
11. G43 G44 G45 G46 G47 G48 G49 G50 tool length compensation tool length compensation tool offset decrease tool offset double increase tool offset double decrease cas tool offset increase G51 G50 1 G51 1 exact stop mode automatic corner override mode override inhibit continuous cutting coordinate system rotation coordinate system rotation cancel High Speed Peck Drilling Cycle counter tapping cycle fine boring cycle 140 20 3 Preparatory Functions G codes Good G80 canned cycle cancel G81 drilling spot boring cycle G82 drilling counter boring cycle 142 m Gia s se G87 Boring Cycle Back Boring Cycle 150 ss G90 absolute command cs rs work coordinates change maximum spindle speed setting L Notes The marked G codes in a group represent the state assumed by the control system after power on If several codes are marked with in a group a parameter can be set to select the effective one after power on They are G00 G01 G17 G18 G43 G44 G49 G90 G91 G94 G95 At the time of power on the particular one of G20 and G21 will be effective that has been set at the time of power off Default interpretation of command G05 1 after power on can be specified with the MULBUF parameter G codes in group 00 are not modal ones the rest are so More than one G code can be written in
12. 100m min or 100 feet min G97 Revolution belonging to resulting diameter X In case of rapid traverse positioning block G00 the constant surface speed is not calculated continuously but the revolution belonging to the end position will be calculated This is needed for the spindle speed to avoid unnecessary changes In order to calculate constant surface speed the zero point of the axis on the basis the spindle speed is changed must be set to the spindle rotation axis 10 2 2 Constant Surface Speed Clamp G92 With the help of command G92 S the highest spindle speed enabled in case of constant surface speed control can be set During constant surface speed calculation the control clamps spindle speed to this value In this case the unit of S is rpm After power on as well as if value S has not been clamped by means of command G92 the top limit of spindle speed in case of constant surface speed control is the maximum value enabled for the given gear range The maximum revolution value is modal until a new one is programmed or until the control is turned off 64 10 The Spindle Function 10 2 3 Selecting an Axis for Constant Surface Speed Control The axis which position the constant surface speed is calculated from is selected by parameter 1182 AXIS The logic axis number must be written at the parameter If other than the selected axis is to be used the axis from which the constant surface speed is to be calcul
13. 14 5 8 8 14 6 Three dimensional Tool Offset G41 G42 The 2D tool radius compensation will offset the tool in the plane selected by commands G17 G18 G19 The application of the three dimensional tool compensation enables the tool compensation to be taken into account in three dimensions 14 6 1 Programming the Three dimensional Tool Offset G40 G41 G42 Command G41 G42 X Y Z 1J K D B will set up the 3D tool compensation Xp Yp Z mean axes X Y Z or axes parallel to them if any Unless reference is made to an axis the principal axes will be taken into account automatically For example instruction G41 X IJ K refers to space X Y Z instruction G41 U V ZIJ K refers to space U V Z instruction G41 WIJ K refers to space X Y W When the three dimensional tool compensation is set up each of addresses I J K has to be specified or else the control will assume the state of 2D tool radius compensation The values specified at addresses I J K are the components of the three dimensional compensation vector The values of the components are modal i e each will remain effective until a reference is made to another value of I J or K The compensation value to be applied can be called at address D The dominator constant of compensation calculation can be specified at address E 111 14 The Tool Compensation Command G40 or D00 will cancel the three dimensional offset compensation The difference between the two command
14. G49 is programmed in a cycle interpolation or if a new value of H is specified the length compensation will be taken into account in operation 3 invariably along the drilling axis Instructions G45 G48 will not be executed in the drilling cycle 157 18 Measurement Functions 18 Measurement Functions 18 1 Skip Function G31 Instruction G31 v F P starts linear interpolation to the point of v coordinate The motion is carried on until an external skip signal e g that of a touch probe arrives or the control reaches the end point position specified at the coordinates of v The control will slow down and come to a halt after the skip signal has arrived Address P specifies which skip signal input is to be used during movement of the 4 ones available in control P0 uses skip signal 1 P1 uses skip signal 2 P2 uses skip signal 3 P3 uses skip signal 4 If address P is not specified control takes skip signal 1 G31 is a non modal instruction applicable only in the particular block in which it has been programmed The control returns error message 3051 G22 G28 G31 G37 if a syntactic error is found in instruction G31 The speed of motion is the specified or modal value F if parameter SKIPF 0 the feed value taken from G3 FD if parameter SKIPF 1 In the instant the external signal arrives the Asbedicuiisn positions of axes will be stored in the system variables specified below 15506 1 position of
15. N20 G1 X 30 Y 20 R15 N30 G3 X20 Y40 120 J 10 R50 Q 1 N40 G40 GO Y60 N50 X120 N60 M30 9 The control calculates the intersection of blocks N20 and N30 and inserts a 15mm corner rounding as the effect of R15 given in block N20 128 16 Automatic Geometric Calculations 16 3 3 Circular linear Intersection If a linear block is given after a circular block in a way that the straight line is defined over i e both its end point coordinate and the angle are specified then the control calculates intersection between the circle and the straight line The calculated intersection is the end point of the first block as well as the start point of the second one G17 G41 G42 G18 G41 G42 G19 G41 G42 N1 G2 G3 X1 Y1IJ N1 G2 G3 X1 ZI IK N1 G2 G3 YI ZIJK or R or R orR N2 G1 G90 X2 Y2 A Q N2 G1 G90 X2 Z2 AQ N2 G1 G90 Y2 Z2 AQ Fig 16 3 3 1 Fig 16 3 3 2 The intersection is always calculated in the plane selected by G17 G18 G19 The first block N1 i e the circle is specified with an optional point X Y1 X Z or Y Z and its center point coordinates I J I K or J K or instead of the center point coordinates with its radius R In the second block N2 the straight line is determined over i e both the end point coordinates X Y3 X Z5 or Y Z and the angle A of the straight line are given The end point coordinates of the straight line are always interpreted by the control as absolute data G90 It
16. programmed after reference point return and before instruction G29 the intermediate point will be 53 8 The Reference Point taken 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 intermediate point When the cutter compensation is set up it will move to the end point by taking into account the compensation vector A non modal code An example of using G30 and G29 Rejerence point G90 G30 P1 X500 Y200 G29 X700 Y150 niermediate poti 300 700 Fig 8 3 1 54 9 Coordinate Systems Plane Selection 9 Coordinate Systems Plane Selection The 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 data X Y Z Fig 9 1 The tool position is expressed by as many different coordinate data as is the number of axes on the machine The coordinate data refer invariably to a given coordinate system The control will differentiate three different coordinate systems 1 the machine coordinate system 2 the workpiece s coordinate system 3 the local coordinate system 9 1 The Machine Coordinate System The machine zero point i e the origin of the machine coordinate system is a point on the given m
17. suu 74 76 limit of addresses H and D 78 Limit values ecce 79 limit stop PArAINGWIC ss seca SER ERRARE ERA 23 Logical Operations 184 machining comers 5 49 MAIN AXIS aee aa eee 63 main plane 12522 Se 939 beens ds 63 Main Program lessen 10 Measurement 0005 155 Measurement Functions 155 Metric 0 ee ee 40 Mirror image 0000 ee 119 Mirror Images 117 mirror imaging 135 176 MIONE Lobo a aaa eine eee ie amp rE 101 Modal Functions 14 177 Modification of Tool Compensations 79 Numeric Representation 170 One shot Non modal Functions 15 output increment system 18 output units of measures 17 Override 30 45 49 51 154 176 COFEE eua be aser a ee RUE 50 inhibit 2 ee 20 overtravel 6 0 eee 159 parameter A 9030 si oS p oh eae ads 166 AQUI cocti tatarane 49 ACCO ios og cae ED CURE TP 49 ACCDIST sorire iba dae eee e 5S1 ACCO tare eg Barwa oy dria 48 ADD deir thes 157 ALADIST 4 2 ARRIReIS RV 157 ANG ACCU lees 115 ANGLADD oserei a eho ae 108 111 AXIS 52s bes tod sived sais 174 B 9031 0 eee 166 C 9032 1 15 kG as coke eed 166 8b 7 E 67 CHBFMOVE 06 160 CIRCOVER 0 00002 eee ST CLEBEGS3 wins cc bre saa gaa eee 135 143 CODES 22 23 38
18. 1 Sequence Number Address N The blocks of the program can be specified with serial or sequence numbers The numbering can be accomplished at address N The blocks can be numbered with max 5 digits at address N The use of address N is not mandatory Some blocks can be numbered others not The block numbers need not follow each other in a consecutive order 13 2 Conditional Block Skip A conditional block skip can be programmed at the slash address The value of the slash address may be 1 to 9 Digit 1 to 9 represents serial number of switches Switch CONDITIONAL BLOCK No 1 can be found on the operator s panel of control The other switches may be provided optionally their signals can be entered through the interface of the control system If a conditional block skip n is programmed at the beginning of a block that block will be omitted from the execution when the n switch is on that block will be executed when the n switch is off 13 3 Main Program and Sub program Two different programs are differentiated main program and subprogram Repetitive activities may be involved in machining a component part that can be described with a particular program detail In order to avoid writing the repetitive program detail over and over again in the program they can be organized into a subprogram to be called from the part program The structures of the main program and the subprogram have been described in the Introduction
19. 2 Macro Modal Call in Every Motion Command G66 000 Modal Call From Each Block 66 1 2 0 0 2 0 cee eee 20 3 Custom Macro Call Using G Code 2 202 4042 eese er rh RR 20 4 Custom Macro Call Using M Code sees 20 5 Subprogram Call with M Code c a er Ru RREERRRRARex ex eee seer end 20 6 Subprogram Callwith T Code 22 evoca er DEDE ae IDEE 20 7 Subprogram Call with S Code 0 0 eee eee eee 20 8 Subprogram Call with A B C Codes 0 cece eee eee 20 9 Differences Between the Call of a Sub Program and the Call of aMacro 20 9 1 Multiple Calls ues cased br ad RERER T ERE exe ORE ERA ER RE eed uod 20 10 Format of Custom Macro Body issues redat RR EE RRRSE RR ERES SEE 20 11 Variables of the Programming Language 0 0 0 0 cece eee es 20 11 1 Identification of a Variable 1 0 ee tenes 20 11 2 Referring to a variable o2 404i29224004e08gu ower RAF REIR IRE Pn 20 11 3 Vacant Variables 15i sssepeas da Er Ru y RA EG CREE RR C Rr Y Ros 20 11 4 Numerical Format of Variables 20 12 Types Variables esaat deck a eS tte SERENA RE Ea PE RE RE 20 12 1 Local Vattables sakkxe ea RR ek ARE 3 eR a RR X cR ER EUR HR 20 122 Common Variables i opaacev mebrxe re p S rSn eed SOR ade 20 123 System Variables see due ces wach es x e xocE ox e EO P OC IC ea do d 20 13 Instructions of the Programming Language 00 eee ee eee eee eee 20 13 1 Definition Substitution
20. 48 decimal point 40 188 190 direction of offset mode 98 DNGumnode 1 RR Re 11 dominator constant 113 drilling axis esos ate SEEN 132 Drilling Cycles nec42 4 RE RR ER 132 Addresses 000000eeee 133 odes v bE I Eds yes 133 configure iq ex acee EE YOU RP A 133 Dwell een 52 102 136 End of Program 10 72 endless Cycle 2262s she ph eds TI Exact Stop e wr IRR RRE EY 49 176 Index in Alphabetical Order Beds ue eee eee 12 176 Feed Reduction 51 Zen 22s oa eee R SUE 10 full arc of circle 0 106 full circle 2 eee 106 going around sharp corners 107 Going around the outside of a corner 93 96 I PETERE pps 40 Increment System 17 40 Increment System 41 47 79 MUL FRED 18 OUIDUE ee rreo bees de te ECC ERES 18 Incremental Coordinate Specification 14 Initial pont 2 eee 132 134 input increment system 18 Inside Corner 88 89 95 96 110 Machine cece eee ee 50 inside comers 000 00 eae 92 Interface sisse 172 173 Interferences in Cutter Compensation TuS 107 intermediate point 54 Interpolation i225 sso ose o the 12 M EE E EE 180 leading zeros a9 25 x RR RR ESxRES 40 length compensation 179 limit of address L 2 eee 75 limit of address P
21. B 9031 1 or C 9032 1 is set the value of A B or C written in the program will not be transferred to the PLC or the interpolator instead the call of subprogram No O9030 09031 or 09032 will be initiated by code A B or C respectively Now e g block Gg Xx Yy Bb is equivalent to the following two blocks 196 b Gg Xx Yy M98 P9031 The values assigned to addresses A B and C will be transferred to common variables 195 196 and 197 respectively 169 20 Custom Macro If reference is made again to the same address in the subprogram started by code A B or C the subprogram will not be called again but the value of the address will be transferred already to the PLC or interpolator If a call of a user G M S T code is made in the subprogram FGMAC2 0 not enabled executed as ordinary codes M S G FGMAC 1 enabled i e a new call is generated 20 9 Differences Between the Call of a Sub Program and the Call of a Macro A macro call may include arguments but a subprogram call may not The call of a subprogram will only branch into the subprogram after the execution of other commands programmed in the block a macro call will branch only A macro call will alter the levels of local variables a subprogram call will not For example the value of 1 prior to the call of G65 is different from the one in the middle of macro body The value of 1 before M98 is identical with that in the subprogram 20 9 1 Multipl
22. Boring Cycle Tool Retraction with Rapid Traverse G86 G86 CIOR GRE G99 Fig 17 1 11 1 The variables used in the cycle are G17 G86 X Y Z R F L G18 G86 Z X Y R F L G19 G86 Y Z X R F L The spindle has to be given rotation of M3 when the cycle is started The operations of the cycle are l rapid traverse positioning in the selected plane 2 3 rapid traverse movement to point R 4 5 boring as far as the point Z with feed F 6 stopping the spindle M5 T with G99 rapid traverse retraction to point R 8 with G99 spindle re started M3 9 with G98 rapid traverse retraction to the start point 10 with G98 spindle re started M3 152 17 Canned Cycles for Drilling 17 1 12 Boring Cycle Back Boring Cycle G87 The cycle will be performed in two different ways G87 G08 G87 G99 gt Vannal feed Operation of G87 when paramcter ORIENT1 0 Fig 17 1 12 1 A Boring Cycle Manual Operation at Bottom Point Unless the machine is provided with the facility of spindle orientation parameter ORIENT1 0 the control will act according alternative A The variables used in the cycle are G17 G87 X Y Z R F L G18 G87 Z X Y R F L G19 G87 Y Z X R F L The spindle must be started in M3 when the cycle is started The operations of the cycle are 1 rapid traverse positioning in the selected plane 2 s 3 rapid traverse movement to point R 4 5 boring as far as the
23. C call is enabled depending on the parameter value FGMACZ O not enabled executed as ordinary M S G codes FGMAC 1 enabled i e a new call is generated The user G codes have the following sets of arguments if the code is of G65 or G66 type the set of arguments assigned to G65 plus P and L if the code is of G66 1 type the points described are applicable to its set of arguments A modal code can be deleted by instruction G67 167 20 Custom Macro 20 4 Custom Macro Call Using M Code Maximum 10 different M codes can be selected by parameters to which macro calls are initiated Now the series of instructions Nn Mm lt argument assignment gt have to be typed Now code M will not be transferred to the PLC but the macro of the respective program number will be called The particular program number to be called by the calling M code has to be selected by parameters M 9020 code M calling program 09020 M 9021 code M calling program 09021 M 9029 code M calling program O9029 Code M can specify invariably a type G65 call 1 e a non modal one If reference is made again to the same M code in the middle of the macro body the latter will not call the macro instead M code will be transferred to the PLC If a user call type G S T A B C or some other user call type M is made in the middle of the macro body FGMACZ O not enabled executed as ordinary M S G codes FGMAC 1 enabled i e a new call is gener
24. ERA CA Re RR 49 6 4 2 Exact Stop Mode G61 sucecechecesde sewer RRSRIetERCRASq ARE REN 49 6 4 3 Continuous Cutting Mode G64 0 eee eens 50 6 4 4 Override and Stop Inhibit Tapping Mode 663 2000000000 50 6 4 5 Automatic Corner Override 62 0 0 0 cc eee eens 50 6 4 6 Internal Circular Cutting Override 2 0 eee eee ee 51 7 The Dwell GOA ne IARE S Ro ee eer 32 8 Ihe Reference Point x 25 4 6 he eh es ee RE RE TERRA OF EAPO SELES PR 53 8 1 Automatic Reference Point Return G28 0 ccc eee eee 33 8 2 Automatic return to reference points 2nd 3rd 4th G30 020 0000 54 8 3 Automatic Return from the Reference Point G29 0 0 0 0 0c eee 54 9 Coordinate Systems Plane Selection 00 00 c cece eee 56 9 1 The Machine Coordinate System 2429 svp caula EP RR RR eL EAR d 56 9 1 1 Setting the Machine Coordinate system 57 9 1 2 Positioning in the Machine Coordinate System G53 0 00000 57 9 2 Work Coordinate Systems 2 44 0s2 gh ununuran 31 9 2 1 Setting the Work Coordinate Systems 0 0 0 eee eee eee 51 9 22 Selecting the Work Coordinate System llellllllesesessu 58 9 2 3 Programmed Setting of the Work Zero Point Offset 00000 59 9 2 4 Creating a New Work Coordinate System G92 0 0 eee eee eee 59 9 3 Local Coordinate SysIe 1S asserere epa eme aed cokes das 60 9 4 Plane Selection G17 G1
25. ERROR 2 definition error in sizes specified Possible causes 200 20 Custom Macro 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 O or the tool radius called is 0 The value of depth of cut is 0 i e 0 has been programmed at address Q 201 Notes Notes 202 Index in Alphabetical Order Index in Alphabetical Order PER 170 3100013413999 173 1000 1015 s 172 81032 Loe nn 172 81100 4115 sees 173 E132 uuo E EROR 173 HIIS 3823 ex d ep R3 RE DN 166 2196 22b wee he oe eee NES 166 FIOT oa 5 450 dis 40a wt 324 4 ee RoE 166 JO ACC 166 HOO lg eur elk we Est 166 HI eec a a TR N 171 983000 sl RE e RR 175 H3001 3 6 satan dibs bee Ry dense URS 175 3002 e a eee 175 83003 seen 175 83004 eeeeee nn 176 83006 14 sich iesd vx Repente 176 H3007 es anor Erana Mer 176 839001 seeeee nn 177 123902 tse RR eer EE 177 384001284130 Ls 177 34201384330 Ls 177 385201285326 eee 174 Um nae ee aaa pia aaea 171 Absolute Coordinate Specification 14 Acceleration 0 00 00 eee ee eee 48 Address Chain 00000005 9 Ali ie ses oid a aid ree debes do 175 e a EAN POO E E Haare eed ahaa actos 51 a
26. FLUCTW spindle speed fluctuation in absolute 65535 value The process of speed fluctuation detection is as follows 66 10 The Spindle Function Start of Spindle Speed Fluctuation Detection As the effect of new rotation speed the detection is suspended by the control The speed fluctuation detection starts when the current spindle speed reaches the specified spindle speed within the tolerance limit ow determined by value q or Spindle speed ccnimand sy revoltitioa Error signal Fig 10 6 1 the current spindle speed has not reached the specified spindle speed within the tolerance limit determined by value q but time determined by value p has elapsed from the command ermivcumd Sg 7 Current revolution Fig 10 6 2 67 10 The Spindle Function Detecting Error In the course of detection the control sends error message in case the deviation between current and specified spindle speed exceeds the tolerance limit specified by value r in percent of the command value and also the absolute tolerance limit specified by value d When the current speed has exceeded both tolerance limits the NC sets flag 1656 to PLC The speed range in which the NC issues alarm can be seen on the 3rd figure If the specified spindle speed is under value S apparent in the figure the NC issues alarm provided the current speed is 0 revs min for more than 1 second Th
27. G1 Z100 F180 G4 P2 GO Z1100 HO X 800 Yv 300 positioning in plane X Y moving to 2410 with H1 length compensation drilling as far as Z100 with F180 feed dwell for 2 seconds removing the tool and canceling the length compensation the tool s tip is in the X700 point returning with rapid traverse in plane X Y G45 increases the movement amount with the offset value G46 decreases the movement amount with the offset value G47 increases the movement amount by twice with the offset value G48 decreases the movement amount by twice with the offset value Any one of commands G45 G48 will be effective with the compensation selected with the D code until another value is called in conjunction with a command G45 G48 Being non modal codes they are effective only in the block in which they have been specified In the case of an absolute data specification the amount of movement will be the difference between the end point defined in the current block and the end point of the previous block Any increase or decrease refers to the direction of motion produced in this way 14 The Tool Compensation With G45 programmed increase by the offset value a movement command 20 b movement command 20 compensation 5 compensation 5 Starting point End point Starting point Find point Fig 14 4 1 Fig 14 4 2 a movement command 20 b movement command 20 compensation 5 compensation 5 End poini Starting p
28. G1G90 Y2 Z2 A2 The intersection is always calculated in the plane selected by G17 G18 G19 The first block N1 is specified either by means of its angle A1 in this case a straight line is drawn from the start point to the intersection point in the appropriate angle or with an optional position other than the start point of the straight line X1 Y1 X1 Zl or Y1 Z1 In this case the intersection is calculated with the straight line lying on both points Coordinates given in the second block N2 are always interpreted by the control as absolute data G90 For example G17 G90 G41 DO GO X90 Y10 N10 G1 A150 N20 X10 Y20 A225 GO XO Y20 50 33 094 Block N10 can also be given with the coordinates of a point of the straight line G17 G90 G41 DO 20 19 GO X90 Y10 N10 G1 X50 Y33 094 N20 X10 Y20 A225 Fig 16 3 1 2 GO X0 Y20 10 20 Note that in this case coordinate X Y X50 Y33 094 given in block N10 is not acknowledged by 123 16 Automatic Geometric Calculations the control as end point but as a transit position binding the straight line with the start point 124 16 Automatic Geometric Calculations Intersection calculation can also be combined with a chamfer or corner rounding specification E g 0 33 094 i 20 35 094 9 20 15 20 99 1G Fig 16 3 1 3 Fig 16 3 1 4 G17 G90 G41 DO G17 G90 G41 DO GO X90 Y10 GO X90 Y10 N10 G1 X50 Yv33 094 C10 N10 Gl X50 Y33 094 R10
29. K in the compensation cancel block G40 but only to those in the selected plane e g to I J in the case of G17 the control will move to the intersection point between the previous interpolation and the straight line defined by I J K The values of I J K are always incremental the vector defined by them points away from the end point of the previous interpolation This facility is useful e g for moving from an inside comer G91 G17 G42 N100 G1 X50 Y60 N110 G40 X70 Y 60 I100 J 20 In this case the control will always compute a point of intersection regardless of whether an inside or an outside corner is to be machined Fig 14 5 3 5 95 14 The Tool Compensation Unless 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 no movement is programmed in the selected plane an offset vector perpendicular to the end point of the previous interpolation will be set and the compensation vector will be deleted by the end of the next movement block G42 G17 G91 N110 G1 X80 Y40 N120 G40 N130 x 70 Yv20 If zero displacement has been programmed or such is obtained in the block G40 in which the compensation is canceled an offset vector perpendicular to the end point of the previous interpolation will be calculated and the control will cover that instance in block G40 For examp
30. N20 X10 Y20 A225 N20 X10 Y20 A225 GO XO Y20 GO XO Y20 In the above examples chamfering amount is measured from the calculated intersection as well as rounding is inserted to the calculated intersection 125 16 Automatic Geometric Calculations 16 3 2 Linear circular Intersection If a circular block is given after a linear block in a way that the end and center position coordinates as well as the radius of the circle are specified i e the circle is determined over then the control calculates intersection between straight line and circle The calculated intersection is the end point of the first block as well as the start point of the second one 126 16 Automatic Geometric Calculations G17 G41 G42 G18 G41 G42 G19 G41 G42 NI Gl A or N1 G1 A or NI G1 A or X1 Y1 X1 Z1 Y1 Zi N2 G2 G3 G90 X2 Y2 I N2 G2 G3 G90 X2 Z2 I N2 G2 G3 G90 Y2 Z2 J JRQ KRQ KRQ Specifying the further intersection point R ME Fig 16 3 2 1 Fig 16 3 2 2 The intersection is always calculated in the plane selected by G17 G18 G19 The first block N1 is specified either by means of its angle A in this case a straight line is drawn from the start point to the intersection point in the appropriate angle or an optional point other than the start point of the straight line is given X Y X Z or Y Z4 In this case the intersection is calculated with the straight line lying on both points Coordinates given in the second block N
31. Number of digits before the decimal point Variable Character All characters and digits will be output in ISO or ASCII code depending on the parameter setting 193 20 Custom Macro 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 The condition 0 c d 9 must be fulfilled for the specification of digits The procedure of outputting the digits begins with the most significant digit In outputting the digits the negative sign and the decimal point will also be output with the respective ISO codes If parameter PRNT 0 a space code will be output in the position of the sign and the leading zeros each zero is output with code 0 after the decimal point if any If parameter PRNT 1 the sign and the leading zeros will not be output if the decimal point is defined the zeros behind it will be output Otherwise neither the decimal point nor any of zeros will be output If d 0 the decimal point will be output ifc only is specified even the decimal point will not be output either A vacant variable will be output with code 0 At the end of data outputting the control will automatically output a line feed character LF Example DPRNT X 130 53 Y4500 53 T 10 2 130 35 897421 35 897 500 15
32. a uniform distribution of cuts Such a modification may however be a reduction only F feed The feed applied in the cycle can be specified at address F Unless F is given a value the modal F value will be adopted 50 of the F value will be applied when a level begins to be milled and a depth of cut Q is drilled when milling the pocket longitudinally as long as the Q is loaded on both sides M S T function A function M S T can be specified in the block calling the procedure of pocket milling which will be executed by the control prior to commencement of milling Degenerated cases of cavity milling Unless the width of pocket has been specified the radius of the pocket s corners will be taken twice for the width of pocket Fig 20 18 2 199 20 Custom Macro Unless the width of pocket and the rounding radii of corners have been specified the tool diameter applied will be taken for the width of pocket groove Fig 20 18 3 Ifneither the lengthnor the width of pocket has been specified only address R has been programmed a circular pocket of radius R will be milled Fig 20 18 4 If neither length nor width nor radius have been specified the cycle will degenerate into drilling Error messages in the course of pocket milling MACRO ERROR 1 false block specification Possible causes Depth of pocket not specified Radius of tool not specified Depth of cut not specified MACRO
33. acceleration over the exponential one is the lower profile distortion i e radius error compared with exponential acceleration in a high speed Ar machining of a circle E rommaa path Aciual path _ a Fig 6 3 3 47 6 The Feed The control is monitoring the changes in tangential speeds This is necessary to attain the commanded speed in a process of continuous acceleration if necessary through several blocks The acceleration to the new feed higher than the previous one is commenced by the control invariably in the execution of the particular block in which the new feed value is specified That process may if necessary cover several blocks Deceleration to the new feed value lower than the previous one will be started by the control in an appropriate preceding block so that the machining will be started with the programmed speed in the particular block in which the new feed value is specified Fig 6 3 4 When moving manually by using jog keys or handwheel again linear acceleration deceleration will be performed Their values will be defined for each axis by parameters ACC through ACC8 6 4 Feed Control Functions The override control functions are required when corners are to be machined and or when the particular technology requires the override and stop switches to be canceled When machining corners with continuous cutting applied the slides are on account of nace ed their inertia un
34. address is interpreted as an incremental data of rectangular coordinates The address may be a metric or inch one The mirror image coordinate system rotation and scaling commands are not applicable to data of I J K The latter are modal values They are deleted by G80 or by the codes of the interpolation group Withdrawal is accomplished in rapid traverse Data of drilling Bottom position of the hole point Z X Y Z The bottom position of the hole or point Z in case of G17 has to be specified at the address of the drilling axis The coordinate of the bottom point of the hole will always be interpreted in terms of rectangular data It may be specified in inch or metric units absolute or incremental values When the value of the bottom point is specified incrementally the displacement will be calculated from point R Point R Point Z Point Z Specifying absolute value Specifying incremental value Fig 17 4 The mirror image and scaling commands are applicable to the data of the bottom point The latter are modal values deleted by G80 or by the codes of the interpolation group The control will always approach point Z with the particular feed in effect Point R The point of approach is specified at address R It is always a rectangular coordinate data that may be an incremental or absolute one metric or inches When data R is an incremental one its value is calculated from the initial point The mirror image and scaling da
35. along axis q For example G17 G03 XO Y100 Z20 R100 F150 The series of instructions H t define a multi dimensional spatial helical interpolation in which q r s are optional axes not involved in the circle interpolation For example series of instructions G17 G3 X0 Y 100 Z50 V20 I 100 will move the tool along the superficies of an oblique cylinder if V is an axis parallel to Y L Notes Whenever parameter HELICALF in the field of parameters is set to 1 the control will implement the programmed feed along the spatial path In the case of the circle specified in the selected plane having a varying radius the interpolation will be carried out along the superficies of the specified Fig 4 4 2 cone 28 4 The Interpolation The specified tool radius compensation is implemented invariably in the plane of the circle 4 5 Equal Lead Thread Cutting G33 The instruction G33 v FQ G33 vEQ will define a straight or taper thread cutting of equal lead The coordinates of maximum two axes can be written for vector v The control will cut a tapered thread if two coordinated data are assigned to vector v The control will take the lead int aeration al the 1 Tapered thread ead into consideration along the long axis If lt 45 i e Z gt X the programmed lead will be taken into account along axis Z if gt 45 i e X gt Z the control will take the programmed lead along axis X The lead
36. as thebottom point with feed F override and stop inhibited 6 dwell with the value specified at address P provided parameter TAPDWELL is enabled 1 spindle direction reversal M3 retraction as far as point R with feed F override and stop inhibited spindle direction reversal M4 with G98 rapid traverse retraction to the initial point Se eS 142 17 Canned Cycles for Drilling 17 1 3 Fine Boring Cycle G76 E ood iid on M3 Point R gt 4 9 i __ gt Dwell M19 Dwell M19 Tool retract in the plane of positioning by rapid traverse Fig 17 1 3 1 Cycle G76 is only applicable when the facility of spindle orientation is incorporated in the machine tool In this case parameter ORIENT is to be set to 1 otherwise message 3052 ERROR IN G76 is returned Since on the bottom point the cycle performs spindle orientation and recesses the tool from the surface with the values specified at I J and K the part will not be scratched when the tool is withdrawn The variables used in the cycle are G17 G76 X Y L J Z R P F L G18 G76 Z X K I Y R PF L G19 G76 Y Z J K X R P F L Command MG has to be issued prior to starting the cycle The operations of the cycle l rapid traverse positioning in the selected plane 2 3 rapid traverse movement as far as point R 4 5 boring as far as the point Z with feed F 6 dwell with the value specified at address P spindle orientation M19
37. blocks of that macro and treating them as arguments If another macro is called again from a macro the levels of local variables will also increase with the macro levels main program macro macro macro macro level 0 level 1 level 2 level 3 level 4 Oo O Qo O G65 P G65 P G65 P G65 P M99 M99 M99 M99 local variables level 0 level 1 level 2 level 3 level 4 1 1 1 1 1 33 33 33 33 33 When the first macro is called the local variables of the main program will be stored 1 through 33 and the local variables at level 1 will assume the argument values specified in the call If another macro is called from the first level the local variables of the first level will be stored 1 through 33 and the local variables on the second level will assume the argument values specified in the call In the case of multiple call the local variables of the previous level will be stored and the local variables on the next level will assume the argument values specified in the call In the case of M99 returning from the called macro to the calling program the local variables stored on the previous level will be restored in the same states they were at the time of being stored during the call 171 20 Custom Macro 20 10 Format of Custom Macro Body The program format of a user macro is identical with that of a subprogram O program number commands M99 The program number is irrelevant but the program numbers between 09000 and 0903
38. can be defined in one of two 2 ways If the lead is specified at address F the data will be interpreted in mm rev or Fig 4 5 1 inch rev Accordingly F2 5 has to be programmed if a thread of 2 5 mm lead is to be cut If the pitch is specified at address E the control will cut an inch thread Address E is interpreted as number of ridges per inch If e g E3 is programmed the control will cut a thread VYa 25 4 3 8 4667mm lead The shift angle of the thread start is specified at address Q expressed in degrees from the zero pulse of the spindle encoder A multiple thread can be cut by an adequate programming of the value of Q i e the control can be programmed here for the particular angular displacements of the spindle at which the various threads are to be cut If e g a double thread is to be cut the first and the second starts will be commenced from QO no special programming is needed and from Q180 respectively G33 is a modal function If several thread cutting blocks are programmed in succession threads can be cut in any arbitrary surface limited by straight lines Fig 4 5 2 The control is synchronized to the zero pulse of the spindle encoder in the first block no synchronization will be performed in the subsequent blocks resulting in a continuous thread in each section of lines Hence the programmed shift angle of the thread start Q will also be taken into account in the first block 29 4 The Interpo
39. compensation mode 100 14 The Tool Compensation 14 5 7 General Information on the Application of Cutter Compensation In offset mode G41 G42 the control will always have to compute the compensation vectors between two interpolation blocks in the selected plane In practice it may be necessary to program between two interpolation blocks in the selected plane a non interpolation block or an interpolation outside of the selected plane They may be functions M S T dwell G4 P interpolation outside of the selected plane G17 G1 Z call of a subprogram M98 P setting or canceling special transformations G50 G51 G50 1 G51 1 G68 G69 L Note Calling a subprogram some carefulness is needed Unless the subprogram is beginning with a motion command in the assigned plane the interpolation will be distorted The control will accept the programming of a single block of the above type between two interpolation blocks in the program leaving the path of the tool unaffected G17 G42 G91 N110 G1 X50 Y70 N120 G4 P2 N130 X60 Fig 14 5 7 1 When the control inserts one or more straight lines between two interpolations when going around a corner any other block without movement or with movement outside of the selected plane programmed between the interpolations will be executed at the single block stop point indicated by S in the figures When two interpolations outside of the selected plane
40. control issues L again unless ACK is returned in a definite length of time ACK 6 acknowledgment NAK 21 Spurious data transfer e g hardware trouble in the line or BCC error The transfer of BLOCK has to be repeated DC1 17 Transfer of the next BLOCK has to be started DC3 19 Interruption of communication BLOCK Basically an NC block including the terminating character F and the checksum thereof BCC stored in 7 bits as the last byte of the block bit 7 the uppermost one of BCC is invariably 0 No SPACE 32 or some other character of lower ASCII code may be contained in the block EOF 26 End Of File a signal is transferred by the Equipment sender to interrupt the communication For the DNC mode set the second physical channel only that one is applicable as a DNC channel for 8 bit even parity mode A main program executed from the DNC channel may have a linear sequence only This does not apply to subprogram or macro if any have been called however they must be contained in the memory of control In the event of a departure from the linear sequence in the main program GOTO DO WHILE the control will return error message 3058 NOT IN DNC If the control detects a BLOCK error and returns NAK the BLOCK has to be repeated 11 1 Introduction 1 2 Fundamental Terms The Interpolation The control system can move the tool along straight lines and arcs in the course of mach ining These acti
41. coordinate of axis 1 G31 5062 Skip signal coordinate of axis 2 G31 possible 5068 Skip signal coordinate of axis 8 G31 The position in which the skip signal has arrived in block G31 will be entered in the variable in the work coordinate system with the coordinate offsets taken into account in Cartesian coordinates with all compensations length radius tool offset taken into account Unless the skip signal has arrived the above variables will assume the end point position programmed in block G31 T5022 5002 5042 S 62 5421 245041 25061 Fig 20 12 3 1 Tool length compensation system nature of position information entry during variable motion 5081 length compensation on axis 1 5082 length compensation on axis 2 not possible 5088 length compensation on axis 8 The readable tool length compensation is the one in effect in the block being executed 183 20 Custom Macro 5023 5043 5063 Fig 20 12 3 2 Servo lag system nature of position information entry during variable motion 5101 servo lag in axis 1 5102 servo lag in axis 2 not possible 5108 servo lag in axis 8 The readable servo lag is a signed value in millimeters 20 13 Instructions of the Programming Language The expression 1 lt formula gt is used for describing the various instructions The expression lt formula gt may include arithmetic operations functions variables or cons
42. interpolation will be not parallel to the programmed contour N10 G40 G17 GO XO YO N15 G91 G42 D1 X80 N20 Gl XO N25 X30 Y60 N30 X60 Fig 14 5 1 8 90 14 The Tool Compensation 14 5 2 Rules of Cutter Compensation in Offset Mode In offset mode the compensation vectors will be calculated continuously between interpolation blocks G00 G01 G02 G03 see the basic instances until more than one block will be inserted that do not contain displacements in the selected plane This category includes a block containing dwell or functions Basic instances of offset mode Computation of intersection point for inside corners 180 lt 360 Fig 14 5 2 1 91 14 The Tool Compensation It may occur that no intersection point is obtained with some tool radius values In this case the control comes to a halt during execution of the previous interpolation and returns error message 3046 NO INTER SECTION G41 G42 i Small compensation m lt pm a I value F Large compensation value R i No intersection point Fig 14 5 2 2 Going around the outside of a corner at an obtuse angle 90 180 Linear to linear Linear to circular Circular to linear Circular to circular Fig 14 5 2 3 92 14 The Tool Compensation Going around the outside of a corner at an acute angle 0 90 Linear to linear Linear to circular Fig 14 5 2 4 Special inst
43. is always the vector angle of the straight line pointing from the resulting intersection at the given end point to be specified at address A otherwise movements contrary to programmer s needs occur Of the two resulting intersections the one to be calculated by the control can be specified at address Q If the address value is less than zero Q 0 e g Q 1 the nearer intersection in direction of the straight line is calculated while if the address value is greater than zero Q gt 0 e g Q1 the farther one in direction of the straight line is calculated The direction of movement along the straight line is determined by the angle 129 16 Automatic Geometric Calculations Let us see an example Nii 2M 1 5 Fig 16 3 3 3 Fig 16 3 3 4 09983 09984 N10 G17 GO X90 YO M3 S200 10 G17 GO X90 YO M3 S200 N20 G42 G1 X50 DO 20 G42 G1 X50 DO N30 G3 X 50 YO R50 30 G3 X 50 YO R50 N40 Gl X 50 Y42 857 A171 87 Q 1 40 Gl X 50 Y42 857 A171 87 Q1 N50 G40 GO Y70 50 G40 GO Y70 N60 X90 60 X90 N70 M30 70 M30 Linear block N40 is defined over because both the end point coordinates X 50 Y42 875 and the angle A171 87 of the straight line are specified Therefore X 50 YO coordinates of the circle programmed in the previous block N30 are not referred to as end point coordinates but only as a point which is intersected by the circle and the end point is the calculated intersection In program No 09983 the nearer i
44. is retracted as far as point R in the course of the drilling cycle accordingly operations 9 and 10 are omitted A Point R Initial lavel return Point R level return Fig 17 2 Codes of the drilling cycles G73 G74 G76 G81 G89 They will set up the particular cycle mode enabling the cycle variables to be modal Code G80 willcancel the cycle mode and delete the cycle variables from the memory Addresses used in the drilling cycles and meanings thereof are G17 G X Yp I J Z Bo Q E P_F_S E G18 G Z X K I Rh Q E PL F5 L G19 G Y Z J_ K X R_Q_E_P_F_S L L No of repetitions data of drilling displacement after spindle orientation position of hole code of drilling 136 17 Canned Cycles for Drilling The 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 code group 1 interpolation codes G01 G02 G03 G33 As long as the cycle state is on instructions G73 G74 G76 G81 G89 the modal cycle variables will be modal between drilling cycles of various types too Initial point The initial point is the position of axis selected for drilling it will be recorded when the cycle mode is set up For example in the case of N1 G17 G90 GO Z200 N2 G81 X0 YO Z50 R150 N3 X100 Y30 280 the position of initial point will be Z 200 in blocks N2 and N3 too Or when a new drilling axis is
45. linear to circular as shown below The Figures refer to instance G42 positive radius compensation assumed L Note The symbols in the Figures below and afterwards have the following meanings r value of radius compensation L straight line C circular arc S single block stop point Dashed line the path of tool center Continuos line the programmed path Basic instances of starting up the cutter compensation G40 G40 G42G01X Y D G42G01X Y D XY GX YR Going around an inside corner 180 360 Lineur to lineur Linear to circular Fig 14 5 1 1 87 14 The Tool Compensation Going around the outside of a corner at an obtuse angle 90 180 Lineur to lineur Lineur to circular niarsection Intersection Fig 14 5 1 2 Going around the outside of a corner at an acute angle 0 90 Fig 14 5 1 3 Special instances of starting up the radius compensation If values are assigned to I J K in the compensation selecting block G41 or G42 but only to those in the selected plane e g to I J in the case of G17 the control will move to the intersection point between the next block and the straight line defined by I J K with starting up radius compensation The values of I J K are always incremental ones the vector defined by them pointing to the end point of the interpolation in which it has been programmed This facility is useful e g in moving to an inside corner
46. lt conditional expression gt is not satisfied the execution of the program will be resumed at the next block Error message 309 ERRONEOUS OPERATION WITH is returned unless IF is followed by a conditional expression Ifthe conditionalexpression includes a syntactic error error message 3064 BAD MACRO STATEMENT will be returned 20 13 6 Conditional Instruction IF lt conditional expression gt THEN If lt conditional expression gt is satisfied the instruction behind THEN will be executed If lt conditional expression gt is not satisfied the execution of the program will be resumed at the next block The word THEN can be omitted the series of instructions IF lt conditional expression gt instruction will be equally executed 20 13 7 Iteration WHILE conditional expression gt Dom ENDm As long as conditional expression is satisfied the blocks following DOm up to block ENDm will be repeatedly executed In the instruction the control will check wether the condition has been fulfilled if so the program detail between DOm and ENDm will be executed then as a result of instruction ENDn the program will return to check the post WHILE condition again Unless lt conditionalexpression gt is satisfied the execution ofthe program will be resumed at the block behind ENDm If WHILE conditional expression gt is omitted i e the cycle is described by instructions DOm ENDnm the program detail between DOma
47. of a circle arc of a varying radius 26 4 The Interpolation The program detail below is an example of how a spiral interpolation circle of varying radius can be specified by the use of addresses I J K G17 G90 GO X50 YO G3 X 20 I 50 If the specified circle radius is smaller than half the distance of straight line inter connecting the start point with the end point the control will regard the specified radius of the circle as the start point radius and will interpolate a circle of a varying radius spiral whose center point is located on the straight line connecting the start point with the end point at distance R from the start point G17 GO G90 X0 YO G2 X40 Y30 R10 Fig 4 3 7 4 4 Helical Interpolation G02 G03 617 E X Y d is F G18 E X 2 d x F 619 eat Y 2 4 te F The series of instructions will define a helical interpolation It is distinguished from circular interpolation that a third axis q which is not an axis composing the circular plane The control performs a simple movement along axis q 27 4 The Interpolation The feed specified at address F is effective along the circle path Feed component Fq along axis q is obtained from the relationship End pomi 0 100 20 b SU F Feed inZ F q F z d direct icr L Siarime poin TEE 100 9 0 where L4 displacement along axis q Feed along the circle Lac length of circular arc arc gth Fig 4 4 1 F programmed feed F feed
48. of spindle indexing group 7 M00 M01 M02 M30 M96 M97 M98 M99 program control codes The number of M functions that can be programmed in a given block is 5 Only one M of each group can be programmed in a block Conflicting programming will produce error message 3032 CONFLICTING M CODES The exact functioning of each M code is defined by the builder of the particular machine tool to meet its specific requirements The only exceptions are the program control codes The program control M codes are M00z programmed stop The stop condition will be generated at the end of the block in which MOO has been specified All modal functions remain unchanged It can be restarted by START MO01 conditional stop Its effect is identical with that of code MOO It will be executed when the CONDITIONAL STOP key is activated Unless the appropriate key is set up it is ineffective M02 M30 end of program It means the end of the main program All operations are stopped and the control is reset The machine will be reset by the PLC program Unless the parameter PRTCNTM differ from it each of executed M02 or M03 command increase the counters of workpiece 71 12 Miscellaneous and Auxiliary Functions M98 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 sp
49. respective parameters the coordinates in instruction G22 will be converted to the coordinate system of the machine with the selected compensation offsets included Thus e g if the length compensation is set up in direction Z when instruction G22 is specified the 161 19 Safety Functions limit data of coordinates specified for that axis will limit the movement by stopping the tip of the tool at the limit If however the compensation is not set up the reference point of the tool holder will not be allowed into the prohibited area It is advisable to set the border of the forbidden area at the axis of the tool for the longest one Programable stroke check function is not available for the additional axes Instructions G22 G23 have to be specified in independent blocks Programable stroke check function will be effective after reference point return If the machine enters a prohibited area after reference point return or as a result of programming G22 and the area is prohibited internally the prohibition has to be released in manual mode by programming G23 the axis axes must be moved out by manual jog and stroke check has to be set up again by programming G22 In the case of an externally forbidden area the procedure of leaving the area will be the same as the one following an overtravel If an axis reaches the border of the prohibited area in motion it can be removed from it by manual movement in one of the manua
50. selected For example N1 G17 G90 GO 2200 W50 N2 G81 X0 YO Z50 R150 N3 X100 Y30 W20 R25 position of start point is Z 200 in block N2 position of start point is W 50 in block N3 Programming of R is mandatory when the selection of drilling axis is changed or else error message 3053 NO BOTTOM OR R POINT is returned Position of hole X Yp Zp Of the coordinate values entered those in the selected plane will be taken for the position of the hole The values entered may be incremental or absolute ones rectangular Cartesian or polar coordinates in metric or inch units The mirror image coordinate system rotation and scaling commands are applicable to the coordinate values entered The control moves to the position of hole in rapid traverse regardless of which code in group is in effect Oriented spindle Displacement after spindle orientation I J K If the particular machine is provided with the facility of spindle orientation the tool can be retracted off the surface in fine boring and back boring cycles G76 and Y Y Tool retract by rapid traverse G87 in order not to scratch the surface of to the diraction specified by T J the hole Now the direction in which the pig 17 3 137 17 Canned Cycles for Drilling tool is to be withdrawn from the surface can be specified at addresses I J or K The control will interpret the addresses in conformity with the plane selected G17 LJ G18 K I G19 J K Each
51. the larger angular movement the rotary axis has to make within a time unit in order to keep the programmed feed In case the angular move to be made within a time unit exceeds the value of parameter FEEDMAX set for rotary axis the control gradually decreases the tangential feed With these in mind programs in case of which Fig 4 6 2 the tool center moves close to the origin are to be avoided Example Below an example for the use of polar coordinate interpolation is shown The axes taking part in the interpolation Axes X linear axis and C rotary axis Axis X is programmed in S0 40 diameter while that of NISQ axis C is in radius 7 virtual axis Path after tool radius vompensation N160 NI170 Fig 4 6 3 07500 POLAR COORDINATE INTERPOLATION NO50 T808 NO60 G59 start position of coordinate system G59 in 33 4 6 Polar Coordinate Interpolation G12 1 G13 1 NO70 N080 N090 N100 N110 N120 N130 N140 N150 N160 N170 N180 N190 N200 N210 N220 oe 34 G17 GO X200 CO G94 2 3 S1000 M3 G12 1 G42 G1 X100 F1000 C30 G3 X60 C50 I 20 JO G1 X 40 X 100 C20 C 30 G3 X 60 C 50 R20 G1 X40 X100 C 20 CO G40 GO X150 G13 1 GO G18 Z100 direction X on rotary axis C select plane X C orientation to coordinate x C 0 polar coordinate interpolation on polar coordinate interpolation off Retract tool select plane X Z 4 7 Cylindrical I
52. which the minimum override can be specified as a percent The override for the circle radius is multiplied by the values of feed and corner override before it is issued 50 7 The Dwell 7 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 the delay may refer always to seconds as well irrespective of the states of G94 G95 The dwell implies invariably the programmed delay of the execution of the next block It is a non modal function During dwell in status field 5 indicating interpolation status the message DWL will appear on screen to draw the attention of operator why the machine is halted 51 8 The Reference Point 8 The Reference Point The reference point is a distinguished position on the machine tool to which the control can easily return The location of the reference point can be defined as a parameter in the coordinate system of the machine Work coordinate system Origin of machine can be measured and absolute positioning can coordinale system be done after reference point return The parametric overtravel positions and the stroke check function are only effective after reference point return Reference poini 2 P t D position of reference point in machine coordinate
53. with G98 retraction to the initial point in rapid traverse 10 Description of drilling operation 5 is as follows drilling the cut in depth specified at address Q in the workpiece with feed rapid traverse retraction by the distance specified at address E or in parameter RETG73 drilling cut in depth Q again reckoned from the end point of the previous cut in rapid traverse retraction at the value specified at address E The above procedure is carried on as far as the bottom point specified at address Z 141 17 Canned Cycles for Drilling 17 1 2 Counter Tapping Cycle G74 74 G98 O74 G99 v Oei gt A Initial point i M4 Fig 17 1 2 1 This cycle can be used only with a spring tap The variables used in the cycle are G17 G74 X Y Z R P F L G18 G74 Z X Y R P F L G19 G74 Y Z X R P F L Prior to start the cycle the spindle has to be started or programmed to rotate in the direction of M4 counter clockwise The value of feed has to be specified in conformity with the thread pitch of the tapper In state G94 feed per minute F PS where P is the thread pitch in mm rev or inches rev S is the spindle speed in rpm n state G95 feed per revolution P P where P is the thread pitch in mnyrev or inches rev The operations of the cycle 1 rapid traverse positioning in the selected plane 2 z 3 rapid traverse movement as far as point R 4 s 5 drilling as far
54. 0 In the above block F120 means 120deg minute If the motion of a linear and a rotary axis is combined through linear interpolation the feed components will be distributed according to the above formula E g in block G91 G01 2100 B45 F120 Rotation rate 120 inin Slarlmg pomt 1 End point Fig 4 2 2 feed components in Z and B directions are 100 FE __120 109 4 feed al Z mm eed along axis 1002 45 min 2 45 feed along axis B Ey 120249 2 min ue LLL 4100745 Being a modal code GO1 is effective until rewritten by another interpolation command After power on G00 or GO1 is effective depending on the parameter value set in group CODES of the parameter field 23 4 The Interpolation 4 3 Circular and Spiral Interpolation G02 G03 G02 R G17 _ gt X Y 4 F E P Ae 5 G02 R G18 1 X 2 4 F E P ne z G02 R eio 882 yo 8 The series of instructions specify circular interpolation G03 A circular interpolation is accomplished in the plane selected by commands G17 G18 G19 in clockwise or counter clockwise direction with G02 or G03 respectively Fig 4 3 1 Here and hereinafter the meanings of X Yp and Z are X axis X or its parallel axis Y axis Y or its parallel axis Z axis Z or its parallel axis The values of X Y and Z are the end point coordinates of the circle in the given coordinate system specified as abso
55. 0 i e the tool is working inside the control will compute a point of intersection between the two interpolations If 180 i e the tool is moving around the outside it may add further straight sections Oritar ide Tuner side a 180 v gt 18o Fig 14 5 3 86 14 The Tool Compensation 14 5 1 Start up of Cutter Compensation After power on end of program or resetting to the beginning of the program the control will assume state G40 The offset vector will be deleted the path of the tool center will coincide with the programmed path Under instruction G41 or G42 the control will exit from state G40 to enter in radius compensation computation mode The value of compensation will be taken from the compensation cell D register State G41 or G42 will only be assumed in a block containing a linear interpolation G00 or G01 The control will return error message 3043 G41 G42 IN G2 G3 to any attempt to set up the compensation calculation in a circular interpolation G02 G03 The control will only choose the procedure of the start up of cutter compensation if G41 or G42 was commanded after G40 In other words the control will not adopt the start up procedure when the compensation is deleted with DOO and re activated with Dnn nn being a number other than 0 The basic instances of starting compensation up depending on the angle of at the corner of the two consecutive blocks and the type of interpolations linear to linear
56. 0 v 20 Indicating the location of the new local coordinate system in the X Y work coordinate system vector v v v Its components v 60 30 30 v 2404 20 60 The tool position in the X Y coordinate system will be X 90 Y 40 Instruction G90 G52 vO will delete the offset in on coordinates specified in v 60 9 Coordinate Systems Plane Selection The local coordinate system will be offset in each work coordinate system T oval coordinati system Local cocinar spsicm Origin of machine coordine sent Fig 9 3 2 Programming instruction G92 will delete the offsets produced by instruction G52 on the axes specified inG92 as if command G52 vO had been issued Whenever the tool is at point of X 200 Y 120 coordinates in the X Y work coordinate system instruction G52 X60 Y40 will shift its position to X 140 Y 80 in the X Y local coordinate system Now instruction G92 X110 Y40 will establish the tool position to X 110 Y A0 in the new X Y work coordinate system Thus the X Y local coordinate system will be deleted by command G92 as if Fig 9 3 3 command G52 X0 YO had been issued Toal positian L Note The offset of the local coordinate system will be deleted by execution of commands M2 M30 and or by resetting the program 9 4 Plane Selection G17 G18 G19 The plane in which circular interpolation specification of polar coordinate data rotation of c
57. 0 8 150 8 10 214 8 15 Output of data with PRNT 0 76543210 e X Space Space Space Space 3 zecd5 Decimal Point 8 gt sa Y Negative Sign Space Space gt 1 Aam 5 0 Decimal Point 8 0 ce T Space d uu 5 Line Feed LF oOoonmnbmpbnbnmnbmnu O t O t o C CC OI 00 CO QOO fo oOo co Fr Oo Oo oOo co O OO O a a Fe OFRPFPORPRFPRPRFRPOFRPEFPRODOOFRPRPHFPHPORPHEOTOCOFR Il oooooconmnomnooooconmnnononmnbn5noooooon CY PrP oo fF Oo cd OF Or CO CY CO LS C FP CO I gc cC c CO C cC loco OOO OO OY c OO CC C OR OS poc c c CO dO Q pD oocQdcoOdrmykrcdo OFRPRPRF FPO OrFPFrFO OOO DO OoOoOorRrrRrFRFOOrFROOC O t oO t 194 20 Custom Macro Data output at PRNT 1 76543210 11011000 X 0 0 Ll Q0 1 1 3 0 0 l0101 5 00101110 Decimal Point t Q0 1 1000 8 001 10 Q1 9 1 0 Li 0 l1 7 01011001 Y 00101101 Negative Sign 10110001 L 00110101 5 00110000 0 00101110 Decimal Point 1l OQ LX 10 00 938 00110000 0 00110000 0 l 1 0 0100 T 101 0001 00110101 5 00001010 Line Feed LF Closing a peripheral PCLOSn The peripheral opened with command POPEN has to be closed with command PCLOS Comman
58. 110 Y10 1150 J40 R50 Q 1 N40 X60 Y70 I100 J70 R40 Q1 N50 G1 X80 Y60 A135 Q1 N60 X10 Y108 A180 N70 G40 GO Y130 N80 X240 N90 M30 In the above example blocks N30 N40 N50 N60 are determined over Linear block N20 is not drawn to its programmed end point X170 Y50 because circular block N30 is defined over i e addresses I J R are all filled in and the intersection to be searched is given at address Q Nor circular block N30 is drawn to its programmed end point X110 Y10 for circular block N40 is also determined over The last block determined over in the program is the linear block N60 As the following linear block N70 is not defined over coordinates X10 Y108 programmed in block N60 are not referred to as an intersection point of the straight line but as end point coordinates of block N60 In general it is true that the coordinate points of linear and circular blocks determined over in the selected plane are only referred to by the control as end point coordinates if they are not followed by a block defined over 134 17 Canned Cycles for Drilling 17 Canned Cycles for Drilling A drilling cycle may be broken up into the following operations Operation 1 Positioning in the Selected Plane Operation 2 Operation After Positioning Operation 3 Movement in Rapid Traverse to Point R Operation 4 Operation in Point R Operation 5 Drilling Operation 6 Operation at the Bottom of the Hole Operation 7 Retraction to Po
59. 1115 1132 16 interface output signals can be issued one by one by assigning values to variables 1100 through 1115 Name of system variables Interface input with reference to th PLC program 1100 Y CONST 000 1101 Y CONST 001 1102 Y CONST 002 1103 Y CONST 003 1104 Y CONST 004 1105 Y CONST 005 1106 Y CONST 006 1107 Y CONST 007 1108 Y CONST 010 1109 Y CONST 011 1110 Y CONST 012 1111 Y CONST 013 1112 Y CONST 014 1113 Y CONST 015 1114 Y CONST 016 ILIS Y CONST 017 where CONST O_LINE 10 and O_LINE is a parameter Thus any arbitrary interface output word can be issued or read The values of the above variables may be O the contact at the output is open 1 the contact at the output is closed The above 16 outputs can be issued simultaneously by using variable 1132 Depending on the system variables assigned to the single outputs the output value will be 1132 1100 2 24 d 6 Accordingly with outputs 1102 and 1109 are on the rest of outputs being off variable 1132 must output the value 1132 1 2 1 2 516 176 20 Custom Macro Tool compensation values 10001 through 13999 The tool compensation values can be read from variables 10001 through 13999 or values can be assigned them No of compensation H D geometry wear geometry wear 1 10001 11001 12001 13001 2 10002 11002 12002 13002 999 10999 11999 12999 13999 177 20 Custom Macr
60. 19 by means of a coordinate of the selected plane and the angle given at address A c17 129091 Jp 4 qF G01 v a c18 12091 17 1 GOL x a o1 200 zl py G 1 Z p A In the above formulas Xp Yp Zp indicate X Y Z axes or those parallel to them while q represents an optional axis out of the selected plane Specification at address A can also be used beside codes GO and G1 The angle is measured from the first axis of the selected plane and the positive direction is counter clockwise Value A may be both positive or negative as well as greater than 360 or less than 360 120 16 Automatic Geometric Calculations G17 GIE z G19 Gi XA or IZ A or Gi Y A or Gir A C X A GIZA Fig 16 2 1 For exampl e G17 G90 GO X57 735 YO Gl G91 X100 A30 this specification is equivalent to X100 Y57 735 where 7 735 100Ag30 ARM Y100 A120 this specification is equivalent to X 57 735 Y100 where 57 735 100 tg120 X 100 A210 this specification is equivalent to X 100 Y 57 735 where 57 735 2 100Ag30 this specification is equivalent to X57 735 Y 100 where 57 735 2 100 tg120 Y 100 A300 Fig 16 2 2 L Note Straight line with angle together with chamfer or corner rounding can be defined in one block For example X100 A30 C5 Y100 A120 R10 X 100 A210 Angle specification at address A can also be applied in drilling cycles In this case it is acknowledged in the co
61. 2 G23 G52 G54 G59 or G92 is programmed in offset mode between two interpolation blocks the compensation vector will be deleted at the end point of the previous interpolation the command will be executed and the vector will be restored at the end point of the next interpolation If the previous or next interpolation is a circular one the control will return error message 3041 AFTER G2 G3 ILLEG BLOCK For example G91 G17 G41 N110 G1 X80 Y 50 N120 G92 X0 YO N130 X80 Y50 Fig 14 5 7 6 If command G53 is programmed in offset mode between two interpolations the compensation vector will be deleted at the end point of the previous block the positioning will be executed in G53 and the vector will be restored at the end point of the next interpolation other than G53 If the previous or next interpolation is a circular one the control will return error message 3047 AFTER G2 G3 ILLEG BLOCK For example G91 G17 G41 N110 G1 X80 v 50 N120 653 Y80 N130 653 YO N140 X80 Y50 Fig 14 5 7 7 103 14 The Tool Compensation If G28 or G30 is programmed followed by G29 between two blocks in offset mode the compensation vector will be deleted at the end point of the block it positions the tool to the intermediate point the tool will move to the reference point and the vector will be restored at the end point of the returning block G29 For example Reference potr G91 GL7 G41 N110 G1 X80 Y 50 Intermediate p
62. 2 also I J K coordinates defining the center of the arc are always interpreted by the control as absolute data G90 Of the two resulting intersections the one to be calculated by the control can be specified at address Q If the address value is less than zero Q 0 the nearer intersection in direction of the straight line is calculated while if the address value is greater than zero Q gt 0 the farther one in direction of the straight line is calculated The direction of movement along the straight line is determined by the angle 127 16 Automatic Geometric Calculations Let us see the following example 2342 Fig 16 3 2 3 09981 09982 N10 G17 G42 GO X100 Y20 DO S200 M3 N10 G17 G42 GO X100 Y20 DO S200 M3 N20 G1 x 30 Y 20 N20 Gl X 30 Y 20 N30 G3 X20 Y40 120 J 10 R50 Q 1 N30 G3 X20 Y40 120 J 10 R50 Q1 N40 G40 GO Y60 N40 G40 GO Y60 N50 X120 N50 X120 N60 M30 N60 M30 g EA Circular block N30 G3 is determined over for both the center coordinates I20 J 10 in absolute value and the circle radius R50 are specified the control calculates the intersection of the straight line given in block N20 and the circle given in block N30 In program 09981 the nearer intersection in direction of the straight line is calculated because Q 1 is given in circular block N30 Linear circular intersection calculation can also be combined with chamfering or rounding specification E g 09983 N10 G17 G42 G0 X100 Y20 DO S200 M3
63. 3 2250 H15 G43 W310 H16 When several axes are selected in a block the tool length compensation will be taken into account for each axis selected G44 X120 2250 H27 When the composition value is altered by calling a new H address the previous one will be deleted and the new value will be effective H1 10 H2 20 G90 G00 G43 Z100 H1 moving to Z 110 G43 2100 HZ moving to 2 120 The effects of G43 and G44 are modal until another command is received from that group Command G49 or H00 will cancel the tool length compensation in each axis with motion or with transformation if a movement has been programmed in the block or not respectively The difference between the two commands is that HOO will delete the compensation only leaving state G43 or G44 unaffected If a reference is made afterwards to an address H other than zero the new tool length compensation will be set up as the function of state G43 or G44 79 14 The Tool Compensation If however instruction G49 is used any reference to address H will be ineffective until G43 or G44 is programmed At power on the value defined in parameter group CODES decides which code is effective G43 G44 G49 The example below presents a simple drilling operation with tool length compensation taken into account length of drilling tool H1 400 z 2224 awe WN HF z N6 14 4 Tool Offset G45 G48 80 G90 GO X500 Y600 G43 2410 H1
64. 4 8 82 14 The Tool Compensation NC command G45 XIO D1 G46 XIO D1 G45 XI 0 D1 G46 XI 0 D1 A tool radius compensation applied with one of codes G45 G48 is also applicable with 1 4 and 34 circles provided the centers of the circles are specified at address I J or K An example D1 10 G91 G46 GO X40 Y40 D1 N7 G47 G1 Y100 F180 poe v G47 X40 Y 40 G48 X60 Y40 G47 X20 G45 Y 0 G46 G3 X40 Y 40 140 G45 G1 XO G45 Y 20 G45 G2 X 40 Y 40 I 40 G45 G1 X 120 G46 GO X 40 Y 40 cO 10 001 45 WN 2 PPrRPRP oOo WN RE o n Ds 83 14 The Tool Compensation 14 5 Cutter Compensation G38 G39 G40 G41 G42 To be able to mill the contour of a two dimensional workpiece and to specify the points of that formation as per the drawing in the program regardless of the size of the tool employed the control must guide the tool center parallel to the programmed contour spaced by a tool radius from the latter The control will determine the distance between the path of the tool center and the programmed contour in accordance with the compensation value of the tool radius referred to by compensation number D The compensation vector is a two dimensional vector computed over Fis 145 1 and over again by the control in each block modifying the programmed displacements with the compensation vectors effective at the beginning and end of each block The length and direction of each compensation vector obtained v
65. 4 are reversed for special calls 20 11 Variables of the Programming Language Variables instead of specific numerical values can be assigned to the addresses in the main programs subprograms and macros A value can be assigned to each variable within the permissible range The use of variables will make for much more flexible procedures of programming The appropriate data can be parametrized by the use of common variables in the main programs and subprograms thus it will not be necessary to write new programs for similar work parts of different size Instead the operator can change to new part of different size by re writing the appropriate common variables The use of variables can make a macro much more flexible than a conventional subprogram Whereas arguments cannot be transferred to a subprogram arguments can be attached to a macro through the local variables 20 11 1 Identification of a Variable A number of variables can be used and each will be identified by its number A variable is composed of the code and a number For example 12 138 5106 A formula may also be used to make reference to variable lt formula gt For example 120 means that variable 120 contains the serial number of variable that is referred to 120 4 means that the referred variable number is obtained by subtracting 4 from the number contained in the variable 20 11 2 Referring to a variable The various addresses in the words of a progr
66. 46 63 81 CORNANGLE 50 CORNOVER sss 51 CUTTING cuaesvir bes owess 175 BECDISE iso 444s ROO Ed 51 DELEV iil12 s 3 49 dd bad 107 DOMCONST 6 113 EXTER eeds atacan ua eee 158 EEED ii collate e Rus 46 G 90In eseeeeee 164 G3IFD lleleseseeeess 155 GOTBDCS us odpezi bud eR 156 HELICALF 0 28 I LINE esses 172 173 INDEX C1 ess 67 INDEXI eeeeees 67 145 INPS A oo becsdeed data ose 22 INTERFER 108 LIMP2n ike Res 158 M 9001 0 0 0 eee ee 165 M 9020 0 0 cece ees 165 M NUMB1 0 050 67 MDY ico eS eee EIS ee EHS i 192 MDO 5 a Rhe das 192 MODGEOU 41522 zie RC 164 MULBUF 00050 21 O LINE ceres caen a ES E eS 173 ORIENT 2240554 66 140 150 151 POSCHECK ess 22 PRN P scie eb ad 189 PRTCNTM esses 72 177 PRTREQRD 177 PRITOTAL eR S 177 RAD xe rte MEME 79 RADDIF esses 26 RAPBPDIST 25i eR RReewS 156 157 RAPID6 een 67 REEPOS os RR Re 54 REIGT3 2 29 RR 135 138 5 9033 rz oki i ob ids Gi ae Ya 166 SECOND ipe shaw aS 52 SKIPE 60 5 sows Rp REPRE 155 STRKEG 0 0 00 158 T 9034 2 nes 166 TAPDWELL 139 144 TEST FBED kie RR eee 30 WRPROTI sssss 171 Part Program Lu 950084 ere RE REA 9 plane x 2i4dde e x
67. 8 G19 illlllslleeeeeee es 62 10 The Spindle Function 0 00 000 cece I 64 10 1 Spindle Speed Command code 5 0 0 cee eee tees 64 10 2 Programming of Constant Surface Speed Control 0 0 00 eee eee 64 10 2 1Constant Surface Speed Control Command G96 G97 0 00008 65 10 2 2 Constant Surface Speed Clamp G92 2 0 eee eee eee eee 65 10 2 3 Selecting an Axis for Constant Surface Speed Control 4 66 10 3 Spindle Position Feedback scusa RR ERRARE RR RED ERRARE 66 10 4 Oriented Spindle Stop uueciocquexR erReiectkRet bceceReeB ertRe teees4heihPe 66 10 5 Spindle Positioning Indexing 2 0 0 0 cece nets 67 10 6 Spindle Speed Fluctuation Detection G25 G26 0 eee eee eee 67 11 Tool F netion nu rsdenerk sESEENA ECKE RRER RARREREERESAAPERSXE 42 ERR E sa PEERS 70 11 1 Tool Select Command Code D idi isua aes eae oed rM A CR xe Pera 70 11 2 Program Format for Tool Number Programming 0 000 e eee eee ee 70 12 Miscellaneous and Auxiliary Functions auauna aaae 12 12 1 Miscellaneous Functions Codes M 00 ccc eee eee eens 72 12 2 Auxiliary Function Codes A B C 2 2 0 ccc eee eens 73 12 3 Sequence of Execution of Various Functions 0 0 00 c eee eee eee ee 73 13 Part Program Configuration llillillel elle 74 13 1 Sequence Number Address N 4 34 eescme xo Rer E XRPOES4 AX her Ies k
68. F RANGE The latter occurs only when the touch probe signal arrives outside of the ALADIST range specified on parameter of the predicted position q If the measurement is completed successfully q predic cd measurement pesilion Q actual position where oroke signal was input Fig 18 2 1 159 18 Measurement Functions and 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 if parameter ADD 1 or will subtract the difference from it if parameter ADD 0 The appropriate H value and the length compensation have to be set up prior to commencement of the measurement G37 is a single shot instruction Cycle G37 will be executed invariably in the coordinate system of the current workpiece Parameters RAPDIST and ALADIST are always positive values The condition RAPDIST gt ALADIST must be fulfilled for the two parameters Error message 3051 G22 G28 G31 G37 will be returned in the case of a syntactic error Code G referring to a length compensation G43 G44 G49 cannot be specified in block G37 or else error message 3055 G37 IN INCORRECT STATE is returned Again the same error message is returned when state G51 G51 1 G68 or G16 is in effect The following error message will be returned during the execution of function G37 Message 3103 OUT OF RANGE is returned i
69. NCT 99M NCT 2000M Controls for Milling Machines and Machining Centers Programmer s Manual Manufactured by NCT Automation kft H1148 Budapest Fogarasi t 7 Address H1631 Bp pf 26 F Phone 36 1 467 63 00 F Fax 436 1 363 6605 E mail nct nct hu Home Page www nct hu Contents I Iutcod cti n 22i dst RETRO RET RE WR unte REG ERG Qu Pere IS EAE eke El l t Th Part Prostam Vo eiae e ewe eco RO te d air e RR A ted neue eye 9 Word Raper rene nme ew DP PCE re CCS LD LTEM 9 Address Chait es acne ded spc be Gated eB d e exe Dae ee Apel Oe erexit 9 ii ec Ge oOo ew EE Oe ee ed E Ee 10 Program Number and Program Name 00 e eee eee ee eee ee 10 Beginning of Program End of Program 10 Program Format in the Memory 0 cece cece eee eens 10 Program Format in Communications with External Devices lesse 10 Main Program and Sub program 0 0 eee ene eee 10 DNC Channel 49 RR ob DES CDU RR eae be ee 11 1 2 Fundamental Terms 2 00 lassa esie e RR eee eee eee be ERR 12 2 Controlled Axes sss RR RR RR RR s 17 2 1 Names OL ARCS cicero bate sem ure iie crasso gabe iile dte dis dee Quake tile de P Cw 17 2 2 Unit and Increment System of Axes 0 0 0 cee eee ee 17 3 Preparatory Functions G codes 0 0 00 c ccc cette ees 19 A The Interpolation 12 uc ed x orae SO OS RHE DE Oe ed Vo c MU da See Ned 22 4 1 Positioning G00 24 2 oE ak E ooh eR ORR EXER HEREERCeRPA
70. Oh instead of The values of variables will be output by the control in 4 bytes i e in 32 bits beginning with the most significant byte The number of variables must be followed by the number of digits behind the decimal point in square brackets Now the control will convert the floating point value ofthe variable into a fixed point one in which the number of significant decimal digits are equal to the value put in square brackets The possible values of c are 1 2 8 If e g 120 258 647673 and 3 S Q 258648 0003F258h will be output A vacant variable will be output with binary code 00000000h At the end of a data output the control will automatically output a LineFeed character For example BPRNT 110 318 49362 120 0 723415 112 23 9 C X 110 3 Y 120 Characters to be output are j Qe Q Ovi G S OF OO OOO Over Boe 6 O Q O O O FP rPoOoOOoOOoO ror OO FOO F 5 OOO QUO O OO OO OOo Od Orto 4 CeOCH ooccoconmnnococconmiTPLi oomnmcoocosoco 3 Ege cmo uc OOOO PP oOo Reo oc 2 DO 0 coc FO 0 OO OC OF FP FPO OF o co 1 0 Poo Q Q O FPF OO OF OO 0 0 OF m oo QO O 0 FPF oO FF CGO O O C LL CO HF Space 7 AO sO CDo0o0OnKrFPUCORM CONO Oo 3 M 112 0 318494 0004DC1Eh 723 000002D3h 24 00000018h Line Feed Decimal data output DPRNT DPRNT a b cd Doo Number of digits behind the decimal point
71. REESE E RE 62 Plane Selection 56 62 Point R 2 ee 132 position feedback 66 position indication 60 61 Position information 178 Position of hole 0 134 positioning plane 132 Preparatory Functions 12 Program Format 10 169 Program Name lessen 10 Program Number 4 4 cosa PX 10 programmed stop 4 T4 PROM sexe ec RE RUE d 193 Reference Point 12 53 54 Index in Alphabetical Order Retract 0 0 0 0 ee eee 132 retraction 00 eee ee eee 135 rotary table oiu o ods oy dreht 60 rotational axis lssssss 23 i 7 2 Ogi nae eee ae eae wee eer ll Safety Functions 158 scaling 24ci 24heeehbeucava dees bax 39 Increment System 116 Sequence of Execution 73 Spindle 15 46 64 72 73 Orientation lese 66 OVetrlde cs ciui 30 50 range changes qooesexertr Bexr EE 72 STOP Loue saredibacr oes eds 154 192 conditional 0005 72 IDBIDIU Loy oud ee dere ev ERES 45 programmed 2 ceed ix eR RR T4 SWICHOR Vd de he C ARI D RIEN RATS 49 STOP Sale es essceEpa sk mg ros 150 152 Sub program ess 10 74 subprogram 1 e RR e 72 102 System Variables 1 Three dimensional Tool Compensation T N TAE A 112 Tool
72. TORESESART Goh end Roe 22 4 2 Linear Interpolation DOT ccs Ro iR RR PE nO AR ELE RETRPCIR E T ae 4 3 Circular and Spiral Interpolation 02 G03 0 2 eee eee 24 4 4 Helical Interpolation 02 G03 1 eee eee nee 27 4 5 Equal Lead Thread Cutting G33 1 esse o ees br e REERR E RRE TE eR 29 4 6 Polar Coordinate Interpolation G12 1 G13 1 21 2 eee 31 4 7 Cylindrical Interpolation G7 1 2 2 tee een eee 35 5 The Coordinate Data oc od ios ones ae 625246 dN PrX T REPRE UE RENT N n 38 5 1 Absolute and Incremental Programming G90 G91 Operator I 38 5 2 Polar Coordinates Data Command G15 G16 0 ne 38 5 3 Inch Metric Conversion G20 G21 llllsleeeeeeeee es 40 5 4 Specification and Value Range of Coordinate Data 0 0 0 0 eee ee eee 40 5 5 Rotary Axis Roll over uus 66 449 ewe te ant e Rs ee aca a eg C RE eh yee EN 41 6 The Feed o 250 62 cee tae ciao a a da phone a e Cae the kee E eee ds 45 Du F edintapid IBRVOIS lt gt sees dabei Rb oye ae dad abe suia M RAE dade side s 45 6 2 Cutting Feed Kale sor isees bur bP ex BOTAS Ser her roa Pe RI ex PORE qx AS TE 45 6 2 1 Feed per Minute G94 and Feed per Revolution G95 000 46 6 2 2 Clamping the Cutting Feed 0 eee ene 47 6 3 Automatic Acceleration Deceleration 0 cece eens 48 6 4 Feed Control Functions 0 eee RR RR as 49 6 4 1 Exact Stop G09 4 iussi sara dL EX RE AIR EA dU RARO
73. The difference between them is that whereas the machining is completed after execution of the main program the control is awaiting another START while after execution of the subprogram it will return to the calling program resuming the machining process at that point In terms of programming technique the difference between the two programs lies in the way of terminating the program The end of the main program is specified with codes M02 or M30 not mandatory ones whereas the sub program must be terminated with code M99 13 3 1 Calling the Sub program The series of instructions M98 P will generate a subprogram call As a result the execution of the program will be resumed at the subprogram the number of which is defined at address P The limit of address P are 1 to 9999 After the execution of the sub program machining will be continued in the main program with the block following the subprogram call 73 13 Part Program Configuration main program subprogram comment 00010 execution of main Pics dae program 00010 M98 P0011 gt 00011 calling sub program 00011 TIS execution of sub m program O0011 next block lt M99 return to the calling program resumption of program 00010 The series of instructions M98 P L will call the subprogram specified at address P repeteatedly in succession specified at address L The limit of address L is 1 to 9999 Unless L is assigned a value the sub program will be called o
74. Tool Offset G40 G41 G42 112 14 6 2 The Three dimensional Offset Vector 000000 000 cece eee eee eee 113 15 Special Transformations 0 00 00 000 cc IRI 115 15 1 Coordinate System Rotation G68 G69 6 eee 115 15 2 Scaling 6130 G51 25 3d pa 4c ere HUE UE e ACH Ie le tener ae Mc d 116 15 3 Programmable Mirror Image 50 1 G51 1 llslleleeeeeeeeeesss 117 15 4 Rules of Programming Special Transformations 0 0 cece eee eee ee 118 16 Automatic Geometric Calculations usesss RI 120 16 1 Programming Chamfer and Comer Round ilseeeleleeeeeeeue 120 16 2 Specifying Straight Line with Angle 20 0 0c eee ene 121 16 3 Intersection Calculations in the Selected Plane 0 0 0 cece eee eee 133 16 3 1 Linear linear Intersection ononon 00000 cece eee eee eee eee 123 16 3 2 Linear circular Intersection 4 isses ok rhe ER RR ERERR ER ER 125 16 3 3 Circular linear Intersection llle 127 16 3 4 Circular circular Intersection 1 llle RR RII 129 16 3 5 Chaining of Intersection Calculations lleleleeeeeeeese 131 17 Canned Cycles for Drilling 0 0 0 0 0 000 ccc cette nee 132 17 1 Detailed Description of Canned Cycles 0 0 cece eee 138 17 1 1 High Speed Peck Drilling Cycle G73 02 ee eee eee eee 138 17 1 2 Counter Tapping Cycle G74 0 0 52d0246 wees ero n reus 139 17 1 3 Fine Boring Cycle 070 o s x
75. Y200 intermediate point X 100 Y 200 52 8 The Reference Point 8 2 Automatic return to reference points 2nd 3rd 4th G30 Series of instructions G30 v P will send the axes of coordinates defined at the addresses of vector v to the reference point defined at address P Pl reference point 1 P2 reference point 2 P3 reference point 3 P4 reference point 4 The reference points are special positions defined by parameters REFPOS 1 REFPOS4 in the coordinate system of the machine tool used for change positions e g positions of tool change or palette change The first reference point is invariably the position of the machine s reference point i e the point to which the control moves when returning to the reference point The instruction is only applicable after the machine s reference point has been returned The movement consists of two parts First it will move by a linear motion to the intermediate coordinates defined by vector v with rapid traverse The specified coordinates may be absolute or incremental values The movement is carried out invariably in the current coordinate system When the end point of linear movement is reached the cutter compensation vector will be deleted The coordinates of the intermediate point will be stored in the current coordinate system for the axes defined by vector v Stored in this way the coordinates will overwrite those stored in instruction G28 In the second phase the axes defined by vec
76. a block with the restriction that only one of the same function group may used Reference to an illegal G code or specification of several G codes belonging to the same group within a particular block will produce error message 3005 ILLEGAL G CODE 21 4 The Interpolation 4 The Interpolation 4 1 Positioning G00 The series of instructions G00 v refers to a positioning in the current coordinate system It moves to the coordinate v Designation v vector refers here and hereinafter to all controlled axes used on the machine tool They may be X Y Z U V W A B C The positioning is accomplished along a straight line involving the simultaneous movements of all axes specified in the block The coordinates may be absolute or incremental data The speed of positioning cannot be commanded in the program because it is accomplished with different values for each axis set by the builder of machine tool as a parameter When several axes are being moved at a time the vectorial resultant of speed is computed by the control system in such a way that positioning is completed in a minimum interval of time and the speed will not exceed anywhere the rapid traverse parameter set for each axis Starting point In executing the G00 instruction the control system Fig 4 1 1 performs acceleration and declaration in starting and ending the movements respectively On completion of the movement the control will check the in position signal w
77. a will be output as rounded values 40 5 The Coordinate Data The value ranges of the length coordinates are shown in the Table below system coordinates measure s0001 39970078 IS A 0 001 39370 078 0 0001 3937 0078 0 00001 393 70078 0 001 99999 999 0 0001 9999 9999 0 00001 999 99999 0 01 999999 99 0 001 99999 999 mm 0 0001 9999 9999 The value ranges of angular coordinates value range of angular coordinates 0 01 999999 99 degrees 0 001 99999 999 0 0001 9999 9999 5 5 Rotary Axis Roll over This function can be used in case of rotary axes i e if address A B or C is selected for operating rotary axis Handling of roll over means that the position on the given axis is not registered between plus and minus infinity but regarding the periodicity of the axis e g between 0 and 360 Selecting rotary axis The selection can be executed by setting parameter 0182 A ROTARY 0185 B ROTARY or 0188 C ROTARY to 1 for axes A B or C respectively If among these parameters one is set to 1 the control does not execute inch metric conversion for the appropriate axis roll over function can be enabled for that axis by setting the appropriate parameter ROLLOVEN to 1 41 5 The Coordinate Data Enabling the handling of roll over The function is affected by setting parameter 0241 ROLLOVEN_A 0242 ROLLOVEN_B or 0243 ROLLOVEN C to 1 for axes A B or C respectively provided th
78. able i will assume the binary value of variable j The value range of variable j is 0 to 99999999 Discard fractions less than 1 i FIX j The code of the function is FIX This operation will discard the fraction of variable j and that value will be put in variable ffi For example 130 FIX 4 8 4 131 FIX 6 7 6 Add 1 for fractions less than 1 i FUP j The code of the function is FUP This operation will discard the fraction of variable j and will add 1 to j in absolute value For example 4130 FUP 12 1 13 4131 FUP 7 3 8 187 20 Custom Macro Complex Arithmetic Operations Sequence of Execution The above mentioned arithmetic operations and functions can be combined The sequence of executing the operations or the precedence rule is function multiplicative operations additive operations For example 110 111 112 COS 113 1 2 Sequence of operations Modifying the Sequence of execution The sequence of executing the operations can be modified by the use of brackets and Brackets can be nested in 5 levels The control will return error message 3064 BAD MACRO STATEMENT if a depth over 5 levels is found in the program Example of brackets nested in 3 levels 120 COS 121 4122 4123 125 126 1 y 2 3 5 The numbers refer to the sequence of executing the operations Clearly the above mentioned rule of precedence is appl
79. able to follow the path commanded by the control system Now the Aenal tool will round the corner more or less tool paih depending on the feed If the workpiece requires sharp corners the Fig 6 4 1 control must be specified to slow down at the end of block wait until the axes come to a halt and start the next movement only afterwards 6 4 1 Exact Stop G09 Not being a modal function G09 will be effective only in the block in which it has been programmed At the end of the block it has been specified the control will slow down after execution of the interpolation and will wait for the in position signal Unless that signal arrives in 5 seconds the control will return a message 7020 POSITION ERROR That function can be used for exact machining sharp corners 6 4 2 Exact Stop Mode G61 Modal function canceled with G62 G63 or G64 command The control system will slow on completion of each interpolation and wait for the in position signal It will start the next interpolation cycle only afterwards Unless that signal arrives in 5 seconds the control will return a message 7020 POSITION ERROR 48 6 The Feed 6 4 3 Continuous Cutting Mode G64 Modal function The control will assume that state after power on It will be canceled by codes G61 G62 or G63 In this mode the movement will not come to a halt on the completion of the interpolation the slides will not slow down Instead the interpolation of the next blo
80. achine tool that is usually defined by the Origin of machine machine tool builder The control will define the coordinale system machine coordinate system at the time of returning to the reference point Once the machine coordinate system has been defined it will not be altered by the change of the work coordinate system G54 G59 or by other coordinate transformation G52 G92 only by a power off of the control system Reference peii at D position of reference point m machine coordinate sysiem Fig 9 1 1 55 9 Coordinate Systems Plane Selection 9 1 1 Setting the Machine Coordinate system After a reference point return the machine coordinate system can be set in parameters The distance of the reference point calculated from the origin of the machine coordinate system has to be written for the parameter 9 1 2 Positioning in the Machine Coordinate System G53 Instruction G53 v will 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 coordinates operator I is ineffective when put behind the address of a coordinate similar to instruction G00 the movements are performed in rapid traverse the positioning is carried out invariably with the selected tool length compensations taken into account A G53 instruction can be executed after a reference point return only G53 is a one shot command eff
81. aining a definition substitution instruction i 195 20 Custom Macro 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 Instructions in Time The macro blocks can be executed by the control parallel to NC blocks or in consecutive order Parameter SBSTM determines the execution of NC and macro blocks If the parameter 0 NC and macro blocks are executed in the order written in the program 1 macro statements are executed in the course of NC block execution 196 Example SBSTM 0 01000 N10 4100 50 N20 4101 100 N30 G1 X 100 Y 101 N40 4100 60 definition after N30 N50 1101 120 definition after N30 N60 G1 X4100 Y 101 Definition commands in blocks N40 and N50 are executed after the movement of block N30 Macte command N10 NSO NC command A Fig 20 15 1 L Conclusions program execution is slower if execution of block N30 is interrupted and afterwards the machining is restarted the machining can be simply continued since variables of block N30 are not overwritten by block N40 N50 20 Custom Macro SBSTM 1 01000 N10 100 50 N20 101 100 N30 G1 X 100 Y 101 N40 100 60 definition during N30 N50 101 120 definition during N30 N60 G1 X 100 Y 101 Defi
82. aint Endpoint Slarling point Fig 14 4 3 Fig 14 4 4 With G46 programmed decrease by the offset value a movement command 20 cases b c d are similar to G45 compensation 5 Starting point End point 81 14 The Tool Compensation With G47 programmed double increase by the offset value a movement command 20 cases b c d are similar to G45 compensation 5 Starting point End point With G48 programmed double decrease by the offset value a movement command 20 cases b c d are similar to G45 compensation 5 Starting point End point Fig 14 4 7 If after command G45 G48 movement commands are issued for several axes in the block the resultant compensation will be effective in each programmed axis separately with the value specified at D non vectorially generated If e g D1230 command G91 G45 G1 X100 Y40 DI will produce displacements of x 130 y 70 The resultant compensations cannot be deleted with a common G command e g G49 for Real path length compensation or by programming DOO only with a command G45 G48 of opposite meaning In the use of G45 G48 only one D code may be applied or else the control will return the error message 3008 ERRONEOUS G45 G48 If an incremental 0 displacement is programmed 100 together with one of commands G45 G48 a sign preceding the O will also be interpreted by the control as follows if D1z12 Offset Programmed path Fig 14
83. alent to the following two blocks 199 t Gg Xx Yy M98 P9034 The value assigned to address T will be transferred as an argument to common variable 199 If reference is made to address T again in the subprogram started upon code T the subprogram will not be called over again but the value of address T will be transferred already to the PLC If a user call of G M S A B C is made in the subprogram FGMAC2 0 not enabled executed as an ordinary codes M S G FGMAC 1 enabled i e a new call is generated 20 7 Subprogram Call with S Code With parameter S 9033 1 set the value of S written in the program will not be transferred to the PLC instead the call of subprogram 09033 will be initiated by the S code Now block Gg Xx Yy Ss is equivalent to the following two blocks 198 s Gg Xx Yy M98 P9033 The value assigned to address S will be transferred as an argument to common variable 198 If reference is made to address S again in the subprogram started by S code the subprogram will not be called again but the value of the address will be transferred already to the PLC If a user call of G M T A B C is made in the subprogram FGMAC 0 not enabled executed as an ordinary codes M S G FGMAC 1 enabled i e a new call is generated 20 8 Subprogram Call with A B C Codes If address A B or C is defined as an auxiliary function by parameters 1493 A MISCEL 1 1496 B MISCEL 1 or 1499 C MISCEL 1 and parameter A 9030 1 or
84. am block can assume values of variables as well as numerical values The minus sign or operator I can wherever it is permissible with numerical values be used even when a reference is made to a variable after an address For example G 102 if 102 1 0 this reference is equivalent to G1 XI ADA if 24 135 342 this reference is equivalent to XI 135 342 172 20 Custom Macro Referring to program number O block number N or conditional block by a variable is not permissible 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 variable i e 120 is not permissible The correct specification is 120 If the variable is used behind an address its value may not exceed the range of values permissible for the particular address If e g 112 5630 reference M 112 will produce an error message If the variable is used behind an address its value will be rounded to a significant digit corresponding to the address For example M 112 willbe M1 for 112 1 23 M 112 willbe M2 for 112 1 6 20 11 3 Vacant Variables A variable that has not been referred to undefined is vacant Variable 0 is used for a variable that is always vacant 0 lt vacant gt 20 11 4 Numerical Format of Variables Each variable is represented by 32 bits of mantissa and 8 bits of characteristic variable M 2 Representation of a vacant va
85. ances of offset mode If zero displacement is programmed or such is obtained in the selected plane in a block in offset mode a perpendicular vector will be positioned to the end point of the previous interpolation the length of the vector will be equal to the radius compensation Instances of this kind should be handled with caution because of the hazards of inadvertent undercutting or distortions in the case of a circle For example VIBO G91 G17 G42 N110 G1 X40 Y50 N120 XO N130 x90 N140 X50 Y 20 Fig 14 5 2 5 93 14 The Tool Compensation 14 5 3 Canceling of Offset Mode Command G40 will cancel the computation of tool radius compensation Such a command can be issued with linear interpolation only The control will return error message 3042 G40 IN G2 G3 to any attempt to program G40 in a circular interpolation Basic instances of canceling offset mode G42 G42 G01 X_Y_ G02 X_ Y R G40 X_ Y G40 G1 X_Y_ Going around an inside corner 180 360 Linear to linear Circular to linear Fig 14 5 3 1 Going around the outside of a corner at an obtuse angle 90 32180 Linear fo linear Circular to linear l S Intersection L Fig 14 5 3 2 94 14 The Tool Compensation Going around the outside of a corner at an acute angle 0 90 Linear to linear Circular to linear Fig 14 5 3 3 Special instances of canceling offset mode If values are assigned to I J
86. and WRPROT2 540 20 12 3 System Variables The system variables are fixed ones providing information about the states of the system Interface input signals 1000 1015 1032 16 interface input signals can be determined one by one by reading the system variables 1000 through 1015 Name of system variables Interface input with reference to th PLC program 1000 I CONST 000 1001 I CONST 001 1002 I CONST 002 1003 I CONST 003 1004 I CONST 004 1005 I CONST 005 1006 I CONST 006 1007 I CONST 007 1008 I CONST 010 1009 I CONST 011 1010 I CONST 012 1011 I CONST 013 1012 I CONST 4 4 1013 I CONST 015 1014 I CONST 4 6 1015 I CONST 017 where CONST I LINE 10 and LINE is a parameter Thus any arbitrary interface input can be read The values of the above variables are O if the contact at the input is open 1 if the contact at the input is closed The above 16 inputs can be read simultaneously at variable 1032 Depending on the system variables assigned to the one by one reading the value will be 41032 Y 4 100072 27 dio Accordingly with 24V applied to inputs 1002 and 1010 the rest of inputs being open the value of variable 1032 will be 1032 1 2 1 2 1028 The variables of the interface inputs are read only ones and may not be used on the left side of a definition instruction 175 20 Custom Macro Interface output signals 1100
87. and the common offset thereof with program instructions This is accomplished with instruction G10 v L2 Pp where p 0 sets the common offset p 1 6 selecting work coordinate system 1 6 v Offset for each axis The coordinate data are entered invariably as rectangular Cartesian absolute values G10 is a one shot non modal instruction 9 2 4 Creating a New Work Coordinate System G92 Instruction G92 v will establish a new work coordinate system in such a way that coordinate point v of the new system will be a selected point e g the tool s tip if a length compensation is programmed or the base point of the tool holder in lack of a length compensation Afterwards any additional absolute command will refer to that new work coordinate system and the positions will also be displayed in that coordinate system The coordinates specified in command G92 will always be interpreted as rectangular absolute values 58 9 Coordinate Systems Plane Selection If e g the tool is at a point of X 150 Y 100 coordinates in the actual current X Y work coordinate system instruction G92 X90 Y60 Toal pasition will create a new X Y coordinate system in which the tool will be set to the point of X 90 Y 260 coordinates The axial components of offset vector v between coordinate systems X Y and X Y are v 150 90 60 and v 100 60 40 Ll 1g Zet Command G92 will prevail in each of the six work coordinate sy
88. and the message in round brackets and the code 5nnn will be displayed on the screen The code is the sum of the number specified on the variable and 5000 If no number was specified code 5000 would be displayed ifno text was specified message field would be empty The execution of the program is resumed upon depression of the START button then the message is cleared from the screen The message may not be longer than 25 characters This instruction is useful whenever the operator s intervention is needed during the execution of the program Mirror image status 3007 By reading variable 3007 the operator can establish the particular physical axis on which mirror image command is recorded This variable is a read only one The value of the variable is interpreted in binary terms as follows E GOL CL MEN Axis 1 Axis 2 504 32 L0 989 76543210 Axis 3 Axis 8 180 20 Custom Macro The bits have the following meanings 0 no mirror imaging 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 a physical axis the parameter defining the particular name of axis pertaining to a physical axis number Number of machined parts number of parts to be machined 3901 3902 The numbers of machined parts are collected in counter 3901 by the control The contents of the counter will be incremented by 1 upon the execution of each function M02 M30 or selected M fun
89. ansfer of arguments The matches between the addresses of arguments and the local variables are contained in the Table in the Section describing the procedure of a simple macro call G65 The local variable whose address has not been involved in the argument assignment is a vacant one that can be used optionally 20 12 2 Common Variables 100 through 199 500 through 599 Unlike the local variables the common variables are identical throughout the entire program not only at the given levels of program calls regardless of whether they are in the main program a subprogram or in a macro or at whatever level of the macro If accordingly i has been used in a macro e g a value has been assigned to it i will have the same value in another macro too until it is re written The common variables can be used absolutely freely in the system they have no distinguished functions at all The common variables from 100 to 199 will be deleted upon a power off The values of common variables 500 through 599 will be preserved even after a power off The macro variables 500 through 599 can be made write protected by the use of parameters WRPROTI and WRPROT2 The number of the first and the last element of the block to be 174 20 Custom Macro protected will be written to parameters WRPROT and WRPROT2 respectively If e g the variables 530 through 540 are to be protected the respective parameters have to be set as WRPROTI1I 530
90. ary with the compensation value called at address D and the geometry of the transition between the two blocks The compensation vectors are computed in the plane selected by instructions G17 G18 G19 This is the plane of cutter compensation Movements outside of this plane are not influenced by compensation If e g plane X Y is selected in state G17 the compensation vectors will be computed in that plane In this case any movement in Z direction it will be unaffected by the compensation The compensation plane may not be changed while a tool radius compensation is being computed Any attempt to do so will result in an error message 3010 PLANE SELECT IN G41 G42 by the control If a compensation plane is to be defined with additional axes they have to be defined as parallel ones in parameters If e g U is assumed as a parallel axis and the tool radius compensation is to be applied in plane Z U that plane can be selected by the specification of G18 U Z G40 Cutter compensation cancel G41 Cutter compensation left G42 Cutter compensation right Command G41 or G42 will set up the compensation computation In state G41 or G42 the programmed contours will be tracked from left side or right side seen from the travel direction respectively The compensation number of tool radii has to be specified at address D The specification of DOO is always equivalent to calling zero radius value The Path of tool center vi Compensation vector
91. ated An M code selected by parameters to initiate a macro call may be preceded only by and address N in the block A block containing a macro call initiated by M code may include a single M code only Set of arguments No 1 ABCDEFGHIJKLPQRSTUVWXYZ Set of arguments No 2 also can be used with function M 20 5 Subprogram Call with M Code Maximum 10 M codes can be selected by parameters by which subprogram calls can be initiated Now instead of instruction Nn Gg Xx Yy M98 Pp can be specified Nn Gg Xx Yy Mm Now the selected M code will not be transferred to the PLC instead the respective subprogram will be called The particular program number to be called by M code can be selected by the following parameters M 9000 code M calling program O9000 M 9001 code M calling program O9001 M 9009 code M calling program O9009 If reference is made to the same M code again in the subprogram the latter will not call the subprogram again but M code will be transferred to the PLC If a user call G S T A B C or some other user call M is made in the subprogram FGMAC 0 not enabled executed as an ordinary codes M S G FGMAC 1 enabled i e a new call will be generated 168 20 Custom Macro 20 6 Subprogram Call with T Code With parameter T 9034 1 set the value of T written in the program will not be transferred to the PLC instead the T code will initiate the call of subprogram No 09034 Now block Gg Xx Yy Tt will be equiv
92. ated can be specified by means of command G96 P Interpretation of address P Pl X P2 Y P3 Z P4 U P5 V P6 W P7 A P8 B P9 C The value set at address P is modal After power on the control activates constant surface speed control to the axis set at parameter AXIS 10 3 Spindle Position Feedback In normal machining the NC will issue a speed command to the power amplifier of the spindle proportional to the programmed speed value specified at address S Now this amplifier will be working in speed control mode Some technological tasks may however require the spindle to be brought to a particular angular position This is referred to as spindle positioning or indexing Prior to positioning the NC will set the power amplifier of the spindle to position controlled mode In practice this means that the NC will not issue a speed command proportional to code S any more instead it will measure the position of the spindle by the use of an encoder mounted on the spindle and will issue a command to the servo amplifier in accordance with the desired angular displacement similar to the rest of controlled axes This is the position feedback To be able to position the spindle on a particular machine an encoder has to be mounted on the spindle and the power amplifier of the spindle must be capable of operation in position feedback mode as well 10 4 Oriented Spindle Stop The spindle orientation or the oriented spindle stop re
93. axis 1 5062 position of axis 2 Motion wthout skip signal 5068 position of axis 8 Skip signal is mput here Fig 18 1 1 The position stored there is the position assumed in the instant the external signal if any has arrived the programmed end point position of interpolation G31 unless an external signal has arrived to be understood invariably in the current work coordinate system with the actual length compensation G43 G44 and with the actual tool offset G45 G48 taken into account The motion comes to a halt with linear deceleration after the external signal has arrived Now the end point position of interpolation G31 is slightly different from the positions stored in variables 5061 on arrival of the signal the difference varies with the feed applied in the interpolation The end point positions of the interpolations are accessible in variables 5001 The next interpolation will be effective from those end point positions on 158 18 Measurement Functions The interpolation can be executed in state G40 only Programming G31 in state G41 or G42 returns error message 3054 G31 IN INCORRECT STATE Again the same error message will be returned if state G95 G51 G51 1 G68 or G16 is in effect The value specified at coordinates v may be an incremental or an absolute one If the next movement command following G31 block is specified in incremental coordinates the motion wi
94. bottom point with feed F 6 spindle stop M5 the control assumes STOP state MO from which the operator can get in one of the manual movement modes JOG INCREMENTAL JOG or HANDLE and operate the machine manually for example retract the tool from the side of the hole then remove the tool from the hole After returning AUTO mode machining can be continued by START with G99 START followed by rapid traverse retraction to point R with G99 spindle re started M3 with G98 START followed by rapid traverse retraction to the initial point with G98 spindle re started M3 cae el 153 17 Canned Cycles for Drilling G87 G8 G87 G09 Not used M3 9 gt Tool retract in the plane of positioning by rapid traverse Operation of G87 when parameter ORIENT1 1 Fig 17 1 12 2 B Back Boring Cycle If the machine is provided with the facility of spindle orientation parameter ORIENT 1 the control will act in conformity with case B The variables of cycle are G17 G87 X Y I J Z R F G18 G87 Z X K I Y R G19 G87 Y Z J K X R F L The spindle must be given rotation M3 when the cycle is started The operations of cycle are 1 rapid traverse positioning in the selected plane 2 spindle orientation tool receded in the selected plane with values I J K rapid traverse rapid traverse movement to point R 4 tool receded in the selected plane opposite to the values specified at I J or K rapid travers
95. bove example G7 1 C50 can be switched off with the help of command G7 1 CO Command G7 1 must be issued in a separate block Plane selection The plane selection code is always determined by the name of the linear axis parallel to the rotary axis The rotary axes parallel to axes X Y and Z are axes A B and C respectively GI7 X A or G18 ZC or GI9 Y Bor GI7BY G18 A X GI9CZ Circular interpolation It is possible to define circular interpolation in cylindrical interpolation mode however only by specifying radius R No circular interpolation can be executed in case of cylindrical interpolation by giving the circle center 1 J K The circle radius is always interpreted in mm or inch never in degree For example circular interpolation between axes Z and C can be specified in two ways G18 Z_C_ G19C_Z_ G2 G3 Z_C_R_ G2 G3 C_Z_R_ Fig 4 7 1 35 4 7 Cylindrical Interpolation G7 1 Application of tool radius compensation in case of cylindrical interpolation Commands G41 G42 can be used in the usual manner in the switched on state of cylindrical interpolation Though the following restrictions are in effect regarding its application Switch on of cylindrical interpolation command G7 1 Qr is only possible in state G40 Should G41 or G42 be switched on in cylindrical interpolation mode G40 must be programmed before switching cylindrical interpolation off command G7 1 QO Programming restrictions in the course o
96. c of uncorrected programmed radius R Now the center of the interconnecting circular arc will not coincide with the center of the programmed arc The control will return error message 3047 l s CHANGE NOT POSSIBLE if the direction Bici change is not feasible even with the relocation of the circle center outlined above Fig 14 5 4 4 98 14 The Tool Compensation 14 5 5 Programming Vector Hold G38 Under the action of command G38 v the control will hold the last compensation vector between the previous interpolation and G38 block in offset mode and will implement it at the end of G38 block irrespective of the transition between the G38 block and the next one Code G38 is a single shot one i e it will not be modal G38 has to be programmed over again if the vector is to be held in several consecutive blocks G38 can be programmed in state GOO or G01 only i e the vector hold block must be invariably a linear interpolation or else the control will return error message 3040 G38 NOT IN GO G1 Unless code G38 is used in offset mode G41 G42 the control will return error message 3039 G38 CODE IN G40 An example of using G38 G17 G41 G91 N110 G1 X60 Y60 N120 G38 X90 Y 40 N130 X20 Y70 N140 X60 Fig 14 5 5 1 To program a recession without canceling the offset mode G17 G42 G91 N110 G1 X40 N120 G38 X50 N130 G38 Y70 N140 G38 Y 70 N150 X60 Fig 14 5 5 2 14 5 6 Programming Corner Arcs G39 By pro
97. change 4 us resa tere darent T3 Tool compensation values 173 Tool Length Compensation 15 98 154 Tool Length Measurement 156 Tool Management lesse 70 Tool Number A T0 T4 Transformations sess 115 programming rules 118 OLI ae EEN 115 transforms 0 0000000008 102 Unconditional Divergence 184 UDS sana dale bd Lars 40 79 units of input measures 17 Value Limits else 9 Variable i ciui on eee A Pe ee 169 O value 0 0 eee eee 170 common eee eee 171 alobal ciscus dde EI ed CREE A xed 166 local iu oid on ee exo 167 169 VACANT uenia ab dod eS ad 170 Variables sssssen 171 Index in Alphabetical Order Local vere ekien ATE fae 171 Macant ases ace er R POR eae 170 varying radius 2 cee eee er s 28 Vector Hold 000 100 Wear Compensation 16 Word aie eR DREXS REA 9 Work Coordinate System Sf 206
98. ck will be commenced immediately Sharp corners cannot be machined in this mode because they will be rounded off 6 4 4 Override and Stop Inhibit Tapping Mode G63 Modal function canceled by codes G61 G62 or G64 The feed and spindle override and the feed stop is inhibited in this mode The override values are taken for 100 regardless of switch positions On completion of the interpolation the system will not slow down but start next interpolation cycle immediately This mode is applicable in various thread cutting and tapping operations 6 4 5 Automatic Corner Override G62 Modal function canceled by any of codes G61 G63 or G64 When inside comers are being machined higher forces are acting upon the tool before and after the corners To prevent the overload of the tool and developing vibrations the control will when G62 commanded automatically reduce the feed along before and after an inside corner The corner override is effective under the following conditions When cutter compensation is on G41 G42 Fig 6 4 5 1 Between blocks GO G1 G2 G3 In movements in the selected plane When the corner is machined inside When the angle of the corner is smaller then a particular angle defined by parameter Over a distance before and after the corner defined by parameters The corner override function will be effective between each the following pairs of blocks linear to linear linear to cir
99. condition 1 j 1 must be true The result i e the value of i lies between 90 and 90 Arc cosine i ACOS j The code of the function is ACOS As a result of operation variable ffi will assume the arc cosine of variable j in degrees The condition 1 j 1 must be true The result i e the value of i lies between 0 and 180 186 20 Custom Macro Arc tangent 1 ATAN fj The code of the function is ATAN As a result of operation variable i will assume the arc tangent of variable j in degrees The result i e the value of 1 lies between 4 90 and 90 Exponent with base e i EXP j The code of the function is EXP As a result of the operation variable 1 will assume the j th power of the natural number e Logarithm natural 1 LN j The code of the function is LN As a result of operation variable i will assume the logarithm natural of number fj The value of j may not be 0 or a negative number Absolute value i ABS fij The code of the function is ABS As a result of operation variable i will assume the absolute value of variable j Conversion from binary into binary coded decimal i BCD j The code of the function is BCD As a result of operation variable i will assume the BCD value of variable j The value range of variable j is 0 to 99999999 Conversion from binary coded decimal into binary i BIN j The code of the function is BIN As a result of the operation vari
100. control Prior to calling the cycle the tool must be brought over the geometric center of the pocket in the selected plane at a safety distance over the workpiece At the end ofthe cycle the tool will be retracted to the same point The addresses in the block have the following meaning X size of pocket in direction X Y size of pocket in direction Y Z size of pocket in direction Z Instructions G17 G18 G19 will define the length width and depth of the pocket for the three coordinates For example in case of G17 Z will be the depth of the pocket the longer one of X and Y will be the length of pocket the shorter one will be the width thereof Those values have to be entered in absolute values as positive numbers R the radius of the corners of the pocket Rounding if any of the corners of the pocket should be specified at address R Unless address R is filled the rounding ofthe pocket s corners will be rounded with the tool radius I safety distance toward the depth of pocket in the case of G19 J safety distance toward the depth Fis 2018 1 of pocket in the case of G18 K safety distance toward the depth of pocket in the case of G17 Depending on the plane selected the safety allowance in the direction of the tool has to be specified at the addresses I G19 J G18 or K G17 in the block When the cycle is started the control assumes that the tip of the tool is located at that distance from the surface of the workpiece W
101. ctions in parameter PRTCNTM As soon as the number of machined parts becomes equal to the required number of parts counter 3902 the NC tells it the PLC on a flag Number of machined parts 3901 Number of parts to be machined 3902 Counters 3901 and 3902 are located on parameters PRTTOTAL and PRTREQRD respectively Modal information 4001 through 4130 4201 through 4330 The modal values effective in the previous block can be established by reading system variables 4001 through 4130 The modal commands effective in the block under execution can be established by reading variables 4201 through 4330 system modal information of i system modal information of variable the previous block t variable the block being i executed 4001 G code group 1 b 4201 G code group 1 x 4020 G code group 20 n 4220 G code group 20 4101 code A x 4301 code A 4102 code B 4302 code B 4103 code C ii 4303 code C 4107 code D i 4307 code D 4108 code E j 4308 code E 4109 code F 4309 code F 4111 code H 4311 code H 4113 code M entered first 4313 code M entered first 4114 block number N 4314 block number N 4115 program number O 4315 program number O 4119 code S 4319 code S 4120 code T r 4320 code T 181 20 Custom Macro Positional information 5001 through 5108 Positions at block end system position information reading in during variable motion 5001 block end coordinate of axis 1 5002 bloc
102. cular circular to linear circular to circular ones Inside angle 1 can be selected between and 180 by parameter CORNANGLE o O Fig 6 4 5 2 49 6 The Feed Deceleration and acceleration will be commenced at distances L and L before and after the corner respectively In the case of circles arcs distance L and L will be calculated by the control along the arc Distances L and L will be defined in parameters DECDIST and ACCDIST Fig 6 4 5 3 respectively The value of override can be selected as a percent in parameter CORNOVER The override will begin to be effective at distance L before the corner and will be effective over distance L behind the corner The values of feed override and corer override will be taken into account together by the control F feed override corner override Write G09 in the particular block to program an exact stop in state G62 6 4 6 Internal Circular Cutting Override With the cutter compensation on G41 G42 the control will automatically reduce the feed in machining the inside surface of an arc so that the programmed feed will be effective along the cutting radius The feed in the center of the tool radius is R e PERO where F is the corrected feed of the tool radius center Fig 6 4 6 1 R is the programmed radius of circle R is the corrected radius of circle F is the programmed feed The lower limit of automatic feed reduction is set by parameter CIRCOVER in
103. cycles G84 2 and G84 3 enabling rigid tap tapping without spring There the control maintains quotient Z constant from moment to moment The control will regulate only the speed of the spindle in the former case in the latter case its position is also controlled The movements of the drilling axis and the spindle are linked through linear interpolations in cycles G84 2 and G84 3 In this way quotient i can be maintained constant in the acceleration and deceleration stages as well G84 2 Rigid tapping cycle G84 3 Rigid counter tapping cycle The above cycles are only applicable with machines in which the spindle is fitted with an encoder and the main drive can be fed back for position control parameter INDEX 1 1 Otherwise the control will return error message 3052 ERROR IN G76 G87 when the mode is called The variables used in the cycle are G17 G84 X Y Z R F S L G18 G84 _ Z X Y R FE S L G19 G84 Y Z X R F S L The spindle comes to a halt at the end of the cycle if necessary it has to be re started by the programmer The feed and the spindle rpm have to be specified in conformity with the thread pitch of the tap 148 17 Canned Cycles for Drilling n state G94 feed per minute P2P s where P is the thread pitch in mnyrev or inches rev S is the spindle speed in rpm In this case the displacement and the feed along the drilling axis and the spindle will be as follows Z assumed to be the drilling axis
104. d is the beginning and end of the program Program Format in Communications with External Devices The above program is applicable also in communications with an external device Main Program and Sub program The part programs may be divided into two main groups main programs and subprograms The procedure of machining a part is described in the main program If in the course of machining repeated patterns have to be machined at different places it is not necessary to write those program sections over and over again in the main program instead a sub program has to be organized which can be called from any place even from another sub program The user can 10 1 Introduction return from the sub program to the calling program DNC Channel A program contained in an external unit e g in a computer can also be executed without storing it in the control s memory Now the control will read the program instead of the memory from the external data medium through the RS232C interface That link is referred to as DNC channel This method is particularly useful for the execution of programs too large to be contained in the control s memory The DNC channel is a protocol controlled data transfer channel as shown below Controller Equipment BEL 1 NAK ACK DC3 dep cu The above mnemonics have the following meanings and their ASCII codes BEL 7 The control requests the sender to establish the communication The
105. d PCLOS has to be followed by the specification of the number of peripheral to be closed At the time of closing a character is also sent to the peripheral i e each data output is terminated by a 96 character L Notes The sequence of data output commands is a fixed one First the appropriate peripheral has to be opened with command POPEN followed by the process of data outputting with command BPRNT or DPRINT finally the open peripheral has to be closed with instruction PCLOS The opening and closing of a peripheral can be specified in any point of the program For example it can be opened and closed at the beginning and end ofthe program respectively data can be output in any part of the program in between A command M30 or M2 executed during the process of data output will interrupt the data transfer To avoid this waiting is to be performed during data transfer before the execution of command M30 he parameters baud rate number of stop bits etc of the peripheral have to be set correctly They can be selected in group SERIAL of the field of parameters 20 14 NC and Macro Instructions NC and macro blocks can be differentiated in the programming language The blocks written in terms of conventional codes G M etc are regarded as NC blocks even when the values of the addresses assume variables or formulae as well as numerical values The following blocks are regarded as macro instructions the block cont
106. dress P provided parameter TAPD WELL is enabled 1 reversal of spindle direction M4 retraction to point R with feed F override and stop inhibited 8 reversal of spindle direction M3 n 147 17 Canned Cycles for Drilling 9 with G98 rapid traverse retraction to the initial point 10 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 thread pitch of the tap In other words under ideal conditions of tapping the quotient p f s where P is the thread pitch mm rev or inches rev F is the feed mm minute or inches minute S is the rpm of spindle revolutions minute The spindle speed and the feed of the tapping axis are controlled completely independently in left hand and right hand tapping cycles G74 and G84 respectively Accordingly the above condition cannot be fulfilled to full accuracy This is particularly applicable to the bottom of the hole where the feed of the drill axis and the spindle speed ought to be slowed down and stopped in synchronism and accelerated so in the opposite direction This condition cannot be fulfilled from a controlled point of view in the above case The above problem can be eliminated by a spring tap that would must be constant from moment to moment compensate for the fluctuations in the value of quotient A different principle of control is adopted in drilling
107. e Fig 15 1 3 15 2 Scaling G50 G51 Command G51 vP can be used for scaling a programmed shape PT P4 points specified in the part program P1 P4 points after scaling PO center of scaling The coordinates of the scaling center can be entered at coordinates of v The applicable addresses are X Y Z U V W The coordinate data of v entered here will also be interpreted as rectangular Cartesian data even when the polar coordinate data specification is set up Using G90 G91 or operator I the v coordinates of the center of scaling can be specified as absolute or incremental data Unless one or both axes addresses are assigned values the Fig 152 1 instantaneous axis position will be taken for the center of scaling The scale factor can be specified at address P Its value can be represented by 8 decimal digits the position of the decimal point is irrelevant Scaling can be canceled with command G50 115 15 Special Transformations For example N1 G90 GO XO YO Scaled tool paih N2 G51 X60 Y140 P0 5 N3 G1 X30 Y100 F150 G91 X30 Y100 F150 4 G91 X100 5 G3 Y60 R100 N6 G1 X 100 7 Y 60 i 8 G50 G90 X0 YO Original tool path 15 3 Programmable Mirror Image G50 1 G51 1 A programmed shape can be projected as a mirror image along the coordinates selected in v by command G51 1 v in such a way that the coordinates of the axis or axes of mirror image can be specified in v The v coordinate
108. e spindle re started in direction M3 p 5 boring as far as the point Z with feed F 6 spindle orientation M19 tool receded in the selected plane with values I J K rapid traverse 7 8 9 rapid traverse retraction to the initial point 10 tool receded in the selected plane opposite to the values specified at I J or K rapid traverse spindle re started in direction M3 Following from the nature of the cycle point R is located unlike in the previous instances lower than point Z This must be taken into account in programming the boring axis and addresses R 154 17 Canned Cycles for Drilling 17 1 13 Boring Cycle Manual Operation on the Bottom Point G88 gt Manual feed Fig 17 1 13 1 The variables used in the cycle are G17 G88 X Y Z R P F L G18 G88 Z X Y R P F L G19 G88 Y Z X R P F L The spindle must be given rotation M3 when the cycle is started The operations of the cycle are l rapid traverse positioning in the selected plane 2 3 rapid traverse movement to point R 4 5 boring as far as the bottom point with feed F 6 dwell with value P spindle stop M5 the control assumes STOP state MO from which the operator can get in one of the manual movement modes JOG INCREMENTAL JOG or HANDLE and operate the machine manually for example retract the tool from the side of the hole then remove the tool from the hole After returnin
109. e Calls Another macro can be called again from a macro Macro calls can be made in four levels of depth including simple and modal ones With the subprogram calls included the maximum depth of the calls may cover 8 levels In the case of multiple calls of modal macros type G66 first the latter specified macro will be called after execution of each interpolation block from which the previously specified macros will be called in a backward sequence Let us see the example below 00001 10 G66 P2 11 G1 G91 Z10 1 11 12 G66 P3 13 220 1 13 14 G67 canceling of call G66 P3 15 G67 canceling of call G66 P2 16 2 5 1 16 00002 N20 X4 2 20 N21 M99 00003 N30 Z2 3 30 N31 23 3 31 N32 M99 2 170 20 Custom Macro Including only the interpolations the sequence of executions will be 1 11 1 13 1 16 Level of call Level 0 Level 1 Level 2 Of the numbers in brackets the first and the second ones are the numbers of the programs and block being executed respectively Instruction G67 specified in block N14 will cancel the macro called in block N12 00003 the one specified in block N15 will cancel the macro called in block N10 O0002 In the case of multiple calls of macros type G66 1 first the last specified macro will be called in entering each block treating the addresses of the particular block as arguments then the previously specified macro will be called entering the
110. e XY plane moving the Z axis to the point of coordinate 100 After power on the default plane G17 or G18 is specified according to the parameter group CODES The main plane can be selected more times in the same program Address U V W can be selected as a parallel in parameters 62 10 The Spindle Function 10 The Spindle Function 10 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 or as a data of revs minute When a movement command and a spindle speed S are programmed in a given block function S will be issued during or after the motion command The machine tool builder will define the way of execution The speeds specified at address S are modal values At the time of power on the control will assume value SO The spindle speed has a minimum and a maximum limit in each gear ratio range They are defined by the machine tool builder in parameters and the control does not let the speed outside of this range 10 2 Programming of Constant Surface Speed Control Constant surface speed control function can Se spindle speed rev min only be used in case of infinitely variable speed main drive In this case the control can change the spindle speed so that the tool speed is constant relative to the surface of the workpiece and is equal to the programmed value S s
111. e appropriate axis is a rotary one If the given parameter ROLLOVEN x 0 the rotary axis is regarded as linear axis and the setting of further parameters is uneffective 1 handling of roll over is applied for the rotary axis the essence of which is discussed below Specifying path per roll over The path per one roll over of the axis is defined at parameter 0261 ROLLAMNT A 0262 ROLLAMNT B or 0263 ROLLAMNT C in input increment for axes A B or C respectively Thus if the control is operating in increment system B and the axis rotates 360 per one roll over the value to be written at the appropriate parameter is 360000 With the help of the above parameter settings the control always displays the position of the rotary axis in range 0 359 999 independent of the direction of rotation and the number of revolutions Movement of rotary axis in case of absolute programming In 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 parameter ROLLAMNT x That is if e g ROLLAMNT_C 360000 360 the maximum movement is 339 999 For the movement direction to always be according to the sign of position given at the axis address or in the shorter way can be set on the basis of parameter 0244 ABSHORT A 0245 ABSHORT B or 0246 ABSHORT C If appropriate parameter ABSHORT x 20 it always moves in the direction of the sign of the program
112. e control In the case of a minimum memory configuration the number of compensations is 99 i e the limit values of addresses H and D are 0 to 99 14 2 Modification of Tool Compensation Values from the Program G10 Instruction GIORLP can be used for modifying the tool compensations from the program G10 is a one shot instruction The addresses and their values have the following meanings The compensation value is specified at address R At G90 absolute data specification command the value written at address R will be transferred to the appropriate compensation register At G91 incremental data specification command or when operator I is applied the data written at address R will be added to the content of the appropriate compensation register The compensation value to be modified is specified at address L L 10 applies to the geometry value of the length compensation code H L 11 applies to the wear of the length compensation code H L 12 applies to the geometry value of the radius compensation code H L 13 applies to the wear of the radius compensation code H The No of compensation value to be modified is specified at address P L Note For a programmed modification of the tool radius compensation the value specified at address R must be interpreted as a radius in each case regardless of the state of parameter TOOLRAD The control will return error message 3001 VALUE EXCESS X Y F whenever the specified values exceed t
113. e spindle speed fluctuation detection is 2 Pragranimad revolution effective only if the spindle is mounted ERU with encoder J TLUCTW The specified spindle speed according to which the current spindle speed is detected is calculated by taking the override the revolution range limits and the programmed maximum revolution G92 S in constant surface speed calculation G96 into account The spindle speed fluctuation detection is effective only in case of G26 and rotating spindle state M3 or M4 Command G26 must be programmed in single block Currant revolulion Fig 10 6 3 68 1 Tool Function 11 Tool Function 11 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 T will be issued during or after the motion command The machine tool builder will define the way of execution 11 2 Program Format for Tool Number Programming There are basically two different ways of making reference to a tool change in the part program They depend on the configuration of the machine tool The particular technique of calling the tool applicable in the part program is defined by the builder of the machine tool Case A A tool change can be accomplished on the machine manually or by means of a turret type tool changer Now with reference made to code T in the case of
114. eR 74 13 2 Conditional Block Sip 6 029 seed dow er RRXLR EI RPAC Ex TEX Geb ees T 74 13 3 Main Program and Sub program 0 0 cece eee eee 74 13 3 1 Calling the Sub program 42 sueta eek Re dx YER RE REP ER REESE 74 13 3 2 Return from a Sub program 22522 erac bere RRRSAREEXEXAES 4 REESE S 75 13 3 3 Jump within the Main Program vcd ied RRERRSLEZ ARRAS AES TA Pqe Xa ES TI 14 The Tool Compensation ussseessselel eR IRR 78 14 1 Referring to Tool Compensation Values Hand D 0 000002 eee 78 14 2 Modification of Tool Compensation Values from the Program G10 79 14 3 Tool Length Compensation G43 G44 G49 2 eee eee 80 14 4 Tool Offset G49 O48 isse essor o oe He ais abe Sc eds 81 14 5 Cutter Compensation G38 G39 G40 G41 G42 eee eee 85 14 5 1 Start up of Cutter Compensation 88 14 5 2 Rules of Cutter Compensation in Offset Mode 0 00 e eee ee eee 92 14 5 3 Canceling of Offset Mode 1 sss RR RR eee n 95 14 5 4 Change of Offset Direction While in the Offset Mode 98 14 5 5 Programming Vector Hold G38 0 0 0 cece eee 100 14 5 6 Programming Corner Arcs G39 1 0 eet 100 14 5 7 General Information on the Application of Cutter Compensation 102 14 5 8 Interferences in Cutter Compensation 0 00 e cece eee eee eee 107 14 6 Three dimensional Tool Offset G41 G42 2 0 cee eee 112 14 6 1 Programming the Three dimensional
115. ecified at each of addresses A B C provided one or all of those addresses is are selected as auxiliary function s in parameters The value specified for the auxiliary function will be transferred to the PLC When a movement command and an auxiliary function are programmed in a given block function A B C will be issued during or after the motion command The machine tool builder will define the way of execution For example an indexing table can be indexed at address B 12 3 Sequence of Execution of Various Functions The various functions written in a given block will be executed by the control in the following sequence l Tool change M06 2 Tool call T 3 Spindle range selection M11 M18 4 Spindle speed S 5 Spindle management M03 M04 M05 M19 6 Coolant M07 M08 M09 Te Other function M Mann 8 Spindle indexing with function M 9 Function A A 10 Function B B 11 Function C C 12 Program control codes M00 M01 M02 M30 M96 M97 M98 M99 If the above sequence of executions is not desirable the block has to be broken up into several ones with the functions written in the desired sequence in each block 72 13 Part Program Configuration 13 Part Program Configuration The structure of the part program has been described already in the introduction presenting the codes and formats of the programs in the memory This Section will discuss the procedures of organizing the part programs 13
116. ective in the block only where it has been specified 9 2 Work Coordinate Systems The coordinate system applied in cutting the workpiece is referred to as the work coordinate system Six different coordinate systems can be defined for the workpiece in the control 9 2 1 Setting the Work Coordinate Systems Work coordinate Work coordinate Work coordinate system 1 amp ysteni 2 amp ysfent 3 Offxet 2 Offset 3 qb Origin of machine coordinate system Offset 5 Offset 6 Work coordinate Work coordinate Work coordinate system 4 system gt system Fig 9 2 1 1 In setting mode the locations of the various work coordinate systems can be established in the machine coordinate system and the necessary offsets can be made 56 9 Coordinate Systems Plane Selection Work coordinate Work coordinate Work coordinate system 1 system 2 system 3 COMMON a Origin of machine coordinate system Work coordinate Work coordinate Work coordinate system 4 system 5 system 6 Fig 9 2 1 2 Furthermore all work coordinate system can be offset with a common value It can also be entered in setting mode 9 2 2 Selecting the Work Coordinate System The various work coordinate system can be selected with instructions G54 G59 G54 work coordinate system 1 G55 work coordinate system 2 G56 work coordinate system 3 G57 work coordinate system 4 G58 work coordinate system 5 G59 wo
117. ed in front of it in the case of a block longer than a line the words in each new line are begun with an indent of one character Program Number and Program Name The program number and the program name are used for the identification of a program The use of program number is mandatory that of a program name is not The address of a program number is O It must be followed by exactly four digits The program name is any arbitrary character sequence string put between opening and closing brackets It may have max 16 characters The program number and the program name are separated by characters F Line Feed from the other program blocks in the memory In the course of editing the program number and the program name will be displayed invariably in the first line There may be not two programs of a given program number in the backing store Beginning of Program End of Program Each program begins and ends with characters 96 In the course of part program editing the program terminating character is placed invariably behind the last block in order to ensure that the terminated locks will be preserved even in the event of a power failure during editing Program Format in the Memory The program stored in the memory is a set of ASCII characters The format of the program is 01234 PROGRAM NAME LF 1N12345G1X0Y LFG225 LF F er LE N1640 M2L rF 9 In the above sequence of characters Le is character Line Fee
118. eed rapid traverse retraction to point R rapid traverse approach of the previous depth as far as the clearance amount specified on address E drilling depth Q again reckoned from the previous cut in with feed F displacement E Q rapid traverse retraction to point R The above procedure is carried on as far as the bottom point specified at address Z 146 17 Canned Cycles for Drilling Distance E will be taken from the program address E or from parameter CLEGS3 17 1 8 Tapping Cycle G84 y Tnitial point e py as At Vig M3 Dwell if Dwell if aw TAPTWVEZL I TAPDWEZL M4 M4 Fig 17 1 8 1 This cycle can be used only with a spring tap The variables used in the cycle are G17 G84 X Y Z R P F L G18 G84 Z X Y R P F L G19 G84 Y Z X R P F L Direction of spindle rotation M3 clockwise has to be selected prior to starting the cycle The value of feed has to be specified in conformity with the thread pitch of the tap n state G94 feed per minute P PS where P is the thread pitch in mm rev or inches rev S is the spindle speed in rpm In state G95 feed per revolution F P where P is the thread pitch in mnyrev or inches rev The operations of the cycle are 1 rapid traverse positioning in the selected plane 2 3 rapid traverse movement to point R 4 5 tapping to the bottom point with feed F override and stop inhibited 6 dwell with value specified at ad
119. election G17 X Y The programming of the first axis being in diameter does not influence the programming of the virtual axis the coordinate data must always be given in radius for the virtual axis If e g polar coordinate interpolation is executed in plane X C the value written at address C must be specified in radius independent of address X given in diameter or radius Move of axes not taking part in polat coordinate interpolation The tool on these axes moves normally independent of the switched on state of the polar coordinate interpolation Programming circular interpolation in the course of polar coordinate interpolation Definition of a circle in polar coordinate interpolation mode is possible as known by means of the radius or by programming the circle center coordinates In the latter case addresses I J K must be used according to the selected plane as seen below GI7X C GISZ B GI9Y A G12 1 G12 1 G12 1 G2 G3 X_C_L _ J_ G2 G3 B_Z_I_K_ G2 G3 Y_A_J_K_ Use of tool radius compensation in case of polar coordinate interpolation Commands G41 G42 can be used customary in polar coordinate interpolation The following restrictions must be considered regarding its application Switch on of polar coordinate interpolation command G12 1 is only possible in state G40 If G41 or G42 is switched on in state G12 1 G40 must be programmed before switching polar coordinate interpolation off command G13 1 Programming rest
120. ence between them B and B will be ignored if there is an interference between them P and B cannot be omitted in the case of an interference so an error message is returned It is evident from the foregoing that the compensation vectors are paired at the start and end points of interpolation B and will be ignored in pairs If the number of compensation vectors on one side is 1 or is reduced to 1 only the vectors on the other side will be omitted The procedure of omitting will be carried on as long as the interference persists The first compensation vector at the start point of interpolation B and the last one at the respective end point cannot beignored If as a result of omissions the interference is eliminated no error message will be returned but error message 3048 INTERFERENCE ALARM will be returned otherwise The remaining compensation vectors after each omission will always be interconnected by straight lines even if interpolation B has been a circular one It is evident from the above example that the execution of interpolation A will not be commenced unless interpolation B has been checked for an interference To do so however block C also had to be entered in the buffer and the compensation vectors had to be calculated for transition B C A few typical instances of interference will be described below Milling a step smaller than the tool radius The control returns error message 3046 INTERFERENCE ALARM or else i
121. ent of the part program after each movement Main program G66 P1250 Z 100 R 1 X2 F130 Z Z point of hole R R point of hole X dwell F feed G91 GO X100 Y30 drilling is performed after ach posi tioning X150 G67 Macro body 01250 GO Z418 rapid traverse positioning in direction Z to the point specified at address R 1 G1 Z 26 F 9 drilling as far as the point Z specified at address Z 100 with the feed specified at address F130 G4 P 24 dwell at the bottom of the hole for the time specified at address X2 165 20 Custom Macro GO Z 18 26 retraction of the tool to the initial point M99 return to the main program 2 20 2 2 Macro Modal Call From Each Block G66 1 As a result of command G66 1 P program number L number of repetitions argument assignment all subsequent blocks will be interpreted as argument assignment and the macro of the number specified at address P will be called and will be executed as many times as is the number specified at address L The command produces the same effect as if each block were a G65 macro call G66 1 P L XY Z G65 PLXYZ MS F 4 G65 PLMS X G65 P LX G67 The selected macro will be called until with command G67 it is canceled The rules of argument assignment are 1 In the block performing the activation in which G66 1 P L has been programmed the rules of the argument assignment are the same as in command G65 2 In the blocks following inst
122. er the control e OP a will regard addresses I J K invariably semar as Cartesian data When the origin of Angle specified with absolute Angle specified with incremental the current coordinate system Badius specified with incremerial coincides with the center of a circle or pi 2 522 a helix a multiple turn one can also be programmed with polar coordinate data specification Example G17 G16 G90 G02 X100 Yv 990 250 R 100 A helix of 234 turns has been specified in the above block in counter clockwise direction of rotation In programming a multiple turn circle bear in mind that a negative or a positive polar angle has to be programmed for direction G2 or G3 respectively Angle specified with absolute Angle specified with meremenial Radius specified with absolute End poirt Hrd point L Notes The addresses encountered in the following instructions will not be regarded as polar coordinate specifications even when state G16 is G10 coordinates encountered in setting instruction G52 coordinate offset G92 coordinate setting G53 positioning in machine coordinate system G68 coordinate rotation G51 scaling on G50 1 programmable mirror image ARS 60 X An example of milling a hexagon N1 G90 G17 GO X60 YO F120 N2 G16 G1 Y60 Fig 5 2 3 39 5 The Coordinate Data N3 Y120 N4 Y180 N5 Y240 N6 Y300 N7 Y360 N8 G15 GO X100 5 3 Inch Metric Conversion G20 G21 With the appro
123. er of repetitions L Defining the number of cycle repetitions over the range of 1 through 9999 Unless L is filled in the value of L 1 is assumed In the case of L 0 the data of the cycle will be stored but not executed The value of L is effective only in the block in which it has been specified Examples of modal drilling codes and cycle variables N1 G17 GO Z2 M3 N2 G81 X_ Y Z R F It is mandatory to specify the data of drilling Z R at the beginning of cycle mode N3 X Since the data of drilling have been specified in block N2 and they are used unchanged in N3 they need not be filled in again i e G81 Z_ R F_ may be omitted The position of the hole is varied in direction X only the tool moves in that direction and will drill the same hole as in block N2 NA G82 Y Z P The position of the hole is shifted in direction Y The method of drilling complies with G82 the bottom point assumes a new value Z the point R and the feed R F are taken from block N2 N5 G80 M5 The cycle mode and the modal cycle variables except for F will be deleted N6 G85 Y Z R P M3 Since the data of drilling are deleted in block N5 under the command of G80 the values of Z R and P have to be specified again N7GOX Y The cycle mode and the modal cycle variables except for F will be deleted 139 17 Canned Cycles for Drilling Examples of using cycle repetitions If a particular type of hole is to be drilled with unchanged para
124. f cylindrical interpolation The following commands are not available in the switched on state of cylindrical interpolation plane selection G17 G18 G19 coordinate transformations G52 G92 work coordinate system change G54 G59 positioning in machine coordinate system G53 circular interpolation by giving circle center I J K drilling cycles Example The diagram beside shows a path milled 3 mm deep on 360 c the mantle of an R 28 65 mm tadial cylinder Rotating tool T606 is parallel to the j V axis X 1 movement on the cylinder mantle is BEEN N100 1 ES A 2865mm Toop 7 05mm A X V me 297 4 m The axis order seen on the TOOG diagram corresponds to plane selection G19 07602 CYLINDRICAL INTERPOLATION N020 GO X200 Z20 S500 M3 T606 NO30 G19 z 20 CO G19 select plane C Z NO40 G1 X51 3 F100 N050 G7 1 C28 65 cylindrical interpolation on rotary axis C cylinder radius 28 65mm NO60 G1 G42 Z 10 F250 NO70 C30 N080 G2 2 40 C90 R30 N090 G1 Z 60 N100 G3 Z 75 C120 R15 N110 G1 C180 N120 G3 Z2 57 5 C240 R35 N130 G1 Z 27 5 C275 4 7 Cylindrical Interpolation G7 1 N140 G2 Z 10 C335 R35 N150 G1 C360 N160 G40 Z 20 N170 G7 1 CO cylindrical interpolation off N180 GO X100 37 5 The Coordinate Data 5 The Coordinate Data 5 1 Absolute and Incremental Programming G90 G91 Operator I The input coordinate data can be specified as abs
125. f the touch probe signal arrives outside of the ALADIST range of the end position programmed in interpolation G37 160 19 Safety Functions 19 Safety Functions 19 1 Programmable Stroke Check G22 G23 Instruction G22 X Y ZIJKP will forbid to enter the area selected by the command Meaning of addresses limit along axis X in positive direction limit along axis X in negative direction limit along axis Y in positive direction limit along axis Y in negative direction limit along axis Z in positive direction limit along axis Z in negative direction The following conditions must be fulfilled for the specified data X I Y J Z K It can be selected at address P that the area is prohibited on the outside or on the inside P 0 the selected area is prohibited on the inside P 1 the selected area is prohibited on the outside Forbidden area on the outside Forbidden area on the ingide Fig 19 1 1 Instruction G23 will cancel programmable stroke check function the tool can enter the area selected above Instruction G22 G23 will re write directly the respective parameters Instruction G22 or G23 will set parameter STRKEN to 1 or 0 respectively Instruction G22 PO or G22 P1 will set parameter EXTER to 0 or 1 respectively Coordinates X Y Z in instruction G22 will write the LIMP2n parameters pertaining to the respective axes coordinates I J K will set the LIMN2n values pertaining to the respective axes Before being written to the
126. fers to the function of stopping the spindle in a particular angular position This may be necessary e g for an automatic tool change or for the execution of some drilling cycles The possibility of orientation on a particular machine must be specified by parameter ORIENT in parameters The command of spindle orientation is issued by function M19 but it may also be produced by some other function depending on the particular machine tool The orientation may be carried out in one of two different ways If the spindle cannot be used in position control mode the orientation is feasible by turning the spindle to a proximity switch mounted on the machine If the spindle can be used in position control mode command M19 will cause the control to return to the zero pulse of the spindle encoder The control will automatically close the position control loop 65 10 The Spindle Function 10 5 Spindle Positioning Indexing A spindle positioning is only feasible after the spindle position control loop has been closed after orientation Accordingly this function is used for closing the loop The loop will be opened by rotation command M3 or M4 If the value of parameter JVDEX 1 indicating that the main drive position control loop can be closed and the value of parameter IVDEX_C1 0 the spindle indexing will be performed by function M Under such conditions function M from the threshold value set on parameter M NUMBI to M NUMBI 360 will be inter
127. fied over the range of 0 to 120 with the feed override switch 44 6 The Feed The feed value F is modal After power on the feed value set at parameter FEED will be effective 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 minute G95 feed per revolution The term feed minute refers to a feed specified in units mm minute inch minute or degree minute The term feed rev refers to the feed accomplished in a revolution of the spindle in units of mm rev inch minute or deg rev A G95 cannot be programmed unless the spindle is equipped with an encoder Modal values After power on state G94 or G95 will be selected with reference to parameter group CODES State G94 G95 will be unaffected the rapid traverse it is invariably in units of minutes 45 6 The Feed The Table below shows the maximum programmable range of values at address F for various cases input output increment value range of address F unit units units system 0 001 250000 0 0001 25000 0 00001 2500 mmm L m 0 00001 500 dim uc C 0 000001 50 or o 0 000001 19 685039 deci 0 0000001 1 9685039 P A 0 00001 500 inch or ooo s0 oe Ea C 0 0000001 5 0 001 250000 0 0001 25000 au C 0 00001 2500 inch 0 0001 5000 mm or 0 00001 500 4 eg rev 0 0001 25000 0 00001 2500 0 000001 250 inch inch
128. g AUTO mode machining can be continued by START 7 with G99 START followed by retraction to point R rapid traverse 8 with G99 spindle re started M3 9 with G98 rapid traverse retraction to the initial point 10 with G98 spindle re started M3 The cycle is the same as case A of G87 but dwelling before the spindle stop 155 17 Canned Cycles for Drilling 17 1 14 Boring Cycle Dwell on the Bottom Point Retraction with Feed G89 g gt r ak Inilial pom y mE a PomtR Fig 17 1 14 1 The variables used in the cycle are G17 G89 X Y Z G18 G89 Z X Y G19 G89 Y Z X P AAR av tg rg rj kj tri ree P The operations of the cycle are 1 E O 9 uq tB rapid traverse positioning in the selected plane rapid traverse movement to point R boring as far as the bottom point with feed F dwelling with the value specified at address P retraction to point R with feed F with G98 rapid traverse retraction to the initial point Except for dwelling the cycle is identical with G85 17 2 Notes to the use of canned cycles The drilling cycle will be executed in cycle mode provided a block without code G contains one of the addresses X Y Zp or R Otherwise the drilling cycle will not be executed With dwell G04 P programmed in cycle mode the command will be executed in conformity with P programmed but the cycle variable of dwell will not be deleted and will not be re written
129. gramming G39 I J K it will be possible in offset mode to avoid the automatic intersection point computation or the insertion of linear sections when going around outside corners instead the tool center will travel along a circular arc equal to the tool radius It will insert an arc equal to the tool radius in direction G02 or G03 in state G41 or G42 respectively 99 14 The Tool Compensation The start and end points of the arc will be given by a tool radius long vector perpendicular to the end point of the path of previous interpolation and by a tool radius vector perpendicular to the start point of the next one respectively G39 has to be programmed in a separate block G17 G91 G41 N110 G1 X100 N120 G39 N130 G3 X80 Y 80 I80 Fig 14 5 6 1 When I J or K is programmed in block G39 the end point of the circular arc will be given by a tool radius long vector perpendicular to the vector defined by I J or K from the end point of the previous interpolation in accordance with the selected plane G17 G91 G41 N110 G1 X100 N120 G39 I50 J 60 N130 G40 X110 Y30 Fig 14 5 6 2 The previously selected mirroring or rotating commands are effectual the vector defined by I J or K As a matter of fact the scaling command will not affect the direction No movement command can be programmed in a block of G39 type The control will return error message 3036 G39 CODE IN G40 if command G39 is issued in state G40 or 3D
130. he limits contained in the above Table 78 14 The Tool Compensation 14 3 Tool Length Compensation G43 G44 G49 Instruction G43 q Hor G44 4H will 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 the tool length compensation value is taken Irrespective of q being an absolute or an incremental data instruction G43 will add the compensation value specified at address H to the end point coordinate obtained in the course of execution G43 compensation Irrespective of g being an absolute or an incremental data instruction G44 will subtract the compensation specified at address H from the end point coordinate obtained in the course of execution G44 compensation Since incremental displacement ZO has been programmed each of instructions G43 G91 ZO H1 and G44 G91 Z0 H1 will produce displacement just equal to the length of the tool At G43 the displacement will be positive or negative depending on the compensation value at H1 being positive or negative respectively The case is just the opposite for G44 After the command has been executed the position displayed at coordinate Z will be the same as the one beforehand because the position of the tool s tip will be displayed after the length compensation is set up Tool compensations may be defined on several axes at a time E g G4
131. hen parameter POSCHECK in the field of parameters is 1 or will not do so when the parameter is set to 0 It will wait for the in position signal for 5 seconds unless the signal arrives the control will return the 7020 POSITION ERROR message The maximum acceptable deviation from the position can be specified in parameter JVPOS Being a modal code GOO remains effective until it is re written by another interpolation command After power on G00 or GO1 is effective depending on the value set in parameter group CODES of the parameter field End point 4 2 Linear Interpolation G01 The series of instructions GO01lvF will select a linear interpolation mode The data written for v may be absolute or incremental values interpreted in the current coordinate system The speed of motion the feed can be programmed at address F The feed programmed at address F will be accomplished invariably along the programmed path Its axial components E Feed along the axis X is E T F 22 4 The Interpolation Feed along the axis Y is E F _u Feed along the axis U is E F7 F c Feed along the axis C is E x where x y u c are the displacements programmed along the respective axes L is the vectorial length of programmed displacement L jx y tu a a tc G01 X100 Y80 F150 lind poini Starting paint Fig 4 2 1 The feed along a rotational axis is interpreted in units of degrees per minute min G01 B270 F12
132. her words once the compensation value has been read with command D or H the read out value will be unaffected by a change in the chart of compensation values e g by programming G10 The compensation values will be preserved in the memory after a power off The compensation memory can be saved in the memory as a part program 11 14 The Tool Compensation Limit values of geometry and wear 3 increment unit of input units outputunits geometry value wear value system measure IS A 0 01 99999 99 0 01 163 80 0 001 9999 999 0 001 16 380 0 0001 999 9999 0 0001 1 6380 0 001 9999 999 0 001 6 448 inch 0 0001 999 9999 0 0001 0 6448 inch IS C 0 00001 99 99999 0 00001 0 06448 0 001 9999 999 0 001 16 380 0 0001 999 9999 0 0001 1 6380 0 00001 99 99999 0 00001 0 16380 0 01 99999 99 0 01 416 05 0 001 9999 999 0 001 41 605 0 0001 999 9999 0 0001 4 1605 The tool compensations can be selected and or modified from the operator s panel on OFFSET screen and from the program with the use of instruction G10 If the current compensation is modified with command G10 reference has to be made again to the current compensation register D or H or else the modified value will be disregarded The limit values of address H or D for the given control system i e the numbers of length and radius compensations to be specified in that control system are determined by the memory configuration of th
133. hile the pocket is being milled as soon as the material of a levelis removed the tool will be lifted to that distance so that it can be brought to the start point for milling the next level D address of register containing the radius compensation of the tool The radius compensation number of the tool used in the program is to be specified mandatorily at address D Besides the milling of a pocket has to be carried out in state G40 198 20 Custom Macro E width of cutting in percent of milling diameter with 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 in percent of milling diameter Unless it is specified the control will automatically assume 83 The control can modify the data specified at address E depending on the width of pocket in order to obtain a uniformcutting in milling a particular level Such a modification may however be a reduction only The sign of address E will define the direction of milling When E i e it is positive the machining will be carried out in counter clockwise sense if it is E i e negative the machining will be carried out in clockwise sense Q depth of cut The depth of cut can be specified at address Q in the applicable units of measure mm or inches Depending on the depth of pocket the control may override the program value in order to obtain
134. icable to the sequence of executing the operations at a given level of brackets 20 13 3 Logical Operations The programming language uses the following logical operations equal to i EQ j not equal to NE j greater than i GT j less than i LT j greater than or equal to i GE j less than or equal to i LE j The variables on both sides of a logical operation can be substituted by formula as well The above conditional expressions can be used in divergence or iteration instructions IF or WHILE L Note Since the above conditional expressions are followed by additions and subtractions the possible errors must be taken into account in respect of the accuracy of decision 20 13 4 Unconditional Divergence GOTOn As a result of instruction GOTOn the execution of the program will be resumed unconditionally at the block of the same program with sequence number n Sequence number n can be substituted for by a variable or a formula The number of the block to which the jump is made by instruction GOTO must be put at the beginning of the block Unless the selected block number is found error message 3070 NOT EXISTING BLOCK NO P will be returned 188 20 Custom Macro 20 13 5 Conditional Divergence IF conditional expression gt GOTOn If lt conditional expression gt put mandatorily between square brackets is satisfied the execution of the program will be resumed at the block of the same program with sequence number n If
135. ideration the tool radii The values of radius Contonr of compensations have to be set in control system Wnrkpizsc Hereinafter reference can be made to cutter compensations at address D in the program Fig 1 2 9 Wear Compensation The tools are exposed to wear in the course of machining Allowance can be made for such dimensional changes in length and radius as well with wear compensations The tool wear can be set in the control system A geometry value i e the initial length and radius of the tool and a wear one belong to each compensation group referred to at address H or D When the compensation is set the control will compensate the movement with the sum of the two values 16 2 Controlled Axes 2 Controlled Axes In expanded configuration 5 additional axes 8 axes altogether Number of axes to be moved simultaneously 8 axes with linear interpolation 2 1 Names of axes The names of controlled axes can be defined in the parameter memory Each address can be assigned to one of the physical axes In the basic configuration the names of axes in a milling control system X Y and Z The names of additional expansion axes depend on their respective types Possible names of expansion axes performing linear motions are U V and W When they are parallel to the main axes X Y and Z their name will be U V and W respectively Axes performing rotational motions are termed A B and C The rotational axes wh
136. iece with positive or negative radius compensation respectively or vice versa Let us review the following small program DI R0 DI RO detail pay NO20 G42 G1 X80 D1 N030 G1 z 5 N040 G3 I 80 NO50 Gl 22 NO60 G40 GO X0 Fig 14 5 7 11 When the radius compensation is applied to a circle of a variable radius the control will calculate the compensation vector s to an imaginary circle at the start point thereof the radius of which is equal to the start point radius of the programmed circle the center point coinciding with the programmed one The compensation vector s will be computed to an imaginary circle at the end point of it the radius of which is equal to the end point radius of the programmed circle the center point coinciding with that of the programmed circle Fig 14 5 7 12 105 14 The Tool Compensation When a full circle is being programmed it may often occur that the path of tool covers more than a complete revolution round the circle in offset mode For example this may occur in programming a direction reversal along the contours G17 G42 G91 N110 G1 X30 Y 40 N120 G41 G2 J 40 N130 G42 G1 X30 Y40 The tool center covers a full arc of a circle from point P to point P and another one from point P to point P When offset mode is canceled by programming I J K a similar condition will emerge G17 G90 G41 N090 G1 X30 N100 G2 J 60 N110 G40 G1 X120 Y180 I 60 J 60 The tool ce
137. int R Operation 8 Operation at Point R Operation 9 Retraction in Rapid Traverse to the Initial Point Operation 10 Operation at the Initial Point Point R point of approach The tool approaches the workpiece to that point in rapid traverse Initial point The position of the drilling axis assumed prior to the start of cycle Operation 2 lt lt Opuration 10 fruttal poini Operation 3 1 Opzration vA Operation 4 gt A Operation 8 Point R Operation i lt Opcration 7 Operation 6 P w Borom of the hole gt Rapid traverse leed Fig 17 1 The above operations give a general picture of a drilling cycle some of them may be omitted in specific instances A drilling cycle has a positioning plane and a drilling axis The plane of positioning and the drill axis will be selected by plane selection instructions G17 G18 G19 plane X Y 135 17 Canned Cycles for Drilling where X is axis X or the one parallel to it Y is axis Y or the one parallel to it Z 1s 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 instructions G98 and G99 G98 The tool is retracted as far as the initial point in the course of the drilling cycle A normal default status assumed by the control after power on reset or deletion of cycle mode G99 The tool
138. is replaced in the tool magazine search for tool Tpppp begins dw OO meanwhile machining is being performed 70 12 Miscellaneous and Auxiliary Functions 12 Miscellaneous and Auxiliary Functions 12 1 Miscellaneous Functions Codes M With a numerical value of max 3 digits specified behind address M the NC will transfer the code to the PLC When a movement command and a miscellaneous function M are programmed in a given block function M will be issued during or after the motion command The machine tool builder will define the way of execution Codes M s include standard functions that can be used for special selected functions only They M00 M01 M02 M30 M96 M97 M98 M99 program control codes M03 M04 M05 M19 Spindle rotation codes M06 tool change code M07 M08 M09 coolant management codes M11 M18 spindle range changes codes The rest of M values can be used without restrictions When indexing is triggered by M the M codes of spindle indexing are selected on the basis of a parameter The control system enables several M codes of different groups to be written in a given block In this case however codes M s have a fixed sequence of execution The groups and the sequence of execution group 1 M06 tool exchange group 2 M11 M18 spindle gear range change group 3 M03 M04 M05 M19 spindle management group 4 M07 M08 M09 coolant management group 5 Mnnn any other function M group 6 codes M
139. ition Tool An incremental data may be defined to be referred to a single coordinate as well Standing behind the address of the coordinate character I refers to the incremental specification of the given coordinate value In block G90 XI 70 Y80 240 the data of X is interpreted as an incremental value whereas data Y and Z are for code G90 interpreted as absolute coordinates Fig 1 2 7 Modal Functions Some codes are effective until another code or value is specified These are modal codes E g in program detail N15 G90 G1 X20 Y30 F180 N16 X30 N17 Y100 14 1 Introduction the code of G90 absolute data specification and the value of F Feed specified in block N15 will be modal in blocks N16 and N17 Thus it is not necessary to specify those functions in each block followed One shot Non modal Functions Some codes or values are effective only in the block in which they are specified These are one shot functions Spindle Speed Command The spindle speed can be specified at address S It is also termed as S function Instruction 1500 tells the spindle to rotate at a speed of 1500 rpm Tool Function In the course of machining different tools have to be employed for the various cutting operations The tools are differentiated by numbers Reference can be made to the tools with code T Instruction T25 in the program means that tool No 25 has to be changed The tool change can be carried out manually or au
140. k end coordinate of axis 2 possible 5008 block end coordinate of axis 8 The block end coordinate will be entered in the variable in the current work coordinate system with the coordinate offsets taken into account in Cartesian coordinates With all compensations length radius tool offset ignored Instantaneous positions in the coordinate system of the machine system nature of position information entry during variable motion 5021 instantaneous coordinate of axis 1 G53 5022 instantaneous coordinate of axis 2 G53 not possible 5028 instantaneous coordinate of axis 8 G53 The instantaneous position G53 will be entered in the variable in machine coordinate system with all compensations length radius tool offset taken into account Instantaneous positions in the work coordinate system system nature of position information entry during variable motion 5041 instantaneous coordinate of axis 1 5042 instantaneous coordinate of axis 2 not possible 5048 instantaneous coordinate of axis 8 The instantaneous coordinate of will be entered in the variable in the current work coordinate system with the coordinate offsets taken in account in Cartesian coordinates with all compensations length radius tool offset taken into account 182 20 Custom Macro Skip signal position system nature of position information entry during variable motion 5061 Skip signal
141. l check that the condition 90 n 90 is fulfilled for angle n between the programmed displacement and the one compensated with the radius 107 14 The Tool Compensation In the other words the q 90 control will check wether the compensated displacement Compensated Compensated displacement 7 VY displacemeni vector has a component opposite to the programmed displacement vector or not Programmed displacement Programmed displacement There is no interference There is interference Fig 14 5 8 2 If parameter ANGLAL is set to 1 the control will after an angle check return an interference error message 3045 INTERFERENCE ALARM one block earlier than the occurrence of the trouble i Interference gt a Us inlerf2rence 5 V no interference Tol path AVV INTERFER 1 ANGLAL O l ocl path if INTERFER 0 Too stops and aetacts errer if INTERFER 1 ANGLAL Fig 14 5 8 3 108 14 The Tool Compensation If parameter ANGLAL is set to O the control will not return an error message but will automatically attempt to correct the contour in order to avoid overcutting The procedure of compensation is as follows Each of blocks A B and C are in offset mode The computed vectors between blocks A and B are P P P B the compensation vectors between blocks B and C are P5 Bs By Ps P and B will be ignored if there is an interference between them B and B will be ignored if there is an interfer
142. l modes The entire space is allowed if X I Y J Z K and E 0 The entire space is prohibited if X I Y J Z K and E 1 If the area is prohibited internally and the axes reach the prohibited area or a border thereof the control will return the error message 1400 INTERNALLY FORBIDDEN AREA If the area is prohibited externally and the axes reach the prohibited area or a border thereof the control will return the error message FORBIDDEN AREA t or FORBIDDEN AREA t where t is the name of axis 19 2 Parametric Overtravel Positions Using the parameters of the control the machine tool builder can define for each axis the overtravel positions that is the stroke limit permissible with the particular machine As soon as the border of that area 1s reached the control will return an error message as if it had run over a limit switch 5 Parametric overtravel function is only performed by the control after reference point has been returned 5 The parametric overtravel function will prohibit always an external area 5 The areas of programmed stroke check and that of overtravel functions may overlap Fig 19 2 1 162 19 Safety Functions 19 3 Stroke Check Before Movement The control differentiates two forbidden areas The first is the parametric overtravel area which delimits the physically possible movement range of the machine The extreme positions of that range are referred to as limit positions During movements
143. lation An example of programming a thread cutting N50 G90 GO XO YO S100 M4 N55 Z2 N60 G33 Z 100 r2 N65 M19 N70 GO X5 N75 Z2 MO N80 XO M4 N85 G4 P2 N90 G33 Z 100 r2 Explanation N50 N55 Moving the tool over the center of hole starting the spindle in counter clockwise rotation N60 First thread cutting cycle lead 2mm N65 Oriented spindle stop the spindle is stopped in a fixed position N70 Tool retraction along axis X N75 Tool retraction to the top of hole programmed stop the operator adjust the tool to the next thread cutting cycle Fig 4 5 3 N80 Return to the center of hole re start of spindle N85 Waiting for the speed to be assumed by the spindle N90 Second thread cutting cycle L Notes The control returns error message 3020 DATA DEFINITION ERROR G33 if more than two coordinates are specified at a time in the thread cutting block or if both addresses F and E are specified simultaneously Error message 3022 DIVIDE BY 0 IN G33 is produced when 0 is specified for address E in the thread cutting block An encoder has to be mounted on the spindle for the execution of command G33 In the course of command G33 being executed the control will take the feed and spindle override values automatically to be 100 the effect of the stop key will only prevail after the block has been executed On account of the following error of the servo system overrun and run o
144. le G42 G17 G91 N110 G1 X80 Y40 N120 G40 x0 N130 X 70 Y20 96 Fig 14 5 3 8 14 The Tool Compensation 14 5 4 Change of Offset Direction While in the Offset Mode The direction of tool radius compensation computation is given in the Table below Radius compensation positive Radius compensation negative The direction of offset mode can be reversed even during the computation of tool radius compensation This can be accomplished by programming G41 or G42 or by calling a tool radius compensation of an opposite sign at address D When the direction of offset mode is reversed the control will not check it for being outside it will always calculate a point of intersection in first steps The Figures below assume positive tool radii and change overs from G42 to G41 Fig 14 5 4 1 97 14 The Tool Compensation Unless a point of intersection is found in a linear to linear transition the path of the tool will be Fig 14 5 4 2 Unless a point of intersection is found in a linear to circular transition the path of the tool will be Fig 14 5 4 3 Unless a point of intersection is obtained in a circular to linear or circular to circular transition the end of compensation vector in the start point of the first circular interpolation will be connected with the end point of the compensation vector perpendicular to the start Relocated point of the second interpolation by a circular circle center ar
145. ll be calculated from the point where the skip signal has arrived and the motion stopped For example Actual exor on N1 G31 G91 X100 Motion wtheut skip signal N2 X30 Y50 An incremental motion in direction X is started in block N1 If the control comes to a halt at the SER siem is input huc point of coordinate X 86 7 on arrival of the external signal it will move incrementally 30 in X direction and 50 in Y direction in block N2 reckoned from that point Fig 18 1 2 In the case of an absolute data specification being programmed the motion will be SS ha ala aaa N1 G31 G90 X200 N2 X300 Y100 Interpolation N1 starts a motion in direction X to the point of coordinate X 200 If after arrival of the external signal the control comes to a halt at the point of coordinate X 167 the displacement in direction X will be X 300 167 Fig 18 13 i e X 133 in block N2 18 2 Automatic Tool Length Measurement G37 Instruction G37 q will cause the motion to be started in rapid traverse in the direction specified at coordinate q The value of q is interpreted invariably as an absolute data and it is the predicted position of the measuring sensor The motion will be carried on in rapid traverse rate as far as position q RAPDIST where RAPDIST is a parameter selected value The motion is then carried on with the feed specified in parameter G37FD until the signal of E probe cn or until the control ue error message 3103 OUT O
146. lute or incremental data 24 4 The Interpolation Further data of the circle may be specified in one of two different ways Case 1 At address R where R is the radius of the circle Now the control will automatically calculate the coordinates of the circle center from the start point coordinates the point where the control is in the instant of the circle block being entered the end point coordinates values defined at addresses X Y Zp and from the programmed circle radius R Since two different circles of radius R can be drawn between the start and the end points for a given direction of circumventing G02 or G03 the control will interpolate an arc smaller or larger than 180 when the radius of the circle is specified as a positive or a negative number respectively For example Arc section 1 co2 Arc section 2 c02 Arc section 3 c03 Arc section 4 c03 Case 2 X50 Y40 X50 Y40 X50 Y40 X50 Y40 R40 R 40 R40 R 40 Find puin 4 20 49 Staring poin Fig 4 3 2 The circle center is specified at address I J K for the X Y and Z axes The values specified at addresses I J K are interpreted always incrementally by the control system so that the vector defined by the values of I J K points from the start point to the center of the circle For example With G17 c03 x10 v70 I 50 3 20 With G18 c03 x70 210 I 20 K 50 With G19 co3 v10 270 3 50 K 20 End point ZE 7p Caring point End poml Zg X
147. manual tool change the number of tool to be used appears on the display it has to be clamped in the spindle manually Afterwards the machining will be resumed upon a start in the case of a turret type tool changer the new tool will be put to position of use automatically under the action of code T Thus a reference to the tool number will evoke an immediate change in the block which T has been specified in Case B A tool change needs some preparations on the machine Its steps The tool to be employed has to be found in the magazine Now reference to address T in the part program will bring the appropriate tool in change position This operation is carried out in the background simultaneously with the machining The slides or only one of them have to be sent to the change positions The tool change is carried out by function M06 in the program The control will wait for the execution of the tool change until tool T under preparation is brought to change position As a result the new tool will be placed in the spindle Henceforth cutting may be resumed The old tool is replaced in the tool magazine This activity is performed in the background simultaneously with cutting The search is commenced for the new tool in the magazine 69 1 Tool Function This procedure is described in the part program as follows the search is commenced for tool Tmmmm with cutting performed in the meantime tool Tnnnn
148. 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 polar coordinate data specifications are set up Using G90 G91 or operator I the v coordinates of the axes of the mirror image can be specified as absolute or incremental data No mirror image will be on the axis for the address of which no value has been assigned Command G50 1 v will cancel the mirror image on axis axes specified at v Any arbitrary data can be written for the v coordinates its effect will only record the fact of canceling When this command is issued no rotation or scaling command may be in effect Otherwise an error message 3000 MIRROR IMAGE IN G51 G68 is returned When a mirror image is applied on an axis of composing the selected plane the circle direction is reversed automatically interchange of G02 G03 the angle of rotation is assigned an opposite meaning G68 116 15 Special Transformations Example subprogram 00101 N1 G90 GO X180 Y120 F120 N2 G1 X240 N3 Y160 N4 G3 X180 Y120 R80 N5 M99 140 l80 Fig 15 3 1 main program 00100 1 G90 2 M98 P101 call of subprogram 3 G51 1 X140 absolute coordinate specification mirror image applied to an axis parallel to axis Y on coordinate X 140 4 M98 P101 call of subprogram O1 G51 1 Y100 mirror image applied to an axis parallel to axis X on coordinate Y 100
149. me the remainder of the quotient of variables j and k The value of k may not be 0 or else the control will return error message 3092 DIVISION BY 0 Example at 120 27 MOD 4 the value of variable 120 will be 3 Logical product and i 4j AND k The code of operation is AND As a result of operation the logical product of variables j and k will be entered in every bit of the 32 bits in variable 1 Wherever 1 is found at each of the identical bit position of two numbers 1 will be found there in the result otherwise O Functions Square root 1 SORT j The code of operation is SQRT As a result of operation variable 1 will assume the square root of variable j The value of j may not be a negative number Sine i SIN j The code of operation is SIN As a result of operation variable i will assume the sine of variable j The value of j always refers to degrees Cosine i COS j The code of operation is COS As a result of operation variable i will assume the cosine of variable j The value of j always refers to degrees Tangent 1 TAN j The code of operation is TAN As a result of operation variable i will assume the tangent of variable j The value of j always refers to degrees The value of j may not be 2n 1 90 where n 0 1 2 Arc sine 1 ASIN j The code of the function is ASIN As a result of operation variable i will assume the arc sine of variable j in degrees The
150. med position 1 it always moves in the shorter direction 0188 C ROTARY 1 Block programmed by absolute Movement affected Position at 0243 ROLLOVEN_C 1 coordinate input by block block end 0263 ROLLAMNT C 360000 Lmca s ee T e CNN 42 5 The Coordinate Data Movement of rotary axis in case of incremental programming In case of programming incremental data input the direction of movement is always according to the programmed sign The appropriate parameter ROLLAMNT x to be applied for movement setting can be set at parameter 0247 RELROUND_A 0248 RELROUND B or 0249 RELROUND C for axis A B or C respectively If the appropriate parameter RELROUND x 0 parameter ROLLAMNT x is out of use i e the movement can be greater than 360 x parameter ROLLAMNT x is in use If e g ROLLAMNT C 360000 360 the largest movement on axis C may be 359 999 0188 C ROTARY 1 Block programmed by Movement affected Position at 0243 ROLLOVEN C 1 incremental data input by block block end 0263 ROLLAMNT C 360000 parameter ROLLAMNT Cisoutof G91 C450 ie CNN a a NN FC HN B o 43 6 The Feed 6 The Feed 6 1 Feed in rapid travers G00 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 rapid traverse may be different for each axis When several axes are performing rapid traverse motions simultaneously the resulta
151. meters 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 which it has been specified N1 G90 G17 GO X0 YO Z100 M3 N2 G91 G81 X100 Z 40 R 97 F50 L5 Under the above instructions the control will drill 5 identical holes spaced at 100mm along axis X The position of the first hole is X 100 Y 0 Under G91 the position of the hole has been specified incrementally If it had been specified as an absolute data G90 the operation would have been carried out five times in succession in the point of X100 YO coordinates N1 G90 G17 G16 GO X200 Y 60 250 M3 N2 G81 YI60 Z 40 R3 F50 L6 Under the above instructions the control will drill 6 holes spaced at 60 degrees around a circle of a 200mm radius The position of the first hole coincides with the point of X 200 Y 0 coordinates Fig 17 5 Fig 17 6 140 17 Canned Cycles for Drilling 17 1 Detailed Description of Canned Cycles 17 1 1 High Speed Peck Drilling Cycle G73 y initial point Point R ni Point Z 4 Fig 17 1 1 1 The variables used in the cycle are G17 G73 X Y Z R Q E F L G18 G73 Z _ X Y R Q E F L G19 G73 Y Z X R Q E F L The operations of the cycle are l rapid traverse positioning 2 3 rapid traverse movement to point R 4 5 drilling as far as the point Z with feed F 6 T7 with G99 retraction to point R in rapid traverse 8 9
152. nce i e the control will assume L 1 Instruction M98 P11 L6 means that subprogram 011 has to be called six times repeatedly It is also possible to call a subprogram from another subprogram The subprogram calls can be nested to max 4 levels main program subprogram subprogram subprogram subprogram 00001 As 200012 pu D n9eP11 oe J iis M98P14 d a ss e E M99 Du Dos L Notes An error message 3069 LEVEL EXCESS is returned when the number of subprogram calls nested exceeds 4 An error message 3071 MISSING OR FAULTY P is returned when the value of address P exceeds 9999 or is not specified An error message 3072 DEFINITION ERROR L is returned when the value of L is incorrect An error message 3073 NOT EXISTING PROGRAM is returned when a program specified with an identifier at address P is not available in the memory 13 3 2 Return from a Sub program The use of instruction M99 in a sub program means the end of that sub program and the program execution returns to the block following the call in the calling program 74 main program N101 M98 P0011 oria 2 The use of instruction M99 P subprogram 13 Part Program Configuration comment execution of program 00010 calling sub program 00011 execution of sub program O0011 return to the next block of the calling program resumption of program 00010 in a sub program means the end of that sub program and the program execution returns to the bl
153. nd ENDm will be executed for an indefinite infinite period of time Possible values of m are 1 2 3 Error message 309 ERRONEOUS OPERATION WITH will be returned ifany other value is specified Error message 309 ERRONEOUS OPERATION WITH is returned unless WHILE is followed by a conditional expression Error message 3064 BAD MACRO STATEMENT will be returned if the conditional expression includes a syntactic error The rules of cycle organization nstruction DOm has to be specified before instruction ENDm END1 false ERROR 72 DO1 189 20 Custom Macro Instructions DOm and ENDm must be put in pairs DOL DO1 false END1 DO1 END1 false END1 A particular identifier number can be used several times Dol END1 correct DO1 END1 Pairs DOm ENDm can be nested into one another at three levels pot Do2 Do3 correct END3 END2 END1 190 Pairs DOm ENDm may not be overlapped Doi Do2 false END1 mie A divergence can be made outside from a cycle Do T correct END1 N150 No entry is permissible into a cycle from outside GOTO150 DO1 false N150 END1 DO1 N150 false END1 GOTO150 20 Custom Macro 191 20 Custom Macro A subprogram or a macro can be called from the inside of a cycle The cycles inside the subprogram or the user macro can again be nested up to three levels poi ate correc
154. ng and rotation can be applied Mirror images also may not be overlapped with scaling and rotation commands Accordingly first rotation and scaling have to be canceled in the appropriate order followed by the instruction canceling the mirror image GSLI u G51 G68 G69 G50 G50 1 118 mirror image set up scaling set up rotation set up canceling rotation canceling scaling canceling mirror image 16 Automatic Geometric Calculations 16 Automatic Geometric Calculations 16 1 Programming Chamfer and Corner Round The control is able to insert chamfer or rounding between two blocks containing linear G01 or circle interpolation G02 G03 automatically A chamfer the length of which equals to the value specified at address N2C01XY C Chunyjer Chamfer comma and C is inserted between the end point of the block NIGOLY C p EBENE containing address C and the start point of the forthcoming block D c 5 E g NI programmed end paint Ni programmed cnd poin N1 G1 G91 X30 C10 N2 X10 Y40 Fig 16 1 1 The value specified at the address C shows the distance between the start end point of chamfer and the supposed intersection of the two successive blocks A chamfer may also be inserted between circles or between a circle and a straight line In this case value C is the length of the chord drawn from intersection A rounding the radius of which corresponds to the value given at address
155. nition commands in blocks N40 and N50 are executed during movement in block N30 Macro commandN49 NSO NC command N30 ooo Time Fig 20 15 2 L Conclusions program execution is faster if execution of block N30 is interrupted and afterwards the machining is restarted the machining can not be continued only if block search is started for block N30 since variables of block N30 are already overwritten by the blocks N40 N50 20 16 Displaying Macros and Sub programs in Automatic Mode The blocks of macros and subprograms willbe displayed by the control in automatic mode If parameter MDS is set to 0 the blocks of subprograms and macros numbered 8000 to 8999 will not be listed when they are executed With parameter MDS set to 1 their blocks will also be listed If parameter MD9 is set to 0 the blocks of subprograms and macros numbered 9000 to 9999 will not be listed when they are executed With parameter MD9 set to 1 their blocks will also be listed 20 17 Using the STOP Button While a Macro Instruction is Being Executed Pressing the STOP button i e suspension of the program execution will be effective always on completion of the macro instruction being executed 197 20 Custom Macro 20 18 Pocket milling Macro Cycle Instruction G65 P9999 X YZIJKRFDEQMST will start a pocket milling cycle For the execution of the cycle macro of program number 09999 has to be filled in the memory from the PROM memory of the
156. nt feed will be calculated in such a way that the speed component of each axis will not exceed the particular rapid traverse value set as a parameter and the positioning is accomplished in a minimum of time Rapid traverse rate is modified by the rapid traverse override switch that can be FO defined by parameter RAPOVER in and 25 50 100 The rapid traverse rate will not exceed 100 Rapid traverse will be stopped if the state of the feedrate override switch is 0 In lack of a valid reference point the reduced rapid traverses defined by the machine tool builder by parameter will be effective for each axis until the reference point is returned Rapid traverse override values can be connected to the feedrate override switch When the slide is being moved by the jog keys the speed of rapid traverse is different from the rapid traverse in GOO it is also selected by parameters separately for each axis Appropriately it is lower than the speed of positioning for human response times 6 2 Cutting Feed Rate The feed is programmed at address F The programmed feed is accomplished in blocks of linear GO1 and circular interpolations G02 G03 The feed is accomplished tangentially along the prog rammed path Fig 6 2 1 F tangential feed programmed value F feed component in the X direction F feed component in the Y direction F JFITE Except for override and stop inhibit states G63 the programmed feed can be modi
157. nter covers a full arc of a circle from point P to point P and another one from point P to point P 106 Fig 14 5 7 13 Fig 14 5 7 14 14 The Tool Compensation Two or more compensation vectors may be produced when going around sharp corners When their end points lie close to each other there will be hardly any motion between the two points When the distance between the two vectors is smaller than the value of parameter DELTV in each axis the AN amp SDFELTV b R ru mR N vector shown in the Figure will be omitted and the This vector path of the tool will be modified accordingly E i a L Note When parameter DELTV is too high in causeless way the sharp corners with acute angles may be overcut Fig 14 5 7 15 14 5 8 Interferences in Cutter Compensation It may frequently occur in offset mode that the path of the tool is the opposite of the programmed one Under such conditions the tool may cut into the workpiece contrary to the programmer s intentions This phenomenon is referred to as the interference in cutter compensation In the case shown in the Figure after the intersection points have been computed a tool path opposite to the programmed one will be obtained in the execution of interpolation N2 The hachure area indicates that the tool cuts in the workpiece Fig 14 5 8 1 To avoid this the control performs an interference check when parameter NTERFER is set to 1 Now the control wil
158. nterpolation G7 1 4 7 Cylindrical Interpolation G7 1 Should a cylindrical cam grooving be milled on a cylinder mantle cylindrical interpolation is to be used In this case the rotation axis of the cylinder and of a rotary axis must coincide The rotary axis movements are specified in the program in degrees which are converted into linear movement along the mantle by the control in function of the cylinder radius so that linear and circular interpolation can be programmed together with another linear axis The movements resulted after the interpolations are re converted into movement in degrees for the rotary axis Command cylindrical interpolation on G7 1 Qr switches cylindrical interpolation on where Q address of rotary axis taking part in the cylindrical interpolation r cylinder radius If for example the rotary axis acting in cylindrical interpolation is axis C and the cylinder radius is 50 mm cylindrical interpolation is switched on by means of command G7 1 C50 In the succeeding part program the path to be milled on the cylinder mantle can be described by specifying linear and circular interpolation The coordinate for the linear axis must be given in mm while that of the rotary axis in degrees Command cylindrical interpolation off G7 1 QO switches cylindrical interpolation off i e code G corresponds to that of the switch on except for the address of rotary axis being 0 The cylindrical interpolation indicated in the a
159. ntersection in the direction of the straight line is given Q 1 while in 09984 the farther one is specified Q1 Circular linear intersection calculation can also be combined with a chamfer or rounding specification E g 09983 N10 G17 GO X90 YO M3 S200 N20 G42 G1 X50 DO N30 G3 X 50 YO R50 R15 N40 G1 X 50 Y42 857 A171 87 Q 1 N50 G40 GO Y70 N60 X90 N70 M30 2 In the example a 15mm rounding is programmed in block N30 R15 The control calculates the intersection of blocks N30 and N40 and inserts the programmed rounding to the resulting contour 130 16 Automatic Geometric Calculations 16 3 4 Circular circular Intersection If two successive circular blocks are specified so that the end point the center coordinates as well as the radius of the second block are given i e it is determined over the control calculates intersection between the two circles The calculated intersection is the end point of the first block as well as the start point of the second one G17 G41 G42 G18 G41 G42 G19 G41 G42 N1 G2 G3 X1 Y1II Jl N1 G2 G3 X1 Z1 Il K1 N1 G2 G3 Y1Z1 J1 K1 or X1 Y1 RI or XI ZI R1 or Y1 ZI R1 N2 G2 G3 G90 X2 Y2 N2 G2 G3 G90 X2 72 I2 N2 G2 G3 G90 Y2 Z2 J2 I2 J2R2Q K2R2Q K2R2Q Spacifying the second mierzection pomt Specifying the first inlerseclton poinl Fig 16 3 4 1 Fig 16 3 4 2 The intersection is always calculated in the plane selected by G17 G18 G19 The first block N1 is s
160. o Work zero point offsets 5201 through 5328 The work zero point offsets can be read at variables 5201 through 5328 or values can be assigned them No of value of variable variable 5201 common work zero point offset 5202 common work zero point offset 5206 common work zero point offset 5221 work zero point offset value 5222 work zero point offset value 5228 work zero point offset value 5241 work zero point offset value 5242 work zero point offset value 5248 work zero point offset value 5261 work zero point offset value 5262 work zero point offset value 5268 work zero point offset value 5281 work zero point offset value 5282 work zero point offset value 5288 work zero point offset value 5301 work zero point offset value 5302 work zero point offset value 5308 work zero point offset value 5321 work zero point offset value 5322 work zero point offset value 5368 work zero point offset value 178 workpiece coordinate system axis 1 common for all the axis 2 coordinate systems axis 6 axis 1 G54 axis 2 axis 8 axis 1 G55 axis 2 axis 8 axis 1 G56 axis 2 axis 8 axis 1 G57 axis 2 axis 8 axis 1 G58 axis 2 axis 8 axis 1 G59 axis 2 axis 8 20 Custom Macro The axis number refers to the physical ones The relationship between the numbers and the names of axes will be defined by the machine tool builder by parameters in group AXIS Usually axes 1 2 and 3 are assigned to addres
161. ock of calling program specified at address P In this case the limit values of P are to 99999 main program N101 M98 P0011 Instruction M99 P L subprogram M99 P250 comment execution of program 00010 calling sub program 00011 execution of subprogram 00011 return to the N250 block of the calling program resumption of 00010 will rewrite the cycle counter of the calling program With O written for L the sub program will be called only once If e g subprogram O0011 is called with instruction M98 P11 L20 and a return is made with instruction M99 L5 subprogram O0011 will be called 6 times The limit values of L are 1 to 9999 L Note An error message 3070 NOT EXISTING BLOCK NO P is displayed when the return block number P is not found in the calling program 75 13 Part Program Configuration 13 3 3 Jump within the Main Program The use of instruction M99 in the main program will produce an unconditional jump to the first block of the main program and the execution of the program will be resumed there The use of this instruction results in an endless cycle 00123 Niza will produce an unconditional jump to the block specified at address P of the main program and the execution of the program will be resumed there The use of this instruction results in an endless cycle 00011 00011 T M99 P225 N128 T N225 lt M99 P128 The possibility of endless c
162. oder 0 001 inch 99999 999 inch 0 01 degree 999999 99 degree 0 001 mm 99999 999 mm IS B 0 0001 inch 9999 9999 inch 18 3 Preparatory Functions G codes 3 Preparatory Functions G codes The type of command in the given block will be determined by address G and the number following it The Table below contains the G codes interpreted by the control system the groups and functions thereof G00 positioning linear interpolation G02 circular helical interpolation clockwise CW circular helical interpolation counter clockwise CCW dwell multi buffer mode on Cylindrical interpolation exact stop in the given block G10 data setting programmed 39 79 programmed data setting cancel Polar coordinate interpolation on polar coordinate command cancel polar coordinate command selection of X Y plane 02 selection of Z X plane selection of Y Z plane 04 inch input metric input programable stroke check function off 158 spindle speed fluctuation detection off spindle speed fluctuation detection on programmed reference point return return from reference point return to the 1st 2nd 3rd and 4th reference point skip function Gs r Automatic tool length measurement cutter compensation vector hold 100 19 3 Preparatory Functions G codes gas ewtercompensatiomcomerae y am Gode G39 G40 cutter radius 3 dimensional tool compensation cancel G41 G42
163. of the circle are specified Therefore coordinates X130 Y 40 of the circle programmed in the previous block N30 are not referred to as end point coordinates but only as a point which is lying on the circle and the end point is the calculated intersection In program No 09985 the nearer intersection in clockwise direction is given Q 1 while in 09986 the farther one is specified Q1 Circle intersection calculation can also be combined with chamfer or corner rounding specification E g 09986 10 G17 G54 GO X200 Y10 M3 S200 20 G42 G1 X180 D1 30 G3 X130 Y 40 R 50 R20 40 X90 Y87 446 I50 J30 R70 Q1 50 G40 GO Y100 60 X200 70 M30 In the example a 20mm corner rounding is programmed in block N30 R20 The control calculates the intersection of blocks N30 and N40 and inserts the programmed rounding to the resulting contour 133 16 Automatic Geometric Calculations 16 3 5 Chaining of Intersection Calculations Intersection calculation blocks can be chained i e more successive blocks can be selected for intersection calculation The control calculates intersection till straight lines or circles determined over are found Let us examine the example below 10 159 Noo RE 130 10 108 M d 190 70 60 70 3 i rae 170 54 80 00 1 120 40 di w Fi 230 20 40 60 80 i100 120 180 209 220 Fig 16 3 5 1 309984 N10 G17 G54 GO G42 X230 Y20 D1 F300 S500 M3 N20 Gl X170 Y50 N30 G3 X
164. oint A N120 G28 Y80 N130 G29 YO N140 X80 Y50 NI10 Fig 14 5 7 8 A new compensation value can also be Covin naion vatt r called at address D in offset mode In the calculated from D1 event of a reversal in the sign of the radius the direction of motion along the contours will be reversed see earlier Otherwise the following procedure will N2 D2 be applicable The compensation vector Compenttion vector will be calculated with the new radius NL DI calculated from D value at the end point of the interpolation pi 14 5 7 9 in which the new address D has been programmed Since the compensation vector has been computed with the previous radius value at the start point of that block the path of the tool center will not be parallel to the programmed path A new radius compensation value can be called at address D in a circular interpolation too this time however the tool center will be moving along an arc with a variable radius A special instance of the foregoing is canceling or setting up the compensation with DOO or Dnn respectively while in offset mode Notice the difference in tool paths with reference to the following example when the compensation is set up with G41 or G42 and canceled with G40 or when the compensation is set up and canceled by programming D 104 14 The Tool Compensation Fig 14 5 7 10 A particular program detail or subprogram may be used also for machining a male or female work p
165. olute or incremental values In an absolute specification the coordinates of the end point have to be specified for the control for an incremental data it is the distance to go in the block G90 Programming of absolute data G91 Programming of incremental data G90 and G91 are modal functions Parameter CODES will decide which state will be assumed by the control system at the time of power on Movement to an absolute position is only feasible after a reference point return Example As shown in the Figure a movement can be programmed in one of two different ways G90 G01 X20 Y50 G91 G01 X 40 Y30 Operator I will be effective under the conditions of an absolute data specification It is only applicable to the coordinate whose address precedes it It means an incremental data The alternative way of solving the above example G90 G01 XI 40 YI30 G01 X20 YI30 Fig 5 1 1 G01 XI 40 Y50 Lind poirt Starting pomi l 1 1 l l 1 1 l l 1 1 I l 1 T l l 1 1 l l 1 I 5 2 Polar Coordinates Data Command G15 G16 Alternatively the coordinates of the end point can be entered with polar coordinate data specification i e with the specification of angle and radius G16 Polar coordinate data command G15 Polar coordinate data command cancel The control is in G15 state after power on G15 and G16 are modal functions The data of polar coordinates are effective in the plane defined by G17 G18 G19 When a data is
166. oordinate system cutter radius compensation positioning of drilling cycles will be performed can be selected with the following G codes G17 X Y plane G18 ZX plane G19 Y Z plane 61 9 Coordinate Systems Plane Selection X X or an axis parallel to X Y Y or an axis parallel to Y Z 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 depending on the axis addresses programmed in a given block When 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 the VZ plane will be selected by G19 V Z Unless G17 G18 G19 is specified in a block the selected plane remains unchanged G17 X Y planeXY U Y plane XY remains Unless there is an axis address specified in the G17 G18 G19 block the control will consider the basic axes the XY plane will be selected by G17 the XY plane will be selected by G17 X the UY plane will be selected by G17 U the XV plane will be selected by G17 V the ZX plane will be selected by G18 the WX plane will be selected by G18 W The selected plane is unaffected by the movement command G90 G17 GOO Z100 will select th
167. or two blocks containing no interpolations are written in the program the control will set an offset vector Vir perpendicular to the end point of the last interpolation NI20 NI 30 in the selected plane and the path will be distorted l G17 G42 G91 N110 G1 X50 Y70 N120 G4 P2 N130 S400 N140 X60 Fig 14 5 7 2 101 14 The Tool Compensation If no cut is feasible in direction Z unless the radius compensation is set up the following procedure may be adopted G17 G91 NI20 N110 G41 GO X50 Y70 D1 Mpsapent dn N120 G1 Z 40 direction Z N130 Y40 Now the tool will have a correct path as is shown in the Figure Fig 14 5 7 3 If however movement in direction Z is broken up into two sections rapid traverse and feed the path will be distorted because of the two consecutive interpolations outside of the selected plane 617 G91 N1290 N130 N110 G41 GO X50 Y70 D1 Movements in N120 2 35 direction Z N130 G1 z 5 N140 Y40 Fig 14 5 7 4 As a trade off insert a small movement in direction Y between two ones in direction Z G17 G91 N110 G41 GO X50 Y69 D1 N120 2 35 N130 Y1 N140 G1 2 5 N150 v40 With the above trick a correct compensation vector can be got Fig 14 5 7 5 102 l h 14 The Tool Compensation The path of tool will be as follows when instructions G22 G23 G52 G54 G59 G92 G53 G28 G29 G30 are inserted between two interpolations When command G2
168. ose axle of rotation parallel to X Y and Z directions are termed A B and C respectively 2 2 Unit and Increment System of Axes The coordinate data can be specified in 8 digits They can have signs too The positive sign is omitted The data of input length coordinates can be specified in mm or inches They are the units of input measures The desired one can be selected from the program The path measuring device provided on the machine can measure the position in mm or in inches It will determine the output unit of measures which has to be specified by the control system as a parameter The two units of measures may not be combined on a given machine In the case of different input and output units of measures the control system will automatically perform the conversion 17 2 Controlled Axes 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 be selected as parameter There are three systems available IS A IS B and IS C The increment systems may not be combined for the axes on a given machine Having processed the input data the control system will provide new path data for moving the axes Their resolution is always twice the particular input increment system It is termed the output increment system of the control Thus the input increment system of the control is determined by the resolution of the enc
169. p Erg poin rYbo Zp Stari 2 poant Summa point E Es 25 4 The Interpolation The feed along the path can be programmed at address F P Teronairi pointing in the direction of the circle tangent and being constant all along the path L Notes I0 JO KO may be omitted e g G03 x0 Y100 I 100 When each of X Y and Z is omitted or the end point coordinate coincides with the start point coordinate then a If the coordinates of the circle center are programmed at addresses I J K the control will interpolate a complete circle of Fig 4 3 4 360 E g G03 I 100 b If radius R is programmed the control returns error 30 2 ERRONEOUS CIRCLE DEF R When the circle block a does not contain radius R or I J K either b or reference is made to address I J K outside the selected plane the control returns 3014 ERRONEOUS CIRCLE DEF error E g G03 X0 Y100 or G18 G02 X0 Z100 J 100 The control returns error message 3077 RADIUS DIFFERENCE whenever the difference between the start point and end point radii of the circle defined in block G02 G03 exceeds the value defined in parameter RADDIF Whenever the difference of radii is smaller than the value specified in the above parameter the control will move the tool along a spiral path in which the radius is varying linearly with the central angle The angular velocity not the one tangential to the path will be constant in the interpolation
170. pecified either with the center coordinates I J I K J K or with the radius R of the circle In this block the interpretation of center coordinates corresponds to the default circle specification i e it is the relative distance from the start point The coordinates given in the second block N2 as 131 16 Automatic Geometric Calculations I J K coordinates defining the circle center are always interpreted by the control as absolute data G90 Of the two resulting intersections the one to be calculated by the control can be specified at address Q If the address value is less than zero Q lt 0 e g Q 1 the first intersection is calculated while if the address value is greater than zero Q gt 0 e g Q1 it is the second one The first intersection is the one first intersected going clockwise independent of the programmed direction G2 G3 132 16 Automatic Geometric Calculations Let us see the following example Second pomt VIE Ql scend point OW direction CW direction Fig 16 3 4 4 09985 09986 10 G17 G54 GO X200 Y10 M3 S200 10 G17 G54 GO X200 Y10 M3 S200 20 G42 C1 X180 D1 20 G42 G1 X180 D1 30 G3 X130 Y 40 R 50 30 G3 X130 Y 40 R 50 40 X90 Y87 446 I50 330 R70 Q 1 40 X90 Y87 446 I50 330 R70 O1 50 G40 GO Y100 50 G40 GO Y100 60 X200 60 X200 70 M30 70 M30 o D 5 5 Circular block N40 is defined over because both the center coordinates 150 J30 in absolute value and the radius R70
171. preted as a spindle indexing commands i e the threshold number will be subtracted from the programmed value of M and the number obtained will be treated as an incremental displacement specified in degrees Thus if M_NUMB1 100 command M160 means that the spindle must be turned by 160 100 60 degrees from its current position The direction of rotation is selected by parameter CDIRS I its rate is selected by parameter RAPIDSI 10 6 Spindle Speed Fluctuation Detection G25 G26 Command G26 enables spindle speed fluctuation detection while command G25 cancels it After power on or RESET the control is set to state G26 i e spindle speed fluctuation detection is on This function signals abnormalities occurring in the course of spindle rotation as the result of which e g spindle seizure can be avoided The speed fluctuation detection is influenced by 4 parameters These parameters can be overwritten from a program with addresses following command G26 The overwritten parameters are kept upon power off The parameters are overwritten as the effect of command G26 Pp Qq Rr Dd The below table contains the parameter interpretations parameter meaning unit value limit 5001 TIME time from the issue of a new spindle 100 msec 65535 speed command to the start of checking NM 5002 SCERR tolerance of a specified spindle speed r 5003 FLUCT allowable amount of spindle speed 1 50 fluctuation in the percentage of programmed speed EZ 5004
172. priate G code programmed the input data can be specified in metric or inch units G20 Inch input programming G21 Metric input programming At the beginning of the program the desired input unit has to be selected by specifying the appropriate 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 off i e the unit prevailing at the time of power off will be effective after power on The change of the unit will affect the following items Coordinate and compensation data Feed Constant surface speed Position compensation and feed displays 5 4 Specification and Value Range of Coordinate Data Coordinate data can be specified in 8 decimal digits The decimal point will be interpreted as the function of the unit of measure applied X2 134 means 2 134 mm or 2 134 inch B24 36 means 24 36 degrees when address B refers to a rotary axis The use of a decimal point is not mandatory X325 means e g 325 mm The leading zeros may be omitted 032 0 032 The trailing zeros may be omitted behind the decimal point 0 320 32 The control will interpret a number with more decimals defined by the increment system For example command X1 23456 will be when IS B increment system is selected interpreted as 1 235 mm metric unit 1 2346 inch inch unit Accordingly the input dat
173. r coordinate data specifications are set up Using G90 G91 or operator I the p and q coordinates of the center of rotation can be specified as absolute or incremental data Unless one or both of p and q are assigned values the instantaneous axis position will be taken for the center of rotation Fig 15 1 1 The angle of rotation is specified at address R A positive or negative value written at the address R represents a counter clockwise or a clockwise direction of rotation respectively The value of R can be specified in 8 decimal digits The accuracy of rotation can be selected with reference to parameter ANG A CCU If its value is O or 1 the accuracy of calculating the rotation will be 0 001 or 0 00001 respectively The value specified for R may be absolute or incremental When the angle of rotation is specified as an incremental Fig 15 1 2 data the value of R will be added to the previously programmed angles The rotation can be canceled with command G69 The coordinates of the center of rotation and the angle will be deleted That instruction may accompany other commands as well 114 15 Special Transformations Example 1 G17 G90 GO X0 YO 2 G68 X90 Y60 R60 3 G1 X60 Y20 F150 G91 X60 Y20 F150 Tool path 7 after rotation 1 1 1 1 1 1 1 a i n Au 1 1 1 te 4 G91 X80 5 G3 Y60 R100 6 Gl X 80 7 Y 60 8 G69 G90 x0 YO Orioinal fool path 1 F ee e
174. rc of variable radius 105 auxiliary function s 12 Axes Increment System 17 Names zc Pe RPEIDERe RI vpu RES 17 Number 02 e0 eee ere 17 Unit System zs RR 17 Beginning of Program 10 IBIGGKE 56 outer nnd ees ke 10 block by block execution 175 Gle oc fost dk ede toe ode oe 94 100 direction 0 00000 ee aee 117 circle of variable radius 106 circular 88 95 interpolation 4 c 4o0seneoi Ser oes 62 Codes M 22s deo noel cews Ta Compensation 78 85 Legit s Quaere EA wpS CERCA 78 80 Radius 2 0 cee ee 79 Conditional divergence 185 conditional stop 000 5 T2 Controlled Axes susn 17 coolant 00088 15 72 73 Coordinate Data ssssn 40 Limit ae bee Petes deeb a hoes 40 Specification 40 Value Range Less 40 Coordinate Specification Absolute 00 00 00 0c eee 14 Incremental 0 14 Coordinate System 13 common offset 04 59 local x 24st leui e a ees 60 machine s 00 0 c eee eee 56 Transformations 0 115 WOK uec enr eine amp eaten 51 Workpiece 24042402 ete tp hes 174 Corner Ares 1 0 0 eee eee 100 comer override 0 0 00 eee eee 50 Cutter Radius Compensation 16 Deceleration 000000005
175. rence to address D will be ineffective until G41 or G42 has been programmed The procedure of setting up and canceling the radius compensation is detailed in the subsequent sections Commands G40 G41 G42 are modal ones The control will assume state G40 after power on at the end of a program or in the event of resetting the program to its beginning under such conditions the radius compensation vectors will be deleted Radius compensation instructions will be carried out by the control in automatic mode only It is ineffective when programming a single block in manual mode The reason of this is as follows For the control to be able to compute the compensation vector in the end point of a block interpolation it must also read the next block containing the movement in the selected plane The compensation vector depends on the transition between the two interpolations Accordingly several blocks interpolations have to be pre processed for the calculation of a compensation vector 85 14 The Tool Compensation An auxiliary data is to be introduced before embarking on the discussion of the details of the compensation computation It is the angle at the corner of two consecutive blocks viewing from the workpiece side The direction of depends on whether the tool goes around the corner from the left or right side The control will select the strategy of going around in the intersection points as the function of angle If gt 18
176. riable M 0 C 0 Representation of a 0 value variable M 0 C 128 The nature of a vacant variable compared in an address Reference to a vacant variable in an address If 1 lt vacant gt if 1 0 G90 X20 Y 1 G90 X20 Y 1 x x G90 X20 G90 X20 YO Vacant variable in a definition instruction if 1 lt vacant gt if 4120 12 41 2 41 x x 2 lt vacant gt 2 0 2 1 3 2 1 3 x x 12 20 12 0 2 1 1 2 1 1 x x 12 0 12 0 173 20 Custom Macro Difference between a vacant variable and a 0 value one in a conditional expression will be if 1 lt vacant gt if 1 0 1 EQ 0 1 EQ 0 x x fulfilled not fulfilled 1 NE 0 1 NE O k k fulfilled not fulfilled 1 GE 0 1 GE 0 k k fulfilled not fulfilled 1 GT 0 1 GT 0 x k fulfilled not fulfilled 20 12 Types of Variables With reference to the ways of their uses and their properties the variables are classified into local common and system variables The number of the variables tells the particular category to which it pertains 20 12 1 Local Variables 1 through 33 The local variable is a variable used by the macro program locally If macro A calls B and reference is made to local variable ffi in each of macros A and B the value of local variable ffi at the level macro A will not be lost and will not be re written after macro B has been called despite the fact that reference is made to i in macro B as well The local variables are used for the tr
177. rial directions have to be computed at the end points of the interpolations Then the programs generated in this way Fis 14 6 2 1 can be run with the use of tools of different dimensions as well The compensation vector cannot be altered in a circular interpolation i e the compensation vectors are identical at the beginning and end of a circular interpolation Compensated offset path 112 14 The Tool Compensation Instruction G42 functions in the same manner as G41 with the difference that the compensation vector is computed in a direction opposite to G41 geet P ies P y Kee z P A change over from state G41 to G42 or vice versa is only feasible in a linear interpolation block The previous values will be modal if with the three dimensional tool compensation set up I and J and K are all omitted in an interpolation It is not feasible to set up the three dimensional compensation and two dimensional radius compensation simultaneously 113 15 Special Transformations 15 Special Transformations 15 1 Coordinate System Rotation G68 G69 A programmed shape can be rotated in the plane selected by G17 G18 G19 by the use of command G68 pqR The coordinates of the center of rotation will be specified at address p and q The system will only interpret the data written at coordinates p and q of the selected plane The entered p and q coordinate data are also interpreted as rectangular coordinate data even when pola
178. rictions in the course of polar coordinate interpolation The below commands cannot be used in the switched on state of polar coordinate interpolation plane change G17 G18 G19 coordinate transformations G52 G92 work coordinate system change G54 G59 orientation in machine coordinate system G53 Feed in the course of polar coordinate interpolation Interpretation of feed in polar coordinate interpolation is tangential speed as in case of right angle interpolation The relative speed of piece and tool is defined With polar coordinate interpolation the path described in a Cartesian coordinate system is done by moving a linear and a rotary axis As the tool center approaches the circular axis of rotation the rotary axis should have to take larger and larger steps within a time unit so that the path speed is constant However the maximum speed permitted for the rotary axis defined by parameter limits circular axis speed Therefore near to the origin the control decreases feed step by step for the rotary axis speed not to exceed all limits 32 4 6 Polar Coordinate Interpolation G12 1 G13 1 The diagram beside shows the cases when straight lines parallel to axis X 1 2 3 4 are programmed x move belongs to the programmed feed within a time unit Different angular moves N N2 ns N4 belong to x move for each straight lines 1 2 3 4 Apparently the closer the machining gets to the L TA origin
179. rk coordinate system 6 They are modal functions Their selection before a reference point return is ineffective After a reference point return work coordinate system 1 G54 will be selected The absolute coordinate data of the Work coordinate interpolation blocks will be taken into account system 3 by the control in the current work coordinate system For example the instruction G56 G90 GOO X60 Y40 will move the system to point X 60 Y 40 of work coordinate system 3 e Origin of machine coordinate sysiem Fig 9 2 2 1 57 9 Coordinate Systems Plane Selection After a change of the work coordinate system the tool position will be displayed in the new coordinate system For instance there are two workpieces on the table The first work coordinate system G54 has been assigned to zero point of one of the workpieces which has an offset of X 300 Y 800 calculated in the machine coordinate system The second work coordinate system G55 has been assigned to the zero point of the other workpiece which has an offset of X 1300 Y 400 calculated in the machine coordinate system The tool position is X 700 Y 500 in X Y s coordinate system Fis 9 2 2 2 G54 As a result of instruction G55 the tool position will be interpreted in the X Y coordinate system X 300 Y 900 Tool position 1300 9 2 3 Programmed Setting of the Work Zero Point Offset It is also programable to set the work coordinate system
180. rse 8 9 with G98 rapid traverse retraction to the initial point 10 144 17 Canned Cycles for Drilling 17 1 6 Drilling Counter Boring Cycle G82 GS G98 682 G99 Initial point v v M peee a Point R A pe Dwell Dwel Fig 17 1 6 1 The variables used in the cycle are G17 G82 X Y Z R PF L G18 G82 Z _ X Y R P F L G19 G82 Y Z X R P F L the operations of the cycle are 1 rapid traverse positioning in the selected plane 2 3 rapid traverse movement as far as point R 4 a drilling as far as the bottom point with feed F 6 dwell for the time specified at address P 7 with G99 rapid traverse retraction to point R 8 9 with G98 rapid traverse retraction to the initial point 10 145 17 Canned Cycles for Drilling 17 1 7 Peck Drilling Cycle G83 GS3 G98 GS3 G99 Point R d Pon Point Z Point Z Fig 17 1 7 1 The variables used in the cycle are G17 G83 X Y Z R Q E F L G18 G83 Z X Y R Q E F L G19 G83 Y Z X R Q E F L The oprations of the cycle are T rapid traverse positioning in the selected plane 2 3 rapid traverse movement to point R 4 5 drilling to the bottom point with feed F 6 7 with G99 rapid traverse retraction to point R 8 9 with G98 rapid traverse retraction to the initial point 10 Description of drilling operation 5 is as follows drilling the depth specified at address Q with f
181. ruction G66 1 the same addresses can be used as in command G65 and L 12 P 16 G 10 with the qualification that the control will accept only one reference to an address G in each block programming several G addresses will produce error message 3005 ILLEGAL G CODE N 14 if an N address is at the beginning of a block or preceded at most by the address of a conditional block the second N address will be considered for an argument N130 X12 3 Y32 6 N250 Block No 24 12 3 25 32 6 14 250 if address N is in the middle of the block preceded by any address other than address N will be interpreted as an argument X34 236 N320 24 34 236 14 320 if address N has been recorded already as an argument the next reference to address N will produce error message 3064 BAD MACRO STATEMENT 166 20 Custom Macro 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 specified taking into account the rules of argument assignment described at point 1 Each NC block following G66 1 to a block containing code G67 will produce a macro call with the rules of argument assignment described under point 2 No macro will be called if an empty block is found e g N1240 where a reference is made to a single N address or from a block containing a macro instruction 20 3 Custom Macro Call Using G Code Maximum 10 different G code
182. ry axis to be applied must be selected before switching polar coordinate interpolation on Fig 4 6 1 Command GI7X C selects axis X for linear axis while as for the rotary axis it is axis C The virtual axis is indicated with C on the diagram the programming of which is implemented by defining length measures With the help of commands G18 Z_ B G19 Y_ A further linear and rotary axes can be selected together in the above mentioned way Work zero point offset in the course of polar coordinate interpolation In case of using polar coordinate interpolation the origin of the applied work coordinate system must be chosen so that it coincides with the rotation axis of the circular axis Position of the axes when polar coordinate interpolation is switched on Before switching polar coordinate interpolation on command G12 1 make sure that the circular axis position is 0 The linear axis position can either be negative or positive but it cannot be 0 31 4 6 Polar Coordinate Interpolation G12 1 G13 1 Programming length coordinates in the course of polar coordinate interpolation In the switched on state of the polar coordinate interpolation length coordinate data may be programmed on both axes belonging to the selected plane The rotary axis in the selected plane functions as the second virtual axis If e g axes X and C have been selected by means of command G17 X C address C can be programmed like axis Y in the case of plane s
183. s can be selected by parameters to which macro calls are initiated Now instead of specifying Nn G65 Pp argument assignment the following command can be used Nn Gg argument assignment The particular program number to be called by the G code has to be selected in parameters None of codes G65 G66 G66 1 and G67 may be specified for this purpose G 9010 code G calling program O9010 G 9011 code G calling program O9011 G 9019 code G calling program O9019 If a negative value is written in parameters the selected G code will generate a modal call If e g G 9011 120 instruction G120 in the program will produce a modal call The state of parameter MODGEQU will define the type of call MODGEQU 0 call is G66 type MODGEQUZI call is G66 1 type If the value of the parameter is 0 the macro will be called at the end of each motion block If the value of the parameter is 1 the macro will be called for each block If a standard G code is selected for user call e g G01 and a reference is made to that code again in the body of the macro it will not produce another call instead it will be interpreted and executed by the control as an ordinary G code If a reference is made to the calling G code again in the body of the macro and it is different from a standard G code the control will return error message 3005 ILLEGAL G CODE Calling a user M S T A B C from a user G code call Calling a user G code from a user M S T A B
184. s is that DOO will delete the compensation only leaving state G41 or G42 unchanged If a reference is made subsequently to a new address D other than Zero the new tool compensation will be set up as the function of state G41 or G42 If however instruction G40 is used any reference to address D will be ineffective until G41 or G42 is programmed The compensation computation can be set up G41 G42 or canceled G40 or DOO only in a block of linear movement G00 or G01 G40 G41 G42 are modal ones The control will assume state G40 after power on 14 6 2 The Three dimensional Offset Vector The control will generate the components of compensation vectors in the following way I r p v Jtr Y p s QK r Pp where ris the compensation value called at address D P is the dominator constant I J K are values specified in the program The value of dominator constant is taken from parameter DOMCONST unless a different value is specified in the program at address E If the value of the dominator constant is 0 and no value has been specified at address E either the control will compute the value of P from the relationship P I T tR Based on the directions of compensation vectors specified in each block the control will take the compensations into account in block after block Thus in the course of a three dimensional machining the CAM system need not generate the path to a given tool instead only the vecto
185. s shown in the figures at the border of the forbidden area after the movement has been started 163 20 Custom Macro 20 Custom Macro 20 1 The Simple Macro Call G65 As a result of instruction G65 P program number L number of repetitions lt argument assignment gt the custom macro body program specified at address P program number will be called as many times as is the number specified at address L Arguments can be assigned to the macro body They are specific numerical values assigned to definite addresses that are stored in respective local variables during a macro call Those local variables can be used by the macro body i e the macro call is a special subprogram call in which the main program can transfer values parameters to the subprogram The following two argument assignments can be selected Address string of argument assignment No 1 is ABCDEFHIJKMQRSTUVWXYZ No value can be transferred to the macro body at any one of addresses G L N O P The addresses can be filled in any arbitrary sequence not necessarily in alphabetical order Address string of selecting argument assignment No 2 is ABCII J1 K1 I2 J2 K2 110 J10 K10 In addition to addresses A B C maximum 10 different arguments can be assigned for addresses I J K The addresses can be filled in any arbitrary sequence If several arguments are selected for a particular address the variables will assume the respective values in the order of selection
186. ses X Y and Z respectively but different specifications are also permissible Alarm 3000 By defining 3000 nnn ALARM a numerical error message nnn max three decimal digits and the text of error message can be provided The text must be put in brackets A message may not be longer than 25 characters If the macro contains an error i e the program runs to a branch in which a value has been defined to variable 3000 the program will be executed as far as the previous block then the execution is suspended and the error message and the code of it 4nnn are displayed on the screen The number of the message is the sum of number specified on 3000 variable and 4000 If no number was specified the code of the message would be 4000 if no text was specified the message field will be empty The error state can be canceled by the RESET button Millisecond timer 43001 The value of variable 3001 can be read and written The time interval between two time instants can be measured in milliseconds with an accuracy of about 20 ms Counter 3001 will overflow at 65536 The value of variable 3001 will start from zero at the time of power on and will count upwards Counting is continuous as long as the control is on Main time timer 3002 The value of variable 3002 can be read and written The time interval between two time instants can be measured in minutes with an accuracy of about 20 ms At the time of power on the value of
187. specified the addresses of the plane s horizontal and vertical axes are regarded as radius and angle respectively For example in G17 sate the data written at addresses X U and Y V are the radius and angle respectively CAUTION In state G18 Z and X are the horizontal and the vertical axes data of R and angle respectively When an angular data is specified the positive and the negative directions of the angle are counter clockwise and clockwise respectively The data of the rest of axes will be assumed to be Cartesian coordinate data The radius and the angle can be specified both as absolute and as incremental data When the radius is specified as an absolute data the origin of the current coordinate system will be the origin of the polar coordinate system 38 5 The Coordinate Data Example Ewd roipt G90 G16 G01 X100 Y60 F180 End poini End pomt Both the radius and the angle are absolute data the tool moves to the Anele 49 point of 100mm 60 G90 G16 G01 X100 YI40 F180 Starting point Sariling poini The angle is an incremental data A movement by 40 relative to the previous angular position is moved With the radius specified as an incremental value the instantaneous position of the axes will be the origin of the polar coordinate system A circle can be programmed with polar coordinate data command G16 The circle can be also specified with the radius and I J K as well In the latter case howev
188. stems i e an offset v calculated for one of them will be taken into account in the rest too Au New work zera Previous work poiri ofset zero poini uffser setting amp ell ng Origin of machine eonndipnra2 xystem Fig 9 2 4 2 L Notes The offset of the work coordinate system set with instruction G92 will be deleted by execution of end of program instructions M2 M30 and by resetting the program Instruction G92 will delete the offsets of the local coordinate system programmed with instruction G52 on the axes included in the instruction Instruction G92 offers a convenient way of the cyclic position indication of the indexing rotary table performing several turns If e g axis B has been turned into the position 360 the axis can be moved to position 0 without any physical movement by programming G92 BO 9 3 Local Coordinate System When writing part programs it is sometimes more convenient to specify the coordinate data in a local coordinate system instead of the work part coordinate system Instruction G52 v 59 9 Coordinate Systems Plane Selection will create a local coordinate system If coordinate v is specified as an absolute value the origin of the local coordinate system will coincide with the point v in the work coordinate system When specified as an incremental value the origin of the local coordinate system will be shifted with v offset provided a local coordinate s
189. structions that can be interpreted by the control system in order to control the operation of the machine The Part Program consists of blocks which in turn comprise words Word Address and Data Each word is made up of two parts an address and a data The address has one or more characters the data is a numerical value an integer or decimal value Some addresses may be given a sign or operator I Address Chain E Lenis mam optional block X annie SEE ities 2 2o L4 coordinates A B C angular coordinates length coordinates auxiliary L functions iia pe Oa Po eol s ite L LM mselmeowfmon 1 99 i e e auviliaydaa o O auxiliary data O e Te radius of fillet angle of straight line comment At an address marked with a in the Value Limits column the data may have a decimal value as well At an address marked with I and an incremental operator or a sign can be assigned respectively The positive sign is not indicated and not stored 1 Introduction Block A block is made up of words The blocks are separated by characters Line Feed in the memory The use of a block number is not mandatory in the blocks To distinguish the end of block from the beginning of another block on the screen each new block begins in a new line with a character gt plac
190. system Fig 8 1 8 1 Automatic Reference Point Return G28 The instruction G28 v will return the axes defined by vector v to the reference point The movements consist of two parts First it will move with linear interpolation in rapid traverse to the intermediate coordinates defined by vector v The specified coordinates may be absolute or incremental values The movement is performed invariably in the current coordinate system When the end point of linear movement is reached the cutter compensation vector is deleted The coordinates of the intermediate point will be stored for axes defined by vector v In the second stage it will move from the intermediate point to the reference point simultaneously in each axis defined by vector v The reference point return is carried out by non linear movement at a speed defined for each axis Afterwards similar to the manual return the position will be assumed in the manner defined by parameters This is a non modal code L Notes Unless there is a valid reference point incremental values must be assigned to intermediate coordinates v in command G28 Programmed in block G28 intermediate coordinates v will be stored until power off In other words the intermediate value defined in a previous command G28 will continue to be effect for the coordinates that have not been assigned values in the instantaneous current command G28 For example G28 X100 intermediate point X 100 Y 0 G28
191. t G65 45 correct G66 correct G67 correct END1 20 13 8 Data Output Commands The control will recognize the following data output commands POPEN periphery open BPRNT binary data print output DPRNT decimal data print output PCLOS periphery close Those data output commands can be used for outputting characters and values of variables The output may be accomplished to the memory of the control or to an external data storage device through a serial channel Opening a peripheral POPENn Before issuing a data output command the appropriate peripheral has to be opened through which the data output is to be performed The appropriate peripheral is selected by number n n 1 RS 232C interface of serial channel n 31 memory of control A character is also output to the peripheral simultaneously with the opening of the peripheral i e each data output begins with a character Binary data output BPRNTT BPRNT a b c Lo number of digits below the decimal point variable character The command will send the characters in ISO or ASCII code depending on the parameter setting the variables will be output in binary form 192 20 Custom Macro The characters are output in ISO or ASCII code The characters to be output are alphabetic characters A B Z numerical characters 1 2 0 special characters The control will output the ISO code of a space character A
192. t would cut in the workpiece COvercutting if no interference check Fig 14 5 8 4 109 14 The Tool Compensation Machining an inside corner with a radius smaller than the tool radius The control returns error message 3048 INTERFERENCE ALARM or else overcutting would occure Overcutting if no interference chack Fig 14 5 8 5 Milling a step smaller than the tool radius Error Stop if ANGLAL I along an arc If parameter ANGLAL is 0 the control will delete vector B and will interconnect vectors P and B by a straight line to avoid a cut in If parameter ANGLAL is 1 it returns error message 3048 INTERFERENCE ALARM and stops at the end of previous block Overciufine ifo interference check z vector cancelled if ANGLAL O Tool path ter cancelling vector Fig 14 5 8 6 Sometimes the tool would not actually overcut the workpiece but the interference check indicates an error If a recess smaller than the radius compensation is being machined actually no overcut would occur see the Figure yet the control returns error message 3048 INTERFERENCE ALARM because the direction of displacement along the compensated path in interpolation B is opposite to the programmed one IZrror Fig 14 5 8 7 110 14 The Tool Compensation In the above example an interference error is returned again because the displacement of the compensated path in interpolation B is opposite to the programmed one Fig
193. ta are applicable to the data of point R They are modal data deleted by G80 or by the codes of the interpolation group The control will always approach point R in a rapid traverse 138 17 Canned Cycles for Drilling Cut in value Q It is the depth of the cut in in the cycles of G73 and G83 It is invariably an incremental rectangular positive data a modal one Its value will be deleted by G80 or by the codes of the interpolation group The scaling does not affect the value of cut in depth Auxiliary data E The extent of retraction in the cycle of G73 and value of clearance in the cycle of G83 is specified on address E It is always an incremental rectangular positive data The scaling command has no effect to the auxiliary data Modal value Its value will be deleted by G80 or by the codes of the interpolation group Unless it has been programmed the control will take the necessary value from parameter RETG73 or CLEGS3 Dwell P Specifies the time of dwell at the bottom of the hole Its specification is governed by the rules described at G04 The value of the dwell is a modal one deleted by G80 or by the codes of the interpolation group Feed F It will define the feed A modal value re written only by the programming of another data F It will not be deleted by G80 or some other code Spindle speed S A modal value re written only by programming another data S It will not be deleted by G80 or some other code Numb
194. tants In general references are made to variables j and k in a formula It is not only possible for the lt formula gt to stand on the right side of a definition instruction the various addresses in the NC block may also assume a formula instead ofa specific numerical value or variable 20 13 1 Definition Substitution i j The code of instruction is As a result of the instruction variable 1 will assume the value of variable j i e the value of variable j will be entered in variable ffi 184 20 Custom Macro 20 13 2 Arithmetic Operations and Functions Single Operand Operations Single operand minus i j The code of the operation is As a result of the operation variable 1 will have a value identical with variable j in absolute value but opposite in sign Arithmetic negation i NOT j The code of the operation is NOT As a result of the operation variable j is converted first into a 32 bit fixed point number Error message 309 ERRONEOUS OPERATION WITH is returned unless the converted number can be represented by 32 bits Then the value of that fixed point number will be negated bit by bit and the number produced this way will be re converted into a floating point one and will be put in variable 1 Additive arithmetic operations Addition i k The code of the operation is As a result of the operation variable i will assume the sum of the values of variables j and fk Subtrac
195. te system of the workpiece i 340 Part drawing Fig 1 2 4 The coordinate system specified in the control system and in which the control interprets the positions is different from the coordinate system of the workpiece For the control system to make a correct workpiece the Zero points of the two coordinate systems have to be set at the same position This can be achieved e g by moving Fig 1 2 5 the tool center to a point of known position of the part and setting the coordinate system of the control to that value 13 1 Introduction Absolute Coordinate Specification When absolute coordinates are specified the tool travels a distance measured from the origin of the coordinate system i e to a point whose position has been specified by the coordinates The code of absolute data specification is G90 The block G90 X50 Y80 Z40 will move the tool to a point of the above position irrespective of its position before the command has been issued 20 1 26 50 Fig 1 2 6 Incremental Coordinate Specification In the case of an incremental data specification the control system will interpret the coordinate data in such a way that the tool will travel a distance measured from its instantaneous position The code of incremental data specification is G91 Code G91 refers to all coordinate values The block G91 X70 Y 40 Z 20 will move the tool over the above distance from its previous pos
196. the control will not allow those axes to move beyond the limits of that area defined by parameters The limit positions are set by the builder of the machine The user may not alter those parameters The second is the area defined by the programmable stroke check function This may be accomplished by programming command G22 or rewriting the parameters During any motion the control will not allow the axes to move beyond the limits of these areas If parameter End point CHBFMOVE is set to P 1 the control will before starting the axes in the course of executing a block check whether the progr ere pout Tool is stopped i Tool ig not statled of the particular j on the border of j for end point is in interpolation is in a forbidden area 7 d forbidden area prohibited area S stant point 9 sine voit If the end point of the amp 195 block is located m outside of the parametric overtravel area or in the programmed forbidden area error message 3056 LIMIT or 3057 FORBIDDEN AREA will be returned respectively As a result the movement is practically not started at all Since prior to starting the interpolation the control only checks whether the end point Toal 3 slopped Fad poat Tocl wt slau Led 1 1 1 or the 5order of O1 ond poo ie m of the interpolation de forbidden area Torbadden area located in a prohibited g Slar poil b Start point area the error message is produced in the Fig 123 2 instance
197. tial point G84 3 G98 G84 3 G99 hnulial pout v DELLID gt A JE M19 Point R MIS a b om Lincar inter Lincar inter Linear inter Linear inter polation polation polation belween belween belween the drilling the drilling the drilling axis and axis and axis and spindle CW spindle CCW spindle CW Fig 17 1 9 2 In the case of G84 3 the operations of the cycle are 150 1 D 10 Soe EXP rapid traverse positioning in the selected plane rapid traverse movement to point R spindle orientation M19 linear interpolation between the drilling axis and the spindle with the spindle rotated in counter clockwise direction linear interpolation between the drilling axis and the spindle with the spindle being rotated clockwise with G98 rapid traverse retraction to the initial point 17 Canned Cycles for Drilling 17 1 10 Boring Cycle G85 GRS G98 G85 6099 Tnitial point v IY vA P Poml R Fig 17 1 10 1 The variables used in the cycle are G17 G85 X Y Z R F L G18 G85 Z X Y R F L G19 G85 Y Z X R F L The operations of the cycle are l rapid traverse positioning in the selected plane 2 3 rapid traverse movement to point R 4 a boring as far as the bottom point with feed F 6 T retraction to point R with feed F 8 T with G98 rapid traverse retraction to the initial point 10 151 17 Canned Cycles for Drilling 17 1 11
198. tion i j k The code of the operation is As a result of the operation variable 1 will assume the difference of the values of variables fj and k Logical sum or i OR k The code of the operation is OR As a result of operation the logic sum of variables j and k will be entered in variable i at every bit of 32 bits Wherever 0 is found at each of the identical bit values of the two numbers 0 will be represented by that bit value in the result otherwise 1 Exclusive or i j XOR k The code of the operation is XOR As a result of operation the variables j and k will be added together in every bit of 32 bits in variable 1 in such a way that O will be the bit value in the result wherever identical numerical values are found in identical bit positions and 1 will be wherever different numerical values are found in each of the 32 bits Multiplicative arithmetic operations Multiplication i k The code of the operation is As a result of operation variable i will assume the product of the values of variables j and k 185 20 Custom Macro Division i j k The code of the operation is As a result of operation variable i will assume the quotient of variables j and k The value of k may not be 0 or else the control will return error message 3092 DIVISION BY 0 Remainder i MOD k The code of the operation is MOD As a result of the operation variable 1 will assu
199. tomatically depending on the design of the machine Miscellaneous Functions A number of switching operations have to be carried out in the course of machining For example starting the spindle turning on the coolant Those operations can be performed with M miscellaneous functions E g in the series of instructions M3 M8 M3 means rotate the spindle clockwise M8 means turn on the coolant Tool Length Compensation In the course of machining tools of different length are employed for the various operations On the other hand a given operation also has to be performed with tools of different lengths in series production e g when the tool breaks In order to make the motions described in the part program independent of the must be set in control system If the program is intended to move the tip of the Fig 12 8 tool to the specified point the value of the particular length data has to be called This is feasible at address H E g instruction H1 refers to length data No 1 Henceforth the control will move the tip of the tool to the specified point That procedure is referred to as setting tool length compensation mode 15 1 Introduction Cutter Radius Compensation Machining a workpiece has to be done with tools of different radii Radius compensation has to be introduced in order to write the actual contour data of the part in the program instead of the path covered by the tool center taking into cons
200. tor v will move with rapid traverse from the intermediate point to the reference point selected at address P The reference point is returned by disregarding the compensation vectors length offset 3 dimensional offsets they need not be deleted before instruction G30 is issued but they will be implemented by the control when further movements are being programmed The cutter compensation is re established automatically in the first movement block A non modal code 8 3 Automatic Return from the Reference Point G29 Instruction G29 v will return the control from the reference point along the axes defined in vector v Following G28 and G30 command G29 will be executed in the same manner The return is accomplished in two stages In the first stage it will move from the reference point to the intermediate point recorded during the execution of instruction G28 or G30 in the axes defined by vector v The coordinates of the intermediate point are modal in other words the control will take the previous values into account if reference is made to an axis to which no coordinate has been transferred in block G28 or G30 preceding G29 It will move to the intermediate point by taking into account the tool length tool offset and 3 dimensional tool radius compensations The coordinates of the intermediary point are effective invariably in the coordinate system of the current workpiece Accordingly if e g a change of workpiece coordinate system has been
201. urface speed m min The constant surface speed must be specified 500 m min in function of the input unit on the basis of the table below 450 m min 300 m min r radius vam Fig 10 2 1 Input unit Unit of constant surface speed nm G21 metio 63 10 The Spindle Function 10 2 1Constant Surface Speed Control Command G96 G97 Command G96 S switches constant surface speed control function on The constant surface speed must be specified at address S in the unit of measure given in the above table Command G97 S cancels constant surface speed control The desired spindle speed can be specified at address S in revs min n order to calculate constant surface speed the coordinate system must be set so that its zero point coincides with the rotation axis Constant surface speed control is effective only after the spindle is started by means of M3 or M4 The value is modal even after its calculation has been canceled with the help of command G97 After power on the default constant surface speed is determined by parameter CTSURFSP G96 S100 100 m min or 100 feet min G97 1500 1500 revs min G96 X260 100 m min or 100 feet min Constant surface speed calculation is also effective in state G94 feed min If the constant surface speed control is canceled by means of command G97 and a new spindle speed is not specified the last spindle speed gained in state G96 remains in effect G96 S100
202. urse of positioning execution in the selected plane For example block G81 G91 X100 A30 R 2 z 25 is equivalent to the block below G81 G91 X100 Y57 735 R 2 Z 25 121 16 Automatic Geometric Calculations 16 3 Intersection Calculations in the Selected Plane Intersection calculations discussed here are only executed by the control when tool radius compensation G41 or G42 offset mode is on If eventually no tool radius compensation is needed in the part program turn the compensation on and use DOO offset With tool radius compensation Without tool radius compensation G41 or G42 Dnn G41 or G42 D00 intersection calculations intersection calculations G40 G40 122 16 Automatic Geometric Calculations 16 3 1 Linear linear Intersection If the second one of two successive linear interpolation blocks is specified the way that its both end point coordinates in the selected plane and also its angle is specified the control calculates the intersection of the straight lines referred to in the first block and the straight line specified in the second one The straight line specified in the second block is 7 determined over The calculated Start point intersection is the end point of the first block as well as the start point of the Intersection point Fig 16 3 1 1 second one G17 G41 G42 G18 G41 G42 G19 G41 G42 N1 G1 A1 or N1 Gl Al1 or N1 Gl Al1 or X1 Y1 X1 Zi Y1 Zi N2 G1G90 X2 Y2 A2 N2 G1G90 X2 Z2 A2 N2
203. ut allowances have to be provided for the tool in addition to the part at the beginning and end of the thread in order to obtain a constant lead all along the part In the course of thread cutting the feed in mm minute may not exceed the value selected in the group of parameters FEEDMAX n the course of thread cutting the speed r p m of the spindle may not exceed the maximum speed permissible for the spindle encoder mechanically and electrically the maximum output frequency 30 4 6 Polar Coordinate Interpolation G12 1 G13 1 4 6 Polar Coordinate Interpolation G12 1 G13 1 Polar coordinate interpolation is a control operation method in case of which the work described in a Cartesian coordinate system moves its contour path by moving a linear and a rotary axis Command G12 1 switches polar coordinate interpolation mode on The path of the milling tool can be described in the succeeding part program in a Cartesian coordinate system in the usual way by programming linear and circular interpolation by taking the tool radius compensation into account The command must be issued in a separate block and no other command can be written beside Command G13 1 switches polar coordinate interpolation mode off The command must be issued in a separate block and no other command can be written beside It always registers state G13 1 after power On Or reset Plane selection A plane determining the address of the linear and the rota
204. variable 3002 will start at the power off level and willbe counted upwards Counting is on as long as the START light is on i e the time is being measured in the start condition of the control It is located at time meter CUTTING2 of the parameter memory Suppression of block by block execution 3003 If 3003 1 the control will not stop on completion of a block in the state of single block mode until that variable assumes value 0 The value of the variable is O at power off or after resetting the program to its beginning 3003 block by block execution 0 not suppressed 2 suppressed 179 20 Custom Macro Suppression of stop button feed override exact stop 3004 Under the conditions of suppression of feed stop function the feed will stop after the stop button is pressed when the suppression is released When the feedrate override is suppressed the override takes the value of 100 until the suppression is released Under the conditions of the suppression of the exact stop the control will not perform a check until the suppression has been released The value of the variable is 0 at power on or after resetting the program to its beginning 3004 Exact stop Feed override Feed stop 0 0 0 0 YO OB wWNE PRPrRPROOOS DbBoonnoc 0 function is effective 1 function is suppressed Stop with message 3006 As a result of a value assigned to 3006 nnn MESSAGE the execution of the program is stopped
205. vities will be hereafter referred to as interpolation Tool movement along a straight line program G01 Y X YY Fig 1 2 1 Tool movement along an arc program G03 X__Y__R Although in general the table with the work piece and not the tool moves this description Workpiece will refer to the motion of the tool against the workpiece Fig 1 2 2 Preparatory Functions G codes The type of activity to be performed by a block is described with the use of preparatory functions also referred to as G codes E g code G01 introduces a linear interpolation Feed The term feed refers to the speed of the tool relative to the workpiece during the process of cutting The desired feed can be specified in the _ _ program at address F and with a numerical i F mm min value For example F150 means 150 mm minute Fig 1 2 3 12 1 Introduction Reference Point The reference point is a fixed point on the machine tool After power on of the machine the slides have to be moved to the reference point Afterwards the control system will be able to interpret data of absolute coordinates as well Coordinate System The dimensions indicated in the part drawing are measured from a given point of the part That point is the origin of the workpiece coordinate system Those dimensional data have to be written at the coordinate address in the part program E g X340 means a point of coordinate 340 mm in the coordina
206. xdee os eax nee See cae HE RR EUER E ee cde 140 Nn 17 1 4 Canned Cycle Cancel G80 45 3t REREEA X ROrRACEEREASq A Re RES 17 1 5 Drilling Spot Boring Cycle G81 0 0 0 eee eee 17 1 6 Drilling Counter Boring Cycle G82 0 0 cee eee 17 1 7 Peck Drilling Cycle G83 os ose ooh sd SEE SER PESE EE SES 17 1 8 Tapping Cycle G84 iuea dk I ERRARE ES EEG ERE RR REA ERE EE ER 17 1 9 Rigid Clockwise and Counter clockwise Tap Cycles G84 2 G84 3 17 1 10 Borin CES Uic su Tw 17 1 11 Boring Cycle Tool Retraction with Rapid Traverse 686 17 1 12 Boring Cycle Back Boring Cycle 687 lees 17 1 13 Boring Cycle Manual Operation on the Bottom Point G88 17 1 14 Boring Cycle Dwell on the Bottom Point Retraction with Feed G89 17 2 Notes to the use of caned CYCIES 2 4540 oe eed eco ERR CORR hg cR ee nd 18 Measurement Functions 0 0 n 18 1 Skip Eutic on G3 DV 2s v ROW E PN uRAEEE M ean eei s RR ane 18 2 Automatic Tool Length Measurement G37 0 0 eee 19 Safety Functions 19 1 Programmable Stroke Check G22 G23 0 0 eee 19 2 Parametric Overtravel Positions 0 0c ccc cece eee eee eee eee ees 19 3 Stroke Chec 20 Custom Macro k Before Movement 0 cee ee eee eee eens 20 1 The Simple Macro Call G65 susce Rs t ph he y eee y ex en 20 2 The Modal Macro Call 0 RR RR RR Res 20 2 1 Macro 20 2
207. ycles can be avoided by specifying the block containing instruction M99 in the form 1 M99 Now the jump will be omitted or not depending on the setting of the conditional block skip switch 76 14 The Tool Compensation 14 The Tool Compensation 14 1 Referring to Tool Compensation Values H and D Reference can be made to tool length compensation at address H tool radius compensation at address D The number behind the address the tool compensation number indicates the particular compensation value to be applied The limit values of addresses H and D are 0 to 999 The Table below shows the division of the compensation memory poe ote compensation number geometry wear geometry wear 350 200 830 500 Compensation number 00 is not included in the above Table the compensation values pertaining to it are always zero Geometry value the length radius of the tool It is a signed number Wear the wear occurring in the course of machining It is a signed number Whenever a reference is made to a compensation at address H or D in the program the control will always take the sum of the geometry value and the wear into account for compensation If e g reference is made to H2 in the program the length compensation will be on the basis of the above Table 830 500 0 102 830 398 Address H and D are modal ones i e the control will take into account a given compensation value until another command D or H is given In ot
208. ystem has been defined previously or else the offset is produced with respect to the origin of the work coordinate system Henceforth any movement command specified in absolute coordinates will be executed in the new coordinate system The positions are also displayed in the new coordinate system The values of coordinates v will be treated invariably as Cartesian coordinates If e g the tool is at point X 150 Y 100 coordinates in the current X Y work coordinate system instruction Tool posilion G90 G52 X60 Y40 will create a new local X Y coordinate system in which the coordinates of tool will be X 90 Y 60 Instruction G52 is used for defining the axial components of offset vector v between the X Y and X Y coordinate systems v 60 v 240 Now one of two different procedures may be adopted in order to transfer the local coordinate Fig 9 3 1 system to the point of X Y position With an absolute data specification instruction G90 G52 X30 Y60 will move the origin of the X Y coordinate system to point X230 Y 60 in the X Y work coordinate system The components of vector v will be produced by the specification of v 30 v 60 With an incremental data specification instruction G91 G52 X 30 Y20 will move the origin of the X Y coordinate system to the point of X 30 Y 20 coordinates in the X Y coordinate system The components of vector v will be produced by the specification of v 3
Download Pdf Manuals
Related Search
Related Contents
MD-5060e - Circutor Skil 0715 AA USER`S MANUAL Series 760D ValvePAC Digital WS02-SPTC1-V2 SYSMAC SPU-Console Ver. 2.2 OPERAION PDF Neurodyn III Ibramed SMC SMCHPAV-ETH EZ Connect™ Powerline Ethernet Adapter AMS-Anwendungen der CommandCenter™ Swan SI3090N iron Copyright © All rights reserved.
Failed to retrieve file