MAHO Philips 432 M700 Programming Manual
MAHO Philips 432 M700 Programming Manual
CNC3000 Series
CNC3460/3560 M700
USTRIAL
&
Programming manual
!
!
I[
g 0 @
i s iss
s
SB
S3
SS3C3G1
la
SJ
im
(USEJB S
t3
ra
S2S
(SSDCS
ffi
0
0 B000
0 0
0 0 00Q 0
000
000 Q
0
0
00 0 0
0 0
00000
0 000
0 0 0
SU
--v
<U
CNC3000 Series
CNC3460/3560 M700
Programming manual
4822 873 20404
891025
Numerical control
o
,
:
.
:
i/
PHILIPS
r\
The publisher does not assume, on the basis of the information contained in this manual, any
liability as to specifications. For the specification of this numerical control system, reference
should be made to the ordering data and the specification catalogue exclusively.
CONTENTS
Page
Part programming
1.1
1.2
1.3
1.3.1
1.4
Introduction
Program words
Program blocks
The block number[N]
Preparing a part program
1-1
1-2
1-4
1-4
1-5
1.4.1
1.4.2
1.4.3
1.5
Program identification.
Program setup
Program sheet
Program storage
1-5
1-6
1-7
1-7
2.
Preparatory functions[G]
3.
Programming a position
3.1
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.3
3.3.1
3.3.2
3.3.3
3.4
3.5
Coordinates
Cartesian coordinates[G90/G91]
Polar coordinates
One cartesian coordinate and an angle
Point definition[G78]
Changing coordinate systems[G180/G182]
4.
4.1
4.2
4.3
4.4
4.5
5.
Motion commands
5.1.
5.1.1.
5.1.2.
5.1.3.
5.2.
5.2.1.
5.2.2.
5.2.3.
5.2.3.1.
5.2.3.2.
5-5
5-6
5-11
5-11
5-13
5.2.4.
5.3.
5.3.1.
5.3.2.
5-14
5-15
5-15
5-16
891025
3-1
3-1
3-1
3-2
3-2
3-2
Programming CNC3460/700
3-4
3-4
3-8
3-15
3-17
3-20
4-1
4-4
4-5
4-6
4-8
5-1
5-1
5-1
5-3
5-5
Index - 1 -
Page
5.3.2.1.
5.3.2.2.
5-16
5-21
5.3.3.
5.3.4.
5.4.
5.5.
5.6.
5-22
5-23
5-25
5-27
5-29
5.6.1.
5.6.2.
5.7.
5.8.
5.8.1.
5.8.2.
6.
Tool compensation
6.1.
6.1.1.
6.1.2.
6.2.
6.2.1.
6.2.2.
6.2.3.
6.2.4.
6.2.5.
6.2.6.
6-16
6-16
6.2.7.
6.3.
6.3.1.
6.3.2.
6-21
6-21
6-21
6-22
6.3.3.
6.3.4.
6-23
6.3.5.
6.4.
Cutter parameters
Calculation method
Programming 3D-tool correction
Activating a tool
7.
7.1.
7.1.1.
7.1.2.
7.2.
7.2.1.
....
S'
5-29
5-30
5-30
5-31
5-31
5-32
6-1
6-2
6-5
6-6
6-7
6-9
6-12
6-14
6-23
6-24
6-26
7-1
7-1
7-1
7-2
7-3
7.2.2.
7.2.3.
7.2.4.
7.3.
7-3
7-4
7-4
7-4
7.4.
7.4.1.
7.4.2.
7.4.3.
7-5
7-6
7-6
7-7
Index - 2 -
Programming CNC3460/700
891025
Page
m
r
7.4.4.
7.4.5.
8.
Machining cycles
8.1.
8.1.1.
8.1.2.
8.1.3.
8.1.4.
8.1.5.
8.1.6.
8.1.7.
8.2.
8-11
8-12
8-13
8.2.1.
8.2.4.
A rectangular pocket[G87]....
A groove[G88]
A circular pocket[G89]
Rotating pockets or grooves.
8-17
8-22
8-25
8-27
9.
Special features
9.1.
9.2.
9.3.
9.3.1.
9.3.2.
Inch/metric programming[G70/G71]
Call of a part program[G23]
Parametric programming[E]
Relating a parameter to an address
Setting parameter values
9.3.3.
9.4.1.
9.4.2.
9.4.3.
9.5.
9.5.1.
9.5.2.
9.5.3.
9.6.
9-12
9-12
9.6.1.
9.6.2.
9.6.3.
9.7.
9.7.1.
Scaling[G72/G73]
Mirror image[G72/G73]
Axes rotation[G92/G93]
Automation package
Tool performance monitorj T1= ]
9-13
9-17
9-19
9-22
9-22
9.7.2.
9.8.
9.8.1.
9-23
9-24
9-24
9-26
9-27
9-31
8.2.2.
8.2.3.
9.4.
Si
9.8.2.
9.8.3.
9.8.4.
891025
7-7
7-8
8-1
8-1
8-3
8-6
8-7
8-17
9-1
9-2
9-3
9-3
9-4
9-6
9-7
9-7
9-7
9-9
9-11
9-11
9-11
Programming CNC3460/700
Index - 3 -
Page
10.
Geometry
10.1.
10.2.
10.2.1.
10.2.2.
10.2.3.
General introduction
Using the geometry
Programming an endpoint or centre point .
Additional words with linear movements ...
Additional words with circular movements
10-1
10-4
10-4
10-5
10-5
10.2.4.
10-5
10-5
10-7
10-8
10-9
10.2.7.
10.3.
10-10
10-10
10-14
10-16
10-18
10.3.1.
10.3.2.
10.3.3.
10.3.4.
10.3.5.
10-18
10-21
10-23
10-25
10.3.6.
10.3.7.
10.4.
10.4.1.
10.4.2.
Chamfer programming
Rounding between two intersecting lines
Discontinuous movements
Tangent lines
Matching circles
10-28
10-30
10-31
10-31
10-33
10.4.3.
10.4.4.
10.4.5.
10-34
10-36
10-41
10.2.4.1.
10.2.4.2.
10.2.4.3.
10.2.4.4.
10.2.4.5.
10.2.5.
10.2.6.
.
.
10-27
s'
:
Index - 4 -
Programming CNC3460/700
891025
Page
11.
Special options
11.1.
11.1.1.
11.1.2.
11.1.3.
11.1.4.
In cycle gauging
Component inspection
Possible touch trigger probes
Measuring a point [G45]
Measuring a circle [G46]
11.1.5.
11.1.6.
11-6
11-8
11-9
11-9
11-11
11.1.10.
11.1.10.1.
11.1.10.2.
11-11
11-11
11-12
11-12
11-13
11.1.10.3.
11.1.11.
11.1.11.1.
11.2.
11.2.1.
11.2.2.
11.2.3.
11-13
11-13
11-13
11-14
11-14
11-14
11-16
11.1.7.
11.1.8.
11.1.8.1.
11.1.9.
11.1.9.1.
11-1
11-1
11-2
11-3
11-4
fr
891025
Programming CNC3460/700
Index - 5 -
Page
12.
Calculation extensions
12.1.
12.2.
12.2.1
12.2.2
12.2.3
Introduction
Parameter representation
Input
12.3.
Arithmetical operations
The operations
12.3.1
12-1
12-1
12-2
12-2
12-3
12-3
12-3
12-3
12.3.2
12.3.3
12.3.4
12.3.5.
Square root
Exponentiation
Automatic type conversion.
12-3
12-3
12-4
12.4.
12.4.1
12.4.2
12.5.
12.6.
Goniometric functions
The angle
The functions sin, cos and tan
Inverse goniometric functions asin, acos and atan,
Expressions
12-4
12-4
12-5
12-6
12-6
12.6.1
12.6.2
12.6.3
12.6.4
12.7.
General definitions
Arithmetic expressions.
Relational expressions.
Legal expressions
Priorities
12-6
12-7
12-7
12-8
12-8
12.8.
12.8.1
12.8.2
12.9.
12.9.1
12.9.2
12.9.3
Operating
The menu ED-EXPR
Calculator function
Examples of the use
The intersection point of two lines
Datum point shift after axes rotation
A circular pocket with spherical bottom
13.
Cylinder Interpolation
13.1.
13.2.
13.3.
13.3.1
13.3.2
Introduction
Axes and planes
Activating and cancelling cylinder interpolation
General remarks
Activating cylinder interpolation182]
13-1
13-1
13-2
13-2
13.4.
13.4.1
13.4.2
13.4.3
Programming conventions
Possible G-functions
The plane of the surface ...
Coordinates
13-3
13-3
13-4
13-4
13.4.4
13.4.5
13.4.6
13.4.6.1
13.4.6.2
13-5
13.4.6.3
13.4.7
13.5
Index - 6 -
Squaring
Programming CNC3460/700
12-9
12-9
12-10
12-10
12-10
12-13
12-16
13-3
13-5
13-5
13-5
13-5
13-6
13-6
13-7
891025
PART PROGRAMMING
1.1.
INTRODUCTION
A part program is the complete set of data and instructions required for producing a particular workpiece
on a numerically controlled machine tool.
The instructions may contain different operations, such as milling, drilling, tapping, etc. Each separate
operation is considered as a unit and can be split up into smaller instructions. One complete operation,
e.g. the simultaneous movement of different axes, is called a block and its smaller instructions, e.g. the
movement of one axis or a machine tool function, words.
Preparing a part program means, that the proper sequence of the machining and all separate
instructions, thus tool movements, machine tool functions, technological data, etc. have to be
determined.
Once a part program is prepared and before it can be executed, it has to be stored in the memory of the
control. There are three ways in which to do this:
- use the dialogue of the control;
- enter the program manually via the control panel;
- prepare on data terminal equipment a data carrier, such as a punched paper tape, a magnetic digital
cassette or a disk and read the data into the memory.
For data storage the control has a RAM memory. It is divided into two sections:
- System memory : in this memory all settings for a particular machine tool/control configuration are
stored.
this memory contains all data for running a part program. Part of the user mem
- User memory
ory is reserved for tool dimensions, another part for the programs and sub pro
grams (macros).
A memory back up battery is available, so that if the control is switched off, the data is retained for up
to a month.
891025
Programming CNC3460/700
Section 1 - 1
PROGRAM WORDS
1.2.
the address,
single address, that is one alpha character
or
indexed address, that is an alpha character followed by an index 'and the = sign, e.g.
E1=
2.
The leading zeros can be omitted for all words. If the value of a word is zero, then at least one zero must
be written.
The words giving dimensional information can have a sign (plus or minus). If no sign is programmed, a
positive value is assumed. For negative values a minus sign must be entered.Dimension words can be
written with a decimal point. In this case the trailing zeros can be omitted too. If the decimal point is not
programmed, it is assumed to be situated after the last entered digit.
EXAMPLE 1.2.-1
(single)
(indexed)
Construction of a word
X
21
21
X1=
43
43
Address
Sign
Decimal point
Value after decimal point
Modal words
Modal words are active until the same word is programmed, with a different value. Therefore these
words need only to be written in a block where a change of value is required.
Non-modal words
Non-modal words are only active in the block in which they are programmed, and must be written into
every block in which they are required.
Section 1 - 2
Programming CNC3460/700
891025
04
0
4
TABLE 1.2-1
Address
G
X
Y
Z
4*
5*
6*
R
I
J
K
P
F
S
T
H
M
Description
Block number
Program identification
Preparatory function
Dimension along X-axis
Dimension along Y-axis
Dimension along Z-axis
Dimension along 4. axis
Dimension along 5. axis
Dimension along 6. axis
Radius of circular arc
X centre coordinate
Y centre coordinate
Z centre coordinate
Point number
metric
0.001
inch
0.0001
+063
+063
+054
+054
+054
+054
07
07
03
+063
+063
+063
+054
+063
063
+063
+063
+063
+054
054
043
034
+054
+054
+054
03
Feedrate
Spindle speed
Tool number
04
Auxiliary function
Miscellaneous function
Parameter number
04
02
03
03
Refer to Appendix A for a complete list of all words recognized by the control and the meaning of each
word in different occasions in a part program or in the memories.
891025
Programming CNC3460/700
Section 1 -3
1.3.
PROGRAM BLOCKS
A block is a group of words considered as a unit and contains all information needed for one complete
operation (tool movement and/or machine tool function).
The control employs a VARIABLE BLOCK FORMAT. This means that the block length varies from block
to block because of changes in the number and/or length of the words. Up to 80 characters are allowed
in a block.
Construction of a block
EXAMPLE 1.3.-1
G1
N20
X14
Z62.5
F300 S200
T12 M3
Block number
Preparatory function
Dimensional information
Technological data
Machine functions
The words in a block can be written in any order. The preferred sequence for the frequently used words
is given in table 1.2-1.
Each word may only occur once in a particular block. Words such as E1= and E2= have different
addresses and therefore can be used together in the same block.
Blocks are separated by the character line feed [LF].
1.3.1.
The first word in a block is the block number. It is used to identify that block. Each block must have a
separate number.The block numbers range from N 0 to N9999999.Refer to remark '2 in section 1.4.1.
for programs which should be downwards compatible with older software versions.
In general it is not allowed to use the same block number twice in the same program. However, if the
BTR possibility (part of the CAD-module of the CNC) is used, the check on the block numbers is
automatically switched off.
Block numbers may be used in any sequence. The execution will be in the programmed sequence.
programmed sequence
: N10, N50, N30
Eg:N10, N50, N30
executed sequence
With the re-number function of the control the block numbers can automatically be numbered in
When entering the program blocks via the control panel, the block numbers are automatically generated.
Section 1 - 4
Programming CNC3460/700
891025
1.4.
1.4.1.
PROGRAM IDENTIFICATION
Each part program on a data carrier has to start with a memory recognition and an identification number
(program number).The recognition for the part program memory is : %PM The program identification is
a number ranging from 1 to 9999999. So numbers as 1, 125, 9001, 12345, 876543, 3451592 are valid
identification numbers.The identification number should be placed directly behind %PM and the part pro
gram has to start with a block number equal to the identification number.(see example 1.4.1.-1).
With the rename function of the control the identification number can be changed.
A part program can be given a name written between the characters control out [0 and control in D]
and directly after the block number of the first block.
With a MC-setting is determined, what will be displayed on the screen of the control, when the directory
(=list) of the part programs (ID-DIR) is chosen:
the program numbers, together with the names
or
- the program numbers, together with the size of each program in bytes and its status.
EXAMPLE : 1.4.1.-1 Part program identification with name
%PM9001
N9001 (PLATE NR. A334)
or
%PM13576
N13576 (GEAR BOX)
Remarks:
t-
1.
Subprograms or macros are handeled in the same way as part programs, except for the memory
recognition which is % MM.
2.
If the program should also be used on a Philips Control with a lower software version (V400 or
V500), then:
- the block numbers in each program or macro should range from N1 to N8999, '
- the identification should range from N9000 to N9999999,
- the memory recognition (%PM or %MM) on the data carrier is placed in front of all part
programs or macros.
3.
If a data carrier made with version V400 or V500 is read in, it is automatically recognized as such
and the information properly transfered to the memory.
4. ! The data transfer from the CNC to a data carrier is controlled by a MC-setting:
=0 :the programs or macros are written as for the older software versions.
=1 :the programs or macros are written as described.
2h-f
891025
33 J
Programming CNC3460/700
Section 1 -5
1.4.2
PROGRAM SETUP
'
The movements on the machine are partly made by the tool and partly by the workpiece. To simplify the
programming it is assumed that all movements are carried out by the tool. In the machine tool/control
configuration is fixed, how the movements are executed in reality.
To establish the tool movements, an imaginary coordinate system is applied to the machine and has, as
far as part programming is concerned, a fixed relationship to the workpiece. The datum point (origin) of
the system can be chosen quite arbitrarily. The directions of the axes are laid down in international
standards, such as ISO 841, DIN 66217 or EIA RS-267-A.
Depending on the dimensions of the workpiece the required tool movements are then determined as
points within this coordinate system.
fr"'S
Section 1 - 6
Programming CNC3460/700
891025
PROGRAM SHEET
1.4.3.
In preparing part programs it is recommended to use program sheets. Each line represents a block and
every word in a block has its own column.
ff
PROGRAM SHEET
WORKPIECE:
MATERIAL:
PROGRAMMER:
PAGE.
..
OF....
DATE:
DRAWING NUMBER:
GEOMETRIC INFORMATION
LC.
W/B
l/R
TECHNOLOGICAL INFORMATION
NB6172
Fig. 1.4.3.-1 A typical example of a program sheet
1.5
PROGRAM STORAGE
More than one program or sub program (macro) can be stored in the same part of the user memory. The
actual number of stored programs and macros depends greatly on the size of each program and macro
and on the available memory capacity. The maximum number is set in the MC-memory and ranges from
16 to 1000.
With the lock function it is possible to protect part programs and macros against unauthorised editing
on the control.
891025
Programming CNC3460/700
Section 1 -7
2.
The second word of a block is the preparatory function (G-function). It presets the control for the
required type of operation. Only one G-function may be programmed in a block.
The G-functions are classified into groups, of which only one function can be active. The active function
is cancelled by programming a different one from the same group.
At CLEAR CONTROL, thus at resetting the control system, one preparatory function from each group
is automatically preset by the control.
The preparatory functions recognized by the control, are listed in table 2.-1. The groups are identified by
the letters A, B, C, D, etc. These letters are in accordance with ISO DIS 6983 and DIN 66025. The
preset functions are marked with the symbol *.
A function with no group letter (-) effects only the block in which it is programmed.
Fund Group
GO
G1
G2
A
A
A
G3
G4
G11
G14
G17
G18
G19
G20
G22
C
C
C
C
G23
G25
G26
G27
G28
G
H
H
G29
G40
G41
G42
D
D
G43
G44
G45
891025
Description
Modal
Reset
Sedion - Page
Y
Y
Y
5-1
5-5
5-15
5-15
1)
5-30
9-24
9-11
6-2
6-2
Y
Y
D
D
6-2
Y
Y
Y
Dwell
Chamfer and rounding
Jump and repeat function
Plane selection XY-plane; tool Z
Plane selection XZ-plane; tool Y
Y
Y
Programming CNC3460/700
9-7
9-2
5-30
5-30
5-31
5-31
9-11
6-14
6-9
6-9
6-7
6-7
11-1
Section 2- 1
Modal
G46
G47
G49
G50
G51
Measuring a circle
Process measuring results
Check on tolerances
Process the differences
Ignore RESET AXES datum point
G52
G53
G54
G55
G56
R
F
F
F
F
G57
G58
G59
G63
G64
G66
G67
G70
G71
G72
G73
G74
G85
G86
G87
G88
G89
G90
Section 2 - 2
Section - Page
11-3
PQ
11-7
*2)
4-5
Y
Y
Y
Y
2)
2)
2)
2)
2)
4-5
4-4
4-4
4-4
4-4
F
F
F
N
N
Y
Y
Y
Y
Y
2)
2)
2)
4-4
4-4
4-4
10-1
P
P
Length compensation in
dir.
Length compensation in "+" dir.
Program in inches
Program is metric
Cancel mirror image or scaling
*2)
2)
9-13
5-3
8-13
3-17
8-6
E
E
8-1
8-1
Y
Y
Y
Y
Y
8-1
8-1
8-1
Y
Y
Y
Y
8-17
8-22
8-25
3-4
M
M
Q
G77
G78
G79
G81
G83
G84
Reset
E
E
E
E
E
E
J
Programming CNC3460/700
Y
Y
Y
Y
10-1
D
D
6-5
6-5
9-1
9-1
9-13
891025
Fund
G91
Group Description
J
G94
G95
G98
G99
G141
G92
G93
Pi
Modal
G145
G148
G149
G150
G180
G182
G196
B
S
G197
S
S
G198
G199
Cylinder interpolation
End graphic contour definitions
First point of a contour
First point of a contour
Window for graphic contours
1)
Reset
Section-Page
3-4
4-6
4-6
5-29
Y
Y
5-29
11-14
11-16
6-21
11-9
11-11
11-12
11-13
3-20
Y
Y
3-20
Y
Y
Y
2)
2)
891025
Programming CNC3460/700
Section 2 - 3
PROGRAMMING A POSITION
3.
The following definitions of the coordinate system and the axis directions conform to the standards ISO
841, DIN 66217 and EIA RS-267-A.
3.1
The positions of the tool movements are determined in a rectangular, right-handed coordinate
system.Rectangular means, that the main linear axes X, Y and Z are at right angles to each other.Righthanded means, that a rotation from +X to +Y is represented by a helix with right-handed thread in the
+Z-direction.
+Y
+B
U//X
v// Y
w//z
+x
+C
+A
+z
NB6082
The datum point (origin) of the coordinate system (X=0, Y=0, Z=0) can be any arbitrary point within the
range of the control. Refer to chapter 4 for a detailed description of the datum points.
3.2.
AXIS DIRECTIONS
3.2.1.
THEZ-AXIS
The Z-axis is always parallel to the machine main spindle.On a machine with several spindles, the one at
right angles to the workpiece clamping surface is chosen as the main spindle.
The positive Z-direction runs from the centre of the workpiece to the centre of the tool. This means that
a movement in the positive Z-direction increases the distance between the workpiece and the tool.
891025
Programming CNC3460/700
Section 3 - 1
3.2.2.
THE X-AXIS
The positive X-direction is to the right, when looking from the spindle towards :
THE Y-AXIS
SCHEMATIC DRAWINGS
The various axes together with their names and directions are shown in the figures 3.2.4-1, -2, -3.
If the movements are actually made by the tool, the direction of the machine motion and tool motion are
identical. If the movements are produced by the workpiece, then the direction of the machine motion
and tool motion are opposite to each other.
In the figures the positive directions of the tool motion are shown by +X, +Y, +Z and of the machine
motion by +X( +Y\ +Z.
fl
ED
Section 3 - 2
Programming CNC3460/700
891025
z
+ X
+ Y
+ Y
'+
A
+
A: Tool movement
B: Machine movement
NB7959
+ Y
z (W)
+X
+2
+Y
i
I
Fig. 3.2.4.-3 Double column milling machine
891025
Programming CNC3460/700
Section 3-3
3.3.
COORDINATES
With the latter two possibilities a position is defined in a main plane, thus a plane parallel to either the XYplane, the XZ-plane or the YZ-plane. The plane in use is programmable with one of the G-functions for
plane selection.
Tool in
Main plane
G17
G18
G19
Z-axis
Y-axis
X-axis
G20
W-axis|
XY-plane
XZ-plane
YZ-plane
XY-plane
CARTESIAN COORDINATES
With the absolute cartesian coordinates the position is determined by the distances measured along the
axes from the program datum point W (= origin of the coordinate system) to the endpoint of the tool
movement.
P2
:
y2
yi
P1
O;
x
x1
.
x2
NB6814
Section 3 - 4
Programming CNC3460/700
891025
fc
With the incremental cartesian coordinates the position is determined by the distances measured along
the axes from the present tool position to the final one.
P2
&
Ay
0:
%
P1
y
I:'
A x
NB6821
<
Programming incremental cartesian coordinates is established by the modal function G91 and cancelled
with G90. Internally the control operates with absolute cartesian coordinates related to the program
datum point. Therefore within a particular program it is possible to change arbitrarily from absolute to
incremental and vice versa. The position on the display of the control is always absolute.
At the start of a program or at CLEAR CONTROL the control is automatically set for programming
absolute cartesian coordinates.The function G90 only has to be programmed when changing from
incremental cartesian coordinates to the absolute ones.
Programming a cartesian coordinate
891025
Programming CNC3460/700
Section 3- 5
For a linear axis, however, the maximum programmable value depends also on the maximum
displacement of the axis and the position of the program datum. An error message is displayed and
further processing of the program inhibited, if the maximum displacement of an axis is violated on the
machine tool.
For a rotary axis the maximum value corresponds with about 5555 revolutions.
The coordinate value can have a plus or minus sign.With absolute cartesian coordinates the sign indicates
the position on the axis. With incremental cartesian coordinates the sign indicates the direction of
movement in the axis.
EXAMPLE 3.3.1.-1
P3
P2
70
60
y
30
20,
v
P1
wx
30
30
60
P4
80
I
*
!:
NB6830
In figure 3.3.1.-3 a mill has to move from point P1, to P2, to P3, to P4. With' absolute cartesian
coordinates these movements are programmed as follows:
:]
N10
N11
N12
N13
GO
G1
X-60
X-30
X 30
X 90
Y-20
Y 60
Y 70
Y-30
F1000
(P1)
(P2)
(P3)
(P4)
Explanation:
: A movement with rapid traverse rate (GO) to point P1.
N10
N11-N13 : Movements with feedrate (1000 mm/min) to the points P2, P3 and P4.
Section 3 - 6
Programming CNC3460/700
891025
EXAMPLE 3.3.1.-2
60
50
30
P3
P2
100
80
20.
&
10
w x
Av
P1
60
P4
NB6822
With incremental cartesian coordinates the movements of figure 3.3.1.-4 can be programmed as follows :
L
%.
I'
N10
N11
M2
N13
GO
G91
G1
TFJ14
X-60
Y- 20
X 30
X 60
Y 80
Y 10
Y-100
X 60
(P1)
F1000
(P2)
(P3)
(P4)
iv
Explanation:
N10
: Point P1 is programmed with absolute coordinates
: Set the programming for incremental coordinates
N11
N12-N14 : The movements to the points P2, P3 and P4 are programmed with incremental values.
891025
Programming CNC3460/700
Section 3 - 7
3.3.2.
POLAR COORDINATES
'
"SS
P2
S-i
L2=
P1
<
B2=
P
iJf.
NB6815
'
m.
<
Section 3 - 8
Programming CNC3460/700
891025
The angle is programmed in decimal degrees and ranges from +360 degr to -360 degr with a minimum
value of .001 degree.
B2=+
+x
B2=-
P
NB6816
%
Fig. 3.3.2.-2 The sign of the angle In the XY-plane.
S
In the XY-plane (G17 or G20 active) the angle is measured with the positive X-axis. The angle is positive
with a rotation from +X to +Y and negative with a rotation from +X to -Y
+z
B2=-
B2=+
+X
P
NB6817
891025
Programming CNC3460/700
Section 3 - 9
+z
w
p
B2=-
+y
B2=+
NB6818
In the YZ-plane (G19 active) the angle is measured with the negative Z-axis. The angle is positive with a
rotation from -Z to +Y and negative with a rotation from -Z to -Y.
Section 3-10
Programming CNC3460/700
891025
L2=+
B2=+
L2=W
P
NB6819
P2
L1=.
B1=
P1
NB7957
Refer to the description of the word B2= for the axis to be used in the different planes and the sign
conventions.
m
891025
Programming CNC3460/700
Section 3 -11
P1
P2
L1=+
B1=+
B1=+
P1
P2
L1=-
x
NB6899
m
Section 3 - 12
Programming CNC3460/700
891025
EXAMPLE 3.3.2.-1
P3
P2
76.158,
.67.082
.116563
11
PI
63.245
161565
18435
94.868
P4
NB6820
With absolute polar coordinates the movements of figure 3.3.2.-8 can be programmed as follows :
N10
N11
N12
GO
G1
N13
B2=B2=
B2=
B2=-
161.565
116.565
66.801
L2
L2
L2
18.435
L2
* 63.245
=67.082
=76.158
= 94.868
(P1)
(P2)
(P3)
(P4)
F1000
Explanation:
N10
N11-N13
891025
Programming CNC3460/700
Section 3 - 13
EXAMPLE 3.3.2.-2
60.828
P31
9462
59036
85.44,
116.619
69444
w
PI
20.
60
P4
NB6824
Section 3 - 14
Programming CNC3460/700
891025
With incremental polar coordinates the movements of figure 3.3.2.-9 can be programmed as follows :
N10 GO
N11 G1
N12
N13
X- 60
B1= 69.444
B1= 9.462
B1=-59.036
Y- 20
L1= 85.44
L1= 60.828
L1=116.619
F1000
(P1)
(P2)
(P3)
(P4)
Explanation:
N10
: Point P1 is programmed with absolute cartesian coordinates
N11-N13 : The points P2, P3 and P4 are programmed with incremental polar coordinates.
The cartesian coordinate can be programmed absolute (G90 active) or incremental (G91 active).
For programming the angle refer to the description of the word B2= in section 3.3.2 for the axis to be
used in the different planes and the sign conventions.
P1
P1
B1=
PI
X
B1=
y.
NB7&58
891025
Programming CNC3460/700
Section 3 -15
P1
P1
y
B1=
B1=
b
NB6829
EXAMPLE 3.3.3.-1
X2
30
PI
45
P0
60
wx
15
NB6825
GO
G1
X5
X15
Y10
Y45
B1=60
B1=30
F1000
(PO)
(P1)
(P2)
Explanation:
Section 3 -16
Programming CNC3460/700
891025
EXAMPLE 3.3.3.-2
60
P1
r-f
y P0
30
mi:
5W
25
10
NB6826
Fig. 3.3.3.-4 Incremental cartesian coordinate and angle
&
GO
X5
Y10
(PO)
N11 G91
N12
N13
G1
X25
X10
B1=30
B1=60
F1000
(PI)
(P2)
Explanation:
3.4.
A symbolic name P1, P2, etc. can be given to the points on a drawing. Then a list can be prepared with
these symbolic names and the associated absolute coordinates (cartesian or polar) of the points. With
the point definition function (G78) the symbolic name and the coordinates of the point are stored in the
point memory of the control. The number of points which can be stored, is determined by a MC-setting.
The maximum number is 255.
A G78-block contains :
the symbolic name of the point programmed with the P-word as P1, P2, up to P255 or as P1=
P2= .etc.
the cartesian coordinates of the point for the possible axes. For the position in the main plane
also absolute polar coordinates are allowed.
No other words are allowed in a G78 block and only one point can be defined in it.
891025
Programming CNC3460/700
Section 3- 17
N100
G78 P1
X100
Y100
ZO
In this case the symbolic name P1 and the associated coordinates X, Y and Z are stored in the point
memory of the control.
The symbolic name is used later on in the part program. If the block is executed, the control automatically
picks up the associated coordinates. They are assumed to be related to the program datum W in use at
this particular moment. A point defined with polar coordinates is assumed to ly in the activated main
plane.
In the blocks with G2, G3, G77, G92 or G93 only one defined point can be written.
tr
&
P3
P2
70
60
y
30
20,
PI
Vx
30
30
60
P4
80
NB6830
With the function G78 the points P1, P2, P3 and P4 from figure 3.4.-1 and the associated coordinates
are stored in the point memory of the control.The movements from P1, to P2, to P3 and to P4 are
programmed with only these symbolic names.
Section 3- 18
Programming CNC3460/700
891025
'
:J
N10
N11
N12
N13
G78
G78
G78
G78
N90
N91
N92
N93
GO
G1
X-60
X-30
X 30
X 90
P1
P2
P3
P4
Y-20
Y 60
Y 70
Y-30
P1
P2
P3
P4
F1000
P3
P2
76.158,
,67.082
.116563
801
if
7
3435
P1
63.245
161565
94.868
P4
NB6820
Fig. 3.4.-2 Points defined with polar coordinates
The movements from P1, to P2, to P3, to P4 using the point definition and the polar coordinates could
be programmed as follows :
N10
N11
N12
N13
G78
G78
G78
G78
P1
P2
N90
N91
N92
N93
GO
G1
P1
P2
P3
P4
P3
P4
B2=- 161.565
B2= 116.563
B2= 66.801
B2=- 18.435
L2= 63.245
L2= 67.082
L2= 76.158
L2= 94.868
F1000
Programming CNC3460/700
Section 3- 19
3.5.
[G180/G182]
Up to now was described, how to program a position in the standard machine tool coordinate system.
However, it is also possible to use another coordinate system in which a position can be programmed in
the plane of the cylinder surface.
Two G-functions are provided to indicate which coordinate system is used:
j
-
I
1
<
%
Section 3 - 20
Programming CNC3460/700
891025
4.
4.1.
1.
1.
Symbol :
(R)
4T R
Every axis of the machine has a fixed point depending on the machine design, the reference datum
point of that axis.
During REFERENCE POINT SEARCH (see operators manual) the tool moves to the reference datum
point of the selected axis (or axes ). When running over the datum point the axis is automatically zeroed
by the control and the positions of the software limit switches are set.
The reference datum points of all axes form the machine reference datum point (R).
2.
(MO)
Symbol :
The geometric machine zero datum point is also a fixed point on the machine, e.g. the centre of the
table.
When the control system is commissioned, the distances from the machine reference datum point (R) to
the geometric machine zero datum point (MO) are measured (along the axes) and stored in the machine
constant memory. Per axis a MC is available.
Once the machine reference datum point R is found after REFERENCE POINT SEARCH, the
associated dimensions are picked up by the control from the MC memory. The geometric machine zero
datum point MO is set as the origin of the coordinate system. The displayed positions are related to this
datum point.
re
891025
programming CNC3460/700
Section 4 - 1
0
MC-DATA
3.
(Mi)
Symbol:
If the machine tool has several clamping stations, such as pallet stations or more than one rotary
table, then each clamping station has its own fixed point in the geometry of the machine tool. These
fixed points are the so called secondary machine zero datum points (Mi).The distances, measured
along the axes, from the geometric machine zero datum point MO to one of the secondary machine
zero datum points Mi are stored in the zero offset memory. Six secondary points can be stored in
this way. For activating these datum points: see section 4.2.
M
0
MC-DATA
M
I
ZERO-OFFSETS
(C)
Symbol:
Once the secondary machine zero datum point Mi is determined the datum point on the mounting
device has to be established. This datum point can coincide with the active Mi or can be set via
PRESET AXIS. Refer to section 4.3.
Section 4 - 2
Programming CNC3460/700
891025
to*
T R
M
0
MC-DATA
M
I
ZERO-OFFSETS
PRESET AXIS
Remark: When using an external program call with offset values (part of the optional automation
package), point C is also automatically set by the control.
5.
(W)
Symbol:
The program zero datum point W is the datum point used to describe the part program. The position of
point W depends very much on the workpiece. It is best selected in such a way, that programming
involves the minimum additional calculations. With zero datum point shifts (see section 4.4.) point W can
be located at any position of the machine tool. The shift values are either related to C (G93) or to the
last datum point W (G92).
G92
toR
MC-DATA
s-
M
0
ZERO-OFFSETS
M
i
-e~
PRESET AXIS
G92
-C0
, G93 (92)
G93
G93
NB7978
Fig 4.1.-5 Schematic relation between R, MO, Ml, C and W
891025
Programming CNC3460/700
Section 4 - 3
4.2.
[G53/G59]
The stored zero offsets are used to relate the six secondary machine zero datum points (Mi) to the
geometric machine zero datum point (MO).To each secondary machine zero datum point corresponds
one of the preparatory functions G54 to G59. The axial distances measured from MO to Mi together
with the corresponding G-function are stored in the zero offset memory of the control. Seven Gfunctions for stored zero offsets (G53 to G59) are available. They form one group and only one
function can be active at a time.
The meaning of the G-functions is:
- G53
To cancel any active offset function.
The control uses the offset 0 for all axes, so MO is the active machine zero datum point. At
switching on the control or after REFERENCE POINT SEARCH the function G53 is
automatically activated.
- G54/59 : To define in the offset memory and to activate in the part program one of the six
secondary machine zero datum points Mi (1<=i<=6).
For activating stored zero offsets the associated G-function is programmed in a block. At the execution
of that block the control picks up the corresponding stored offsets and uses these values for setting
the required secondary machine datum point. This datum point remains valid until another function for
the stored zero offsets is programmed and is not influenced by CLEAR CONTROL. After activating
another function, any active datum point shift (G92 or G93) is cancelled. The offset values
corresponding to an activated G52 (preset axis, section 4.3.) are not influenced.
In a block with a G-function for a stored zero offset dimensions can be programmed. These dimensions
are related to the new secondary machine zero datum point. Other words like F, S, T and M are also
allowed in the block.
Prior to the execution of the program the offset values must be stored in the zero offset memory of the
control. This can be done via the operators panel or a data carrier.
Part 2
Part 1
+ yl
G54
S9! \ + x
M
\\
r%
G55
+
r
Hi
M
2
NB6085
Fig. 4.2.-1 Two parts with different datum points
Section 4 - 4
Programming CNC3460/700
891025
Figure 4.2.-1 shows two workpieces with secondary machine zero datum points M1 and M2 clamped to
a common table.
Y-100
Z300
The function G54 is associated with this datum point. This function together with the dimensions are
stored in the zero offset memory.The part program for workpiece 1 starts with a G54-block for
activating M1.
The machine zero datum point of the second workpiece is related to preparatory function G55.
The distances between MO and M2 are as follows:
X 200
Y-200
Z100
These dimensions together with the function G55 are also stored in the zero offset memory.The part
program for workpiece 2 starts with G55 for activating M2.
4.3.
PRESET AXIS
[G51/G52]
If the position of the workpiece is not known very accurately, the position of the zero datum point of
the mounting device (C) has to be determined by means of measuring clocks or a mill of known
diameter. Once the exact position is thus established, the display shows the position of the tooltip (=
centre of the mill). With PRESET AXIS (see operators manual) the coordinates of the tooltip in the
coordinate system with point C as datum point are entered.
After finishing PRESET AXIS the control :
- calculates the axial distances from the active machine datum point (MO or Mi) to point C,
- stores the values in the zero offset memory together with the function G52,
- activates the function G52.
Point C is the datum point of the coordinate system now.
With the function G51 the stored preset values are ignored.The function G51 is automatically activated
at switching on the control or after REFERENCE POINT SEARCH.
The functions G51 or G52 are not influenced by CLEAR CONTROL. If G51 or G52 is activated, any
active datum point shift (G92 or G93) is cancelled. An active function for stored zero offsets (G54 to
G59) is not influenced.
re
891025
programming CNC3460/700
Section 4 - 5
After switching off the control or in case of a power failure the datum point is lost. The datum point of
the mounting C once found with PRESET AXIS can be re-established via TEACH IN and G52 without
making new measurements for finding the datum point. If one of the functions G54 to G59 is used in
the program, but not programmed, then that function has to be activated too.
The functions G51 or G52 can also be used in the part program. In such a block dimensions can be
programmed too. These dimensions are related to the zero datum point of the mounting. Other words
like F, S, T and M are also allowed in the block.
Remark :
4.4.
If the part can be mounted very precisely, then determining the datum point of the
mounting (C) via PRESET AXIS is avoided. In this case C coincides with the active
machine zero datum point (MO or Mi).
[G92/G93]
The program zero datum point W can be established arbitrarily within the range of the control system.
The position of W may optionally be changed, so as to simplify calculations at programming. Such
modifications of the program zero datum point are called zero datum point shifts. After a zero datum
point shift all absolute dimensions in a program are related to the last program zero datum point W. The
display always indicates absolute cartesian dimensions which are related to W.
There are two preparatory functions for a zero datum point shift:
The coordinates of the new program zero datum point refer to the previous one.
-G92 :
This function is preferred, if the program contains repeats.
The coordinates of the new program zero datum point refer to the zero datum point of the
- G93 :
mounting (C). Function G93 is used:
- For shifting the zero datum point from C to the program zero datum point W.
- To cancel several consecutively performed zero datum point shifts, programmed
with G92.
Section 4 - 6
Programming CNC3460/700
891025
When processing a block with a zero datum point shift, merely the coordinates of the tool position are
recalculated to the new program zero datum point.
In a part program the zero datum point can be changed several times and both ways of zero datum
point shifts may be used alternately.
At CLEAR CONTROL or if one of the G-functions G51 to G59 are executed, the datum point shifts are
cancelled.
--
40
40
-aKf-r
1-+
|
444
70
Trbf-44
40
40
!4
50
:6
w
90
200
Z=0
NB7956
Fig. 4.4.-1 Zero datum point shifts
The four holes around point A and the four holes around B should be drilled. In the program the zero
datum point is located at A or at B. In this way calculations during programming are reduced to a
minimum.Refer to chapter 8 of this programming manual for the G-functions G81 and G79.
1. Program with G92
N10 G81
N11 G92
N12 G79
N13
N14
N15
N16
N17
N18
N19
N20
891025
G79
G79
G79
G92
G79
G79
G79
G79
Y 1 Z-10
X 90 Y 70
X 20 Y 20 Z 0
X-20
Y-20
X 20
X200 Y-20
X-20 Y-20
X 20
Y 20
X-20
F200
S500 M3
Programming CNC3460/700
Section 4 - 7
Explanation:
N10
N11
N12-N15
N16
N17-N20
G81
G93
G79
G79
G79
N15
N16
N17
N18
N19
N20
G79
G93
G79
G79
G79
G79
X 90
X 20
X-20
Y 1
Y 70
Y 20
Z-10
F200 S500 M3
Z 0
Y-20
X 20
X290
X-20
X 20
Y 50
Y-20
Y 20
X-20
Explanation:
The program is equivalent to the previous one, except the following modifications:
N11 : The zero datum point is shifted from C to A.
N16 : The zero datum point is shifted from C to B.
If the points A and B have the same Y-coordinate, block N16 looks as follows:
4.5.
1st program:
2nd program:
How the program datum point is established at program start depends very much on the mounting of
the workpiece.
Section 4 - 8
Programming CNC3460/700
891025
1.
With a series of the same products it is useful to make a special mounting so that the position of the part
in the geometry of the machine tool is known very accurately. In this case the program can run each time
with the less interference of the operator.
The part program starts with a zero datum point shift (G93) from machine zero datum point (MO or Mi)
to program zero datum point (W).
+y
M
+y
100
+x
'W + x
NB7955
Fig. 4.5.-1 Precisely mounted workpiece
The machine zero datum point (MO or Mi) is situated in the centre of the table. The workpiece is clamped
in such a way that its centre is also in the centre of the table. The program zero datum point (W) is
selected in a corner of the workpiece.
One of the first blocks in the part program then could be:
/
N20
After processing this block, W will be the program zero datum point.
2.
If the position of the workpiece with respect to the machine zero datum point (MO or Mi) is not known
to the part programmer, he indicates on the drawing of the mounting where the datum point of the
mounting C should be and starts his program with the function G52.
Before the execution of the program the operator has to determine - either with measuring clocks or a
tool of known diameter - the position of C with respect to MO or Mi. With PRESET AXIS (see section
4.3 and the operator's manual) the position of C together with the function G52 is stored in the offset
memory.
891025
Programming CNC3460/700
Section 4 - 9
dl
'wmmmmmmm.
NB7324
A cutter 0 80 is moved so that it touches the workpiece on two sides. Once this position is reached, the
datum point of the mounting C is established by entering the values X-40 and Y-40 via the keyboard
(see operator s manual PRESET AXIS). After finishing PRESET AXIS, point C is the zero datum point
and the function G52 automaticcaly activated.
Remark :
A zero datum point shift (G92 or G93) -entered in TEACH IN - will not work, because such
a zero point shift is cancelled at CLEAR CONTROL.If the block with G92/G93 is in the
part program, the block will be executed correctly. But after switching off the control the
datum point is lost and has to be established again.
Section 4- 10
Programming CNC3460/700
891025
5.
MOTION COMMANDS
5.1
5.1.1.
RAPID TRAVERSE
[GO]
A movement with rapid traverse rate to the endpoint is programmed with the function GO. Refer to
chapter 3 for programming the endpoint. Absolute positions are programmed with regard to W.
The movement is executed with INPOSITION, i.e. all axes must have reached their position before the
next movement starts.
With a parameter in a G28-block the movements in the next block can be forced to start without
INPOSITION, thus without a stop between the blocks (See section 5.8.1 for INPOSITION).
All six axes can be programmed in the block, but there is a fixed sequence in which the axes move, the
so called positioning logic (See section 5.1.2.). The positioning logic can be switched off with a G28 (See
section 5.8.2). In that case all programmed axes move simultaneously.
The function GO is automatically preset at the start of a program or at CLEAR CONTROL.
5.1.2.
POSITIONING LOGIC
In a GO-block all axes recognized by the control, can be programmed, but there is a fixed sequence in
which the axes will move. The fixed sequence (= the positioning logic) depends on the active G-function
for the main plane and on the movement in the tool axis.
1. Tool towards the workpiece.
With G66 active a movement in the negative direction and with G67 active in the positive direction of
the tool axis.
1. movement
2. movement
3. movement
891025
G17
G18
G19
4. axis
4. axis
XandY
Z-axis
X and Z
Y-axis
4. axis
Y and Z
X-axis
Programming CNC3460/700
Section 5 - 1
With G66 active a movement in the positive direction and with G67 active in the negative direction of
the tool axis.
G17
G18
G19
1. movement
2. movement
Z-axis
XandY
Y-axis
XandZ
3. movement
4. axis
4. axis
X-axis
Y and Z
4. axis
Remark :
If the axes 5 and/or 6 are also programmed, they move simultaneously with the 4.axis.
2.
3.
The movement in the main plane is under full control of the linear interpolator.
4.
EXAMPLE 5.1.2.-1
15
P1
10
5
+y
x'
5
+z
10
15
20
25
10
W '
20
NB5788
Fig. 5.1.2.-1 A positioning
1. Movement to the part
Section 5 - 2
GO
X 25
Y 15 Z 10
Programming CNC3460/700
891025
In this case the actual movements are (G17 and G66 are assumed to be active):
GO
X 10 Y 10 Z 20
In this case the actual movements are (G17 and G66 are assumed to be active):
If the positioning logic is switched off, the positioning from P1 to P2 can be programmed as :
N40
5.1.3.
[G74]
For programming cycles for toolchangers, pallet stations, etc. a movement with rapid traverse rate to a
position with regard to the reference point R is introduced. This movement is programmed with G74.
All datum point offsets (from R to M0, from M0 to Mi, from Mi to C and from C to W) are suppressed
during the execution of the G74-block. The programmed position is not influenced by axes rotation or
scaling.
All axes can be programmed in a block and they move simultaneously during the execution of the G74
block.The movement is executed with INPOSITION, i.e. all axes must have reached their position before
the next movement starts. (See section 5.8.1 INPOSITION ).
891025
Programming CNC3460/700
Section 5 - 3
An incremental position after a G74-block has to be programmed with regard to the position in the G74block.
The function G74 is not allowed during the geometry (G64 active).
EXAMPLE 5.1.3.-1 A rapid movement to a position with regard to R
P
33
ih
120
W
G93
45
x
M,
G54
MC y
"MC
G54
G93
130
NB7980
Fig. 5.1.3.-1 A positioning with regard to R
From point P in figure 5.1.3.-1 the coordinates are known with regard to R. The positioning to P is
programmed as :
N10
N11
GO X 45 Y 33
G74 X130 Y120
f
Section 5 - 4
Programming CNC3460/700
891025
LINEAR INTERPOLATION
5.2.
[G1]
In linear interpolation activated with the function G1, the tool moves with the programmed feedrate (Fword) along a straight line between the starting point, i.e. the actual tool position, and the programmed
endpoint. For a position in the main plane defined by G17, G18 or G19 all possibilities from chapter 3
can be used. A position outside the main plane can be programmed with cartesian coordinates only.
Up to 10 previously defined points (P-word) are allowed in one G1-block. The points are approached in
the order in which they are written in the block.
The next movement starts as soon as the programmed position is reached according to the calculations
in the control. With a parameter in a G28-block the movements can be forced to actually reach the
position (See section 5.8.1 for INPOSITION).
5.2.1
With one or two linear axes in a G1 -block a straight line in the plane defined by the endpoint
coordinates is made.
EXAMPLE 5.2.1.-1 Linear movements in the main plane
50
10
NB7979
891025
Programming CNC3460/700
Section 5 - 5
G54
GO
G1
G43
G41
G1
N2
N3
N4
N5
N6
N7
N8
N9
T1
X 30 Y-57.5Z-12
S500
F500
M6
M3
Y-42.5
X-25
B1= 120
B1= 60
L1=50
L1=50
B1=- 60
B1=-120
L1=50
L1=50
X 25
N10
N11
N12
N13
N14
G40
GO
X 30 Y-57.5
Z100
N15
M30
Explanation:
N1
N2
N3
N4
N5
N6-N11
N12
M3
N14
N15
5.2.2.
Using a rotary axis only or with one linear axis results in a number of cases which are described
separately. For explaining the possibilities it is assumed that the rotation takes place about the Y-axis,
thus the rotary axis is programmed with B. The tool is either in the Z- (X-) or Y-axis. The radius from
the pivot centre to the surface is programmed with the word B40=.. (A40=.. for the A-axis and C40=..
for the C-axis).
Remark :
1.
In stead of the word B40= (A40= or C40=) the R-word can be used.
2.
In stead of the axes X, Y and Z the parallel axes U, V and W (if available) can be used.
Section 5 - 6
Programming CNC3460/700
891025
NB7981
Fig. 5.2.2.-1 A circular arc In the facing plane
R
y
w
x
NB7982
Fig. 5.2.2.-2 A groove on the cylinder
In both cases the programming of the movement with the rotary axis is as follows:
N10
G1
B..
B40=..
B..
B40=..
F..
891025
Programming CNC3460/700
Section 5-7
F.. :
the feedrate.
With B40=0 or not programmed, F.. is the feedrate in degrees/min. Make sure that G94 has been
previously activated.
Otherwise, F.. is the feedrate on the surface in mm (inches) /min or mm (inches) /rev.
fl
2. Y- and B-axis
i
i
>
B+
<
X+
Fig. S.2.2.-3 Movement with Y- and B-axis
The programming of this movement is as follows:
N10
G1
Y..
B..
B40=..
B40=..
F..
Refer to chapter 13 for programming more complicated movements in the plane of the cylinder surface.
Section 5 - 8
Programming CNC3460/700
891025
3. X- or Z- and B-axis
i
r"
lV
\\\
LV
i i
I'll
IJ
h/
s?
y
Fig. 5.2.2.-4 A spiral in the facing plane
N10
Z..(X..)
B..
B40=..
F..
: the average radius of the path. This radius is used for speed calculations in the control.
When Rb is the radius at the start and Re the radius at the end, then:
Rb + Re
B40 =
2
111m
i \\\'\\\\\ i
5 I
I
I
I I
11
!I
20_
Fig. 5.2.2.-5 A helix on a cylinder surface
n
891025
Programming CNC3460/700
Section 5 - 9
The helix of figure 5.2.2.-5 (pitch 6 mm ; 10 turns) should be made on the surface of a cylinder. The tool
is in the Z-axis. The program for this helix could be:
N10
N11
N12
N13
N14
G17
GO
G1
GO
T1
X 20 Y 80 Z 22
BO
Z-18
Y 20
B3600 B40=20
Z100
S200
M6
M3
F100
F200
Explanation:
N10
N11
N12
M3
N14
EXAMPLE 5.2.2.-2
H ftff/y>
Iji
AY
CTI
\\\ \il
(Ji
III
/// //,
rv.
The spiral of figure S.2.2.-6 (pitch 6 mm ; 4 turns) should be made with the rotary table and a
simultaneous movement of the Z-axis. The program could be:
G18
GO
G1
N10
N11
N12
N13
N14
GO
T1
X0
Y2
Y-2
Z5
B0
Z29
B1440 B40=17
S200
M6
M3
F100
F200
Y100
Explanation:
N10
N11
N12
N13
N14
Section 5-10
Programming CNC3460/700
891025
5.2.3.
3D-INTERP0LATI0N
If three axes are programmed in one block, these axes move simultaneously. Their motions are controlled
by the linear interpolation. Two cases are considered:
- three linear axes, see section 5.2.3.1,
- two linear axes and a rotary axis, see section 5.2.3.2.
Refer to section 5.2.4 for linear movements with which more than one rotary axis is involved.
5.2.3.1.
If the three main axes X, Y and Z are programmed in one block, a straight line in space is made. The pro
grammed feedrate is the speed along the straight line
In the main plane all possibilities for programming a position (see chapter 3) and the radius compensa
tion (see chapter 6) can be used.
Included in the CAD-option of the control is a 3D-tool correction with normalized vectors. Refer to
chapter 6 for a description of this option.
REMARK : The linear axes U, V or W (if available on the machine tool) parallel to the main axes can be
used in stead of X, Y or Z. The axes U, V and W are restricted to cartesian coordinates.
EXAMPLE 5.2.3.1.-1 3 D-interpolation
20 --
10-.
ya
10
Z
10
20/ll>
30
(20)
/(20)
P1 //
(5) l
P2
(40)
30
(10)
40
(30)
NB5787A
n
891025
Programming CNC3460/700
Section 5-11
In figure 5.2.3.1.-1 the tool moves from point P1 (10, 5, 20) to point P2 (30, 10, 40) at a feedrate of
100mm/min. With absolute dimensions the movement could be programmed as follows:
N14
N15
GO
G1
X 10 Y 5 Z 20
X 30 Y 10 Z 40 F100
In block N15 the three axes move simultaneously and reach their endpositions at the same time.
__
__ _____
u
za
\
2
%-r7
z>
A part program for the workpiece from figure 5.2.3.1.-2 using radius compensation could be:
N9003
N1
N2
N3
N4
N5
N6
N7
T1
G1
G43
G41
X 80
Y-20 ZO
X 80
X 75
YO
XO
X 75
Y 75 Z10
Y100 ZO
S2000
M6
M3
F1000
G40
N8
Section 5-12
M30
Y120
Programming CNC3460/700
891025
Explanation:
N9003
N1
N2
N3
N4
N5
N6
N7
N8
5.2.3.2.
:
:
:
:
:
:
:
:
:
Tool 1 is loaded.
The spindle starts and then the tool moves to the starting position.
Linear interpolation and the feedrate is set.
The tool moves TO the workpiece.
The tool moves to the starting point of the slope.
The slope is followed; the path in the XY-plane is corrected for the radius.
The second slope is followed.
The radius compensation is cancelled.
The tool moves away from part.
r*
\
\
i
i
t
I
/
:
t
N10
G1
X..
X../ Y../ B.. : the endpoint coordinates of the X-, Y- and B-axis the tool is standing in the Z-axis
B40=..
Refer to section 5.2.2 (1) for cancelling the radius, (2) for the F-word and (3) for calculating the
average radius.
891025
Programming CNC3460/700
Section 5-13
5.2.4.
In a G1-block any combination of the three linear axes X-(U), Y- (V) or Z- (W) and the three rotary
axes A, B or C (if available) is allowed. A position in the main plane can be programmed as described in
chapter 3. The programming of the other axes is restricted to cartesian coordinates.
ITi
It s
c*
X
v
N
Fig. 5.2.4.-1 Machine tool with rotary table and tilting head
xJg-z
*r
Fig. 5.2.4.-2 Machine tool with rotary table and tilting table
For feed calculations the radius of each rotary axis involved, can be programmed with A40= (for the Aaxis), B40= (for the B-axis) and C40= (for the C-axis). If the radius of an axis is not programmed, the
feed for that axis is calculated by the control. If no radius is programmed at all, the programmed feed is
used on the path of the linear axes and a feed for each rotary axis calculated, so that all axes have
covered the same part of their distances to go in the same time. If the maximum feed of an axis (MCsetting) is exceeded, the actual feed is reduced, so that the movement is executed with the maximum
feedrate.
n
Section 5-14
Programming CNC3460/700
891025
5.3.
CIRCULAR INTERPOLATION
In circular interpolation, the tool moves with the programmed feedrate (F-word) along a circular arc
between the starting point, i.e. the actual tool position, and the programmed endpoint.
The next block starts as soon as the programmed position is reached according to the calculations in the
control. With a parameter in a G28-block the movements can be forced to actually reach the position
(See section 5.8.1 INPOSITION).
Circular interpolation is always executed in a plane parallel to one of the main planes, thus the XY-plane,
the XZ-plane or the YZ-plane and is restricted to linear axes only.
Two cases have to be considered:
a.
the tool is perpendicular to the plane of the circle. Now it is parallel to the main plane defined by
G17, G18 or G19. This case is described in section 5.3.2.
b.
the tool is not perpendicular to the plane of the circle. This case is described in section 5.3.3.
DIRECTION OF MOVEMENT
[G2/G3]
To determine the direction of movement one has to look in the negative direction of the axis
perpendicular to the plane of the circle. Then the movement is called clockwise (counterclockwise), when
the direction of movement on the arc is clockwise (counterclockwise). The preparatory function G2 is
used to indicate the clockwise movement and G3 for counterclockwise.
,Y
,Y
z
NB5790
02
G3
Remark : When the function G67 is active (see section 6.1.2.), one has to look from the tool to the
plane.
r
'
891025
Programming CNC3460/700
Section 5 -15
5.3.2.A
The following description applies only, if the tool is perpendicular to the plane of the circle. In this case
the radius compensation (see chapter 6) can also be used.
Refer to section 5.3.3 if the tool is not perpendicular to the plane of the circle.
5.3.2.1
Cartesian coordinates
[I. J. K]
The cartesian coordinates are programmed with the words I for the X-axis, J for the Y-axis and K for
the Z-axis If G90 is active, thus absolute cartesian coordinates, then I, J and K are also coordinates with
regard to W. If G91 is active, I, J and K are incremental values from the starting point to the centre.
r\
Section 5 -16
Programming CNC3460/700
891025
r
a=:
K
rb
o-2
w
x
w
gao
S9
G17
G18
G19
plane
XY-plane
XZ-plane
YZ-plane
centre
i and J
I and K
J and K
[B3= , L3=]
Polar coordinates
The (absolute) polar coordinates of the centre are programmed with the words :
- B3= :
the angle the line through the program datum point W and the centre of the circle makes
with an axis.
- L3= r
Y
B3
W
Refer to section 3.3.2 the description of B2= and L2= for the programming conventions of the polar
angle and length.
891025
Programming CNC3460/700
Sections - 17
n
B
3S
25-
fA
15 .y
35
55
45
G1
G3
X 55
X 45
Y 25
Y 35 R 10
F100
Explanation:
N10 :
N20 :
B
o
o
Y
W
* 30
(0
NB6827
N10
N11
G1
G2
X 30 Y 30
1 40 J 20
B5=120
F500
n
:]
Sections - 18
Programming CNC3460/700
891025
Explanation:
N10 :
N11 :
40
30
,<303
25
20
os
142.5; 10.0671
(19 ;
25 )
251
A*
Y,
20
30
j 40
!
35
NBS791
N10
N11
G1
G3
X 42.5
X 19
Y 10.867
F200
I 35
Y 25
J 25
Explanation:
N10 :
N11 :
N10
N11
N12
G1
G91
G3
X 42.5
Y 10.867
X-23.5
Y 14.133
F200
I- 7.5
J 14.133
r
891025
Programming CNC3460/700
Section 5 -19
Explanation:
N10
N11
N12
Linear feed movement to the starting point A of the arc (absolute dimensions are used)
Set the programming for incremental coordinates
Here the coordinates X and Y are increments from point A to B. The coordinates I and J are
incremental values from A to the centre.
EXAMPLE 5.3.2.1.-4
PQ
[45
P1
15
CO
P2*
Yi
:s
P3
NB6831
GO
G1
G2
G1
XO Y 56.568
B1=-45
L1= 25
B1=-45
L1= 30
L1= 25
B1=-45
B3= 45
F200
L3= 40
Explanation:
N10 :
N11 :
N12 :
N13 :
n
Section 5 - 20
Programming CNC3460/700
891025
5.3.2.2.
fs
After making a full circle the tool is back at its starting point. Therefore making a full circle is programmed
with:
- the direction of movement on the circle
the coordinates of the centre point.
I
I
i
1
*
s
ii
AJ
JI.
GO
G1
G43
G41
G2
G40
G1
X 60 Y 90
Z-10
S1000 M3
F100
Y105
I 60
J 60
Y 90
Z100
Explanation:
N10
N11
N12
N13
N14
N15
N16
N17
With rapid traverse to point A, where the tool enters the hole.
Set the function for a linear feed movement
Move with feed (100mm/min) to the wall (G43)
Set radius compensation for a tool moving on the left hand side (G41).
Mill the full circle in clockwise direction (G2)
Cancel radius compensation (G40)
Move tool away from the wall
Retract the tool out of the hole
Refer to chapter 6 for an explanation of the functions for radius compensation (G40-G44).
r
891025
Programming CNC3460/700
Section 5 - 21
5.3.3.
When e.g. a circle has to be made in the XZ-plane and the tool, e.g. a ball cutter, is standing in the Zaxis, then the tool is not perpendicular to the plane of the circle. The following description applies for
these occasions.
Only cartesian coordinates (absolute or incremental) for the centre point or endpoint can be used. Also
the use of a previously defined point for the endpoint is restricted to cartesian coordinates. Radius
compensation is not possible.
For an arc up to 180 degrees either the radius (R-word) and both endpoint coordinates with which the
plane of the circle is defined, or the cartesian coordinates of the centre point can be programmed. If the
arc is greater than 180 degrees the cartesian coordinates of the centre point should be used.
If the centre point coordinates are used, these two coordinates define the plane of the circle and are
programmed with the words I for the X-axis, J for the Y-axis and K for the Z-axis.lf Q90 is active, thus
absolute cartesian coordinates, then I, J and K are also coordinates with regard to W.lf G91 is active, I,
J and K are incremental values from the starting point to the centre.
XY-plane
XZ-plane
YZ-plane
endpoint
XandY
X and Z
Y and Z
centre point
I and J
and K
J and K
EXAMPLE 5.3.3.-1
..2
V x
sfj-
n
Section 5 - 22
Programming CNC3460/700
891025
With a ball cutter 0 / 10 the shape of figure 5.3.3.-1 should be milled. The cutter path has to be
calculated and programmed. The program could be as follows:
N10
N11
M2
N13
N14
T1
GO
G1
G3
G1
X 15
X 20
X-20
X-15
YO
S1000
ZO
M6
M3
F200
ZO
R20
Explanation:
N10
N11
N12
N13
N14
:
:
:
:
:
5.3.4.
If the machine tool is equipped with a linear axis parallel to one of the main axes, this linear axis can also
be used with circular interpolation. In the plane with such a linear axis polar coordinates and radius com
pensation are not defined and cannot be used.
With the cartesian coordinates of the endpoint the plane of the circle is defined. So both coordinates of
the endpoint have to be programmed.
For an arc up to 180 degrees either the radius (R-word) or the cartesian coordinates (absolute or
incremental) of the centre point can be programmed. If the arc is greater than 180 degrees the cartesian
coordinates of the centre point should be used.
The centre point coordinates are programmed with the words I for the U-axis, J for the V-axis and K
for the W-axis.
Absolute coordinates have to be used, if G90 is active and increments from the starting point to the
centre, if G91 is active.
r
891025
Programming CNC3460/700
Section 5 - 23
From the tables 5.3.4.-1 to -4 can be derived, which centre point coordinates belong to which plane.
XV-plane
XW-plane
endpoint
XandV
Xand W
centre point
I and J
I and K
YV-plane
YW-plane
endpoint
YandU
Y and W
centre point
J and I
J and K
ZU -plane
ZV-plane
endpoint
Z and X
Zand Y
centre point
K and I
Kand J
ZW-plane
UV-plane
UW-plane
VW-plane
endpoint
U and V
UandW
V and W
centre point
I and J
I and K
J and K
O
Section 5 - 24
Programming CNC3460/700
891025
5.4.
A special interpolation procedure (2.5D) is available to perform a circular movement and simultaneously a
movement in the third axis. The total movement is executed in such a way, that the same part on the
circle and the linear axis is covered at each time.The programmed feedrate (F-word) is the surface speed.
If the circular movement is made in the main plane, the circle can be programmed as described in section
5.3.2. The third axis is the toolaxis and programmed with the corresponding word, thus:
plane
G17
G18
G19
XY-plane
XZ-plane
YZ-plane
toolaxis
21
25.
r
NB7983
Fig. 5.4.-1 Arc and linear movement simultaneously
T1
GO
G1
G43
G41
G2
G40
G1
XO
Y 35
S1000
ZO
M6
M3
F500
Y 25
X-25
YO
Z-21 1 0
JO
X-35
r
891025
Programming CNC3460/700
Section 5 - 25
Explanation:
N10 :
N11 :
N12 :
N13 :
N14 :
N15 :
N16 :
N17 :
Refer to chapter 6 for an explanation of the functions for radius compensation (G40-G44).
XY-plane
XZ-plane
YZ-plane
endpoint
XandY
XandZ
YandZ
centre point
land J
I and K
J and K
third axis
Section 5 - 26
Programming CNC3460/700
891025
5.5.
HELIX INTERPOLATION
In section 5.2.2 (point 2) is described how a helix can be made on a cylinder which axis coincides with
the axis of the rotary table. With helix interpolation a helix on any cylinder surface can be milled and is
programmed with:
- the circular movement in the main plane as described in section 5.3.2,
- the pitch of the helix,
- (if necessary) the endpoint of the Linear movement.
G17
tool axis
G18
G19
centre point
I and J
or
B3= and L3=
angle of arc
B5=
B5=
pitch of helix
I and K
or
B3= and L3=
J and K
or
B3= and L3=
B5=
I
With helix interpolation the word B5- ranges from 0 to 999999. This about 900 turns. During helix
interpolation the radius compensation can be used.
EXAMPLE 5.5.-1
Helix interpolation
T
o Y
J-4w
15
40 80
Z=0
r
891025
Programming CNC3460/700
Section 5 - 27
The thread of figure 5.5.-1 should be made. The program could be as follows:
G17
N10
N11
N12
GO
G1
G43
G42
G2
G40
G1
GO
N13
N14
N15
N16
N17
N18
X 40
Z 1.5
Y 40
S400
Y 62.5
T1
M3
M6
F120
140
J 40 K 1.5
B5=4320
Y 40
Z100
Explanation:
N10
N11
N12
N13
N14
N15
N16
N17
N18
Section 5 - 28
Programming CNC3460/700
891025
G17
G18
G19
tool axis
circle endpoint
Xand Y
XandZ
Y and Z
centre point
I and J
I and K
J and K
pitch of helix
third axis
In this case:
1.
The movements have to be programmed in such a way that the circular movement and the tool
axismovement reach their endposition at the same time.
2.
If radius compensation is used, the contour should be entered and left tangentially
Programmed are :
circle endpoint (X and Y),
depth (Z),
- circle centre (I and J),
- pitch of thread (K).
FEED PROGRAMMING
5.6.
The feedrate, thus the surface speed of the tool, is programmed with the F-word.
5.6.1
[G94/G95]
G94 active
With G94 active the feedrate (F-word) is programmed directly in mm/min or inch/min, depending on the
activated function for metric (G71) or inch (G70).
C
891025
Programming CNC3460/700
Section 5 - 29
G95 active
With G95 active the feedrate (F-word) is programmed in mm/rev or inch/rev, depending on the
activated function for metric (G71) or inch (G70).
r
V
The conversion to a feedrate in mm/min (inch/min) is carried out automatically by the control. If a spindle
transducer is available the measured spindle speed is used for the calculation; otherwise the programmed
speed.
5.6.2.
[G25/G26]
The function G26 is used to make the feed override on the operator's panel inoperative and fixed to
100%. Thus all following feed movements (G1, G2, G3) are executed with the programmed feedrate.
The feed override remains operative during the rapid movements (GO, G74) and the machining cycles.
With the function G25 the feed override is made operative again.
The function G25 is automatically set at the start of a program or at CLEAR CONTROL.
5.7.
DWELL
[G4]
A regular pause in the part program with a programmable duration of time can be executed for some
purpose.
The X-word is used for programming the time in seconds.
The maximum dwell time is 900 sec, the minimum time is .1 sec and the step size .1 sec.
The function is only effective in the block in which it is programmed. Any previously activated Gfunction, M-function, etc. remains valid for the subsequent blocks.
EXAMPLE5.7.-1
N10
G4
Programming a dwell
X2.5
Section 5 - 30
Programming CNC3460/700
891025
5.8.
[G27/G28]
5.8.1. INPOSITION
[13=714=]
During a movement the actual tool position is different from the position calculated by the control
(commanded position). How much the tool lags, depends on the velocity of the tool and the
position
'A
*o
'l
-time
Ncsin
r
position calculated by the control
At the time to the programmed position is reached according to the calculations in the control. At this
moment the calculations stop, but the tool is still moving. At the time t1 the programmed position is
actually reached by the tool. At this moment the tool is at rest or "INPOSITION".
So a movement without INPOSITION means, that the next movement starts as soon as the
programmed position is reached according to the calculations in the control. This is usually the case with
feed movements (G1, G2 or G3), because there is no stop between the blocks. A movement with
INPOSITION means, that the next movement starts as soon as the programmed position is actually
reached by the tool. This is usually the case with rapid movements.
The words I3= and I4= in a G28-block are used to program how the tool has to reach the programmed
position :
I3=0 (default value)
13=1
r
891025
Programming CNC3460/700
Section 5 - 31
5.8.2.
P5-]
With the word 15= in a G28-block is programmed how the positioning logic in a GO-block has to be
executed:
15=0 (default value) : GO is executed with positioning logic
: GO is executed without positioning logic
15=1
The parameters of a G28-block are modal and remain active until the same parameter is programmed
with the opposite value in another G28-block or until all parameters are set to their default values with a
G27 or at CLEAR CONTROL.
n
Section 5 - 32
Programming CNC3460/700
891025
I
1
PHILIPS
MACHINE
TOOL
CONTROLS
I
I CNC3000 Series
1
I" PHTC 1
Lny
DATE: 900704
The adapted text concerns the two paragraphs on page 5 below figure 6.1.2.-1.
Also the text on page 16 is adapted, the description of F1=1 and F1=2 has changed.
Already published updates
: none
PHILIPS
PHILIPS
[G66/G67]
The calculation for the length compensation must be executed in the direction the tool is pointing.
However, with e.g. an angular head in the X-axis, the tool can be pointing in either the positive or
negative direction of the tool axis. This would mean that the length value in the tool memory should be
positive or negative respectively.
Two preparatory functions (G66 and G67) are provided to indicate in which direction the tool is
pointing:
The tool is pointing in the negative direction of the toolaxis, thus a movement in the negative
G66 :
direction is a movement towards the workpiece.
G67 :
The tool is pointing in the positive direction of the toolaxis, thus a movement in the negative
direction is a movement away from the workpiece.
G18/G67
.G19/G67
X
G17/G66
G17/G67
-X
G19/G66
G18/G66
N05797
With the use of these functions the operator can always enter a positive length value in the
tool memory.
The direction of rotation for circular interpolation (G2/G3) is determined by looking from the tool at the
plane for the circle.
If necessary, a conversion is automatically performed by the control during the execution of the program.
The G-code for radius compensation (G41/G42) has to be determined by looking at the plane in the neg
ative direction of the toolaxis.
The last used function is not influenced by CLEAR CONTROL. The function G66 is automatically
activated after switching on. Because, in most cases the tool is pointing in either the negative Z- or with
an angular head in the negative Y-direction, there is no need to program the function G66. Only if the
tool can be used in the V or direction, one of the functions G66 or G67 have to be programmed.
900704
Programming CNC3460/M600/M700
Section 6 - 5
6.2.
With milling operations the tool radius must always be considered. With movements over a surface, the
part programmer has to calculate and to program the cutter path, thus the path of the tool point.
If any edge has to be machined, the part programmer can calculate and program the cutter path taking
into account the tool radius. When that program is executed, a tool with the appropriate radius has to
be used, for otherwise the wrong workpiece is made. To make the execution more flexible it is possible:
- to store in the tool memory a correction-value on the radius:
"+" for an oversized cutter and
for an undersized one.
- to use the radius compensation as described in the following sections with this correction.
The tool radius compensation of the control permits programming the edge without knowing the tool
radius. The calculation of the cutter path is left to the control which uses the stored radius of the active
tool. The actual size of the tool is not used in the program, so at execution any radius can be used.
There are five preparatory functions (G40, G41, G42, G43, G44) for the radius compensation forming
one group of which only one function can be active at a time. The 3D-tool correction with normalized
G40
G141
Section 6 - 6
Programming CNC3460/M600/M700
900704
T
W
During the tool movements (see figure 6.2.4.-2) the radius compensation LEFT is active. At point B the
radius compensation is cancelled and the programmed point E is a position of the tool tip. The control
calculates the intersection point between the parallel pathes of AB and BE and the tool moves (N20 see
sample program 2) to that point. In the G40-block (N21) the tool moves directly from the intersection
point to point E.
A-
B
N8S808
Sample program 2 for cancelling radius compensation with a movement in the G40-block.
N10 G41
N..
N20 G1
N21 G40
XB YB
XE YE
N22
Remark :
If the control generates a circle between the movements AB and BE, this circle (from B to
B" in figure 6.2.4.-3) is executed and then the movement to point E takes place.
jr
/
/
NB6170
900704
Programming CNC3460/M600/M700
Section 6- 15
6.2.5.
[F1=]
In general the feedrate on the surface of the tool is programmed. However, the velocity of the tool tip is
controlled. With radius compensation active the control can adapt the programmed feedrate to the feed
of the tool tip taking into account the used tool radius. With the word F1= the type of feed adaptation is
programmed.
- F1=0 :
No feed adaptation the programmed feedrate is the velocity of the tool tip.
- F1=1
If the tool is moving on the inside of a circular arc, the feedrate is reduced taking into ac
count the used tool radius.
- F1=2 :
If the tool is moving on the inside of a circular arc, the feedrate is reduced and with a
movement on the outside the feedrate is increased. In both cases the used tool radius is
taken into account. If the calculated feedrate is greater than a maximum value (MC-setting),
the exeeded value is used.
- F1=3
If the tool is moving on the outside of a circular arc, the feedrate is increased taking into
account the used tool radius. When the increased feedrate is greater than a maximum value
(MC-setting), that value is used.
The word F1= is modal; so its fuction remains active until changed by another word F1= or by CLEAR
CONTROL. In the latter case F1=0 is set.
150
0
o
2>
X
0
X
X
X
X
/
X
X
X
Y'X/
W
0-0
i
Section 6- 16
Programming CNC3460/M600/M700
900704
TOOL COMPENSATION
6.
The tool point or tool tip (point S in figure 6.-1), i.e. the intersection point of the tool centre line with
the tool face, is the important point of the tool. The movements of this point should be programmed.
L
L
NB8222
In the second case the part dimensions are programmed directly from the drawing. The tool dimensions
are stored in the tool memory of the control and taken into account during execution.
In the following sections are described:
- the tool length compensation,
- the tool radius compensation,
- 3D-tool correction with normalized vectors.
Remark :
6.1
If fixed tools are used, the length and radius compensation can be used as a correction on
the tool dimensions.
For movements in the tool axis the positions can be found in the drawing. Due to the different lengthes
of the tools these positions are not related to a fixed point on the spindle. However, for controlling it is
necessary to relate all movements in the tool axis to such a fixed point, e.g. the spindle nose.
891025
Programming CNC3460/700
Section 6 - 1
1
L
NC5669
NC5667
For each tool the distance between the fixed spindle point and the tool point, the tool length, has to be
measured and stored in the tool memory. Whilst executing the program, the control picks up the length
of the activated tool and automatically converts all tool axis positions of the tool point to positions of
the fixed spindle point. See section 6.4 for activating a tool.
So with tool length compensation the part programmer can derive the positions of the tool axis directly
from the drawing.
6.1.1
[G17/G19]
Normally the tool is standing in the Z-axis. On many machine tools it is possible to employ an angular
head equipment to use the tool parallel to another main axis (X or Y).
For the part programmer the axes configuration of the machine tool remains unaltered, when an angular
head is attached. With a preparatory function, G17 through G19, he can indicate in which axis the tool
is used. The control uses this function to execute the length compensation and the fixed cycles in the
axis the tool is standing. Perpendicular to the tool axis is the plane for polar coordinates, radius
compensation and geometry.
G-function
Tool axis
Plane for
radius compensation
G17
G18
G19
Z-axis
Y-axis
X-axis
XY-plane
XZ-plane
YZ-plane
The functions G17 through G19 form one group and only one function from this group can be active at
a time. The active function is not influenced by CLEAR CONTROL.
%
Section 6 - 2
Programming CNC3460/700
891025
One of the functions G17, G18 or G19 (a MC-setting) is automatically activated after switching on the
control.
When an angular head is used or removed, the associated function (G17, G18 or G19) and the
dimensions of the angular head have to be programmed. The dimesions are taken into account with:
- a zeropoint shift (G92 or G93),
- a stored zero offset (G54 to G59).
The latter possibility should be preferred, because in this case the part program remains independent of
the dimensions of the angular head.
After activating one of the functions G17, G18 or G19 the length compensation in the previous axis is
automatically cancelled and executed in the newly defined one. There is no movement in either axis.
NB579S
891025
G17
GO X50 Y 50 Z 1
S1000
Z-10 F200
G1
Z 1
GO
Y200
T1
M6
M3
G18
G55
GO
T2
M6
M3
Y101 Z-50
G1
GO
Y101
M5
Y 91
Programming CNC3460/700
Section 6 - 3
Explanation:
EE!
:
:
:
:
:
:
Load tool T1 and indicate that the tool is standing in the Z-axis (G17).
The point in the XY-plane is approached .
The tool feeds to depth in the Z-axis.
The tool is retracted out of the hole.
Remove the tool in Y so far that the angular head can be used and stop the spindle.
Load tool T2 and indicate that the tool is standing in the Y-axis (G18).
i.
-Y
NB5796
Use a stored zero offset (G55) to consider the distances a1 and a2 of the angular head. Thesevalues have to be stored in the zero offset memory prior to the start of the program.
The point in the XZ -plane is approached.
The tool feeds to depth in the Y-axis.
The tool is retracted out of the hole.
Section 6 - 4
Programming CNC3460/700
891025
[G66/G67]
The calculation for the length compensation must be executed in the direction the tool is pointing.
However, with e.g. an angular head in the X-axis, the tool can be pointing in either the positive or
negative direction of the tool axis. This would mean that the length value in the tool memory should be
positive or negative respectively.
Two preparatory functions (G66 and G67) are provided to indicate in which direction the tool is
pointing:
G66 :
The tool is pointing in the negative direction of the toolaxis, thus a movement in the negative
direction is a movement towards the workpiece.
The tool is pointing in the positive direction of the toolaxis, thus a movement in the negative
G67 :
direction is a movement away from the workpiece.
G18/G67
.G19/G67
X
>
'
G17/G66
G17/G67
-X
G19/G66
G18/G66
NB5797
891025
Programming CNC3460/700
Section 6 - 5
6.2.
With milling operations the tool radius must always be considered. With movements over a surface, the
part programmer has to calculate and to program the cutter path, thus the path of the tool point.
If any edge has to be machined, the part programmer can calculate and program the cutter path taking
into account the tool radius. When that program is executed, a tool with the appropriate radius has to
be used, for otherwise the wrong workpiece is made. To make the execution more flexible it is possible:
- to store in the tool memory a correction-value on the radius:
"+" for an oversized cutter and
for an undersized one.
- to use the radius compensation as described in the following sections with this correction.
The tool radius compensation of the control permits programming the edge without knowing the tool
radius. The calculation of the cutter path is left to the control which uses the stored radius of the active
tool. The actual size of the tool is not used in the program, so at execution any radius can be used.
There are five preparatory functions (G40, G41, G42, G43, G44) for the radius compensation forming
one group of which only one function can be active at a time. The 3D-tool correction with normalized
vectors is activated with G141.
G40
G141
Section 6 - 6
Programming CNC3460/700
891025
6.2.1.
[G43/G44]
G43 :
Radius compensation, TO. The tool is moving in a straight line from the point the tool is
standing to the programmed endpoint. The cutter edge is on the endpoint and the tool tip
the radius before it. The tool radius is subtracted from the programmed coordinate(s).
G44 :
Radius compensation, PAST. The tool is moving in a straight line from .the point the tool is
standing past the programmed endpoint. The cutter edge is on the endpoint and the tool tip
the radius past it. The tool radius is added to the programmed coordinate(s).
/B,
B;
G43
-A
GU
NB5800
With both functions the calculation is performed on the programmed coordinate(s). So, if both
coordinates are programmed the position in both axes is recalculated. This offers the possibility to enter
a contour on the normal of any contour element. See section 6.2.3.
If only one coordinate is programmed, the position in this axis is changed, whereas the other one is not
influenced. This means that the functions can be used with axis parallel milling.
Hence in a block like:
N20 G43 X100
the tool moves in the X-axis only TO the programmed position 100. There is no movement in the Y-axis.
891025
Programming CNC3460/700
Section 6 - 7
'50
<3
o
Z
z
z
z
z
Z
z
z
i*
/
l~ ('//////////////////
*
(<.
0-
T1
G43
X200
X150
Y-20
G1
Z-5
S1000
M6
M3
F200
G44
Y 80
X0
Y0
X150
G40
GO
Y-20
X200
Explanation:
N9
N10 :
N11
N12 :
N13 :
N14 :
N15 :
N16
N17 :
N18
Section 6 - 8
Programming CNC3460/700
891025
6.2.2.
[G41/G42]
G41 :
G42 :
G41
G42
Point A
For the given definitions a positive tool radius is assumed at execution. With a negative radius value in
the tool memory is:
G41 and
G42 and
G43 and
G44 and
Once contouring radius compensation is activated, the cutter path is automatically calculated by the
control as a path parallel to the programmed one.
In the following figures (6.2.2.-2 to 7) is:
- The programmed path from A to B to C.
- Point E the intersection point between the path parallel to AB and the path parallel to BC.
- R the tool radius stored in the tool memory.
891025
Programming CNC3460/700
Section 6 - 9
1.
For an outside contour the compensation method depends on the angle between the two programmed
movements. If that angle is greater than a MC-setting, the intersection point is calculated. Refer to the
figures 6.2.2.-2 to 4 for the intersection point.
A
vc
R
E\
;E
R
-C
J3L
FT
RN
E<
,A
C
Gil
,R1
B
iR
K2
fR
Ajrj
E
K1
R2
R
>A
R2
:1
K1
,C
IK 2
GM
Section 6-10
Programming CNC3460/700
891025
2.
If for an outside contour the angle between the two movements is less than the value of the machine
constant, a circular movement between the calculated endpoint (B) of the path from A to B and the
starting point (B") of the path from B to C is generated by the control, see the figures 6.2.2.-5 to 7.
This connection circle is considered as part of the previous block. This means that with SINGLE-BLOCK
operation the movement in a block stops at the end of the generated circle.
8)S
G41
B"
B,
B'
G 41
3,
,R
,R
R2
A
,R1
K2
891025
Programming CNC3460/700
Section 6-11
1
The radius compensation is executed in the main plane defined by G17, G18 or G19 (see 6.1.1). A
simultaneous movement of the tool axis is allowed (see chapter 5 : 3D and helix interpolation).
6.2.3
When the function G41 (or G42) is used with the start of the radius compensation, the intersection
point E between the parallel pathes of AB and BC, (figure 6.2.3.-1) is calculated and the tool moved to
that point.
c,
NB5798
The same occurs when the movement BC is a circular arc. Here too a movement to the intersection
point of the line parallel to AB and the parallel circular arc is executed (see figure 6.2.3.-2).
B
v
\
i,
Mc
Mc
Section 6-12
Programming CNC3460/700
891025
2.
The two G-functions G43 and G44 can be used to enter a contour at any point in a well defined manner,
contrary to the method described above. Now the tool is moved to a starting point from where the
contour can be approached TO" (G43) or "PAST" (G44). Thereafter the contour is milled LEFT (G41)
or RIGHT (G42).
15
\T
i%r
3s
120
NB5799
The program for entering the contour of figure 6.2.3.-1 at point B could be:
N40 GO
N41 G1
X120
Y-15
Z-10
F500
N42 G43
N43 G41
N44
Y 20
X 35
X 15
Y 50
Explanation:
N40
N41
N42
N43
891025
Programming CNC3460/700
Section 6 - 13
6.2.4.
[G40]
With the function G40 any kind of radius compensation is cancelled. After the G40 all programmed
positions are related to the tool tip.
The function G40 is automatically effective:
- at switching on the control
- at CLEAR CONTROL
- as soon as a fixed cycle is programmed.
The function G40 does not produce a movement in itself, but the next commanded position is
approached without radius compensation active.
In the last block (N20 see sample program 1) with radius compensation (see fig 6.2.4.-1) the tool moves
to the calculated point (B) on the normal in the programmed endpoint (B). In block N22 the tool moves
from B to E.
B'
.E
NB6171
N10
N..
N20
N21
N22
G41
G1
XB
YB
XE
YE
G40
Section 6- 14
Programming CNC3460/700
891025
During the tool movements (see figure 6.2A.-2) the radius compensation LEFT is active. At point B the
radius compensation is cancelled and the programmed point E is a position of the tool tip. The control
calculates the intersection point between the parallel pathes of AB and BE and the tool moves (N20 see
sample program 2) to that point. In the G40-block (N21) the tool moves directly from the intersection
point to point E.
A-
>6
N85808
N10 G41
N..
N20 G1
N21 G40
XB YB
XE VE
N22
Remark :
If the control generates a circle between the movements AB and BE, this circle (from B to
B" in figure 6.2.4.-3) is executed and then the movement to point E takes place.
B'
A
/
/
/
E
NB6170
891025
Programming CNC3460/700
Section 6- 15
6.2.5.
[F1]
In general the feedrate on the surface of the tool is programmed. However, the velocity of the tool tip is
controlled. With radius compensation active the control can adapt the programmed feedrate to the feed
of the tool tip taking into account the used tool radius. With the word F1= the type of feed adaptation is
programmed.
- F1=0
No feed adaptation the programmed feedrate is the velocity of the tool tip.
- F1=1
If the tool is moving on the inside of a circular arc, the feedrate is reduced taking into
account the used tool radius. When the reduced feedrate is less than a minimum value (MCsetting), that value is used.
- F1=2
If the tool is moving on the inside of a circular arc, the feedrate is reduced and with a
movement on the outside the feedrate is increased. In both cases the used tool radius is
taken into account. If the calculated feedrate is greater than a maximum value (MC-setting)
or less than a minimum value (MC-setting), the exeeded value is used.
- F1=3
If the tool is moving on the outside of a circular arc, the feedrate is increased taking into
account the used tool radius. When the increased feedrate is greater than a maximum value
(MC-setting), that value is used.
The word F1= is modal; so its fuction remains active until changed by another word F1= or by CLEAR
CONTROL. In the latter case F1=0 is set.
1S0
0W////////////S///&3
s
X
X
X
X
X
X
/
X
Y X
/
X
X
X
0
X
0-0
Section 6- 16
Programming CNC3460/700
891025
If milling around the workpiece from figure 6.2.6.-1 is required, then the part program could look as
follows:
N1
N2
N3
N4
N5
N6
N7
N8
N9
T1
GO
G43
G1
G42
X200 Y-20
X150
Z-5
S500
M6
M3
F150
Y80
XO
YO
X150
G40
N10 GO
Y-20
X200
Explanation:
:
:
:
:
N4
N5-N8 :
N1
N2
N3
N9
Remark : Compare this program with the one given in example 6.2.1.-1.
EXAMPLE 6.2.6.-2 Milling a full circle
X'
r
t6
10
SO
25
120
NBSMK
891025
Programming CNC3460/700
Section 6- 17
The full circle of figure 6.2.6.-2 has to be milled with radius compensation. For a smooth transition the
circle is entered (N5) and left (N7) with a small one.
The part program could be:
N1
N2
N3
N4
N5
N6
N7
N8
N9
X 60 Y 85
Z0
Z-10
T1
F500
G1
G43
G41
X 80
G3
X 60 Y105
R20
X 40 Y 85
R20
M6
M3
F300
I 60
G40
GO
S1CX)0
J 60
Z200
M30
Explanation:
N1 : The tool is loaded and positioned to the starting point 6.
N2 : The spindle rotation is started and the tool moved to depth. N3 : The tool is moved "TO" the starting point of the small circle.
N4 : Radius compensation LEFT is set.
N5 : The small circle for entering the contour.
N6 : The full cicrle.
N7 : The small circle for leaving the contour.
N8 : The radius compensation is cancelled.
N9 : The tool is retracted out of the hole.
The pocket of figure 6.2.6.-3 is already cleaned out and now the finishing has to be programmed. For a
smooth transition small circles are used for entering and leaving the contour.
Two programming methods are given:
1. Radius compensation, thus directly programming the workpiece dimensions. In figure 6.2.6.-3 the
part dimensions and the cutter path of a mill 0 / 20
is shown.
2.
--
Radius correction, thus programming a calculated cutter path and using a correction on the pro
grammed path. In figure 6.2.6.-3 the calculated path of a cutter 0 / 10 (
) is also shown.
Section 6 - 18
Programming CNC3460/700
891025
xWWWW
Si
N
\
\\
\v
'XWWw
)
ITUAL JUOH/3
-PHOQftAMMCO
RADIUS
N :i
N !i
\N '
* XX ! I
V'
COSKTKJ*
\\
M
l
With radius compensation the programmed dimensions can directly be taken from the workpiece
drawing. Prior to the execution of the program the radius of tool T1 (10 mm) has to be stored in the
tool memory. The program looks as follows:
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20
891025
X 80
G1
G43
G42
G2
G1
G2
G1
G2
G1
G2
G1
G2
G1
G2
G1
G2
G40
GO
Y 25
Z0
T1
F500
Z-10
S1000
M6
M3
X105
X80
X15
X0
Y 75
X 15
X 60
Y135
X 75
Y0,
R25
Y15
R15
Y 90
R15
Y150
R15
F300
X105
X118
X182.68
X165.36
X 80
X 55
Y142.5 R15
Y30
Y0
R20
Y25
R25
Z200
Programming CNC3460/700
M30
Section 6- 19
Explanation:
N1
N2
N3
N5-N17
N18
N19
:
:
:
:
For the same workpiece the cutter path of a mill 0/10 mm is calculated and accordingly programmed. A
correction of 5 mm is used and this value has to be stored in the tool memory as the radius of T1
The program looks as follows:
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20
X 80
G1
G43
G42
G2
G1
G2
G1
G2
G1
G2
G1
G2
G1
G2
G1
G2
G40
GO
Y 25
Z0
Z-10
T1
F500 S1Q00
M6
M3
X 95
X 80
X 15
X 5
X 15
X 65
X 75
X105
X113.66
X178.36
X165.36
X 80
X 60
Y 5
R20
Y 15
Y 75
Y 85
R10
F300
R10
Y135
Y145
R10
Y140
R10
Y 27.5
Y 5
R15
Y 25
R20
Z200
M30
Explanation:
Only the programmed dimensions are different from the dimensions in the first program. So refer to
that program for the movements.
Section 6 - 20
Programming CNC3460/700
891025
6.2.7.
If with inside circular movements the radius of the tool is greater than the radius of the circle, an error is
displayed and the execution of the program stopped.
in a few cases with inside linear movements, the tool can dammage the workpiece. In all these cases the
used tool radius is too big for the programmed path.
C WNWwVvW
\
\
\
Bf
o
-A'
tf
\
B
ff
VA
C
C
B
The path from AB to BC to CD has been programmed (see figure 6.2.7.-1). If the straight line BC is
smaller than 2x the tool radius, the contour will be damaged, when being processed.
-A
B C*
C\\B
N 86015
The path from AB to BC to CD has been programmed (see figure 6.2.7.-2). Path BC is a circle. When
the tool radius does not fit, the movement between point B and C will be a circle in the same direction
of movement as programmed for BC.
6.3.
3D-TOOL CORRECTION
6.3.1
[G141]
A CAD-system can calculate the toolpath of a programmed workpiece taking into account the tool shape
and the tool dimensions. By running a so generated part program the cutter should have the same
dimensions as used with the calculations, i.e. nominal cutters have to be used. The 3D-tool correction in
the control offers the possibility to deviate from the dimensions of the nominal cutter. The corrections
are carried out using normalized vectors generated by the CAD-system. 3D-tool correction is part of
the CAD-module of the CNC (software option S10) which also includes the BTR possibility for execut
ing large programs.
891025
Programming CNC3460/700
Section 6 - 21
6.3.2.
NORMALIZED VECTORS
The normalized vectors are generated at the end of each movement and they are perpendicular to the
approximated surface. The tool correction is related to these vectors.
It is a unit vector, which means that its components range from .001 to 1
ik
H
4
Fig. 6.3.2.-2 Components I, J and K of a unit vector
The components of the vector are programmed with the words I, J and K. The input format of these
words is restricted to three decimals behind the decimal point. In most cases this will be insufficient. To
increase the input accuracy of the vector components they have to be multiplied by a scaling factor
(<=1000), before presenting them to the control system. So with a scaling factor of 1000 the input
accuracy of the vector components can be increased to 6 decimals.
Whilst processing the first programmed normalized vector after activating the 3D-tool correction the
control automatically determines the used scaling factor. Part programs with different scaling factors
can be combined. In this case the function G141 (activating 3D-tool correction) has to be programmed
at each transition.
Section 6 - 22
Programming CNC3460/700
891025
c
NB8221
ball cutter
(R=C)
torus cutter
(R>C)
cylinder cutter
(C=0)
If the CAD-system generates the part dimensions, the tool dimensions stored in the toolmemory are
used for the 3D-tool correction.
6.3.4.
CALCULATION METHOD
xc = Xp + R*l
Yc = Yp + R * J
Zc = Zp + R * (K - 1)
891025
Programming CNC3460/700
Section 6 - 23
1
For a torus cutter :
Xc = Xp + C * I + (R-C)*I/SQRT(I*I + J*J)
Yc = Yp + C * J + (R-C)*J/SQRT(ri + J*J)
Zc = Zp + C * (K - 1)
For a cylinder cutter :
Xc = Xp + R*I/SQRT(I*I + J*J)
Yc = Yp + R*J/SQRT(I*I + J*J)
Zc = Zp
In these formulae are:
-R :
-C :
cutter radius
cutter rounding
for a ball cutter C=R
for a cylinder cutter C=0
With these formulae it is assumed that the mainplane is the XY-plane (G17 active) and the tool is in the
Z-axis. If the main plane is the XZ-plane (G18 active) or the YZ-plane (G19 active) the necessary
changes are automatically carried out by the control.
Note that the components of the unit vectors are independent of the selected plane.
Section 6 - 24
Programming CNC3460/700
'r
891025
If G141 is programmed and the radius compensation in the main plane is still active (G41 to G44), the
radius compensation in the main plane is cancelled first and then G141 activated.
The scaling factor of the normalized vectors is calculated in the first block after the G141 containing a
vector. The tool correction is also built up in this block. The cutter moves from the actual tool position to
the corrected one.
The following functions may not be active, when G141 is programmed:
- G64 : Geometry
- G73 : Mirror image or scaling
- G182 : Cylinder interpolation
Cancelling
The 3D-tool correction is cancelled with the function G40. The cutter halts at the corrected position and
as a result, a non-programmed axis stays at its position.
3D-tool correction is also cancelled at CLEAR CONTROL.
Programmable G-functions
891025
Programming CNC3460/700
Section 6 - 25
If components are omitted in a block, they keep their last programmed value. If a component is not
given in the first block with a movement after activating 3D-tool correction, the control takes the value
0 for the non-programmed component.
The control does not check if the vector is a unit vector. So vectors greater than the unit vector can be
used.
If with the activation of the 3D-tool correction the function G67 is active, the sign of each component
in the tool axis is inverted by the control.
The words F (feedrate) and S (spindle speed) may also be used. Words not mentioned, will cause an
error message.
With G04 the dwell time (X-word) is programmed.
In a block with G90 or G91 no additional words are allowed.
Conventions
1.
Any axes rotation programmed before the activation of G141, is also executed during the 30tool correction.
2.
- Point definitions
- E-parameters
- Polar coordinates
- One cartesian coordinate and an angle
- Rotary axes
6.4.
ACTIVATING A TOOL
The tool memory contains per tool the length and radius. These data must be stored in the memory
before the part program is executed. During execution, there is always only one tool active, initiated by a
tool change command (M06, M66 or M67). See section 7.4.5.
Once the M-function for tool changing is executed, the length of the newly loaded tool is immediately
considered at each tool axis movement. The radius is used as soon as a G-function for radius
compensation is activated too.
k->
Section 6 - 26
Programming CNC3460/700
891025
7.
Auxiliary machine functions are those functions as spindle speed, the tool number, miscellaneous
functions etc.
SPINDLE SPEED
7.1.
[S]
The spindle speed is programmed with address S followed by a number with a maximum of four digits.
7.1.1
A machine tool can have a number of discrete spindle speeds selectable by clutches. These can be called
up by the program. A code number is therefore allocated to each spindle speed. The relationship
between the code numbers and the actual spindle speeds appears in a table belonging to the machine
tool. This table is not part of this programming manual.
7.1.2.
With an analog spindle its speed is programmed directly in rev./min with a step of 1 rev. The maximum
programmable value is equivalent to 9999 rev.
Thus a spindle speed of 1000 r.p.m. is programmed as S1000.
In the control the spindle speeds can be subdivided into four speed ranges which are covered by the Mfunctions M41 to M44. These functions form a separate group acting modally until another function
from the same group is used.
The speed range can be selected:
- automatically by the control. In this case the proper M-function is generated and can be omitted in
the program.
- by programming the proper M-function. This is useful with overlapping speed ranges.
The figures 7.1.2.-1. and-2. show two typical examples for subdivision into ranges, one with and one
without an overlap. They are treated in the same way:
Range 4
M44
Range 3
M43
Range 2
M42
Range 1
M41
10
250
500
750
1000
891025
Programming CNC3460/700
Section 7 - 1
Range 4 : M44
Range 3 : M43
Range 2 : M42
Range 1 : M41
10
250
500
750
1000
S50
M41
N10
7.2.
S800
M44
TOOL NUMBERS
The tool number identifies the tool and is programmed with the address T.
Section 7 - 2
Programming CNC3460/700
891025
The maximum number of tools and magazine places is 99. Each tool has a fixed place in the magazine.
XX
XX
3.
In this case the tool identification from the flour can be used in the program.
In the tool memory are stored :
- the identification number,
- the place in the tool magazine of the machine tool. This number is also used for assigning the tool
dimensions.
- the tool dimensions L and R.
7.2.1
When the machine tool is equipped with an automatic tool changer allowing to place the tools randomly
in the magazine (random access tool memory) or with a standby position, the next tool can be searched
for in the tool magazine during the execution of the program. At the tool change (M6) the next tool is
then immediately available for loading.
The tool number is used to activate searching for a tool in the magazine. Therefore after the block with
the tool change (M6) a block containing the tool number (T-word) of the next tool is programmed to
start the search procedure.
7.2.2.
[PI
When the tool magazine can be filled at random, a table containing for each tool its place in the magazine
and the corresponding tool number should be stored in the tool memory before the first run of the
program. The three digit P-word is used for indicating the place of the tool in the magazine, where P1
corresponds to place 1, P2 to place 2, etc.
At a tool change (M6) the programmed tool is picked up and the used tool put back in the magazine at
the empty place of the programmed tool. The table of places is automatically updated by the oontrol.
With TO M6 the spindle is unloaded and the tool is put back at the position it originally left.
Unloading the spindle is necessary:
Before a manual tool change (M66)
- With tools occupying more than one position and therefore must be put back at the same position.
#
891025
Programming CNC3460/700
Section 7 - 3
7.2.3.
The tools in the memory can be extended with the life time as a preset value entered in minutes in steps
of 1 minute and with a maximum of 99999 minutes, each time the tool is operative the total machining
time is calculated. As soon as it exceeds the preset value, end of tool life is recognized and the operator
gets a warning on the display.
To each tool in the tool memory a spare tool can be assigned. If with the next tool change for the tool
concerned the tool life (see 7.2.3.) or power limit (12.1.1.) is exceeded, the spare tool, if available in the
tool magazine, is loaded instead of the original tool. If not available, an error message is displayed.
In the part program only the tool number of the original tool is used. The number of
number of spare tools may not exceed the maximum number of tools in the tool memory.
7.3.
AUXILIARY FUNCTION
[H]
The auxiliary functions are programmed with the address H followed by a four digit number.
The relationship between these numbers and the associated functions is laid down by the machine tool
builder. The relevant table is therefore not included in this programming manual.
Section 7 - 4
Programming CNC3460/700
891025
MISCELLANEOUS FUNCTIONS
7.4.
[M]
Miscellaneous functions are entered as a two digit number following the address M.
All functions from 0 to 99 are available as input signals for the interface of the machine tool, but only
those functions, which are decoded in the interface, should be programmed.
MO
M3
M4
M5
M6
M7
M8
M9
M13
M14
M19
M25
M26
M27
M28
M30
M41
M42
M43
M44
M66
M67
Output
time
Nonmodal
Description
Explanation
in section
Program stop
Spindle, clockwise
Spindle, counter-clockwise
Spindle stop
Automatic tool change
Coolant No. 2 ON
Coolant No. 1 ON7.4.3
Coolant OFF
Coolant 1 ON and Spindle, clw
Coolant 1 ON and Spindle, cclw
Oriented spindle stop
Tool measurements
Touch probe calibration
Switch on measuring probe
Switch off measuring probe
End of program
Speed range
Speed range
Speed range
Speed range
Manual tool change
Change compensation values
7.4.1
7.4.2
7.4.2
7.4.2
7.4.5
7.4.3
L
N
L
N
N
N
N
7.4.3
7.4.4
7.4.4
7.4.2
12.2.3
12.2.4.
7.4.1.
17.1.2.
27.1.2.
37.1.2.
47.1.2.
7.4.5.
7.4.5.
1.
M-functions marked L only become effective when all the movements in the block have been
completed. The other functions and those not mentioned become effective before the movement in
the block starts.
2.
Most M-functions act modally. Those marked with an N are only effective in the block, in which
they are programmed.
A number of commonly used M-functions, shown in table 7.4.-1, is described separately. Depending on
the meaning of the functions established by the machine tool manufacturer, differences may occur
between these descriptions and the functions actually carried out on a particular machine.
891025
Programming CNC3460/700
Section 7-5
STOP COMMANDS
7.4.1.
[M0&M30]
Two commands are used to stop the execution of the part program:
-MO :
Program stop
Program execution is interrupted after completion of the movement in a MO-block.
Depending on the machine tool interface, spindle rotation and coolant can be suppressed
or cancelled. The program execution continues after a START command. Spindle rotation
and coolant are restarted, if suppressed.
-M30:
End of program
Program execution is terminated after completion of the movement in a MO-block. A
jump in the program memory to the first block of the program is executed spindle
rotation and coolant are cancelled.
7.4.2.
SPINDLE COMMANDS
[M3/M4/M5/M19]
M3 :
M4 :
M5 :
Spindle stop
This function stops spindle rotation and suppresses coolant supply when all the movements
in the block have been processed. The spindle stop remains active and the coolant
suppressed until the spindle starts rotating again.
- M19 :
or
if an analog spindle and a spindle transducer are used in a programmable angular position.
In the latter case any angular position can be achieved by programming the desired position
(D-word) measured from a fixed position (MC-setting). Moving the spindle to the
programmed position always takes place in a fixed direction (MC-setting). D+ :the angle in
the defined direction, D- : the angle 360-(D-value) in the defined direction.
Section 7 - 6
Programming CNC3460/700
891025
[M7/M8/M9]
Coolant no. 2 on
This M-function starts the coolant supply no. 2 (generally mist coolant). The command
becomes effective before the motion programmed in the block, and remains active until:
- cancelled by "coolant off" (M9)
- cancelled by "end of program" (M30).
-M8 :
Coolant no. 1 on This function is identical to that described for "coolant no.2 on" (M7).
However, coolant no. 1 generally controls the main coolant supply, both coolant types can
be active at the same time.
-M9 :
Coolant off
This command cancels the functions coolant no. 2 on (M7) and coolant no. 1 on (M8). It
becomes effective when all movements in the block have been completed and remains valid
until a coolant is activated again.
7.4.4.
COMBINATION OF M-FUNCTIONS
[M13/M14]
The spindle runs in a clockwise direction (M3) and coolant no. 1 is turned on (M8).
- M14 :
The spindle runs in a counter clockwise direction (M4) and coolant no. 1 is turned on (M8).
891025
Programming CNC3460/700
Section 7 - 7
r
7.4.5.
[M6/M66/M67]
The function M6 is used to start the automatic tool change sequence on themachine tool:
- first the tool moves at rapid traverse to a tool change position, established by a machine
constant (a fixed position with regard to the reference point)
- then the automatic tool change sequence is executed
- and the new tool picked up.
The execution of the program continues with the programmed movement in the block.
Machine tool without an automatic tool changer
The function M6 is used:
- to move the tool at rapid traverse to a tool change position established by a machine
constant (a fixed position with regard to the reference point).
- to interrupt the program execution, so that the tool can be changed manually.
After the tool change, indicated by pressing START, the execution of the program
continues with the programmed movement in the block.
When with an M6 the tool is retracted to a tool change position, it only leaves that position
in an axis, when a movement in that axis has been programmed.
-M66:
It might occur that a tool must be loaded which is not contained in the tool magazine. In
that case the function M66 is used. With M66 there is no retract to the tool change posi
tion and no execution of the tool change sequence.
Before the manual tool change it might be necessary to unload, with TO M6, the spindle
and to put the tool from the spindle back in the magazine.
Machine tool without an automatic tool changer
The function M66 is used to change a tool without a retract to a tool change position.
At the execution of M66 a program interrupt is generated by the control, so that the tool
can be changed manually at the position where it is moved to in the preceding block.
After the tool change, indicated by pressing START, the execution of the program
continues with the programmed movement in the block.
Section 7-8
Programming CNC3460/700
891025
- M67 :
When a tool with more than one cutting edge, e.g. a boring bar, is used, each cutting edge
has its specific length and radius which must be stored in the tool memory with a separate
tool number.
When during the execution of the program a change from one cutting edge to another is
necessary, there is no need to interrupt the program for a change of the physical tool.
With M67 tool dimensions can be changed without interrupting the execution of the
program.
j5
lli
J
XS1
NC5670
891025
Programming CNC3460/700
Section 7 - 9
Explanation:
N100 :
Program execution is interrupted for a tool change. The boring bar is loaded and cutting edge
1 is used.
Then follows the machining with cutting edge 1 of the boring bar.
N150 :
Cutting edge 2 comes into action. There is no program interrupt, but from now on the
compensation values of cutting edge 2 are used by the control for its internal calculations.
Section 7-10
Programming CNC3460/700
891025
MACHINING CYCLES
8.
A number of machining (fixed) cycles for hole operations and for milling are provided:
for hole operations:
- G81 : Drilling
- G83 : Deep hole drilling
- G84 : Tapping
- G85 : Reaming
- G86 : Boring
for milling:
- G87 : A rectangular pocket
- G88 : A groove
- G89 : A circular pocket
8.1
The values programmed with the mentioned addresses are stored in the control and are automatically
cancelled:
- with the programming of a new cycle,
- at CLEAR CONTROL.
891025
Programming CNC3460/700
Section 8 - 1
p
Z
NB7974
Fig. 8.1.1.-1 Words in a cycle definition block
Z-word :
Final depth of the hole measured from the workpiece surface. The Z-word is programmed
as a dimension word. The sign indicates the direction of the depth movement in the tool
axis:
in the negative direction, in most cases therefore into the hole,
"+" in the positive direction.
M
Y-word :
B-word :
If the additional retract distance is not defined in a cycle then retraction takes place automatically to the
starting position of the feed movement, thus to the point defined by the clearance.
The retract distance can be used, for example, when employing boring heads where the tool is not situat
ed right on the bottom face of the tool holder.
a
NB6077
Section 8 - 2
Programming CNC3460/700
891025
If after retraction to the clearance the tool point "A" (see figure 8.1.1.-2) is in the starting position, the
actual tool holder is still in the hole. The tool must therefore be retracted a further distance "a" to
remove the boring head from the hole. The value "a" is then programmed with the B-word.
TOOL SEQUENCES
8.1.2.
spindle rotates
- spindle stops
- dwell
1. Drilling
[G81]
[G83]
The depth of the first step measured from the surface. If the first step (K-word) is
greater than the total depth (Z-word), the hole is drilled in one step at the total depth.
l-word :
The degression value. This value is subtracted each time from the previous depth.
If the calculated feed distance gets less than the degression value, constant steps of the
degression value are used.
The final step can be smaller than the degression value.
I0
J-word
All feed distances, except the final one, are the same and equal to the depth of the first
step (K-word).
Special retract distance.
J<>0
the tool is retracted each step over the distance of the J-word.
The words I, J and K are programmed as dimension words, but without sign. The direction of the tool
movement is determined by the sign of the Z-word (final depth).
891025
Programming CNC3460/700
Section 8 - 3
[JO]
After each drilling step, the tool is completely retracted to the clearance, thus out of the hole
(J-word = 0).
Z-SURFACE
K-l
2
K-2xl
#4
NB7975
Section 8 - 4
Programming CNC3460/700
891025
[J<>0]
After each drilling step the tool is retracted a programmable distance for chip-breakage, but remains in
the hole (J-word <> 0).
Z-SURFACE
K-l
j
K-2xl
3
I
NB5805
3. Tapping
[G84]
In the G84-cycle two additional words can be used for slowing down the feed and speed so that the
programmed depth is reached properly without damaging the thread.
The number of revolutions before the final depth where the slow down has to start.
If I and J are not programmed, a MC-setting is used for determining the point where the slow down
starts. This MC-setting is a distance measured from the endpoint.
891025
Programming CNC3460/700
Section 8 - 5
i'
[G85]
5. Boring
[G86]
8.1.3
11
LH
[G79]
With the preparatory function G79 the last defined fixed cycle is executed in the tool axis after reaching
the position programmed in the G79-block.. The position is programmed as described in chapter 3. If
symbolic names (defined points, see section 3.4) are used, the cycle is executed on the points in the
order they are written in the block.
If the points where the defined cycle should be executed, are lying in one plane, the tool axis has to be
programmed once in the first block for activating the cycle.
If the points are lying in different planes, for each plane the tool axis has to be programmed to get the
cycle executed in the right positions.
To avoid a collision between workpiece and tool the positioning logic is always used. Refer to section
5.1.2 for a description of this logic. It can not be switched off with fixed cycles.
Note that with the positioning logic a collision with other obstacles -like clamping devices- can not be
detected.(see section 8.1.5.).
Preparatory function G79 is only active in the block in which it is programmed and therefore has to be
repeated in each block in which a cycle has to be activated.
As soon as a G79-block is executed, the radius compensation (if active) is switched off, this means that
G40 is automatically generated by the control.
The active preparatory function from group A is ignored in the G79-block, but in any block without G79
the function is automatically active again.
Section 8 - 6
Programming CNC3460/700
891025
|
j
Remark :
1.
Remember that, when after a G79-block a movement is programmed in the plane only, a movement
also will occur in the tool axis. So the tool point will "stand" on the surface.
2.
A cycle is only executed with rotating spindle. If the spindle is not rotating, an error is displayed and
the cycle is not executed.
8.1.4.
|ri
40
3 4XM4-10
40
<S>1 4
xo
y,
-LC
w
60
Z=0
NB6073
The four holes of figure 8.1.4.-1 are machined with the following tools:
tools
T1
T2
T3
891025
spot drill d
twist drill d
tap
10x90
3.3
M4
n
rpm
mm/r
F
mm/min.
500
1000
560
0.2
0.2
0.7
100
200
390
Programming CNC3460/700
Section 8 7
G81
G79 X60
G79
G79 X100
G79
Y1
Y40
Y80
G81
Y1
Z-2
ZO
F100
S500
Z-15
F200
S1000
T1
M6
M3
T2
M6
T3
M6
Y40
G79
ZO
G79
G79 X60
G79
Y80
G84
G79
G79
G79 X100
G79
Y9
Y40
Z-10 J.7
ZO
S560
Y80
Y40
Z200
Explanation:
: Load the spot drill (T1).
: Define the spot drilling cycle. Additionally the spindle speed and the direction of spindle
rotaion are programmed in this block.
N 3 - N 6 : Spot drilling the four holes; sequence 1, 2, 3, 4.
: Load the twist drill (T2).
N7
: Define the drilling cycle.
N8
N 9 - N12 : Drilling the four holes; sequence 4, 3, 2, 1.
: Load the tap (T3).
N13
N14
: Define the tapping cycle. The clearance distance should be large, otherwise the tool will not
be removed far enough from the hole, when retracted in this cycle. The feed is: thread
pitch (J) * spindle speed.
N15 - N18 : Tapping the four holes; sequence 1, 2, 3, 4.
: Retract the tool.
N19
N1
N2
Section 8 - 8
Programming CNC3460/700
891025
G78
G78
G78
G78
P1 X60
P2 X60
P3 X100
P4 X100
Y40
Y80
Y80
Y40
ZO
ZO
ZO
ZO
G81
G79 P1 P2P3 P4
Y1
Z-2
F100 S500
G81
G79 P4 P3P2 P1
Y1
Z-15
F200 S1000
G84
Y9J.7 Z-10
G79 P1 P2P3 P4
Z200
S560
T1
M6
M3
T2
M6
T3
M6
Explanation:
N1-N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
10
70
30 y:
30 I
31,5
70
80
NB5929
The four holes from figure 8.1.4.-2 should be drilled with the deep hole drilling cycle.
891025
Programming CNC3460/700
Section 8 - 9
N1
N2 G83
Y1
N3 G79 X30 Y30
N4 G79 X70
N5 G79
Y70
N6 G79 X30
T1
Z-31.5
I3
M6
M3
ZO
Explanation:
N1
N2
P8
+P7
+P6 +P5
P1
+P2
+P3 +P4
70
30
Wx
40
30
60
40
151
l
i
25
!15 60
NB5928
Section 8- 10
Programming CNC3460/700
891025
T1
G81
G79
G79
G79
G79
G79
G79
G79
G79
X30
X70
X130
X170
Y1
Y30
Z-15
ZO
F200 S120
M6
M3
Z-25
Y70
X130
X70
X30
ZO
Explanation:
N1
N2
N3-N4
N5
N6-N8
N9
N10
8.1.5
If a collision between any obstacle -like a clamping device- may occur, then the collision can be avoided
by retracting the tool and thereafter moving towards the required position.
im>
Z=0
15
25
4-B
100
50
Fig. 8.1.5.-1 A clamping device in the tool path
891025
Programming CNC3460/700
Section 8-11
Holes A and B in figure 8.1.5.-1 have to be drilled. However, a direct movement from A to B is
obstructed by a clamping device.
In the following manner a collision with the clamping device can be avoided:
N3
N4
N5
N6
G81
G79 X50
GO
G79 X300
Y1
Y100
Explanation:
N3
N4
N5
N6
8.1.6
The defined cycle is always executed in the tool axis, thus the one indicated by the active G-function for
plane selection.
G-function
G17
G18
G19
Toolaxis
Z-axis
Y-axis
X-axis
Z-axis
Y-axis
X-axis
The words used in the definition of the fixed cycle keep their meaning, i.e.:
- the X-word remains the dwell time
- the Y-word is still the clearance distance
- the B-word is the additional retract distance
- the Z-word remains the depth of the hole and its sign indicates the direction in which the cycle is
executed:
in the negative direction of the tool axis
*+" in the positive direction of the tool axis.
The direction of operation of the fixed cycle is not influenced by the functions G66 or G67, thus the
functions indicating in which direction the tool is pointing.
Refer to section 5.1.2. for the positioning logic in the different planes.
Section 8- 12
Programming CNC3460/700
891025
50
4
4xM4-10
50
25
5
x
W
25
Y=0
NB6074
N1
N2
N3
N4
N5
N6
G18
G81
G79 X25
G79 X75
G79
G79 X25
T1
Y1
Y0
Z-10
Z-25
F500
S1000
M6
M3
Z-75
Explanation:
Load tool T1. The tool is standing in the Y-axis (G18).
The spindle is started (M3) and rotates at 1000 rev/min.
The fixed cycle is defined:
(Z-word) : -10
- The depth of the hole
(Y-word) : 1
- Clearance above the workpiece
N3
: The point is:
- first approached in X and Z simultaneously
- then in the Y-axis (tool axis) at clearance,
then the defined drilling cycle executed in the negative direction of the Y-axis.
N4 -N6: The second, third and fourth hole are drilled.
N1
N2
8.1.7
With the function G77 it is possible to execute a previously defined fixed cycle on a pattern of points
equally spaced along a circular arc or a full circle.
891025
Programming CNC3460/700
Section 8- 13
- R-word
- l-word
- J-word
- K-word
The fixed cycle is executed on the points of the pattern moving in the counter clockwise direction.
The circular pattern is lying in the plane defined by the active function for plane selection. The fixed cycle
is always executed in the toolaxis (see section 8.1.6.).
G-function
G17
G18
G19
Tool axis
circular
Plane for
pattern
Z-axis
Y-axis
XY-plane
XZ-plane
X-axis
YZ-plane
R=25,
P1
-Cx
w
NB5820
Section 8-14
Programming CNC3460/700
891025
The execution of a fixed cycle on the six equally spaced points on a full circle is:
N100 G78
N101 G81
N102 G77
P1
P1
X..
Z..
Z-10
Y..
Y1
R25 I0
F100 S1000 M3
J6
Explanation:
150
P2
R=25'
x
W
NB5819A
K150
J4
- centre P2
- radius
- starting angle
- ending angle
- number of holes
25 (R-word)
30 (l-word)
150 (K-word)
4
(J-word)
Prior to the execution of this block a fixed cycle and the coordinates of P2 must be programmed.
#
891025
Programming CNC3460/700
Section 8- 15
40
40
40
3(
4XM4-10
|P5
y
W
x
Z=0
20
60
NB6072
The program for the three operations spot drilling, drilling and tapping on the holes could be:
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
G78
X80
G81
G77
Y1
R28.284
Z-2
G81
G77
Y1
R28.284
G84
G77
GO
Y9
R28.284
Y60
Z0
P5
S500
J4
F100
P5
Z-15
I45
S1000
J4
F200
P5
Z-10
145
J.7
J4
145
T1
M6
M3
T2
M6
T3
M6
S560
P5
Z200
Explanation:
N1
N2
N3
N4 :
N5 :
N6 :
N7 :
N8 :
N9 :
N10 :
N11 :
Section 8-16
Programming CNC3460/700
891025
8.2.
8.2.1
The following words are used in a G87-block for defining a rectangular pocket in the XY-plane and its
machining:
X
;RIC__
+y
I
W
+X
K.
2
NB5806A
Fig. 8.2.1.-1 A rectangular pocket
X-word : The length of the pocket, i.e. the dimension parallel to the X-axis. The X-word has no sign.
Y-word : The width of the pocket, i.e. the dimension parallel to the Y-axis. The Y-word has no sign.
Z-word : The total depth of the pocket, measured from the surface.
The sign of the Z-word indicates the direction of the movements in the tool axis. Normally
the Z-word is negative.
R-word : The radius in the corners of the pocket.
The R-word must be programmed in a G87-block.
B-word : The clearance distance measured from the surface.
K-word : The depth for each cut when the pocket is machined in several layers.
891025
Programming CNC3460/700
Section 8- 17
: Maximum part of the tool diameter which is used to advance the tool into the material.
175 means that as a maximum 3/4 of the diameter is used. If the l-word is not programmed,
the value of a machine constant is used.
J-word : The direction of milling.
: Milling direction is counter clockwise looking from the tool towards the workpiece. Also if J is
J+1
l-word
J-1
not programmed.
: Milling direction is clockwise.
C
4
wx
NB6075
J+1 counterclockwise
J-1 clockwise
;
G17
G18
G19
X-word parallel to
X-axis
X-axis
Z-axis
Y-word parallel to
Y-axis
Z-axis
Y-axis
Z-axis
Y-axis
X-axis
Section 8-18
*%
Programming CNC3460/700
891025
a.
With rapid traverse to the centre (C) of the pocket and stay the clearance distance (B-word)
above the workpiece.
b.
11
1
1
1
I
I
i
I
1
I
i
!
1
I
I
1
1
I
W/////////mm/////ym////
10
6
3
c *-
4
'ii**-
i
1
1
1
1
1
1
1
1
1
!
1
I
1
I
1
1
i
12
NB6076
Fig. 8.2.1.-3 Pocket milling sequence
c.
Move the tool from the centre to point 1 and mill around from 1 to 2, 3, 4 and back to 1. (see
figure 8.2.1.-3.) Point 1 is calculated by the control and depends on the X-word, Y-word and
the radius of the active tool.
d.
e.
f.
Repeat the steps d and e -if necessary- until the layer is cleaned out.
9-
Finally follow the programmed contour and stop in the centre of the corner.
h.
i.
If the programmed depth is not reached, move, with three times the programmed feed, to the
centre (C) of the pocket.
891025
Programming CNC3460/700
Section 8- 19
j.
After the cleaning out, a finishing for the sides of the pocket might be necessary. The best way to
proceed is to store in the tool memory, for the actual tool, a radius being the stock removal greater than
the actual radius of the tool. Once the cycle is totally executed this stock removal remains for finishing.
The finishing of the pocket is programmed by activating the tool radius compensation and using the
regular G1 and G2/G3 blocks.
150
15
55
25
40
30
2
105
55
25
30
Hh
Z=0
15
25
wx
n
NB5810
Figure 8.2.1.-4 Example with three pockets.
Section 8 - 20
Programming CNC3460/700
891025
The three pockets of figure 8.2.1.-4 are to be machined with an end mill d 10 mm.
The program could be:
N1
N2
N3
N4
N5
N6
N7
T1
G87
G79
G79
G87
G79
GO
Y30 Z-6
X55
X42.5 Y25 Z0
Y80
X40
Y55 Z-6
X115 Y42.5
Z200
B1
K6
I75
B1
K6
I75
F200
S500
M6
M3
Explanation:
Prior to the execution of the program the tool radius (5mm) is stored.
N1 :
Load the tool
N2 :
The geometry of the pocket and the technological conditions are defined.
N3 :
Clean out the first pocket.
N4 : Clean out the second pocket.
N5 : Define the geometry of the third pocket.
N6 : Clean out the third pocket
N7 : Retract the tool.
8.2.2.
MILLING A GROOVE
[G88]
--
Y_
frrr- _> =
vh
z
NB7976
891025
Programming CNC3460/700
Section 8 - 21
<
-X
i-GEEZ
W
NB5811
parallel to the Y-axis (figure 8.2.2.-3); in this case the sign of the Y-word indicates on which side of
the entering point (B) the groove is lying.
7T\
|B
Y
-Y
i
-IB
NB5812
Z-word : The total depth of the groove measured from the surface. The sign of the Z-word indicates
the direction of the movements in the tool axis. Normally the Z-word is negative.
B-word : The clearance distance measured from the surface.
K-word : The depth for each cut when the groove is milled in a number of steps through the centre.
J-word : The direction of milling.
: Milling direction is counter clockwise looking from the tool towards the workpiece. Also if J is
J+1
not programmed.
J-1
Section 8 - 22
Programming CNC3460/700
891025 ,
G17
G18
G19
X-word parallel to
X-axis
X-axis
Z-axis
Y-word parallel to
Y-axis
Z-axis
Y-axis
Z-axis
Y-axis
X-axis
a.
With rapid to point B where the tool enters the groove and stay the clearance distance (Bword) above the workpiece.
b.
c.
With the programmed feed through the centre of the groove to point E (2).
d.
e.
With the programmed feed through the oentre of the groove back to point B (4).
f.
So the tool moves to and from, each time at another depth until the final depth is reached.
i
J
z
fl
1
I
1
1
1
1
1
1
1
I
1
fijM
NB7977
Fig. 8.2.2.-4 Depth movements in the groove.
9-
891025
Once the final depth is reached, the sides of the groove are milled from B to 1, 2, 3, 4, 1, and
back to B in a counter clockwise direction (see figure 8.2.2.-5) or a clockwise direction if J-1 is
programmed. Here the tool radius compensation is automatically activated by the control and
cancelled when the cycle is completed. The radius of the tool is used with the radius compensation.
Programming CNC3460/700
Section 8 - 23
e*
'*2
<
E\
%V
**3
NB5814A
Fig. 8.2.2.-5 Cutter path for the sides.
h.
At the end of the cycle the tool is retracted out of the groove and stopped the clearance
above the workpiece.
!5,
55
15
V2
I.
55
JS.
5,
I
4
85 25
4B
15
15
35
15
z=o
NB5815
N1
N2
N3
N4
N5
N6
T1
G88 X55
G79 X22.5
G79
G79 X87.5
GO
Y15
Y22.5
Y62.5
Y42.5
Z-5
B1
K5
F100 S500
M6
M3
ZO
Z200
Explanation:
Prior to the execution of the program the tool radius (5mm) is stored.
N1: Load tool T1
N2: Define the geometry of the groove and the technological conditions for milling.
N3: Enter at point B and mill groove 1.
N4: Mill groove 2.
Section 8 - 24
Programming CNC3460/700
891025
N5:
N6:
Mill groove 3.
Retract the tool.
[G89]
R.
z
NB5816
Fig. 8.2.3.-1 A circular pocket
R-word
Z-word
B-word
K-word
l-word
J-word
J+1
J-1
891025
Programming CNC3460/700
Section 8 - 25
-a
G17
G18
G19
XY-plane
XZ-plane
YZ-plane
Z-axis
Y-axis
X-axis
Tool sequence
a.
workpiece
b.
k
\
NB5817
c.
d.
Make with the programmed feed a full circle in clockwise direction (J-1) or counter clockwise
direction (J+1) as seen from the tool.
e.
The steps c and d are repeated until all material is cleaned out from the first layer.
f.
9-
If the programmed depth is not reached, another movement over the depth (K-word) takes
place and then another layer is cleaned out.
h.
If the total depth is reached, retract the tool out of the pocket and stop the clearance above
the workpiece.
After cleaning out, a finishing for the side of the pocket might be necessary. The best way to proceed is
to store in the tool memory for the actual tool a radius, being the stock removal greater than the actual
radius of the tool. Once the cycle is totally executed this stock removal remains for finishing. The
finishing of the pocket is programmed by activating the tool radius compensation and using the regular
G1 and G2/G3-blocks.
Section 8 - 26
Programming CNC3460/700
891025
30
50
T
I
I
25,
100
50
Z=0
NB5818
The part program for milling the circular pocket with an end-miil d 10 mm could be:
N1
N2
N3
N4
N5
T1
G89
G79 X50
GO
Y50
Z-15
Z0
Z200
B1
R25
I75
K6
F200
S1000
M6
M3
Explanation:
Prior to the execution of the program the tool radius (5mm) is stored.
N1 : Load tool T1
N2 : Define the circular pocket and the technological conditions for machining it.
N3 : Cleaning out the pocket in three steps:
- Step 1 at Z-6
- Step 2 at Z-12
- Step 3 at Z-15
N4 : Retract of the tool.
8.2.4
[B1= ]
Normally the defined pockets or grooves are milled with their sides parallel to the axes of the plane in
which the pockets or grooves are executed. The G79 or G77-blocks can be extended with an additional
word B1= which indicates the angle of rotation for the pocket or groove. In this case the incremental
polar coordinates (B1=.., L1=..) or the combination of one coordinate (X, Y or Z) and angle (B1*..)
cannot be used in a G77 or a G79 block.
891025
Programming CNC3460/700
Section 8 - 27
G79-block
Under this word the angle, the axis of the pocket or groove makes with the X-axis
(G17, G18)or the negative Z-axis (G19), can be programmed.The angle is measured in
degrees and decimal parts thereof and ranges from -360 to 360.
B1=
20
30
60
32
55
NB6566
S-
Milling the pocket from figure 8.2.4.-1 at a depth of 5 mm can be programmed as:
N1
N2
G87 X30
G79 X55
Y20
Y32
Z-5
Z0
B1
R5
B1=60
Explanation:
N1
N2
: The pocket is defined as if its sides are parallel to the X- and Y-axis.
: The pocket is milled. In this block the centre of the pocket (X, Y, Z) and the angle (60) the axis
of the pocket makes with the X-axis are programmed.
G77-block
Section 8 - 28
Programming CNC3460/700
891025
1
2.
B1=0 :
The pockets or the entering points of the grooves are lying on the defined pitch circle. The axis of
each pocket or groove is radial as seen from the centre of the pitch circle.
3.
B1=<>0 :
The word B1= indicates the angle, the axis of the pocket or groove makes with the radius from the
centre of the pitch circle to the centre of a pocket or the entering point of a groove.
%>
20
-S-
'//
u>
Y,
IH1
* 'w
NB6S6S
21
N1
N2
G88 X20
G77 X78
Y10
Y56
Z-10
Z0
B1
R24
B1=0
I0
J6
Explanation:
N1 : The first groove is defined with its sides parallel to the X-and Y-axis.
N2 : The grooves are milled
- The centre of the pitch circle (X.Y.Z)
- The radius of the pitch circle (R)
- The angle the first groove makes with the X-axis (I)
- The number of grooves (J)
- The grooves are radially located (B1=0)
*
891025
Programming CNC3460/700
Section 8 - 29
1
EXAMPLE 8.2.4.-3 Grooves under an angle
30 .
|
'
3b.
i
4-
Y, ,
78
NB6564
Milling the grooves from fig. 8.2.4.-3 at a depth of 10 mm can be programmed as:
N1
N2
G88 X20
G77 X78
Y10
Y56
Z-10
Z0
B1
R24
B1=30 I0J6
Explanation:
N1 : One groove is defined as if its sides are parallel to the X-and Y-axis.
N2 : The grooves are milled.
Programmed are:
- The centre of the pitch circle (X.Y.Z)
- The radius of the pitch circle (R)
- The angle the first groove makes with the X-axis (I). The axis of the groove is not yet rotated.
- The number of grooves (J)
- The angle the axis of the groove makes with the radius (B1=30).
Section 8 - 30
Programming CNC3460/700
891025
SPECIAL FEATURES
9.
9.1.
INCH/METRIC PROGRAMMING
[G70/G71]
After switching on, a machine constant sets the control to either inch or metric mode to enable the
following:
to enter a part program manually in either metric or inch units,
to execute a part program written in either metric or inch units,
to convert a program from metric to inch inch units or vice versa during reading in.
Units
Units for
metric
inch
Dimensions
.001 mm
.0001 inch
.001 mm/min
.001 mm/rev
.0001 inch/min
Feedrate
F (G94)
F (G95)
.0001 inch/rev
Memories
The tool dimensions, stored zero offstes, parameter values have to be stored in the units of the active
CNC-mode. Therefore, when the machine constant is changed, so the other system selected, these
memories must be cleared by the operator and loaded with the correct units, before they can be used
again.
The part program
891025
Programming CNC3460/700
Section 9 -1
The function G70 or G71 must be written in the same block as the program identification and , if used,
behind the program name.
CNC mode
stored program
conversion
G70 (inch)
G70 (inch)
metric
inch
metric (G71)
inch
no
G71 (metric)
G71 (metric)
metric
inch
metric
G70)
inch
yes
no
yes
Execution of a program
If G70 or G71 is not programmed, the control assumes that the program is in the same units
(inch/metric) as set for the CNC-mode.
If G70 or G71 is written into the program, the control checks if the same units are used in the program
and the CNC-mode. If not, an alarm is generated.
9.2.
stored program
CNC-mode
alarm
G70 (inch)
G70 (inch)
metric
inch
yes
no
G71 (metric)
G71 (metric)
metric
inch
no
yes
[G23]
N888888
N10
G23 N=99998
N20
G23 N=99999
N30
M30
m
Section 9 -2
Programming CNC3460/700
891025
In the calling program conditional jumps (see sections 9.5.2 and 9.5.3) can be used to indicate which
program will be called.
Each program can run separately. A called program is not closed with M30, so the program is
terminated by the control with "END OF PROGRAM " in the display. Via MANUAL CLEAR CONTROL a
jump to the start of the program has to be performed.
If a program is called from a main program and program execution terminated via CLEAR CONTROL,
the called program remains the active one. For a return to the calling program the pperator has to enter
M30 in TEACH IN mode. After this command program control is in the main program at the block with
the call.
9.3.
PARAMETRIC PROGRAMMING
[E]
Instead of using values for the words it is possible to write the part program with symbols or
parameters. They have nodefinite meaning at the moment of writing the program, but receive their actual
value before the program is executed. In this way it is possible to solve a problem in quite general terms
where upon the actual execution can be adapted to specific requirements.
Up to 255 parameters (a MC-setting) can be stored in a special part of the user memory. Parameters
and their associated values can be displayed and changed directly in this memeory. Also data transfer to
and from a data carrier is possible (see operators manual).
9.3.1
The parameters are written with address E and a number from 0 to the number of parameters available
in the control.
So the word E12 signifies a parameter carrying the number 12.
Thus:
X=E12
means that at the execution of the block, the X-coordinate gets the value of parameter E12.
A sign can be programmed after the address and before the "=" character. With a positive sign (or not
programmed) the word gets the value of the parameter. A negative sign results in a sign opposite to
that of the parameter value.
Thus:
X=-E12
means that at the execution of the block, the X-coordinate gets the value of parameter E12, but with
opposite sign.
891025
Programming CNC34S0/700
Section 9 -3
So in a block like:
N50 G3 X=E1 Y=E2 I0 JO
the endpoint coordinates (X and Y) of the circular movement are programmed with parameters E1 and
E2. The circle centre coordinates (I and J) are written without parameters.
Remark : 1. When at reading in program conversion from metric to inch or vice versa is used, all
parameter values are converted.
For non-dimension words this may result in faulty values and in this ckse it is recommend
ed to restrict the use of parameters to dimension words only.
1
]
2. The earlier method for using a negative parameter with an address (e.g. X-=E1) is not
9.3.2.
In each block of a part program or subprogram a parameter can be given its value by programming:
The E-address and the parameter number
The character "=" and the parameter value written with a sign and the decimal point
More than one parameter can be given a value in one block and they can be entered in any order. The
same block may contain other words too, e.g.
N70 GO
X100
E12=200.15 E13=-300
The maximum number of characters in a block is 80 and this value limits the number of words and
parameter settings in a block.
Parameters act modally, i.e. once a parameter value has been allocated, this value is maintained until it is
changed:
- by another setting,
- by recalculation,
- via the operator's panel,
- by reading in the parameter memory.
They are not influenced by CLEAR CONTROL.
It should be noted that identical parameter numbers can be used in different part programs or
subprograms. During the execution of the program the value stored in the parameter table is used. So if
the parameter value is not correctly set at the macro call, an arbitrary value, e.g. returned in the memory
from a previous program or subprogram, can be taken.
If a parameter is not defined at all, an error message is displayed.
Section 9 -4
Programming CNC3460/700
891025
roi
34-''
o
*_ZL
\y////A\
NB6084
X75
Y80
Z2
G91 E1=15 E2=30
G1
Z=-E1
G43 X=E2
G42
G2
G1
G40 X=-E2
GO
Z=E1
G90
S1000
T1 M6
M3
F100
l=E2 JO
Explanation:
N9001: The program is identified by block number N9001. In the same block the tool is loaded.
: The required position (X75, Y80, . Z2) is approached. In the Z-axis a clearance of 2 mm is
N1
programmed.
: The incremental programming is activated and the two parameters E1 and E2 are set.
N2
: The tool moves to depth.
N3
: The tool moves to the circle.
N4
N5
: The radius compensation to right is activated.
: The full circle is milled. The radius of the circle equals E2.
N6
N7
: Circular interpolation is cancelled.
: The radius compensation is cancelled and the tool returns to the circle centre.
N8
: The tool is retracted out of the hole, back to the clearance.
N9
N10 : Absolute programming is activated again.
891025
Programming CNC3460/700
Section 9 -5
9.3.3.
The control allows to perform some calculations with parameter values. The following arithmetical
operations are possible:
- Addition (+)
- Subtraction (-)
- Multiplication (*)
- Division (:)
These operations can be performed between the parameter value and any fixed value or between two
parameter values.
The accuracy of these calculations is with 15 decimals.
An arithmetical expression contains:
The parameter which is associated with the end result of the calculation
- The character "="
- A parameter or a fixed value
- The arithmetical operation, thus
or
- The fixed value or the second parameter
E12=E4-E3 : The value of parameter E3 is subtracted from the value of parameter E4 and the result is
stored under E12.
E8=E4x3
: The value of parameter E4 is multiplied by 3 and the result is stored under E8.
E8=E4:3
: The value of parameter E4 is divided by 3 and the result is stored under E8.
E8=E4:E2
: The value of parameter E4 is divided by the value of the parameter E2 and the result is
stored under E8.
Section 9 -6
Programming CNC3460/700
891025
9.4.
SUBPROGRAMS OR MACROS
A subprogram is a "closed" program section, which is programmed once only and stored in a separate
part of the user memory. The subprogram is executed, when it is called by the main program (=part
program) or another subprogram. The same subprogram can be called up any number of times.
With the aid of parametric programming (see section 9.3.) generalized subprograms can be written.
Any function, except G23, which can be used in a part program, can also be programmed in a
subprogram.
The same block numbers can be used in different subprograms.
9.4.1
IDENTIFICATION OF A SUBPROGRAM
A subprogram starts with a block number and ranges from N1 to N9999999. With this number the
subprogram is identified.
or
- another memory than the subprogram memory is selected.
Refer to section 1.4.1. for
- identifying a macro on a data carrier,
- numbering macros downwards compatible with older software versions.
9.4.2.
CALLING UP A SUBPROGRAM
[G22]
Only the block number and value settings for parameters may be added to a G22-block.
Thus, in block:
N50
G22
N=9001
The subprogram call is entered at that point in the program where the blocks of the subprogram have
to be processed.
In a subprogram it is possible to call another subprogram in which another subprogram can be called.
This is known as nesting of subprograms. Up to 8 nests are possible.
891025
Programming CNC3460/700
Section 9 -7
Mv
\\
N 66086
The four holes shown in figure 9.4.2.-1 have to be spot drilled, drilled and tapped.
A subprogram is used for:
- activating a fixed cycle (G79)
- for indicating the four positions where the cycle should be executed.
The subprogram looks as follows:
N9001
N2
N3
N4
G79 X-40
G79 XO
G79 X 40
G79 XO
YO
ZO
Y 40
YO
Y-40
The three fixed cycles are defined in the part program and after every definition the subprogram is called.
The part program looks as follows:
N1
N2
N3
N4
N5
N6
N7
N8
N9
Y .5
G81
G22 N=9001
Z- 2
G81
G22 N=9001
Z-20 F200
G84
Y9
F100
Z-15 F390
T1
M6
M3
T2
M6
T3
M6
S500
S1000
S590
G22 N=9001
Section 9 -8
Programming CNC3460/700
891025
Explanation:
N1
N2
N3
N4
N5 :
N6
N7
N8
N9
9.4.3.
As stated before a subprogram can also be written with the aid of parameters. The same parameters can
be used in different subprograms.
The setting of the parameters can be done:
- In the main program or subprogram.
- Via the operator's panel.
- By reading in the parameter memory
Calculations with parameter values as described in section 9.3.3. are also allowed in a subprogram.
In this example a general subprogram for milling a full circle is shown. To achieve a smooth transition the
circle is entered and left with a small circle. Tool radius compensation is used so that the workpiece
contour can be programmed directly.
E4
22
E1
I
E2
E3
+y
+x
891025
Programming CNC3460/700
Section 9 -9
N9002
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
G91 E3=E1-E2
G1
Z=-E4
F1000
Y=E3
G43 X=-E2
G42
G2 X=E2
Y=E2
R=E2
Y=-E2
R=E2
I0
X=E2
G40
GO X-=E2
G90
Y=-E3
J=-E1
Z=E4
Explanation:
N9002 : The subprogram is identified by block number N9002. In this block incremental programming is
set and parameter E3 is calculated.
: The tool feeds to depth. In E4 a clearance from the workpiece must be considered.
N1
: The tool moves to the centre of the approach circle.
N2
: The tool feeds axis parallel to the starting point of the approach circle.
N3
N4
: Radius compensation right is activated.
: The radial arc is contoured. Both the endpoint and the radius are programmed with parameters.
N5
: The full circle is milled. The circle centre is programmed.
N6
: The arc of the retraction circle is milled. Both the endpoint and the radius are programmed with
N7
parameters.
N8
N9
N10
N200 GO
N201 G22
T1
S2000
X75
Y80
N=9002
M6
M3
ZO
E1=30 E2=15 E4=15
N500
M30
required
position
(X75,
Y80).
Section 9-10
Programming CNC3460/700
891025
9.5.
Normally in a program or subprogram the blocks are processed in the sequence in which they are
programmed. This sequence can be influenced with:
- the jump and repeat function with which any number of blocks from the program can be repeated,
- the conditional jump with which a jump to any block in the program is executed if a condition is
fulfilled.
A special input is provided to influence these functions from outside the program.
9.5.1.
[G14]
With the jump and repeat feature any number of blocks out of a part program -or subprogram- can be
repeated.
A block for jump and repeat is programmed with:
the preparatory function G14,
the number of the first block of the repeat sequence (N1=),
the number of the last block of the repeat sequence (N2=),
the number of repeats, (J-word or E-word).
Whilst executing a G14-block a jump in the program occurs to the block indicated with N1= This block
and the following blocks including the one indicated with N2= are repeated the number of times
indicated by the J-word or E-word. Once the repeats are finished, the program continues with the block
after the G14.
Notice that:
- the starting (N1= ) and ending (N2= ) block number must be in the same program or subprogram,
- N1= must be before N2= , so that the order of executing the blocks in the repeat sequence is the
same as the order originally programmed.
If no number of repeats is programmed (J-word and E-word are missing), the sequence is repeated once.
It is possible to have a repeat of one or more blocks in a repeat sequence. Up to 4 sequences can be
used in this way.
If the last block (N2= ) is not programmed only the block indicated by N1= is executed. In this way we
have a block-repeat. Here too the J-word or E-word indicates the number of repeats of that block.
Refer to the examples 9.6.1.-2 and 9.6.2.-1 for the use of the jump and repeat function.
9.5.2.
[G29]
With a conditional jump a jump to any block in the program is executed if a condition is fulfilled.
A conditional jump is programmed with:
- Preparatory function G29
- A parameter, its value indicates the condition:
: a jump in the program or subprogram
>0
<= 0 : no jump is executed
- The jump target programmed with N= . Its value is the block number at which the process continues
when the condition is fulfilled.
891025
Programming CNC3460/700
Section 9 -11
The target must be in the same program or subprogram as the G29. It is however irrelevant whether the
jump is in the reverse or forward direction.
So a block:
means :
- E2 > 0 : jump to block number N50 and continue the execution of the program from that block in
sequential order.
- E2 <= 0 : continue the execution of the program with the next block after the G29-block.
The function can be used to jump back to the block from which a repeat of programmed blocks has to
start and to execute the blocks up to the G29-block once more. In this case the parameter value
indicates the number of repeats, thus the number of times the intermediate blocks have to be executed.
At each jump the parameter value is automatically reduced by 1.
It is also possible to calculate the parameter value and to use it as the jump condition. To influence the
reduction of the parameter value the K-word is used:
- K-word not programmed, the parameter value is reduced by 1.
- KO programmed, the parameter value is not reduced.
- K <> 0, the K-value is used to reduce the parameter value.
Refer to example 9.6.1.-2 for the use of G29.
9.5.3.
A special input is provided to influence the functions G14 and G29 from outside the part program:
input "high" The functions G14 and G29 are executed as programmed,
- input "low" The programmed jumps are ignored.
If the signal gets "low" during the execution of a repeat sequence, the sequence is normally finished, but
the jump is ignored and the next block of the program is executed. The remaining number of repeats is
cancelled.
9.6.
COORDINATE TRANSFORMATIONS
Section 9 -12
Programming CNC3460/700
891025
9.6.1.
SCALING
[G72/G73]
A part program or a section of a part program can be increased or decreased in shape (scaled) by a
factor.
With another MC-setting is indicated, if only the coordinates of the main plane or all linear axes,
including the tool axis, are influenced by the scaling.
All so indicated dimensions after a G73-block, except the tool dimensions and the stored zero offsets
which are machine dependent values, are scaled until the scaling is terminated by:
- a G72. In this case an activated mirror image is cancelled too.
- a G73 A4=1 or A4=100, depending on the MC-setting .
- CLEAR CONTROL.
The centre of multiplication with the scaling is the program datum point W, so that without precautions
not only the shape but also the position of the workpiece on the table is influenced.
/
/
/
/
/
/
/
Y,
-ii1r
W
If zero datum point shifts are used in the scaled section, these shifts are scaled too. They do not
influence the centre of multiplication.
Refer to example 9.6.1.-1 in which is shown how:
- a centre of multiplication is determined, so that the part remains on a fixed place of the table,
- a datum point more convenient for a part programmer still can be used.
891025
Programming CNC3460/700
Section 9 -13
Scaling can also be used to mill a part a number of times with the same tool, but at different distances
from the part. This is explained in section 9.6.1.-2.
EXAMPLE 9.6.1.-1 Scaling a part
2
15
IS
O'
Y-
60/
.60
70
NB6810
The part programmer should like to use point W as the datum point of his program for the cam of figure
9.6.1.-2. However, this datum can not be used as the centre of multiplication with a scaling, because the
location of the part on the table will be changed too.
Now a point CM on the symmetry axis of the part and at a distance of 47.5=(115-20)/2 from the X-axis
is determined. With this point as centre of multiplication the position of the part remains unchanged with
the scaling.
So the part program starts with:
- a datum point shift from W to CM,
- an activation of the scaling,
- a datum point shift from CM back to W,
- the part program related to W.
To avoid the calculations for the points of tangency between the lines and circles in figure 9.6.1.-2, the
(optional) geometry package is used (Refer to chapter 10).
The part program could be:
N9210
N1
N2
N3
N4
N5
N6
G54
G92
G73 A4=.8
G92
X 50
G1
Y-47.5
Z 10
Y-20
Z-10
G43
Y0
N7
N8
N9
N10
N11
N12
N13
G41 X-35
G64
G2 R15
R115
G2 R15
G1
X 35
N14
G40
G63
N15
T1
M6
Y 47.5
S100
X1=-35 Y1=0
I0
M3
F1000
B1=120 J1=2
K-20
J1=1
Y0
B1=-120
Z10
M30
1
Section 9 -14
Programming CNC3460/700
891025
Explanation:
N9210
N1
N2
N3
N4
N5
N6
N8
:
:
:
:
:
:
:
:
:
N9
N10
N11
N12
N13
N14
N15
:
:
:
:
:
:
:
N7
Identify the part program, set the datum point W and load the tool.
Shift the datum point from W to CM.
Activate the scaling. The part is decreased with a factor .8.
Datum point shift from CM back to W.
Move tool to its starting position and start the spindle.
Move tool to depth.
Move tool TO the part
Set the radius compensation LEFT and move along the X-axis.
Start the geometric calculations.
Move along the straight line defined by one point (X1=.. and Y1=..) and angle to the second
intersection point.
Make the rounding between line and circle.
Make the arc of the circle.
Make the second rounding.
Move along the line to the point on the X-axis.
Retract the tool from the part.
Cancel the radius compensation.
Cancel the geometry calculations and end of program.
15
15
Knc
\
S0/
s
Yi
.60
70
NB6810
2=o
For milling the pocket from figure 9.6.1.-3 in a number of steps at equal distances parametric
programming is used for:
- calculating the distance to the part after each step
- calculating the scaling factor
- checking to see if the milling at equal distances is finished.
The following parameters must be set by the user:
- E1 : the total number of steps
- E2 : the step size
891025
Programming CNC3460/700
Section 9 -15
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20
N21
N22
N23
N24
N25
N26
N27
N28
N29
N30
G54
E1=8
E7=E1*
E6=E7GO XO
T1
M6
E2=5
E2
E3=0
E2
Y47.5
G1
Z-10 F1000
E3=E3+E2
G93 XO
Y47.5
E4=E3:E7
G73 A4=E4
G92
Y-47.5
YO
X-35 YO
X1=-35 Y1=0 B1=120
G64
G2
R15
G2
R115 I0 J-20
G2
R15
X35 YO
G1
B1=-120
G63
XO
S100
M3
J1=2
J1=1
YO
A4=1
G73
E5=E6-E3
G29 E5
KO N=6
YO
G93
Y5
G43
YO
G42
G14 N1=12 N2=19
G40
GO
Z100
M30
Explanation:
N9999
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12-N19
Section 9-16
Identify the part program Set the datum point W and load the tool.
Set the user parameters E1 and E2
Reset parameter E3 and calculate the total distance
For comparison in G29 calculate E6
A movement to the centre of multiplication
Feed to depth
Calculate the distance to the part for this step
A datum point shift to the multiplication centre CM
Programming CNC3460/700
891025
N20
N21-N22
N23
N24-N28
N29
N30
9.6.2.
:
:
:
:
:
:
MIRROR IMAGE
A part program or a section of a part program can be mirrored about one or more than one of the
coordinate axes.
The mirror image is activated with:
- the function G73, any combination of mirror image and scaling is allowed.
- the address of the axis of which the sign of the dimension words in the subsequent blocks should be
inverted.
- the value -1. This means:
891025
Programming CNC3460/700
Section 9 -17
20
20
+r
1
*#*
+
U
NB6083
N9056
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
G81
G79
G79
G79
G79
G73
G14
G73
G14
G73
G14
G73
G81
G14
G84
G14
X20
X40
Y1
Y10
Z-3
Z0
Y30
X20
X-1
N1=2 N2=5
Y-1
N1=2 N2=5
X1
N1=2 N2=5
Y1
Y1
Z-15
N1=2 N2=12
Y9
Z-10
N1=2 N2=12
T1
M6
M3
F200 S1000
T2
M6
F390 S560
T3
M6
F200 S500
M30
Explanation:
N9056
N1
N2 -N5
N6
N7
N8
N9
N10
N11
N12
Section 9 -18
The partprogram is identified with N9056. In the same block the spot drill (T1) is
loaded.
The fixed cycle for spot drilling is defined and the spindle is started.
The defined fixed cycle is executed on the four holes in the first quadrant.
Mirroring about the Y-axis.
The blocks N2 to N5 are repeated, but the signs of the X-coordinates are inverted,
thus the pattern is drilled in the second quadrant.
Additional mirroring about the X-axis. The mirroring about the Y-axis is still valid.
The blocks N2 to N5 are repeated again. The signs of the X- and Y-coordinates are
inverted, thus the pattern is drilled in the third quadrant.
Cancelling the sign inversion of the X-axis.
The blocks N2 to N5 are repeated again. The signs of the Y-coordinates are inverted,
thus the pattern is drilled in the fourth quadrant.
Cancelling the sign inversion of the Y-axis.
Programming CNC3460/700
891025
N13
N14
N15
N16
N17
9.6.3.
: The fixed cycle for drilling the holes to depth is defined. The second tool is loaded and
a new spindle speed is set.
: The blocks N2 to N12 are repeated, thus the defined drilling cycle of block N13 is
executed on the 16 holes.
: The fixed cycle for tapping the holes is defined, the third tool is loaded and the new
spindle speed is set.
: The blocks N2 to N12 are repeated. This time the tapping cycle (block N15) is
executed on the 16 holes.
: End of partprogram.
AXES ROTATION
A part program or a section of a part program in the main plane can be rotated about an angle. To this
end the functions G92 and G93 are extended with a word (B4= ) indicating the angle about which the
coordinate axes are rotated. In both cases the angle is programmed in degrees and decimal parts
thereof and ranges from -360 to 360. The sign is defined as with polar coordinates (see section 3.3.2).
The centre of rotation is the datum point W in use at the moment the rotation is activated.
The function G93 is extended with the word B4= for programming the absolute angle of rotation.
lY
Y'
X"
,Y"
84 =
..
X'
B4 = -.
VW
N 06809
2. Rotation about an (incremental) angle which is defined with respect to the previously rotated main
axis in use. The function G92 is extended with the word B4= which indicates the incremental angle
of rotation.
891025
Programming CNC3460/700
Section 9 -19
IY
X"
Y'
,Y"
X'
B4 =
iB4 s
X
NB6807
A combination of a datum point shift and a rotation is allowed in one block, both absolute with Q93 or
incremental with G92. The order of execution is:
- First the datum point shift
- Then the rotation
So the new datum point is the centre of rotation.
A combination of mirror image and/or scaling and axes rotation is allowed. The order of execution:
First scaling and/or mirroring
Then rotating
Remark : Refer to section 12.9.2 for a macro with which a datum point shift in a rotated sequence
can be performed. For the use of this macro the software option S06 (Calculation
Extension) must be available in the control.
y
X'
30
,w
65
N86808
1
Section 9 -20
Programming CNC3460/700
891025
m
The datum point shift and rotation from figure 9.6.3.-3 is programmed as:
7/15
7,5
/j
10,
5
6
150
NB6806
To avoid the calculations for the points of tangency between the lines and circles of figure 9.6.3.-4 the
(optional) geometry package is used. (Refer to chapter 10). Just one section is programmed. The other
sections are made by rotating the first section.
N9208 G54
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
S100
X37.5 Y10
G1
G43
G41
G64 X1=0
Z10
Z-10 F1000
Y3
M30
N,e
891025
M6
M3
Programming CNC3460/700
Section 9 -21
Explanation:
N9208
N1
N2
N3
N4
N5
N6
Identify the program, set the datum point and load tool 1
Start the spindle
Move the tool to its starting position.
Move tool to depth.
Move tool TO the part.
Set radius compensation LEFT.
Activate the geometric calculations.
Move along the line till the rounding starts. For the line an arbitrary point (X1= and
Y1= ) is used. In thiscase it is the intersection point with the Y-axis.
Make the rounding of radius 5.
Make the circular arc of radius 67.5
Make the second rounding of radius 5.
Move along the line to the point of tangency with the circle of radius 10. For the line
the angle (B1=-120) in the direction of movement and an arbitrary point on the line
is used. It is the intersection point of the line with the X-axis.
Make the rounding of radius 10.
Move along the line to the starting point on the line.
Move tool above the workpiece.
Cancel the radius compensation.
Cancel the geometric calculations.
Rotate the coordinate axes over 60.
Repeat the section in the rotated coordinate system.
End of program.
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
AUTOMATION PACKAGE
9.7.
Though hardly any information for the automation package has to be written in the part program, some
knowledge of it might be useful for the part programmmer.
9.7.1
m=]
The control can be equipped with a tool performance monitor, e.g. Valenite, in which the power
consumption of the spindle drive is measured and compared with three levels, a maximum value and two
threshold values. In this way the performance of a tool is monitored against overload conditions, by
which damage of tool or workpiece is avoided.
Up to 99 groups of power levels can be stored in this monitor and to each group a two-decade number
ranging from 1 to 99 is assigned.
Section 9 -22
Programming CNC3460/700
891025
Depending on the type of the tool, the material of the workpiece and the operation to be executed, a
group of power levels can be chosen for a particular tool.
In a block with a tool change (M6 or M66) the group of power levels is programmed with the word T1=
and via a two decade BCD output transferred to the tool performance monitor.
With automatic workpiece changers, e.g. pallet stations, it is necessary to activate and to execute a new
part program without the interference of the operator.
The external part program selection allows:
- to assign to each part program a special identification,
- to store the identification of the next program during the execution of a part program,
- to activate the requested part program after finishing the running program (at M30),
- to execute the program after an external start command.
Two possibilities are provided for the external selection of a part program.
A fixed assignment
The last three digits of the identification number of the part program can be entered into the control via
a BCD-input. In the part program the relation between the mounting zero datum point C and the
machine datumpoint Mf can be established with one of the functions for -the stored zero offsets (G54G59) and the preset values (G52).
A variable assignment
A special three digit identification number is assigned to a part program. These three digits can be
entered into the control via the BCD-input.
There is a special memory of the control, the external program call memory in which are stored:
891025
Programming CNC3460/700
Section 9 -23
M
I
C
PALLET OFFSETS
After an external activation of a program the preset values belonging to a G52 are zeroed. Then the
pallet offsets are loaded in the zero offset memory under G52 and that function is automatically
activated.
Remark :
If the variable assignment is used and the programs are activated externally or via the con
trol panel after a MANUAL BLOCK SEARCH (see operators manual), it is advisable to
end each part program with the function G51. In this way it is always avoided, that the pal
let offsets of a previous program are used in the next one.
9.8.
9.8.1
[G11]
All movements in a G11 block are executed with the programmed feedrate. The radius compensation can
be active.
The function G11 is only active in the block in which it is programmed. After a G11-block the G-function
belonging to the last movement is active, thus G1 with a chamfer and G2 or G3 with a rounding.
Polar coordinates
In a G11-block polar coordinates can, be used, but these coordinates are slightly different from the polar
coordinates as described in section 3.3.2. The latter coordinates and programming one cartesian
coordinate and an angle can not be used in a G11-block.
The following description applies only to polar coordinates used in a G11-block (G17 is assumed to be
active).
Absolute polar coordinates
When a G90 (absolute coordinates) is active, the polar coordinates in a G11-block are absolute too,
thus defined with:
- the angle (B-word) which the connection line of the datum point W and the end point makes with the
X-axis,
- the distance (L-word) from W to the end point.
Section 9 -24
Programming CNC3460/700
891025
PI
L
'
,B
'Gil
PO
TW X
N 86105
With G91 active (incremental dimensions) the polar coordinates are defined with respect to the previous
tool position. This means, that:
- the angle (B-word) is determined with a line through the previous tool position and parallel to the Xaxis and the line along which the tool is moving,
- the distance (L-word) is measured along the tool path from the tool position to the new one.
PI
L
B
Yi,
PO
N8M04
The angle (B-word) and the distance (L-word) are programmed in exactly the same way as the polar
coordinates introduced in section 3.3.2. So refer to that section for:
- the sign of the angle
- the sign of the distance
- the axis to be used with the definition of the angle in the different planes.
891025
Programming CNC3460/700
Section 9 -25
9.8.2.
Between a linear movement programmed with the function G11, and a linear movement in the next
block, either a chamfer or a rounding can automatically be generated by the control.
The following two words are used for it:
K-word :
The length of the chamfer, programmed as a dimension word, but without a sign. The chamfer
is symmetrically located around the end point.
PI,
PI
P2
P2
V.
PO
NB6413
NS6412
P1
In both cases the next movement from P1 to P2 must be linear, thus a block containing G1 or G11.
-v
s
\
6'
>Y
P
A
2
/
\
/
\ / $/
N86412
Section 9 -26
Programming CNC3460/700
I
891025
N9010
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
G17
T1
GO X100
G1
G43 X 60
G41
G11
G11
G11
G11
G40
G1 X100
Y10
Z-10
M6
M3
S1000
F300
Y0
B-90
B150
B60
BO
L103.923 K60
L103.923 K60
L60
L60
Y10
Z10
M30
Explanation:
: Identification of the program.
: Set the plane and load the tool.
: Start the spindle; move tool to point P and then at depth.
N9010
N1
N2
N3
N4
N5
N6
:
:
:
:
N7
N8
N9
N10
N11
N12
:
:
:
:
9.8.3
The function G11 allows to program two points in one block, e.g.
made from
and additionally a chamfer or rounding between a linear movement in the next block. Though with a
chamfer or rounding the points P1 and P2 are not reached, their coordinates have to be programmed.
891025
Programming CNC3460/700
Section 9 -27
I
1(X;Y)
P1
PO
,B
B1=
P2(X1s;Y1s)
Y1=
P2
Y PO
iB1=
\AJ.
-*-
NB6411
X1=
W*
G90
NB6U1
G91
P1.
Xand Y
Band L
or
or
?2-
These coordinates are programmed with absolute or incremental dimensions depending on the active
function G90 or G91.
Between the two linear movements either a chamfer or a rounding can be programmed (refer also to sec
tion 9.8.2)
K,
PI
,R
P2
PO
PO
N66410
P2
N66410
block) a chamfer or rounding can be made, programmed with the words (refer also to section 9.8.2):
K1=
R1=
Section 9 -28
Programming CNC3460/700
891025
PI
PI
P3
,P3
,R1r
/
'Kir
VP2
Y<
P2
PO
PO
N86409
N86409
PQ
P1 to P2 to P3 are programmed in a
to
P1
Any combination of the described movements is allowed. This results in the following possibilities:
1. A chamfer between the linear movements in the G11-block and a chamfer or rounding between the
G11-block and the next one.
PI
<P3
PI
P3
\R
R
Y<
Kir' P2
PO
P2
PO
N064O8
R1r
N86408
A rounding between the linear movements in the G11-block and a chamfer or rounding between the
G11-block and the next one.
PI
,R
R
Yi
PO
-P3
PI
P3
K1> 'P2
NC6406
Rlr
PO
W
P2
N06406
891025
Programming CNC3460/700
Section 9 -29
60
5
fU
6'
w
1
M20
2
\
\
\
'
'
N86108
-fr
The regular hexagon of figure 9.S.3.-6 has to be milled on the outside. A two point geometry element is
used. The sides 2 and 5 are programmed as chamfer. The part program could be:
N9011
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
G17
GO X100
Y10 Z-10
G1
F300
G43 X 60
G41
Y0
G91
G11
L120 K60 B1=-60
B-120
G11
B60
L120 K60 B1=120
G40
G90
G1 X100 Y10
Z10
T1
S1000
M6
M3
L1=-120
L1=-120
M30
Explanation:
N9011
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
Section 9 -30
Programming CNC3460/700
891025
9.8.4.
The function G11 allows to program two different linear movements in one block. The first movement is
defined by its starting point (= the endpoint of the previous movement) and the angle the line makes
with the X-axis. The second movement is defined by its endpoint programmed in the G11-block and the
angle the second line makes with the X-axis.
PI
B1 =
P2(X;Y)
PO
NB6407
For the two line geometry the following words are used:
X and Y :
The angle the line from PO to P1 makes with the positive X-axis.
B1=
The angle the line from P2 to P1 makes with the positive X-axis.
in the next block a chamfer or rounding is possible. Refer to section 9.8.3. for the programming of a
chamfer or rounding.
EXAMPLE 9.8.4.-1 A two line geometry element
\
\W\WV
Y
s;|I
|j
\y
RAOUS
\V
v:
wn
HAOIUS
N
\
V'
X
N
N
NISI
\\
I
891025
Programming CNC3460/700
Section 9 -31
The inside pocket of figure 9.8.4.-2 can be programmed using the G11-function with two line geometry
elements. Compare this program with the program of example 6.2.6.-3.
N9012G17
N1
G1
N2
G43
N3
G42
N4
G2
N5
N6
G11
N7
G11
G11
N8
G1
N9
N10 G2
N11 G40
GO
N12
X80
Y25
ZO
Z-10
T1
F500
S1000
M6
M3
X105
YO
Y90
X60 Y150
X200 YO
X80 YO
X55 Y25
X80
XO
R25
BO
BO
BO
F300
B1=90 R15
R1=15
R1=15
R1=20
B1=90
B1=120 R15
R25
M30
Z200
Explanation:
N9012
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
:
:
:
:
:
:
:
:
:
:
Section 9 -32
Programming CNC3460/700
891025
10. GEOMETRY
[G63/G64]
Each movement is programmed in a separate block using the standard G-functions for linear (GO and
G1) and circular movements (G2 and G3). With some additional words is achieved that most
calculations are avoided.
Two G-functions are introduced for starting (G64) and stopping (G63) the geometric calculations. So
the conventions in the use of the geometry are kept to a well defined section of the program. These
functions form one group of which just one function can be active at a time. At CLEAR CONTROL the
function G63 is automatically activated.
a.
b.
<7YO
R
Y
ik
a.
a.
b.
x
NB7990
With the word R1=0 in the block of the first element is indicated, that that element is tangent to the
second one.
891025
Programming CNC3460/700
Section 10- 1
2.
A.
R
R
NB7991
\ I
Y7
I
/
z'
R]
NB7992
C\
R1
\
Y
R
p0
P0
R1
/
/
>R2/K
M*
/
/
\
Y
NB7993
Section 10-2
Programming CNC3460/700
891025
3.
a.
b.
c.
a.
P2_
P2
P1
P1
b.
vP2
c.
NB7995
With the word J1= is indicated which intersection point between the programmed elements (line and
circle or two circles) should be used:
- J1=1 : the left intersection point (P1)
- J1=2 : the right intersection point (P2)
4.
NB7996
891025
Programming CNC3460/700
Section 10-3
5.
A rounding between:
a.
b.
c.
/
X /
1/
b.
c.
NB7994
A rounding is:
always tangent to the geometric elements (line or circle) from the previous block and the next one
programmed with :
- G2 or G3 indicating the direction of movement
- the radius (R-word) of the rounding
Remark:
Section 10-4
Programming CNC3460/700
891025
Refer to :
- chapter 3 for programming a position
- section 5.3.2.1. for programming a centre point
- B1=
the angle which the straight line makes with the positive X-axis when looking in the
direction of movement. See section 10.2.4.1.
- R1=0
the straight line is tangent to the circle from the next block . See section 10.3.2.
- J1=
the straight line cuts the circle from the next block in the Jgfi (J1=1) or right (J1=2)
intersection point. See section 10.2.4.2.
- 11=
the straight line is parallel to a programmed line at a distance 11= from that line. See
section 10.2.4.3.
- X.Y.I1=0:
-I
The following words are used to extend the G2- and G3-blocks:
-R1=0
the circle is tangent to the straight line from the next block. See section 10.3.2.
-J1=
the circle cuts the straight line or circle from the next block in the left (J1=1) or right
(J1=2) intersection point. See section 10.2.4.2.
B1=
the angle which the line through the common centre of two concentric circles and the
centre of the matching circle makes with the X-axis.
Programming an angle in the direction of movement along the tine means the use of:
- the positive angle (B1=+ ) with an increasing Y-value,
- the negative angle (B1=- ) with a decreasing Y-value.
891025
Programming CNC3460/700
Section 10-5
P1
Pt
p1
B1- +
B1-90
PO
PO
B1-PO
PO
PO
PO
81- -90
B1-
B1
PI
PI
P1
N86891
If the movement is parallel to the X-axis, the following words should be used:
- B1=0 : with an increasing X-value,
- B1=180 : with a decreasing X-value.
B1 =0
PO
B1=180
PI
PI
PO
NB6892
Section 10-6
Programming CNC3460/700
891025
P2
pi
YK
Y\
rpi
n
po
SrT
NB6915
2.
3.
PI
PE
PO
pr
P2
P2
NB8022
In this case the left intersection point is the point on the same side from the centre as:
- the starting point with a line to a circle
- the end point with a circle to a line
891025
Programming CNC3460/700
Section 10-7
Two circles
PI
/\
K1
'
K2
\/
/V
P2
Ww *
NB8023
Sometimes, a line is drawn parallel to a known line. The distance between the required line and the
known one is programmed with the word 11= .
n=
n= +
NB8002
Section 10-8
Programming CNC3460/700
891025
In many cases the endpoint of a linear movement is not known, but another point on the line can be
found in the drawing. This point, a support point on the line, can be used to define the line. The
support point is programmed as an absolute endpoint.
The block should also contain the word 11=0.
L2=
P1
Y Y1=
y
B2=
X
X1=
X..
X1=
Y..
..
Y1=
11=0
B2=
L2=
11=0
..
P1
11=0
NB8010
Remark :
1.
The absolute cartesian coordinates of a support point can also be programmed with the words
(11=0 can be omitted):
- X1= absolute X-coordinate
- Y1= absolute Y-coordinate
2.
Using an absolute position without 11=0 causes the tool to move to the programmed point
without executing a chamfer, rounding or matching circle.
891025
Programming CNC3460/700
Section 10-9
11 =
11=
NB8002
1.
Section 10-10
Programming CNC3460/700
891025
B1 =
B1 =
0
PO
PE
>PE
PO
PO
\
R
PO
PO
NB8017
Fig. 10.2.5.-1. Possibilities a,b,c with known starting point
\
J
\
J
,B1=
11 =
PO
PO
NB8018
891025
Programming CNC3460/700
Section 10-11
2.
b .
a
PE
,PE
B1 =
B1 =
a
R.
R,
B1 =
B1=
b
,R
y
B1 =
y
!1 =
NB8019
3.
Section 10-12
Programming CNC3460/700
891025
11=
11=
11=
L2=
P1
Y Y1=
y
B2=
\r
X
X1=
4-
X..
Y..
11=..
B2=
.. L2= . . 11=..
P1
11=..
NB8012
Fig. 10.2.5.-4. Programming a parallel line
4.
L2=
P1
Y Y1=
y
B2=
X
X1=
X..
Y..
X1=.. Y1=
11=0
B2=
L2=
11=0
..
PI
11=0
NB8010
In the cases 2, 3 and 4 some words (if required) can be added to the block:
- R1=0 indicating that the line is tangent to the circle in the next block.
or
- J1=1/2 indicating the intersection point between the line and the circle in the next block.
891025
Programming CNC3460/700
Section 10-13
The centre point is programmed with either absolute cartesian or absolute polar coordinates (see
section 10.2.1.).
In addition comes:
a. the absolute coordinates of the endpoint (see section 10.2.1)
b. the radius (R..) of the circle
and (if required) one of the additional words R1=0 or J1-1/2. See section 10.2.3.
5 r
T
J
R1
<k-r
r
I
NB8020
* ir
Y
NB8021
Section 10 - 14
Programming CNC3460/700
891025
Endpoint Is known
J
Y
y,
'w
w x
X
NB8026
i
891025
Programming CNC3460/700
Section 10-15
In this manual the geometry is described in the XY-plane. If the movements are carried out in another
plane, then the angle B1=.. is defined with respect:
- to the +X-axis in the XZ-plane (G18 active),
- to the -Z-axis in the YZ-plane (G19 active).
-Z
B1=
B1=
-Y
B1=
-z
-Y
NB6927
G17
G18
G19
(
Section 10 - 16
Programming CNC3460/700
891025
General conventions
Once the geometric calculations are activated, then the following is not allowed:
- Incremental programming, this means incremental cartesian as well as incremental polar coordinates,
- Using more than one defined point in a block,
Programming an absolute position with regard to R (G74),
- Helix interpolation,
- Coordinate transformations,
scaling and/or mirror image (G72/G73),
- axes rotation (G92/G93),
- Datum point shifts (G92 or G93),
- Changing from stored zero offsets (G51 to G59),
- Changing from main plane (G17, G18 or G19),
- Defining a point (G78),
- Chamfer, rounding or intersection calculation with G11,
- Macro call (G22),
- Program call (G23),
- Jump and repeat functions (G14 or G29),
- Defining a fixed cycle (G81 to G89),
- Activating a fixed cycle (G77 or G79),
- Functions related to in-cycle gauging (G45 to G50),
- 3D-tool correction (G141),
- Activating cylinder interpolation (G182),
- Tool changes (M6, M66, M67).
ft
ft
First activating scaling, mirror image or program rotation and then using the geometric calculations is
allowed and results in the required operation on the program section. See also example 9.6.3.-1.
891025
Programming CNC3460/700
Section 10- 17
10.3. EXAMPLES
P1
40-
P0
B1=120
60*
.60"
Y
P0
Yf
P1
30
30
30
a
NB8048
The movement from Po to P1 in figure 10.3.1.-1. with increasing Y-value (a) is programmed as:
N10 G1 X30 B1=60
and with decreasing Y-value (b) as:
N10 G1 Y10 B1=-120
(
Section 10 - 18
Programming CNC3460/700
891025
60
40
y
ea
NB8004
GO
G64
G1
XO
YO
XO
XO
XO
YO
YO
YO
B1=0
B1=60
B1=180
B1=-120
11=40
11=60
G63
Explanation
N10
N11
N12
N13
N14
N15
N16
:
:
:
:
891025
Programming CNC3460/700
Section 10 - 19
EXAMPLE
7
/
m Y
CN
o
ii
80
<
NB8005
as follows:
N10 G1
N11
N12 G2
EXAMPLE
X0 Y25
I80 J10
B1=0
R25
J1=1
/
<N
Y
in
ik-,r
ii
60
80
>
>
NB8006
The movement from the first circle, via the left intersection point to the second one can be
programmed as follows:
N10 G1
N11 G2
N12 G2
X0 Y25
I60 J15
I80 J10
Section 10-20
R15
R25
J1=1
Programming CNC3460/700
891025
/S
\W
25
65
NB6963
The program for the part from figure 10.3.2.-1. could be:
N99974
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
G54
GO
T1
X110
Y30
Z10
Z-10
G1
G43
G41
G3
G64
G2
G1
G2
G1
G2
G3
G63
G40
G1
GO
S100
M6
M3
F1000
Y40
X100
Y30
I90
J30
R10
R10
R1=0
R1=0
I25
J30 R15
R1=0
R1=0
X100
X110
Z100
Explanation:
N99974
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
891025
Section 10-21
N12
N13
N14
N15
N16
REMARK :
There are two other common tangent lines (see figures 10.3.2.-2a and 2b).
P1
"
>
PO'-
P:
NB6961
25
80
P2
K1
fjt
y
PI
P3
NB6962
25
80
b
Figure 10.3.2.-2 Inside common tangent lines
R1=0
R1=0
R1=0
R1=0
N-1 :
N
N+1 :
the circle (K1,R15) and the indication (R1=0) that the circle is tangent to the line from
the next block.
the tangent line and the indication (R1=0) that the line is tangent to the circle from the
next block.
the second circle
Notice that the difference between these programs is the direction of movement on the circles
(G2 orG3).
Section 10-22
Programming CNC3460/700
I
891025
The point of tangency between two circles can be calculated by the control.
The first circle can be programmed with:
1
2.
3.
ft
If the second circle is programmed with endpoint and radius (1.b. and 3.b.), the word R1=0 has to be
used in the block of the first circle, indicating that the circle is tangent to the circle in the next block.
Combination 1.a.
i
ik-r
NB8007
I2
N10G2I1 J1 R1
N11 G2I... J... R...
ft
891025
Programming CNC3460/700
Section 10 -23
Combination 2.c.
S
n
NB8007
I2
X1
Y1
X2
Y2 I2 J2
R1 R1=0
Combination 3.c.
Y2
Y1
J1
J2
11
NB8009
12
X2
X1
Y1
X2
Y2
Section 10 -24
11
I2
J1
J2
Programming CNC3460/700
891025
150*
&
&
-150*
o,
in
&
80
110
NB6972
Fig. 10.3.4.-1. Circle matching line and circle
The program for the part from figure 10.3.4.-1. could be:
N6
N7
G54
GO X0
G1
G43
G42
G64 XO
G3
G3 155
N8
G1
N9
G3
G2 I0 J45
G3
G1
G3 I-55J20
G3
G1 XO YO
N99973
N1
N2
N3
N4
N5
N10
N11
N12
N13
N14
N15
N16
N17
N18
T1
Y-20
Z10
Z-10
S100
F1000
M6
M3
YO
11=0
YO
J20
B1=0
R40
R15
R1=0
B1=150
R10
R15
R10
B1=150 R1=0
R15
R40
B1=0
Z10
G63
G40
I
891025
Programming CNC3460/700
Section 10 - 25
Explanation:
N99973
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
Identify the program, set the datum point and load the tool.
Start the spindle and move the tool to a position outside the workpiece.
Move tool at depth.
Move tool TO the workpiece.
Set radius compensation RIGHT.
Activate the geometric calculations.
Move along the X-axis, programmed with the datum point as a support point on it and
the angle 0, till the point of tangency beteen the line and the matching circle.
Move along the matching circle till the point of tangency with the circle in the next block.
Move along the circle to the point of tangency with the line in the next block.
Move along the line till the matching circle.
Make the matching circle between line and circle.
Make the circle till the matching circle.
Make the matching circle between circle and line.
Move along the line to the point of tangency with the circle in the next block.
Make the circle till the matching circle.
Make the matching circle between circle and line.
Move along the X-axis to the datum point W.
Retract the tool from the part.
Cancel the geometric calculations.
Cancel the radius compensation.
<
Section 10-26
Programming CNC3460/700
891025
ft
s
<b
1.5
Y
to
W\ X
12
44
65
110'
NB6928
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20
N21
N22
N23
N24
N25
N26
891025
G54
T1
X120
G1
G64
G43
G41
G3
G1
G3
G2
G2
G1
G2
G1
Y-35
Y-15
X110
Y-15
X65
Y-22
G3
G3
G1
G63
G40
GO
X65
X65
X110
Y22
Y22
S100
M6
M3
F1000
11=0 B1=180
R5
11=0 B1=-90 J1=1
I65
J-72
R65
I0
JO
I0
J50
R1=0
JO
112
JO
I44
J-10
I0
G3
G3
G2
G2
G1
Z10
Z-10
R50
R40
R1=0
R1=0
R10
R1=0
R6
R24
R6
R1.5
R36
J1=1
R1=0
11=0 B1=90
R5
Y15
B1=180
Y-40
X120
Z100
Programming CNC3460/700
M30
Section 10-27
Explanation:
N99969-N4
N5
N6
N7
N8
N9
N10-N14
N15
N16
N17
N18
N19-N26
:
:
:
:
:
:
:
:
:
:
:
:
10
>1
80
NB6897
The part program for the part of figure 10.3.6.-1. could be:
Section 10-28
Programming CNC3460/700
891025
N99987
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
G54
G0X-20
G1
G43
Y-20 Z10
Z-5 F1000
YO
G42
G64 X60
YO
11=0
X60
Y60
XO
Y60
XO
YO
11=0
110
11=0
110
11=0
X10
YO
G40
G63 X10
GO
T1 M6
S100
M3
no
no
Y-20
Z100
Explanation:
N99987
N1 -N5
N6
N7
N8 -N14
N15-N17
Program identification
I
891025
Programming CNC3460/700
Section 10-29
1
:
4?,
10
60
s
11
y,
Jo
60-
"V2
80
200
NB8049
The part program for the part from figure 10.3.7.-1. with the use of the geometry could be:
N99986
N1
N2
N3
N4
G54
GO X80
G1
G43 X105
N5
G42
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20
N21
N22
N23
N24
G64 X105
G2
G1 XO
G2
G1 XO
G2
G1 X60
X60
G2
G1 XO
T1
Y25
Z10
S100
Z-10 F1000
YO
11=0
YO
11=0
Y90
11=0
Y90
Y150
11=0
Y150
11=0
YO
11=0
YO
11=0
G40
GO
Section 10-30
(
R25
R15
R15
11=0
R15
G2
G1 X200
G2
G1 XO
G2
G1 X55
G63
M6
M3
R15
R20
R25
Y25
Z100
Programming CNC3460/700
891025
Explanation:
N99986
N1 -N5
N6
N7
N8
N9
N10
N11-N18
N19
N20
N21
N22-N24
Program identification
These blocks are obvious
Activate the geometric calculations. The first line is programmed with a support point on it.
Make the rounding between the line from block N6 and block N8.
Move along the line till the starting point of the rounding in the next block.
Make the rounding between the line from block N8 and block N10.
Move along the line till the starting point of the rounding in the next block. '
Mill the other sides and roundings
Move along the line till the starting point of the circle for leaving the contour.
Leave the contour via a small circle, which is programmed as a rounding between the line
from block N19 and block N21
The final linear movement.
movements, between
The control offers the possibility to program the so called discontinuous movements too. This means:
- that for each circular movement, including a rounding or matching circle, either G2 or G3 can be
used,
that one of the two tangent lines of a circle can be programmed.
From a point two lines can be drawn tangent to a circle. With the word R1= in the block with the
tangent element is indicated which tangent should be used:
R1=1 : the Jgfi tangent line
R1=2 : the right tangent line
with a movement from line to circle by looking from the starting point to the centre,
with a movement from circle to line by looking from the centre to the endpoint.
891025
Programming CNC3460/700
Section 10-31
Programmed are:
line tangent to a circle:
- a linear movement and the word R1=
- a circular movement with the required direction of movement (G2 or G3), its centre point and
radius.
circle tangent to line:
- a circular movement with the required direction of movement (G2 or G3), its centre point, the
PO
\
R'
%
K
PO
"w
NB8024
i
Section 10-32
Programming CNC3460/700
891025
In general:
- two types of matching circles between a line and a circle,
- six types of matching circles between two circles can be recognized and from each circle the centre
can be :
left from the line through the centre perpendicular to the line and looking from the centre
to the line
or
from the connection line of the centres and looking from the first centre to the second one,
K1=
1 = left
>
2 = right
I
891025
Programming CNC3460/700
Section 10-33
2.
In case 1 one and in case 2 two types of matching circles are possible. Each circle can be on the left or
on the right from the line through the centre perpendicular to the line and looking from the centre to
the line.
- K1=20
\
\
/
NB6964
(
Section 10-34
Programming CNC3460/700
891025
The linear movement is programmed as described in section 10.2.5, the cases 1, 3 anct 4.
a.
B1 =
A""
A'"'
K1=10
B1=
<?>>K
K1= 20
A
/
b
NB6966
: K1=10
: K1=20
891025
Programming CNC3460/700
Section 10-35
b.
\ <?>
\
/
i
/
K1= 21
K1= 11
b
NB6967
Remark :
In the figures 10.4.4.-1. and -2. a few cases are drawn. The other cases can be
programmed in a similar way.
I
Section 10-36
Programming CNC3460/700
891025
K1 = 1
K1=2
K 1 =12
K1
<?/
t
/
I
K2
fi
'
K2
K1
t
I
ow
K1*22
X
PO
<*/
K1
'
K1
Y'?\
A
K2
K1-23
K1-13 +
b
\/ K2
110
I
<P
PO
oV
K1=14
|
PO
P3
<*>
'v
J/
K1
\ /
K2
K1
PO
K2
AP
P3
I
'
K1-24
K1-15
j
j
&
K1
K1
P3
PO
PO
8/
P3
K2
K2
*x
>
K1=25
NB8050
891025
Programming CNC3460/700
Section 10-37
: K1=12
: K1=22
: K1=13
: K1=23
: K1=14
: K1=24
: K1=15
: K1=25
Remark
If both circles are concentric, the programming is the same as with one circle in the other
one, except that it is also necessary to program the angle (B1=..) which the line through
the centre point of both circles and the centre point of the matching circle makes with the
X- axis.
I
Section 10-38
Programming CNC3460/700
891025
K1=1
K1=2
\
P04
S$, K1-16
K2
K1
K1
K2
POJ
R
Ki-2e
X
Y
<*y
X'
PO
\
K1
K1
\*
\
\
K1-27 v
PO
'-X,
'
NB805
f.
: K1=16
: K1=26
The word K1 = for a matching circle surrounding the smaller circle (see figure 10.4.4.-2f.) is:
: K1=17
: K1=27
891025
Programming CNC3460/700
Section 10-39
This may happen e.g. with a matching circle surrounding both circles and the greater arc has to be used
or in an occasion found in this example
100
/
25
10
10
o
co
14
o
ro
15
LT>
15
Y
W
LD
o
CN
10
45
85
NB8028
Section 10-40
T1
X115 Y60
Z10
Z-10
S100
M6
M3
F1000
X100
R1=0
R10 K1=22
R1=0
R1=0
110 J15
R10
R14
110 J30 R10
R1=0
X25 Y60
X115
I45 J20 R15
Z10
Programming CNC3460/700
I
891025
Explanation:
N99970-N4
N5
N6
N7
:
:
:
:
N8-N10
N11
N12-N16
used.
: Common tangent line.
: Matching circle with the centre on the left.
: These blocks are obvious.
In some cases with K1=1 or K1=4 the connection circle is the rounding between the geometric
elements. In these cases the proper word K1= can be used in the block or can be omitted from it. In
the latter case the rounding is automatically used by the control.
In some cases the contour intersects itself (K1=2 or K1=3). It depends on the part to be made, if the
part programmer can use these cases or has to avoid them.
Two lines
/
/
Or
4
\
\
/
Ct
\
N-
B1=
N+ 1
Bt =
Y
NB6946
i
891025
Programming CNC3460/700
Section 10-41
N+1
N+1
N+1
N-1
I
\
N-1
N1
N-1
NB8056
t
t
N+1
xv
N+1
'N-I
N+1
N+1
'N-1
'N-1
X
X
'N-1
NB8057
N+1
N
N+1
N+1
N-1
N-1
N-1
N-1
<
V.
NB8058
N.
N+1
N+1
v
N-1
NI
X
N-1
N-1
NV'X
X
X
N-1
NBB059
Section 10-42
Programming CNC3460/700
(
891025
Cases a and c
Cases b and d
N10 G1 ....
N11 G2 K1=1,2,3,4 FL
N12 G1
N10
N11
N12
....
....
G1
G3 K1=1,2,3,4 R..
G1
....
Remark :
1.
In the cases c and d with K1=2 (fig. 10.4.5.-3.) and a and b with K1=3 (fig. 10.4.5.-4.), the
contour intersects itself.
2.
Case a with K1=1 and case d with K1=4 are the roundings between the two lines.
Line to circle
+3
+4
+2
j
+1
/
NB6909
The circular connections between line and circle can be programmed according to the following scheme:
N10G1
J1=
N11 G2(G3)K1=1,2,3,4 R..
N12G2
N10
N11
N12
G1
J1=
G3(G2) K1=1,2,3,4 R..
G3
Remark :
1.
N10 G1
J1=
N11 G2(G3) K1=2
N12 G2
2.
or
N10
N11
N12
G1
G2(G3)
G3
J1=
K1=3
N10 G1
N11 G2
N12 G3
\
891025
J1=
K1=1 R..
N10
N11
N12
G1 J1=
G3 K1=4 R..
G2
Programming CNC3460/700
Section 10-43
Circle to line
N\
--
+4
+3
+1
+ 2
+3
+2
+1
+4
/j
NB6910
N10G2
N10G3
J1=
N11 G2(G3) K1=1,2,3,4 R..
N12G1
N11G3(G2)
N12G1
J1=
K1=1,2,3,4 R..
Remark :
2.
or
N10
N11
N12
G3
G2(G3)
G1
J1=
K1=3
N10 G2
N11 G2
N12 G1
J1=
K1=1 R..
N10 G2
N11 G3
N12 G1
J1=
K1=4 R..
N10 G3
N11 G2
N12 G1
J1=
K1=1 R..
N10 G3
N11 G3
N12 G1
J1=
K1=4 R..
or
K
Section 10-44
Programming CNC3460/700
891025
;
Circle to circle
>
J2
>o
H
/
K1
K2
\\
PO.
>
NB8060
!
/
K2
/
V
2
""x
(
NB8061
891025
Programming CNC3460/700
Section 10-45
Remark :
1.
In a few cases the contour intersects itself. This may happen with the circles K1=2 or K1=3.
2.
N-1 G2
G2
N
N+1 G2
J1=
K1=1 R..
N-1
N
N+1
G2
G2
G3
J1=
K1=4 R..
N-1 G3
N
G2
N+1 G2
J1=
K1=1 R..
N-1
N
N+1
G3
J1=
K1=4 R..
or
G3
G3
i
Section 10-46
Programming CNC3460/700
891025
11.
SPECIAL OPTIONS
In both cycles the probe moves with rapid traverse to a position defined by the pre-measuring distance.
'
/
--
X1=
MC
NB6901
Figure 11.1.1.-1 The pre-measuring distance
When the probe touches the workpiece during this rapid movement, an error is displayed and the
movement stopped.
After reaching this position the probe moves with a fixed feedrate (MC-setting) in the programmed
direction to a position a fixed distance (MC-setting) past the point to be measured.
During this movement the probe should encounter the workpiece. If not, an error is displayed.
An output is provided to initiate an airflow to clean the surface, once the probe has reached the
starting point for measuring. The blow time is set by a machine constant.
I
891025
Programming CNC3460/700
Section 11-1
Spindle
These probes are active, as soon as they are loaded in the spindle.
Remote signalling probe (e.g. infra red probe)
Receiver
Battery
*
o
o
o
L-J
Spindle
o
q?
Photodiodes
These probes are switched on with the function M27. Two types can be handled by the control:
- automatically switching on via a signal to the probe electronics,
- switching on by spinning the probe a short time.
Switching off is done:
- automatically by the probe electronics after a time set in that interface,
- by spinning. In this case the function M28 is used to initiate the spinning.
Hard wired probe
In this case the signal transfer is via a cable. This type of probe is switched on via M27 and switched
off via M28.
Section 11-2
Programming CNC3460/700
891025
[G45]
The deviation between the actual position of a point of the workpiece and the programmed position
can be measured.
Programming the cycle
a
7
A
/ / / / /
/////
a
NB6900
The cycle for measuring a point on a line parallel to an axis is programmed with G45 and in the same
block:
X, Y, Z, B :
I, J, K, L :
X1= :
The tool number corresponding with the dimensions of the probe which are
stored in the tool memory.
The measured value is automatically corrected for the probe dimensions.
N=
Number of the point in the point memory, where the measured coordinate,
recalculated by the control to a position related to W, is stored.
So N=10 means that the measured coordinate is stored as the X, Y, Z or Bcoordinate, depending on the used axis, of point P10.
891025
Programming CNC3460/700
Section 11-3
Measuring sequence
Move the probe with rapid traverse rate to the starting point defined by the pre-measuring
distance.
Move the probe with the fixed feedrate in the programmed direction.
During the feed movement the probe should encounter the workpiece. If not, an error is displayed.
If the probe touches the workpiece, the measured position is stored and the probe moves with
rapid traverse rate back to the starting point.
Calculate the difference between the measured and programmed position and store it in the
memory of the control.
11.1.4. MEASURING A CIRCLE
[G46]
The deviation between the actual circle centre and radius and the programmed centre and radius can be
measured.
to
l=C
NB6902
P:
Instead of the coordinates the P-word can be used, indicating a previously defined
point (G78).
I, J and K:
The plane for measuring the circle. The sign indicates the type of circle to be
measured:
+1 : Inner circle
-1 : Outer circle
Both words for the plane should have the same sign.
Section 11-4
Programming CNC3460/700
891025
Thus:
The feed used on the path between the four measuring points. See figure
11.1.4.-3.
The tool number corresponding with the dimensions of the probe, which are
stored in the tool memory.
The measured value is automatically corrected for the probe dimensions.
X1=
N=
Number of the point in the point memory where the calculated centre point coor
dinates related to W, are stored.
So N=12 means that the centre point is stored at P12.
Measuring sequence
Endpoint
GO
t
GO
Startpoint
Startpoinl
r~4
+y
t
+x
1+1
J+1
1-1
J-1
NB6903
Figure 11.1.4.-3 Measuring a circle on quadrant points
Move the probe with rapid traverse rate to the first starting point defined by the pre-measuring
distance.
Move the probe with the fixed feedrate (MC-setting) in one axis past the first calculated measuring
point.
During the feed movement the probe should encounter the workpiece. If not, an error is displayed.
Programming CNC3460/700
Section 11-5
Move the probe with the programmed feedrate (F-word) back to the starting position.
Move the probe with the programmed feedrate along the circle in clockwise direction to the
starting point of the second measuring point.
Measure the second position of the circle and store the data.
Move in the same way to the third position, measure this position and store the data.
Move in the same way to the fourth position, measure this position and store the data.
Once the four positions are measured, the circle centre and radius are calculated out of the
measured data.
The coordinates of the calculated circle centre are stored in the point memory. The calculated radius
is stored as a parameter.
[G49/G50]
Checking on tolerances
[G49]
PP
d
d+
NB6889
Pp is the programmed position on the axis, then the measured point should be between Pp
and (Pp + d+) or between Pp and (Pp - d-). Here d+ and d- are the limits (tolerances) in the positive
If point
Y
Y1=
Z
Z1=
B
B1=
R
R1=
Section 11-6
Programming CNC3460/700
891025
If one of the differences is out of range, the program can continue with:
1.
2.
A conditional jump
E
: Parameter indicating that a jump is executed if E>0.
N= : Block number of the block to which is jumped if the condition (E>0) is fulfilled.
3.
An error on the display of the control if neither a repeat nor a conditional jump is programmed.
When the various differences are between the programmed limits the block following the G49-block, is
executed.
Processing the differences
[G50]
Once it is found that the calculated differences are between the programmed limits the differences can
be used for:
A change of a secondary machine datum point, thus the stored zero offsets, resulting in a change
of the program datum;
A correction on the tool dimensions.
If the G50-block is used to change the secondary machine datum point with the differences, the
following words are used:
>
X1
I
Y1
Z1
K
B1
L
N=
The number of the G-function for the stored zero offsets (G52 or G54 to G59). The
offset value for the programmed axis is corrected with the difference for that axis.
Only those axes are programmed of which the coordinates have to be changed. So a change of only
the X-coordinate is programmed as:
N.. G50
X1
I.8 N=54
The multiplication factor can have a sign and ranges from 9999.999 to .001. If no factor is
programmed a value +1 is assumed.
So 1.8 means a muliplication factor of .8.
891025
Programming CNC3460/700
Section 11-7
For measuring corrections on tool dimensions a square probe mounted at a fixed position of the
machine tool is used.
In the machine constant memory are stored:
- The coordinates of the fixed position of the probe
- The dimensions of the square top of the probe.
For each tool the approximated length and radius value are stored in the tool memory.
The following words are used:
G45 : Indicating that a point should be measured.
M25 : Indicating that the special probe for measuring corrections on tool dimensions should be used.
1+1 or 1-1
J+1 or J-1
K+1 or K-1
L+1 or L-1
X1=
L1=1
I.J.K
R1=1
X1=
In both cases the multiplication factor can have a sign and ranges from 9999.999 to .001. If no factor
is programmed the value +1 is assumed.
Section 11-8
Programming CNC3460/700
891025
[G46+M26]
With a ring gauge mounted on a fixed position of the machine tool, it is possible to calibrate the touch
probe.
Depending on the type of ring it can be measured from the in- or outside.
In the machine constant memory are stored:
- The coordinates of the fixed position of the ring gauge
- The diameter of the ring gauge
ft
: The feed used on the path between the four measuring points.
: The tool number corresponding with the place in the tool memory in which the radius of
the probe is stored.
X1=
The difference between the measured centre point and the centre point stored in the machine
constants is calculated and can be used in a G50-block to change the datum point.
11.1.8. Programming measuring cycle macros
Four functions (G145,G148,G149,G150) are available which allow sub-programs (macros) to be writ
ten for controlling measuring cycles.
ft
[G145]
X,Y,Z,A :
The coordinates of the point to be measured. These coordinates are related to datum point
W.
etc.
P :
Instead of coordinates, a previously defined position can be used by stating a (G78) Pword.
E :
This word indicates the status of the measuring probe, by containing one of three possible
values after a G145-function has been executed.
If E = 0 after a G145-function has finished the programmed position has been reached but
no measurements have been made; the assigned E-parameters which contain measurement
values are therefore unaltered.
ft
891025
Programming CNC3460/700
Section 11-9
If E = 1this indicates that before the programmed position had been reached the probe
was triggered and measurements taken and stored in the assigned
E-parameters.
If E = 2 this indicates that the G145-function was executed in the Block Search, Testrun,
or Demo mode.
F2= :
Feed of measuring movement. If F2= is not programmed, the feedrate value stored in
MC843 (version 700 onwards) will be used.
K :
KO is the default mode. The measured positions are corrected for the tool length and radi
us (point B). The measured positions of rotary axes do not incorporate tool dimensions.
K1 results in the measured positions not being corrected for tool length and radius (point
A).
C/O
5
R
B
NB8257
L0 is the default mode. The movement is terminated when the programmed position has
been reached or when the probe has been triggered (Trip mode).
L1 results in the movement being terminated when the programmed position is reached or
when the probe arrives at its rest position (Untripped mode).
X7= :
This word states the number of the E-parameter which will contain the measured position
of the X-axis, eg. X7=2 states that parameter E2 will contain the measured X-axis posi
tion. This word can also have a complete E-parameter stated, eg. X7=E1 (with E1=5) will
result in E5 containing the measured value.
This method of storing the results of measuring movements can also be used for other axes:
Y7= : the Y-axis
Section 11-10
Programming CNC3460/700
i
891025
Demo
In this mode the G145 movement is towards the programmed position. If an E-parameter is pro
grammed with G145, the parameter will be given the value 2. The signals from the probe are ignored in
this mode however, the programmed axis positions are stored in the assigned E-parameters.
Block Search
In this mode a G145 movement towards the programmed movement is simulated. If an E-parameter is
programmed with G145 the parameter will be given the value 2. The signals from the probe are ignored
in this mode and the assigned E-parameters remain unaltered.
Testruns
In this mode a G145-movement towards a programmed position will be at the test feedrate. If a test is
run without movement, the G145 movement will be simulated; the programmed axis positions will also
be stored in the assigned E-parameters. If a G145 E-parameter is programmed it will be given the value
2 by the CNC.
If the probe is triggered whilst travelling to the programmed position the movement will be aborted a
collision error message generated,and the contents of the E-parameters unaltered. The error code gen
erated during a G145-movement will be P36, and 024 if outside the G145-movement.
Intervention
When an intervention command is issued during a G145-movement the E-parameter will be unaltered.
When restarting after an intervention, a repositioning movement towards the starting point of the
G145- movement will occur. The repositioning movement will happen in the same manner as a G01movement. After a successful repositioning movement, the G145-movement will recommence. If,after
reaching the starting point, the probe status is not the same as it was before the intervention, the
CNC will generate an 0171 (probe status invalid) error code.
If the probe is triggered during a repositioning movement, a collision error (024) will be generated.
11.1.9. Calling probe status
E :
[G148]
I
891025
Programming CNC3460/700
Section 11-11
[G149]
T :
States the number of the tool for which tool data must be fetched. If an FMS system is be
ing used the complete tool number must be stated.
L1= :
States which E-parameter has to contain the tool length, eg. L1=3 states that E3 will con
tain the tool length.
R1= :
N1= :
States which offset value must be placed in the parameter. N1= can have a value from 51
to 59, or a choice of either 92 or 93. If G92 or G93 are not active the E-parameter will
contain the value 0.
X7= :
Other similar *7= type words can be programmed; the range of choice depends upon the
configuration of the axes.
Example:
<
NB8258
The number of the active tool is called (accessed) by programming : G149 TO E ; the number of the ac
tive tool will be stored in the E-parameter.
<
Section 11-12
Programming CNC3460/700
891025
The offset is called by programming : G149 N1=E ; depending on the offset required N1=' is given the
value 0 or 1.
N1=0 :
N1=1 :
The E-parameter will be given the value of the currently active offset G54...G59.
If a G54...G59 type offset is not active, the E-parameter is given the value 53.
The CNC will operate as normal in the Demo, Block Search, and Testrun modes.The G149 function can
not be interrupted by the use of the interruption command.
[G150]
T :
Tool whose data must be adapted. If a FMS system is being used, the tool number must be
stated completely.
L1= :
R1= :
Example:
N1= :
X7= :
States the amount by which the X value of the selected offset is to be altered.
Other offsets can be altered by the use of the same *7= format,
for example : G150 N1=57 X7=E1 Y7=E6 Z7=10.
G57 is the type of offset.
The new value of the X-axis offset is stated in E1.
The new value of the Y-axis offset is stated in E6.
10 is the new value of the Z-axis offset.
The CNC will operate as normal in the Demo,Block Search, and Testrun modes.The G150 function can
not be interrupted by the use of the interruption command.
I
891025
Programming CNC3460/700
Section 11-13
11.2. GRAPHICS
Once the programming is finished, the program has to be tested. To this end a special test menu on
the control is available. With this menu can be chosen amongst other possibilities visualising the
programmed movements on the display of the control without any actual movement on the machine
tool. So the program can be checked for correct movements.
space
Remark :
1.
There are a few other parameters which can only be defined in the graphics memeory.
2.
3.
The functions G98 and G99 are ignored during the actual execution of the part program on the
machine tool.
4.
Graphic simulation requires per tool the definition of the tool image and the color on the
graphics. This information is stored in the tool memory (G-word).
[G98]
The representation space is a box of which the walls are used for defining windows for the three main
planes, so that by scaling the programmed dimensions, as much as possible from the display of the
control is occupied with the visualisation. In the representation space the blank of the component is
defined.
The lower left rear corner point of the box corresponds with the lower left point of the display. This
point has to be related to the datum point W of the part program too.
I
Section 11-14
Programming CNC3460/700
891025
>
J
W.
<
X"
NB8052
I
891025
Programming CNC3460/700
Section 11-15
In some plotting modes the part can be rotated about the X- and Y-axis.
Remarks :
1.
If the representation space is not defined, neither in the graphics memeory nor in the part
program, the limit switches of the axes are used for defining the box.
2.
The zooming facility allows to enlarge a section of the program, so that a closer look at the
programmed movements is possible.
[G99]
For visualising the machining on the graphics display, the part dimensions must be defined too. To this
end a box is defined in exactly the same way as with the representation space:
- the left rear corner point with respect to W with the words X, Y and Z,
- the sizes of the box with the words I, J and K.
These dimensions (X, Y, Z, I, J, K) can be :
- stored in the graphics memory of the control (see operators manual),
- inserted in a part program in a G99-block.
Up to 10 G99-blocks can be used in a part program for defining irregular shapes or clamping fixtures.
Only that section of a program which fits in the representation space, is displayed. So visualising just a
section is possible.
If the total program has to be visualised, the blank of the part has to fit entirely in the representation
space.
i
Section 11-16
Programming CNC3460/700
891025
12.
CALCULATION EXTENSIONS
12.1.
INTRODUCTION
With the functions sin, cos and tan the angle can be expressed in:
- degrees and decimal parts thereof,
- degrees, minutes, secondes or
- radians.
For programming convenience pi is introduced as a constant.
Also added are a set of relational operators :
() or "not equal to"
"equal to"
- "greater than" (>) or "greater than or equal to"
- "less than"
(<) or "less than or equal to"
(*).
(>=).
(<=)
The operations and functions can be combined to one compound expression which may be programmed
at any place where an E-parameter can be used.
PARAMETER REPRESENTATION
Internally in the control parameters are stored as integer, fixed point or floating point values. The type is
automatically determined by the control.
I
891025
Programming CNC3460/700
Section 12 -1
12.2.1 INPUT
With the input of a fixed point value up to 15 significant digits can be used. The decimal point, if required,
can be at any place between the 15 digits. A sign may precede the fixed point value.
So:
E1=1
E1=-200.009
E1=9999.99999 are all valid fixed point values.
The input of a floating point value is with the so called scientific notation, thus with a mantissa and an
exponent (= a power of 10).
The mantissa is programmed as a fixed point value.
The exponent is preceded by e followed by a sign and an integer between -99 and +99. The sign is
optional and if not programmed, + is assumed.
So:
E1=1.976125e5
(i.e., 1.976125*100000=197612.5)
E1=1.976125e-5
(i.e., 1.976125*.000001=.00001976125)
or
are valid floating point values.
12.2.2 CONVERTING FLOATING OR FIXED POINT TO INTEGER
The function Int is used to convert a floating or a fixed point value to an integer value.
So
E1=int(E2)
12.2.3 ROUNDING
Parameters or computed values are automatically rounded by the control on each place where they are
used as words with a limited number of decimals.
So if E1=101.74e-3 and X=E1 is programmed, then X.102 is used.
I
Section 12 -2
Programming CNC3460/700
891025
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
E1=E2
E1=E2+E3
E1=E2-E3
E1=E2*E3
E1=E2:E3
E1=E2A2
E1=E2A-1
E1=sqrt(E2)
E1=abs(E2)
E1=E2AE3
: equalize parameter E1 to E2
: add parameter E3 to parameter E2
: subtract parameter E3 from parameter E2
: multiply parameter E2 with parameter E3
: divide parameter E2 by parameter E3
: square parameter E2, so calculate E2*E2
: reciprocal of parameter E2, so calculate 1:E2
: extract square root of parameter E2
: absolute value of parameter E2
: erase E2 to the power E3
In the place of E2 and E3 any parameter, value or legal expression can be programmed. Parameter E1 is
an example too.
12.3.2 SQUARING
The sequence of operation for squaring a value with a sign is:
- first perform the squaring
- then consider the sign.
So E1=-3A2 is evaluated as :
step 1
step 2
: 3A2=9
: -9
With the function sqrt the parameter must be positive or zero. Otherwise an error message is displayed.
(E2)
E1=sqrt
or
or
E1=sqrt
(5)
(E2A2+E3A2)
E1=sqrt
are valid expressions with the function sqrt.
So
12.3.4
EXPONENTIATION
I
891025
1.
2.
0A0
E2AE3 with E2<0 and E3 real
Programming CNC3460/700
Section 12-3
To Keep enough significant digits all calculations are executed with floating point values, except for those
cases where calculations with fixed point values do not give loss of accuracy, thus in most cases with
add, subtract or evaluating abs.
If necessary the type is automatically converted by the control.
E1=44+12:60+33.5:3600
2. Angle in degrees, minutes, seconds
A third possibility is to program the angle in radians. In a goniometric function the value is terminated
with rad. This word is not allowed outside these functions.
So an angle of 44, 12, 33.5" can be programmed as .7715979rad.
4. The constant pi
The value of pi is stored in the control and at each place where a value or E-parameter is allowed, the
word pi can be used.
PI is stored in the control with an accuracy of 15 digits.
4
Section 1 2 -4
Programming CNC3460/700
891025
For converting degrees to radians or radians to degrees one has to remember that 360 degrees = 2*pl
radians. So :
1 degree
1 radian
= (2*pl):360 radians
= 360 :(2*pl) degrees.
((44.209303:360)*2*pi)rad
If the angle is known as 44, 12, 33.5" the conversion to radians has to be programmed in a different
way :
E1=44+12:60+33.5:3600
and then :
angle = ((E1:360)*2*pi)rad
The reason for introducing a parameter (E1) is that one compound expression with the conversion to
decimal degrees followed by the conversion to radians, exceeds the maximum number of characters (40)
in one line.
The functions for sine (sin), cosine (cos), and tangent (tan) are available. They are programmed as :
sin
cos
tan
(E..)
(E..)
(E..)
The parameter E.. must be an angle programmed as described in the previous section. A value or any
legal expression between the parentheses is also allowed.
An error is generated, if odd multiples of 90 degrees are used with the function tan.
So
or
or
E1=Sin (44.209303)
E1=sin (4412"33.5)
E1=sin (,7715979rad)
or
E1=44+12:60+33.5:3600
E2=sin (E1*2*pi:360rad)
or
E3=2*pi:360
E2=sin (E1*E3rad)
i
891025
Programming CNC3460/700
Section 12 -5
asin (E..)
acos (E..)
atan (E..)
The input parameter E.. can also be a value or any legal expression. For asin and acos its final value
should ly between -1 and +1. For atan the input parameter can have any value.
The angle determined by the control is always in degrees and decimal parts thereof. With the function
asin or atan the angle lies between -90 and +90 and with the function acos between 0 and +180.
So E1=asin (.6972815) is a valid expression. After evaluating the function : E1=44.209303 (degrees
and decimal parts thereof).
12.6. EXPRESSIONS
For an expression with one operand the programming sequence can be:
operand - operator
only with the operator A ;
operator - operand
with all functions.
1.
2.
A compoundexpression consists of any combination of simple expressions. Two types are possible:
arithmetic expression for computing a numerical value
relational expression for checking a relation between two arithmetic expressions.
(
Section 12 -6
Programming CNC3460/700
891025
All desired computations must be specified explicitly. That is, if more than onq operand appears in
an arithmetic expression, they must be seperated from one another by an arithmetic operator.
So a construction like E3=E1E2 has no meaning.
2.
No two arithmetic operators may appear consecutivily in the expression. For example, an
expression like E1*:E2 is invalid. However, an expression like E1*-E2 is allowed.
3.
The order of executing the operations is from left to right. With parentheses the order can be
influenced. See 12.7.
A relational expression is formed by combining two arithmetic expressions with a relational operator. If
the relation is satisfied (or the expression is true), a programmed parameter is set to 1, otherwise to 0.
:
:
:
:
:
:
E2 equal to E3
E2 not equal to E3
E2 greater than E3
E2 greater than or equal to E3
E2 less than E3
E2 less than or equal to E3
an example too.
Programming a jump condition in a G29-block is much easier with a relational expression than with the
usual programming.
So a block:
means that a jump to N400 is executed, if E2 is greater than E3, for in this case parameter E1 is set 1
and this parameter is used as the jump condition.
To satisfy a relational expression all digits are compared and have to be the same. When parameter
values are results from calculations, this may cause difficulties. In this case limits have to be set and
checks performed to assure that the value is between these limits. Refer to section 12.9.1 for an
example.
I
891025
Programming CNC3460/700
Section 12-7
<
The space character is used to terminate a legal expression and is therefore not allowed in it. If the
expression is the last word in a block, the character EOB [LF] is used for terminating it.
The maximum number of characters in one line (40) restricts the size of a legal expression.
More than one legal expression is allowed in one block, as long as the maximum number of characters
(80) in that block is not exceeded.
12.7. PRIORITIES
The priority for evaluating a legal expression is:
1. evaluate a function sin, cos, tan, asin, acos, atan, sqrt, abs, int.
2. calculate reciprocal, square or exponentiation
3. multiply or divide
4. add or subtract
5. evaluate relational expression
If the operations have the same priority, such as multiply and divide, the evaluation is from left to right.
So an expression like E1=3+7:2-4A2+5*6
is computed in the following order:
4A2=16
7:2=3.5
5*6=30
3+3.5=6.5
6.5-16=-9.5
-9.5+30=20.5
step 1
step 2
step 3
step 4
step 5
step 6
Parentheses can be used to group operations and thus impose a different order of computation. The
expression between the parentheses is evaluated before the result is used. In this case an arithmetic
expression is "nested" in another arithmetic expression. The computation proceeds from the innermost
nest to the outermost. Within any one set of parentheses the normal sequence for evaluating an
expression applies. Up to 4 nests can be used in an expression.
1
Section 12 -8
Programming CNC3460/700
891025
L2=
15
B2=
y
/
wx
10
NB7960
If for some reason the absolute polar coordinates of point P have to be calculated, the programming
could be :
12.8. OPERATING
I
891025
Programming CNC3460/700
Section 12-9
If only values are used as operands, the softkey CALC allows to evaluate the entered expression and to
store the calculated value.
Input parameters
E1 :
E2 :
E3 :
E4 :
E5 :
E6 :
E7 :
E8 :
I
Section 12-10
Programming CNC3460/700
891025
Output parameters
E20 :
E21 :
(E3; E4)
(E7; E8)
(E5; E6)
\
E21
y
/
wx
E20
NB7961
The macro
N99401
N1
N2
N3
N4
fc
W
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
Explanation
N1-N3
N4-N6
N7-N8
N9-N11
N12 - N14:
N15 - N16:
891025
Programming CNC3460/700
Section 12-11
Remark: Parameter E79 can be used to handle the error in the calling program or macro.
Example of the use
First line through the points ( 30;50) and (60;30).
Second line through the points (100;50) and (50;10).
E1=30
E2=50 E3=60 E4=30
E5=100 E6=50 E7=50 E8=10
G22 N=99401
G29 E79
KO
N=
GO X=E20
Y=E21
: the points of the first line
: the points of the second line
: calculate the intersection point
: if an error is detected, jump to the block with M30
: move with rapid traverse to the intersection point
Section 12 -12
Programming CNC3460/700
891025
E54
E55
E70 :
E71 :
E72 :
E73 :
E74 :
alignment angle
the shift value in the X-axis in the rotated coordinate system (G17 or G18) or the toolaxis
(G19).
the shift value in the Y-axis in the rotated coordinate system (G17 or G19) or the toolaxis
(G18)
the shift value in the Z-axis in the rotated coordinate system (G18 or G19) or the toolaxis
(G17)
the angle with the X-axis (G17 or G18) or with the -Z-axis (G19) of the machine tool.
Output parameters
E61 :
E62 :
E63 :
YM
w
E72
E74
E71
VW
XM
NB7962
891025
Programming CNC3460/700
Section 12-13
The macro
(DATUM POINT SHIFT AFTER AXES ROTATION)
N99502
N1
G93 B4=0
E80=1 E81=E70+E74
N2
N3
G29 E83=E54>17 E83 N=14
N4
G29 E83=E55=1 E83 N=10
N5
E61=E71*cos(E81)-E72*sin(E81)
N6
E62=E71*sin(E81)+E72*cos(E81)
N7
G29 E83=E55=2 E81 N=12
N8
E63=0
G29 E80K0 N=34
N9
N10
E61=0
N11
E62=0
N12
E63=E73
N13
G29 E80K0 N=34
N14
G29 E83=E54>18 E83 N=25
N15
G29 E83=E55=1 E81 N=21
N16
E61=E71*cos(E81)+E73*Sin(E81)
E63=E71*sin(E81)+E73*cos(E81)
N17
G29 E83=E55=2 E81 N=23
N18
N19
E62=0
G29 E80 KO N=34
N20
N21
E61=0
N22
E63=0
N23
E62=E72
N24
G29 E80 KO N=34
N25
G29 E83=E55=1 E83 N=31
E63=E72*sin(E81)+E73*COS(E81)
N26
E62=E72*cos(E81)-E73sin(E81)
N27
G29 E83=E55=2 E83 N=33
N28
N29
E61=0
N30
G29 E80 KO N=34
N31
E62=0
N32
E63=0
N33
E61=E71
N34
G92 X=E61 Y=E62 Z=E63
G93 B4=E81
N35
Explanation
N1
N2
N3
N4-N7
N8
N10-N11
N12
N15-N18
N19
N21 - N22
N23
N25 - N28
N29
N31 - N32
N33
N34
N35
Section 12 -14
Programming CNC3460/700
891025
If a datum point shift in the tooiaxis only is required, just the shift value for the toolaxis has to be
programmed.
2. The shift values for the axes which are not used, are set to 0.
3.
The sign should be considered for all distances. The shift values are coordinates in the rotated
system.
4.
The coordinates in the position display refer to the non rotated coordinate system.
5. The G-function for the plane (G17, G18 or G19) should be set before the macro is called.
6.
The alignment angle (E70) is determined with job set up. If not used, it should be set to 0.
YM
w
30
30
100
xM
VW
NB7963
Fig. 12.9.2.-2. Datum point shift after axes rotation
E70=30
N=99502
E71=100 E72=30
After the macro call (N101) point W2 is the new datum point.
891025
Programming CNC3460/700
Section 12 -15
E51
E52
E53
E54
E56
E61
E63
E64
E90
E91
E92
clearance distance
depth of the pocket
feedrate
code for the main plane
17 : the XY-plane
18 : the XZ-plane
19 : the YZ-plane
tool radius
radius of the sphere
=-1 clockwise milling
= 1 counter clockwise milling
depth per step
the X-coordinate of the centre of the sphere part surface position in the toolaxis with
G19
the Y-coordinate of the centre of the sphere part surface position in the toolaxis with
G18
the Z-coordinate of the centre of the sphere part surface position in the toolaxis with
G17
Output parameter
E79
=1:
=0:
E91
y,
X
W
E90
E61
E92
E51
E52
NB7964
Section 12-16
Programming CNC3460/700
891025
The macro
N99700
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
N18
N19
N20
N21
N22
N23
N24
G29
G29
G89
G29
G79
G29
G79
G29
G79
G29
G29
G29
GO
G29 E80 KO N=24
GO
G29 E80 KO N=24
GO X=(E90+E51)
Z=(E92+E51)
Y=(E91+E51)
Explanation
N2
N3
N4 -N6
N7
N8
N9
N10
N11 -N12
N13
N14
N15
N16
N17
N19-N24
Remark
1.
Notice the use of a calculated target block number (E85) for the conditional jump in N8 and
N18.
2.
Parameter E79 can be used to handle the error in the calling program or macro.
891025
Programming CNC3460/700
Section 12 -17
40
x
40
*/
7
15
NB7965
T1
M06
M03
M30
Explanation
N1-N2
N3
N4-N6
N7
N8
: define the window (G98) and the material (G99) for running the program in graphics
mode.
: set the plane (XY-plane) and load the tool.
: start the spindle and define the parameters
: call the macro for milling the pocket
: end of the program
<
Section 12-18
Programming CNC3460/700
891025
13.
CYLINDER INTERPOLATION
13.1.
INTRODUCTION
For cylindrical cams, contours have to be made on the surface of a cylinder. The surface can be
developped to a plane, the plane of the cylinder surface. In general the required contours are drawn in
this plane and with the option cylinder interpolation programmable as movements in this plane. The usual
G-functions for linear or circular interpolation can be used. During the execution .of the program these
movements are converted to movements with a linear (= the axis of the cylinder) and a rotary axis. The
tool must be perpendicular to the wall of the cylinder. With movements in the toolaxis the depth on the
cylinder wall is controlled. Two new G-functions (G182/G180) are introduced to activate and cancel the
cylinder interpolation.
AXES AND PLANES
13.2.
Rotation about the X-axis (A-axis). The plane of the cylinder surface is the AX-plane. The toolaxis
can be Y or Z.
+Y
Tool
<ZH
EEK
+X
+x
A+
A+
+z
+z
Tool
NB7966
Rotation about the Y-axis (B-axis). The plane of the cylinder surface is the BY-plane. The toolaxis
can be X or Z.
+Y
+Y
B+
B+
S'T'
Tool
Tool
+X
+z
+z
+x
NB7967
I
891025
Programming CNC3460/700
Section 13-1
Rotation about the Z-axis (C-axis) The plane of the cylinder surface is the CZ-plane. The toolaxis can
be X or Y.
+Y
+Y
Tool
+x
+X
s
C+.
Tool
C+
+z
+z
NB7968
13.3.
[G182]
Cylinder interpolation is activated with G182. In this block can also be programmed:
- the cylinder axis (X1.Y1.Z1 ),
- the rotary axis (A1, B1, C1 ),
- the tool axis (Y1/Z1, X1/Z1, X1/Y1 ).
So a block with G182 Y1 B1 Z1 means:
- Y-axis : the cylinder axis
- B-axis : the rotary axis,
- Z-axis : the tool axis.
In this case the plane of the surface is the BY-plane.
Because a machine tool often has one rotary table, it is possible to define the configuration for cylinder
interpolation at installation. These settings are stored in the machine constant memory and are used by
the control as default values, in case the axes are not programmed in the G182 block.
With the R-word in the G182 block the radius of the cylinder is programmed. The radius is used for feed
calculations. If the R-word is omitted, an error is displayed. The cylinder radius must be between 5mm
and 500 mm.
The radius is used as long as it is not cancelled by another G182-block with a different R-word. In this
block all parameters not corresponding with a MC-setting have to be repeated.
At the execution of the G182 block the position of the rotary axis is not recalculated.
The following functions may not be active, when G182 is programmed:
(G41-G44)
- Radius compensation
(G64)
- Geometry
image
scaling
or
Mirror
(G73)
- Axes rotation
(G92/G93)
(G141)
- 3D-tool correction
Section 13-2
Programming CNC3460/700
891025
ft
GO
G1
G2
G3
G40
G41
A
A
A
D
D
D
G42
G43
G44
G90
D
J
G91
G180
G182
J
B
B
2.
Group
Description
Modal Reset
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Page
5-1
5-5
5-15
5-15
6-14
6-9
6-9
6-7
6-7
3-4
3-4
3-20
3-20
These functions can also be programmed. Their meaning is not influenced by the cylinder
interpolation.
Fund
G4
G14
G22
G29
G94
G95
Group
Description
K
K
Dwell
Jump and repeat function
Call of a subprogram
Conditional jump
Feed in mm/min or inch/mm
Feed in mm/rev or inch/rev
Modal Reset
2)
Y
Y
2)
1)
Page
5-30
9-11
9-7
9-11
5-29
5-29
ft
891025
Programming CNC3460/700
Sedion 13-3
Remarks :
1.
The active function at the moment of activating cylinder interpolation is not influenced by G182.
2.
The block to which is jumped during the execution of the functions G14 or G29, must be in the
program section for cylinder interpolation.
3.
The use of a G-function not contained in the tables 13.4.1.-1 or -2, will cause an error message.
The plane of the surface is called either AX , BY or CZ , depending on which cylinder the contour has to
be made.
Cylinder axis
Z
i
+
A
B
Rotary axis
C
NB7969
<
The horizontal axis is the rotary axis and is programmed in degrees and decimal parts thereof.
The vertical axis is the linear axis (=the axis of the cylinder) and is programmed in mm (or inches).
13.4.3 COORDINATES
A position on the cylinder axis is programmed with the address for that axis, thus X, Y or Z.
A position on the rotary axis is defined with the corresponding address A, B or C.
<
Section 13-4
Programming CNC3460/700
891025
The functions G90 and G91 are used for programming the rotary axis, cylinder axis and the tool axis as
well, with absolute (G90) or incremental (G91) cartesian dimensions.
13.4.4 THE DATUM POINT
At activating cylinder interpolation the tool position in the rotary axis is recalculated to a position
between 0 and 360. This position defines the datum of the rotary axis.
The datum of the cylinder axis is the datum at use at activating cylinder interpolation, thus defined by the
active function for stored zero offset (G53-G59), (p)reset axis (G51-G52) and a datum point shift
(G92-G93).
[G70/G71]
An entire program is written with either metric or inch dimensions. So also the section for cylinder
interpolation is programmed with this unit, thus:
- the cylinder axis metric or in inches
- the rotary axis in degrees.
The function G70 or G71 must be programmed before the section for cylinder interpolation.
13.4.6 MOVEMENTS
13.4.6.1
POSITIONING
[GO]
A movement with rapid traverse rate of both axes to the programmed endpoint.
If all three axes are programmed in one block there is a fixed sequence for moving the axes:
- first tool axis
- then movement in the plane of the cylinder surface
13.4.6.2
[G1]
Two or three axes can be programmed in one block. All axes move simultaneously and reach their
endpoint at the same time.
I
891025
Programming CNC3460/700
Section 13-5
13.4.6.3
[G2/G3]
The G-functions G2/G3 are used for indicating a circular movement in the plane of the cylinder surface :
G2 : a circular movement from the linear axis to the rotary axis
G3 : a circular movement from the rotary axis to the linear axis.
Z/Y/X
Z/Y/X
G3
G2
A/B/C
A/B/C
NB7970
Only programming of the circle endpoint and the radius (R-word) can be used.
A
A
X
R.
B
Z/Y/X
Z/Y/X
A
B
C
w
A
A
B
NB7971
Fig. 13.4.6.3.-2 Circle with endpoint and radius
[G40-G44]
For radius compensation the five preparatory functions (G40, G41, G42, G43, G44) can be used.
The meaning of these functions is the same as for operations in a main plane (refer to chapter 6). For
defining LEFT or RIGHT one should look in the negative direction of the tool axis towards the cylinder.
From the control side of view there is no restriction on the size of the tool radius. But using large tools
i
Programming CNC3460/700
891025
200.
180.
20
20
45/
45
20
20
60
40
30
120
330
240
360
0
NB7972
The part program for the cylindrical cam of figure 13.5.-1 could be:
N9011
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
N15
N16
N17
G54
G182
GO
G43
G1
T1
M6
R114.6
Y180
Y200
B0
S1000
Z114
M3
F300
G42
B30
G2
G1
G3
G1
G3
G1
G2
G1
G40
GO
Y194.142
Y45.858
Y40
Y45.858
Y194.142
Y200
B37.071
B112.929
B120
B240
B247.071
B322.929
B330
B360
R20
R20
R20
R20
Z150
Explanation:
N2
N3
N4
N5
N6
N7-N15
N16
N17
891025
Programming CNC3460/700
I
Section 13-7