NCT Group 99M manuel d'utilisation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206

Aller à la page of

Un bon manuel d’utilisation

Les règles imposent au revendeur l'obligation de fournir à l'acheteur, avec des marchandises, le manuel d’utilisation NCT Group 99M. Le manque du manuel d’utilisation ou les informations incorrectes fournies au consommateur sont à la base d'une plainte pour non-conformité du dispositif avec le contrat. Conformément à la loi, l’inclusion du manuel d’utilisation sous une forme autre que le papier est autorisée, ce qui est souvent utilisé récemment, en incluant la forme graphique ou électronique du manuel NCT Group 99M ou les vidéos d'instruction pour les utilisateurs. La condition est son caractère lisible et compréhensible.

Qu'est ce que le manuel d’utilisation?

Le mot vient du latin "Instructio", à savoir organiser. Ainsi, le manuel d’utilisation NCT Group 99M décrit les étapes de la procédure. Le but du manuel d’utilisation est d’instruire, de faciliter le démarrage, l'utilisation de l'équipement ou l'exécution des actions spécifiques. Le manuel d’utilisation est une collection d'informations sur l'objet/service, une indice.

Malheureusement, peu d'utilisateurs prennent le temps de lire le manuel d’utilisation, et un bon manuel permet non seulement d’apprendre à connaître un certain nombre de fonctionnalités supplémentaires du dispositif acheté, mais aussi éviter la majorité des défaillances.

Donc, ce qui devrait contenir le manuel parfait?

Tout d'abord, le manuel d’utilisation NCT Group 99M devrait contenir:
- informations sur les caractéristiques techniques du dispositif NCT Group 99M
- nom du fabricant et année de fabrication NCT Group 99M
- instructions d'utilisation, de réglage et d’entretien de l'équipement NCT Group 99M
- signes de sécurité et attestations confirmant la conformité avec les normes pertinentes

Pourquoi nous ne lisons pas les manuels d’utilisation?

Habituellement, cela est dû au manque de temps et de certitude quant à la fonctionnalité spécifique de l'équipement acheté. Malheureusement, la connexion et le démarrage NCT Group 99M ne suffisent pas. Le manuel d’utilisation contient un certain nombre de lignes directrices concernant les fonctionnalités spécifiques, la sécurité, les méthodes d'entretien (même les moyens qui doivent être utilisés), les défauts possibles NCT Group 99M et les moyens de résoudre des problèmes communs lors de l'utilisation. Enfin, le manuel contient les coordonnées du service NCT Group en l'absence de l'efficacité des solutions proposées. Actuellement, les manuels d’utilisation sous la forme d'animations intéressantes et de vidéos pédagogiques qui sont meilleurs que la brochure, sont très populaires. Ce type de manuel permet à l'utilisateur de voir toute la vidéo d'instruction sans sauter les spécifications et les descriptions techniques compliquées NCT Group 99M, comme c’est le cas pour la version papier.

Pourquoi lire le manuel d’utilisation?

Tout d'abord, il contient la réponse sur la structure, les possibilités du dispositif NCT Group 99M, l'utilisation de divers accessoires et une gamme d'informations pour profiter pleinement de toutes les fonctionnalités et commodités.

Après un achat réussi de l’équipement/dispositif, prenez un moment pour vous familiariser avec toutes les parties du manuel d'utilisation NCT Group 99M. À l'heure actuelle, ils sont soigneusement préparés et traduits pour qu'ils soient non seulement compréhensibles pour les utilisateurs, mais pour qu’ils remplissent leur fonction de base de l'information et d’aide.

