nct 99T, 2000T User Manual

NCT® 99T
NCT® 2000T
Controls for Lathes
Programmer's Manual
Manufactured by NCT Automation kft.
H1148 Budapest Fogarasi út 7
F Phone: (+36 1) 467 63 00
F Fax:(+36 1) 363 6605
E-mail: nct@nct.hu
Home Page: www.nct.hu
Contents
1 Introduction ..............................................................9
1.1 The Part Program ......................................................9
Word ...............................................................9
Address Chain .........................................................9
Block ..............................................................10
Program Number and Program Name ......................................10
Beginning of Program, End of Program ......................................10
Program Format in the Memory ...........................................10
Program Format in Communications with External Devices .......................10
Main Program and Sub-program ..........................................10
DNC Channel ........................................................11
1.2 Fundamental Terms ....................................................12
2 Controlled Axes .........................................................17
2.1 Names of Axes .......................................................17
2.2 Unit and Increment System of Axes ........................................17
3 Preparatory Functions (G codes) ............................................19
4 The Interpolation ........................................................23
4.1 Positioning (G00) .....................................................23
4.2 Linear Interpolation (G01) ...............................................23
4.3 Circular and Spiral Interpolation (G02, G03) .................................25
4.4 Equal Lead Thread Cutting (G33) .........................................29
4.5 Variable-Lead Thread Cutting (G34) .......................................30
4.6 Polar Coordinate Interpolation (G12.1, G13.1) ...............................31
4.7 Cylindrical Interpolation (G7.1) ...........................................35
5 The Coordinate Data .....................................................38
5.1 Absolute and Incremental Programming (G90, G91), Operator I ..................38
5.2 Inch/Metric Conversion (G20, G21) .......................................38
5.3 Specification and Value Range of Coordinate Data ............................39
5.4 Programming in Radius or Diameter ........................................40
5.5 Rotary Axis Roll-over ..................................................41
6 The Feed ...............................................................44
6.1 Feed in Rapid Travers ..................................................44
6.2 Cutting Feed Rate .....................................................44
6.2.1 Feed per Minute (G94) and Feed per Revolution (G95) ....................45
6.2.2 Clamping the Cutting Feed ..........................................46
6.3 Automatic Acceleration/Deceleration .......................................47
6.4 Feed Control Functions .................................................48
6.4.1 Exact Stop (G09) .................................................48
3
6.4.2 Exact Stop Mode (G61) ........................................... 48
6.4.3 Continuous Cutting Mode (G64) ..................................... 49
6.4.4 Override and Stop Inhibit (Tapping) Mode (G63) ........................ 49
6.4.5 Automatic Corner Override (G62) .................................... 49
6.4.6 Internal Circular Cutting Override ..................................... 50
7 The Dwell (G04) ......................................................... 51
8 The Reference Point ..................................................... 52
8.1 Automatic Reference Point Return (G28) ................................... 52
8.2 Automatic Return to Reference Points 2, 3, 4 (G30) ........................... 53
8.3 Automatic Return from the Reference Point (G29) ............................. 53
9 Coordinate Systems, Plane Selection ........................................ 55
9.1 The Machine Coordinate System ......................................... 55
9.1.1 Setting the Machine Coordinate System ................................ 55
9.1.2 Positioning in the Machine Coordinate System (G53) ...................... 56
9.2 Work Coordinate Systems .............................................. 56
9.2.1 Setting the Work Coordinate Systems ................................. 56
9.2.2 Selecting the Work Coordinate System ................................ 57
9.2.3 Programmed Setting of the Work Zero Point Offset ....................... 58
9.2.4 Creating a New Work Coordinate System (G92) ......................... 59
9.3 Local Coordinate System ............................................... 60
9.4 Plane Selection (G17, G18, G19) ......................................... 61
10 The Spindle Function .................................................... 63
10.1 Spindle Speed Command (code S) ....................................... 63
10.2 Programming of Constant Surface Speed Control ............................ 63
10.2.1Constant Surface Speed Control Command (G96, G97) ................... 64
10.2.2 Constant Surface Speed Clamp (G92) ................................ 64
10.2.3 Selecting an Axis for Constant Surface Speed Control .................... 65
10.3 Spindle Position Feedback ............................................. 65
10.4 Oriented Spindle Stop ................................................ 65
10.5 Spindle Positioning (Indexing) ........................................... 66
10.6 Spindle Speed Fluctuation Detection (G25, G26) ............................ 66
11 Tool Function .......................................................... 69
12 Miscellaneous and Auxiliary Functions ..................................... 70
12.1 Miscellaneous Functions (Codes M) ...................................... 70
12.2 Auxiliary Function (Codes A, B, C) ...................................... 71
12.3 Sequence of Execution of Various Functions ................................ 71
13 Part Program Configuration............................................... 72
13.1 Sequence Number (Address N) ......................................... 72
13.2 Conditional Block Skip ................................................ 72
4
13.3 Main Program and Sub-program .........................................72
13.3.1 Calling the Sub-program ...........................................72
13.3.2 Return from a Sub-program ........................................73
13.3.3 Jump within the Main Program ......................................75
14 The Tool Compensation ..................................................76
14.1 Reference to Tool Offset ...............................................76
14.2 Modification of Tool Offset Values from the Program (G10) ....................80
14.3 Taking the Tool Length Offset into Account .................................80
14.4 Tool Nose Radius Compensation (G38, G39, G40, G41, G42) ..................82
14.4.1 Start up of Tool Nose Radius Compensation ............................86
14.4.2 Rules of Tool Nose Radius Compensation in Offset Mode ..................90
14.4.3 Canceling of Offset Mode ..........................................93
14.4.4 Change of Offset Direction While in the Offset Mode .....................96
14.4.5 Programming Vector Hold (G38) ....................................98
14.4.6 Programming Corner Arcs (G39) ....................................98
14.4.7 General Information on Tool Nose Radius Compensation .................100
14.4.8 Interferences in Tool Nose Radius Compensation .......................105
15 Special Transformations .................................................110
15.1 Mirror Image for Double Turret (G68) ....................................110
15.2 Scaling (G50, G51) ..................................................111
15.3 Programmable Mirror Image (G50.1, G51.1) ..............................111
16 Automatic Geometric Calculations ........................................114
16.1 Programming Chamfer and Corner Round .................................114
16.2 Specifying Straight Line with Angle ......................................115
16.3 Intersection Calculations in the Selected Plane ..............................117
16.3.1 Linear-linear Intersection ..........................................117
16.3.2 Linear-circular Intersection ........................................119
16.3.3 Circular-linear Intersection ........................................121
16.3.4 Circular-circular Intersection .......................................123
16.3.5 Chaining of Intersection Calculations .................................125
17 Canned Cycles for Turning ...............................................126
17.1 Single Cycles ......................................................126
17.1.1 Cutting Cycle (G77) .............................................126
17.1.2 Thread Cutting Cycle (G78) .......................................128
17.1.3 End Face Cutting Cycle (G79) .....................................130
17.1.4 Single Cycle Application ..........................................132
17.2 Multiple Repetitive Cycles .............................................133
17.2.1 Stock Removal in Turning (G71) ....................................133
17.2.2 Stock Removal in Facing (G72) ....................................138
17.2.3 Pattern Repeating Cycle (G73) .....................................140
17.2.4 Finishing Cycle (G70) ............................................142
17.2.5 End Face Peck Drilling Cycle (G74) .................................143
5
17.2.6 Outer Diameter/Internal Diameter Drilling Cycle (G75) ................... 145
17.2.7 Multiple Thread Cutting Cycle (G76) ................................ 146
18 Canned Cycles for Drilling .............................................. 152
18.1 Detailed Description of Canned Cycles ................................... 158
18.1.1 High Speed Peck Drilling Cycle (G83.1) ............................. 158
18.1.2 Counter Tapping Cycle (G84.1) .................................... 159
18.1.3 Fine Boring Cycle (G86.1) ........................................ 160
18.1.4 Canned Cycle for Drilling Cancel (G80) .............................. 161
18.1.5 Drilling, Spot Boring Cycle (G81) ................................... 161
18.1.6 Drilling, Counter Boring Cycle (G82) ................................ 162
18.1.7 Peck Drilling Cycle (G83) ........................................ 163
18.1.8 Tapping Cycle (G84) ............................................ 164
18.1.9 Rigid (Clockwise and Counter-clockwise) Tap Cycles (G84.2, G84.3) ....... 165
18.1.10 Boring Cycle (G85) ............................................ 168
18.1.11 Boring Cycle Tool Retraction with Rapid Traverse (G86) ................ 169
18.1.12 Boring Cycle/Back Boring Cycle (G87) ............................. 170
18.1.13 Boring Cycle (Manual Operation on the Bottom Point) (G88) ............. 172
18.1.14 Boring Cycle (Dwell on the Bottom Point, Retraction with Feed) (G89) ..... 173
18.2 Notes to the Use of Canned Cycles for Drilling ............................. 173
19 Polygonal Turning ..................................................... 175
19.1 Principle of Polygonal Turning .......................................... 175
19.2 Programming Polygonal Turning (G51.2, G50.2) ............................ 176
20 Measurement Functions ................................................ 178
20.1 Skip Function (G31) ................................................. 178
20.2 Automatic Tool Length Measurement (G36, G37) ........................... 179
21 Safety Functions ....................................................... 181
21.1 Programmable Stroke Check (G22, G23) ................................. 181
21.2 Parametric Overtravel Positions ........................................ 182
21.3 Stroke Check Before Movement ....................................... 183
22 Custom Macro ........................................................ 184
22.1 The Simple Macro Call (G65) ......................................... 184
22.2 The Macro Modal Call ............................................... 185
22.2.1 Macro Modal Call in Every Motion Command (G66) .................... 185
22.2.2 Macro Modal Call From Each Block (G66.1) ......................... 186
22.3 Custom Macro Call Using G Code ...................................... 187
22.4 Custom Macro Call Using M Code ..................................... 188
22.5 Subprogram Call with M Code ......................................... 188
22.6 Subprogram Call with T Code ......................................... 189
22.7 Subprogram Call with S Code ......................................... 189
22.8 Subprogram Call with A, B, C Codes .................................... 189
22.9 Differences Between the Call of a Sub-Program and the Call of a Macro .......... 190
6
22.9.1 Multiple Calls ..................................................190
22.10 Format of Custom Macro Body .......................................191
22.11 Variables of the Programming Language .................................192
22.11.1 Identification of a Variable .......................................192
22.11.2 Referring to a Variable ..........................................192
22.11.3 Vacant Variables ..............................................193
22.11.4 Numerical Format of Variables ....................................193
22.12 Types of Variables .................................................194
22.12.1 Local Variables ...............................................194
22.12.2 Common Variables ............................................194
22.12.3 System Variables ..............................................195
22.13 Instructions of the Programming Language ................................204
22.13.1 Definition, Substitution ..........................................204
22.13.2 Arithmetic Operations and Functions ................................204
22.13.3 Logical Operations .............................................208
22.13.4 Unconditional Divergence ........................................208
22.13.5 Conditional Divergence ..........................................208
22.13.6 Conditional Instruction ..........................................208
22.13.7 Iteration .....................................................209
22.13.8 Data Output Commands .........................................211
22.14 NC and Macro Instructions ...........................................215
22.15 Execution of NC and Macro Instructions in Time ...........................215
22.16 Displaying Macros and Sub-programs in Automatic Mode ....................216
22.17 Using the STOP Button While a Macro Instruction is Being Executed ............216
Notes ..................................................................217
Index in Alphabetical Order ................................................218
July 2, 2002
7
© 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.
8
1 Introduction
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 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:
Address Meaning Value limits
O program number 0001 - 9999
/ optional block 1 - 9 N block number 1 - 99999 G preparatory function *
X, Y, Z, U, V ,W length coordinates I, -, *
A, B, C, H angular coordinates, auxiliary functions I, -, *
R circle radius, auxiliary data I, -, *
I, J, K circle center coordinates, auxiliary coordinate -, *
E auxiliary coordinate -, * F feed rate * S spindle speed *
M miscellaneous function 1 - 999
T tool number 1 - 9999
L repetition number 1 - 9999 P auxiliary data, dwell time -, *
Q auxiliary data -, *
,C distance of chamfer -, * ,R radius of fillet -, *
,A 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.
9
1 Introduction
Block
A block is made up of words. The blocks are separated by characters s (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 > placed 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 s (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 %. 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
%O1234(PROGRAM NAME)s/1N12345G1X0Y...sG2Z5...s....s
...s
...s
N1G40...M2s
%
In the above sequence of characters,
s is character "Line Feed",
% 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 > DC1 NAK/ACK DC3 ACK > BLOCK <
The above mnemonics have the following meanings (and their ASCII codes):
BEL (7): The control requests the sender to establish the communication. The 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 s) 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 machining. These activities will be here­after referred to as "interpolation". Tool movement along a straight line:
Program:
G01 Z__
X__ Z__
Tool movement along an arc:
Fig. 1.2-1
Program:
G02 X__ Z__ R__
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.
12
1 Introduction
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 nu­merical value. For example F2 means 2 mm/rev.
Fig. 1.2-3
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., X150 Z–100 means a coordinate point of 340 and –100 mm in the coordinate system of the workpiece in the direction X and Z respectively. The coordinate system in which the control interprets the positions, is different from the coordinate system of the workpiece. For the control system to make a correct work­piece, the zero point offsets of the two coordinate systems have to be set. This can be achieved, e.g., by moving the tool tip to a point of a known position of the part and setting the coordinate system of the control to that value.
Fig. 1.2-4
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 X200 Z150
will move the tool to a point of the above position, irrespective of its position before the command has been issued.
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:
U–50 W–125
The code of incremental data specification is G91. Code G91 refers to all coordinate values. The specification above is equivalent to the block below:
G91 X–50 Z-125
It will move the tool over the above distance from its pre­vious position.
Fig. 1.2-5
Fig. 1.2-6
Diameter Programming The coordinate X may be specified both in diameter or in radius depending on parameter.
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 Z30 F0.2
N16 X30
N17 Z100
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.
14
1 Introduction
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 S1500 tells the spindle to rotate at a speed of 1500 rpm.
Constant Surface Speed Control The control changes the spindle speed according to the diameter machined the way that the speed of the tool tip relative to the surface of the workpiece to be constant. This function is the constant surface speed control.
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. The first two digits of the T code refer to the tool number (that is in which position in turret it can be found), while the second two digits refer to the code of offset compensation. Instruction
T0212
in the program means that tool No. 2 has to be changed and the offset compensation group No. 12 is to be applied.
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 length of the tool, the various tool lengths must be set in cont­rol system. If the program is intended to move the tip of the tool to the specified point, the value of the particular length data has to be called. This is feasible at the second two digits of the T code. Henceforth the control will move
Fig. 1.2-7
the tip of the tool to the specified point.
15
1 Introduction
Tool Nose Radius Compensation When machining a workpiece and the tool does not move parallel to one of the axes exact size can be achieved only if not the tool tip is moved on the programmed path but the tool nose center parallel to it and with the distance of r. 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 tip . The values of radius compensations have to be set in control system. Hereinafter reference can be made to tool nose radius compensations at address T in the program.
Fig. 1.2-8
16
2 Controlled Axes
2 Controlled Axes
Number of Axes (in basic configuration) 2 axes
In expanded configuration 6 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: X and Z. The names of additional (expansion) axes depend on their respective types. Possible names of expansion axes performing linear motions are: Y, U, V and W. When U, V, W axes 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 whose axle of rotation parallel to X, Y and Z directions are termed A, B and C, respectively. The name of the spindle axis in case of polar or cylindrical coordinate interpolation is used: C. In case U, V or W axis cannot be found in the machine at the above addresses incremental movements can be specified for the axes X, Y, Z respectively. Address H can be used for specifying incremental movement for C.
Fig. 2.1-1
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 among axes on a given machine. In the case of different input and output units of measures, the control system will automatically
17
2 Controlled Axes
perform the conversion. The rotational axes are always provided with degrees as units of measure. The input increment system of the control is regarded as the smallest unit to be entered. It can be selected as parameter. There are three increment 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 encoder.
Increment system Min. unit to be entered Max. unit to be entered
0.01 mm 999999.99 mm
IS-A
IS-B
IS-C
0.001 inch 99999.999 inch
0.01 degree 999999.99 degree
0.001 mm 99999.999 mm
0.0001 inch 9999.9999 inch
0.001 degree 99999.999 degree
0.0001 mm 9999.9999 mm
0.00001 inch 999.99999 inch
0.0001 degree 9999.9999 degree
Coordinate data of X axis can also be interpreted by the control in diameter, provided parameter 4762 DIAM is 1. In this case the value limits defined in the above table are interpreted in diameter with their value remaining so.
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.
G code
G00 G01
Group
*
*
Positioning 23 Linear interpolation 23
Function
Page
01
G02 Circular interpolation, clockwise (CW) 25 G03 Circular interpolation, counter-clockwise (CCW) 25 G04
Dwell 51 G05.1 Multi-buffer mode on G07.1 Cylindrical interpolation 35
00 G09 Exact stop (in the given block) 48 G10 Data setting (programmed)
58, 80
G11 Programmed data setting cancel G12.1
Polar coordinate interpolation on 31
26 G13.1 Polarc coordinate interpolation off 31
*
G17 G18
*
Selection of XpYp plane 61
02
Selection of ZpXp plane 61 G19 Selection of YpZp plane 61 G20
Inch input 38
06
G21 Metric input 38
*
G22
Programable stroke check function on 181
04
G23 Programable stroke check function off 181
*
G25
Spindle speed fluctuation detection off 66
08
G26 Spindle speed fluctuation detection on 66 G28
Programmed reference-point return 52 G29 Return from reference point 53
00
G30 Return to the 1st, 2nd, 3rd and 4th reference point 53 G31 Skip function 178 G33
Thread cutting 29
01
G34 Variable-lead thread cutting 30 G36 G37 Automatic tool-length measurement Z 179
Automatic tool-length measurement X 179
00
G38 Tool nose radius compensation vector hold 98
19
3 Preparatory Functions (G codes)
G code
Group
Function
Page
G39 Tool nose radius compensation corner arc 98
*
G40 G41 Tool nose radius compensation left
Tool nose radius compensation cancel
07
G42 Tool nose radius compensation right
*
G50
Scaling cancel 111
82
82, 86
82, 86
11
G51 Scaling 111
*
G50.1
Programable mirror image cancel 111
18
G51.1 Programable mirror image 111 G51.2
Polygonal turning on 176
20
G50.2 Polygonal turning off 176 G52
Local coordinate system setting 60
00
G53 Positioning in the machine coordinate system 56
*
G54
Work coordinate system 1 selection 57 G55 Work coordinate system 2 selection 57 G56 Work coordinate system 3 selection 57
14
G57 Work coordinate system 4 selection 57 G58 Work coordinate system 5 selection 57 G59 Work coordinate system 6 selection 57 G61
Exact stop mode 48 G62 Automatic corner override mode 49
15
G63 Override inhibit 49
*
G64
Continuous cutting 49 G65 Simple macro call 184 G66 Macro modal call (A) in every motion command 185 G66.1 Macro modal (B) call from each block 186 G67 Macro modal call (A/B) cancel 185 G68 G69
*
Mirror image for double turret on 110
16
Mirror image for double turret off 110 G70 00 Finishing cycle 142 G71 Stock removal in turning cycle 133 G72 Stock removal in facing cycle 138 G73 Pattern repeating cycle 140 G74 End face peck drilling cycle 143 G75 Outer diameter/internal diameter drilling cycle 145 G76 Multiple thread cutting cycle 146 G77 01 Cutting cycle 126
20
3 Preparatory Functions (G codes)
G code
G78 Thread cutting cycle 128 G79 End face turning cycle 130
*
G80 G81 Drilling, spot boring cycle, 161 G82 Drilling, counter boring cycle 162 G83 Peck drilling cycle 163 G83.1 High Speed Peck Drilling Cycle 158 G84 Tapping cycle 164 G84.1 Counter tapping cycle 159 G84.2 Rigid tap cycle 165 G84.3 Rigid counter tap cycle 165 G85 Boring cycle 168 G86 Boring Cycle Tool Retraction with Rapid Traverse 169 G86.1 Fine boring cycle 160 G87 Boring Cycle/Back Boring Cycle 170
Group
09 Canned cycle for drilling cancel 161
Function
Page
G88 Boring Cycle (Manual Operation on the Bottom Point) 172 G89 Boring Cycle (Dwell on the Bottom Point, Retraction with Feed) 173
*
G90
*
G91 G92 00 Work coordinates change/maximum spindle speed setting 59
*
G94
*
G95 G96
*
G97
*
G98 G99 Canned cycle R point level return 153
Absolute command 38
03
Incremental command 38
Feed per minute 45
05
Feed per revolution 45 Constant surface speed control 64
13
Constant surface speed control cancel 64 Canned cycle initial level return 153
10
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 a block with the restriction that only one of the same
21
3 Preparatory Functions (G codes)
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.
22
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) E.g.:
G00 X(U)__ Z(W)__
where X, Z refer to absolute movement, while U, W refer to incremental one (provided U, W are not selected for axis). 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. In executing the G00 instruction, the control system performs acceleration and declaration in starting and ending the movements, respectively. On completion of the movement, the control will check the "in position" signal when 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 1020 POSITION ERROR message. The maximum acceptable deviation from the position can be specified in parameter INPOS. Being a modal code, G00 remains effective until it is re-written by another interpolation command. After power-on, G00 or G01 is effective, depending on the value set in parameter group CODES.
Fig. 4.1-1
4.2 Linear Interpolation (G01)
The series of instructions
G01 v F 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:
23
4 The Interpolation
Feed along the axis X is
Feed along the axis Z is
where x, z are the displacements programmed along the respective axes, L is the vectorial length of programmed displacement:
G01 X192 Z120 F0.15
The feed along a rotational axis is interpreted in units of degrees per minute (°/min):
G01 C270 F120
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
Fig. 4.2-1
G91 G01 Z100 C45 F120
Fig. 4.2-2
feed components in Z and B directions are:
Feed along axis Z:
Feed along axis C:
mm/min
°/min
Being a modal code, G01 is effective until rewritten by another interpolation command. After power-on, G00 or G01 is effective, depending on the parameter value set in group CODES of the parameter field.
24
4 The Interpolation
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).
Fig. 4.3-1
25
4 The Interpolation
The above figure shows clockwise (G02) and counter clockwise (G03) circular directions in plane G18 when the plane is viewed in the positive-to-negative direction of axis Y. If the plane is viewed in the negative-to-positive direction of axis Y the interpretation of circular directions is reversed owing to tool turret arrangements.
Fig. 4.3-2
Here and hereinafter, the meanings of Xp, Yp, and Zp are:
Xp: Axis X or its parallel axis, Yp: Axis Y or its parallel axis,
Zp: Axis Z or its parallel axis. The values of Xp, Yp, and Zp are the end-point coordinates of the circle in the given coordinate system, specified as absolute or incremental data.
26
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 Xp, Yp, 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
Fig. 4.3-3
number, respectively. For example:
Arc section 1: G02 X80 Z50 R40 Arc section 2: G02 X80 Z50 R-40 Arc section 3: G03 X80 Z50 R40 Arc section 4: G03 X80 Z50 R-40
4 The Interpolation
Case 2
The circle center is specified at address I, J, K for the Xp, Yp and Zp 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. Value I must always be specified in radius even if X coordinate is set to diameter. For example:
With G17: G03 X10 Y70 I-50 J-20 (X programmed in radius) With G18: G03 X70 Z10 I-20 K-50 (X programmed in radius) With G19: G03 Y10 Z70 J-50 K-20
Fig. 4.3-4
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.
Fig. 4.3-5
27
4 The Interpolation
L Notes:
– I0, J0, K0 may be omitted, e.g.
G03 X0 Z100 I-100
– When each of Xp, Yp and Zp is omitted, or the end point coordinate coincides with the start 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 360°. E.g.:
G03 I-100,
b. If radius R is programmed, the control returns error 3012 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 3011 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 of a
Fig. 4.3-6
circle arc of a varying radius.
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, K.
G90 G0 X0 Z50
G3 Z-20 K-50
Fig. 4.3-7
28
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.
G0 G90 X0 Z0 G2 X60 Z40 R10
In the following sample blocks X coordinate is in diameter and U and W are assumed not to be selected for axis:
G2 G90 X100 Z40 R41.2 or or or or or or or
G2 G90 X100 Z40 I40 J10
G2 G91 X60 Z30 R41.2
G2 (G90) U60 W30 R41.2
G2 (G90) XI60 ZI30 R41.2
G2 G91 X60 Z30 I40 J10
G2 (G90) U60 W30 I40 J10
G2 (G90) XI60 ZI30 I40 J10
4 The Interpolation
Fig. 4.3-8
Fig. 4.3-9
29
4 The Interpolation
4.4 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 control will cut a tapered thread if two coordinated data are assigned to vector v. The control will take the lead into consideration along the long axis. If "<45°, i.e. Z>X, the programmed lead will be taken into account along axis Z, if ">45°, i.e. X>Z, the control will take the programmed lead along axis X. The lead 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.4-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
a"=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 Q0 (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.4-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.
30
Loading...
+ 198 hidden pages