Programing Manual T
Programing Manual T
Programing Manual T
1020/1040/1060T
PROGRAMMING
MANUAL
0101938820/5
06-97 en-938820/5
Despite the care taken in the preparation of this document, NUM cannot guarantee the accuracy of the information it contains and cannot be held
responsible for any errors therein, nor for any damage which might result from the use or application of the document.
The physical, technical and functional characteristics of the hardware and software products and the services described in this document are subject
to modification and cannot under any circumstances be regarded as contractual.
The programming examples described in this manual are intended for guidance only. They must be specially adapted before they can be used in
programs with an industrial application, according to the automated system used and the safety levels required.
2 en-938820/5
Table of Contents
Table of Contents
1 Review 1-1
1.1 System Overview 1-3
1.2 Machine Overview 1-5
2 Structure of a Programme 2-1
2.1 Word Format 2-4
2.2 Block Format 2-7
2.3 General Structure of a Programme 2-9
2.4 Classification of Preparatory G Functions
and Miscellaneous M Functions 2 - 18
3 Axis Programming 3-1
3.1 General 3-3
3.2 Programming the Independent Secondary
Axes 3-4
3.3 Programming Carrier/Carried Parallel Axis
Pairs 3-5
3.4 Programming of Rotary Axes Modulo 360
Degrees 3-6
3.5 Programming of Slaved Rotary Axes with
Limited Travel 3-7
3.6 Programming of Axes A, B or C Declared as
Nonrotary 3-7
3.7 Features of Front Turret, Rear Turret 3-8
4 ISO Programming 4-1
4.1 Choice of the Programming System 4-5
4.2 Programming with Reference to Diameter
or Radius 4-9
4.3 Spindle Commands 4 - 11
4.4 Rapid Positioning 4 - 29
4.5 Programming of Movements 4 - 32
4.6 Path Sequencing Conditions 4 - 59
4.7 Feed Rate 4 - 61
4.8 Programming of Tools 4 - 70
4.9 Basic Cycles 4 - 91
4.10 Other Machining Cycles 4 - 128
4.11 Breaks in Sequence 4 - 165
4.12 Movement Origin Selection 4 - 203
4.13 Spline Curve Interpolation 4 - 216
4.14 Coordinates Systems with C Axis 4 - 226
4.15 Other Functions 4 - 238
4.16 «Inclined Axis» or «Inclined Wheel»
State on a Grinder 4 - 267
4.17 Special Programming for Multiple Axis
Groups 4 - 273
en-938820/5 3
4.18 Special Programming of PLC Axes 4 - 283
4.19 Message Transmission 4 - 288
4.20 Spindle Synchronisation 4 - 293
5 Profile Geometry Programming 5-1
5.1 Profile Geometry Programming (PGP) 5-3
5.2 Profil Function 5 - 22
6 Parametric Programming 6-1
6.1 Programme L Variables 6-3
6.2 External E Parameters 6 - 16
6.3 Address Equivalences 6 - 54
6.4 Transfer of the Current Values of L
Variables and E Parameters into the Part
Programme 6 - 55
6.5 Message Display with Wait for an Operator
Response 6 - 57
6.6 Display of Messages with Parametric
Value 6 - 59
6.7 Reading the Programme Status Access
Symbols 6 - 60
6.8 General Diagrams of Parametric
Programming 6 - 64
7 Programme Stack - L Variables and Symbolic Variables 7-1
7.1 Programme Stack 7-3
7.2 Saving and Restoring L Variables 7-4
7.3 Symbolic Variables 7-7
8 Programming of Error Numbers and Messages 8-1
8.1 General 8-3
8.2 Creating Error Messages 8-3
Appendix A Function Summary Tables A-1
A.1 G Function Summary Table A-3
A.2 M Function Summary Table A - 17
A.3 Additional Function Summary Table A - 22
Appendix B External Parameter E Summary Tables B-1
B.1 Parameters in the PLC Memory B-3
B.2 Parameters in the NC Memory B-3
Appendix C Word Format Summary Table C-1
4 en-938820/5
Table of Contents
en-938820/5 5
6 en-938820/5
Table of Contents
Record of Revisions
DOCUMENT REVISIONS
Manual revisions:
- Classification of G preparatory functions and M miscellaneous functions.
- Processing of blocks and programmed G and M functions (with G997 to G999).
- Programming of error numbers and messages.
- Counterboring, boring and tapping cycles.
- The sections on structured programming and the use of table of variables are
transferred from this manual to the supplementary programming manual.
Software index C:
- Special programming of PLC axes.
- Creation of external parameter E41004.
Software index D:
- Spline curve interpolation.
- Rigid tapping.
- Creation of external parameters E42000 to E42127, E79003, E79004, E41005,
E941xx, E960xx, E961xx, E962xx, E963xx.
Manual revisions:
- Circular interpolation defined by three points (G23)
- Block sequencing without stopping movement, with sequence interruption and feed rate
limiting after interrupt by EF (changes to G10)
- Temporary suspension of next block preparation (G79+/-)
- Automatic homing subroutine branch
- Subroutine branch on reset
- Message transmission by $0 to $6 (formerly in Chapter 3, moved to the end of
Chapter 4)
- Added a paragraph concerning access to the Profil function (see Sec. 5.2)
- Unconditional call to a sequence by G77N..
en-938820/5 7
Added changes
Software at index E:
- Polar programming
- Feed rate in fillets EB+ and chamfers EB-
- Movements parallel to inclined axes (G05 and G07)
- Extension of parameter E21000
- External parameters E49001 to E49128, E931xx, E932xx, E933xx, E7x100, E934xx,
E951xx, E952xx, E41102, E33xyz, E43xyz, E34xxy, E44xxy, E20100 to E20111,
E9030x, E9031x, E9032x, E9033x, E970xx, E971xx, E972xx, E11014, E11016 and
E32001
- Acquisition of variables in the stack of another axis group by function VAR H.. N.. N..
- Adressing by function [.RG80]
- Conversion of the internal unit to the programming unit by function U for linear axes.
Inclusion of changes
Software index H
- external parameters E11008, E936xx
8 en-938820/5
Table of Contents
DOCUMENT REVISIONS
Added changes:
en-938820/5 9
10 en-938820/5
Foreword
Foreword
These documents are designed for the operator of the numerical control.
OEM Documents
These documents are designed for the OEM integrating the numerical control on a
machine.
en-938820/5 11
OEM Documents (cont’d)
These documents are designed for the OEM integrating the numerical control on a
machine.
12 en-938820/5
Foreword
Programming Manual
General description of the NC and its use with the machine tool.
Review of the rules and standards related to the NC/machine-tool combination.
CHAPTER 1
REVIEW
Rules for writing a part programme by assembling characters into words, words into
blocks and blocks into a complete programme.
CHAPTER 2
STRUCTURE
OF A
PROGRAMME
CHAPTER 3
AXIS
PROGRAMMING
CHAPTER 4
ISO
PROGRAMMING
en-938820/5 13
Detailed description of profile geometry programming (PGP).
Description of access to the Profil function and the contour call created by Profil.
CHAPTER 5
PGP and Profil are used to define contours as a sequence of geometric elements,
with computation of intermediate points. PGP and Profil are extensions of ISO
PROFILE programming.
GEOMETRY
PROGRAMMING
CHAPTER 6
PARAMETRIC
PROGRAMMING
Possibility of naming the variables used in a part programme to make the programme
CHAPTER 7
easier to read.
PROGRAMME
STACK-
L VARIABLES
AND SYMBOLIC
VARIABLES
Gives the possibility of programming and displaying error numbers and messages.
CHAPTER 8
PROGRAMMING
OF ERROR
NUMBERS AND
MESSAGES
14 en-938820/5
Foreword
- G preparatory functions,
APPENDIX A - M miscellaneous functions,
- other functions.
FUNCTION
SUMMARY
TABLES
EXTERNAL
PARAMETER E
SUMMARY
TABLES
APPENDIX C
WORD
FORMAT
SUMMARY
TABLE
APPENDIX D
LIST OF
ERRORS
en-938820/5 15
Use of this Programming Manual
Function Syntax Entry Conventions
The lines (blocks) of a part programme include several functions and arguments.
Special syntax rules apply to each of the functions described herein. These syntax
rules specify how the programme blocks must be written.
Certain syntax formats are given as a line. The following conventions simplify writing
the line:
- the function to which the syntax format is related is highlighted by boldface type,
- terms between square brackets «[..]» are optional functions or arguments in the
block (or functions activated earlier, with values unchanged, etc.) (except Sec. 6.6
and Chapter 7),
- «/» indicates a choice between several terms (equivalent to «or») (except Sec. 6.6
and Chapter 7),
- «..» after a letter replaces a numerical value,
- «...» replaces a character string (for instance a message).
Examples
+ E (
Parameter
5 digits )
– L ( Variable
)
1 to 3 digits
( )
Value
L ( 1 to 3 digits ) = 8 digits
max
+
–
NC Operating Modes
Certain NC operating modes are mentioned herein when they are directly related to
the use of ISO functions. For additional information on these modes, refer to the
Operator Manual.
16 en-938820/5
Foreword
Optional Functionalities
The use of certain functionalities described herein requires validating the associated
options. The «OPTIONS» system page is used to check for the presence of these
functionalities (for access to the «OPTIONS» page and the list of functionalities, see
Chapter 2 of the Operator Manual).
The lists at the beginning of the manual indicate the pages where the G, M and other
functions are found (yellow pages).
Index
The index at the end of the manual facilitates access to information by keywords.
Agencies
The list of NUM agencies is given at the end of the manual.
Questionnaire
To help us improve the quality of our documentation, we kindly request you to return
the questionnaire at the end of the manual.
en-938820/5 17
18 en-938820/5
Lists of G, M and Other Functions
G Functions
Code Description Page
G00 High-speed linear interpolation 4 - 29
en-938820/5 19
Code Description Page
G48 Spline curve definition 4 - 216
20 en-938820/5
Lists of G, M and Other Functions
en-938820/5 21
M Fonctions
Code Description Page
M00 Programme stop 4 - 248
22 en-938820/5
Lists of G, M and Other Functions
Other Functions
Code Description Page
$0 Message transmission to the display 4 - 288
T Tool number 4 - 70
en-938820/5 23
24 en-938820/5
Review
1 Review
en-938820/5 1-1
1-2 en-938820/5
Review
The aim of this chapter is to introduce concepts that will be detailed in the rest of the
manual, rather than to reflect the way an operator works on the machine.
1
For instance, in Section 1.2.4 (Offset Definition), the aim is to define the offsets and
corresponding origins or zero points rather than give a method for measuring the
offsets.
en-938820/5 1-3
1.1.3 Preparating a Programme
A part programme can be created by traditional programming or using a CAD/CAM
system.
CAD/CA
M
Part Machining
Programme instructions
%1
N10
N20
N30
1-4 en-938820/5
Review
X
0 A
en-938820/5 1-5
1.2.2 Machine Overview
The manufacturer defines the coordinate system associated with the machine in
accordance with standard ISO 841 (or NF Z68-020).
The X, Y and Z axes, parallel to the machine slideways, form a right-handed
rectangular cartesian coordinate system.
The coordinate system measures tool movements with respect to the part to be
machined, assumed fixed.
REMARK When it is the part that moves, it may be more convenient to identify its
movements. In this case, axes X’, Y’ and Z’, pointing in opposite
directions from axes X, Y and Z, are used.
The direction of the axis of a machine depends on the type of machine and the layout
of its components.
For a lathe:
- the Z axis is the same as the spindle axis,
- the X axis is perpendicular to the Z axis and corresponds to radial movement of
the tool-holder turret,
- the Y axis (generally a dummy axis) forms a right-handed coordinate system with
the X and Z axes.
Positive movement along the Z or X axis increases the distance between the part and
the tool.
Rotary axes A, B and C define rotations around axes parallel to X, Y and Z.
Secondary linear axes U, V and W may or may not be parallel to primary axes X, Y
and Z.
For more details, refer to the above-mentioned standard.
+ C'
+X
+Z
1-6 en-938820/5
Review
OM : The system establishes the measurement origin (OM) via a homing procedure
(MOS).
The home switch is set in a specific physical location: the machine zero point (Om)
Om : may or may not be the same as the measurement origin (OM).
The homing procedure is completed for each of the axes when:
- the origin limit switch is actuated in the direction of movement specified by the
m/c manufacturer (MOS direction),
- the encoder which measures axis movement outputs its marker pulse.
MOS direction
Om
en-938820/5 1-7
When homing (MOS) is completed, the system applies the offset defined by the
manufacturer to each of the axes to establish the measurement origin (OM).
The useful travel on each of the axes is limited by software limits whose values are
defined by the machine parameters.
X
Origin switch
encoder zero
Useful travel on X
on X (limit switch)
Mechanical travel
Om
ORPOM X
OM Z
ORPOM Z
1-8 en-938820/5
Review
He sets (for each axis) a known, accessible point on the part, called the part origin,
Op : (Op). This may be the same point as the programme origin.
It is possible to set the DAT1, DAT2 values from the part programme.
Turret Measurement
origin
Setting block (OM)
OP Op Turret
reference
Z DAT2
Z DAT1
en-938820/5 1-9
Offsets on the X axis (solution with DAT2)
Turret Measurement
origin
Turret (OM)
reference
X DAT1
Setting
block
X
X DAT2
Op
OP
X Measurement
Turret origin
(OM)
Turret
reference
X DAT1
X X
OP Op Z
1 - 10 en-938820/5
Review
The coordinates of a point (A) defined with respect to the programme origin (OP) are
converted by the NC to coordinates with respect to the measurement origin (OM):
1
X Z DAT1 X
Z DAT2
ZPA
ZMA
X DAT1
OM
XMA
Op
X DAT2
A
XPA Z
OP
PART
en-938820/5 1 - 11
1.2.5 Definition of the Tool Dimensions
Tool dimension = distance from tool cutting edge to turret reference point
Turret reference
point
OP
Z Dimension Z
Part/tool contact
face
Turret reference
Part/tool point
contact
diameter
Dimension X
OP
Z
Tool X dimension = X
Tool Z dimension = Z
1 - 12 en-938820/5
Review
X P
C3 C2 C1 Z
C4 C0 C8
P Z
C5 C6 C7
X dimension
Move
R
C
P
Z
en-938820/5 1 - 13
1.2.6 Definition of Dynamic Tool Corrections
At any time (even during machining), the operator can enter dynamic tool corrections
when he observes a difference between the expected and the actual results on a part.
The corrections (positive or negative) compensate for slight dimensional variations
of the tool or part (wear, expansion).
L + ∆L
L
D + ∆D
TOOL
X + DX/2
DX = -∆D
DZ = -∆L
Z + DZ
1 - 14 en-938820/5
Structure of a Programme
2 Structure of a Programme
en-938820/5 2-1
2-2 en-938820/5
Structure of a Programme
A CNC part programme is a list of instructions and data to be transmitted to the control
system.
The creation of a programme consisting of blocks and words must obey structure,
syntax and format rules.
The programmes are variable in length with addresses as per the ISO and EIA codes 2
and standards.
Programming is possible in both codes:
- ISO (International Standards Organization) 6983-1 (NF Z 68-035), 6983-2
(NF Z 68 036) and 6983-3 (NF Z 68-037).
- EIA (Electronic Industries Association) Standards RS 244 A and 273 A.
PROGRAMME
%10
N10
N..
N..
N..
N250 M02
WORD
XOFF
en-938820/5 2-3
2.1 Word Format
A word contains an instruction or data to be transmitted to the control system.
Word types:
- words defining dimensions
- words defining functions.
The word format defines the specific characteristics of each code word used in
programming (see table, Appendix C).
WORD
REMARK For words defining a dimension, the decimal point is generally explicit.
It separates the digits before and after the decimal point (it does not
appear in the definition of the word format).
The number of characters and spaces in a block must not exceed 118.
2-4 en-938820/5
Structure of a Programme
Correspondence between the word format and internal unit for linear axes
2
Correspondence between the word format and the internal system unit for
rotary axes
en-938820/5 2-5
Examples of word formats:
X + 0 5 3
Word address
The dimension 0.450 mm in X+053 format (variable word format), can be written:
X+0.450 or X.45
G 0 2
Word address
G function words in G02 format (variable word format).
Word G01 can be written: G1
Word G04 can be written: G4
2-6 en-938820/5
Structure of a Programme
Dimension word
Block number
Examples of blocks
Tool change
Correction number
Tool number
Block number
en-938820/5 2-7
A block defining spindle rotation
Direction of rotation
Spindle range
Speed of rotation
Block number
Coolant
Feed rate
End point
Linear interpolation
Block number
2-8 en-938820/5
Structure of a Programme
REMARK A programme can be written in ISO code or EIA code. The ISO or EIA
code is recognised by the system by reading the programme start
character.
en-938820/5 2-9
Programme start character
Programme number
% 1
N10
N20
N30 e
m
N..
m
ra
og
N..
Pr
N..
N..
N250 M02
XOFF
Miscellaneous programme
end function
REMARK For an EIA programme, a programme end character other than BS can
be declared by machine parameter P80 (see Parameter Manual).
2 - 10 en-938820/5
Structure of a Programme
en-938820/5 2 - 11
2.3.3 Programme Numbering
Programme number: The permissible format is %051.
The % character is followed by a programme number and possibly by a comment in
brackets.
Example:
%324 (PART No. 72 - PROG 3)
A programme number can be indexed (indices .1 to .8 with multiple axis group
programming, see Sec. 4.15).
Example:
%425.2 (PROG FOR GROUP 2)
! CAUTION
Programmes with numbers above %9000 are reserved for NUM and the OEM integrating
the NC on the machine (check with NUM or the OEM for possible use of these numbers).
2 - 12 en-938820/5
Structure of a Programme
en-938820/5 2 - 13
Structure of an ISO programme tape:
Sprocket holes
- Start of
8 6 3 1 %
programme
8 4 3 1 CR
- End of
4 2 LF
rewind
I
I
I
6 4 (
Comments
8 6 4 1 )
8 4 3 1 CR
4 2 LF
7 4 32 N
Part programme
8 65 1 1
65 0
I
I
I
I
I
I
I
I
I
I
I
7 4 31 M
8 65 2 2 End of programme
8 4 3 1 CR
4 2 LF - End of tape
8 5 21 CTRL-X-OFF - Start of
rewind
TRAILER
2 - 14 en-938820/5
Structure of a Programme
ISO CODE
Channel No. 8 7 6 5 4 3 2 1
en-938820/5 2 - 15
List of characters used in EIA code (RS.244.B):
EIA CODE
Channel No. 8 7 6 5 4 3 2 1
2 - 16 en-938820/5
Structure of a Programme
Channel numbers 8 7 6 5 4 3 2 1
The «$» character is used in a programme to send messages (see Sec. 4.19).
Most of the other characters are mainly used for parametric programming (see
Chapter 6).
en-938820/5 2 - 17
2.4 Classification of Preparatory G Functions and Miscellaneous M Functions
2.4.1 Classification of Preparatory G Functions
Types of G functions:
- Modal G functions,
- Nonmodal G functions.
Certain G functions must be programmed with the associated arguments.
Programming of certain G functions may be incompatible with the state of the current
programme.
2 - 18 en-938820/5
Structure of a Programme
- the G function cancels a former modal state and characterises its argument
differently.
Example:
N.. G94 F100 Feed in mm/min
N..
N.. G95 F0.5 The change from feed in mm/min to
mm/revolution requires redefining
argument F
Optional Arguments
The arguments are optional if the G function allows them to be defined by default.
Example:
N.. G96 [X..] S150 Case where the X position (with respect
to OP) was specified by an earlier block
en-938820/5 2 - 19
Arguments Programmed Alone
The argument can be programmed alone in a block when the associated G function
is still active.
Example:
N.. G94 F150 X.. Z.. Feed in mm/min
N..
N.. X.. Z.. F100 Function G94 is not compulsory with its
argument because the system is still in
state G94.
2 - 20 en-938820/5
Structure of a Programme
en-938820/5 2 - 21
2.4.2.5 Encoded M Functions
The encoded functions are defined by the machine manufacturer and are specific to
the machine (see manufacturer’s technical data).
REMARK All these functions are acknowledged by a PLC handshake (CRM). The
acknowledgement enables continuation of the part programme.
Example:
N.. T01 M06 Tool change function M06
Several decoded M functions can be programmed in the same block.
Example:
N.. G97 S500 M03 M40 M08
2 - 22 en-938820/5
Axis Programming
3 Axis Programming
en-938820/5 3-1
3-2 en-938820/5
Axis Programming
3.1 General
Programmable axes:
- Primary axes X, (Y), Z,
- Secondary axes U, (V), W,
- Rotary axes (A), (B), C.
Primary and secondary axes:
- they can be independent or form carrier/carried axis pairs (see machine parameter
P64),
- they can be programmed in millimetres (basic unit) or inches.
3
Rotary axes:
- They can be modulo 360 degrees or have limited travel or be declared as non-
rotary (see machine parameter P1),
- They are programmed in degrees (basic unit).
Reminder
REMARK For ISO functions and programming arguments defining angular va-
lues (EA.., EC.., ED.., etc.), the unit is always 0.0001 degree.
For additional information, refer to:
- The machine manufacturer’s manual
- The Parameter Manual.
en-938820/5 3-3
3.2 Programming the Independent Secondary Axes
Programming the independent secondary axes U, (V), W is unrelated to the
programming of the primary axes X, (Y), Z.
3-4 en-938820/5
Axis Programming
OM U OM X
UP2
Part origin
(Op)
XM1 X
Part
Programme
origin (OP)
OM U OM X
XP3
Part origin
(Op)
XM3 X
Part
Programme
origin (OP)
en-938820/5 3-5
3.4 Programming of Rotary Axes Modulo 360 Degrees
Rotary axis C programmed in absolute dimensions (G90)
The angular value assigned to the axis is the position of the end point with reference
to the programme origin, value between 0 and 360 degrees, maximum one revolution
(see Sec. 4.1 for function G90).
The sign (+ or -) determines the direction of rotation to reach this point.
Example:
a: Start point
+ (Positive)
b: End point
(30°)
a
Positive rotation
N.. ... C0 X
N.. G90 C+270
N..
b – (Negative)
Negative rotation + 270°
– 270°
N..
N.. G90 C-270
N..
3-6 en-938820/5
Axis Programming
REMARK With incremental programming G91 (see Sec. 4.1 for function G91), a
movement of more than one revolution is allowed on modulo rotary
axes A, B or C. It should be noted that a maximum of 15 revolutions
are allowed. If this value is exceeded, the system returns error
message 1.
+ 0 – + –
0
+ 405 - 405 + 45
- 495
en-938820/5 3-7
3.7 Features of Front Turret, Rear Turret
The front or rear position of the main turret defines the positive orientation of the X
axis.
Turret
OM
Measurement
origin
Spindle
axis OP Z
Spindle OP
axis Z
X
Measurement
origin
OM
Turret
3-8 en-938820/5
ISO Programming
4 ISO Programming
en-938820/5 4-1
4.9 Basic Cycles 4 - 91
4.9.1 Cancellation of a Canned Cycle 4 - 91
4.9.2 Constant Pitch Thread Chasing Cycle 4 - 92
4.9.3 Sequenced Thread Cutting 4 - 99
4.9.4 Drilling, Boring and Tapping Cycles 4 - 101
4.9.4.1 General 4 - 101
4.9.4.2 Centre Drilling Cycle 4 - 104
4.9.4.3 Counterboring Cycle 4 - 106
4.9.4.4 Peck Drilling Cycle 4 - 108
4.9.4.5 Tapping Cycle 4 - 111
4.9.4.6 Rigid Tapping Cycle 4 - 113
4.9.4.7 Boring Cycle 4 - 117
4.9.4.8 Drilling Cycle with Chip Breaking 4 - 119
4.9.4.9 Boring Cycle with Dwell at the Bottom of
the Hole 4 - 122
4.9.4.10 Examples of Programming Cycles 4 - 124
4.9.4.11 Table Summarising Cycles G81 to G89 4 - 127
4.10 Other Machining Cycles 4 - 128
4.10.1 Rough Turning/Facing Cycle 4 - 128
4.10.2 Groove Roughing Cycle 4 - 140
4.10.3 Plunging Cycle 4 - 146
4.10.4 Roughing Cycle with Groove 4 - 151
4.11 Breaks in Sequence 4 - 165
4.11.1 Unconditional Branch to a Subroutine or
Sequence of Blocks with Return 4 - 165
4.11.2 Subroutine Branch by M Function 4 - 172
4.11.3 Branch to a Sequence without Return 4 - 175
4.11.4 Subroutine Call by Automatic Control
Function 4 - 178
4.11.5 Block Interrupt 4 - 181
4.11.5.1 Special Use of Sequence Interrupt 4 - 185
4.11.6 Temporary Suspension of Next Block
Preparation 4 - 187
4.11.7 Emergency Retract 4 - 189
4.11.8 Branch to Automatic Homing Subroutine 4 - 193
4.11.9 Subroutine Branch on a Reset 4 - 194
4.11.10 Restrictions Related to Drip Feed Mode 4 - 195
4.11.11 Call to Subroutine Return Block 4 - 196
4.11.12 ISO Programme or Block Creation/
Deletion 4 - 198
4-2 en-938820/5
ISO Programming
4.11.12.1General 4 - 198
4.11.12.2Creating a Programme 4 - 198
4.11.12.3Deleting a Programme 4 - 199
4.11.12.4Inserting a Block 4 - 200
4.11.12.5Deleting a Block 4 - 202
4.12 Movement Origin Selection 4 - 203
4.12.1 Programming of Movements in Absolute
Coordinates Referenced to the
Measurement Origin 4 - 203
4.12.2 Datum Shift DAT1 and DAT2 Cancel/
Enable 4 - 206
4.12.3 Programme Origin Preset 4 - 207
4.12.4 Programme Origin Offset 4 - 209 4
4.12.5 Angular Offset 4 - 215
4.13 Spline Curve Interpolation 4 - 216
4.13.1 General 4 - 216
4.13.2 Programming 4 - 216
4.13.2.1 Spline Curve Interpolation 4 - 217
4.13.2.2 Spline Curve Execution Command 4 - 220
4.13.2.3 Programming Examples 4 - 221
4.13.2.4 Freeing Memory by Deleting a Spline
Curve 4 - 225
4.14 Coordinates Systems with C Axis 4 - 226
4.14.1 Programming in Polar Coordinates 4 - 226
4.14.2 Definition of the Start X for Interpolation
on the C Axis 4 - 228
4.14.3 Programming in Cartesian Coordinates 4 - 229
4.14.4 Programming in Cylindrical Coordinates 4 - 234
4.15 Other Functions 4 - 238
4.15.1 Dwell 4 - 238
4.15.2 Programmed Feed Stop 4 - 240
4.15.3 Feed Enhancement 4 - 242
4.15.4 Programming in Inches or Metric Data 4 - 244
4.15.5 Axis Clamping and Unclamping 4 - 246
4.15.6 Coolant 4 - 247
4.15.7 Programme Stop 4 - 248
4.15.8 Optional Stop 4 - 250
4.15.9 Cancellation of MDI and EDIT modes 4 - 252
4.15.10 Forced Block Continuation 4 - 254
4.15.11 Potentiometer Inhibit 4 - 255
4.15.12 Block Skip 4 - 256
en-938820/5 4-3
4.15.13 Programmed Acceleration Reduction 4 - 258
4.15.14 Scaling Factor 4 - 259
4.15.15 Mirror Function 4 - 261
4.15.16 Processing of Blocks and Programmed G
and M Functions 4 - 264
4.16 «Inclined Axis» or «Inclined Wheel» State on a Grinder 4 - 267
4.16.1 «Inclined Axis» State 4 - 267
4.16.1.1 Initial Tool Positioning Before Machining
on an Inclined Axis 4 - 268
4.16.1.2 Movement Along the Inclined Axis 4 - 269
4.16.2 «Inclined Wheel» State 4 - 271
4.17 Special Programming for Multiple Axis Groups 4 - 273
4.17.1 Programme Declaration 4 - 273
4.17.2 Programming Notes 4 - 273
4.17.3 Subroutine branches for Multi-Axis
Groups 4 - 275
4.17.3.1 Branch to Automatic Homing Subroutine 4 - 275
4.17.3.2 Subroutine Call by a Reset 4 - 275
4.17.3.3 Subroutine Call by the Automatic Control
Function 4 - 276
4.17.3.4 Subroutine Call by M Function 4 - 276
4.17.4 Spindle Programming 4 - 277
4.17.5 Current Spindle Release by an Axis
Group 4 - 278
4.17.6 Axis Group Synchronisation 4 - 279
4.18 Special Programming of PLC Axes 4 - 283
4.18.1 Programme Declaration and Storage 4 - 283
4.18.2 Programming of the PLC Axes 4 - 285
4.18.2.1 Emergency Retraction on a PLC Axis
Group 4 - 285
4.18.3 Editing the Programmes 4 - 286
4.18.4 Exchanging Axes between Groups 4 - 286
4.18.5 Exchanging Spindles Between Groups 4 - 287
4.19 Message Transmission 4 - 288
4.19.1 Message Transmission to the Display 4 - 288
4.19.2 Transmission to Automatic Control
Function or Remote Server or Peripheral
or PC 4 - 290
4.20 Spindle Synchronisation 4 - 293
4.20.1 Spindle Acceleration Control 4 - 293
4.20.2 Servo-Controlled Spindles and
Synchronised Spindles 4 - 294
4.20.2.1 Servo-Controlled Spindles 4 - 294
4.20.2.2 Synchronised Spindles 4 - 295
4-4 en-938820/5
ISO Programming
4
OP
Syntax
en-938820/5 4-5
Properties of the Functions
Functions G90 and G91 are modal.
G90 is the default function.
Cancellation
Functions G90 and G91 cancel one another.
Notes
The first movement must be programmed:
- in absolute dimensions (G90),
- by manual data entry (MDI) or in a programme with respect to the programme
origin (OP) instead of with respect to the current position.
Incremental programming (G91) is prohibited for PGP (Profile Geometry Programming,
see Chapter 5).
Combined programming
Both types of programming (G90/G91) can be included in a programme and even in
a block. For instance:
N..
N.. G91 X.. Z..
N.. G90 X.. G91 Z.. X absolute, Z incremental
N.. G90 X.. Z..
N..
4-6 en-938820/5
ISO Programming
Examples
Xb
N.. Z
OP 4
en-938820/5 4-7
Absolute programming (G90), (System programmed on diameter)
Coordinates of points a, b, c, d, with d
respect to the programme origin (OP).
c 5
N.. (G90) ... b a
ø 50
N.. X20 Z5
N.. Z-10 X
ø 20
ø 30
N.. X30 Z-30 Z
N.. X50 OP
N..
10
30
ø 30
N.. X5 Z-20 X
N.. X10
ø 20
Z
N.. G90 OP
N..
4-8 en-938820/5
ISO Programming
Xa
Programming of the system with
reference to the diameter or radius is
Xa
selected by machine parameter P4 (see
OP
parameter manual).
In both cases, certain functions are
always expressed with respect to the
4
diameter and others with respect to the
radius.
en-938820/5 4-9
Value of offset DAT2:
- Entry of the value with reference to radius.
Movements related to the manual controls:
- Movements on the X axis with reference to radius, but display with reference to
diameter on the «AXES» page.
4 - 10 en-938820/5
ISO Programming
M03 4
en-938820/5 4 - 11
Syntax
N.. M03/M04/M05
Cancellation
Functions M03, M04 and M05 cancel one another.
Functions M00, M19 and M01 (enabled) cancel functions M03 or M04.
Example
N.. ...
N120 ... Tool call
N130 M03 ... Spindle clockwise rotation
N..
N..
N220 M05 ... Spindle off
N..
4 - 12 en-938820/5
ISO Programming
Syntax
Cancellation
Function G97 is cancelled by function G96 S.. (constant surface speed).
The spindle speed programmed by G97 is cancelled by S0 or modified by programming
a new value of S..
Notes
en-938820/5 4 - 13
Example
N.. ...
N130 G97 S636 M04 Spindle rotation
N..
Reminder
The spindle rotation speed N is determined from the required cutting speed (V).
The cutting speed V in meters per minute is mainly related to:
- the tool material,
- the part material.
Cutting speed V = 100 m/min.
Tool diameter D = 50 mm.
1000 x V
N (rpm) =
3.14 x D
1000 X 100
N=
3.14 X 50
N= 636.9 rpm, i.e. S636
4 - 14 en-938820/5
ISO Programming
4
Syntax
Cancellation
Function G96 is cancelled by function G97 S..
Notes
This function can only be programmed when the machine is equipped with a variable
speed spindle.
The machine spindle must be rotating when the function is called.
After a retraction with reference to the measurement origin (G52 X..), a new constant
surface speed initialisation position in X (or U) must be reprogrammed.
en-938820/5 4 - 15
When a constant surface speed is programmed:
- the X (or U) axis defining computation of the constant surface speed can be
programmed in the same block or one of the previous blocks (between G52 and
G96). If X is missing, the system returns error message 28.
- the X (or U) axis must be programmed with reference to the programme origin,
- the speed applies to the centre of the tool insert radius,
- it can be modified during the programme by redefining a new speed by G96 S..,
- enabling of offsets DAT1 and DAT2 does not affect the surface speed.
During machining with constant surface speed, it is recommended to:
- programme the feed rate in mm/revolution in order to perform machining with a
constant chip thickness (see Sec. 4.7),
- cancel the constant surface speed by programming a rotation speed in rpm (G97
S..) before each tool change, then initialise the constant surface speed on the X
position of the new tool (and D correction).
Vc
Vcst variable
4 - 16 en-938820/5
ISO Programming
N constant
Vcst Vc variable
en-938820/5 4 - 17
Examples
ø 50
OP Z
4 - 18 en-938820/5
ISO Programming
ø 20
OP Z
4
N.. ... (HSS DRILL DIAMETER=20) Tool change and correction
N170 G97 S500 M40 M03 Spindle rotation at 500 rpm
N180 ... X0 Z60 Drill axis positioned in the spindle axis
N190 G96 X20 S30 Constant surface speed initialised on the
drill diameter (X20)
N..
N.. G97 S500 Function G96 cancelled
N..
en-938820/5 4 - 19
4.3.3 Spindle Range
The system allows the definition of six spindle ranges associated with address S.
Syntax
Cancellation
Functions M40 to M45 cancel one another.
Notes
The minimum and maximum speeds are defined for each range by the machine
manufacturer. Example:
M40 = 50-500 rpm
M41 = 400-900 rpm
M42 = 800-4200 rpm
In a system with automatic range selection, the spindle range is determined simply
by programming the S address and the rpm.
Example
N.. ...
N30 G97 S650 M41 M03 Range M41
N..
4 - 20 en-938820/5
ISO Programming
dle
Spin
a is
x
Syntax
Cancellation
Function M19 is cancelled by one of functions M03, M04 or M05.
Notes
The spindle may or may not be rotating when indexing is enabled. If the spindle is not
rotating, indexing is carried out by positioning along the shortest path.
en-938820/5 4 - 21
When the system includes a spindle probe, M19 can be programmed to index the
spindle to any position with reference to the fixed position defined by the machine
manufacturer (see manufacturer’s manual).
When the system includes bidirectional orientation capabilities, the stopped position
is reached by the shortest path.
Example
Indexed spindle stop at + 90 degrees with reference to the origin.
4 - 22 en-938820/5
ISO Programming
M62/M63/M64/M65
Control of spindles 1-4.
Syntax
Cancellation
Functions M62, M63, M64 and M65 cancel one another.
At power on, after a reset or at the end of the programme (M02), each spindle is
assigned to the axis group with the same number (e.g. M64 is initialised for axis group
one).
en-938820/5 4 - 23
Notes
A spindle receives these functions for the axis group to which it is assigned:
- speed G96 S.. or G97 S..,
- spindle direction of rotation or stop (M03, M04, M05),
- spindle speed ranges (M40-M45),
- speed limitation (G92 S..),
- spindle indexing (M19 C..),
- speed override or override cancel (M48 or M49).
The spindle of one group is released by:
- selection of a new spindle (M62-M65),
- release function M61 (see Sec. 4.17.5).
After being released from a group, the spindle preserves all the characteristics it had
at the time of release (see above) but any new functions in the group are not
addressed to it but to the new spindle assigned to the group.
For notes on programming the spindles with multiple axis groups (see Sec. 4.17).
Example
N.. ...
N130 M65 Assignment of spindle 2 to the group
N140 G97 S500 M03 M40 Control of spindle 2
N..
4 - 24 en-938820/5
ISO Programming
M66/M67/M68/M69
Measurement of spindles 1
to 4.
Syntax
N.. M66/M67/M68/M69
Cancellation
Functions M66, M67, M68 and M69 cancel one another.
At power on, at the end of a programme M02 or after a reset, the spindle measurement
is assigned to the axis group with the same number (e.g. M66 is assigned to axis
group 1). If there is no spindle with the same number as the group, spindle 1 is
assigned as default (M66).
en-938820/5 4 - 25
Notes
Each axis group can use the measurement of any spindle.
Several groups can use the measurement of the same spindle.
When a spindle measurement is used by an axis group for thread cutting, the spindle
speed override is inhibited for the entire duration of the thread cutting cycle (100 per
cent override).
When a declared spindle does not have an axis encoder, measurement of this spindle
is simulated by the NC.
For programming spindles with multiple axis groups (see Sec 4.17).
Example
N.. ...
N180 M67 Assignment of spindle measurement to
group 2
N190 G94 F50 Feed in mm/rev related to spindle 2
N..
4 - 26 en-938820/5
ISO Programming
N
G92 S..Spindle speed limiting. D
Cancellation
Spindle speed limiting is cancelled by:
- cancellation function G92 S0,
- function G92 S.. with assignment of a different speed limit,
- the end of programme function (M02),
- a reset.
Notes
Spindle speed limiting:
- must be programmed before selecting constant surface speed (G96),
- must be programmed at a value below the maximum spindle speed,
- is independent of the maximum speed defined in one of the spindle speed ranges
(M40-M45).
If the spindle speed programmed by G97 is higher than the speed defined by G92,
the spindle rotates at the limited speed.
en-938820/5 4 - 27
G92 must be immediately followed by its argument S... If they are separated by an
axis (X.., Z.., etc.), the system interprets function G92 as preselection of the
programme origin on the programmed axis (see Sec. 4.12.3).
Example
ø 100
OP Z
ø Limited
to 3000 rpm
N.. ...
N30 G97 S900 M40 M04 Spindle rotation at 900 rpm
N40 ... X100 Z60 Tool tip positioned on diameter 100
N50 G92 S3000 Spindle speed limited to 3000 rpm
N60 G96 S200 Constant surface speed initialised
on X100
N70 ... X0 Facing
N..
N..
N200 G97 S900 Function G96 cancelled
N..
4 - 28 en-938820/5
ISO Programming
Syntax
Cancellation
Function G00 is cancelled by one of functions G01, G02, G03 or G33.
en-938820/5 4 - 29
Notes
The speed of movement on the path programmed in G00 is determined by the slowest
axis (this axis moves at its maximum speed).
Optional arguments R+ or R-:
- are active only in the block where they are programmed,
- cannot be programmed in a block with PGP (see chapter 5).
Examples
G00 X
X
b
Z
OP
Z
OP
4 - 30 en-938820/5
ISO Programming
R-
R+
4
Example
Programming to stop at an approach distance of 1 mm.
Approach distance = 1 mm
40 80
G00 a
b
Tool radius
10/.-,+*)(;:10/.-,+*)(
X
:10/.-,+*)(;9876543298765432;:10/.-,+*)(
;:9876543210/.-,+*)(98765432;:10/.-,+*)(
;:98765432(98765432;:
Z
;:9876543298765432;:
OP
N.. ...
N.. D.. Tool correction (see Sec. 4.8.3)
:98;EDCBA@?>=<;:98765432
point
DCBA@?>=<EEDCBA@?>=<
N160 ...
N..
en-938820/5 4 - 31
4.5 Programming of Movements
4.5.1 Linear Interpolation
Syntax
4 - 32 en-938820/5
ISO Programming
Cancellation
Function G01 is cancelled by one of functions G00, G02 or G03.
Notes
Automatic path smoothing may prevent exact passage through the programmed
points unless specifically requested (see Sec. 4.6).
Optional arguments R+ or R-:
- are active only in the block where they are programmed 4
- cannot be programmed in a block with PGP (see Chapter 5).
Examples
c
G01 G01
ø 46
b a
ø 36
5
ø 30
OP Z
30
en-938820/5 4 - 33
Turning and facing in absolute programming (G90)
c
5
b
ø 46
a
ø 36
ø 30
X
OP Z
30
%20
N10 G00 G52 X.. Z.. Tool change position
N20 ... Tool call
N30 G97 S600 M40 M04
N40 X30 Z5 Point a, approach
N50 G96 S200
N60 G95 F0.2 Feed rate in mm/rev.
N70 G01 X36 Z-30 Point b, turning
N80 X46 F0.1 Point c, facing
N..
35
c
5
3 5
b
a
ø 30
OP Z
30
%25
N10 G00 G52 X.. Z.. Tool change position
N20 ... Tool call
N30 G97 S600 M40 M04
N40 X30 Z5 Point a, approach
N50 G96 S200
N60 G95 F0.15 Feed rate in mm/rev.
N70 G91 G01 X3 Z-35 Point b, turning
N80 X5 Point c, facing
N90 G90 ...
4 - 34 en-938820/5
ISO Programming
, ,
R-
,
,,
,
, ,
,
R+
4
,
Example
Programming to stop at an approach distance of 1 mm.
Approach distance = 1 mm
40 50
G01
b a
Tool radius
X
OP Z
N.. ...
N.. D.. Tool correction (see Sec. 4.8.3)
N140 G00 X40 Z50 Point a
N150 G01 R- Z41 G95 F0.2 Point b, stop before the programmed
point
N..
en-938820/5 4 - 35
4.5.2 Circular Interpolation
OP Z
G03
X
OP Z
4 - 36 en-938820/5
ISO Programming
Syntax
Cancellation
Function G02 is cancelled by functions G00, G01, G03 or G33.
Function G03 is cancelled by functions G00, G01, G02 or G33.
Notes
The programmed point may not be reached if the next block is sequenced with path
smoothing (see Sec. 4.6).
In a block programmed in G02 or G03, all the addresses used for the interpolation
must be specified, even if they are zero (I0, K0) or unchanged with reference to the
previous block (for X and Z).
en-938820/5 4 - 37
Programming a circle by its radius (R..)
The system chooses the path whose
angle is less than 180 degrees (a path
with an angle greater than 180 degrees
can only be obtained by programming b R
the circle by the coordinates of its centre end
or in PGP (see Chapter 5). point
R
If the distance between the start point
and end point is greater than twice the a
programmed radius, the system start
generates an error message. point
a-b < 2R
Start End
radius radius
Main
Function Axis Pairs
interpolation plane
Other axes such as rotary and/or linear axes can be associated in a circular
interpolation block, but these axes are interpolated linearly.
A movement on a carrier axis causes an identical movement on the carried axis.
4 - 38 en-938820/5
ISO Programming
Rear Z
turret
X
G03 G02
G02 G03
4
X
Front
Z turret
Main Secondary
rear turret turret
G03 G02
G02 G03
X
Z
Z
X
G03 G02
G02 G03
Secondary Main
turret front turret
en-938820/5 4 - 39
Examples
80
50
35
.5
17
15
R
R
ø 30
ø 50
ø 20
ø 50
4 - 40 en-938820/5
ISO Programming
K
K
d c
b a
4
X
I..
I..
OP Z
%28
N10 G00 G52 X.. Z.. Tool change position
N20 Tool call
N30 S900 M40 M04
N40 G95 F0.2 Feed rate in mm/rev.
N50 X20 Z85 Point a, approach
N60 G96 S200
N70 G01 Z80 Point b
N80 G02 X50 Z65 R15 Point c
N90 G03 X50 Z35 130 K50 Point d
N100 G00 X80
N110 G52 X.. Z.. G97 S900 M05
N120 M02
en-938820/5 4 - 41
Circular interpolation by programming in incremental dimensions (G91)
Both interpolations G02 and G03 are carried out by programming the circle centre
(with I and K).
50
20
15
R
15
R
ø 76
ø 10
4 - 42 en-938820/5
ISO Programming
d G03
K
I
K G02
X 4
b a I
OP Z
%30
N10 G00 G52 X.. Z.. Tool change position
N20 ... Tool call
N30 S900 M40 M04
N40 G95 F0.15 Feed rate in mm/rev.
N50 X10 Z5 Point a, approach
N60 G96 S200
N70 G01 Z0 Point b
N80 G91 G02 X15 Z-15 I15 K0 Point c
N90 G03 X15 Z-15 I0 K-15 Point d
N100 G90 G01 X80
N110 G52 X.. Z.. G97 S900 M05
N120 M02
en-938820/5 4 - 43
4.5.3 Circular Interpolation Defined by Three Points
Cancellation
Function G23 is cancelled at the end of the block.
4 - 44 en-938820/5
ISO Programming
Notes
The arguments of function G23 must not be separated by any other address.
Otherwise, the system returns error message 101. Example:
N.. G23 X.. Z.. F.. I.. K.. Programming incorrect
Circular interpolation defined by G23 can be in absolute dimensions (G90) or
incremental dimensions (G91).
Example
Circular interpolation from a through b to c
b 4
c
a
X
Z
OP
N..
N90 G01 Xa Za G95 F0.2 Point a, approach
N100 G23 Xc Zc Ib Kb F0.15 Circular interpolation
N110 G01 X.. Z.. F0.2
N..
en-938820/5 4 - 45
4.5.4 Polar Programming
Polar programming is used to define paths or positions when one of the part
dimensions is angular.
General
Polar programming is used for line or circle geometric elements defined in the same
plane.
Polar programming:
- can coexist with ISO programming and Profil Geometry Programming (PGP)
(see Chapter 5)
- can be in absolute dimensions (G90), incremental dimensions (G91) or a
combination thereof (G90 and G91, possibly in the same block)
- can be combined with cartesian programming.
Polar programming can be carried out in one of the interpolation planes selected: ZX
or XY (in all cases, the line or circle start point must be defined in the same plane as
the one used in programming).
EA < 0
ZX plane
4 - 46 en-938820/5
ISO Programming
EX
programme origin (OP). EA
X
OP Z
en-938820/5 4 - 47
Syntax
Notes
Arguments EA and EX in the same block must both be programmed either in
incremental dimensions or in absolute dimensions. It is not acceptable to programme
EA in absolute dimensions (G90) and EX in incremental dimensions (G91).
In the block, EA must be programmed first, before EX.
Argument EX:
- is always addressed by the same letters, whatever the interpolation plane
- must always be programmed as a positive value.
Examples
4 - 48 en-938820/5
ISO Programming
EI
point (b) and the centre (c) defined in
absolute dimensions with respect to EX
the programme origin (OP). X EA
EA
Z
OP
en-938820/5 4 - 49
Syntax
Notes
The following notes apply to all cases of circles programmed in absolute or
incremental dimensions.
In a block, the programming order must be complied with:
- End point EA then EX
- Centre point EA then EI.
Arguments EX and EI must always be programmed in the positive direction.
Arguments EX and EI are addressed by the same letters whatever the interpolation
plane chosen.
4 - 50 en-938820/5
ISO Programming
Examples
Definition of a circle in absolute dimensions (G90) using cartesian and polar
programming.
Cartesian and polar programming can be combined in a block, making it possible to
use other circle programming syntaxes.
Example:
Cartesian and polar programming in absolute dimensions in the YZ plane (G19).
EI
or
EX
N.. G90 G20 G01 Xa Za
N.. G02 Xb Zb EAc EIc X EA
EA
or
N.. G90 G20 G01 Xa Za OP
Z
N.. G02 EAb EXb R..
en-938820/5 4 - 51
Definition of a circle by programming in absolute/incremental dimensions (G90/G91)
and cartesian/polar coordinates
Absolute and incremental dimensions and cartesian and polar coordinates can be
programmed in the same block, making it possible to use other circle programming
syntaxes.
Example:
Absolute/incremental programming (G90 and G91) combined with cartesian and
polar programming in the ZX plane (G20).
N.. G90 G20 G01 Xa Za N.. G90 G20 G01 Xa Za
N.. G03 EAb EXb G91 EAc EIc N.. G03 Xb Zb G91 EAc EIc
b Z b
a a
EI EA EI EA
EX
X
c c
EA
X X
Z Z
OP OP
a a
K
c
c
EI
X I X EA
Z Z
OP OP
4 - 52 en-938820/5
ISO Programming
Defining a circle by the arc angle and cartesian programming of its centre
defined in absolute or incremental dimensions
The circle is defined by:
- its start point (a) contained in the EA
block preceding the arc angle
programming block, a
- the cartesian coordinates of its centre
(c) and its arc angle. c/IK
The centre can be programmed in:
- absolute dimensions with G90, 4
- incremental dimensions with G91. X
The arc angle EA is defined in absolute
dimensions. OP Z
Syntax
en-938820/5 4 - 53
Notes
The notes below concern only circles defined by the arc angle (with the centre defined
in cartesian coordinates).
When a value of zero is assigned to EA, the system describes a complete circle.
When the circle is defined from Z to X, EA is positive; in the opposite direction, EA is
negative.
Four types of circles are possible in absolute programming, depending on the
direction of the programmed circular interpolation (G02 or G03) and the sign (positive
or negative) of arc angle EA.
Example
N.. G90 G20 Xa Za N.. G90 G20 Xa Za
N.. G03 I.. K.. EA+160 N.. G03 I.. K.. EA-160 (ou EA+200)
+
EA
K c K c
a a
EA
I I
X
–
Z Z
OP OP
+
EA
K c K c
a a
EA
I I
X
–
Z Z
OP OP
4 - 54 en-938820/5
ISO Programming
Defining a circle by its arc angle and polar programming of its centre in
absolute coordinates (G90)
The circle is defined by:
- its start point (a) contained in the EA
block preceding the arc angle
programming block a
- the polar coordinates of its centre (c)
and its arc angle. c
Arc angle EA is defined in absolute di-
mensions.
X
EI
EA 4
OP Z
Syntax
en-938820/5 4 - 55
Notes
The notes below concern only circles defined by the arc angle (with the centre defined
in polar coordinates).
When a value of zero is assigned to EA, the system describes a complete circle.
When the circle is defined from Z to X, EA is positive; in the opposite direction, EA is
negative.
Four types of circles are possible in absolute programming, depending on the
direction of the programmed circular interpolation (G02 or G03) and the sign (positive
or negative) of arc angle EA.
Example:
N.. G90 G20 Xa Za N.. G90 G20 Xa Za
N.. G03 EA.. EI.. EA+160 N.. G03 EA.. EI.. EA-160 (or EA+200)
+
EA
c c
a a
EA
–
X X
EI
EI
EA EA
Z Z
OP OP
+
EA
c c
a a
EA
–
X X
EI
EI
EA EA
Z Z
OP OP
4 - 56 en-938820/5
ISO Programming
N.. G01/G02/G03 X.. Z.. I.. K.. / R.. [F..] EB+.. [EF..]
Cancellation
Function EB+ is cancelled at the end of the block.
Example
Refer to the example in Sec. 4.7.4 (feed rate specific to fillets and chamfers).
en-938820/5 4 - 57
4.5.5.2 Chamfer Between Two Linear Interpolations
=
This functions is used to make a chamfer
between two linear interpolations.
=
EB
Z
Cancellation
Function EB- is cancelled at the end of the block.
Example
Refer to the example in Sec. 4.7.4 (feed rate specific to fillets and chamfers).
4 - 58 en-938820/5
ISO Programming
Z
4
Syntax
Cancellation
Function G09 is cancelled at the end of the block.
Notes
The tracking error εp is directly proportional to the feed rate.
The more acute the angle between two paths, the greater the smoothing effect at a
given feed rate and therefore a given εp.
When G09 is programmed:
- the tracking error εp is closed down at the end of the path,
- the feed rate is zero at the end of the block.
en-938820/5 4 - 59
Examples
εp
N.. ... c α
Fe
N100 G01 Xa Za G95 F0.3
ed
N110 G09 Xb Zb
rat
e
N120 G09 Xc Zc
N.. X
a
εp
The resulting curve between the paths
result from the feed rates along ab and c α
bc and the angular value of the vectors. Fe
ed
rat
e
X
a
4 - 60 en-938820/5
ISO Programming
Syntax
Reminder
Address F is assigned a default value of 1000 mm/min (F1000).
LKJIHGFEDCBLKJIHGFEDCB
LKJIHGFEDCBLKJIHGFEDCB
LKJIHGFEDCBLKJIHGFEDCB
If the system is initialised with G95 by the OEM, address F is assigned a default value
of 1 mm/rev (F1) (for additional information, refer to machine parameter P7 in the
Parameter Manual).
en-938820/5 4 - 61
Cancellation
Function G94 is cancelled by function G95.
Notes
The feed rate limits are defined by the machine manufacturer (see manufacturer’s
technical data). When the programmed feed rate exceeds the permissible minimum
or maximum rate, the system automatically limits it to the permissible feed rate.
The feed rate cannot be programmed in inches per minute unless the system is in
state G70 (see Sec. 4.15.4, programming in inches).
When the programme units are changed, a G function defining the new feed rate type
and its programming format must be followed by F.. (if the system was already in a
G94 state, address F.. can be programmed alone in a block).
Example
N..
N140 G00 X.. Z..
N150 G95 F0.3 Feed rate in mm per revolution
N160 G01 Z..
N170 X.. Z.. FO.2
N..
N240 G00 X.. Z..
N250 G94 F200 G01 X.. W.. Feed rate in mm/min on a primary axis
and a secondary axis
N260 W.. F100
N..
F.. = ∆ A2 + ∆ B2 + ∆ C2 / ∆ t.
4 - 62 en-938820/5
ISO Programming
Reminder
Determination of the feed rate (Fr) in mm/min.
Feed rate Fr = N x fz x Z
Rotation speed
Example:
N = 750 revolutions per minute,
fz = 0.1 mm,
Z = 2 teeth,
Fr = 750 x 0.1 x 2 = 150 mm/min, i.e. F150.
en-938820/5 4 - 63
4.7.2 Feed Rate Expressed in Millimetres or Inches per Revolution
Syntax
Reminder:
Cancellation
Modal function G95 is cancelled by function G94.
4 - 64 en-938820/5
ISO Programming
Notes
The feed rate limits are defined by the machine manufacturer (see manufacturer’s
technical data). When the programmed feed rate exceeds the permissible values, the
system automatically limits it (maximum limit 30 mm/revolution). If a higher value is
programmed, the system does not return an error message but simply limits the feed
rate to 30 mm/revolution).
When the feed rate unit is changed, the G function defining the new feed rate unit and
its programming format must be followed by the argument F.. (if the system is already
in state G95, address F.. can be programmed alone in a block). 4
The feed rate cannot be programmed in inches per minute unless the system is in G70
mode (programming in inches).
Example
N..
N.. G00 X.. Z..
N140 G94 F200 Feed rate in mm/min
N150 G01 Z..
N160 X.. Z.. F100
N..
N240 G00 X.. Z..
N250 G95 F0.3 G01 X.. W.. Feed rate in mm/rev on a primary axis
and a secondary axis
N260 W.. F0.2
N..
en-938820/5 4 - 65
4.7.3 Tangential Feed Rate
ini
rate when machining curves with tool
F..
Rm
radius correction (see Sec. 4.8.4).
Feed rate F.. is no longer applied to the
tool centre as it may be to large.
Syntax
Cancellation
Tangential feed rate G92 R.. is cancelled by:
- cancellation function G92 R0,
- function G92 R.. with a different radius,
ONMLKJIHGFONMLKJIHGF
NMLKJIHGFOONMLKJIHGF
- a reset.
ONMLKJIHGFYXEDCBA@?>=<ONMLKJIHGFYXWVUTSRQPEDCBA@?>=<
YXONMLKJIHGFEDCBA@?>=<WVUTSRQPYXONMLKJIHGFEDCBA@?>=<WVUTSRQP
YXWVUTSRQPONMLKJIHGFEDCBA@?>=<ONMLKJIHGFYXWVUTSRQPEDCBA@?>=<
Notes
ONMLKJIHGFYXWVUTSRQPEDCBA@?>=<YXWVUTSRQPONMLKJIHGFEDCBA@?>=<
ONMLKJIHGFYXWVUTSRQPEDCBA@?>=<ONMLKJIHGFYXWVUTSRQPCBA@?>=<
Function G92 is ignored during automatic creation of a connecting circle between two
YXONMLKJIHGFWVUTSRQPYXONMLKJIHGFWVUTSRQP
secant elements (lines or circles) with radius correction. The feed rate then is the
YXWVUTSRQPONMLKJIHGFONMLKJIHGFYXWVUTSRQP
4 - 66 en-938820/5
ISO Programming
Example
In this example, the tangential feed rate is applied to curves whose radius is greater
than 4 mm.
h R6 R3 R6
g f e c b
d
X 4
Z
OP
%23
N10 G00 G52 X.. Z.. Tool change position
N20_ Tool call
N30 S900 M40 M04
N40 G95 F0.2
N50 G00 G42 Xa Za Right radius offset
N60 G92 S3000
N70 G96 S100
N80 G92 R4 Tangential feed rate limit
N90 G01 Xb Zb F0.2
N100 Xc Zc
N110 G02 Xd Zd R6 Feed rate applied to the point of
tangency
N120 G01 Xe, Ze
N130 G03 Xf Zf R3 Feed rate applied to the tool centre
N140 G02 Xg Zg R6
N150 G01 Xh Zh
N160 G92 R0 Tangential feed rate cancelled
N170 G00 G40 G52 X.. Z.. G97 S900 M05
N180 M02
en-938820/5 4 - 67
4.7.4 Feed Rate Specific to Fillets EB+ and Chamfers EB-
F0
EB+ and chamfers EB-.
1.
EF0.08
A feed rate different from the modal
machining feed rate F can be F0.2 EF0.1
programmed for fillets and chamfers EB +
programmed by EB+ and EB-. EB –
F0.3
X
Syntax
Cancellation
Function EF followed by a value is cancelled by programming:
- function EF followed by a new value, or
- the end of the programme (M02).
Notes
Feed rate EF is substituted for the modal feed rate F if its value is nonzero and is less
than feed rate F.
Feed rate EF is in the unit specified by G94 (mm/min) or G95 (mm/rev).
Feed rate F.. in mm/min (G94) or mm/rev (G95) remains modal when executing fillets
and/or chamfers.
4 - 68 en-938820/5
ISO Programming
Example
Finishing a contour with feed rate EF in the chamfers and fillet.
EB+0.5
a b
EB–5
c EB+2
d
e
f
EB–3
g
EB+5 4
h EB+7
X I
J
OP Z
When executing the contour, the linear and circular interpolations are carried out at
modal feed rate G95 F0.4.
%39
N.. ...
N110 G00 G52 X.. Z.. G97 S900 M04 Tool spindel positioning
N120 ... Tool call
N130 X160 Z30 Point a
N140 G96 S400
N150 G92 S4000
N160 G95 F0.4 Feed rate for G1, G2 or G3
N170 G01 Z50 EB+0.5 EF0.3 Point b (feed rate 0.3)
N180 X140 EB-5 EF0.2 Point c (feed rate 0.2)
N190 Z60 EB+2 Point d (feed rate 0.2)
N200 X110 Point e (feed rate 0.4)
N210 Z60 EB-4 EF0.15 Point f (feed rate 0.15)
N220 X90 Z50 EB+5 Point g (feed rate 0.15)
N230 X70 EB+5 EF0.2 Point h (feed rate 0.2)
N240 G02 X40 Z70 R30 EB+7 Point i (feed rate 0.2)
N250 G03 X10 Z60 R20 Point j (feed rate 0.4)
N260 G1 X0 Point k (feed rate 0.4)
N270 ...
en-938820/5 4 - 69
4.8 Programming of Tools
4.8.1 Tool Change
T..
This function calls for a tool to be placed
in the machining station.
The tool is loaded automatically or
M06
manually.
T..
Syntax
Cancellation
Function M06 is reset when the NC detects the M function report (CRM).
Notes
Function T defining the tool number must not be assigned a value greater than
99999999. Above, the system returns error message 1.
Before a tool change, it is recommended to programme a safe position for indexing
the turret:
YXWVUTSRQPYXWVUTSRQP
- with reference to the measurement origin programmed with function G52 (see
YXWVUTSRQPONYXWVUTSRQPONMLKJIHGF
YONMLKJIHGFXWVUTSRQPYXWVUTSRQPJIHGF
Sec. 4.12.1).
YXWVUTSRQP
4 - 70 en-938820/5
ISO Programming
Example
N.. ...
N90 G00 X.. Z.. or G00 G52 X.. Z..
N100 T05 M06 (TURN/FACING TOOL R=0.8)
N..
Tool X
X
change
position X Z
Z Z OP
OP
Programme origin
en-938820/5 4 - 71
4.8.2 Tool Axis Orientation
Syntax
Cancellation
Function G16 is cancelled by programming G16 with a different P or R argument.
Notes
By convention, the tool vector points from the tool tip (cutting part) to the tool reference
(spindle mounting).
The tool axis cannot be an independant secondary axis.
4 - 72 en-938820/5
ISO Programming
Example
%44
N10 G00 G52 X.. Z.. (G16 R+) Orientation initialised along Z+
N20 T08 ... M06 (TOOL)
N30 G97 S900 M40 M04
N.. 4
N..
N170 G00 G52 X.. Z..
N180 T11 ... M06 (DRILL)
N190 G97 S200 M03 M40
N200 C0 M19
N210 G16 P+ Axis orientation along X+
N220 ...
N..
Turret
P+
Motorised
X+ bevel
gear
Indexed
OP Z spindle
en-938820/5 4 - 73
4.8.3 Tool Correction Call
Turret
D.. Tool correction call. X reference
Address D followed by a number selects
Dimension X + . .
the tool correction. Z
The stored tool dimensions are validated
for the programmed axes
Dimension
Radius R . .
Z+..
Syntax
4 - 74 en-938820/5
ISO Programming
Cancellation
Function D.. is cancelled by programming a new correction or D0.
Notes
The correction number may be different from the tool number.
Several correction numbers can be assigned to the same tool.
D0 always contains zero.
4
The system includes 255 tool corrections (X,Z,R,C). If the number assigned to the
correction is higher than 255, the system returns error message 8.
Example
Machining with tool T02 to which are assigned two corrections, D02 and D12.
The X and Z corrections of tool T02 are taken into account during the first movement
on the X and Z axes programmed after D02 and D12.
en-938820/5 4 - 75
%55
N10 G00 G52 X.. Z.. G16 R+
N20 T02 D02 M06 Call of tool T02 and correction D02
N30 G97 S900 M40 M04
N40 G00 Z100 Taking into account dimension Z.. of D02
N50 X60 Taking into account dimension X.. of D02
N..
N100 D12 G00 X80 Z100 Taking into account dimensions X.. and
Z.. of D12
N..
N20
N40
Dimension X
D2 X . .
D2 Z . . Dimension Z
OP Z
4 - 76 en-938820/5
ISO Programming
REMARK The two axes of the interpolation plane can be primary, secondary,
carried or independent axes.
Example
Machining with tool T05 with two corrections, D05 and D15.
Radius correction R.. of tool T05 is taken into account by reading functions G41 or
G42 and a movement on one of the axes of the plane programmed after D...
%65
N10 G00 G52 X.. Z.. Tool change position
N20 T05 D05 M06 Call of tool T05 and correction D05 4
N30 S900 M40 M04
N40 G00 G42 (or G41) X60 Z120 Activation of radius offset R in D05.
N70
N..
N150 G00 G40 Z60 D05 radius offset cancel
N160 G41 (or G42) X100 Z50 D15 Activation of radius offset R in D15
N..
N300 G00 G40 X200 Z100 D15 radius offset cancel
N..
N20
N40
R
R
OP Z
en-938820/5 4 - 77
Tool tip orientation (C) according to the turret position
The tool tip orientation is defined by codes C0 to C8 (see Sec. 1.2.5.2).
Rear turret Front turret
X
C1 C7
X P
C3 C2 C1 P C5 C6 C7 Z
Z
C4 C0 C8 C4 P C0 C8 X
P Z X Z
Z
Z P
C5 C6 C7 P C3 C2 C1
X C1
C7
X
Use of tool corrections (X, Z, R, C) on a lathe with two mechanically coupled turrets
Main
turret
reference
4 - 78 en-938820/5
ISO Programming
the correction)
(direction of
LEFT
4
the correction)
(direction of
G42 Right radius offset.
RIGHT
The tool paths programmed are corrected
(offset to the right) by a value equal to the
tool radius (R) declared by corrector D...
Tool
path
Profile to be machined
Syntax
en-938820/5 4 - 79
G40 Radius offset cancel.
Tool
Control of the theoretical tool cutting centre
point. Radius offset is no longer applied
to the tool.
Theoretical
cutting point
Syntax
Cancellation
Modal functions G41/G42 cancel one another.
Modal function G40 cancels function G41 and G42.
Notes
Functions G41 or G42 allow programming of a part profile in real profile dimensions
without taking the tool radius into account.
With radius correction:
- the paths defining the part profile are followed even if the tool radius used and
stored is smaller or larger than the theoretical tool radius programmed,
- the tool is positioned to the left or right of the profile to be machined with respect
to the direction of movement along the path.
4 - 80 en-938820/5
ISO Programming
Radius correction is carried out along a vector perpendicular to the profile with radius
R.. declared in correction D as the vector length.
The following functions must be programmed without radius offset (system in state
G40), or the system returns error message 140.
- M00 (programme stop),
- M01 (optional programme stop),
- M02 (end of programme),
- G52 (programming with respect to the measurement origin).
- $0 (message transmission),
- L100 to L199 and L900 to L959 (programme variables, see Sec. 6.1),
- E800xx and E8x000 to E8x999 (external parameters, see Sec. 6.2).
When changing the direction of correction (change from G41 to G42 or vice versa), 4
it is not necessary to cancel the radius offset by G40.
Tool positioning
At the end of the first block programmed
h
with radius correction (which must be N
ac
pro
linear), the tool centre is positioned:
Ap
- on the normal (N) to the next path,
- offset from the programmed point by
the value of the radius correction (R). Tool
path
Programmed
point
Machining
allowance
Clearance
en-938820/5 4 - 81
Radius correction according to the turret position
Lathe with one turret
Rear
turret
Z
X G42
G42 C1 C1
G41
X G41
Z
Front
turret
Rear Secondary
main turret turret
C7 C1
G41 G41
Z Z
G41 C7 G41 C1
X
4 - 82 en-938820/5
ISO Programming
Intersection G42 4
point
N Connecting
circle
≥120°
<120°
G42
Intersection G42
point
EDCBA@?>=<EDCBA@?>=<
EDCBA@?>=<EDCBA@?>=<
EDCBA@?>=<EDCBA@?>=<
DCBA@?>=<E;:9876;:98765432EDCBA@?>=<
EDCBA@?>=<;:98765432;:98765432EDCBA@?>=<
DCBA@?>=<EEDCBA@?>=<
;:98765432EDCBA@?>=<EDCBA@?>=<;:98765432
;:98765432EDCBA@?>=<;:98765432EDCBA@?>=<
4 - 83
'&%$#"!'&%$#"!
en-938820/5
XWVUTSRQPYYXWVUTSRQPONMLKJI
'&%$#"!'&%$#"!
YXWVUTSRQPONMLKJIHGFYXWVUTSRQPONMLKJIHGF
'&%$#"!'&%$#"!
YXWVUTSRQPONMLKJIHGFYXWVUTSRQPONMLKJIHGF
YXWVUTSRQPONMLKJIHGFYXWVUTSRQPONMLKJIHGF
'&%$#"!'&%$#"!
YXWVUTSRQPONMLKJIHGF
us
di
Tool radius
ra
ol
To
Intersection
G42
point
Required radius
us
di
ra
um
im
ax
M
reaches the intersection point between
en-938820/5
YXWVUTSRQPYXWVUTSRQPYXWVUTSRQP
YXWVUTSRQPcba`_^]\[Z_^]\[ZYXWVUTSRQP
ba`_^]\[ZYXWVUTSRQPGFcYXWVUTSRQPcba`_^]\[Z cba`YZ[\]^_XWVUTSRQPONMLKJIHGFEDCBA@?>=<
YXWVUTSRQPcba`_^]\[ZONMLKJIHGFcba`_^]\[ZYXWVUTSRQPONMLKJIHGF
cba`_^]\[ZYXWVUTSRQPONMLKJIHGF YXWVUTSRQPONMLKJIHGFEDCBA@?>=<cba`EDCBA@?>=<YXWVUTSRQPONMLKJIHGF
cba`_^]\[ZYXWVUTSRQPONMLKJIHGFYXWVUTSRQPcba`_^]\[ZONMLKJIHGF YXWVUTSRQPONMLKJIHGFEDCBA@?>=<YXWVUTSRQPONMLKJIHGFEDCBA@?>=<
4 - 84
YXWVUTSRQPcba`_^]\[ZONMLKJIHGFYXWVUTSRQPcba`_^]\[ZONMLKJIHGF YXWVUTSRQPEDCBA@?>=<ONMLKJIHGFYXWVUTSRQPONMLKJIHGFEDCBA@?>=<
cba`_^]\[ZYXWVUTSRQPONMLKJIHGFcba`_^]\[ZYXWVUTSRQPONMLKJIHGF YONMLKJIHGFXWVUTSRQPYXWVUTSRQPONMLKJIHGFED
cba`_^]\[ZYXWVUTSRQPONMLKJIHGF YONMLKJIHGFXWVUTSRQPYXWVUTSRQPONMLKJIHGF
YXWVUTSRQPcba`_^]\[ZONMLKJIHGFYXWVUTSRQPcba`_^]\[ZONMLKJIHGF ONMLKJIHGFYXWVONMLKJIHGF
YXWVUTSRQPONMLKJIHcbaYXWVUTSRQPONMLKJIHGF ONMLKJIHGFONMLKJIHGF
XWVUTSRQPYYXWVUTSRQP
YXWVUTSRQPYXWVUTSRQP
ISO Programming
Tool retraction
At the start of the first block programmed
with tool radius offset cancelled (must be
a line), the tool centre starts:
- from the normal to the previous path,
- offset from the programmed point by
the value of the radius correction. G40
N.. o
o' c N'
R
G02 b
ONMLEDCBA@?>=ONMLKJIHGFEDCBA@?>=<
ONMLKJIHGFEDCBA@?>=<ONMLKJIHGFEDCBA@?>=<
ONMLKJIHGFEDCBA@?>=<ONMLKJIHGFEDCBA@?>=<
ONMLKJIHGFEDCBA@?>=<LKJIHGFEDCBA@?>=<
EDCBA@?>=<EDCBA@?>=<
EDCBA@?>=<EDCBA@?>=<
EDCBA@?>=<
en-938820/5 4 - 85
Contouring an external profile with right radius correction
ø 50
ø 50
ø 50
ø 30
ø 30
5
R
ø 30
30 10 20
75
85
95
R=4
j
5 g c
i h f e d b a
X 3
OP Z
4 - 86 en-938820/5
ISO Programming
%37
N10 G00 G52 X.. Z.. Tool change position
N20 T03 D03 M06 (COPYING TOOL R=4)
N30 S900 M40 M04
N40 G95 F0.2
N50 G00 X30 Z102 Point a, right radius offset
N60 G92 S3500
N70 G96 S200
N80 G01 Z85 Point b
N90 X50 Point c
N100 X30 Z75 Point d 4
N110 Z70 Point e
N120 G02 X30 Z60 R5 F0.05 Point f
N130 G01 X50 F0.2 Point g
N140 X30 Z40 Point h
N150 Z30 Point i
N160 X60 Point j
N170 G97 S900
N180 G00 G40 G52 X.. Z.. M05 Radius offset cancel
N190 M02
en-938820/5 4 - 87
Machining a groove by reciprocating cuts with alternating radius correction
(G41-G42)
G 42
G00
a
ø 60
10
c b
d e
g f
ø 30 X
Z
30 10 OP
%85
N10 G00 G52 X.. Z.. Tool change position
N20 T01 D01 M06 (COPYING TOOL R=4)
N30 S900 M40 M04
N40 G95 F0.1
N50 G00 G42 X80 Z-10 Point a, right correction
N60 G92 S3000
N70 G96 S100
N80 G01 X50 Point b
N90 Z-40 F0.2 Point c
N100 G41 X40 F0.1 Point d, left correction
N110 Z-10 Point e
N120 G42 X30 Point f, right correction
N130 Z-40 F.2 Point g
N140 X80
N150 G97 S900
N160 G00 G40 G52 X.. Z.. M05 Radius offset cancel
N170 M02
4 - 88 en-938820/5
4
ISO Programming
4 - 89
External machining and internal contouring after tool retraction and positioning
5x45 degrees
en-938820/5
ø 40
1x45 degrees
5
e
c
I
50
b
30
,
, ,
ø 80
, ,
d
,
,
f
g
,
,
,
,
h
,
,
1
2
, ,
, ,
Machining paths
, ,
Hole dia. 36
, ,
,
Z
OP
X
Z\]^_àbc[
%72
N10 G00 G52 X.. Z.. Tool change position
N20 T01 D01 M06 (OUTSIDE TOOL R=0.8)
N30 S900 M40 M04
N40 G95 F0.12
N50 G00 G41 X84 Z50 Point a, left correction
N60 G92 S3500
N70 G96 S180
N80 G01 X30 Point b
N90 G00 G42 X60 Z55 Point c, right correction
N100 G01 X84 Z43 F0.08 Point d
N110 G97 S900
N120 G00 G40 G52 X.. Z.. Radius offset cancel
N130 T07 D07 M06 (BORING TOOL R=0.4)
N140 G41 X40 Z55 Point a, left correction
N150 G96 S100
N160 G01 Z30 F0.1 Point f
N170 X38 Point g
N180 X34 Z28 Point h
N190 G00 Z55 Point i
N200 G97 S900
N210 G40 G52 X.. Z.. M05 Radius offset cancel
N220 M02
4 - 90 en-938820/5
ISO Programming
Syntax
N.. G80
4
G80 Canned cycle cancel.
Cancellation
Modal function G80 is cancelled by one of functions G64, G81-G85, G87 or G89.
Example
N..
N110 G00 X.. Z.. Tool positioning
N120 G94 (or G95) F..
N130 G83 Z-10 P8 Drilling cycle
N140 G80 G00 G52 X.. Z.. Cycle cancel
N..
en-938820/5 4 - 91
4.9.2 Constant Pitch Thread Chasing Cycle
P
This function is used for cutting parallel, XZ
tapered or scroll threads.
The threads can be single or multiple
start and can be cut by straight or angular R Q
X
penetration.
The consecutive passes are carried out
with reducing depths of cut. Z
Syntax
4 - 92 en-938820/5
ISO Programming
Cancellation
Function G33 is cancelled at the end of the block.
Notes
The modal functions present before the G33 cycle are restored after execution of the
cycle.
The thread pitch is applied to the thread cutting axis (axis on which the movement is
largest).
During the cycle, spindle speed override is inhibited (value forced to 100 per cent).
REMARK The maximum possible pitch is limited by the feed rate in mm/min
acceptable by the machine (feed rate = pitch x rotation speed). Refer
to the machine manufacturer’s documentation.
en-938820/5 4 - 93
Cycle Steps
The steps below are given for information. The thread cutting cycle contains only the
main parameters.
N.. ...
N220 G00 Xa Za Rapid to start of thread cutting
N230 G33 Xb Zb K.. P.. S..
N..
4 - 94 en-938820/5
ISO Programming
Thread cutting without retraction slope Thread cutting with retraction slope
FIGURE 1 FIGURE 2
Ro R..
XZ
XZ
4
Penetration defined by EB
Thread cutting by straight penetration Thread cutting by penetration down the
thread flank
EB > 0
en-938820/5 4 - 95
Tapered thread cutting, angle defined by EA
The value of EA is positive in the FIGURE 5
counterclockwise direction, modulo 180 Angle > 0°
degrees.
i.e. -45 deg < EA < 45 deg for:
- Z thread cutting axis Thread cutting axis
- X penetration axis.
I.e. EA > 45 deg or EA < -45 deg for: Thread cutting axis
- Z axis of penetration
- X thread cutting axis.
Angle < 0°
Reminders
Determination of the pass depth (P) for ISO threads.
External thread: 0.613 x pitch
Internal thread: 0.577 x pitch
Determination of the approximate number of passes (S)
S=Px7
Coefficient
Pass depth
Approximate number of passes (integer)
4 - 96 en-938820/5
ISO Programming
Examples
b a
R
P
4
X 30°
Q
OP Z
N.. ...
N140 T09 D09 M06 (THREAD CUTTING TOOL, PITCH=1 RH THREAD)
N150 G97 S1000 M40 M03
N160 G00 Xa Za Start of thread cutting
N170 G33 Xb Zb K1 EA175 EB30 P0.61 Q0.02 R4 S5
N.. ...
en-938820/5 4 - 97
Cutting of front threads
ø 100
ø 30
OP Z P
60
N.. ...
$ FRONT THREAD ALONG X
N140 T05 D05 M06 (TOOL R=2)
N150 G97 S200 M40 M03
N160 G00 X110 Z64 Point a, start of thread cutting
N170 G33 X20 Z60 K4 EA90 P2 Q0 S14
N..
4 - 98 en-938820/5
ISO Programming
Pitch
The threads can be cylindrical or tapered.
X 4
Z
Syntax
Cancellation
Function G38 is cancelled by one of functions G00, G01, G02 or G03.
Notes
Different pitches (K) can be programmed in consecutive thread cutting blocks with
G38.
The thread pitch is applied to the thread cutting axis (axis on which the movement is
largest).
The consecutive passes, to obtain the required depth, can be programmed by
subroutine calls (see Sec. 4.11.1).
During execution of the cycle, spindle speed override by potentiometer is inhibited
(value forced to 100 percent).
en-938820/5 4 - 99
Function G38 must be programmed:
- without miscellaneous functions (M) in the cycle blocks,
- without use of constant surface speed (nor retract in step for successive passes).
REMARK The maximum possible pitch is limited by the feed rate in mm/min
acceptable by the machine (feed rate = pitch x rotation speed). Refer
to the machine manufacturer’s documentation.
Example
e
K8
d K6 K4
c
b a
OP Z
N.. ...
N100 T04 D04 M06 (TOOL R=2)
N110 G97 S400 M40 M03
N120 G00 Xa Za Approach point
N130 G38 Xb Zb K4 Cycle with 4 mm pitch
N140 Xc Zc K6 Cycle with 6 mm pitch
N150 Xd Zd K8 Cycle with 8 mm pitch
N160 G00 Xe Ze Cycle cancelled
N..
4 - 100 en-938820/5
ISO Programming
4.9.4.1 General
Syntax
Cancellation
Functions G8x are cancelled by another function G8x or by functions G64, G65, G66.
en-938820/5 4 - 101
Notes
When a cycle (G8x) is programmed, the system must be in state G40 (G41 or G42
tool radius offset cancelled).
! CAUTION
The use of programme variables L900 to L959 (see Chapter 6) is not recommended in a
programme including canned cycles, since some of these variables could be overwritten
when a cycle is called.
Dimensions ER and EH
Dimension ER of the approach (or retraction) plane on the machining axis is assigned
to the primary axis (Z) or the secondary axis (W) programmed last.
Dimension EH of the impact plane on the machining axis is assigned to the primary
axis (Z or X) or the secondary axis (W or U) programmed last.
EH must always be programmed in the same block of the cycle as ER.
4 - 102 en-938820/5
ISO Programming
2 4
en-938820/5 4 - 103
4.9.4.2 Centre Drilling Cycle
OP Z
F..
Syntax
Cancellation
ONMLKJIHGFEDCBA@?>=<ONMLKJIHGFEDCBA@?>=<
ONMLKJIHGFEDCBA@?>=<ONMLKJIHGFEDCBA@?>=<
Function G81 is cancelled by one of functions G80, G82-G85, G87, G89 or functions
ONMLKJIHGFEDCBA@?>=<ONMLKJIHGFEDCBA@?>=<;:98765432
4 - 104 en-938820/5
ISO Programming
Cycle Steps
Step 1: Fast positioning on the machining axis.
Step 2: Infeed at feed rate F..
Step 3: Outfeed at high speed in the tool axis.
Example
Execution of centre drilling.
N.. ...
N50 G00 Xa Za
N60 G94 (or G95) F..
,
X 4
,,
N70 G81 Z-8
N80 G80 G00 X.. Z..
N.. Z a
or OP
N..
N50 G94 (or G95) F..
N60 G81 Xa ERa Z-8 8
N70 G80 G00 X.. Z..
N..
en-938820/5 4 - 105
cYXWVUTSRQPba`_^]\[Zcba`_^]\[ZYXWVUTSRQP
cYXWVUTSRQPba`_^]\[Zcba`_^]\[ZYXWVUTSRQP
cYXWVUTSRQPba`_^]\[ZYXWVUTSRQPcba`_^]\[Z
QPcba`_^]\[ZYXWVUTSRcba`_^]\[ZYXWVUTSRQP
4.9.4.3 Counterboring Cycle
X
OP Z
F..
EF
Syntax
Cancellation
Function G82 is cancelled by one of functions G80, G81, G83-G85, G87, G89 or
functions G64, G65, G66.
4 - 106 en-938820/5
ISO Programming
Cycle Steps
Step 1: Fast positioning in the machining axis.
Step 2: Infeed at feed rate F..
Step 3: Dwell at the end of drilling (or boring).
Step 4: Outfeed at high speed on the tool axis.
Example
Execution of counterboring
N.. ...
N50 G00 Xa Za 4
N60 G94 (or G95) F..
N70 G82 Z-5 EF2 X
N80 G80 G00 X.. Z..
Z
N..
a
or OP
N..
N50 G94 (or G95) F.. 5
N60 G82 Xa ERa Z-5 EF2
N70 G80 G00 X.. Z..
N..
en-938820/5 4 - 107
4.9.4.4 Peck Drilling Cycle
F..
Syntax
N.. G83 X.. / Z.. [ER..] [EH..] [P..] / [ES..] [Q..] [EP..] [EF..]
Cancellation
Function G83 is cancelled by one of functions G80-G82, G84, G85, G87 and G89 or
functions G64, G65, G66.
4 - 108 en-938820/5
ISO Programming
Notes
If addresses P and Q are programmed, the consecutive pecks between P and Q are
degressive values.
At least one of arguments P and ES must be programmed or the system returns error
message 889.
If the value of P is greater than delta Z, the system returns error message 881.
,
, ,
Drillings/ES
P
All the drilling is executed as a number
, ,
ES of infeeds.
,
Remainder/ES
Cycle Steps
The steps below are given as an illustration. The number of steps depends on the
values programmed in the cycle.
Step 1: Fast positioning in the machining axis.
Step 2: First peck to depth P.. in the tool axis at the machining feed rate.
Possible dwell at the end of the peck.
Rapid retraction to the start point.
Rapid infeed to 1 mm (or EP..) above depth P..
Step 3: Second peck at feed rate.
Possible dwell at the end of the peck.
Rapid retraction to the start point.
Rapid infeed to 1 mm (or EP..) above the previous peck.
Steps 4 and 5: Pecks and retractions same as step 3.
Step 6: Peck to depth Q.. at feed rate.
Step 7: Rapid retraction to the start point.
Possible dwell G04 F.. in the start point.
cbYXWVUTSRQcba`_^]\[ZYXWVUTSRQP
4 - 109
cba`_^]\[ZYXWVUTSRQPcba`_^]\[ZYXWVUTSRQP
en-938820/5
cba`_^]\[ZYXWVUTSRQPcba`_^]\[ZYXWVUTSRQP
cba`_^]\[ZYXWVUTSRQPcba`_^]\[ZYXWVUTSRQP
\[ZYXWVUTSRQPYXWVUTSRQPcba`_^]\[Z
YXWVUTSRQPcba`_^]\[ZYXWVUTSRQPcba`_^]\[Z
Q P
Clearance
X or Z
X or Z
2
EF
3
EF
4
EF
5
EF
6
EF
(possibly G04)
7
4 - 110 en-938820/5
ISO Programming
EF
F.. Direction
Reversal
of the F..
of rotation
4
direction
of rotation
Syntax
Cancellation
Function G84 is cancelled by one of functions G80-G83, G85, G87, G89 or functions
G64, G65, G66.
en-938820/5 4 - 111
Notes
In this tapping cycle, since feed is not slaved to spindle rotation, the tap must be
floating to compensate for position errors.
During execution of the cycle, feed rate override by potentiometer is inhibited (value
forced to 100 percent).
Cycle Steps
Step 1: Fast positioning in the machining axis.
Step 2: Infeed at the specified feed rate F..
Step 3: Reversal of the direction of rotation at the end of tapping.
Step 4: Dwell at the end of tapping.
Step 5: Outfeed at the specified feed rate F.. along the tool axis.
Example
Execution of one M8 tapping, pitch 1.25.
N.. ...
N40 S300 M41 M03
N50 G00 Xa Za
N60 G94 (or G95) F.. X
N70 G84 Z-20 EF1
Z a
N80 G80 G00 X.. Z..
N.. OP
or
N.. 20
N50 G94 F375
N60 G84 Xa ERa Z-20 EF1
N70 G80 G00 X.. Z..
N..
4 - 112 en-938820/5
ISO Programming
Syntax
Cancellation
ONMLKJIHGFEDCBA@?>=<ONMLKJIHGFEDCBA@?>=<
NMLKJIHGFEDCBA@?>=<OONMLKJIHGFEDCBA@?>=<
Function G84 is cancelled by one of functions G80-G83, G85, G87 and G89 or
ONMLKJIHGF
en-938820/5 4 - 113
Notes
When the cycle is called, the tool axis (X or Z) is coupled with spindle rotation.
When the tapping axis is not located on the centre line of rotation of the part, the
machine must be equipped with:
- a C axis,
- a measured auxiliary spindle.
During execution of the cycle:
- the following error on the tapping axis is cancelled during feed at constant speed,
- feed rate and spindle speed override by potentiometer is inhibited (value forced
to 100 percent).
In the end-of-tapping region, the spindle is decelerated then rotation is reversed.
At the end of the cycle, the spindle is returned to its initial state.
Rigid tapping can be carried out over several penetrations, but this requires
programming several consecutive blocks.
Rigid tapping can be carried out over several penetrations, but this requires
programming several consecutive blocks.
With rigid tapping, the system returns error message 899 in the following cases:
- use with an axis group number above 5,
- use with a spindle number above 2,
- the axis group does not control the spindle used or does not provide its
measurement.
Tapping Clearance
Before starting the cycle, sufficient clearance must be provided to allow the tapping
axis to reach correct speed before impacting the material. This clearance depends
on the required tapping speed and the acceleration allowed on the axis. The following
chart can be used to approximate the clearance required.
Use of the chart for tapping an M10 hole (pitch = 1.5 mm), for instance:
- rotation speed = 320 rpm,
- axis feed rate = 480 mm/min or 0.48 m/min,
- acceleration = 0.5 m/s2.
4 - 114 en-938820/5
ISO Programming
Clearance
in mm
10 0,5 m/s2
4 1 m/s2
2 2 m/s2
0
0,5 1 Speed on
4
the axis
in m/min
Cycle Steps
X/Z
4 3 2
5
6 7 8
en-938820/5 4 - 115
Examples
30
4 - 116 en-938820/5
ISO Programming
X
OP Z
F..
4
Syntax
Cancellation
Function G85 is cancelled by one of functions G80-G84, G87 and G89 or functions
G64, G65, G66.
en-938820/5 4 - 117
Cycle Steps
Step 1: Fast positioning in the machining axis.
Step 2: Infeed at feed rate F..
Step 3: Outfeed at feed rate F.. along the tool axis.
Example
Execution of a bore.
N.. ...
N50 G00 Xa Za
N60 G94 (or G95) F..
N70 G85 Z-25 Z
N80 G80 G00 X.. Z..
N.. X a
or OP
N..
N50 G94 (or G95) F.. 25
N60 G85 Xa ERa Z-25
N70 G80 G00 X.. Z..
4 - 118 en-938820/5
ISO Programming
Q P
G87 Drilling cycle with chip
breaking.
X
Z
This cycle is used to programme
machining in the X or Z axes. OP
F..
Syntax
N.. G87 X.. / Z.. [ER..] [EH..] [P..] / [ES..] [Q..] [EP..] [EF..]
Cancellation
Function G87 is cancelled by one of functions G80-G85 and G89 or functions G64,
G65, G66.
en-938820/5 4 - 119
Notes
If addresses P and Q are programmed, the consecutive infeeds between P and Q are
degressive values.
At least one of arguments P and ES must be programmed or the system returns error
message 889.
If the value of P is greater than delta Z, the system returns error message 881.
,
,,
Drillings/ES
P
All the drilling is executed as a number
ES of infeeds.
, ,
Remainder/ES
, ,
, ,
, ,
, ,
, ,
, ,
4 - 120 en-938820/5
ISO Programming
Cycle Steps
The steps below are given as an illustration. The number of steps depends on the
values programmed with the cycle.
Q P
Clearance
X or Z
X or Z
4
2
3
4
5 EF
EF
EF
6
EF (possibly G04)
en-938820/5 4 - 121
4.9.4.9 Boring Cycle with Dwell at the Bottom of the Hole
OP Z
F..
EF F..
Syntax
Cancellation
Function G89 is cancelled by one of functions G80-G85, G87 or functions G64, G65,
G66.
4 - 122 en-938820/5
ISO Programming
Cycle Steps
Step 1: Fast positioning in the machining axis.
Step 2: Infeed at the feed rate F..
Step 3: Dwell at the end of boring
Step 4: Outfeed at the feed rate F.. along the tool axis.
Example
Execution of a bore.
N.. ...
N50 G00 Xa Za 4
N60 G94 (or G95) F..
N70 G89 Z-25 EF1 X
N80 G80 G00 X.. Z..
N.. Z a
or OP
N..
N50 G94 (or G95) F.. 25
N60 G89 Xa ERa Z-25 EF1
N70 G80 G00 X.. Z..
N..
en-938820/5 4 - 123
4.9.4.10 Examples of Programming Cycles
50
20
X
b a
ø 22
OP Z
%62
N10...
N.. G92 S3500
N.. ...
N120 T06 D06 M06 (CARBIDE DRILL D=22)
N130 G97 S900 M40 M03
N140 G00 X0 Z55 Point a
N150 G96 X22 S100
N160 G95 F0.15
N170 G83 (or G87) Z20 P10 Q5 Point b, cycle
N180 G97 S900
N190 G80 G00 G52 X.. Z.. Cycle cancellation
N..
GHIJKLMNOFEDCBA@?>=<EDCBA@?>=<
4 - 124 en-938820/5
ISO Programming
ø 58
b a
1
ø 50
4
ø 46
OP Z
15
30
%56
N10...
N.. G92 S3000
N..
N.. ...
N220 T08 D08 M06 (GROOVING TOOL L=4)
N230 G97 S900 M40 M04
N240 G16 P+ Tool axis orientation on X+
N250 G00 X60 Z-15 Point a
N260 G96 S50
N270 G95 F0.1
N280 G83 (or G87) X50 P2 Q1 G04 F1 Cycle
N290 X46 Z-30 Point b, cycle repeat
N300 G97 S900
N310 G80 G16 R+ G00 G52 X.. Z.. Cycle cancellation
N..
en-938820/5 4 - 125
Execution of three front grooves along the Z axis (cycle G82) with positioning on
different levels using ER
Grooves with radius 3, depth 3.
10
5
ø 80
1
,
, ,
, ,
a
, ,
b
,
c
X
OP
ø 30
ø 50
ø 70
Z
%72
N10...
N.. G92 S200
N..
N..
N190 T06 D06 M06 (GROOVE CUTTER R3)
N200 G97 S900 M04 M40
N210 G00 Z10
N220 G96 X80 S40
N230 G95 F0.08
N240 G82 X70 Z-3 ER1 EF2 Point a, cycle
N250 X50 Z-13 ER-9 Point b, cycle
N260 ER-4
N270 X30 Z-8 EF1 Point c, cycle
N280 G97 S900
N290 G80 G00 G52 X.. Z.. Cycle cancellation
N..
4 - 126 en-938820/5
ISO Programming
in the plane
en-938820/5 4 - 127
4.10 Other Machining Cycles
4.10.1 Rough Turning/Facing Cycle
I
for external or internal working. X Finished profile
Syntax
4 - 128 en-938820/5
ISO Programming
Cancellation
Function G64 is cancelled by function G80.
Cycle Steps
4
1
5
4 3 2
Z
Step 1: Tool positioning in XZ.
Step 2: Rapid to pass depth (to depth «P» for turning).
Step 3: Execution of the first pass at the feed rate.
Step 4: Lift along the profile at the feed rate.
Step 5: Rapid return to the cycle start point.
Execution of the following passes in the same way as steps 2 to 5, then retraction.
en-938820/5 4 - 129
Notes
When the cycle is programmed, the system must be in state G40 (G41 or G42 tool
radius offset cancelled).
The feed rate and its argument can be programmed in the cycle block, e.g.:
N.. G64 N.. N.. I.. K.. P.. G95 F0.25
4 - 130 en-938820/5
ISO Programming
The roughing cycle uses P or R to determine turning or facing, plus the directional
sense of increasing/decreasing dia. from the blank definition, to determine internal/
external working.
Rough turning
N200 ... A B First
N210 G64 N.. N.. I.. K.. P4 P pass
N220 X.. Z.. Point A P
N230 Z.. Point B
N240 X.. Z.. Point C
C
N250 X.. Point D
N260 G80 G52 X.. Z..
N.. D
4
X
Rough facing
N200 ... D C First
N210 G64 N.. N.. I.. K.. R4 pass
N220 X.. Z.. Point A R
N230 X.. Point B
N240 X.. Z.. Point C
B
N250 Z.. Point D
R
N260 G80 G52 X.. Z..
N.. A
X
en-938820/5 4 - 131
The pass depth defined in the cycle block (P or R) can be modified during the blank
definition blocks.
Example
P4
A B
N200 ...
N210 G64 N.. N.. I.. K.. P4
N220 X.. Z.. Point A
P2
N230 Z.. Point B C
N240 X.. Z.. Point C
N250 X.. P2 Point D,
new P
N260 G80 G52 X.. Z.. D
N.. X
4 - 132 en-938820/5
ISO Programming
Examples
ø 110
5 to 45°
Hole diameter 20
4
ø 40
5
R
30
50
Machining paths
C B
5 g
e
d
c
A
X
b a
OP Z 5
en-938820/5 4 - 133
%46
N10 G00 G52 X.. Z.. Tool change position
N20 T01 D01 M06 (FACING TOOL R=0.8)
N30 S900 M40 M04
N40 X120 Z55 Point B, tool at the start of roughing
N50 G92 S3500
N60 G96 S200
N70 G95 F0.2
N80 G64 N140 N210 I0.4 K0.2 R3 Cycle
N90 X16 Z55 Point (A)
N100 X120 Point (B) Blank definition
N110 Z20 Point (C)
N120 G80 G52 X.. Z.. G97 S900 Cycle cancellation
N130 T03 D03 M06 (COPYING TOOL R=0.4)
N140 G42 X16 Z55 Point a, tool at the start of finishing
N150 G96 S250
N160 G01 Z50 F0.1 Point b
N170 X30 Point c
N180 G03 X40 Z45 R5 Point d
N190 G01 Z30 Point e
N200 X100 Point f
N210 X120 Z20 Point g
N220 G00 G40 G52 X.. Z.. G97 S900 M05
N230 M02
Changes required to programme %46 for turning.
4 - 134 en-938820/5
4
ISO Programming
4 - 135
ø 56
ø 48
en-938820/5
1 x 1 chamfer
ø 30
B
C
h
a
b
3
d
c
1 to 45°
Roughing of an internal profile by turning
42
37
A
e
f
g
,
15
,
,
2
,
,
,
,
Z
,
,
,
,
Machining paths
,
,
OP
,
,
,
,
,
,
,
,
, ,
, ,
Hole dia. 20
%48
N10 G00 G52 X.. Z.. Tool change position
N20 T07 D07 M06 (BORING TOOL R=0.4)
N30 S900 M40 M04
N40 X18 Z45 Point B, tool at the start of roughing
N50 G92 S3500
N60 G96 S100
N70 G95 F0.15
N80 G64 N140 N210 I-0.2 K0.1 P2 Cycle
N90 X16 Z12 Point (A)
N100 Z45 Point (B) Blank definition
N110 X64 Point (C)
N120 G80 G52 X.. Z.. G97 S900 Cycle cancellation
N130 T09 D09 M06 (BORING TOOL R=0.2)
N140 G41 X64 Z45 Point a, tool at the start of finishing
N150 G96 S120
N160 G01 X56 Z41 F0.08 Point b
N170 Z37 Point c
N180 X48 Point d
N190 X30 Z15 Point e
N200 X22 Point f
N210 X16 Z12 Point g
N220 G00 Z45 G97 S900 Point h
N230 G40 G52 X.. Z.. M05
N240 M02
4 - 136 en-938820/5
ISO Programming
ø116
ø100
ø80
ø70
5
R
5 à 45°
ø60
0
R1
ø56
4
10 5 15
40
80
Machining paths
A B
i C
h
g D
f
e
c b E
d
a
OP Z
en-938820/5 4 - 137
%62
N10 G00 G52 X.. Z.. Tool change position
N20 T01 D01 M06 (BIDIRECTIONAL TOOL R=0.8)
N30 S900 M40 M04
N40 X120 Z-30 Point B, tool at the start of roughing
N50 G92 S3500
N60 G96 S180
N70 G95 F0.25
N80 G64 N170 N270 I0.3 K0.2 P4 Cycle
N90 X120 Z-80 Point (A)
N100 Z-40 Point (B)
N110 X80 Z-20 Point (C) Blank definition
N120 X70 Z5 Point (D)
N130 X40 P2 Point (E)
N140 G97 S900
N150 G80 G52 X.. Z.. Cycle cancellation
N160 T03 D03 M06 (COPYING TOOL R=0.4)
N170 G42 X40 Z5 Point a, tool at the start of finishing
N180 G96 S250
N190 G01 X60 Z-5 F0.1 Point b
N200 Z-15 Point c
N210 X56 Z-20 Point d
N220 G02 X70 Z-30 R10 Point e
N230 G01 X80 Z-40 Point f
N240 X90 Point g
N250 G03 X100 Z-45 R5 Point H
N260 G01 Z-80 Point i
N270 X120 Point j
N280 G00 G40 G52 X.. Z.. G97 S900 M05
N230 M02
4 - 138 en-938820/5
ISO Programming
Roughing then finishing by turning of a profile defined by two points (a and b).
ø 50 A B
5
b
X
20
C
R
4
ø 10
OP Z
5
%64
N10 G00 G52 X.. Z.. Tool change position
N20 T01 D01 M06 (TOOL R=0.8)
N30 S900 M40 M04
N40 X60 Z5 Point B, tool at the start of roughing
N50 G96 S300
N60 G92 S3000
N70 G95 F0.3
N80 G64 N150 N160 P3 I0.2 K0.2 Cycle
N90 X60 Z-20 Point A
N100 Z5 Point B Blank definition
N110 X10 Point C
N120 G80 G52 X.. Z.. G97 S900 Cycle cancellation
N130 T03 D03 M06 (OUTIL R=0.4)
N140 X10 Z2 Approach point
N150 G42 G01 X10 Z0 Point a
N160 G03 X50 Z-20 I10 K-20 Point b
N170 G01 G40 X54 G97 S900 Retraction point
N180 G00 G52 X.. Z.. M05
N190 M02
en-938820/5 4 - 139
4.10.2 Groove Roughing Cycle
Syntax
N.. G65 [N.. N..] / [EP..] X.. / Z.. [I.. K..] [EA..] P.. / R.. [Q..] [EF..]
4 - 140 en-938820/5
ISO Programming
Cancellation
Function G65 is cancelled at the end of the block.
Cycle Steps
4
1
5 A
2
4 6
3
Z
Step 1: Tool positioning (point A, cycle start).
Before the cycle start, the system takes into account the declared tool radius.
Step 2: Infeed at the introduction angle at the machining feed rate (to depth P for
turning).
Step 3: Execution of the pass at the machining feed rate.
Step 4: Retraction at the machining feed rate along the groove profile.
Step 5: Rapid return to the perpendicular over the start point for the next pass.
Step 6: Positioning at the machining feed rate (if Q with a value not programmed).
The following passes are executed in the same way as steps 2 to 6.
After execution of the last pass, the tool retracts at rapid to the cycle start point.
en-938820/5 4 - 141
Notes
Both the finished profile definition blocks N.. to N.. must include both the coordinates
X and Z.
Tool positioning to the cycle start must be programmed in G40 (G41 or G42 radius
offset cancelled).
The feed rate function and argument can be programmed in the cycle block, e.g.:
N.. G65 N.. N.. I.. K.. P.. G95 F0.1.
At the end of the cycle, the system is left in G0 mode.
Notes on argument EA
- EA: cut introduction angle defines a
line from the cycle start point (point A) to Figure 1
the intersection with the finished profile.
R
After positioning to the start point, the
system reads the declared tool radius A
(R) before executing the first pass.
EA
Finished
profile
Notes on argument Q
After the first pass, when argument Q is
programmed with its value, the approach Figure 2
distance before each new cut is carried Start
out in two steps: point
- At high speed up to value Q,
- At the machining feed rate until the P
start of the next pass. Q
Finished
profile
4 - 142 en-938820/5
ISO Programming
Dia. roughing
N..
N70 ...
P
N80 G65 N.. N.. Z.. I.. K.. EA.. P.. Start
N90 G52 X.. Z.. N..
N..
Z
X
4
Z
Face roughing
N70 ... N..
N80 G65 N.. N.. X.. I.. K.. EA.. R..
N90 G52 X.. Z.. Start
N..
R
X
N..
Z
en-938820/5 4 - 143
Example
1 to 45° 1 to 45°
5
45°
R
ø 52
ø 30
ø 50
10 15
40
Machining paths
4
A
1
b
g
c a
f
2
e d
X
OP Z
4 - 144 en-938820/5
ISO Programming
%34
N10 G00 G52 X.. Z.. Tool change position
N20 T03 D03 M06 (GROOVE ROUGHING TOOL R=0.4)
N30 S900 M03 M40
N40 X52 Z-15 Point A, tool at the start of the groove
N45 G92 S3000
N50 G96 S100
N60 G95 F0.2
N70 G65 N100 N180 Z-40 I0.2 K0.1 EA-135 P2
N80 G52 X..Z.. G97 S900
N90 T05 D05 M06 (SLIDING TOOL R=0.8) 4
N100 G42 X44 Z2 Point a, tool at the start of the profile
N110 G96 S250
N120 G01 X50 Z-1 F0.1 Point b
N130 Z-15 Point c
N140 X30 Z-25 Point d
N150 Z-35 Point e
N160 G02 X40 Z-40 R5 Point f
N170 G01 X50 Point g
N180 X60 Z-45 Point h
N190 G00 G40 G52 X.. Z.. G97 S900 M05
N.. ...
en-938820/5 4 - 145
4.10.3 Plunging Cycle
X R
Syntax
4 - 146 en-938820/5
ISO Programming
Cancellation
Function G66 is cancelled at the end of the block.
Cycle Steps
4
1
A
2 4
Z
Step 1: Tool positioning above the material (point A, cycle start).
The first tool correction corresponding to the start side of the groove must be
programmed in this block or in one of the previous blocks.
Step 2: Penetration at the machining feed rate (to the groove bottom point possibly
modified by angle EA).
Step 3: Retraction at the machining feed rate.
Step 4: Rapid movement by the value of the step for execution of the next penetration
(taking into account the correction corresponding to the other side of the groove).
Execution of the following passes in the same way as steps 2 to 4 until reaching the
end of the groove.
After execution of the last pass, retraction clear of the material.
en-938820/5 4 - 147
Notes
When the cycle is programmed, the system must be in state G40 (G41 or G42 tool
radius offset cancelled).
The tool penetrations are uniformly distributed over the width of the groove. In certain
cases, the system recomputes the programmed step.
The feed rate function and argument can be programmed in the cycle block, e.g.:
N.. G66 D.. X.. Z.. R.. EA.. EF.. G95 F0.1.
At the end of the cycle, the system is left in G0 mode.
Example: FIGURE 1
Correction D05: Groove start side along
Z (point A).
Correction D15: Groove end side along Turret
Z (point XZ). origin
EA
XZ
4 - 148 en-938820/5
ISO Programming
Examples
ø 60
A
10 °
XZ
ø 46
X 4
Z
OP 30
50
N.. ...
N210 G00 G52 X.. Z.. Tool change position
N220 T05 D05 M06 (GROOVING TOOL L=6)
N230 G97 S900 M40 M03
N240 X66 Z30 Point A
N250 G96 S80
N260 G95 F0.1
N270 G66 D15 X46 Z50 EA10 R5 EF0.5 Cycle
N280 G52 X.. Z.. G97 S900 M05
N..
en-938820/5 4 - 149
Special use of cycle G40 with EP
EP can be added to the cycle syntax to rough a diameter.
45°
ø 80
P5
3
EP
XZ
ø 40
X
Z
OP
50
N.. ...
N100 G00 G52 X.. Z.. Tool change position
$0 TURNING, DIAMETER 40
N110 T01 D01 M06 (BIDIRECTIONAL TOOL R=08)
N120 G97 S900 M40 M03
N130 X70 Z5 Point A
N140 G96 S200
N150 G95 F0.3
N160 G66 X40 Z-50 P5 EP3 Cycle
N170 ...
4 - 150 en-938820/5
ISO Programming
Syntax
N.. G63 [N.. N..] / [EP..] X.. Z.. EX.. / EZ.. P.. / R.. EA.. / EU.. / EW.. [EB..] [EC..]
[ER..] [Q..] [EQ..] [EF..]
en-938820/5 4 - 151
EA../EU../EW.. Roughing pass start positions (see Figs. 1 and 2).
These arguments are programmed to define a start angle
for cut application and can be combined: EA EU, EA EW
or EU EW.
EB.. Maximum groove penetration angle.
Angle used to take into account the groove profile geometry
and the tool rake angle (α) (see Fig. 3).
- By default, EB is parallel to the roughing axis.
EC.. Maximum cut exit angle.
Angle used to take into account the groove profile geometry
and the tool angle of attack (K) (see Fig. 4).
- By default, EC is perpendicular to the roughing axis.
ER.. Finishing allowance.
Value applied normal to the profile.
- The default value of ER = 0.
Q.. Positioning clearance.
Approach distance at feed rate before contact with the
material (for rapid to next cut depth).
- The default value of Q = 0 (no clearance).
EQ.. Minimum chip value.
- Below the programmed value, the pass is not executed.
EF.. Penetration feed rate in the material.
- The default value of EF is the same as the modal feed
rate F.
Cancellation
Function G63 is cancelled at the end of the block.
4 - 152 en-938820/5
ISO Programming
Cycle Steps
1
5 XZ
4
3 2 4
7 2
3
6 5
4 1
en-938820/5 4 - 153
Grooving pass
Step 1: Rapid positioning in X.
Step 2: Rapid positioning in Z.
Step 3: Positioning in X at the machining feed rate.
Step 4: Cut application at the machining feed rate along the groove profile.
Step 5: Execution of the pass at the machining feed rate.
Step 6: Lift at the machining feed rate along the groove profile.
Step 7: Rapid return to the cycle start point.
The following passes are executed in the same way as steps 3 to 6.
After execution of the last pass, the tool is retracted from the surface and positioned
in X.
Notes
The number of blocks from N.. to N.. must not exceed 95. Otherwise, the system
returns error message 92.
When the cycle is programmed, the system must be in state G40 (G41 or G42 tool
radius offset cancelled).
At the end of the cycle, the system is left in G0 mode.
The finished profile definition can be programmed before the cycle call, but in this
case it is necessary to use the branch function G79 (see Sec. 4.11.3).
The cycle arguments defining positive angles are specified counterclockwise.
The feed rate function and argument can be programmed in the cycle block, e.g.:
N.. G63 N.. N.. X.. Z.. EZ.. P.. EA.. EB.. ER.. Q.. EQ.. EF.. G95 F0.3
4 - 154 en-938820/5
ISO Programming
Roughing angle
Intersection with
finished profile
4
Z
EU
or
EW
Roughing angle
Z
The angle is also used to differentiate between applying the cut at feedrate or rapid
for a groove or not, respectively:
- Machining feed rate (in the material) if the angle between the cut application line
and the roughing axis is > 90 degrees.
- Traversing rate (off the material) if the angle between the cut application line and
the roughing axis is < 90 degrees.
en-938820/5 4 - 155
Definition of EB and EC
Angle defined by EB Angle defined by EC
Figure 3 Figure 4
K
α
EC
EB
Part
machined
Part
EB machined
EC
EC
X
X
EB
Z
Z
4 - 156 en-938820/5
ISO Programming
N70 ... P
N80 G63 N.. N.. X.. Z.. EZ.. P.. EU.. EB.. ER..
N90 G52 X.. Z..
N..
EU
X ER
Z
4
Rough facing EW R XZ
N70 ...
N80 G63 N.. N.. X.. Z.. EX.. R.. EW.. EC.. ER..
N90 G52 X.. Z..
N..
EX
X ER
en-938820/5 4 - 157
Examples
ø 90
5 to 45°
5 to 45°
ø 50
12
ø 30
R
2 Hole dia. 22
ø 26
ø 36
40
60 5
70 12
90
Machining paths
50
EZ XZ
l
5
40°
k
j
i h
g
d
f e c
X b a
ø 20
OP Z 5
4 - 158 en-938820/5
ISO Programming
%32
N10 G00 G52 X.. Z.. Tool change position
N20 T01 D01 M06 (SLIDING TOOL R=0.8)
N30 S900 M40 M04
N40 X100 Z50 Tool position at the start of roughing
N50 G92 S3500
N60 G96 S200
N70 G95 F0.25
N80 G63 N110 N230 X100 Z50 EZ30 P2 EA-40 EB-145 ER0.4 Q2 EQ1 EF0.1
N90 G52 X.. Z..
N100 T03 D03 M06 (COPYING TOOL R=0.4) 4
N110 G42 X20 Z95 Point a, tool at the start of finishing
N120 G96 S250
N130 G01 Z90 F0.4 Point b
N140 X26 F0.1 Point c
N150 X36 Z82 Point d
N160 X30 Z75 Point e
N170 Z70 Point f
N180 X40 Point g
N190 X50 Z65 Point h
N200 Z60 Point i
N210 G02 X50 Z40 R12 Point j
N220 G01 X80 Point k
N230 X100 Z30 Point l
N240 G40 G52 X.. Z.. G97 S900 M05
N250 M02
en-938820/5 4 - 159
4 - 160
en-938820/5
Drilled hole dia. 10
3 ø 84
a
Machining paths
c
b
d
e
R3
R6
OP
g
20
f
2 to 45°
15
14
R1
5
5
X
XZ
h
Z
ø 20 ø 50 ø 70
Rough and finish facing of an external profile
;:9876543210/.-,+*)( :98765432.-,+*)(;;:98765432
;:9876543210/.-,+*)(:9876543210/.-,+*)(;
:9876543210/.-,+*)(;;:9876543210/.-,+*)(
Undimensioned radius = tool R
;:9876543210/.-,+*)(
<
=
>
?
@
A
B
C
D
E(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;DCBA@?>=<;:9876543210/.-,+*)(:9876543210/.-,+*)(;
EDCBA@?>=<#"!;:9876543210/.-,+*)(
!
"
#
$
%
&
'
<
=
>
?
@
A
B
C
D
E(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;EDCBA@?>=<'&%$#"!;:9876543210/.-,+*)(EDCBA@?>=<'&%$#"!;:9876543210/.-,+*)(
!
"
#
$
%
&
'(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;'&%$#"!;:9876543210/.-,+*)(EDCBA@?>'&%$#"!;:9876543210/.-,+*)(
;:9876543210/.-,+*)(;:9876543210/.-,+*)(
;:9876543210/.-,+*)( :9876543210/.-,+*)(;;:9876543210/.-,+*)(
;:9876543210/.-,+*)(:9876543210/.-,+*)(;
0/.-,+*)(1;:98765410/.-,+*)(
ISO Programming
%39
N10 G00 G52 X.. Z.. Tool change position
N20 T07 D07 M06 (FACING TOOL =0.8)
N30 S900 M40 M04
N40 X100 Z10 Tool position at the start of roughing
N50 G92 S3500
N60 G96 S200
N70 G95 F0.2
N80 G63 N110 N190 X90 Z5 EX0 R2 EA-180 EB-150 EC-170 ER0.2 Q1 EF0.1
N90 G52 X.. Z..
N100 T09 D09 M06 (COPYING TOOL R=0.4) 4
N110 G41 X90 Z-25 Point a, tool at the start of finishing
N120 G96 S250
N130 G01 X80 Z-20 F0.1 Point b
N140 X70 Point c
N150 G03 X50 Z-15 R6 Point d
N160 G02 X40 Z-14 R3 Point e
N170 G03 X20 Z0 R15 Point f
N180 G01 X0 Point g
N190 G00 Z5 Point h
N200 G40 G52 X.. Z.. G97 S900 M05
N210 ...
N.. M02
en-938820/5 4 - 161
4 - 162
en-938820/5
3 Drilled hole
dia 20
m l
ø 120
o EZ (1)
5 to 45°
k j
External machining paths
EZ (2)
ø 80
10
R
5
i h
g
R
5 to 45°
15
f
Rough and finish turning an internal profile
20
e
85
80
ø 40
75
d
20
65
OP
X
c
b
5
a
40
Z
30
ø 30
EU
25
20
Execution of a profile by two outside rough turnings then finishing
ø 60
ø 70
XZ (roughing 1)
EU (roughing 1)
XZ (roughing 2)
5 to 45°
;:98765432;:98765432EDCB
A@?>=<;:98765432EDCBA@?>=<;:98765432EDCB
A@?>=<;:98765432EDCBA@?>=<;:98765432EDCB
A@?>=<;:98765432EDCBA@?>=<;:98765432EDCB
A@?>=<;:98765432EDCB10/.-,+*A@?>=<;:98765432EDCB
10/.-,+*)(A@?>=<;:98765432EDCBA@?>=<;:9876543210/.-,+*)(EDCB
ONMLKJIHA@?>=<10/.-,+*)(;:98765432EDCBONMLKJIHA@?>=<10/.-,+*)(;:98765432EFGDCB
ISO Programming
a'
g' f' e' d'
i' h' c' b'
j'
XZ
EZ X k'
4
2
OP Z
%163
N10 G0 G52 X.. Z.. Tool change position
$0 EXTERNAL ROUGHING 1
N20 T01 D01 M06 (TOOL R0.8)
N30 S900 M40 M04
N40 X126 Z5 Tool position at the start of roughing 1
N50 G92 S4000
N60 G96 S260
N70 G95 F0.3
N80 G63 N150 N300 X126 Z5 P3 EZ-85 EU16 EB-170 EC-93 ER0.2 EQ1 Q1 EF0.2
N90 G0 G52 X.. Z.. G97 S900
$0 EXTERNAL ROUGHING 2
N100 T03 D03 M06 (TOOL R0.8)
N110 X80 Z5 Tool position at the start of roughing 2
N120 G63 N150 N300 X72 Z5 P1.5 EZ-65 EU70 EB-125 EC-93 ER0.2 Q1 EF0.15
N130 G0 G52 X.. Z.. G97 S900
$0 EXTERNAL FINISHING
N140 T11 D11 M06 (COPYING TOOL R0.8)
N150 G42 G0 X16 Z5 Point a
N160 G96 S300
N170 G01 Z0 F0.08 Point b
N180 X60 Point c
N190 X70 Z-5 Point d
N200 Z-20 Point e
N210 X60 Z-25 Point f
N220 Z-30 EB-2 Point g
en-938820/5 4 - 163
N230 X70 EB2 Point h
N240 Z-40 EB2 Point i
N250 G02 X70 Z-60 R15 EB2 Point j
N260 G01 Z-65 Point k
N270 X80 Z-75 Point l
N280 Z-80 Point m
N290 X116 Point n
N300 X126 Z-85 Point o
N310 G0 G40 G52 X.. Z.. G97 S900 M05
$0 INTERNAL ROUGHING
N320 T05 D05 M06 (BORING TOOL R0.8)
N330 S900 M40 M03
N340 X10 Z10 Tool position at the start of roughing
N350 G92 S3000
N360 G96 S70
N370 G95 F0.1
N380 G63 N420 N520 X16 Z5 EU50 EZ-92 P2 EB110 EC70 ER0.2 Q1 EQ0.5 EF0.1
N390 G0 Z5 Tool retraction
N400 G0 G52 X.. Z..
$0 INTERNAL FINISHING
N410 T07 D07 M06 (BORING TOOL R0.4)
N420 G41 X50 Z5 Point a’
N430 G96 S90
N440 G01 X30 Z-5 F0.07 Point b’
N450 Z-20 Point c’
N460 X40 Z-25 Point d’
N470 Z-45 EB2 Point e’
N480 G02 X40 Z-55 I40 K-50 EB2 Point f’
N490 G01 Z-75 Point g’
N500 X30 Z-80 Point h’
N510 Z-85 Point i’
N520 X16 Z-92 Point j’
N530 G0 Z5 Point k’, Tool retraction
N540 G40 G52 X.. Z.. G97 S900 M05
N550 M02
4 - 164 en-938820/5
ISO Programming
Syntax
Cancellation
Function G77 is cancelled at the end of the block.
en-938820/5 4 - 165
Notes
Subroutines called by address H end with «X OFF» and do not include an M02 block
(end of programme).
A subroutine called by addresses N.. N.. can be located between M02 and «X OFF».
If argument S is programmed in a block containing other instructions, it must
immediately follow the subroutine branch.
If the subroutine branch is defined by two sequence numbers in reverse order (e.g.
G77 N200 N10), the system executes the programme in the normal sequence from
N10 to N200 and no error is displayed.
Context
The calling programme context can be saved at the beginning of the called
programme. It can then be restored at the end of execution of the called programme.
The programmed status access symbols are used for save and restore (see Sec. 6.7).
4 - 166 en-938820/5
ISO Programming
Examples
en-938820/5 4 - 167
Branches to sequences in the programme
Branch to block N70 located upstream in
programme %40. %40
N10
The block can be called by:
N..
N.. G77 N70 N70
N..
or
N70
N.. G77 N70
N..
N . . G77 N70 N70
N..
N . . M02
4 - 168 en-938820/5
ISO Programming
Subroutine nesting
Subroutine %5263 and the sequence of blocks N20 to N100 of main programme
%123 are executed three times (S3).
Main programme Subroutine 1 Subroutine 2
% 123 % 252 % 5263
N10 N10 N600
N20 N20 N610
N.. N.. N..
N.. N.. N..
N50 G77 H252 N80 G77 H5263 S3 N650
N60 N90 N660 4
N.. N.. N..
N.. N.. N..
N100 N160 N700 G77 N610 N650
N110 N710
N.. N..
N.. N..
N180 G77 N20 N100 S3 N920 G77 H123 N210 N260
N190 N930
N.. N..
N210 N1290
N..
N260
N..
N300 G77 N500 N550
N310
N..
N..
N390 M02
N..
N500
N..
N..
N550
en-938820/5 4 - 169
Cutting grooves by calling two subroutines
ø 40
R1
ø 30
ø 36
ø 20
3 5
15
40
Machining paths
D7Z
D05Z
2
d' a'
1
c a
c' b'
d
b X
OP Z
4 - 170 en-938820/5
ISO Programming
Main programme
%30
N10 G0 G52 X0 Z0
$0 EXTERNAL MACHINING
N..
N..
N110 G0 G40 G52 X.. Z.. G97 S900
$0 VEE-GROOVE
N120 T05 D05 M06 (TOOL WIDTH 5)
N130 X32 Z-15 Point a, approach
N140 G96 S80 4
N150 G77 H35 Call to subroutine %35
N160 G77 N110 Call to sequence N110
$0 GROOVE WITH RADIUS
N170 T07 D07 M06 (TOOL RADIUS 1)
N180 G0 G42 X44 Z-40 Point a’, approach
N190 G96 S50
N200 G77 H40 Call to subroutine %40
N210 G77 N110 M05 Call to sequence N110
N220 M02
Subroutine 1
%35
N10 G91 G01 X-6 G95 F0.08 Point b, incremental dimensions
N20 X6 Outfeed to point a
N30 G0 Z-3 Point c
N40 G01 X-1 F0.3 Point d
N50 X-5 Z3 F0.05 Point e
N60 X6 F0.08 Point a
N70 G90
Subroutine 2
%40
N10 G91 G01 X-4 G95 F0.06 Point b’, incremental dimensions
N20 Z-5 F0.08 Point c’
N30 X4 F0.3 Point d’
N40 G90
en-938820/5 4 - 171
4.11.2 Subroutine Branch by M Function
Syntax
N.. M..
Notes
A subroutine called by an M function cannot itself call another subroutine by an M
function. However, it can be nested with another type of call (by G function or
automatic control function), but in no case may two calls of the same type be nested.
A block including a subroutine call by M function may also include a positioning
command.
Example: N.. M200 G00 X100
In this case, the block is processed in the following order:
- M200 sent to the PLC,
- Movement X100 executed,
- Call to the subroutine defined in P35.
4 - 172 en-938820/5
ISO Programming
Context
The calling programme context can be saved at the beginning of the called
programme. It can then be restored at the end of execution of the called programme.
The programmed status access symbols are used for save and restore (see 4
Sec. 6.7).
en-938820/5 4 - 173
%11019 (SPINDLE INDEXING DURING MOVEMENT)
VAR [br_pos] = [.BM62] *2+ [.BM65] *2+ [.BM64] - [.BM63] /2&3+93524
[M998] = [.BM999] - [.BM997] + 998
[tix(9)] [i]
ENDV
M997 (forced block sequencing)
FOR [i] = 1 TO 9 DO [tix(i)] = [.IBX(i)]
BCLR [.IBX(i)] (stop movement)
ENDF
G997 (exit M19)
G999
FOR [i] = 1 TO 9 DO
IF [tix(i)] = 1 THEN
BSET [.IBX(i)] (enable movement)
ENDI
ENDF
G997 (start movement)
(wait until spindle is in position)
WHILE E [br_pos] = 0 DO G4 F.1
ENDW
M[M998]
Example
General case: call by function M55 of subroutine %255.
4 - 174 en-938820/5
ISO Programming
Syntax
Cancellation
Function G79 is cancelled at the end of the block.
Notes
If the jump is conditional, the condition must be located between G79 and N..
en-938820/5 4 - 175
Examples
Unconditional jump
%25
N10 ...
N..
N50 G79 N220 Jump to sequence N220
N60
N..
N190
N..
N220
N..
N250 G79 N60 Jump to sequence N60
N..
Conditional branch
Counting the number of machining operations performed and branching when the
specified number is reached.
%75
N10 L5 = 20 Variable L5 set to 20
N20 G52 Z..
N30 T01 D01 (TOOL)
N40 S800 M40 M03
N50 G00 X.. Y.. Z..
N60 G01 Z..
N70
N..
N.. Programming for one machining
N.. operation
N..
N..
N..
N140
N150 L5 = L5 -1 Count each operation down
N160 G79 L5 = 0 N180 Condition: If L5=0, branch to block N180
N170 G79 N50 Branch to N50
N180 G52 Z.. M05
N190 M02
4 - 176 en-938820/5
ISO Programming
Roughing
f cycle start
e
5
d
5
R
c b
a
ø 60
ø 40
4
X
4
30 OP Z
%82
N10 G00 G52 X.. Z..
N20 T01 D01 M06 (BIDIRECTIONAL TOOL)
N30 S900 M40 M04
N40 X70 Z4 Roughing start point
N50 G92 S3000
N60 G96 S200
N70 G79 N140 Branch to block N140
N80 G00 X30 Z4 Point a
N90 G01 X40 Z-1 Point b
N100 Z-30 Point c
N110 X50 Point d
N120 G03 X60 Z-35 R5 Point e
N130 G01 X70 Point f
N140 G64 N80 N130 I0 K0 P2 G95 F0.2
N150 X70 Z-35
N160 Z4
N170 X30
N180 G80 G52 X-50 Z-100 G97 S900
N190 ...
en-938820/5 4 - 177
4.11.4 Subroutine Call by Automatic Control Function
During execution of a part programme, Part
the automatic control function causes a programme
branch to subroutine %999. Machine
%81 processor
N..
N.. Subroutine
N..
N.. %9999
N.. N..
N.. N..
N.. N..
N..
4 - 178 en-938820/5
ISO Programming
Context
The calling programme context can be saved at the beginning of the called
programme. It can then be restored at the end of execution of the called programme.
The programmed status access symbols are used for save and restore (see Sec. 6.7).
%9999
G77 H E40000 M..
N..
Parameter E40000 contains the number of the subroutine called (a, b, c, etc.) and the
M function is used as a handshake (CRM).
This method has the drawback of creating an additional subroutine nesting level.
en-938820/5 4 - 179
Method 2:
All the functions are written in subroutine %9999. The first block is a jump to a
sequence number contained in parameter E40000 (i.e. Na.., Nb.., Nc..).
%9999
G79 N E40000 M.. Wait for start by CRM and the branch to
the sequence
Na Processing of function 1
N..
N..
G79 Nz Jump to the last sequence
Nb Processing of function 2
N..
N..
G79 Nz Jump to the last sequence
Nc Processing of function 3
N..
N..
Nz End of subroutine
4 - 180 en-938820/5
ISO Programming
Syntax
N.. [G40] [G04 F..] [G00/G01/G02/G03] X.. Z.. G10 [:n] [+X.. or F..] [@n < >
Value] N.. [+ Number] [EF..]
en-938820/5 4 - 181
@n < > Value Argument defining a condition for comparison with a
threshold.
@n: Physical address of the axis concerned by the test
(axis address n is between 0 and 31).
<>: Mandatory comparison symbol.
Value: Comparison threshold in the same programme unit
as the other axes of the group (mm or inches).
N.. + Number Branch to block N.. after the interrupt, possibly followed by
a further number to reach unnumbered blocks.
EF.. Maximum feed rate after an interrupt (see
Sec. 4.11.5.1).
Cancellation
Function G10 is cancelled at the end of the block.
Notes
All the arguments for function G10 are optional.
4 - 182 en-938820/5
ISO Programming
The new values can be detected by dynamic operators and stored in an indexed
addressing table.
REMARK With axis multigroup programming (see Sec. 4.17), when an interrupt
on one group is set at the same time as an interrupt on another group
(groups 1 to 8), the interrupt on the group with the lowest number has
priority.
Examples
Interruptible block including comparison with a threshold and jump to a block once the
condition is satisfied
Condition: Jump to block N240 when the measurement on axis 7 is less than 50.3.
N.. ...
N..
N200 X.. Z.. G10 @7 < 50.3 N240 Jump to N240
N..
N..
N240
N..
en-938820/5 4 - 183
Interruptible block including comparison with a threshold and jump to a block if the
condition is satisfied
N..
N200 G00 G40 X50
N210 G01 X100 Z120 G10 : 2 + X60 N250 Jump to N220 or N250
N220
Condition not satisfied
N230
N240
N250
N.. Condition satisfied
If, after the interrupt, the end point is beyond the original programmed target:
- the jump condition is not satisfied and the programme continues with the next
block,
- no updates are made to the E7x001 positions.
Diagram:
IT IT 60 mm X100
N210 Z120 N220
Jump to N250
IT IT
60 mm
4 - 184 en-938820/5
ISO Programming
Example
N..
N.. G01 X30 G94 F300
N..
N.. G00 X..
N100 G01 X0 F150 G10 +X2 EF100 Feed rate 100 mm/min after the
interrupt
N..
en-938820/5 4 - 185
Example
The example below is defined for a system using inclined axis programming.
For the specific data used in the example, refer to the additional information given in
this manual for:
- Inclined axes
- External parameters E...
- Symbolic variables [...].
%398
N..
N..
(Compute the offset between the machine dimension and programme dimension in the
programme reference system)
[K] = CE69001 [DECX] = UE70000 * [K] - [.IRX(1)]
N150 G01 X0 F200 G10 +X2 EF100
(Go to 5 mm from the interrupt point)
N160 [COTE] = [K] * UE70001 - [DECX] - 5 X[COTE] F100
N..
In the figure:
- point a: point measured on the interrupt
- point b: current position interpolated at the time of the interrupt.
2 mm Penetration on X
a b 5 mm
4 - 186 en-938820/5
ISO Programming
Syntax
4
N.. [G00/G01/G02/G03] X.. Y.. Z.. G79 +/- X.. / F..
Cancellation
Function G79 is cancelled at the end of the block.
en-938820/5 4 - 187
Notes
Example
4 - 188 en-938820/5
ISO Programming
Cancellation
Declaration of a subroutine G75 N.. is cancelled by:
- cancellation function G75 N0,
- function G75 N.. with a different subroutine number,
- end of programme function M02,
- a reset.
Notes
en-938820/5 4 - 189
An emergency retract subroutine can be activated:
- after reading the block in which it is programmed,
- as long as the programme or subroutine in which it is declared is not completed,
- as long as a new emergency retract subroutine has not been declared,
- as long as emergency retract has not been cancelled by G75 N0.
If emergency retract is activated but no emergency retract subroutine has been
declared in the part programme, this instruction has the same effect as pressing the
«ARUS» (cycle stop) key.
Activation of an emergency retraction is sent by the PLC function with the emergency
retraction request «C_DGURG».
In automatic mode, the emergency retraction programme remains active until
encountering a function M00 or M02.
4 - 190 en-938820/5
ISO Programming
Examples
%30
N10
N..
N40 G75 N1000
N..
If emergency retract is activated in this area of the
N.. programme, branch to N1000
N180
4
N190 G75 N2000
N..
N.. If emergency retract is activated in this area of the
programme, branch to N2000
N290
N300 M02
N1000
N.. Emergency retraction subroutine available for
N.. N40 to N180
N1050 M02
N2000
N..
N.. Emergency retraction subroutine available for
N.. N190 to N290
N2080 M00
N2090
N..
Part programme resumption sequences
N..
N2120
en-938820/5 4 - 191
Declaration of emergency retract subroutines from a programme including subroutine
branches
If an emergency retract subroutine is activated during execution of subroutine %4
called by N200 of %2, branch to N300 of %2.
If an emergency retract subroutine is activated during execution of subroutine %4
called by N40 of %3, branch to N200 of %1.
%1 Déclaration de %2 Déclaration de
N10 G75 N200 dégagement N10 G75 N300 dégagement
N.. d'urgence N.. d'urgence
N.. N200 G77 H4
N.. N..
N.. G79 N390
N100 G77 H2 N300 Programme de
N.. N.. dégagement
N150 G77 H3 N.. M02 d'urgence
N.. N390
N180 M02 N..
N200
N.. Programme de
N.. dégagement
N.. d'urgence %3
N.. M02 N10
N..
N40 G77 H4
N..
%4
N10
N..
N..
4 - 192 en-938820/5
ISO Programming
en-938820/5 4 - 193
4.11.9 Subroutine Branch on a Reset
On a reset, the NC groups can execute subroutine %11000.
4 - 194 en-938820/5
ISO Programming
Machining
4
Notes
Use of drip feed mode causes allocation of a buffer space of up to 32,000 characters.
When the space available is less than this value but more than 1 KB, the system takes
all the remaining space.
If the space available is less than 1 KB, drip feed mode is refused and error message
36 is reported.
en-938820/5 4 - 195
4.11.11 Call to Subroutine Return Block
This function allows a subroutine to call and execute the instructions of the return
block of the calling subroutine.
Syntax
N.. G77 - i
Cancellation
Function G77 -i is cancelled at the end of the block.
Notes
If the block called is in the «displayable» programme, it is displayed on the
programme page (PROG) even if the subroutine that called it is not displayable.
It should be noted that:
- if the nesting level requested is not accessible, the system returns error message
26
- the blocks called by G77 -i must not include branches or other calls (G79, G77,
etc.) or the system returns error message 26.
4 - 196 en-938820/5
ISO Programming
Examples
General Example
%1 %10 %100
N.. N.. N..
Specific Example
REMARK For information on the functions used in the example below, refer to
Sections 4.14.17, 6.7 and 7.7 of this manual as well as to the
supplementary programming manual.
%1 %10100
N... ... (processing of the calling block)
N... WHILE [.NOG80] = 100 DO G999 G77 -1
G100 ... ... (processing of the blocks located between G100
... ... and G80 G997 (execution)
... ENDW
G80
...
en-938820/5 4 - 197
4.11.12 ISO Programme or Block Creation/Deletion
4.11.12.1 General
Programming of function G76+/- provides the following capabilities:
- Programme creation
- Programme deletion
- Block insertion in a programme
- Block deletion from a programme.
This function is especially useful for creating part programmes automatically (e.g.
after teach-in by gauging of dimensions).
This function can only be used to create and delete programmes and blocks located
in part programme area zero.
REMARK Before execution of a function G76+ (creation, insertion), the system
makes sure no other programme editor or graphic display is active. If
so, programme execution is suspended as long as these conditions
remain present.
With G76, the programme number can be indexed (e.g. H123.2). This is accepted
providing no other programme in any of the programme areas has the same number.
If there is not enough memory space for programme creation or block insertion, the
system returns error message 266.
If the block including function G76 has a format error, the system returns error
message 1.
Syntax
4 - 198 en-938820/5
ISO Programming
Notes
In programme creation mode, the programme number must be the last word in the
block.
Example
Programme creation in RAM programme area (area zero).
%350
PROGRAMME AREA IN RAM
...
N110
N120 G76+ H123.1
N130 %233 ...
4
... %45 ...
%345 ...
%123.1 ...
Syntax
Notes
The programme number must be the last word in the block.
Several cases can occur, depending on the area where the programme is located:
- If a programme in area zero has the number specified in the function, this
programme is deleted
- If a programme in an area other than area zero has the number specified in the
function, deletion is refused and the system returns error message 266
- If no programme in any area has the number specified with the function, the
command is accepted (but no programme is deleted).
en-938820/5 4 - 199
Example
Programme deletion in RAM programme area (area zero).
%1050
PROGRAMME AREA IN RAM
...
N190
N200 G76- H10.1
N210 %459 ...
... %423 ...
%336 ...
%10.1 ...
Syntax
4 - 200 en-938820/5
ISO Programming
Notes
The following ISO functions are accepted:
- N.. (block number)
- G.. (preparatory functions; several G functions are accepted in the block)
- X.. Y.. Z.. U.. V.. W.. A.. B.. C.. (axes and dimensions)
- I.. J.. K.. (circle centre coordinates)
- P.. Q.. R.. (material vector for 3D radius correction)
- /.. (polynomial coefficients)
- L=.. to L9=.. (programme variables).
The values associated with the above functions are immediate integer or fractional
values, programme variables (L..), symbolic variables [sym] or parameters E. When
they are parameters E, the values are specified in the internal system unit (these data 4
are edited in the programme as immediate values, signed if negative, and in the
internal unit defined for linear or rotary axes).
The block to be inserted must not have more than 120 characters or the system
returns error message 1.
If there is not enough memory space for block insertion, the system returns error
message 266.
If the block to be inserted does not exist, the system returns error message 25.
Example
Block insertion in programme %336 located in the RAM programme area (area zero).
%36
N.. ...
N290 ...
N300 G76+ H336 N100 +2 N125 G01 X50 Z20
N310 ...
...
%336
N.. ...
N100 ...
N110 ... N100 +2
N120 ...
Block insertion
N130 ...
...
en-938820/5 4 - 201
4.11.12.5 Deleting a Block
Syntax
Notes
If the block to be deleted does not exist, the system returns error message 25.
Example
Deletion of a block in programme %567 located in the RAM programme area (area
zero).
%222
N.. ...
N90 ...
N100 G76- H567 N200 +4
N110 ...
...
%567
N.. ...
N.. ...
N200 ...
N210 ... N200 +4
N220 ...
N230 ... Block deletion
N240 ...
...
4 - 202 en-938820/5
ISO Programming
52
Movements programmed with this G
function are referenced to the 4
measurement origin (OM).
All the axes are programmable with
reference to the measurement origin. Point
programmé
Syntax
Cancellation
Function G52 is cancelled at the end of the block.
en-938820/5 4 - 203
Notes
Programming function G52 in a block suspends the following data:
- tool data,
- DAT1,
- DAT2,
- programme origin offset (G59),
- angular offset (ED..),
- scaling factor (G74).
Function G52 must:
- precede programming of the axes in the block,
- be programmed with the system in G40 mode (radius offset cancel) or the system
returns error message 27,
- be programmed in absolute coordinates (G90).
Examples
Programming G52 on the X and Z axes with reference to the measurement zero
point before a tool change
%10
N10 G00 G52 X0 Z0 Measurement
N20 T03 D03 M06 zero point
N.. X
Turret
zero point
N.. ...
N220 G00 G52 Z-50
N230 G52 X-100 C180
N..
4 - 204 en-938820/5
ISO Programming
N..
N.. G00 G52 Z.. W..
N..
en-938820/5 4 - 205
4.12.2 Datum Shift DAT1 and DAT2 Cancel/Enable
Scale E1000/1000
G54 DAT1 and DAT2 enable. .
DAT1 DAT2
These functions are used to enable or X - 100 +0
cancel DAT1 and DAT2 shifts entered Z - 200 + 20
on the SHIFT page. C+0 +0
Syntax
N.. G53/G54
Cancellation
Functions G53 and G54 cancel one another.
Notes
The tool offsets are not affected by function G53.
4 - 206 en-938820/5
ISO Programming
OP0 Z
4
Syntax
! CAUTION
en-938820/5 4 - 207
Programme origin preset function G92:
- applies to all the axes, both carried and independent,
- is rejected if the last movement was programmed with respect to the origin, error
message 2,
- is ignored in test (TEST) and sequence number search (SEARCH) modes,
- suspends analysis of blocks until execution of the previous block is completed,
- cannot be programmed with radius offset; the system must be in state G40,
- cannot be programmed in a PGP (Profile Geometry Programming) sequence.
Example
Value entered for Z DAT1 = -300
Value entered for Z DAT 2 = 20
Tool length L (correction D9) = 80
Programme origin preset G92 Z60
N..
N150 G00 D9 G40 X0 Z40
N160 G92 Z60 Preset
N170 G00 Z..
N..
Analysis of block N150 yields:
- current point/OM Z = -160
4 - 208 en-938820/5
ISO Programming
Cancellation
A programmed offset G59.. is cancelled by:
- programming G59 with axis arguments assigned zero values in absolute dimen-
sions (G90),
- the end of programme function (M02),
- a reset.
en-938820/5 4 - 209
Notes
For simplification and understanding of the programme, it is recommended to be in
state G90 (absolute programming) before programming an origin offset.
Notes on arguments I, K
Machining programmed with reference
to a programme origin (OP) can be Figure 1
translated and oriented according to the
angle programmed with ED (see Sec. ED..
I..
4.12.5). Axis of
K.. rotation
N.. ...
9
G5
X..
4 - 210 en-938820/5
ISO Programming
Examples
X
Measurement
DAT1, DAT2 Z origin
60
30
Z 4
OP2 OP1 OP0
%60
N10
N..
N50
N..
N90
N..
N120 G90 G59 Z-30 Offset 1
N.. G77 N50 N90 Machining
N..
N230 G59 Z-60 Offset 2
N.. G77 N50 N90 Machining
N..
N350 G59 X0 Offset cancelled
N..
en-938820/5 4 - 211
Origin offsets on the Z axis in incremental programming (G91)
X
Measurement
DAT1, DAT2 Z origin
30
30
Z
OP2 OP1 OP0
%70
N10
N..
N50
N..
N90
N..
N120 G91 G59 Z-30 Offset 1
N.. G77 N50 N90 Machining
N..
N230 G59 Z-30 Offset 2
N.. G77 N50 N90 Machining
N..
N350 G91 G59 Z-60 ou G90 G59 X0 Cancellation possible with G90 or G91
N..
4 - 212 en-938820/5
ISO Programming
1 to 45°
ø 24
Hole dia. 20
25
60
4
Machining paths
2
a
c b
e
X d
0.3
0.2
2
OP Z
N.. ...
N80 G00 G52 X.. Z.. G97 S500
N90 T07 D07 M06 (ROUGHING BORING TOOL)
N100 G95 F0.2
N110 S900 M04 M40
N120 G59 X-0.3 Z0.2 Origin offsets
N130 G00 G41 X30 Z62 Point a
N140 G96 S80
N150 G01 X24 Z59 Point b
N160 Z25 Point c
N170 X16 Point d
N180 G00 Z62 Point e
N190 G59 X0 Z0 Offsets cancellede
?@ABCDEFG
en-938820/5 4 - 213
?@ABCDEFG
Use of origin offset on a lathe with two turrets
On lathes equipped with two turrets (front and rear), the tool dimensions of the
secondary turret can be identified with respect to the reference of the master turret
by programming an origin offset.
Rear turret
D5 X . .
D5 Z . .
G59 X +300
G59 Z-50
OP
D1 Z . .
X
D1 X . .
Front turret-master
% 88
$0 MACHINING WITH FRONT MAIN TURRET
N10 G00 G52 X0 Z0
N20 T01 D01 M06 (EXTERNAL TOOL)
N..
N..
N340 G00 G52 X0 Z0
$0 MACHINING WITH REAR TURRET
N350 T05 D05 M06 (INTERNAL TOOL)
N360 G90 G59 X300 Z-50
N..
N500 G59 X0 Z0
N..
4 - 214 en-938820/5
ISO Programming
Syntax
Cancellation
Angular offset ED.. is cancelled by:
- reprogramming function ED with a zero value (ED0) in absolute dimensions
(G90),
- the end of programme function (M02),
- a reset.
Notes
Angular offset ED applies to:
- all the elementary cycles (G81 ...),
- radius offset (G41, G42),
- PGP (Profile Geometry Programming) unless ED.. is programmed between two
blocks that are not completely defined,
- carried or independent secondary axes (U, W).
en-938820/5 4 - 215
4.13 Spline Curve Interpolation
4.13.1 General
Spline curve interpolation is a mathematical curve fitting method. Spline curves are
continuous curves connecting a series of points.
Spline curve interpolation insures continuity of the tangent and a constant acceleration
in each of the points specified on the programmed paths.
Machining of a spline curve is programmed by:
- defining the points on the curve,
- specifying a curve execution order.
A spline curve can be deleted by programming.
4.13.2 Programming
The system allows memory space to be freed by deleting curves that have already
been executed.
A curve is deleted by programming the delete function followed by the number of the
curve to be deleted.
4 - 216 en-938820/5
ISO Programming
Syntax
Cancellation
Function G48 is cancelled at the end of the block.
Notes
On a turning machine whose X (or U) axis is programmed on diameter (see
Parameter Manual: machine parameter P4), programming a spline curve results in
the following requirements:
- the block containing the spline curve definition function (G48 ...) must be preceded
by external parameter E11005=0 (forcing programming on radius, see Sec. 6.2)
- the points in the curve definition (N.. to N..) must be programmed on radius
- when the curve is completed (G06 NC..), programming on radius can be cancelled
by E11005=1 (forcing programming on diameter).
en-938820/5 4 - 217
The first point definition block must include all the axes concerned by spline curve
interpolation. If an axis is not programmed in this block, it is not included in spline
curve interpolation even if it is programmed in the following blocks. In this case, it is
interpolated linearly. It is necessary to programme the same position in this first block
as in the block preceding function G06.
X4
Tangent to the origin
X.. Z..
X.. Z..
X.. Z.. Points on the curve X
0
X.. Z.. Start
X.. Z..
Z
N.. X.. Z.. Tangent to the end point
N..
The number of points defining a spline curve is limited to 255. If this value is
exceeded, the system returns error message 196.
The points in a spline curve must be defined by ISO programming.
A spline curve must be defined by at least three points. If it is defined by less than
three points, the system returns error message 604.
Function G48 must be programmed in state G40, i.e. without radius offset (G41 or
G42). Otherwise, the system returns error message 140.
The following functions can be programmed on the curve definition blocks:
- miscellaneous M functions,
- technological F, S or other functions.
Special characters such as $, (), etc. should not be programmed in the curve definition
blocks.
It is not recommended to programme modulo 360 degree axes with spline curves
(problem of sign and no movement).
A closed curve is not processed automatically unless the tangents to the start and end
points are identical.
4 - 218 en-938820/5
ISO Programming
en-938820/5 4 - 219
4.13.2.2 Spline Curve Execution Command
Syntax
Cancellation
Notes
The following functions cannot be programmed in the block containing function G06
NC..:
- F: feed rate,
- S: spindle speed,
- T: tool change.
The curve execution command G06 forces the polynomial interpolation function (see
Supplementary Programming Manual).
4 - 220 en-938820/5
ISO Programming
Programming of a spline curve defined in the ZX plane with a call to definition blocks
in the main programme.
%70
N10 ...
N..
N..
$0 FINISHING OF THE SPLINE PROFILE
N180 G0 G52 X0 Z0 G97 S900 M05
N190 G79 N220 Jump to block N220 4
N200 X0 Z-1 Tangent to the origin of the curve
G01 X35 Z-10 F0.15
X37 Z-13
X40 Z-25 Points in the curve (c, d, e, f, g)
X35 Z-50
X40 Z-80
N210 No tangent to the end point
N220 T01 D01 M06 (FINISHING TOOL)
N230 S900 M03 M40
E11005=0 Forcing programming on radius
N240 G48 NC1 N200 N210 Spline curve definition
N250 G0 G42 X10 Z5 Point a
N260 G96 S300
N270 G95 F0.3
N280 G02 X15 Z0 I15 K5 Point b
N290 G03 X35 Z-10 R30 Point c
N300 G06 NC1 Curve execution order
N310 G01 G40 X45 Point h
E11005=1 Forcing programming on diameter
N320 G77 N180 N180
N330 M02
en-938820/5 4 - 221
Representation of machining
h
e d
g f
c
Tangent
to the origin
b
X a
OP Z
4 - 222 en-938820/5
ISO Programming
Programming of a spline curve defined in the XZ plane with call to the definition blocks
in a subroutine.
%150
N10
N..
N200 G0 G52 X0 Z0 G97 S500 M05
N210 T03 D03 M06 (FINISHING TOOL)
N220 S2000 M40 M04
E11005=0 Forcing of programming with reference
to the radius
N230 G48 NC1 H151 N10 N130 Curve definition 4
E11005=1 Programming with reference to the
diameter
N240 G0 X30 Z5 Point a
N250 G92 S3000
N260 G96 S250
E11005=0 Forcing of programming with reference
to the radius
N270 G01 G42 X11 G95 F0.3 Point a’
N280 G06 NC1 Execution order
E11005=1 Programming with reference to the
diameter
N290 G01 Z-105 Point l
N300 G40 X30 Point m
N310 G77 N200 N200
N320 M02
%151
N10 X0 Z-1 Tangent to the origin
N20 X11 Z5 F0.1 Curve start
N30 X6 Z-10
N40 X5 Z-20
N50 X12 Z-40
N60 X17 Z-60
N70 X12 Z-80 Points on the curve (a to k)
N80 X8 Z-84
N90 X5 Z-88
N100 X9 Z-91
N110 X11 Z-93
N120 X12 Z-95
N130 X0 Z-1 Tangent to the end point
en-938820/5 4 - 223
Representation of machining
m e Tangent
k f to the origin a
l i d a'
j g b
c
X
h
OP Z
4 - 224 en-938820/5
ISO Programming
This function is used to free the memory space occupied by curves already executed.
Syntax
Cancellation
Function G49 is cancelled at the end of the block.
Notes
Function G49 must be programmed in state G40, i.e. without radius offset (G41 or
G42). Otherwise the system returns error message 140.
Example
Definition and execution of a spline curve followed by deletion of the curve
%300
N10 ...
N.. G79 N200
N110 X.. Z..
N.. Points in curve 1
N..
N150 X.. Z..
N..
N200 G48 NC1 N110 N150 Curve 1 definition
N300 G06 NC1 Curve 1 execution
N..
N..
N450 G49 NC1 Curve 1 deletion
N..
en-938820/5 4 - 225
4.14 Coordinates Systems with C Axis
4.14.1 Programming in Polar Coordinates
Cancellation
Function G20 is cancelled by functions G21 and G22.
4 - 226 en-938820/5
ISO Programming
Notes
Programming of function ER is excluded in G20.
Example
N.. ... 4
N1050 G40 G21 (or G22) ... Machining in cartesian or cylindrical
coordinates
N..
N1220 G40 G20 G01 X.. Z.. Return to initial state
N..
en-938820/5 4 - 227
4.14.2 Definition of the Start X for Interpolation on the C Axis
C-
When the system is in G20 mode, this
function is used to compute the feed rate
on the C axis in mm/min. X
C+
Syntax
Cancellation
Function G98 is cancelled at the end of the block.
Notes
Programming G98 X.. does not cause any movement.
When function G98 X.. is not programmed, the last value declared with the X axis is
used for the computation.
When the C and X axes are interpolated simultaneously, the system performs its
feedrate calculation from the mean radius.
4 - 228 en-938820/5
ISO Programming
Syntax
N.. [G40] G21 [G00/G01] [G41/G42] [X.. Y.. Z..] [G94 F..]
Cancellation
Function G21 is cancelled by function G20.
Notes
Programming
Function G21 cannot be programmed during a canned cycle. The use of a cycle
causes generation of error message 76.
G21 is used for programming the X, Y and Z addresses by linear interpolation (the
Z address is incompatible with circular interpolation G02 and G03).
en-938820/5 4 - 229
Programming a point in G21:
N.. ...
N.. G21 Xa Ya (Y)
N..
Xa
Ya
Offsets
Programming of offsets is allowed:
- G59 X.. Y.. or G59 C..: Programmed origin offset,
- ED..: Programmed angular offset,
- G51..: Mirroring.
4 - 230 en-938820/5
ISO Programming
N.. ...
30°
N.. G59 C30
N..
Spindle
zero
4
Tool corrections
No change of tool corrections are authorised in G21. The corrections must be
programmed and modified in G20.
en-938820/5 4 - 231
Example
20 A/F 8
ø 30
OP X (CO) OP
N..
N200 G00 G40 G52 X.. Z.. M05
N210 T12 D12 M06 (CUTTER D=10)
N220 G97 S1000 M.. $0 AUXILIARY SPINDLE ROTATION
N230 X50 Z2 Tool approach along XZ
N240 G94 F..
N250 G21 G01 G42 X10 Y11.18
N260 G00 Z-8 Pass setting on Z
N270 G01 Y-11.18 Execution of flat 1
N280 G00 X-10
N290 G01 Y11.18 Execution of flat 2
N300 G00 Z3
N310 G40 G20 X100
N320 ...
4 - 232 en-938820/5
ISO Programming
Execution of a shape
10 3
ø 65
5
R
R
5
ol
To
OP 5 X (CO)
4
N..
N200 G00 G40 G52 X.. Z.. M05
N210 T8 D8 M06 (CUTTER D=8)
N220 G97 S1200 M.. $0 AUXILIARY SPINDLE ROTATION
N230 X70 Z2 Tool approach along XZ
N240 G94 F..
N250 G92 R1
N260 G21 G00 G41 X-5 Y35
N270 G00 Z-3 Pass setting on Z
N280 G01 Y5
N290 X5
N300 G03 X5 Y15 R5
N310 G01 Y35
N320 G00 G40 G20 X200
N330 G52 X0 Z0
N340 ...
en-938820/5 4 - 233
4.14.4 Programming in Cylindrical Coordinates
Syntax
N.. [G40] G22 [G00/G01] [G41/G42] [X.. Y.. Z..] [G94 F..]
Cancellation
Function G22 is cancelled by function G20.
Notes
Programming
G22 is used for programming addresses:
- X, Y and Z by interpolation G01
- Y, Z, J and K by interpolations G02 and G03.
4 - 234 en-938820/5
ISO Programming
When the C axis rotates in the positive direction, the Y axis also increases positively.
Position Y0 coincides with position C0 of the C axis.
With G22, canned cycles are not authorised. The use of a canned cycle causes
generation of error message 76.
Programming of a point in G22:
N.. ...
N.. Xa Za
N.. Z
a a
N.. G22 Yb Zb
N..
b b
4
N
o C
Y
Offsets
No offsets are allowed in G22 mode.
In G20 mode, origin offsets G59 are possible:
- Before the call to function G22, the start point on the C axis can be modified,
e.g. N.. G59 C..
- During the programme, the position of the Z axis can be modified, but this
requires a return to state G20, e.g. N.. G59 Z..
en-938820/5 4 - 235
Tool corrections
No changes in the tool corrections are authorised in G22. The corrections must
therefore be programmed and modified in G20.
4 - 236 en-938820/5
ISO Programming
Example
ø 30
b
a
4
X OP Z
OP
30 10
N.. 4
N200 G00 G40 G52 X.. Z.. M05
N210 T08 D08 M06 (CUTTER D=4)
N220 G97 S2500 M.. $0 AUXILIARY SPINDLE ROTATION
N230 X32 Z-10 Point a, tool approach along XZ
N240 C0 C axis in zero point
N240 G94 F50
N250 G01 X28 Cut application in X
N260 G22 Y-10 Z-40 F.. Point b
N270 G20 X32
N280...
REMARK Homing is required on the C axis.
en-938820/5 4 - 237
4.15 Other Functions
4.15.1 Dwell
45 15
30
Syntax
Cancellation
Function G04 is cancelled at the end of the block.
REMARK Function G04 is cancelled before the end of the block when it is
programmed with function G10.
4 - 238 en-938820/5
ISO Programming
Notes
Function G04 F.. does not cancel the feed rates programmed with F in the previous
block(s).
Example:
N.. ...
N50 G01 Xa Za F0.2 Feed rate 0.2 mm/rev
N60 G04 F1.5 Dwell 1.5 seconds
N70 Xb Zb After 1.5 seconds
Machining resumes at
0.2 mm/rev 4
N..
If G04 is programmed at the start of a block containing a move, the dwell will occur
at the end of the block.
Example:
N.. ...
N.. G01 G04 F5 X100 Z100 Dwell after movement
N..
en-938820/5 4 - 239
4.15.2 Programmed Feed Stop
Syntax
Cancellation
The function is cancelled by pressing the CYCLE key on the machine panel.
4 - 240 en-938820/5
ISO Programming
Notes
M12 is ignored by the system unless bit 1 of word 1 of machine parameter P7 is set.
When function M12 enables the axis jogs or handwheel:
- the operator can only make movements in continuous jog mode (J.ILL),
- during axis movements, the system remains in the current execution mode:
automatic (AUTO) or single step (SINGLE).
When the operator cancels the function after any axis movements, the programme
is resumed from the new position (axis recall not required).
Function M12 is ignored in test (TEST) and sequence number search (SEARCH)
modes.
4
Example
N.. ...
N300 G00 Z80 M12 $0 MOVEMENT ON X, THEN CYCLE START
N310 ..
N..
en-938820/5 4 - 241
4.15.3 Feed Enhancement
Syntax
Cancellation
Function G12 is cancelled at the end of the block.
4 - 242 en-938820/5
ISO Programming
Notes
Continuation to the next block is carried out when the programmed position is
reached.
The overspeed coefficient applied by function G12 is defined in parameter P13 (see
Parameter Manual).
Example
N.. ...
N60 G01 G12 X.. Z.. F0.2 $0 ACTUATE THE HANDWHEEL
N..
4
en-938820/5 4 - 243
4.15.4 Programming in Inches or Metric Data
)
This function is used to programme data
( inch
in inches. G70
Syntax
N.. G70/G71
Cancellation
Functions G70 and G71 cancel one another.
Notes
Programming can be changed from inches to metric units and vice versa in machine
parameter P7 (see Parameter Manual).
It should be noted that the choice of the displayed unit (inches or metric units) is made
by the automatic control function (see the C_UNIT variable in the Automatic Control
Function Programming Manual).
4 - 244 en-938820/5
ISO Programming
Addresses Formats
X, Y, Z, U, V, W, I, J, K +044
P, Q, R, ER etc... +044
Inch data input (G70) for programme variable «L» and external parameters «E»
(see Chapter 6)
The programming must be suited to the operations carried out on the dimensions and
external parameters «E» expressed in their own units. 4
Examples
en-938820/5 4 - 245
4.15.5 Axis Clamping and Unclamping
M10 Clamp.
This function is used to clamp those axes with clamps that are not required to move.
M11 Unclamp.
Syntax
Cancellation
Functions M10 and M11 cancel one another.
Notes
The axes recognised as able to be clamped by function M10 are declared in machine
parameter P8 (see Parameter Manual).
When function M10 is programmed, the system generates a timeout followed by a
handshake (CRM) before executing the movements in the next block.
4 - 246 en-938820/5
ISO Programming
4.15.6 Coolant
Syntax
N.. M08/M07
N.. M09
Cancellation
Functions M08 and M07 are cancelled by functions M09 or M02.
Example
N.. ...
N40 G00 X.. Z.. M08 Coolant 1 on
N50 G01 Z.. M07 Coolant 2 on
N..
N230 G00 G52 Z-100 M05 M09 All coolant off
N..
en-938820/5 4 - 247
4.15.7 Programme Stop
Syntax
Cancellation
This function is cancelled by pressing the CYCLE key.
4 - 248 en-938820/5
ISO Programming
Notes
When function M00 is read in a block:
- continuation to the next block is interrupted and spindle rotation is stopped,
- the contents of the field in the status window are modified and the indicator CYCLE
is replaced by M00.
After action or check by the operator, pressing the CYCLE key restarts the pro-
gramme. The indicator M00 is replaced by CYCLE.
M00 must be programmed with the system in G40 mode (radius offset cancel).
Spindle rotation must be reprogrammed after a stop programmed by M00.
Example
N.. ...
N.. G01 G41 X.. Z.. F0.3 M08
N..
N190 G00 G40 Z200 M09 Tool retraction before intervention
N200 M00 $0 REMOVE CHIPS BEFORE Stop and message
FINISHING
N210 G00 G41 X.. Z.. M03 Continuation of the programme
N..
en-938820/5 4 - 249
4.15.8 Optional Stop
Syntax
Cancellation
The function is cancelled by pressing the CYCLE key.
4 - 250 en-938820/5
ISO Programming
Notes
When function M01 is read in a block (M01 confirmed):
- continuation to the next block is interrupted and spindle rotation is stopped,
- the contents of the field in the status window are modified and the indicator CYCLE
is replaced by M00.
After action or check by the operator, pressing the CYCLE key restarts the pro-
gramme. The indicator M01 is replaced by CYCLE.
Function M01 must be programmed with the system in G40 mode (radius offset
cancel).
Spindle rotation must be reprogrammed after a stop programmed by M01.
4
Transfer of function M01 to the PLC
Function M01 is transmitted to the PLC at the end of execution of the block in which
it is programmed, but before waiting for axis group synchronisation if required (G78..)
in a system with multiple axis groups (in this case, stopping of the spindle is taken into
account when synchronisation is completed).
Example
N.. ...
N.. G01 G42 X.. Z.. F0.2 M08
N..
N290 G00 G40 Z200 M09 Tool retraction before intervention
N300 M01 $0 CHECK DIMENSION 50 Stop if M01 is confirmed
EVERY 5 PARTS and message
N310 G00 G42 X.. Z.. M03 Continuation of the programme
N..
en-938820/5 4 - 251
4.15.9 Cancellation of MDI and EDIT modes
M999 Programmed cancellation of the edit (EDIT) and manual data input
(MDI) modes and subroutine calls by the automatic control function.
When this function is programmed, the operator cannot call the EDIT and MDI modes
and the PLC cannot call subroutines.
M998 Reactivation of the edit (EDIT) and manual data input (MDI) modes and
subroutine calls by the automatic control function.
Syntax
N.. M998/M999
Cancellation
Functions M998 and M999 cancel one another (M998 and M999 can also be
cancelled by M997 and M02).
M999 is cancelled by a reset.
4 - 252 en-938820/5
ISO Programming
Notes
Programming M999 allows:
- manual movements (JOG or MANUAL),
- use of enhanced feed by handwheel (G12),
- use of stop on switch (G10).
Programming M999 inhibits:
- switch to sequence number search (SEARCH) mode during execution of a
sequence of blocks «masked» by programming M999 (ignored by the NC),
- action by the PLC or the operator during execution of a sequence of blocks.
Programming M999 allows the use of variables L100 to L199, L900 to L999 and
symbolic variables [...] in the same way as variables L0 to L19 (see Chapters 6 and 7).
4
Writing to these variables or transfering current values into the part programme are
not normally carried out until the end of the previous block (M999 allows anticipated
execution of these operations).
Example
Use of variables L
In programme %1, block N100 is not prepared and executed until block N90 is
completed.
In programme %2, block N100 is prepared before execution of N80 and there is no
stop at the end of block N90.
%1 %2
N.. ... N..
N.. ... N80 M999
N90 X.. Z.. N90 X.. Z..
N100 L110 = 1 + L110 N100 L110 = 1 + L110
N110 XL110 N110 XL110
N120 L120 = L110 + L10 N120 L120 = L110 + L10
N130 ZL120 N130 ZL120
N.. N140 M998
N.. N..
en-938820/5 4 - 253
4.15.10 Forced Block Continuation
Syntax
N.. M997
Cancellation
Modal function M997 is cancelled by functions M998, M999 and M02.
Notes
Use of function M997 with a subroutine call by M function requested in manual data
input (MDI) mode
4 - 254 en-938820/5
ISO Programming
Syntax
N.. M49/M48
Cancellation
Functions M48 and M49 cancel one another.
Notes
Programming M49 causes:
- forcing of a feed rate of 100 percent (with M48, feed rate override possible from
0 to 120% of the value programmed with F),
- forcing of a spindle speed of 100 percent (with M48, spindle speed override
possible from 50 to 100% of the value programmed with S).
Display on the information (INFO) page is not affected by programming M49. The real
percentage corresponding to the potentiometer setting is displayed.
To stop programme execution while the potentiometers are inhibited, press the feed
stop (ARUS) key then the reset (RAZ) key.
en-938820/5 4 - 255
4.15.12 Block Skip
/ Block skip.
Programme
A block preceded by a slash «/» is ignored
when block skip is enabled by the %50
operator. N..
N..
/N . .
/N . .
/N . .
N..
Syntax
Cancellation
By inhibiting block skip.
Notes
Block skip «/» is active when confirmed by the operator (the «/» indicator is displayed
in the status window).
It is only possible to enable block skip «/» when the system has been reset or after
M00 or M01.
4 - 256 en-938820/5
ISO Programming
Examples
Programming of «/»
If block skip is enabled, blocks N300, N310, N320 are ignored and the programme
goes from block N290 to block N330.
N.. ...
N290 ...
/N300 G00 X.. Z..
/N310 Z..
/N320 G01 Y.. Z.. F0.3
N330
N.. 4
Programming of «/» with M01
If block skip is inhibited, the blocks preceded by «/» are read by the system and M01
enabled is active.
N.. ...
N.. D11
/N150 G00 G41 X.. Z..
/N160 Z..
/N170 G01 X.. F0.15
/N180 G00 G40 Z150
/N190 M01 $0 CHECK DIMENSION 20 AND CORRECT D11 IF NECESSARY
N200
N..
en-938820/5 4 - 257
4.15.13 Programmed Acceleration Reduction
This function followed by a value sets the maximum acceleration tolerated on the
programmed movements. This allows the stresses due to movement of heavy loads
to be limited.
Syntax
N.. EG..
Cancellation
Function EG is cancelled by:
- programming a new value (EG..),
- the end of programme function (M02),
- a reset.
Notes
On the information (INFO) page:
- EG1 to EG99 is displayable,
- EG100 is not displayable..
During programmed interpolated movements, the reduced acceleration is always
taken into account by the interpolators except in the case of a feed stop (ARUS) or
activation of the feed safety device.
Acceleration reduction is ignored in the following modes or functions:
- axis jog (JOG),
- homing (HOME),
- action after a programme stop (M12).
Example
N.. ...
N40 EG50 G00 X.. Acceleration reduced to 50% on X
N..
4 - 258 en-938820/5
ISO Programming
This function allows execution of scaled parts from a single programmed part or form.
The scaling ratio can be entered from the keyboard or programmed.
Syntax
4
N.. [G40] G74/G73
Cancellation
Modal functions G73 and G74 cancel one another.
Function G74 is cancelled by the end of programme function (M02).
Notes
Scaling is about the programme origin (OP).
The scaling ratio can be entered from the alphanumeric keyboard or programmed by
external parameter E69000 (see Sec. 6.2).
Functions G73 and G74 must be programmed:
- with the system in G40 mode (radius offset cancel),
- in a block that does not contain any circular interpolation,
- outside a sequence of incompletely defined PGP (Profile geometry Programming)
blocks.
en-938820/5 4 - 259
Scaling affects:
- the values programmed for the primary and secondary axes (X, Y, Z, U, V, W),
- the programme origin offset (G59).
Scaling does not affect:
- the values programmed for the rotary axes (A, B, C),
- the part origin DAT1,
- the shift between the part origin and the program origin (DAT2),
- tool dimensions (X, Z, R),
- programming with reference to the measurement origin (G52),
- the clearance dimension for machining cycles G81 to G89.
Examples
4 - 260 en-938820/5
ISO Programming
Syntax 4
N.. G51 X- (Y-) Z-
Cancellation
Mirroring on the programmed axes is cancelled by:
- function G51 followed by one or more arguments X+, (Y+) or Z+ cancelling the
former state G51,
- the end of programme function (M02),
- a reset.
en-938820/5 4 - 261
Notes
When G51 is programmed:
- it must be programmed with at least one argument (axis and sign),
- it must be programmed alone with its arguments in the block,
- several axes can be enabled or inhibited in the same block,
- the axes to which the mirror function applies are displayable on the information
page (INFO),
- if the mirror function is applied to a carried axis, it is also automatically applied to
the carrier axis.
The mirror function affects:
- the sign of the designated axes. The sign change is carried out with respect to the
programme origin defined by DAT1 and DAT2,
- the origin offsets programmed (G59),
- tool radius offset (G41, G42),
- the direction of rotation with circular interpolation (G02, G03).
The mirror function does not apply to:
- the part origin DAT1,
- the shift between the part origin and the programme origin (DAT2),
- the tool dimensions (X, Z, R),
- programming with respect to the measurement origin (G52).
When the mirror function is enabled on the axis corresponding to the tool orientation
axis, a new orientation must be programmed (G16 ...). Example:
N.. ...
N30 G16 P- Tool axis orientation along X-
N..
N80 G51 X- Mirror on X
N90 G16 P+ Tool axis orientation along X+
N..
4 - 262 en-938820/5
ISO Programming
4
REMARK When the mirror function is applied to a rotary axis, it should be checked
by a test before machining that the axis rotates in the required direction.
Z MIRROR X MIRROR
X+ Y+
G02 G03 G02 G03
OP OP
Z- Z+ X- X+
en-938820/5 4 - 263
4.15.16 Processing of Blocks and Programmed G and M Functions
The blocks programmed after G999 are concatenated. The movements are no longer
made on the axes and functions M, S and T are no longer processed.
G998 Enabling of execution of the blocks and part of the functions processed
in state G999.
The movements and functions processed in state G999 are enabled and executed
with the exception of certain functions which are only stored (decoded M «post»
functions, timeouts and synchronisation functions for multiple axis groups).
G997 Enabling and execution of all the functions stored in state G999.
All the functions programmed (without exception) are enabled and executed,
including those processed in state G999.
Syntax
Cancellation
Functions G999, G998 and G997 cancel one another.
4 - 264 en-938820/5
ISO Programming
Notes
en-938820/5 4 - 265
Example
4 - 266 en-938820/5
ISO Programming
Check of Travels
The travels declared in the machine parameters are relative to the physical axes.
With linear or circular interpolation (system in state G20) it is checked that the path
does not go beyond the soft limits on the X and Z axes.
en-938820/5 4 - 267
Axis Movement
When an axis inclination is entered, the following elements can be defined in
cartesian coordinates:
- linear and circular movements (the system performs the conversion of these
movements for the servo-system)
- machining parameters such as origin offset, machine travels and tool
corrections.
The pivot point of the inclined axis must be referenced to the measurement origin.
Syntax
Cancellation
Function G07 is cancelled at the end of the block.
4 - 268 en-938820/5
ISO Programming
Syntax
Notes
Function G07 must always be programmed before function G05.
For functions G05 and G07, failure to comply with the following programming rules
cause generation of error message 7:
- the functions must be programmed in plane G20,
- the interpolation must be programmed by G00 or G01,
- function G07 must be followed by X and Z,
- function G05 must be followed by X.
en-938820/5 4 - 269
Example
Positioning in Z and X in absolute dimensions (G90) with axis inclined by -20 degrees.
N..
N.. E69001=-200000 Axis inclination by parameter E
N.. G97 S300 M03 M40
N.. G95 F0.1
N..
N.. G00 X60 Z70 Point a, position before the branch to G07
N110 G07 X10 Z25 Definition of the reference point (o)
and positioning in point b on Z
N120 G05 X30 Point c, positioning on X
N130 G01 G05 X20 F0.2 Point o, positioning on X
N..
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
X ,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
N110 ,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
20° ,,,,,,,,,,,,,,,,,,,,,,,,
Xi
0
b a
N12
c
0
N13
4 - 270 en-938820/5
ISO Programming
Example
Positioning in Z and X in absolute dimensions (G90) with wheel inclined by -15
degrees.
N..
N.. E69002=-150000 Wheel inclination by parameter E
N.. G97 S300 M03 M40
N.. G95 F0.1
N..
N100 G00 X50 Z50 Point a, position before the branch to G07
N110 G07 X20 Z25 Definition of the reference point (o)
and positioning in point b on Z
N120 G01 G05 X20 F0.2 Point o, approach along X
N130 G05 X50 Point b, return along X
N140 G07 X5 Z30 Definition of the reference point (o')
and positioning in point c on Z
N150 G05 X10 Point o', approach along X
N160 Z50 Point d, movement along Z
N..
en-938820/5 4 - 271
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
X N110 ,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
b a c
,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,
0
0
N140
N12
N15
0
N13
o
N160
d
o'
4 - 272 en-938820/5
ISO Programming
Programmable axes
The NC can control 32 axes that can be distributed in a maximum of 8 axis groups.
Each group can include up to 9 axes declared in machine parameter P9 by the
machine manufacturer (see parameter manual).
Example: 5-axis lathe, 2 axis groups
Group 1: axes X Z C
Group 2: axes U W
Axes belonging to different groups can have the same address names. In the above
example, axes U and W of group 2 could have been called X and Z.
It should be noted that for correct operation of a lathe with multiple axis groups, the
secondary U and W axes must be declared as carried by the X and Z axes (see
parameter P64 in the Parameter Manual).
Each axis group is enabled by the interface. It is possible to inhibit one or more axis
groups by a switch on the machine panel (see manufacturer’s documentation).
en-938820/5 4 - 273
T Function
A tool number T.. of the programme with index .1 can have the same number as a tool
in other programmes without necessarily corresponding to the same tool. Example:
%10.1 %10.2
N.. ... N.. ...
N.. T05 M06 (DRILL) N.. T05 M06 (TURNING TOOL)
N.. N..
This is not so for programmes with indices .2 to .8, whese the tool numbers used must
be different.
For more details on processing of the T function, refer to the Automatic Control
Function Programming Manual.
Tool corrections
The tool correction table is shared by all the programmes.
On a secondary axis (U and/or W), the tool dimensions can only be taken into account
if the axis is declared carried (see machine parameter P64).
Programme variables
Variables L can be used in each programme.
L0-L19, L100-L199 and L900-L959: these variables can be used differently by each
axis group (no interaction between the programmes).
External Parameters
Parameters E are common to all the programmes (except for parameters E50000,
E51000, E6x000 and E7x000 which must each be used for a single axis group).
4 - 274 en-938820/5
ISO Programming
en-938820/5 4 - 275
4.17.3.3 Subroutine Call by the Automatic Control Function
The automatic control function can call and execute a subroutine with number
%9999.i (i = axis group number).
The call is the same as a subroutine call with a single axis group (see Sec. 4.11.4)
except for the CNC axis group number (i).
Example
With two axis groups (1 and 2), call of two subroutines %255.1 and %255.2 with
different contents by function M55.
P35
N0 55
N1 255
Group 1
M55 %255.1
Group 2
M55 %255.2
4 - 276 en-938820/5
ISO Programming
Independent spindle
An independent spindle is a spindle which is not controlled by any axis group or a
spindle that has been released by the group which controlled it.
The release of a spindle by a group is carried out by function M61 (see Sec. 4.17.5).
Only an independent spindle can be selected by a group for control by that group (see
Sec. 4.17.5).
Spindles not assigned to a group become independent.
Spindle Control
For features corresponding to spindle control (see Sec. 4.3.5).
Spindle Measurement
For features corresponding to spindle measurement (see Sec. 4.3.6).
Reminder
When a lathe is equipped with a milling spindle with indexing performed by the NC:
- the milling spindle is indexed by function EC..,
- the turning spindle is indexed by positioning on the C axis.
en-938820/5 4 - 277
4.17.5 Current Spindle Release by an Axis Group
This function is used to release the current spindle in the group for control by another
group.
Syntax
N.. M61
Cancellation
Function M61 is cancelled by functions M62 to M65.
Notes
After release of the spindle by M61, the spindle can be selected for control by one of
the functions M62 to M65 in the programme of another axis group.
If the spindle to be controlled was not released, the system generates error message
38.
Example
Group 1 programme Group 2 programme
%40.1 %40.2
N.. ... N.. ...
N.. N.. G97 S500 M04 M65 M40
N.. N..
N.. N.. M61 Release of spindle 2
N.. N..
N.. G97 S1000 M03 M41 M65 N..
N.. N..
4 - 278 en-938820/5
ISO Programming
This function is used to manage the synchronisation of steps in the execution of each
programme.
Syntax
Cancellation
Function G78 is cancelled at the end of the block.
Argument Q associated with the function is initialised with zero (Q0) at power on.
Reset of Q.. markers can be programmed by including instruction G78 Q0 in a
programme.
Notes
Function G78 can be followed by several arguments, but at least one is mandatory.
The declaration of a marker and the conditions for continuation of the programme can
be programmed in the same block, e.g.:
N.. G78 Q3 P5.2 P6.3
The choice of the axis group and the related transition conditions can be enabled
selectively by the PLC (see automatic control function programming manual).
en-938820/5 4 - 279
The markers declared in a programme must be numbered in increasing order but not
necessarily in increments of one, e.g.:
N.. ...
N90 G78 Q1 ...
N..
N200 G78 Q6 ...
N..
REMARK A marker is crossed when the tested marker is reached.
Example
4 - 280 en-938820/5
ISO Programming
%63.1 %63.2
N10 N10
N.. N..
N.. N..
N.. N.. G78 Q8 P10.1
N.. G78 Q10 P8.2 G78 Q0
G78 Q0 N..
N.. N..
N.. G79 N10
N..
G79 N10
The end of a programme (M02) cancels the conditions concerning this programme
and is equivalent to inhibiting the programme.
When all the programmes are waiting, the system generates error message 33
(synchronisation impossible). This error is detectable in test mode (TEST) or
sequence number search mode (SEARCH). It is necessary to carry out a reset and
to correct the programme.
en-938820/5 4 - 281
Example
The three programmes are resumed simultaneously when markers Q6, Q4 and Q5
are declared.
4 - 282 en-938820/5
ISO Programming
en-938820/5 4 - 283
Example:
Programme %9998.2 (PLC axis group 2) below contains several functions. The
second programme block defines a jump to the sequence number contained in
parameter E40000.
%9998.2
N1 M.. Wait for start by CRM
G79 NE40000 Jump to the sequence defined
4 - 284 en-938820/5
ISO Programming
Restrictions
The following functions are unavailable:
- optional stop (M01),
- programmed feed stop (M12).
en-938820/5 4 - 285
4.18.3 Editing the Programmes
Programmes can be edited after transferring them to area 0 when the CNC is in edit
(EDIT) mode.
The programme executed is the programme with the same number located in the
area with a number above zero.
If an edited programme or subroutine is stored in an area whose number is below that
of its original area, the edited version is executed the next time this programme or a
part of it is called.
4 - 286 en-938820/5
ISO Programming
en-938820/5 4 - 287
4.19 Message Transmission
The $ character followed by one or two digits sends a message from a part
programme to a recipient.
Message Recipients
The number immediately after the $ character designates the message recipient:
- $0: System display
- $1: PLC function
- $2 or $3 or $4: Distant server
- $5 or $6: Peripheral,
- $9: PC.
The presence of a 1 after recipients $1 to $4 defines a blocking message.
Message
Syntax
$0 [+] MESSAGE
Cancellation
- $0 (without a message)
- End of programme (M02)
- Reset.
4 - 288 en-938820/5
ISO Programming
Notes
The message sent by $0 can be read on the display on the following screen pages:
- Summary of data on the current block (accessed by the «INFO» key)
- Current position coordinates (accessed by the «AXIS» key).
It should be noted that:
- If a message is too long, only the first 39 characters are displayed
- Only one message can be sent at a time
- Sending a new message overrides the previous one
- The 0 after $ is optional.
Examples
The message beginning in block N90 and including an extension is displayed in the
following format:
«PROGRAMME HALT. REMOVE CHIPS»
%30
$0 GROOVE ROUGHING FINISHING Message
N10 ...
N..
N190 G00 Z300 $0 PROGRAMME HALT. Message
$+ REMOVE CHIPS Message extension
N200 M00
N.. $0 Message cancellation
N..
en-938820/5 4 - 289
4.19.2 Transmission to Automatic Control Function or Remote Server or Peripheral or PC
Syntax
Notes
If $1, $2, $3 or $4 is followed by a 1 (i.e. $11, $21, $31 or $41), the message is
«blocking», i.e. the part programme waits for the recipient to acknowledge the
message. If there is not a «1», the message is nonblocking (always the case for
messages sent by $5 or $6).
If the «=» character follows the recipient identifier, the message is a value or a
sequence of values (each value separated from the others by «=»). A value can be
the result of a parametric expression which can include 1 to 6 values. If the «=»
character is not present, the message sent includes all the characters present up to
action on «Enter».
4 - 290 en-938820/5
ISO Programming
Example:
Transmission of a nonblocking message including a sequence of three values to
UNI-TELWAY slave.
$2 = 3 = E70000/1000 = L0*3/L1 Displays the result of the parametric
expression
Transmission of a blocking message including a sequence of two values to PLC
function.
$11 = E51001 = E52001 Values displayed and wait for
acknowledgement
Message acknowledgement 4
The messages with addresses $1 to $4 are sent to the recipient by a UNITE request.
After transmission of a blocking message, the NC goes on wait for an acknowledgement
which must be sent to it by a write request. The NC remains on wait and retransmits
the same message every ten seconds until it receives the request for the axis group
concerned (for further details, see the Automatic Control Function Programming
Manual).
Answer to a message
After sending a message $1 to $4, the NC can wait for an answer as a value that it
inserts in a parametric expression.
Example: L0 = $1 + ...
en-938820/5 4 - 291
Specific Feature of Message Transmission to a PC by $9
$9 is used to send a simple message or a message with wait for an answer from the
PC client application.
Example:
$9 Message ...
$9 =
4 - 292 en-938820/5
ISO Programming
en-938820/5 4 - 293
4.20.2 Servo-Controlled Spindles and Synchronised Spindles
! CAUTION
Spindle servo-control is preserved if the «PRES.PUIS.» signal (A.10C or %W4.4) is set.
Otherwise, «position reference» = «position measurement». When signal «PRES.PUIS.»
goes high again, the spindle speed is built up again according to the ramp.
Spindle Position Servo-Control Request
Position servoing of a spindle is enabled by external parameter E91024 plus the
spindle number, i.e. E91024+X (x = spindle number from 0 to 3).
Example
Spindle position servo-control requests:
- Spindle 0 position servo-control request: E91024 = 1
- Spindle 1 position servo-control request: E91025 = 1
- Spindle 2 position servo-control request: E91026 = 1
- Spindle 3 position servo-control request: E91027 = 1
REMARK To request speed control of a spindle, set E9102x = 0.
4 - 294 en-938820/5
ISO Programming
Example
Request to synchronise slave spindle s = 0 to master spindle m = 2.
Programming: E94124 = 26
Desynchronisation
Synchronisation is disabled by setting programme parameter E94124+s to -1.
en-938820/5 4 - 295
Notes on Spindle Synchronisation
Spindles synchronised
As long as a slave spindle remains synchronised, it cannot be assigned to a group
by programming spindle selection functions M62 to M65 (or error message 38 is
returned).
The synchronisation error (difference between the measured positions in measurement
increments) is read in parameter E95244+s (s = slave spindle) defining the
measurement correction value. If the error is less than the permissible tolerance
(machine parameter P44 and external parameter E9031x in internal units defined by
modulo), the spindle in-position signal is transmitted to the PLC by %413.B and can
be read in the spindle in-position parameter E93524+s (s = slave spindle).
4 - 296 en-938820/5
ISO Programming
Synchronisation Example
Spindle 0 (slave) synchronised with spindle 2 (master).
%..
... 4
WHILE E91124=1 DO M00 $ Homing on spindle 0
ENDW
WHILE E91126=1 DO M00 $ Homing on spindle 2
ENDW
E91024=1 E91026=1 Servo-control of spindles 0 and 2
E91024=500 E91026=500 Apply an integration time constant
M64 M03 (M40) (S..) Select slave spindle and assign
a direction of rotation
M62 M04 M41 S.. EC.. Select master spindle and
start rotation
E94124=26 Symmetric synchronisation request
WHILE E93524=0 DO G04 F0.1 $ WAIT FOR SYNCHRONISATION OF SPINDLE 0
ENDW
E98024=E98024 Freeze slave gain correction
en-938820/5 4 - 297
4 - 298 en-938820/5
Profile Geometry Programming
en-938820/5 5-1
5-2 en-938820/5
Profile Geometry Programming
en-938820/5 5-3
The origin of a geometric entity is the start point of the first element.
The start point is:
- programmed in the previous block, or
- already computed by the system (the first block of an entity can also be the last
block of the previous entity).
Definition of an Entity
A PGP geometric entity is a self-sufficient part of a profile.
5-4 en-938820/5
Profile Geometry Programming
Z
5
EA..
EA+
EA-
X
X or Z
Z
X.. Z..
I.. K..
X
IK
Z
en-938820/5 5-5
R..
R
X
EB+..
EB-..
5-6 en-938820/5
Profile Geometry Programming
ET
ES
E+/E-
E+/E-: Discriminant.
The discriminant is used to dispel the ambiguity when the programming of one or
more blocks leaves a choice between two possible solutions.
When the discriminant determines an element of an entity:
- it must be programmed in the first block of this entity,
- the + sign or - sign specifies the position of a characteristic point of one of the two
solutions with respect to an imaginary line pointing in direction D.
The characteristic points can be:
- the intersection point between two secant elements,
- the point of tangency between two elements,
- the position of the centre of a circle.
The pointing line (D) is:
- the line defined by angle EA.. (if one of the elements of the entity is thus defined),
- the line connecting a known point of the first element to a known point of the last
element of the entity (pointing from the first to the last). This known point is
preferably the centre of a circle programmed by I and J or, lacking such, another
programmed point.
en-938820/5 5-7
Characteristic points located on ∞ E+
the pointing line (D). (D) EA
E-
- E+ defines the point closest to + ∞
X
(plus infinity) on line D.
- E- defines the point closest to - ∞
Z
(minus infinity) on line D.
Characteristic points on either (D) E-
side of the pointing line (D). EA
The discriminant can be combined with address ES (secant element) and address ET
(tangent element). Example:
E+ secant is programmed as ES+ or ES-.
E+ tangent is programmed as ET+ or ET-.
5-8 en-938820/5
Profile Geometry Programming
X or Z X or Z
EA
XZ
X X a
a
Z Z
∞ ∞
G3
(D) G3
(D)
XZ XZ G3
XZ
X a X E+ R
IK R
a E- a
Z Z
N.. G02/G03 X.. Z.. I.. K.. N.. G02/G03 X.. Z.. R.. E+/E-
en-938820/5 5-9
5.1.4.2 Programming of geometric Elements not Completely Defined
FIGURE 1 FIGURE 2
G3
XZ EA
EA
R
EA
IK EA
X X
Z a Z a
FIGURE 3a FIGURE 3b
G3 (D)
(D)
ES+
G3
R R EA
ES- EA XZ
X IK X
IK
a a
Z Z
FIGURE 4a FIGURE 4b
(D) XZ
XZ EA
EA IK a
ES- IK
EA
X X
G2 EA
G2 ES+
Z a Z (D)
5 - 10 en-938820/5
Profile Geometry Programming
FIGURE 6 FIGURE 7
G3 XZ
EA
EA a 5
IK EA
X X R
a G2
Z Z
FIGURE 8a FIGURE 8b
XZ R G2
EA R
G2
(D) (D)
XZ EA
X [ET-] X
a
ET+
Z Z a
en-938820/5 5 - 11
FIGURE 9a (D) FIGURE 9b (D)
ET+
G3 [ET-] G3 R
IK EA
R EA
R
X X
R
a
G2 IK G2 a
Z Z
FIGURE 10 FIGURE 11 XZ
G3
EA
R
ET
IK IK
a
X X
ET
Z a Z G2
5 - 12 en-938820/5
Profile Geometry Programming
XZ
a
X G3 X
IK
IK a
Z Z
XZ IK
G3
5
ET
ET
G3 R G3
G2
X X
a IK a
IK IK
Z Z
en-938820/5 5 - 13
FIGURE 16 FIGURE 17
(D) (D) EA
R
[ET-] XZ
XZ G3 G3
R
X G2 X [ET+] a
a
IK IK
Z Z
FIGURE 19 FIGURE 20
(D) EA (D)
EA
G3
XZ
R
ES+
IK ES-
X X
IK G3
IK G3
Z a Z a
N.. G02/G03 I.. K.. ES+ N.. G02/G03 I.. K.. ES-
N.. G01 EA.. X.. Z.. N.. G01 EA..
N.. G02/G03 I.. K.. R../X.. Z..
5 - 14 en-938820/5
Profile Geometry Programming
FIGURE 21 FIGURE 22
G3 XZ (D)
(D) R G3 EA IK
G3
ES-
IK a
X X IK
IK a
G2
ES+
Z Z
N.. G02/G03 I.. K.. ES- N.. G02/G03 I.. K.. ES+
N.. G02/G03 I.. K.. R../X.. Z.. N.. G02/G03 I.. K..
N.. G01 EA X.. Z..
N.. G02/G03 I.. K.. ES- N.. G02/G03 I.. K.. ES+
N.. G02/G03 I.. K.. N.. G02/G03 I.. K.. ET+
N.. G02/G03 I.. K.. R../X.. Z.. N.. G02/G03 I.. K.. R../X.. Z..
en-938820/5 5 - 15
FIGURE 25 FIGURE 26
XZ
G2 IK IK
(D) EA (D) G3
R
[ET+] [ET+]
a
X X
R R
G3 G2
Z a Z
(D) R
(D)
IK G3 ET-
X a X IK
R a
Z G2 [ET+] Z G2
[ET+] R G2
Z G2 Z
5 - 16 en-938820/5
Profile Geometry Programming
EA
=
XZ
XZ
EB EB
IK EA
X EA X
FILLET: EB+ a
CHAMFER: EB-
Z a Z
en-938820/5 5 - 17
5.1.4.4 Examples of Programming in PGP
Examples
ø 60
ø 40
15
17
R
2
R
ø 20
5 to 45°
3
35 R 10 5 to 45°
50
90
120
Machining paths
2
g
e
f
d c
b
c a
X
OP Z 2
5 - 18 en-938820/5
Profile Geometry Programming
%88
N10 ...
N.. G92 S3000
N..
N90 G00 G52 X0 Z0
N100 T03 D03 M06 (COPYING TOOL R0.4)
N110 G97 S900 M04
N120 G00 G42 X6 Z122 Point a, approach
N130 G96 S220
N140 G95 F0.1
N150 G01 EA135 ES
N160 EA180 X20 Z90 EB-5 Point b
N170 X40 EB3 Point c
N180 EA180 Z80 ES Point d 5
N190 EA195
N200 G02 X60 Z50 R17 EB2 Point e
N210 G01 Z35 Point f
N220 X70 Point g
N230 G00 G40 G52 X0 Z0 G97 S900
...
en-938820/5 5 - 19
In PGP, part profile definition
1 x 45°
R
3
2
R 22°
3
R
ø 30
2
R
30°
10
R
60°
15
ø 60
ø 50
ø 40
ø 20
ø 30
ø 80
20
12 12 8 40
80
Machining paths
q
p o
ø 95
n m
l k
j i
e d
h
c
g f X
b a
OP Z
6
5 - 20 en-938820/5
Profile Geometry Programming
%109
N10 ...
N.. G92 S3000
N..
N110 G00 G52 X0 Z0
N120 T05 D05 M06 (COPYING TOOL R0.4)
N130 G97 S900 M04
N140 G00 G42 X0 Z6 Point a, approach
N150 G92 S3000
N160 G96 S150
N170 G95 F0.08
N180 G02 X0 Z0 I0 K3 Point b
N190 G03 I0 K-10 Point c
N200 G01 X30 Z-15 Point d 5
N210 Z-20 Point e
N220 EA-150 X20 Point f
N230 EA180 ES Point g
N240 EA120 X30 Z-40 Point h
N250 X40 EB1 Point i
N260 EA180 Z-48 EB2 Point j
N270 EA 112 X50 EB1 Point k
N280 Z-60 EB3 Point l
N290 X60 EB-1 Point m
N300 EA180 ES EB2 Point n
N310 EA102.5 X80 Z-72 EB1 Point o
N320 Z-78 Point p
N330 G00 X95 Point q
N340 G40 G52 X0 Z0 G97 S900
N..
en-938820/5 5 - 21
5.2 Profil Function
The PROFIL function is covered in a separate manual titled «PROFIL Function User’s
Manual».
This section reviews how to:
- access PROFIL,
- call a contour created by PROFIL.
Requirements
Basic softkeys displayed. CNC in Auto, Single, Manual mode or no mode selected.
Actions
5 - 22 en-938820/5
Profile Geometry Programming
en-938820/5 5 - 23
5.2.2.2 Calling a Contour from a Machining Cycle
Example
Calling of contour 1 in subroutine %401 from cycle G64.
5 - 24 en-938820/5
Parametric Programming
6 Parametric Programming
en-938820/5 6-1
6.2.10 External E Parameter Programming Syntax 6 - 46
6.2.10.1 Assignment of an External Parameter to an
NC Function 6 - 46
6.2.10.2 Declaration of an External Parameter in the
Programme 6 - 47
6.2.10.3 Test on an External Parameter for a
Conditional Branch 6 - 48
6.2.10.4 Examples of Use of External E Parameters 6 - 49
6.3 Address Equivalences 6 - 54
6.4 Transfer of the Current Values of L Variables and E Parameters into the
Part Programme 6 - 55
6.5 Message Display with Wait for an Operator Response 6 - 57
6.6 Display of Messages with Parametric Value 6 - 59
6.7 Reading the Programme Status Access Symbols 6 - 60
6.7.1 Symbols for Accessing the Data of the
Current or Previous Block 6 - 50
6.7.1.1 Symbols Addressing Boolean Values 6 - 61
6.7.1.2 Symbols Addressing Numerical Values 6 - 62
6.8 General Diagrams of Parametric Programming 6 - 64
6.8.1 Load of a Parametric Expression 6 - 64
6.8.2 Comparison for Conditional Branch 6 - 65
6-2 en-938820/5
Parametric Programming
Parametric programming uses functions that can be assigned to all the NC addresses
in place of numerical values and that can be used as particular functions.
Functions used in parametric programming:
- Programme L variables,
- External E parameters.
- Variables L0 to L19,
-
-
Variables L100 to L199,
Variables L900 to L959.
6
Variables L0 to L19, L100 to L199, L900 to L959 have the same format and use but
cause differences in programming (see Sec. 6.1.11).
6.1.4 Initialisation
The variables are initialised to zero:
- at power on,
- at the end of the programme (M02),
- after a reset.
en-938820/5 6-3
6.1.5 Application
The values assigned to L variables can be:
- integer or decimal numbers (maximum 8 digits plus sign),
- fixed values or values resulting from operations.
6.1.6 Use
L variables can be used:
- to perform operations,
- for increments and decrements,
- for conditional branches (with function G79) after comparison with an expression,
- jointly with programming of external E parameters to make transfers.
Arithmetic Operations
Addition + Multiplication *
Subtraction - Division /
6-4 en-938820/5
Parametric Programming
Arithmetic Functions
Truncation T
Sine (S) and cosine (C) The term following these functions is in degrees.
Truncation Extraction of the integer value of the number following
the symbol.
Arc tangent The result of the operation is in thousandths of a
degree.
REMARK Extraction of the square root of a negative number is impossible.
6
Logic Operations
AND & OR !
AND and OR The operations are performed on values from which the
decimal part is truncated (truncating performed
automatically by the system) and which are expressed
in binary.
en-938820/5 6-5
6.1.8 Comparison Symbols Used with L Variables
Examples
Use of function U
Case of a system with micrometres (µm) as internal unit for linear axes.
Reminder: Programming in inches by G70 or metric system by G71.
U254000 returns the value 254 for G71 (254 mm)
U254000 returns the value 10 for G70 (10 inches).
6-6 en-938820/5
Parametric Programming
Syntax
A L (1 to 3 digits)
A NC function.
+/- Sign.
L Variable used as numerical value.
Example 6
Use of a variable with NC addresses that have different units.
Assignment of variable L5 to addresses X and F.
N..
L5 = 18 Declaration of the value of variable L5
N..
N.. G00 XL5 L5 equals 18 mm with the X address
N..
N80 G94 G01 Z70 FL5 L5 equals a feed rate of 18 mm/min with
the F address
N..
en-938820/5 6-7
6.1.10.2 Declaration of a Variable in the Programme
Syntax
U
R
A
T +
+ C – E (5 digits)
– S L (1 to 3 digits)
Value on
L (1 to 3 digits) = 8 digits
max
+
–
*
/
&
!
Notes
When the result of an operation giving a fractional number is assigned to an L variable,
the system keeps the first eight digits and truncates the following digits (after the
decimal point). When the integer part of the result exceeds eight digits, the system
reports an error.
6-8 en-938820/5
Parametric Programming
Example
Use of the variables with arithmetic operations.
N..
L1 = 5 Declaration of the value of L1
L2 = L1 + 5.3 * 3 * S30 After the operation, L2 takes on the
value 15.45 (sine 30° = 0.5)
L3 = 100 / 3 After the operation, L3 takes on the
value 33.333333 (limitation to eight
digits)
N..
N90 G00 XL2 Z30 The value of L2 (15.45) is assigned to
the X axis
N100 XL3 The value of L3 (truncated to 33.333) is
assigned to the X axis
N..
6
en-938820/5 6-9
6.1.10.3 Test of a Variable for a Conditional Branch
Syntax
U
>= R
<= A
< T +
> + C – E (5 digits)
– S L (1 to 3 digits)
Value on
G79 L (1 to 3 digits) = 8 digits N..
max
+
–
*
/
&
!
Example
Use of a variable with a conditional test on the variable contents.
N..
N50 L1 = 0 Initialisation of the variable with zero
N60 L1 = L1 + 1 Increment of the variable
N..
N..
N200 G79 L1 < 10 N60 Condition: if L1 < 10, jump to N60; else
continue
N210
N..
6 - 10 en-938820/5
Parametric Programming
ø E (L12)
3
ø F (L13)
e
L19 at 45°
c
d a
b 3
X
Z
OP C (L3) B (L2)
A (L1 ) 6
Variable assignment
Dimension A B C D E F Chamf.
Part 1 80 30 30 50 40 30 2
Part 2 85 28 35 48 39 28 1.5
en-938820/5 6 - 11
%18
L1=85 (LENGTH A)
L2=28 (LENGTH B)
L3=35 (LENGTH C)
L11=48 (DIAMETER D)
L12=39 (DIAMETER E)
L13=28 (DIAMETER F)
L19=1.5 (CHAMFER)
N10 G00 G52 X0 Z0
N20 T01 D01 M06 (EXTERNAL TOOL)
N30 G97 S900 M40 M03
N40 G95 F0.2
L4=L1+3 Computation of point Za
N50 G42 XL13 ZL4 Point a
N60 G92 S2000
N70 G96 S160
L5=L1-L2 Computation of point Zb
N80 G01 ZL5 Point b
N90 XL12 EB-L19 Point c
N100 ZL3 Point d
L6=3*2+L11 Computation of point Xe
N110 XL6 Point e
N120 G40 G77 N10 N10 G97 S900 MO5
N130 M02
6 - 12 en-938820/5
Parametric Programming
ø 50
2
4 3 2 Groove 1
L3
L1
X
OP Z
L4 L4 L4 L2
6
%42
L1=54 (START X)
L2=20 (START Z)
L3=40 (GROOVE BOTTOM DIAMETER)
L4=15 (STEP BETWEEN GROOVES)
L10=50 ((CONSTANT SURFACE SPEED) L11=0.1 (FEED RATE))
N10 G00 G52 X0 Z0
N20 G16 P+
N30 T01 D01 M06 (GROOVING TOOL)
N40 G97 S900 M40 M03
N50 XL1 Z-L2 Groove 1 axis position
N60 L5=L5+1 Increment a counter
N70 G92 S2000
N80 G96 SL10
N90 G83 XL3 P4 Q1 G95 FL11 Groove in cycle
N100 G00 G80 G79 L5=4 N130 Condition: if L5=4 go
to block N130
N110 G91 Z-L4 Spacing between two grooves
N120 G90 G79 N60 Branch to execute the next groove
N130 G77 N10 N10 G97 S900 M05
N140 M02
en-938820/5 6 - 13
6.1.11 Notes on Programming Variables L100 to L199 and L900 to L959
6 - 14 en-938820/5
Parametric Programming
en-938820/5 6 - 15
6.2 External E Parameters
6.2.1 Definition
External E parameters are used by the part programme to access information
contained in the PLC or CNC memory.
External parameters are defined by address letter E followed by five digits.
6.2.2 Application
Depending on the external E parameters, the part programme accesses the CNC or
PLC memory for:
- read only,
- read/write.
The value assigned to an external E parameter is always an integer.
6.2.3 Assignment
The assignment of an external parameter to an NC address causes the same units
to be used for the E parameter and the programmed address.
6.2.4 Initialisation
The automatic control function initialises parameters E10000, E20000, E21000,
E30000, E40000, E41000, E41001 and E41002. The other external parameters are
never reset by the system.
6 - 16 en-938820/5
Parametric Programming
6.2.5 Use
The external parameters can be used:
- for operations,
- for increments and decrements,
- for conditional branches with function G79 after comparison with an expression,
- jointly with L variables to make transfers.
en-938820/5 6 - 17
6.2.6 Operations Possible with External E Parameters
Arithmetic Operations
Addition + Multiplication *
Subtraction - Division /
Arithmetic Functions
Sine (S) and cosine (C) The term following these functions is in ten-thousandths
of a degree.
Arc tangent The result of the operation is in thousandths of a
degree.
REMARK Extraction of the square root of a negative number is impossible.
Logic Operations
AND & OR !
6 - 18 en-938820/5
Parametric Programming
Examples
Use of function U
6
Case of a system with micrometres (µm) as internal unit for linear axes.
Reminder: Programming in inches by G70 or metric system by G71.
U254000 returns the value 254 for G71 (254 mm)
U254000 returns the value 10 for G70 (10 inches).
Use of function M
Case of a system with 0.0001 degree as internal unit for rotary axes.
External parameter E78000 defines the reference position of axis 8 (C axis).
Conversion from 0.0001 degree (internal unit) to the programming unit in degrees.
For any position on the C axis, the programming is:
L0=ME78000 then L0=[.IRX(9)]
Variable L0 returns the position on the C axis in degrees.
en-938820/5 6 - 19
6.2.9 List of External E Parameters
E10000 to E10031
E20000 to E20031
E20100 to E20111
Read-only parameters addressing the machine interrupt inputs (IT).
E20104 to E20107: Address the four IT inputs of the first IT_ACIA card
E20108 to E20111: Address the four IT inputs of the second IT_ACIA card
For parameters E20104 to E20111, the absence of an IT_ACIA card generates error
message 13.
E30000 to E30127
6 - 20 en-938820/5
Parametric Programming
E40000 to E40127
E42000 to E42127
E42000 to E42127: List of 128 bytes located in PLC/CNC exchange area (accessed
by the ladder function)
Read-only parameters, except by dynamic operators (operators: 6, 10, 11 and 15).
E110xx
The use of these parameters is reserved for the creation of special machining cycles.
Unless otherwise specified, these parameters are of the read/write type and are used 6
to enable or inhibit geometric transformations and speed overrides.
They have values of 0 or 1 and belong to an axis group.
A «0» inhibits transformation and a «1» enables transformation, i.e. it is carried out
if the function using it is programmed or if it is enabled by default.
Unless otherwise specified, these parameters are set to 1 by a reset.
en-938820/5 6 - 21
E11006: Tool centre programming enabled
A «0» in this parameter forces programming with reference to the tool centre
whatever the orientation defined in the machining parameter.
6 - 22 en-938820/5
Parametric Programming
E31001: Line type for G01, G02 and G03 in graphic mode
Numbers assigned to the parameters:
- 0: Solid line,
- 1: Dotted line,
- 2: Dashed line,
- 3: Combined line,
- 4: No line (stylus raised).
E32000 to E32005
en-938820/5 6 - 23
E32004: Sagittal error
Parameter defining the sagittal error in micrometres. At power on, this value is
initialised with 10 and can be modified by programming. The last value programmed
is saved after a reset.
E49001 to E49128
6 - 24 en-938820/5
Parametric Programming
E21000 to E21255
en-938820/5 6 - 25
When in the TEST mode, the following operations are inhibited:
- stop on switch,
- priority interrupt,
- subroutine call by the automatic control function.
When in the graphic mode, the following operations are ignored:
- write to external parameters,
- subroutine call by M function,
- message transmission to the operator by $0, to the PLC by $1,
- declaration of real-time operations with dynamic operators.
Conditional branches in the part programme can trap the system into an endless loop.
6 - 26 en-938820/5
Parametric Programming
en-938820/5 6 - 27
E79002 to E79004
6 - 28 en-938820/5
Parametric Programming
en-938820/5 6 - 29
E56001 to E56255: Available parameters (H of the table of dynamic corrections).
Read/write parameter used for management of tool wear or other information
(maximum 8 characters).
The values of H can be manipulated by the part programme. For instance, if the
programme contains E56001=E56001+1, the value of H of correction D1 is incremented
by 1 each time the block is read.
The values of H can be entered manually (see operator’s manual).
6 - 30 en-938820/5
Parametric Programming
At power on, after a reset or an M02, these parameters are initialised with the value
90000000 (+ or - according as it is the minimum or maximum).
E72002 E62002
LZ X
Minimum
travels Za
(P17)
Z
To modify these limits, the programme should contain the following:
%28 6
N..
E62002= Za Declaration of the minimum dynamic
travel on Z
N.. ...
REMARK During machining, the system applies the tool corrections to remain
within the limits defined. For instance, for maximum travel, the tool's
cutting edge cannot exceed dimension Za-LZ.
E69000 to E69002
en-938820/5 6 - 31
6.2.9.5 Group Axis Access Parameters
6 - 32 en-938820/5
Parametric Programming
With circular interpolation, this parameter contains the component on axis x of the
vector with length R tangent to the path (applies only to linear axes in the interpolation
plane).
! CAUTION
A new physical axis assigned to a programme axis must be of the same nature as the
previous axis (linear or rotary axis, servo or not, modulo or with limited excursion, etc.).
en-938820/5 6 - 33
E7x006: Axis coupling
Read/write parameters.
Parameters used to create or cancel carrier/carried axis pairs.
These parameters apply to primary or secondary linear axes (programme axis
number between 0 and 5).
The value «0» assigned to the parameter cancels the primary/secondary axis pairing
to which the axis specified belongs and a «1» specifies that the axis is carried.
When the parameter related to one axis is modified, the parameter related to the other
axis of the primary/secondary axis pair is automatically modified.
A reset reconfigures the axis pairs as specified by machine parameter P64.
Example:
E70006 = 0 Axes X and U are independent
E72006 = 1 Axes Z and W are coupled.
6 - 34 en-938820/5
Parametric Programming
en-938820/5 6 - 35
6.2.9.6 Spindle Access Parameters
E79000: Reference position of the spindle whose measurement is used by the group
to which it belongs
Position in ten-thousandths of a degree.
When the position is accessed by dynamic operators, it is expressed as 1/4096
revolution modulo 216.
! CAUTION
When this parameter is programmed by dynamic operators, the sign bit is used by the
system only in state M05. Otherwise, it is forced to insure the direction of rotation
programmed by M03 or M04.
6 - 36 en-938820/5
Parametric Programming
E9030x to E9033x
Read/write parameters where «x» is the spindle number (0 to 3).
The new values set for these parameters are saved until the next NC reset.
E9034x to E9035x 6
Read/write parameters where «x» is the spindle number (0 to 3).
These parameters are used to make sure the difference between the spindle speed
set and the real speed remains within a tolerance interval and also, where required,
to detect nonrotation of the spindle when the speed is below a minimum threshold.
Real E9035x
speed
Tolerance
on Vx
E9034x
Vx Speed setting
en-938820/5 6 - 37
E9034x: Speed threshold below which spindle x is considered stopped
Parameter defining the speed threshold below which the spindle is considered to be
stopped. This parameter is expressed in rpm. It is initialised with 10 at power on and
can be modified by programming. This parameter is also used as tolerance threshold
and detection of the speed reached.
6 - 38 en-938820/5
Parametric Programming
E80000 to E80050
Local read/write data parameters.
E8x000 to E8x999
Local read/write data parameters reserved for the system use.
These parameters are related to the inter-axis calibration (see installation and
commissioning manual).
E9yyxx
Parameters where xx represent the physical address of the axis (0 to 31). 6
An operation on these parameters stops movement at the end of the previous block.
en-938820/5 6 - 39
E911xx: Homing status on an axis
These parameters indicate whether the axis homing procedure has been done.
A «1» indicates that a HOME has not been completed on the axis and a«0» that it has
been completed.
This parameter addresses the axes and spindles, e.g.:
If spindle 1 is measured, programming E91124 = 1 forces a NOT HOMED status for
the spindle. Since homing is automatic on spindles, this makes it possible to reset
the spindle position reference.
6 - 40 en-938820/5
Parametric Programming
E930xx to E936xx
Read-only parameters.
en-938820/5 6 - 41
E940xx and E942xx
Read/write parameters.
E940xx: Assignment of a slave axis (or spindle) to a master axis (or spindle)
These parameters are related to inter-axis calibration (see installation and
commissioning manual).
E941xx: Association of a slave axis (or spindle) with a master axis (or spindle)
The axes must be associated before slaving an axis to a master axis for duplication
or synchronisation (see duplicated and synchronised axes manual).
The associations can be defined by machine parameter P27 (see parameter manual)
or in the part programme, e.g.:
E941xx = m The slave axis is denoted «x» and the master axis «m».
If «m» = -1, the association of slave axis «x» with master axis «m»
is cancelled.
In the current position coordinate page (AXIS) for an axis group, pressing the
continuation «.../..» key calls a new page on which are displayed the slave axes
whose master axes belong to this group. These axes are identified by the symbolic
name of the master axis (X, Y, etc.) followed by their own physical address.
6 - 42 en-938820/5
Parametric Programming
Typical example:
A spindle (@24) can be used as C axis (@4). The spindle and the C axis are driven
by the same motor, with different encoders.
...
(USE AS SPINDLE)
E94224=24
(by precaution, programme:)
E91004=0 (not slaved)
...
...
(USE AS C AXIS)
E94224=04
(by example, programme:)
E91004=1 (C slaved)
E91104=0 (HOMING completed)...
...
E950xx to E952xx
Read-only parameters. 6
E950xx: Axis reference offset
These parameters can only be written by interaxis calibration (see Installation and
Commissioning Manual) or by the dynamic operators (see dynamic operators
manual).
E951xx: Position of the origin switch with respect to the machine origin
This parameter is the image of machine parameter P16.
E960xx to E963xx
Read/write parameters used for duplication or synchronisation (see duplicated and
synchronised axes manual).
en-938820/5 6 - 43
E962xx: synchronised axis
If this parameter is a «1», the axis is synchronised. If it is a «0», it is not.
E970xx to E973xx
Read-only parameter.
E980xx to E983xx
Read-write parameters
6 - 44 en-938820/5
Parametric Programming
en-938820/5 6 - 45
6.2.10 External E Parameter Programming Syntax
The programming syntax for external E parameters is given as Conway diagrams
followed by programming examples.
Syntax
A E (5 digits)
A NC function.
+/- Sign.
E External parameter used as numerical value
Notes
External E parameters have integer values. When they are assigned to a function with
a decimal value, the decimal point is implicit and depends on the format of the
function.
When the value of the parameter is not compatible with the format of the function (too
many digits, etc.), the system reports an error.
Example
Use of an external parameter with NC addresses in different units.
Assignment of external parameter E80000 to addresses X and C.
N..
E80000 = 18000 Declaration of the value of the
parameter
G00 XE80000 The value of E80000 is equivalent to
18 millimetres (internal unit = µm)
G00 CE80000 The value of E80000 is equivalent to
1.8 degrees (format C034, i.e.
ten-thousandths of a degree)
It should be noted that if the feed rate F is programmed as FE80000 (example), the
feed rate F takes on the integer value declared in parameter E (in this case, the
decimal digits are excluded with F).
6 - 46 en-938820/5
Parametric Programming
Syntax
U
R
A
T +
+ C – E (5 digits)
– S L (1 to 3 digits)
Value on
E (5 digits) = 8 digits
max
+
–
6
*
/
&
!
Notes
When an operation result that is not an integer is assigned to an external parameter,
the decimal digits are truncated. To keep a result with decimal digits, this result must
be assigned to a variable L (see Sec. 6.1.10.2).
Example
Use of external parameters with arithmetic operations.
N..
E80002 = 3150 Declaration of the value of E80002
E80016 = 2400 Declaration of the value of E80016
E80005 = E80002 / E80016 After the operation, E80005 takes on
the value 1 (truncation)
L1 = E80002 / E80016 After the operation, L1 takes on the
value 1.3125
N..
en-938820/5 6 - 47
6.2.10.3 Test on an External Parameter for a Conditional Branch
Syntax
U
R
>= A
<= T +
< + C – E (5 digits)
> – S L (1 to 3 digits)
Value on
G79 E (5 digits) = 8 digits N..
max
+
–
*
/
&
!
N.. ...
N50 E56003 = E56003+1 Increment of the parameter
G79 E56003 = > 10 N50 Condition: if E56003 ≥ 10, branch to
N50, else continue
N..
6 - 48 en-938820/5
Parametric Programming
Examples
Use of the external parameters related to the choice of lines for graphic display
(E31000 and E31001)
Drawing of paths using different types of lines.
%15
N10 E31000=4 G00 X200 Z200
N20 X50 Z150 Point a, no trace (stylus raised)
N30 E31001=0 G01 Z125 ES+ EB10 Point b, solid line
N40 G03 X110 Z90 I75 K90 R35 ET Point c
N50 E31001=1 G01 EA180 Z20 Point d, dotted line
N60 E31001=2 G00 X200 Z200 Point e, dashed line
N70 ...
e 6
X200
d c
X
b a
Z
200
en-938820/5 6 - 49
Use of external parameters related to DAT1 (E6x000), tool correction (E50xxx,
E51xxx, E52xxx, E55xxx) and the standard NC parameter E80000.
Execution of one of the three types of parts proposed by the programme. The part
number is selected by the operator following the message in block N10 (see Sec. 6.7).
ø E (L12)
ø D (L11)
1
,
d c
,,
1
9
b a
L1 1
R
X
OP B (L2)
A (L1)
Assignment of variables
Code A B C D E Radius
Part 1 70 25 30 40 50 4
Part 2 65 30 25 38 48 3
Part 3 60 35 20 36 46 2
6 - 50 en-938820/5
Parametric Programming
Main Programme
%100
E60000=-240000 (DAT1 ON X)
E62000=-458678 (DAT1 ON Z)
E50003=78500 (DIMENSION X) E51003=53470 (DIMENSION Z)
E52003=800 (RADIUS 0.8) E55003=1 (ORIENTATION C1)
N10 $0 ENTER PART NUMBER (1, 2 OR 3)
E80000=$0
N20 G79 E80000=1 N50
N30 G79 E80000=2 N70
N40 G79 E80000=3 N90
G79 N10 Return to N10 if 1, 2 or 3 not selected
N50 L1=70 L2=25 L10=30 L11=40 L12=50 L19=4 $PART 1
N60 G79 N100
N70 L1=65 L2=30 L10=25 L11=38 L12=48 L19=3 $PART 2
N80 G79 N100
N90 L1=60 L2=35 L10=20 L11=36 L12=46 L19=2 $PART 3
N100 G77 H101
6
N120 M02
Subroutine
%101
N10 G00 G52 X-50 Z-100
L0=E52003/1000
N20 T03 D03 M06 (EXTERNAL TOOL R0.8)
N30 S900 M40 M04
L3=-L0+1*2+L10 (Xa) L13=L1+L0+1 (Za)
N40 G42 XL3 ZL13 Point a
N50 G92 S3500
N60 G96 S250
N70 G95 F0.2
N80 G01 ZL1 Point b
N90 XL11 EBL19 Point c
N100 ZL2 Point d
L4=L0+1*2+L12 (Xe)
N110 XL4 Point e
N120 G00 G40 G52 X0 Z0 G97 S900 M05
en-938820/5 6 - 51
Use of the external parameters related to the machine axes (E90xxx and E93xxx)
Automatic HOME locating program on two axes: X (axis 0), Z (axis 1), zero ORPOM.
The programme below is given for reference and must be adapted to the features of
the particular machine.
For use of the axis address equivalence table (see Sec. 6.3).
%9990
G79 N100 Branch to N100
N10
L1=90000+L0 E900xx: measurement of the axis
L2=91000+L0 E910xx: slave axis
L3=92000+L0 E920xx: origin switch enable
L4=93000+L0 E930xx: state of the origin switch
L6=91100+0 Homing status
EL6=1 Homing not performed
EL2=0 EL1=-1000 EL2=1 L5=EL1/1000 Initialisation of the measurement with -1
N20 G79 EL4=0 N30 Branch to N30 if the axis is not on the
switch
G52 G00 L5=L5-1 @XL5 G79 N20 Back off the switch by 1 mm, sign
depending on the HOME direction
N30 EL6=1 EL2=0 EL1=-50000000 EL3=1 EL2=1 Measurement initialisation at 50 m, sign
depending on the HOME direction
G01 G52 @X0 G10 @L0>0 N40 Movement to the measurement origin
until reaching a value of zero (if
ORPOM is non-zero , take this into
account in the comparison)
N40
N100 G94 F1000
@X=X L0=0 G77 N10 N40 Definition of address
@X=Z L0=1 G77 N10 N40 equivalences:
@X: axis name, L0: axis number
N110 M02
6 - 52 en-938820/5
Parametric Programming
Use of the external parameters related to the current mode numbers (E41000) and
machine axes (E90xxx to E93xxx and E911xx)
The programme below is given for reference and must be adapted to the features of
the particular machine.
Automatic HOME locating programme for the C axis (physical address 3), zero
ORPOM.
%1000
N10 S100 M03 M40
N20 M997
N30 G79 E41000=4 N140 =4: Rapid mode
N40 G79 E41000=6 N140 =6: Test mode
N50 G04 F1
N60 M.. Encoded M functions defined by the
machine manufacturer
N70 G04 F1
N80 M64 M05
N90 E91103=1 Homing not performed
6
N100 E91003=0 E92003=1
E910xx: Axis non-servo
E90003=990000 E91003=1 E920xx: Enable HOME switch
E900xx: Overwrite axis pos'n
E910xx: Axis servo
N110 L5=E90003/10000 +180 E900xx: Read back pos'n + 180
N120 G94 F200
N130 G01 G52 CL5 G10 @3<50 N150 Movement to HOME (if ORPOM was
non-zero, take it into account in the
comparison)
N140 G79 N100
N150
%1001
N10 M997
N20 G79 E41000=4 N50
N30 G79 E41000=6 N50
N40 M.. Encoded M function defined by the
machine manufacturer
N50 M998
en-938820/5 6 - 53
6.3 Address Equivalences
This table is used to specify the
equivalence between two axes. For
instance, it allows a programme to be ADDRESS EQUIVALENCE
A A
" "
@ =
" "
Z Z
The assignment of a value to an equivalent function is programmed by:
A
"
@ followed by the value
"
Z
Example :
@ X = 300 @ X = 300 is equal to U 300
The address equivalence table is reset at power on, by a reset or by M02 (@A = A,
@ B = B, ..., @ Z = Z).
A A
" "
The declaration of a new equivalent address ( @ = ) suspends
" "
Z Z
preparation of the block in which it is programmed until execution of the previous block
is completed.
The address equivalence table is displayed by pressing the «Programme variable»
key L/@ (see example in Sec. 6.2).
6 - 54 en-938820/5
Parametric Programming
6.4 Transfer of the Current Values of L Variables and E Parameters into the
Part Programme
G76 Transfer of the current values of L variables and E parameters into the
specified programme or programme section.
This function is used to update the contents of a file called by addresses H.. and/or
N.. N..
The file of L variables and E parameters is updated with the new contents of the
corresponding active data.
Syntax
Notes
The parameters to be transferred must be located at the beginning of blocks:
L variables and E parameters located after another function in a block are ignored.
The specification of an L variable or E parameter must be followed by the sign «=»
and at least ten characters (spaces, algebraic sign, numbers, decimal point)
designed to be replaced by a new value.
Failure to comply with this rule returns error message 97.
en-938820/5 6 - 55
Examples
%200
N10 ...
N..
N50
L1=.......... E52002=..........
E80004=..........
N80
N..
6 - 56 en-938820/5
Parametric Programming
Syntax
Cancellation
- end of programme (M02),
- reset.
Notes on Operation 6
Upon reading the «$» character associated with a variable (possibly accompanied by
a message with a maximum of 39 characters), the system stops the programme and
waits for the operator to type an entry.
The characters typed are echoed on the message line of one of the following pages:
- Information page (INFO.)
- Current position with respect to OP page (AXIS)
- Trace during machining page (TRACE DURING MACHINING).
The entry can be numerical characters or one alphabetic character. Each type of
entry corresponds to a specific use.
en-938820/5 6 - 57
Numerical entry
The number of digits entered must not exceed eight plus sign and decimal point.
The limit values are as follows:
- Integer: < 99999999 or < -99999999
- Positive decimal: < 0.0000001 or < 9999999.9
- Negative decimal: < -9999999.9 or < -0.0000001.
The operator must confirm the entry by pressing the Enter key on the keyboard
(otherwise the system does not proceed to the next block).
REMARK Before pressing Enter, the characters entered can be deleted by the
Delete key.
Alphabetic entry
Only the first character entered is analysed.
Any capital letter from A to Z is accepted. Each letter returns a value:
A returns 1
B returns 2
and so forth to Z = 26.
REMARK The first character entered is analysed by the system which automatically
proceeds to the next blocks (it is not necessary to confirm the entry by
Enter).
It should be noted that in a test programme, each numerical value from 1 to 26
corresponds to alphabetic characters A to Z.
Example
N.. ...
N50 E80000=50
$0 ENTER THE VALUE OF X = Display of the message for the operator
N60 L0=E80000 + $ Wait for entry of the value
N..
6 - 58 en-938820/5
Parametric Programming
Syntax
$ = expression
Cancellation
- end of programme (M02),
- reset.
Notes 6
An expression «$=...» in a block after the branch function (G79) cannot be used as
a branch condition.
Example
N..
L0=0 Initialisation of variable L0
N90 L0=LO+1 Increment of L0
$0 EXECUTION OF SUBROUTINE % Display of the first part of the message
$= L0 Display of the value following the
previous message
G77 HL0 Call to subroutine %(L0)
G79 L0<5 N90 Condition: if L0 < 5, branch to block
N90, else continue
N..
en-938820/5 6 - 59
6.7 Reading the Programme Status Access Symbols
The programme status access symbols allow all modal functions to be read. They
can be used to save the programme context when a subroutine is called. The context
can then be restored when execution of the subroutine is finished.
The same data are accessible in the previous block as in the current block. The
symbols are the same, but are preceded by two dots (instead of only one).
The only reason for accessing the data in the previous block is when execution of the
current block is suspended by programming of function G999. The data are those of
the last executable block (or possible the last block already executed).
6.7.1 Symbols for Accessing the Data of the Current or Previous Block
General Syntax
6 - 60 en-938820/5
Parametric Programming
Addressing G Functions
The symbol [•BGxx] is used to determine whether the G functions specified by xx are
enabled or inhibited, e.g.:
[•BGxx]=0: function Gxx inhibited
[•BGxx]=1: function Gxx enabled
List of G Functions
[•BG00]
[•BG20]
[•BG01]
[•BG21]
[•BG02]
[•BG22]
[•BG03]
[•BG29]
[•BG17]
[•BG40]
[•BG18]
[•BG41]
[•BG19]
[•BG42]
6
[•BG43] [•BG70] [•BG71] [•BG80] [•BG81] [•BG82] [•BG83]
[•BG84] [•BG85] [•BG86] [•BG87] [•BG88] [•BG89] [•BG90]
[•BG91] [•BG93] [•BG94] [•BG95] [•BG96] [•BG97]
Addressing M Functions
The symbol [•BMxx] is used to determine whether the M functions specified by xx are
enabled or inhibited, e.g.:
[•BMxx]=0: function Mxx inhibited
[•BMxx]=1: function Mxx enabled
List of M Functions
[•BM03] [•BM04] [•BM05] [•BM07] [•BM08] [•BM09] [•BM10] [•BM11]
[•BM19] [•BM40] [•BM41] [•BM42] [•BM43] [•BM44] [•BM45] [•BM48]
[•BM49] [•BM64] [•BM65] [•BM66] [•BM67] [•BM997] [•BM998] [•BM999]
en-938820/5 6 - 61
6.7.1.2 Symbols Addressing Numerical Values
The symbols addressing numerical values are used to read the modal data of the
current block or the previous block.
Addressing a Value
The symbol [•Rxx] is used to address a value corresponding to the elements specified
by xx.
[•RF] Feed rate (units as programmed by G93, G94 or G95).
[•RS] Spindle speed (G97: format according the spindle
characteristics declared in machine parameter P7).
[•RT] Tool number.
[•RD] Tool correction number.
[•RN] Number of the last sequence (block) encountered.
If the block number is not specified, the last numbered
block is analysed.
[•RED] Angular offset.
[•REC] Spindle orientation (milling).
[•RG4] Programmed dwell (G04 F..).
This function, although nonmodal, may remain stored.
Its value can therefore be read if the system is in state
G999 of G998.
[•RG80] Number of the G function branching to the subroutine.
In a subroutine called by a G function, the number of the
calling function is addressed by [•RG80]; in state G80,
its value is zero.
[•RNC] Value of NC (spline curve number).
[•RDX] Tool axis orientation.
Defined by the following signs and values:
= +1 for G16 P+ or -1 for G16 P-
= +2 for G16 Q+ or -2 for G16 Q-
= +3 for G16 R+ or -3 for G16 R-
[•RXH] Nesting level of the current subroutine (up to 8 levels).
= 1: main programme
= 2: first nesting level
= 3: second nesting level, etc.
6 - 62 en-938820/5
Parametric Programming
Example
%100
N10 G00 G52 X0 Z0 G71
N..
N40 G97 S1000 M03 M41
N50 M60 G77 H9000 Tool check subroutine call
N..
N350 M02
%9000
VAR
[GPLANE] [MRANGE] [MDRN] [GINCH] [GABS] Symbolic variables (see Chapter 7)
[XRETURN] [YRETURN] [ZRETURN]
ENDV
$ CONTEXT SAVE
N10 [GPLANE]=20*[•BG20]
[GPLANE]=21*[•BG21]+[GPLANE]
[GPLANE]=22*[•BG22]+[GPLANE]
Interpolation plane
6
N20 [MRANGE]=40*[•BM40] Speed range
[MRANGE]=41*[•BM41]+[MRANGE]
N30 [MDRN]=03*[•BM03]
[MDRN]=04*[•BM04]+[MDRN] Direction of rotation
[MDRN]=05*[•BM05]+[MDRN]
N40 [GINCH]=70*[•BG70] Inches
[GINCH]=71*[•BG71]+[GINCH]
N50 [GABS]=90*[•BG90] Absolute
[GABS]=91*[•BG91]+[GABS]
[XRETURN]=E70000
[ZRETURN]=E72000
N60 G90 G70 G00 G52 Z0
N70 G52 X-100 Z-100 M05 Tool check position
N80 G52 G10 Z-500
N90 G52 Z0
N100 G52 Z [ZRETURN] Return to Z position
N110 G52 X [XRETURN]
G[GPLANE] M[MRANGE]
M[MDRN] G[GINCH] G[GABS] Restore context
en-938820/5 6 - 63
6.8 General Diagrams of Parametric Programming
The following symbols are used in the diagrams below:
[•symbol] or [••symbol]: Programme status access symbols
[symb]: Symbolic variables
These programming tools are defined in this programming manual (Sections 6.7 and
7.3) and the supplementary programming manual (Chapter 2).
Syntax
U
R $
A .
[ symbol]
$ T + [symb]
[symb] + C – E..
E.. – S L..
L.. = number
+
–
*
/
&
!
6 - 64 en-938820/5
Parametric Programming
Syntax
U
A $
T .
[ symbol]
.R … +
R [symb]
.B
[symb] < + S – E..
E… > – C L..
G79 L… = number N…
+
–
6
*
/
&
!
en-938820/5 6 - 65
In practice, for incrementation with fractions, always make the test on a lower value
consistent with the incrementation.
Example:
For 0.6, with 10 iterations, test on 5.9
For 0.1, with 10 iterations, test on 0.96
For 0.01, with 10 iterations, test on 0.096.
6 - 66 en-938820/5
Programme Stack - L Variables and Symbolic Variables
en-938820/5 7-1
7-2 en-938820/5
Programme Stack - L Variables and Symbolic Variables
en-938820/5 7-3
7.2 Saving and Restoring L Variables
7.2.1 PUSH Function
Syntax
PUSH Lm - Ln
Notes
The PUSH function must be the first word in a block (no sequence number).
Saving variables spanning different ranges of numbers by one PUSH is prohibited,
e.g.:
Saving the values of L1-L19 and L100-L110
Right:
PUSH L1 - L19 Saves the values of L1 to L19
PUSH L100 - L110 Saves the values of L100 to L110
Wrong:
PUSH L1 - L110
7-4 en-938820/5
Programme Stack - L Variables and Symbolic Variables
Syntax
PULL Lm - Ln
Notes
The PULL function must be the first word in a block (no sequence number).
The PULL function:
- does not delete the values from the stack,
- allows variables saved by a PUSH to be restored several times by PULL,
- can cause a stack overflow after a series of PUSH-PULL operations (in this case, 7
the system returns error message 195).
en-938820/5 7-5
Example
Restore by PULL of the values of Lm to Ln saved by the last PUSH on the same set
of variables.
%1 %1
" " Stack
L0-L10
L0 = 1 Stack L0 = 1
" " L0
L0-L10 L1
"
L0
PUSH L0-L10 L1 PUSH L0-L10 "
L10
"
" " " L0-L11
L10
L0 = 2 L0 = 2 L0
" Overwrites " L1
the old set with "
PUSH L0-L10 the same name
PUSH L0-L11 "
L11
" "
PULL L0-L10 Restore of PULL L0-L11 L0 = 2
" the last PUSH "
L0 = 2 in
PULL L0-L10 both cases
PULL L0-L10 L0 = 1
A PULL from Lm to Ln restores only the variables saved in the main programme or
current subroutine or those from lower nesting levels (to be valid, a PULL must always
be preceded by a PUSH).
%1 %2
" "
PUSH L0-L10 PULL L0-L10
" "
Stack
G77 H2 L0-L10
G77 N1 N2
" L0
"
" PULL L10-L12
" Prohibited:
" "
L10 The PUSH set
N1 is lost on
" returning from N2
PUSH L10-L12
"
N2
7-6 en-938820/5
Programme Stack - L Variables and Symbolic Variables
Syntax
VAR [symb]
ENDV
7
VAR Symbolic variable declaration.
[symb] Symbolic variables with up to 8 alphanumeric
characters, the first of which is always alphabetic.
ENDV End of symbolic variable declaration.
en-938820/5 7-7
Notes
Functions VAR and ENDV must be the first words in the block (no sequence number).
VAR must be separated from the symbolic variable(s) by a space.
It should be noted that spaces are recognised as characters when writing a symbolic
variable. If a variable name includes a space, the space must always be included in
the name entered. Otherwise, the system returns error message 198.
ENDV must be the only word in the block.
Example:
VAR [INDEX] [RD12]
[PHASE2]
ENDV only word in the block
VAR
[symb1]=80000 Parameter E number
[symb2]=0 Variable L number
ENDV
...
...
... XE[symb1] X axis programming (XE80000)
... BL[symb2] B axis programming (BL0)
7-8 en-938820/5
Programme Stack - L Variables and Symbolic Variables
Example
en-938820/5 7-9
N80 X0 G95 F [FDRATE]
[SIN] = [MAJ RAD] * S [STRTANG]
[COS] = [MIN RAD] * C [STRTANG]
X [SIN] Z [COS]
[STRTANG] = [STRTANG] + [PITCH]
G79 [STRTANG] = < [ENDANG] N80 + 1
N90 G1 X- [CLEAR]
N100 Z-L1
N110 G0 G40 XL1
N120 G52 X0 Z0 G97 S900 M05
N130 M02
Representation of machining
[MAJ RAD]
[CLEAR]
[MIN RAD]
(by radius)
L1
[X DAT]
OP Z
7 - 10 en-938820/5
Programme Stack - L Variables and Symbolic Variables
VAR H.. N.. N.. Acquisition of variables from the stack of another axis group.
Function VAR H.. N.. N.. is used to read the symbolic variables declared in another
programme from the stack of another axis group.
Syntax
Notes
When a variable acquired by VAR N.. N.. has the same name as a variable already
declared in the current programme or subroutine, the current one's value is overwritten.
en-938820/5 7 - 11
Details on Area Number :s
An independent axis group (PLC group) whose programme is located in a protected
memory area (area 1, 2 or 3) can read variables located in area 0 if the NC is not in
an edit mode. Otherwise, execution of the independent axis group programme is
suspended until the NC leaves the edit mode.
If :s is not specified, the programme is searched for:
- from area 0 to area 3 for the NC groups,
- from area 1 to area 3 for the independent groups.
Start of :s Bloc
block continuation
VAR H..
N..
+i N..
+j
Example
%1 %2
N10 ... N10
N.. N..
VAR H2 N50 N60 L0=[I] L1=[T(1,3)] VAR
N.. N50 [I] = 3 [J] =4
[T(2,3)] = 3 , 4
=5, 6
N60 =7, 8
ENDV
7 - 12 en-938820/5
Programme Stack - L Variables and Symbolic Variables
Syntaxe
DELETE * [symb1]/[symb2]…
en-938820/5 7 - 13
Notes
The DELETE function:
- must be the first word in the block (no sequence number),
- must be followed by at least one space but there must be no spaces in the list of
variables,
- is followed by the list of variables and arrays to be deleted; the variables are
separated by the character /.
Only the first four letters of the keywords are significant for the system. For instance,
DELE is equivalent to DELETE.
Example
DELE [IX]/[TAB1]/[PROF1] Deletion of variables
DELE * [IZ]/[TAB3]/[PROF2] Deletion of variables from the stack
7 - 14 en-938820/5
Programming of Error Numbers and Messages
en-938820/5 8-1
8-2 en-938820/5
Programming of Error Numbers and Messages
8.1 General
Error numbers can be included for analysis in the programmes and subroutines.
The error numbers can be accompanied by a message.
The errors detected by the programmes are processed and displayed in the same
way as the errors detected by the NC software.
en-938820/5 8-3
Programme of messages 9900 to 9999
%29900 $ ... (ERRORS 9900 TO 9999)
N9900 $ ...
N..
N..
N..
N..
N9999 $ ...
REMARKS When the blocks following an error number are unnumbered, they may
provide additional information to the message displayed. In case of an
error, these blocks are not displayed (the list of errors can be consulted).
When an error created has the same number as a standard NUM error,
the error created takes precedence.
Example
Programming with error numbers and messages
8-4 en-938820/5
Programming of Error Numbers and Messages
Part programme
%123
N10 ...
N..
N150 G108 Cycle calling a subroutine
N..
N.. M02
Subroutine
%10108
N..
N..
G79 L0=0 N300 Test for error 501, jump to block N300 if
the condition is not satisfied and display
the message
N..
N..
IF E10002=1 AND E10020= 0 THEN E.540 Test for error 540
ENDI
N..
N300 E.501 Error 501
N..
8
en-938820/5 8-5
8-6 en-938820/5
Function Summary Tables
en-938820/5 A-1
A-2 en-938820/5
Function Summary Tables
Syntax:
N.. [G90/G91] G00 [R+/R-] X.. Z..
X
Cancellation:
G01/G02/G03/G33. Z
Syntax:
N.. [G90/G91] G01 [R+/-] X.. Z.. [F..]
X
Cancellation:
G00/G02/G03/G33. Z
G02: Clockwise circular interpolation at programmed feed rate (see Sec. 4.5.2)
Syntax: I-K
N.. [G90/G91] G02 X.. Z.. I.. K.. / R.. [F..]
R
Cancellation:
G00/G01/G03/G33. X
A
Z
G03: Counterclockwise circular interpolation at programmed feed rate (see Sec. 4.5.2)
Syntax:
N.. [G90/G91] G03 X.. Z.. I.. K.. / R.. [F..]
R
Cancellation:
G00/G01/G02/G33. I-K
X
en-938820/5 A-3
G04: Programmable dwell (see Sec. 4.15.1)
Syntax: 60
N.. G04 F..
45 15
Cancellation: 30
End of block.
Syntax:
N.. [G90/G91] [G00/G01] G05 X..
Cancellation:
End of block.
Syntax:
N.. G06 NC..
Cancellation:
End of block.
G07: Initial tool positioning before machining along an inclined axis (see Sec. 4.16.2)
Syntax:
N.. [G90] [G00/G01] G07 X.. Z..
Cancellation:
End of block.
G09: Deceleration at end of block before continuation on next block (see Sec. 4.6)
With G09
Syntax:
N.. G09 [G00/G01/G02/G03] X.. Z.. [F..]
εp
Cancellation:
End of block.
Without G09
A-4 en-938820/5
Function Summary Tables
Syntax:
N.. [G40] [G04 F..] [G00/G01/G02/G03] X.. Z.. G10 [:n] [+X.. or F..] [@n < >Value] N.. [+ Number] [EF..]
Cancellation:
End of block.
Cancellation:
End of block.
G16*: Definition of the tool axis orientation with addresses P, R (see Sec. 4.8.2)
P+
Syntax:
N.. G16 P±/R±
X
Cancellation:
R+
G16 P±/R±.
Z
Syntax:
A
N.. [G40] G20 [G00/G01] [X.. Z.. C..] [F..]
Cancellation:
G21 and G22.
en-938820/5 A-5
G22: Programming in cylindrical coordinates (X, Y, Z) (see Sec. 4.14.4)
Z
Syntax:
N.. [G40] G22 [G00/G01] [G41/G42] [X.. Y.. Z..] [G94 F..] C
Cancellation:
G20.
Syntax:
N.. [G90/G91] G23 X.. Z.. I.. K.. [F..]
Cancellation:
End of block.
P
Syntax:
N.. G33 X.. Z.. K.. [EA..] [EB..] P.. [Q..] [R..] [F..] [S..]
X
Q
Cancellation:
End of block.
Z
Thread
G38: Sequenced thread cutting (see Sec. 4.9.3)
Thread
Syntax:
N.. G38 X.. Z.. K..
Cancellation: X
G00/G01/G02/G03.
Z
A-6 en-938820/5
Function Summary Tables
Syntax: R
N.. [D..] [G00/G01/G02/G03] G41 X.. Z..
Tool path
X
Cancellation:
G40/G42.
Z
Syntax:
N.. G48 NC.. H.. /N.. N..
Cancellation:
End of block.
Syntax:
N.. G49 NC..
A
Cancellation:
End of block.
Syntax:
N.. G51 X- (Y-) Z-
Cancellation:
G51 X- (Y-) Z- is cancelled by programming G51 X+ (Y+) Z+.
en-938820/5 A-7
G52: Programming movements in absolute dimensions with reference to the measurement origin (see
Sec. 4.12.1)
X
Syntax: OM
N.. [G40] [G90] [G00/G01] G52 X.. Z.. C.. [F..]
Z
Cancellation:
End of block. 52
G
Syntax:
N.. G53
Cancellation:
G54.
Syntax:
N.. G54
Cancellation:
G53.
Syntax: 59
G
N.. [G90/G91] G59 X.. Z.. U.. W.. C.. [I.. K.. ED..] X
Cancellation: OP Z
Cancelled by G59 with different X.. (Y..) Z..
G63: Roughing cycle with groove (see Sec. 4.10.4) (EZ) XZ Programmed
blank
Syntax:
N.. G63 N.. N.. X.. Z.. EX.. / EZ.. P.. / R.. EA.. / EU.. EW..
[EB..] [EC..] [ER..] [Q..] [EQ..] [EF..]
X
Cancellation:
Finished ER
End of block. profile
Z
A-8 en-938820/5
Function Summary Tables
K
G64: Turn/Face roughing cycle (see Sec. 4.10.1) Programmed
blank
Syntax:
N.. G64 N.. N.. [I.. K..] P.. / R..
N.. BLANK DEFINITION
X
I
Cancellation: Finished profile
G80.
Z
K N..
Syntax:
N.. G65 N.. N.. X.. / Z.. [I.. K..] [EA..] P.. / R.. [Q..] [EF..] X
Finished
Cancellation: I profile
End of block.
Z
Syntax: D1 D2
N.. G66 D.. X.. Z.. [EA..] P.. / R.. [EF..] XZ
R
Cancellation:
End of block Z
Syntax:
N.. G70
Inches
Pouces 1 2
A
Cancellation:
G71.
Syntax: mm
10 0,2 m 20 30 40
N.. G71 mm
Cancellation:
G70.
en-938820/5 A-9
G73*: Scaling factor cancel (see Sec. 4.15.14)
Syntax:
N.. [G40] G73
Cancellation:
G74.
Syntax:
N.. [G40] G74
Cancellation:
G73.
Syntax:
N.. G75 N..
Cancellation:
Cancelled by G75 N0 or G75 with different N..
G76: Transfer of the current values of L and E parameters into the part programme (see Sec. 6.4)
Syntax:
N.. G76 [H..] [N.. N..]
Cancellation:
End of block.
Cancellation G76+/-:
End of block.
A - 10 en-938820/5
Function Summary Tables
Syntax:
N.. G76+ H..
Syntax:
N.. G76- H..
Syntax:
N.. G76+ N.. [+number] ISO block
Syntax:
N.. G76- [H..] N.. [+number]
G77: Unconditional branch to a subroutine or sequence of blocks with return (see Sec. 4.11.1)
Main programme
Syntax: %10
N.. G77 [H..] [N.. N..] [S..] N..
N..
N . . G77 . . . . Subroutine
A
Cancellation: N.... %
End of block. N.. N..
N..
N..
G77 -I: Call of the subroutine return block (see Sec. 4.11.11)
Syntax:
N.. G77 i
Cancellation:
End of block.
en-938820/5 A - 11
G78: Axis group synchronisation (see Sec. 4.17.6)
Syntax:
N.. G78 Q.. / Pj.i
Cancellation:
Cancelled by G78 Q0 or G78 with different Q..
G79: Conditional or unconditional jump to a sequence without return (see Sec. 4.11.3)
Current programme
Syntax: %100
N.. G79 [L../E.. > = < Number] N.. N..
N..
N . . G79 N350
Cancellation: N..
End of block. N..
N350
N..
N..
G79+/-: Temporary suspension of next block preparation in a sequence with movements (see Sec.
4.11.6)
Syntax:
N.. [G00/G01/G02/G03] X.. Z.. G79 +/- X.. / F..
Cancellation:
End of block.
Syntax:
N.. G80
Cancellation:
G64/G81-G85/G87/G79.
A - 12 en-938820/5
Function Summary Tables
Cancellation: OP
G80/G64/G65/G66/G81/G83-G85/G87 and G89.
Syntax: X
N.. G84 X.. / Z.. [ER..] [EH..] EF.. Z
Cancellation: OP
G80/G64/G65/G66/G81-G83/G85/G87 and G89.
EDCBAEDCBA@?>=<
ONMLKJIHGEDCBA@?>=<FONMLKJIHGEDCBA@?>=<
A
ONMLKJIHGFEDCBA@?>=<FONMLKJIHGEDCBA@?>=<
FONMLKJIHGEDCBA@?>=<ONMLKJIHGFEDCBA@?>=<
Syntax:
ONMLKJIHGFEDCBA@?>=<FGEDCBA@?>=<
OP Z
Cancellation:
G80/G64/G65/G66/G81-G83/G85/G87 and G89.
Syntax: X
N.. G85 X.. / Z.. [ER..] [EH..] [EF..] Z
Cancellation: OP
G80/G64/G65/G66/G81-G84/G87 and G89.
en-938820/5 A - 13
G87: Drilling cycle with chip breaking (see Sec. 4.9.4.8)
X
Syntax:
N.. G87 X.. / Z.. [ER..] [EH..] [P..]/[ES..] [Q..] [EP..] [EF..]
OP Z
F..
Cancellation:
G80/G64/G65/G66/G81-G85 and G89.
G89: Boring cycle with dwell in hole bottom (see Sec. 4.9.4.9)
,
, ,
X
, ,
Syntax: Z
, ,
N.. G89 X.. / Z.. [ER..] [EH..] EF..
,
OP
Cancellation:
G80/G64/G65/G66/G81-G85 and G87.
G90*: Programming in absolute dimensions with respect to the programme origin (see Sec. 4.1.1)
X
Syntax: Z
Cancellation: OP
G91.
G91: Programming in incremental dimensions with respect to the start of the block (see Sec. 4.1.1)
X
Syntax: Z X
Z
N.. G91 X.. Z.. C..
OP
Cancellation:
G90.
A - 14 en-938820/5
Function Summary Tables
Syntax:
N.. G92 R..
R min
F..
Cancellation:
Cancelled by G92 R0 or G92 with different R..
Syntax:
N.. G92 S..
Cancellation:
Cancelled by G92 S0 or G92 with different S..
G94*: Feed rate expressed in millimetres, inches or degrees per minute (see Sec. 4.7.1)
Syntax:
N.. G94 F.. G01/G02/G03 X.. Z.. C.. F (mm/min
X
Cancellation:
G95.
Z
G95: Feed rate expressed in millimetres or inches per revolution (see Sec. 4.7.2)
F A
Syntax:
X
N.. G95 F.. [G01/G02/G03] [X.. Z..] mm/tour
Cancellation:
Z
G94.
G96: Constant surface speed expressed in meters per minute (see Sec. 4.3.2.1)
Syntax: N eases
N.. G96 [X..] S.. decr
X
N s
ase
Cancellation: i e
n c r
G97.
en-938820/5 A - 15
G97*: Spindle speed expressed in revolutions per minute (see Sec. 4.3.2) S
Syntax:
N.. G97 S.. [M03/M04]
Cancellation:
G96.
G98: Definition of the start X for interpolation on the C axis (see Sec. 4.14.2)
X..
Syntax: C-
N.. G98 X..
X
Cancellation:
End of block.
C+
G997: Enabling and execution of all functions stored in state G999 (see Sec. 4.15.16)
Syntax:
N.. G997
Cancellation:
G998/G999.
G998: Enabling of execution of the blocks and part of the functions processed in state G999
(see Sec. 4.15.16)
Syntax:
N.. G998
Cancellation:
G997/G999.
G999: Suspension of execution and forcing of block concatenation (see Sec. 4.15.16)
Syntax:
N.. G999
Cancellation:
G997/G998.
A - 16 en-938820/5
Function Summary Tables
Syntax: %25
CYCLE N..
N.. [G40] M00 [$0 ...] N..
N . .M00
Cancellation: N..
N..
Action on the machine panel CYCLE key.
Programme
M01: Optional stop (see Sec. 4.15.8) M01
%12
N..
Syntax: N..
N.. [G40] M01 [$0 ...] N..
N . . M01
N..
Cancellation:
Action on the machine panel CYCLE key.
Syntax:
N..
N..
A
N.. M02 N..
N..
N . . M02
Syntax:
N.. M03
Cancellation: M03
M04/M05/M00/M19.
en-938820/5 A - 17
M04: Counterclockwise spindle rotation (see Sec. 4.3.1)
Syntax: M04
N.. M04
Cancellation:
M03/M05/M00/M19.
Syntax:
N.. M05
Cancellation:
M03/M04.
Cancellation:
M function report (CRM). T..
Syntax:
M07
N.. M07
Cancellation:
M09.
Syntax:
N.. M08
Cancellation:
M09. M08
A - 18 en-938820/5
Function Summary Tables
Syntax:
N.. M09 1
Cancellation:
M07/M08. 2
Syntax:
N.. [G00/G01/ G02/G03] M10 X.. Z.. C..
Cancellation:
M11.
Syntax:
N.. [G00/G01/G02/G03] M11 X.. Z.. C..
Cancellation:
M10.
M12
M12: Programmed feed stop (see Sec. 4.15.2)
Syntax:
ARUS
A
N.. M12 [$0...]
Cancellation:
Action on the machine panel CYCLE key.
Cancellation: dle
Spin
M03/M04/M05. a is
x
en-938820/5 A - 19
M40-M45: Spindle speed ranges (see Sec. 4.3.3)
Syntax:
N.. [G97 S..] [M03/M04] M40 to M45
Cancellation:
Cancel one another.
Cancellation:
M49. Spindle speed Feed rate
Cancellation:
M48. Spindle speed Feed rate
Syntax:
N.. M61
Cancellation:
M62-M65.
Syntax:
N.. [G97 S..] M62/M63/M64/M65 [ M40 to M45] M03/M04
Cancellation:
Cancel one another.
A - 20 en-938820/5
Function Summary Tables
Syntax:
N.. M66/M67/M68/M69
Cancellation:
Cancel one another.
M998*: Reactivation of the EDIT and MDI modes and subroutine calls by the automatic control
function (see Sec. 4.15.9)
Syntax:
N.. M998
Cancellation: A
M997/M999.
M999: Programmed cancellation of the EDIT and MDI modes and subroutine calls by the automatic
control function(see Sec. 4.15.9)
Syntax:
N.. M999
Cancellation:
M997/M998/M02.
en-938820/5 A - 21
A.3 Additional Function Summary Table
Syntax:
N.. [G90/G91] ED..
Cancellation:
ED0 or different ED..
Syntax:
N.. EG..
Cancellation:
Programming of a new value, M02, reset.
Syntax:
N.. G94 F.. (Feed rate in mm/min, deg/min and inch/min, see Sec. 4.7.1)
N.. G95 F.. (Feed rate in mm/rev and inch/rev, see Sec. 4.7.2)
N.. G04 F.. (Dwell in seconds, see Sec. 4.15.1)
N.. G33 F.. (Thread cutting, number of thread starts, see Sec. 4.9.2)
Cancellation:
G94, G95: different F..; G04, G33: end of block.
Syntax:
N.. G92 S.. (Spindle rpm limiting, see Sec. 4.3.7)
N.. G96 S.. (Constant surface speed in meters/min, see Sec. 4.3.2.1)
N.. G97 S.. (Spindle speed in rpm, see Sec. 4.3.2)
N.. G77 [H..] [N.. N..] S.. (Subroutine call and repetitions, see Sec. 4.11.1)
N.. G33 S.. (Thread cutting, number of passes, see Sec. 4.9.2)
Cancellation:
S0 or different S..
A - 22 en-938820/5
Function Summary Tables
Syntax:
N.. T.. M06 (Tool change)
Cancellation:
T0 or different T..
Syntax:
N.. D.. (Call of correction )
Cancellation:
D0 or different D..
en-938820/5 A - 23
A - 24 en-938820/5
External Parameter E Summary Tables
en-938820/5 B-1
B-2 en-938820/5
External Parameter E Summary Tables
Parameters E are accessible for read only or for read/write by the part programme.
The values of parameters E related to movements on the axes are expressed in the
internal system units specified for linear axes and rotary axes (see Sec. 2.1). In the
tables below, “IU” denotes the internal unit.
The parameters specific to milling are given in the tables for guidance and are
identified by the word «Milling».
E20100 6.2.9.3 State of PLC interrupt machine inputs (IT) 0 or 1 Read only
to E20103
en-938820/5 B-3
Parameters See Description Value or Access by the part
Sec. units programme
E11003 6.2.9.2 Mirror function (G51) enabled 0 or 1 Read/write
(+ graphic)
B-4 en-938820/5
External Parameter E Summary Tables
en-938820/5 B-5
Parameters See Description Value or Access by the part
Sec. units programme
E51000 6.2.9.4 Current tool orientation 0 to 2 Read only
or 100 to 102
B-6 en-938820/5
External Parameter E Summary Tables
en-938820/5 B-7
Parameters See Description Value or Access by the part
Sec. units programme
E82000 6.2.9.7 Slave axis corrections IU Read/write
to E82999
B-8 en-938820/5
External Parameter E Summary Tables
E93200 6.2.9.8 Axis declared rotary modulo 360 degrees 0 or 1 Read only
to E93231
E93400 6.2.9.8 Homing status on the axis without switch 0 or 1 Read only
to E93431 wiring
E97100 6.2.9.8 Axis acceleration at the work rate mm/s2 Read only
to E97131 or deg/s2
en-938820/5 B-9
Parameters See Description Value or Access by the part
Sec. units programme
E97200 6.2.9.8 Axis acceleration at high speed mm/s2 Read only
to E97231 or deg/s2
B - 10 en-938820/5
Word Format Summary Table
The formats of the axis words specified in the table are expressed as follows:
- For linear axes: 5 digits to the left and 3 to the right of the decimal point are allowed
when the internal system unit (see Sec. 2.1) is µm
- For rotary axes: 3 digits to the left and 4 to the right of the decimal point are allowed
when the internal system unit is 0.0001 degree.
For instance, for linear axes: if the system is set to 0.1 µm (internal unit), the formats
are expressed with 4 decimal digits; for the X axis, the format is X+044.
For instance, for rotary axes: if the system is set to 0.001 degree (internal unit), the
formats are expressed with 3 decimal digits; for the C axis, the format is C+033.
For the words related to the machining feed rate with no assigned formats (F.., EF..),
refer to the machine manufacturer’s manual for the maximum and minimum feed
rates (maximum 8 digits and decimal point).
Format Description
%051 Programme number (1 to 99999.9)
X+053 Movement on the X axis. In a cycle, end point on the machining axis
Z+053 Movement on the Z axis. In a cycle, end point on the machining axis
en-938820/5 C-1
Format Description
A+034 Movement on the A axis
EB+053 For contour definition and PGP, radius or fillet between two interpolations
EB-053 For contour definition and PGP, chamfer between two linear interpolations
EB+033 For thread cutting cycle (G33), tool penetration angle
EB+033 For roughing cycle with groove (G63), limit groove penetration angle
EC+033 For roughing cycle with groove (G63), limit end of pass angle in roughing axis
EF.. For roughing cycle with groove (G63), penetration feed rate in material
EF. For grooving cycle (G65), penetration feed rate in material
EF.. In a reaming cycle (G85), retraction rate
EF.. Feed rate specific to fillets (EB+) or chamfers (EB-)
EF.. Maximum feed rate after an interrupt (G10)
EF022 For plunging cycle (G66), dwell in groove bottom
EF022 For cycles (G83, G87), dwell at the end of each penetration
EH+053 In (G81 to G89) cycles, dimension of the impact plane on the machining axis
EP053 In a peck drilling cycle (G83), backoff clearance after each peck
EP053 In a drilling cycle with chip breaking (G87), backoff between two infeeds
EP053 In a plunging cycle (G66), value of retraction at 45 degrees at the end of the pass
EQ053 For roughing cycle with groove (G63), minimum chip size
C-2 en-938820/5
Word Format Summary Table
Format Description
ER053 For roughing cycle with groove (G63), finishing allowance
ER+053 In cycles (G81 to G89), dimension of the approach or retraction plane on the machining axis
EU+053 For roughing cycle with groove (G63), with XZ, pass setting angle and limit of last pass
EW+053 For roughing cycle with groove (G63), with XZ, pass setting angle and limit of last pass
EX+053 For roughing cycle with groove (G63), pass end position in X
EX+053 In polar programming, angle of the line (start/end)
EZ+053 For roughing cycle with groove (G63), pass end position in Z
en-938820/5 C-3
Format Description
M02 Miscellaneous functions (0 to 99)
M03 Miscellaneous functions (100 to 899)
NC04 Spline curve number (1-9999) with interpolation (with G48, G06, G49)
E5 External parameters E
C-4 en-938820/5
List of Errors
en-938820/5 D-1
D-2 en-938820/5
List of Errors
∗ Machine error. Caution: For this type of error, a CNC reset causes a general reset (CNC reset + PLC reset)
en-938820/5 D-3
Error No. Meaning of the error
29 No range programmed for CCSPD / No range compatible with S in G97:
No range search option: S not included between min. and max. values of the range programmed
With range search option: S does not belong to any range
30 Line error detected
31 ∗ PPR or PPL mode impossible with the line protocol selected
32 ∗ Homing error / Axis already on limit switch
33 ∗ All slides on wait for synchronisation
34 Minimum radius reached in G21 interpolation
35 ∗ Sequence number not found in SEARCH
36 ∗ Part programme memory full
37 Max. feed rate exceeded for thread cutting (COMAND)
38 Spindle already controlled by another axis group
39 ∗ Axis synchronisation error (with axis synchronisation option)
40-49 ∗ Excessive following error on axis 0 to 9
50-59 ∗ Excessive following error on axis 10 to 19
60-69 ∗ Excessive following error on axis 20 to 29
70 and 71 ∗ Excessive following error on axis 30 and 31
72 Incremental programming after an incomplete block (PGP)
75 Switch from state G20 to G21 or G22:
last block in G20 incomplete as it is programmed in PGP or radius correction or with X ≤ 0
first block in G21 without X and Y or G22 without Y and Z
Switch from state G21 or G22 to G20: last block in G21 or G22 incomplete or first block in G20 in
mode G41 or G42: In G21 or G22, initial radius negative or zero
76 In G21, programming of a fixed turning and milling cycle
77 Tool type incompatible with the machining phase (milling or turning)
78 Syntax error in programming slide synchronisation
G78 P: Maximum 4 digits, must be less than the number of slides
G78 Q: Maximum 4 digits
No M00, M01 or M02 with G78 P..
∗ Machine error. Caution: For this type of error, a CNC reset causes a general reset (CNC reset + PLC reset).
D-4 en-938820/5
List of Errors
en-938820/5 D-5
D.3 Profile Geometry Programming (PGP) Errors
D.3.1 The end point is not determined or cannot be computed from the elements in the
blocks
Error No. Meaning of the error
101 PGP: Insufficient data for programming a circle
Circle programmed on two parallel axes (with R / see Error 107)
102 Line programmed by an angle and one coordinate with no way of calculating the other coordinate
106 In G02, G03, programming of the third axis without helical option
107 PGP: Circle programmed by its radius and end point, with the end point separated from the start
point by more than 2 * radius
Circle programmed by X, Z, I K with a start radius different from the end point (20 microns) /
Helical: dimension of 3rd axis missing
Circle programmed on two parallel axes (with I, J, K / see Error 101)
D.3.2 The point of tangency or intersection cannot be computed from the data in two
blocks
Error No. Meaning of the error
110 PGP: Syntax error in the first of two blocks of a PGP entity
111 PGP: Syntax error in the second block of a PGP entity
112 PGP: Line/line intersection in which:
First block starting point = second block end point, or
First line angle = second line angle
113 PGP: The values programmed in the two blocks do not allow determination of an intersection or
tangency point
114 PGP: Intersection or tangency point not determined by ET+, ET-, ES+ or ES-
D.3.3 The points of tangency or intersection cannot be computed from the data in three
blocks
Error No. Meaning of the error
121 PGP: Syntax error in the last of the three blocks of a PGP entity
122 PGP: The first two blocks are non-intersecting lines
123 PGP: The data programmed in the three blocks do not allow determination of the tangent point
124 PGP: Tangent point of the second and third blocks not specified by ET+ or ET-
D-6 en-938820/5
List of Errors
en-938820/5 D-7
D.5 Request for Movements Outside the Machine Travel Limits
Error No. Meaning of the error
150 Travel overrun on the X axis
151 Travel overrun on the Y axis
152 Travel overrun on the Z axis
153 Travel overrun on the U axis
154 Travel overrun on the V axis
155 Travel overrun on the W axis
156 Travel overrun on the A axis
157 Travel overrun on the B axis
158 Travel overrun on the C axis
159 Request for programmed movement on an UN-HOMED axis
∗ Machine error. Caution: For this type of error, a CNC reset causes a general reset (CNC reset + PLC reset)
D-8 en-938820/5
List of Errors
en-938820/5 D-9
D.9 Axes Not Identified on the Bus
Error No. Meaning of the error
300 to 309 ∗ Axis 0 to 9 declared in P2 but not detected on the bus
310 to 319 ∗ Axis 10 to 19 declared in P2 but not detected on the bus
320 to 329 ∗ Axis 20 to 29 declared in P2 but not detected on the bus
330 and 331 ∗ Axis 30 and 31 declared in P2 but not detected on the bus
∗ Machine error. Caution: For this type of error, a CNC reset causes a general reset (CNC reset + PLC reset)
D - 10 en-938820/5
List of Errors
en-938820/5 D - 11
D.13 Cycle Programming Errors
Error No. Meaning of the error
830 Positioning not completed
831 Spindle stopped
832 End point, P and K must be programmed
833 Retraction clearance too small
834 EB value: -90 < EB < +90
835 The values of P, Q, R and K are absolute values
836 The interpolation plane must be G81 or G20
837 Bad value of F or S
862 P or R and end point to be programmed
863 End point incoherent with EA
864 Milling tool prohibited in G66
871 Finished profile limits not defined
872 No dimensions in blank definition
873 P or R not programmed
874 Blank inconsistent with finished profile
875 No intersection of EA with the profile
876 Relief angle EB incorrectly defined
880 Cycle axis unknown
881 Parameter value not compatible
882 Hole bottom dimension not programmed
883 Pitch (I J K) or clearance (P) not programmed
884 More than 9 thread starts
885 Pocket incompatible with the plane selected
886 Tool incompatible with the radius programmed
887 Cut > tool diameter
888 Dwell prohibited in this cycle
889 Syntax error
890 Tool orientation incompatible
891 Return plane = bottom of hole
892 Axial feed missing
893 Lateral feed missing
894 ER prohibited in G20
895 G21,G22 prohibited in cycle
896 Dimension incompatible with tool radius
897 Length of oblong pocket < diameter
898 Tool corrector missing
899 Spindle not assigned to this group or spindle or group incompatible
D - 12 en-938820/5
Index
Index
Symbols Assigning
a slave axis to a master axis 6-39
! 6-5, 6-18 a variable to a CNC function 6-7
$ 4-288 an external parameter to a CNC function 6-46
$0 4-288 axes 6-32
% 2-9 variables 6-3
& 6-5, 6-18 Associating a slave (or driven) axis with a master (or drive) axis 6-42
* 6-4, 6-18 Automatic control function exchange parameters 6-20
+ 6-4, 6-18 Automatic deletion of variables 7-13
- 6-4, 6-18 Automatic homing subroutine 4-193, 4-275
/ 4-256, 6-4, 6-18 Automatic homing subroutine branch 4-193, 4-275
< 6-6, 6-19 Available parameters 6-30
>= 6-6, 6-19 Axes programmable with reference to diameter 4-284
<> 6-6, 6-19 Axes programmed on diameter 6-34
= 6-6, 6-19 Axis
> 6-6, 6-19 acceleration anticipation time constant 6-44
>= 6-6, 6-19 acceleration at high speed 6-44
[*BGxx] 6-61 acceleration at the work rate 6-44
[*BMxx] 6-61 clamp 4-246
[*Rxx] 6-62 clamp enable status 6-40
coupling 6-34
A declared rotary modulo 360 degrees 6-41
A 6-5, 6-18 duplicated in “automatic” modes 6-42
Absolute encoder 6-41 duplicated in manual mode (Jog) 6-42
Access symbols 6-60 group synchronisation 4-279
Access to Profil 5-22 measurement 6-39
Accurate stop at the end of a block 4-59 measurement correction 6-41
Addition 6-4, 6-18 position reference 6-32
Address equivalences 6-54 programming 3-1
Addresses programming by variable L or parameter E defined by a
with assigned values 5-5 symbolic variable 7-8
without assigned values 5-7 reference memory 6-32
Addressing reference offset 6-41
of 8I8O analogue card analogue inputs 6-27 retraction 4-127
of 8I8O analogue card analogue outputs 6-27 servo or non-servo status 6-39
of G functions 6-61 servo-contro coefficient 6-44
of M functions 6-61 unclamp 4-246
of the deceleration function 6-22 Axis (or spindle) in-position window 6-41
of the PLC input terminals 6-27 Axis/spindle switching 6-42
of the PLC output terminals 6-27
of the turret type 6-22
B
Affaire No 6-26 Backoff between two infeeds 4-127
Amplitude Basic cycles 4-91
of the antistick pulse on reversal 6-45 Bevel gear 4-73
Angle crossing 6-22, 6-44 Block 2-7
Angle crossing speed analysis angle 6-23 data access symbols 6-60
Angle element of a line 5-5 deletion by G76- 4-202
Angular offset 4-215, 6-22 execution enable 4-264
Answer to a message sent 4-291 format 2-7
Arc tangent 6-5, 6-18 insertion by G76+ 4-200
Arguments 2-19 processing 4-264
programmed alone 2-20 sequencing without stopping movement 4-185
Arithmethic functions 6-5, 6-18 skip 4-256
Arithmetic operations 6-4, 6-18 Blocking message 4-291
Boolean values 6-61
en-938820/5 I-1
Boring 4-117, 4-127 Coordinates
cycle with indexed spindle stop in hole bottom 4-122 of the centre of a circle 5-5
cycles 4-101 of the end point of a circle 5-5
stop in hole bottom 4-127 of the end point of a line 5-5
with dwell 4-122 Correction of slave axes with respect to master axes 6-37
BS 2-10 Cosine 6-5, 6-18
Counter boring 4-106, 4-127
C Counter boring cycle 4-106
C 6-5, 6-18 Counterclockwise circular interpolation 4-36
Call on reset 4-194, 4-275 Counterclockwise spindle rotation 4-11
Call to subroutine return block 4-196 Creating error messages 8-3
Calling Creation of a programme 2-3
a contour by function G77 5-23 Current axis group number 6-25
a contour created by Profil 5-23 Current mode number 6-25
a contour from a machining cycle 5-24 Current speed on programmed path 6-28
Cancellation of MDI and EDIT modes 4-247 Current spindle release in axis group 4-278
Canned cycle 4-91 Current tool axis orientation 6-29
cancel 4-91 Current tool correction number 6-29
Canned cycles 4-128 Cycles G81 to G89 4-127
Cartesian coordinates 4-229 Cylindrical coordinates 4-234
Centre drilling 4-104, 4-127 D
Centre drilling cycle 4-104
Chamfer D.. 4-74
between two intersecting lines 5-6 DAT1 1-9, 6-30, 4-206
between two linear interpolations 4-58 DAT2 1-9, 6-30, 4-206
programming 4-57, 5-17 Datum shift DAT1 and DAT2 enable 4-206
Change of direction 6-23 Datum shift DAT1 and DAT2 inhibit 4-206
Characteristics of ISO and EIA codes 2-13 Deceleration function on several blocks 6-22
Characters used in EIA code 2-16 Declaration of a variable in the programme 6-8
Characters used in ISO code 2-15 Decoded M functions 2-22
Circular interpolation 4-36 Definition
Circular interpolation defined by three points 4-44 of a circle by its arc angle 4-53
Clearance after peck 4-127 of a spline curve 4-211
Clockwise circular interpolation 4-36 of an entity 5-4
Clockwise spindle rotation 4-11 of geometric elements 5-3
CNC 2-3 of offsets 1-9
CNC processor 1-7 of the addresses characterising the PGP 5-5
Codes C0 to C8 1-13 of tool dimensions 1-12
Combined encoder 6-41 of tool tip radius and orientation 1-13
Common CNC parameters 6-37 of travels and origins 1-7
Comparison for conditional branch 6-65 DELETE 7-13
Comparison symbols 6-6, 6-19 Deletion of a spline curve 4-216, 4-225
Complete circle 6-22 Deletion of symbolic variables in the stack 7-13
Conditional jump 6-47, 6-65 Different from 6-6, 6-19
Constant pitch thread cutting 4-92 Direction of axis movement during interpolation 6-32
Constant pitch thread cutting cycle 4-92 Discriminant 5-7
Constant surface speed 4-15, 4-17 Displaying
Contour by Profil 5-23 a message with wait for an answer 6-56
Control of direction of rotation 4-11 messages with a parametric value 6-58
Control of spindles 1 to 4 4-23 Distance remaining to be travelled in the block 6-28
Control system 2-3 Division 6-4, 6-18
Conversion of the internal unit 6-6, 6-19 Drilling cycle with chip breaking 4-119
Coolant 4-247 Drilling cycles 4-101
Coolant off 4-247 Drilling with chip breaking 4-119, 4-127
Coordinate system 1-5 Dripfeed mode 4-195
with C axis 4-226 Dwell 4-127, 4-238
Dwell on each infeed 4-127
I-2 en-938820/5
Index
DX 1-14 Fillet
Dynamic correction on X 6-29 between two interpolations 4-57
Dynamic correction on Z 6-29 between two intersecting elements 5-6
Dynamic tool correction 1-14 programming 4-57, 5-17
Dynamic tool correction definition 1-14 Flashing message 4-289
DZ 1-14 Forced block concatenation 4-264
Forced block sequencing 4-254
E Front thread cutting 4-98
E+/E- 5-7 Front turret 3-8
EA.. 5-5 G
EB+ 4-57
EB+.. 5-6 G functions
EB- 4-58 incompatible with the programme state 2-18
EB-.. 5-6 with associated arguments 2-19
ED.. 4-215 General diagrams of parametric programming 6-64
EDIT 4-252 General information on modes 1-3
EDIT mode 4-252 General information on the system 1-3
Editing programmes 4-286 General programme structure 2-8
EG.. 4-258 Geometric elements 5-3, 5-9
EIA programme structure 2-10 Gradual acceleration 6-22
Emergency retraction 4-189 Graphic machining simulation status 6-26
Emergency retraction on a PLC axis group 4-285 Greater than 6-6, 6-19
Enable 4-259 Greater than or equal to 6-6, 6-19
Encoded M functions 2-22 Groove roughing 4-140
Encoder type 6-41 Groove roughing cycle 4-140
End Group axis access parameters 6-31
of EIA programme 2-10 Group turret type 6-22
of ISO programme 2-9
of programme load 2-9 H
of retraction 4-127 High precision contouring 6-24
of symbolic variable declaration 7-7 High speed 4-29
ENDV 7-7 Homing 1-7
EOR 2-10 direction 6-41
Equal to 6-6, 6-19 on an axis 6-40
Equivalence of variables 6-14 status without switch wiring 6-41
Error messages 8-3 without switch wiring 6-41
Error numbers 8-3
ES 5-7 I
ET 5-7, 6-5, 6-18
Examples of use of external parameters E 6-48 I.. K.. 5-5
Exchanging axes between groups 4-286 Image of operand EN.20 6-25
Exchanging spindles between groups 4-287 Image of system job reference 6-26
External parameter declaration 6-46 Inch data input 4-239
External parameter E programming syntax 6-44 inclined axis 4-267
External parameters E 6-16 inclined axis state 4-267
Inclined on a grinder 6-31
inclined wheel 4-267
F inclined wheel state 4-267
Inclined wheel on a grinder 6-31
Feed rate Incremental encoder 6-41
in degrees per minute 4-61 Independent spindle 4-276
in inches per minute 4-61 Index 4-279
in inches per revolution 4-64 Infeed at work rate 4-127
in millimetres per minute 4-61 Initial X value definition 4-228
in millimetres per revolution 4-64 Instruction 2-4
limiting after interrupt 4-184 Instructions 1-3
specific to chamfers EB- 4-68 Internal measurement units 2-4, 3-3
specific to fillets EB+ 4-68 Internal system unit 6-6, 6-19
en-938820/5 I-3
Interpolation block execution time 6-23 Measurement
Interpolation speed limiting 6-35 dimensions 1-11
Interrupt handling 4-182 origin 1-7
Interruptible block 4-181 origin (OM) 1-7
ISO and EIA codes and standards 2-3, 2-8, 2-12 origin offset 1-8
ISO functions 2-12 origin setting 1-7
ISO programme Meeting point 4-281
structure 2-9 Message acknowledgements 4-291
tape 2-14 Messages 4-288
tape format 2-14 Minimum dynamic machine travel 6-30
ISO programming 4-1 Minimum static machine travel 6-32
Mirror function 4-261, 6-21
J Mirror function processing 6-21
Jump to a sequence without return 4-175 Miscellaneous M functions 2-21
Mixed programming 4-6
L Modal G functions 2-18
Modal M functions 2-21
L../E.. 6-57 Modes 1-3
Left radius correction 4-79 Movement origin selection 4-203
Less than 6-6, 6-19 Movement origins 4-203
Less than or equal to 6-6, 6-19 Multiple axis groups 4-273
Limit switches 1-7 Multiple start thread cutting 4-96
Linear interpolation 4-32 Multiplication 6-4, 6-18
at high speed 4-29
at the programmed feed rate 4-32 N
Linear X, Y and Z axes 1-5
List of N 4-14
external parameters E 6-20 Nonblocking message 4-291
variables L 6-3 Nonmodal G functions 2-18
Loading of a parametric expression 6-64 Nonmodal M functions 2-21
Logical operations 6-5, 6-18 Notes on EIA code 2-17
Loop time constant 6-26 Notes on ISO code 2-17
Number
M of CNC axis groups 6-26
of constant infeeds 4-127
M functions 2-21 of machine axis groups 6-26
M post-functions 2-21 programming 8-1
M pre-functions 2-21 Numerical values 6-62
M.. 4-172
Machine 1-5 O
description 1-6
origin (Om) 1-7 Offsets 1-8
Machine status 6-25 on the X axis (solution with DAT2) 1-10
access parameters 6-25 on the X axis (solution without DAT2) 1-10
Main programme 2-11 on the Z axis 1-9
Mandatory arguments 2-19 OM 1-7
Marker 4-279 Om 1-7
Master axis position reference 6-37 On-the-fly measurement (hardware interrupt) 4-182
Maximum authorised speed at angle crossings 6-44 OP 1-9
Maximum axis speed 6-44 Op 1-9
Maximum dynamic machine travel 6-30 Operation number 6-24
Maximum spindle x indexing speed 6-36 Operations executable with external parameters E 6-18
Maximum static machine travel 6-32 Operations executable with variables L 6-4
MDI 4-252 Optional arguments 2-19
MDI mode 4-252 Optional stop 4-250
Measured axis 6-41 OR 6-5, 6-18
Origin switch
enable state 6-40
status 6-41
I-4 en-938820/5
Index
en-938820/5 I-5
R Sequences 4-165
Servo-control error tolerated on a circle 6-23
R 1-13, 6-5, 6-18 Servoed rotary axes with limited excursion 3-7
R.. 5-6 Setting of the feed rate potentiometer 6-28
Radius of a circle 5-6 Sine 6-5, 6-18
Radius offset cancel 4-80 Software switches 1-8
Rapid positioning 4-29 Special programming of multiple axis groups 4-273
before machining 4-30 Special programming of PLC axes 4-283
Rapid retraction after machining 4-30 Special use of sequence interrupt 4-185
Reactivation Speed of movement 4-61
of edit modes 4-252 Speed demand for the spindle controlled by its group 6-36
of manual data input modes 4-252 Speed threshold below which spindle x is considered stopped 6-38
of subroutine calls 4-252 Spindle 4-11, 4-20, 4-23, 4-127
Reaming cycle 4-117 access parameters 6-34
Rear turret 3-8 and feed rate potentiometer enable 4-255
Restoring the values of variables L 7-5 and feed rate potentiometer inhibiting 4-255
Restoring variables L 7-4 control 4-11
Restrictions due to drip feed mode 4-195 control selection 4-23
Retraction after penetration 4-127 controlled by an axis group 4-277
Review 1-1 indexing 4-21
of axis orientation 1-5 measurement 4-25
of definitions 1-5 measurement selection 4-25
of machine 1-5 position reference 6-36
Right radius correction 4-79 potentiometer 6-22
Rigid tapping 4-113 programming 4-277
Rigid tapping cycle 4-113 rotation speed (N) 4-14, 4-16
Rotary A, B and C axes 1-5 speed 4-13, 4-27
Rough facing 4-131, 4-157 speed control 4-13
Rough turning 4-131, 4-157 speed limiting 4-17, 4-27
Rough turning/facing cycle 4-128 speed range 4-20
Roughing 4-128 speed setting 6-36
Roughing cycle with groove 4-151 stop 4-11
Roughing with groove 4-151 synchronisation 4-293
Ruler with encoded reference marks 6-41 Spindle x
acceleration with indexing 6-37
S in-position window 6-37
S 6-5, 6-18 indexing gain 6-37
Sagittal error 6-24 position reference 6-36
Sampling period 6-26 speed setting 6-36
Saving in the stack 7-4 Spline 4-216
Saving variables L 7-4 Spline curve 4-216, 4-217
Scaling factor 4-259, 6-31 definition 4-217
enable 4-259 execution command 4-216
inhibit 4-259 Spline interpolation 4-216
Secant element 5-7 Square root 6-5, 6-18
Secondary linear U, V and W axes 1-6 Stack allocation 7-3
Sending a message Start
to a peripheral 4-290 of EIA programme 2-10
to a remote server 4-290 of ISO programme 2-9
to the display 4-288 Subroutine branch
to the PLC function 4-290 by automatic control function 4-178
Sending messages 4-288 by M function 4-172
Sequence 2-7 execution 4-178
branches in the programme 4-168 with multiple axis groups 4-275
breaks 4-165 Subroutine branches 2-11
interrupt 4-181 Subroutine display inhibited 2-12
Sequenced thread cutting 4-99 Subroutine nesting levels 4-169
Subroutine on reset 4-194, 4-275
I-6 en-938820/5
Index
en-938820/5 I-7
I-8 en-938820/5