Table des matières du manuel d’utilisation

  • Page 1

    NCT ® 99M NCT ® 2000M Controls for Milling Machines and Machining Centers Programmer's Manual[...]

  • Page 2

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

  • Page 3

    3 Contents 1 Introduction .............................................................. 9 1.1 The Part Program ...................................................... 9 Word ............................................................... 9 Address Chain ......................................................... 9 Block ..............................[...]

  • Page 4

    4 6.4.2 Exact Stop Mode (G61) ........................................... 49 6.4.3 Continuous Cutting Mode (G64) ..................................... 50 6.4.4 Override and Stop Inhibit (Tapping) Mode (G63) ........................ 50 6.4.5 Automatic Corner Override (G62) .................................... 50 6.4.6 Internal Circular Cutting Overr[...]

  • Page 5

    5 13.1 Sequence Number (Address N) ......................................... 74 13.2 Conditional Block Skip ................................................ 74 13.3 Main Program and Sub-program ......................................... 74 13.3.1 Calling the Sub-program ........................................... 74 13.3.2 Return from a Sub-program [...]

  • Page 6

    6 17.1.4 Canned Cycle Cancel (G80) ...................................... 141 17.1.5 Drilling, Spot Boring Cycle (G81) ................................... 141 17.1.6 Drilling, Counter Boring Cycle (G82) ................................ 142 17.1.7 Peck Drilling Cycle (G83) ........................................ 143 17.1.8 Tapping Cycle (G84) .....[...]

  • Page 7

    7 20.13.1 Definition, Substitution .......................................... 180 20.13.2 Arithmetic Operations and Functions ................................ 181 20.13.3 Logical Operations ............................................. 184 20.13.4 Unconditional Divergence ........................................ 184 20.13.5 Conditional Divergence .[...]

  • Page 8

    8 © 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[...]

  • Page 9

    1 Introduction 9 1 Introduction 1.1 The Part Program The Part Program is a set of instructions 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 addr[...]

  • Page 10

    1 Introduction 10 Block A block is made up of words. The blocks are separated by characters s ( L ine F eed) 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 > placed in front of it, in [...]

  • Page 11

    1 Introduction 11 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 r[...]

  • Page 12

    1 Introduction 12 Fig. 1.2 -1 Fig. 1.2 -2 Fig. 1.2 -3 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 activities will be hereafter referred to as "interpolation". Tool movement along a straight line: program: G01 Y__ X__ Y__ Tool movement along [...]

  • Page 13

    1 Introduction 13 Fig. 1.2 -4 Fig. 1.2 -5 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 dr[...]

  • Page 14

    1 Introduction 14 Fig. 1.2 -6 Fig. 1.2 -7 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[...]

  • Page 15

    1 Introduction 15 Fig. 1.2 -8 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 specifie[...]

  • Page 16

    1 Introduction 16 Fig. 1.2 -9 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 consideration the tool radii). The values of radius co[...]

  • Page 17

    2 Controlled Axes 17 Fig. 2.1 -1 2 Controlled Axes Number of Axes (in basic configuration) 3 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 assi[...]

  • Page 18

    2 Controlled Axes 18 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. H[...]

  • Page 19

    3 Preparatory Functions (G codes) 19 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. G code G roup F unction P age G00 * 01 positioning 22 G01 * linear interp[...]

  • Page 20

    3 Preparatory Functions (G codes) G code G roup F unction P age 20 G39 cutter compensation corner arc 100 G40 * 07 cutter radius/3 dimensional tool compensation cancel 85 G41 cutter radius compensation left/3 dimensional tool compensation 85 , 88 G42 cutter radius compensation right 85 , 88 G43 * 08 tool length compensation + 80 G44 * tool length c[...]

  • Page 21

    3 Preparatory Functions (G codes) G code G roup F unction P age 21 G80 * canned cycle cancel 141 G81 drilling, spot boring cycle, 141 G82 drilling, counter boring cycle 142 G83 peck drilling cycle 143 G84 tapping cycle 144 G84.2 rigid tap cycle 145 G84.3 rigid counter tap cycle 145 G85 boring cycle 148 G86 Boring Cycle Tool Retraction with Rapid Tr[...]

  • Page 22

    4 The Interpolation 22 Fig. 4.1 -1 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 positi[...]

  • Page 23

    4 The Interpolation 23 Fig. 4.2 -1 Fig. 4.2 -2 Feed along the axis Y is ............................. Feed along the axis U is ............................. Feed along the axis C is where x, y, u, c are the displacements programmed along the respective axes, L is the vectorial length of programmed displacement: G01 X100 Y80 F150 The feed along a ro[...]

  • Page 24

    4 The Interpolation 24 Fig. 4.3 -1 4.3 Circular and Spiral Interpolation (G02, G03) The series of instructions specify circular interpolation. A circular interpolation is accomplished in the plane selected by commands G17, G18, G19 in clockwise or counter-clockwise direction (with G02 or G03, respectively). Here and hereinafter, the meanings of X p[...]

  • Page 25

    4 The Interpolation 25 Fig. 4.3 -2 Fig. 4.3 -3 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 cir[...]

  • Page 26

    4 The Interpolation 26 Fig. 4.3 -4 Fig. 4.3 -5 The feed along the path can be programmed at address F, pointing in the direction of the circle tangent, and being constant all along the path. L Notes : – I0, J0, K0 may be omitted, e.g. G03 X0 Y100 I-100 – When each of X p , Y p and Z p is omitted, or the end point coordinate coincides with the s[...]

  • Page 27

    4 The Interpolation 27 Fig. 4.3 -6 Fig. 4.3 -7 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 G0 X50 Y0 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 en[...]

  • Page 28

    4 The Interpolation 28 Fig. 4.4 -1 Fig. 4.4 -2 The feed specified at address F is effective along the circle path. Feed component Fq along axis q is obtained from the relationship where L q : displacement along axis q, L arc : length of circular arc, F: programmed feed, F q : feed along axis q. For example: G17 G03 X0 Y100 Z20 R100 F150 The series [...]

  • Page 29

    4 The Interpolation 29 Fig. 4.5 -1 Fig. 4.5 -2 – The specified tool-radius compensation is implemented invariably in the plane of the circle. 4.5 Equal Lead Thread Cutting (G33) The instruction G33 v F Q G33 v E Q will define a straight or taper thread cutting of equal lead. The coordinates of maximum two axes can be written for vector v. The con[...]

  • Page 30

    4 The Interpolation 30 Fig. 4.5 -3 An example of programming a thread-cutting: N50 G90 G0 X0 Y0 S100 M4 N55 Z2 N60 G33 Z-100 F2 N65 M19 N70 G0 X5 N75 Z2 M0 N80 X0 M4 N85 G4 P2 N90 G33 Z-100 F2 ... Explanation: N50, N55 - Moving the tool over the center of hole, starting the spindle in counter-clockwise rotation, N60 - First thread-cutting cycle, (l[...]

  • Page 31

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

  • Page 32

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

  • Page 33

    4.6 Polar Coordinate Interpolation (G12.1, G13.1) 33 Fig. 4.6 -2 Fig. 4.6 -3 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 1 , n 2 , n 3 , n 4 ) belong to ) x move for each straight lines (1, 2, 3, 4). App[...]

  • Page 34

    4.6 Polar Coordinate Interpolation (G12.1, G13.1) 34 direction X on rotary axis C) N070 G17 G0 X200 C0 (select plane X, C; orientation to coordinate X … 0, C=0) N080 G94 Z-3 S1000 M3 N090 G12.1 (polar coordinate interpolation on) N100 G42 G1 X100 F1000 N110 C30 N120 G3 X60 C50 I-20 J0 N130 G1 X-40 N140 X-100 C20 N150 C-30 N160 G3 X-60 C-50 R20 N1[...]

  • Page 35

    4.7 Cylindrical Interpolation (G7.1) 35 Fig. 4.7 -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, whic[...]

  • Page 36

    4.7 Cylindrical Interpolation (G7.1) 36 Fig. 4.7 -2 28 65 1 180 0 5 . . mm mm ⋅ ° ° ⋅ = π 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 applicati[...]

  • Page 37

    4.7 Cylindrical Interpolation (G7.1) 37 N140 G2 Z-10 C335 R35 N150 G1 C360 N160 G40 Z-20 N170 G7.1 C0 (cylindrical interpolation off) N180 G0 X100 ... %[...]

  • Page 38

    5 The Coordinate Data 38 Fig. 5.1 -1 5 The Coordinate Data 5.1 Absolute and Incremental Programming (G90, G91), Operator I The input coordinate data can be specified as absolute 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 g[...]

  • Page 39

    5 The Coordinate Data 39 Fig. 5.2 -1 Fig. 5.2 -2 Fig. 5.2 -3 Example: G90 G16 G01 X100 Y60 F180 Both the radius and the angle are absolute data, the tool moves to the point of 100mm; 60°. G90 G16 G01 X100 YI40 F180 The angle is an incremental data. A movement by 40° relative to the previous angular position is moved. With the radius, specified as[...]

  • Page 40

    5 The Coordinate Data 40 N3 Y120 N4 Y180 N5 Y240 N6 Y300 N7 Y360 N8 G15 G0 X100 5.3 Inch/Metric Conversion (G20, G21) With the appropriate G code programmed, the input data can be specified in metric or inch units. G20 : Inch input programming G21 : Metric input programming At the beginning of the program, the desired input unit has to be selected [...]

  • Page 41

    5 The Coordinate Data 41 The value ranges of the length coordinates are shown in the Table below. input unit output unit increment system value range of length coordinates unit of measure mm mm IS-A ± 0.01-999999.99 mm IS-B ± 0.001-99999.999 IS-C ± 0.0001-9999.9999 inch mm IS-A ± 0.001-39370.078 inch IS-B ± 0.0001-3937.0078 IS-C ± 0.00001-393[...]

  • Page 42

    5 The Coordinate Data 42 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 the 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 fu[...]

  • Page 43

    5 The Coordinate Data 43 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 fo[...]

  • Page 44

    6 The Feed 44 Fig. 6.2 -1 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 resultant feed will b[...]

  • Page 45

    6 The Feed 45 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 sp[...]

  • Page 46

    6 The Feed 46 The Table below shows the maximum programmable range of values at address F, for various cases. input units output units increment system value range of address F unit mm mm IS-A 0.001 - 250000 mm or deg/min IS-B 0.0001 - 25000 IS-C 0.00001 - 2500 IS-A 0.0001 - 5000 mm or deg/rev IS-B 0.00001 - 500 IS-C 0.000001 - 50 inch mm IS-A 0.00[...]

  • Page 47

    6 The Feed 47 Fig. 6.3 -1 Fig. 6.3 -2 Fig. 6.3 -3 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 [...]

  • Page 48

    6 The Feed 48 Fig. 6.3 -4 Fig. 6.4 -1 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 th[...]

  • Page 49

    6 The Feed 49 Fig. 6.4.5 -1 Fig. 6.4.5 -2 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[...]

  • Page 50

    6 The Feed 50 Fig. 6.4.5 -3 Fig. 6.4.6 -1 Deceleration and acceleration will be commenced at distances L l and L g before and after the corner, respectively. In the case of (circles) arcs, distance L l and L g will be calculated by the control along the arc. Distances L l and L g will be defined in parameters DECDIST and ACCDIST , respectively. The[...]

  • Page 51

    7 The Dwell 51 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 w[...]

  • Page 52

    8 The Reference Point 52 Fig. 8 -1 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 can be measured and absolute positioning can be done a[...]

  • Page 53

    8 The Reference Point 53 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. P1=reference point 1 P2=reference point 2 P3=reference point 3 P4=reference point 4 The reference points are special [...]

  • Page 54

    8 The Reference Point 54 Fig. 8.3 -1 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[...]

  • Page 55

    9 Coordinate Systems, Plane Selection 55 Fig. 9 -1 Fig. 9.1 -1 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____ : The tool position is expressed [...]

  • Page 56

    9 Coordinate Systems, Plane Selection 56 Fig. 9.2.1 -1 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 Mac[...]

  • Page 57

    9 Coordinate Systems, Plane Selection 57 Fig. 9.2.1 -2 Fig. 9.2.2 -1 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 ..[...]

  • Page 58

    9 Coordinate Systems, Plane Selection 58 Fig. 9.2.2 -2 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=8[...]

  • Page 59

    9 Coordinate Systems, Plane Selection 59 Fig. 9.2.4 -1 Fig. 9.2.4 -2 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 will create a new X', Y' coordinate system, in which the tool will be set to the point of X'=90, Y'=60 coordinates. The ax[...]

  • Page 60

    9 Coordinate Systems, Plane Selection 60 Fig. 9.3 -1 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 shift[...]

  • Page 61

    9 Coordinate Systems, Plane Selection 61 Fig. 9.3 -2 Fig. 9.3 -3 Fig. 9.4 -1 The local coordinate system will be offset in each work coordinate system. Programming instruction G92 will delete the offsets produced by instruction G52 on the axes specified inG92 - as if command G52 v0 had been issued. Whenever the tool is at point of X=200, Y=120 coor[...]

  • Page 62

    9 Coordinate Systems, Plane Selection 62 X p =X or an axis parallel to X, Y p =Y or an axis parallel to Y, Z p =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[...]

  • Page 63

    10 The Spindle Function 63 Fig. 10.2 -1 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 spind[...]

  • Page 64

    10 The Spindle Function 64 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 specif[...]

  • Page 65

    10 The Spindle Function 65 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[...]

  • Page 66

    10 The Spindle Function 66 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 INDEX1 =1 (indicating that the main [...]

  • Page 67

    10 The Spindle Function 67 Fig. 10.6 -2 Fig. 10.6 -1 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 determined by value "q", or [...]

  • Page 68

    10 The Spindle Function 68 Fig. 10.6 -3 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" W[...]

  • Page 69

    11 Tool Function 69 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 [...]

  • Page 70

    11 Tool Function 70 This procedure is described in the part program as follows. Part Program Explanation ................. ....Tnnnn........ search for tool Tnnnn ................. the part program is running, tool search is being performed in the background ...M06 Tmmmm.... tool T nnnn is placed in the spindle, ................. the previous tool [...]

  • Page 71

    12 Miscellaneous and Auxiliary Functions 71 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[...]

  • Page 72

    12 Miscellaneous and Auxiliary Functions 72 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 specified at each of addresses A, B, C provided one (or all) [...]

  • Page 73

    13 Part Program Configuration 73 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.1 Sequence Number (Address N) The blocks of the program can be sp[...]

  • Page 74

    13 Part Program Configuration 74 main program O0010 ...... ...... subprogram comment execution of (main-) program O0010 M98 P0011 –––> O0011 calling sub-program O0011 ...... ...... ...... execution of sub- program O0011 next block <––– M99 return to the calling program ...... ...... resumption of program O0010 The series of instru[...]

  • Page 75

    13 Part Program Configuration 75 main program O0010 ...... ...... ...... subprogram comment execution of program O0010 N101 M98 P0011 –––> O0011 calling sub-program O0011 ...... ...... ...... execution of sub- program O0011 N102 ...... <––– M99 return to the next block of the calling program ...... ...... resumption of program O00[...]

  • Page 76

    13 Part Program Configuration 76 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: The use of instruction M99 P..... will produce[...]

  • Page 77

    14 The Tool Compensation 77 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[...]

  • Page 78

    14 The Tool Compensation 78 Limit values of geometry and wear: input units output units increment system geometry value wear value unit of measure mm mm IS-A ±0.01 ÷99999.99 ±0.01÷163.80 mm IS-B ±0.001÷9999.999 ±0.001÷16.380 IS-C ±0.0001÷999.9999 ±0.0001÷1.6380 inch mm IS-A ±0.001÷9999.999 ±0.001÷6.448 inch IS-B ±0.0001÷999.9999 ?[...]

  • Page 79

    14 The Tool Compensation 79 14.3 Tool Length Compensation (G43, G44, G49) Instruction G43 q H or G44 q H 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 take[...]

  • Page 80

    14 The Tool Compensation 80 Fig. 14.3 -1 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 ta[...]

  • Page 81

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

  • Page 82

    14 The Tool Compensation 82 Fig. 14.4 -6 Fig. 14.4 -7 Fig. 14.4 -8 With G47 programmed (double increase by the offset value): a. movement command: 20 cases b, c, d are similar to G45 compensation: 5 With G48 programmed (double decrease by the offset value): a. movement command: 20 cases b, c, d are similar to G45 compensation: 5 If, after command G[...]

  • Page 83

    14 The Tool Compensation 83 Fig. 14.4 -9 NC command G45 XI0 D1 G46 XI0 D1 G45 XI-0 D1 G46 XI-0 D1 displacement x=12 x=-12 x=-12 x=12 A tool radius compensation applied with one of codes G45...G48 is also applicable with ¼ and ¾ circles, provided the centers of the circles are specified at address I, J or K. An example: D1=10 N1 G91 G46 G0 X40 Y40[...]

  • Page 84

    14 The Tool Compensation 84 Fig. 14.5 -1 Fig. 14.5 -2 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 pro[...]

  • Page 85

    14 The Tool Compensation 85 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&qu[...]

  • Page 86

    14 The Tool Compensation 86 Fig. 14.5 -3 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 fr[...]

  • Page 87

    14 The Tool Compensation 87 Fig. 14.5.1 -1 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 fr[...]

  • Page 88

    14 The Tool Compensation 88 Fig. 14.5.1 -2 Fig. 14.5.1 -3 Fig. 14.5.1 -4 Going around the outside of a corner at an obtuse angle, 90° # " # 180° Going around the outside of a corner at an acute angle, 0° # " <90° Special instances of starting up the radius compensation: If values are assigned to I, J, K in the compensation- selecti[...]

  • Page 89

    14 The Tool Compensation 89 Fig. 14.5.1 -5 Fig. 14.5.1 -6 Fig. 14.5.1 -7 ... G91 G17 G40 ... N110 G42 G1 X-80 Y60 I50 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. Unless a point of intersection is found, the control will move, at rig[...]

  • Page 90

    14 The Tool Compensation 90 Fig. 14.5.1 -8 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 G0 X0 Y0 N15 G91 G42 D1 X0 N20 G1 X80 N25 X30 Y60 ... If [...]

  • Page 91

    14 The Tool Compensation 91 Fig. 14.5.2 -1 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 cate[...]

  • Page 92

    14 The Tool Compensation 92 Fig. 14.5.2 -2 Fig. 14.5.2 -3 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 . Going around the outside of a corner at an obtuse angle, 90° [...]

  • Page 93

    14 The Tool Compensation 93 Fig. 14.5.2 -4 Fig. 14.5.2 -5 Going around the outside of a corner at an acute angle, 0° # " <90° Special instances of offset mode: If zero displacement is programmed (or such is obtained) in the selected plane in a block in offset mode, a perpendicular vector will be positioned to the end point of the previous[...]

  • Page 94

    14 The Tool Compensation 94 Fig. 14.5.3 -1 Fig. 14.5.3 -2 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 instance[...]

  • Page 95

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

  • Page 96

    14 The Tool Compensation 96 Fig. 14.5.3 -6 Fig. 14.5.3 -7 Fig. 14.5.3 -8 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 poin[...]

  • Page 97

    14 The Tool Compensation 97 Fig. 14.5.4 -1 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 G41 left right G42 right left The direction of offset mode can be reversed even during the computation of[...]

  • Page 98

    14 The Tool Compensation 98 Fig. 14.5.4 -2 Fig. 14.5.4 -3 Fig. 14.5.4 -4 Unless a point of intersection is found in a linear-to-linear transition, the path of the tool will be: Unless a point of intersection is found in a linear-to-circular transition, the path of the tool will be: Unless a point of intersection is obtained in a circular-to-linear [...]

  • Page 99

    14 The Tool Compensation 99 Fig. 14.5.5 -1 Fig. 14.5.5 -2 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 th[...]

  • Page 100

    14 The Tool Compensation 100 Fig. 14.5.6 -1 Fig. 14.5.6 -2 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: ...G1[...]

  • Page 101

    14 The Tool Compensation 101 Fig. 14.5.7 -1 Fig. 14.5.7 -2 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 block[...]

  • Page 102

    14 The Tool Compensation 102 Fig. 14.5.7 -3 Fig. 14.5.7 -4 Fig. 14.5.7 -5 If no cut is feasible in direction Z unless the radius compensation is set up, the following procedure may be adopted: ...G17 G91... N110 G41 G0 X50 Y70 D1 N120 G1 Z-40 N130 Y40 ... Now the tool will have a correct path as is shown in the Figure. If, however, movement in dire[...]

  • Page 103

    14 The Tool Compensation 103 Fig. 14.5.7 -6 Fig. 14.5.7 -7 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 G22, G23, G52, G54-G59 or G92 is programmed in offset mode between two interpolation blocks, the compensation vector will be deleted at t[...]

  • Page 104

    14 The Tool Compensation 104 Fig. 14.5.7 -8 Fig. 14.5.7 -9 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[...]

  • Page 105

    14 The Tool Compensation 105 Fig. 14.5.7 -10 Fig. 14.5.7 -11 Fig. 14.5.7 -12 A particular program detail or subprogram may be used also for machining a male or female work- piece with positive or negative radius compensation, respectively, or vice-versa. Let us review the following small program detail: ... N020 G42 G1 X80 D1 N030 G1 Z-5 N040 G3 I-[...]

  • Page 106

    14 The Tool Compensation 106 Fig. 14.5.7 -13 Fig. 14.5.7 -14 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 [...]

  • Page 107

    14 The Tool Compensation 107 Fig. 14.5.7 -15 Fig. 14.5.8 -1 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 [...]

  • Page 108

    14 The Tool Compensation 108 Fig. 14.5.8 -2 Fig. 14.5.8 -3 In the other words the control will check wether the compensated displacement vector has a component opposite to the programmed displacement vector or not. If parameter ANGLAL is set to 1, the control will, after an angle check, return an interference error message 3048 INTERFERENCE ALARM o[...]

  • Page 109

    14 The Tool Compensation 109 Fig. 14.5.8 -4 If parameter ANGLAL is set to 0, 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 L P[...]

  • Page 110

    14 The Tool Compensation 110 Fig. 14.5.8 -5 Fig. 14.5.8 -6 Fig. 14.5.8 -7 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. Milling a step smaller than the tool radius along an arc. If parameter ANGLAL is 0, the control will delete vecto[...]

  • Page 111

    14 The Tool Compensation 111 Fig. 14.5.8 -8 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. 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,[...]

  • Page 112

    14 The Tool Compensation 112 Fig. 14.6.2 -1 Command G40 or D00 will cancel the three-dimensional offset compensation. The difference between the two commands is that D00 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 s[...]

  • Page 113

    14 The Tool Compensation 113 Instruction G42 functions in the same manner as G41 with the difference that the compensation vector is computed in a direction opposite to G41: A change-over from state G41 to G42 or vice versa is only feasible in a linear interpolation block. The previous values will be modal if - with the three-dimensional tool compe[...]

  • Page 114

    15 Special Transformations 114 Fig. 15.1 -1 Fig. 15.1 -2 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 p q R The coordinates of the center of rotation will be specified at address p and q. The system will only interpret the dat[...]

  • Page 115

    15 Special Transformations 115 Fig. 15.1 -3 Fig. 15.2 -1 Example: N1 G17 G90 G0 X0 Y0 N2 G68 X90 Y60 R60 N3 G1 X60 Y20 F150 (G91 X60 Y20 F150) N4 G91 X80 N5 G3 Y60 R100 N6 G1 X-80 N7 Y-60 N8 G69 G90 X0 Y0 15.2 Scaling (G50, G51) Command G51 v P can be used for scaling a programmed shape. P1...P4: points specified in the part program P1'...P4&a[...]

  • Page 116

    15 Special Transformations 116 Fig. 15.2 -2 For example: N1 G90 G0 X0 Y0 N2 G51 X60 Y140 P0.5 N3 G1 X30 Y100 F150 (G91 X30 Y100 F150) N4 G91 X100 N5 G3 Y60 R100 N6 G1 X-100 N7 Y-60 N8 G50 G90 X0 Y0 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[...]

  • Page 117

    15 Special Transformations 117 Fig. 15.3 -1 Example: subprogram O0101 N1 G90 G0 X180 Y120 F120 N2 G1 X240 N3 Y160 N4 G3 X180 Y120 R80 N5 M99 main program O0100 N1 G90 (absolute coordinate specification) N2 M98 P101 (call of subprogram) N3 G51.1 X140 (mirror image applied to an axis parallel to axis Y on coordinate X=140) N4 M98 P101 (call of subpro[...]

  • Page 118

    15 Special Transformations 118 Fig. 15.4 -1 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 scaling[...]

  • Page 119

    16 Automatic Geometric Calculations 119 Fig. 16.1 -1 Fig. 16.1 -2 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[...]

  • Page 120

    16 Automatic Geometric Calculations 120 Fig. 16.1 -3 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 between the coordinates of the selected plane ([...]

  • Page 121

    16 Automatic Geometric Calculations 121 Fig. 16.2 -1 Fig. 16.2 -2 For exampl e: G17 G90 G0 X57.735 Y0 ... G1 G91... X100 ,A30 (this specification is equivalent to X100 Y57.735 where 7.735=100 A tg30°) 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-5[...]

  • Page 122

    16 Automatic Geometric Calculations 122 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 D00 offset: Wit[...]

  • Page 123

    16 Automatic Geometric Calculations 123 Fig. 16.3.1 -1 Fig. 16.3.1 -2 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[...]

  • Page 124

    16 Automatic Geometric Calculations 124 the control as end point, but as a transit position binding the straight line with the start point.[...]

  • Page 125

    16 Automatic Geometric Calculations 125 Fig. 16.3.1 -3 Fig. 16.3.1 -4 Intersection calculation can also be combined with a chamfer or corner rounding specification. E.g.: G17 G90 G41 D0... G0 X90 Y10 N10 G1 X50 Y33.094 ,C10 N20 X10 Y20 ,A225 G0 X0 Y20 ... G17 G90 G41 D0... G0 X90 Y10 N10 G1 X50 Y33.094 ,R10 N20 X10 Y20 ,A225 G0 X0 Y20 ... In the ab[...]

  • Page 126

    16 Automatic Geometric Calculations 126 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 cal[...]

  • Page 127

    16 Automatic Geometric Calculations 127 Fig. 16.3.2 -1 Fig. 16.3.2 -2 G17 G41 (G42) N1 G1 ,A or X1 Y1 N2 G2 (G3) G90 X2 Y2 I J R Q G18 G41 (G42) N1 G1,A or X1 Z1 N2 G2 (G3) G90 X2 Z2 I K R Q G19 G41 (G42) N1 G1 ,A or Y1 Z1 N2 G2 (G3) G90 Y2 Z2 J K R Q The intersection is always calculated in the plane selected by G17, G18, G19. The first block (N1)[...]

  • Page 128

    16 Automatic Geometric Calculations 128 Fig. 16.3.2 -3 Fig. 16.3.2 -4 Let us see the following example: %O9981 N10 G17 G42 G0 X100 Y20 D0 S200 M3 N20 G1 X-30 Y-20 N30 G3 X20 Y40 I20 J-10 R50 Q-1 N40 G40 G0 Y60 N50 X120 N60 M30 % %O9982 N10 G17 G42 G0 X100 Y20 D0 S200 M3 N20 G1 X-30 Y-20 N30 G3 X20 Y40 I20 J-10 R50 Q1 N40 G40 G0 Y60 N50 X120 N60 M30[...]

  • Page 129

    16 Automatic Geometric Calculations 129 Fig. 16.3.3 -1 Fig. 16.3.3 -2 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 lin[...]

  • Page 130

    16 Automatic Geometric Calculations 130 Fig. 16.3.3 -3 Fig. 16.3.3 -4 Let us see an example: %O9983 N10 G17 G0 X90 Y0 M3 S200 N20 G42 G1 X50 D0 N30 G3 X-50 Y0 R50 N40 G1 X-50 Y42.857 ,A171.87 Q-1 N50 G40 G0 Y70 N60 X90 N70 M30 % %O9984 N10 G17 G0 X90 Y0 M3 S200 N20 G42 G1 X50 D0 N30 G3 X-50 Y0 R50 N40 G1 X-50 Y42.857 ,A171.87 Q1 N50 G40 G0 Y70 N60 [...]

  • Page 131

    16 Automatic Geometric Calculations 131 Fig. 16.3.4 -1 Fig. 16.3.4 -2 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 ca[...]

  • Page 132

    16 Automatic Geometric Calculations 132 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<0, e.g., Q–1) the first intersection is calcula[...]

  • Page 133

    16 Automatic Geometric Calculations 133 Fig. 16.3.4 -3 Fig. 16.3.4 -4 Let us see the following example: %O9985 N10 G17 G54 G0 X200 Y10 M3 S200 N20 G42 G1 X180 D1 N30 G3 X130 Y-40 R-50 N40 X90 Y87.446 I50 J30 R70 Q–1 N50 G40 G0 Y100 N60 X200 N70 M30 % %O9986 N10 G17 G54 G0 X200 Y10 M3 S200 N20 G42 G1 X180 D1 N30 G3 X130 Y-40 R-50 N40 X90 Y87.446 I[...]

  • Page 134

    16 Automatic Geometric Calculations 134 Fig. 16.3.5 -1 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[...]

  • Page 135

    17 Canned Cycles for Drilling 135 Fig. 17 -1 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: Op[...]

  • Page 136

    17 Canned Cycles for Drilling 136 Fig. 17 -2 where X p is axis X or the one parallel to it Y p is axis Y or the one parallel to it Z p is axis Z or the one parallel to it. Axes U, V, W are regarded to be parallel ones when they are defined in parameters. The drilling cycles can be configured with instructions G98 and G99. G98 : The tool is retracte[...]

  • Page 137

    17 Canned Cycles for Drilling 137 Fig. 17 -3 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 variab[...]

  • Page 138

    17 Canned Cycles for Drilling 138 Fig. 17 -4 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: I, J G18: K, I G19: J, K Each address is interpreted as an incremental data of rectangular coordinates. The address may be a metric or inc[...]

  • Page 139

    17 Canned Cycles for Drilling 139 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[...]

  • Page 140

    17 Canned Cycles for Drilling 140 Fig. 17 -5 Fig. 17 -6 Examples of using cycle repetitions : If a particular type of hole is to be drilled with unchanged parameters at equally spaced positions, the number of repetitions can be specified at address L. The value of L is only effective in the block, in which it has been specified. N1 G90 G17 G0 X0 Y0[...]

  • Page 141

    17 Canned Cycles for Drilling 141 Fig. 17.1.1 - 1 17.1 Detailed Description of Canned Cycles 17.1.1 High Speed Peck Drilling Cycle (G73) The variables used in the cycle are G17 G73 X p __ Y p __ Z p __ R__ Q__ E__ F__ L__ G18 G73 Z p __ X p __ Y p __ R__ Q__ E__ F__ L__ G19 G73 Y p __ Z p __ X p __ R__ Q__ E__ F__ L__ The operations of the cycle ar[...]

  • Page 142

    17 Canned Cycles for Drilling 142 Fig. 17.1.2 -1 17.1.2 Counter Tapping Cycle (G74) This cycle can be used only with a spring tap. The variables used in the cycle are G17 G74 X p __ Y p __ Z p __ R__ (P__) F__ L__ G18 G74 Z p __ X p __ Y p __ R__ (P__) F__ L__ G19 G74 Y p __ Z p __ X p __ R__ (P__) F__ L__ Prior to start the cycle, the spindle has [...]

  • Page 143

    17 Canned Cycles for Drilling 143 Fig. 17.1.3 -1 17.1.3 Fine Boring Cycle (G76) Cycle G76 is only applicable when the facility of spindle orientation is incorporated in the machine- tool. In this case parameter ORIENT1 is to be set to 1, otherwise message 3052 ERROR IN G76 is returned. Since, on the bottom point, the cycle performs spindle orientat[...]

  • Page 144

    17 Canned Cycles for Drilling 144 Fig. 17.1.5 -1 – 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 is[...]

  • Page 145

    17 Canned Cycles for Drilling 145 Fig. 17.1.6 -1 17.1.6 Drilling, Counter Boring Cycle (G82) The variables used in the cycle are G17 G82 X p __ Y p __ Z p __ R__ P__ F__ L__ G18 G82 Z p __ X p __ Y p __ R__ P__ F__ L__ G19 G82 Y p __ Z p __ X p __ R__ P__ F__ L__ the operations of the cycle are 1. rapid-traverse positioning in the selected plane 2.[...]

  • Page 146

    17 Canned Cycles for Drilling 146 Fig. 17.1.7 -1 17.1.7 Peck Drilling Cycle (G83) The variables used in the cycle are G17 G83 X p __ Y p __ Z p __ R__ Q__ E__ F__ L__ G18 G83 Z p __ X p __ Y p __ R__ Q__ E__ F__ L__ G19 G83 Y p __ Z p __ X p __ R__ Q__ E__ F__ L__ The oprations of the cycle are 1. rapid-traverse positioning in the selected plane 2.[...]

  • Page 147

    17 Canned Cycles for Drilling 147 Fig. 17.1.8 -1 Distance E will be taken from the program (address E) or from parameter CLEG83 . 17.1.8 Tapping Cycle (G84) This cycle can be used only with a spring tap. The variables used in the cycle are G17 G84 X p __ Y p __ Z p __ R__ (P__) F__ L__ G18 G84 Z p __ X p __ Y p __ R__ (P__) F__ L__ G19 G84 Y p __ Z[...]

  • Page 148

    17 Canned Cycles for Drilling 148 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 q[...]

  • Page 149

    17 Canned Cycles for Drilling 149 Fig. 17.1.9 - 1 – In state G94 (feed per minute), where P is the thread pitch in mm/rev or inches/rev, S is the spindle speed in 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): displacement feed Z z= distance between po[...]

  • Page 150

    17 Canned Cycles for Drilling 150 Fig. 17.1.9 -2 4. spindle orientation (M19) 5. linear interpolation between the drilling axis and the spindle, with the spindle rotated in clockwise direction 6. - 7. linear interpolation between the drilling axis and the spindle, with the spindle being rotated counter-clockwise 8. - 9. with G98, rapid-traverse ret[...]

  • Page 151

    17 Canned Cycles for Drilling 151 Fig. 17.1.10 -1 17.1.10 Boring Cycle (G85) The variables used in the cycle are G17 G85 X p __ Y p __ Z p __ R__ F__ L__ G18 G85 Z p __ X p __ Y p __ R__ F__ L__ G19 G85 Y p __ Z p __ X p __ R__ F__ L__ The operations of the cycle are 1. rapid-traverse positioning in the selected plane 2. - 3. rapid-traverse movemen[...]

  • Page 152

    17 Canned Cycles for Drilling 152 Fig. 17.1.11 -1 17.1.11 Boring Cycle Tool Retraction with Rapid Traverse (G86) The variables used in the cycle are G17 G86 X p __ Y p __ Z p __ R__ F__ L__ G18 G86 Z p __ X p __ Y p __ R__ F__ L__ G19 G86 Y p __ Z p __ X p __ R__ F__ L__ The spindle has to be given rotation of M3 when the cycle is started. The oper[...]

  • Page 153

    17 Canned Cycles for Drilling 153 Fig. 17.1.12 -1 17.1.12 Boring Cycle/Back Boring Cycle (G87) The cycle will be performed in two different ways. 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". [...]

  • Page 154

    17 Canned Cycles for Drilling 154 Fig. 17.1.12 -2 B. Back Boring Cycle If the machine is provided with the facility of spindle orientation (parameter ORIENT1 =1), the control will act in conformity with case "B". The variables of cycle are G17 G87 X p __ Y p __ I__ J__ Z p __ R__ F__ L__ G18 G87 Z p __ X p __ K__ I__ Y p __ R__ F__ L__ G1[...]

  • Page 155

    17 Canned Cycles for Drilling 155 Fig. 17.1.13 -1 17.1.13 Boring Cycle (Manual Operation on the Bottom Point) (G88) The variables used in the cycle are G17 G88 X p __ Y p __ Z p __ R__ P__ F__ L__ G18 G88 Z p __ X p __ Y p __ R__ P__ F__ L__ G19 G88 Y p __ Z p __ X p __ R__ P__ F__ L__ The spindle must be given rotation M3 when the cycle is started[...]

  • Page 156

    17 Canned Cycles for Drilling 156 Fig. 17.1.14 -1 17.1.14 Boring Cycle (Dwell on the Bottom Point, Retraction with Feed) (G89) The variables used in the cycle are G17 G89 X p __ Y p __ Z p __ R__ P__ F__ L__ G18 G89 Z p __ X p __ Y p __ R__ P__ F__ L__ G19 G89 Y p __ Z p __ X p __ R__ P__ F__ L__ The operations of the cycle are 1. rapid-traverse po[...]

  • Page 157

    17 Canned Cycles for Drilling 157 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) F_ (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 d[...]

  • Page 158

    18 Measurement Functions 158 Fig. 18.1 -1 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. T[...]

  • Page 159

    18 Measurement Functions 159 Fig. 18.1 -2 Fig. 18.1 -3 Fig. 18.2 -1 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[...]

  • Page 160

    18 Measurement Functions 160 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 [...]

  • Page 161

    19 Safety Functions 161 Fig. 19.1 -1 19 Safety Functions 19.1 Programmable Stroke Check (G22, G23) Instruction G22 X Y Z I J K P will forbid to enter the area selected by the command. Meaning of addresses: X: limit along axis X in positive direction I: limit along axis X in negative direction Y: limit along axis Y in positive direction J: limit alo[...]

  • Page 162

    19 Safety Functions 162 Fig. 19.2 -1 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 [...]

  • Page 163

    19 Safety Functions 163 Fig. 19.3 -1 Fig. 19.3 -2 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 the control wil[...]

  • Page 164

    20 Custom Macro 164 20 Custom Macro 20.1 The Simple Macro Call (G65) As a result of instruction G65 P(program number) L(number of repetitions) <argument assignment> 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 macr[...]

  • Page 165

    20 Custom Macro 165 particular number. For example, In the above example, variable #8 has already been assigned a value by the second address J (value, -12), since the value of address E is also assigned to variable #8, the control returns error message 3064 BAD MACRO STATEMENT . A decimal point and a sign can also be transferred at the addresses. [...]

  • Page 166

    20 Custom Macro 166 G0 Z-[#18+#26] (retraction of the tool to the initial point) M99 (return to the main program) % 20.2.2 Macro Modal Call From Each Block (G66.1) As a result of 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[...]

  • Page 167

    20 Custom Macro 167 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 [...]

  • Page 168

    20 Custom Macro 168 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 <argument assignment> 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 p[...]

  • Page 169

    20 Custom Macro 169 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. O9034. Now block Gg Xx Yy Tt will be equivalent to the following two blocks: #199=t Gg Xx Yy M98 P9034 The value assigned to address[...]

  • Page 170

    20 Custom Macro 170 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, FGMAC=0, not enabled (executed as ordinary codes [...]

  • Page 171

    20 Custom Macro 171 Including only the interpolations, the sequence of executions will be 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 (O0003); the one specified in block N15 will canc[...]

  • Page 172

    20 Custom Macro 172 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 O9000 and O9034 are reversed for special calls. 20.11 Variables of the Programming Language Variables instead of specifi[...]

  • Page 173

    20 Custom Macro 173 – 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 sp[...]

  • Page 174

    20 Custom Macro 174 Difference between a vacant variable and a 0 - value one in a conditional expression will be if #1=<vacant> if #1=0 #1 EQ #0 #1 EQ #0 * * fulfilled not fulfilled #1 NE 0 #1 NE 0 * * fulfilled not fulfilled #1 GE #0 #1 GE #0 * * fulfilled not fulfilled #1 GT 0 #1 GT 0 * * fulfilled not fulfilled 20.12 Types of Variables Wit[...]

  • Page 175

    20 Custom Macro 175 protected will be written to parameters WRPROT1 and WRPROT2 , respectively. If, e.g., the variables #530 through #540 are to be protected, the respective parameters have to be set as WRPROT1 =530 and WRPROT2 =540. 20.12.3 System Variables The system variables are fixed ones providing information about the states of the system. I[...]

  • Page 176

    20 Custom Macro 176 Interface output signals - #1100–#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 the PLC program #1100 Y[CONST+000] #1101 Y[CONST+001] #1102 Y[CONST+002] #1103 Y[CONST+003] #1104 Y[CONST+004] #11[...]

  • Page 177

    20 Custom Macro 177 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[...]

  • Page 178

    20 Custom Macro 178 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 workpiece coordinate system #5201 common work zero point offset, axis 1 common for all the coordinate systems #5202 common work zero point offse[...]

  • Page 179

    20 Custom Macro 179 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 addresses X, Y and Z, respectively, but different specifications are also permissible. Alarm - #3000 By defining[...]

  • Page 180

    20 Custom Macro 180 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[...]

  • Page 181

    20 Custom Macro 181 The bits have the following meanings: 0 = no mirror imaging 1 = 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 p[...]

  • Page 182

    20 Custom Macro 182 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 block 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 wo[...]

  • Page 183

    20 Custom Macro 183 Fig. 20.12.3 -1 Skip signal position system nature of position information entry during variable motion #5061 Skip signal coordinate of axis 1 (G31) #5062 Skip signal coordinate of axis 2 (G31) : possible #5068 Skip signal coordinate of axis 8 (G31) The position, in which the skip signal has arrived in block G31 will be entered [...]

  • Page 184

    20 Custom Macro 184 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 #i = <formula> is u[...]

  • Page 185

    20 Custom Macro 185 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 #i 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 NO[...]

  • Page 186

    20 Custom Macro 186 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 = #j MOD #k The code of the operation is MOD . As a result of the operation[...]

  • Page 187

    20 Custom Macro 187 Arc tangent - #i = ATAN #j 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 #i, lies between +90° and -90°. Exponent with base e: #i = EXP #j The code of the function is EXP . As a result of the operation, variable #i w[...]

  • Page 188

    20 Custom Macro 188 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, Modifying the Sequence of execution The sequence of executing [...]

  • Page 189

    20 Custom Macro 189 20.13.5 Conditional Divergence: IF [<conditional expression>] GOTO n If [<conditional expression>], 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 [<conditional expression>], is not satisfied, the ex[...]

  • Page 190

    20 Custom Macro 190 – Instructions DOm and ENDm must be put in pairs. : DO1 : DO1 false : END1 : or : DO1 : END1 false : END1 : – A particular identifier number can be used several times. : DO1 : END1 : : correct : DO1 : END1 : – Pairs DOm ... ENDm can be nested into one another at three levels. : DO1 : DO2 : DO3 : : correct : END3 : END2 : E[...]

  • Page 191

    20 Custom Macro 191 – Pairs DOm ... ENDm may not be overlapped. : DO1 : DO2 : : false : END1 : END2 – A divergence can be made outside from a cycle. : DO1 : GOTO150 : : correct : END1 : N150 : – No entry is permissible into a cycle from outside. : GOTO150 : DO1 : : false : N150 : END1 : or : DO1 : N150 : : false : END1 : GOTO150 :[...]

  • Page 192

    20 Custom Macro 192 – 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. : DO1 : M98... correct : G65... correct : G66... correct : G67... correct : END1 : 20.13.8 Data Output Commands The control will recognize the following data output comm[...]

  • Page 193

    20 Custom Macro 193 – 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 (A0h) instead of *. – The values of variables will be output by the control in [...]

  • Page 194

    20 Custom Macro 194 – 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 fu lfilled for the speci[...]

  • Page 195

    20 Custom Macro 195 Data output at PRNT=1: Closing a peripheral - PCLOSn The peripheral opened with command POPEN has to be closed with command PCLOS. Command 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 termin [...]

  • Page 196

    20 Custom Macro 196 – 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 exe cuted b[...]

  • Page 197

    20 Custom Macro 197 Fig. 20.15 -1 Fig. 20.15 -2 Example: SBSTM =0 %O1000 ... N10 #100=50 N20 #101=100 N30 G1 X#100 Y#101 N40 #100=60 (definition after N30) N50 #101=120 (defin ition after N30) N60 G1 X#100 Y#101 Definition commands in blocks N40 and N50 are executed after the movement of block N30. L Conclusions: – program execution is slower, ?[...]

  • Page 198

    20 Custom Macro 198 Fig. 20.18 -1 20.18 Pocket-milling Macro Cycle Instruction G65 P9999 X Y Z I J K R F D E Q M S T will start a pocket-milling cycle. For the execution of the cycle, macro of program number O9999 has to be filled in the memory, from the PROM memory of the control. Prior to cal ling the cycle, the tool must be brought over the geom[...]

  • Page 199

    20 Custom Macro 199 Fig. 20.18 -2 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 milli ng diameter. Unless it is specified, the contro[...]

  • Page 200

    20 Custom Macro 200 Fig. 20.18 -3 Fig. 20.18 -4 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). If neither the length nor the width of pocket has been specified, only address R has been programmed, a circular pocket of radius R will be milled[...]

  • Page 201

    20 Custom Macro 201 – The size specified for the length or width of pocket is smaller than twice of the pocket radius. – The length or width of pocket is smaller than the diameter of tool called at address D. – The value specified for the width of cutting is 0 or the tool radius called is 0 – The value of depth of cut is 0, i.e. 0 has been [...]

  • Page 202

    Notes 202 Notes[...]

  • Page 203

    Index in Alphabetical Order 203 Index in Alphabetical Order : #0 ............................ 170 #10001–#13999 ................. 173 #1000–#1015 ................... 172 #1032 ......................... 172 #1100–#1115 ................... 173 #1132 ......................... 173 #195 .......................... 166 #196 .........................[...]

  • Page 204

    Index in Alphabetical Order 204 Feed ....................... 12 , 176 Feed Reduction ................... 51 Format .......................... 10 full arc of circle ................... 106 full circle ....................... 106 going around sharp corners .......... 107 Going around the outside of a corner .. 93 - 96 Inch ...........................[...]

  • Page 205

    Index in Alphabetical Order 205 LIMP2n ...................... 158 M(9001) ...................... 165 M(9020) ...................... 165 M-NUMB1 ..................... 67 MD8 ......................... 192 MD9 ......................... 192 MODGEQU ................... 164 MULBUF ...................... 21 O_LINE ...................... 173 ORIENT1 ......[...]

  • Page 206

    Index in Alphabetical Order 206 Local ........................ 171 Vacant ....................... 170 varying radius ..................... 28 Vector Hold ..................... 100 Wear Compensation ............... 16 Word ............................ 9 Work Coordinate System ............ 57[...]