Académique Documents
Professionnel Documents
Culture Documents
Programming Instructions
DIN
102
Version
Typ1 osa / CC 220
Programming Instructions
DIN
1070 073 661-102 (93.05) GB
(Z25 NJ)
E 1993
Contents
Safety instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Safety 1
Abbreviations used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 1
1 General
General notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2
Program structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6
Characters used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 10
Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 11
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 13
Leader programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 14
Prompt programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 15
Standard programming formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 17
2 G functions
G Codes .................................................................. 21
G0 Linear interpolation with rapid traverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5
G1 Linear interpolation with feedrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 6
G2/G3 Circular interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 7
Helical motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 11
Cylinder surface milling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 12
G4, G104 Dwell time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 14
G5 Circular interpolation with tangential entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 15
G6, G7 Acceleration programming ON/OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 16
G8, G9 Path slope ON/OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 17
G10 G13 Polar coordinate programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 18
G14, G15 KV programming ON/OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 29
G16 KV measurement (lag measurement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 30
G17 G19 Plane selection X/Y, Z/X, Y/Z plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 31
G20 Plane selection of 2 out of 6 axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 32
G22 Subroutine call P, K, V level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 33
without G22 Subroutine call via P/Q address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 34
G23 Conditional jump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 35
G24 Unconditional jump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 36
G25, G26 Permitted working area minimum values/maximum values . . . . . . . . . . . . 2 37
G125, G126 Forbidden working area minimum values/maximum values . . . . . . . . . . . 2 37
G27 Cancellation of the working area limitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 37
G28, G128, G29 Corner deceleration ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 41
Corner deceleration/acceleration OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 42
G33 Thread cutting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 43
G37 G39 Programmable mirror image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 55
G37 G39 Coordinate rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 60
G38 G39 Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 65
Cont. 1
CC 220/320 M
Contents
Flexible Automation Programming Instructions
Cont. 2
CC 220/320 M
Contents
Flexible Automation Programming Instructions
Address F Feedrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Address S Spindle speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Address M Mcodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Programmable spindle orientation (M19) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Address T Tool selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4 Tool compensation
Length compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2
Compensation sign for length compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3
Radius compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4
Tool table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5
Start point, start of contour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7
Contour entry with various start points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 8
Contour transitions with G68 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 9
Contour transitions with G69 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 10
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 11
End point, deactivation of compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 12
Outside corners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 14
5 Special functions
6 Annex
Cont. 3
CC 220/320 M
Contents
Flexible Automation Programming Instructions
Cont. 4
CC 220/320 M
Safety instructions
Flexible Automation Programming Instructions
Safety instructions
The following labels, intended to draw your attention to certain features, may be
attached to the control components:
NOTE!
(This item will give you supplementing explanations, recommendations, informa
tion and tips)
CAUTION!
(Nonobservance of instructions may result in material damage! E.g. deletion of
files or damage to assemblies)
CAUTION!
(Nonobservance of instructions may result in material damage or even bodily
! injury)
CC 220/320 M
Safety instructions
Flexible Automation Programming Instructions
CC 220/320 M
Preliminary remark
Flexible Automation Programming Instructions
Preliminary remark
The present manual refers to the "Z25 NJ" software version of the CC 220/320 M
control.
NOTE!
Information on the current software version of your control can be found in the
DIAGNOSTIC group operating mode after pressing the DIAGNOSTIC CONTROL
and SOFTWARE VERSION softkeys.
It contains with regard to the manual title the information required for the
proper operation of the control. For reasons of clarity, however, it does not contain
all details of all possible function combinations. Likewise, since the control is as a
rule a part of larger installations or systems, it is not possible to cover any
imaginable case of integration or operation.
If, however, you should wish to get further, more detailed informtion, or in case if
special problems occur in the operation of the control which are not, or not detailed
enough, covered in this manual, please address your questions to your local
Bosch service department or to our customer consultation department.
The present description does only apply to DIN programming of the CNC. For CPL
programming, a separate manual is available. For programming the machinetool
manufacturer cycles, please observe the corresponding description of the
machinetool manufacturer.
Programming the control allows you to influence the axis movements (e.g.
positions etc.), machining technology (e.g. feed, rpm, etc.), machining sequence
(e.g. tool change, compensation, helpfunction output, etc.), and even the
interaction between CNC and drives (e.g. KV programming). All this requires
general programming knowledge on the one hand (e.g. for the logic program
sequence, the description of the contour, etc.), and on the other hand knowledge of
the technology of CNC latheturning/milling (e.g. for the selection of the correct
feedrate for machining a certain material).
CAUTION!
Programming by insufficiently or even untrained, or unexperienced, personnel
! may result in severe damage to machines, drives, tools, workpieces or even bodily
injury!
Test the programs first without axis movement! The control provides for such tests
! the TEST ON softkey in the AUTOMATIC (NC) group operating mode. If this softkey
is displayed in inverse video, no movements directly initiated by a part program will
be performed.
BOSCH excludes any liability for subsequent damage resulting from processing
! an NC or CPL program or of an individual block, or from manual traverse of the
axes! And neither will BOSCH be liable for subsequent damage which could have
been avoided by appropriate PLC programming!
Please note in this context our extensive training offer. An seminar overview can be
found on the inside of the manuals cover sheet. For details, please contact our
training center (Telephone: 6062/78258).
Prelim. 1
CC 220/320 M
Preliminary remark
Flexible Automation Programming Instructions
Prelim. 2
CC 220/320 M
Abbreviations
Flexible Automation Programming Instructions
ABBREVIATIONS USED:
SK = Softkey
MP = Machine parameter
IF = Interface
UP = Subroutine
CS = Communication store
NOTE!
1. The programming examples should be understood as symbolic only.
01
CC 220/320 M
Abbreviations
Flexible Automation Programming Instructions
02
CC 220/320 M
General
Flexible Automation Programming Instructions
General notes
1. The G functions G900 to G990 can be optionally assigned by the customer.
The machinetool builder should place M6, M60 and other programs in the
range between P 899 999 000 and P 899 999 999.
4. An axis shut down via "Drive on" (IF signal) must not be programmed.
5. Programs can be tested in fastrun mode via "Program test" or "Go Block".
11
CC 220/320 M
General
Flexible Automation Programming Instructions
Definitions
System of coordinates
The explanations contained in these instructions follow DIN 66217. This standard
standardizes the direction and arrangement of the coordinate axes.
The coordinate system used is a righthanded, rightangled system with X, Y and
Z axis.
+Z
+X
+Y
Axis identification
The coordinate system is correlated in relation to the working spindle to which the Z
axis runs in parallel. Positive axis direction runs from the workpiece to the tool.
The X axis is parallel to the tool clamping surface and horizontal. X and Z define the
location of the Y axis.
Further independently controlled axes, arranged in parallel to the main axes, are
referred to as U, V, W. Rotary movements performed by machine components
around the main axes (e.g. rotary axis) are referred to as A, B, C.
+Y
+V
+B
+A
+C +X
+U
+W
+Z
Axis commands
To uniform the explanation of all programmed movements, the workpiece is as
sumed to be stationary, with only the tool moving (relative tool movement). All
movements are referred to the assigned coordinate system.
12
CC 220/320 M
General
Flexible Automation Programming Instructions
Zero points
The basis is a clockwise Cartesian coordinate system.
The Z axis is parallel to the tool, +Z extends from the tool tip into the spindle.
+Z
+Y +X
The zero point of the coordinate system can be freely selected by the programmer.
In the following, this point will be referred to as workpiece zero point (W) and iden
tified as follows:
W
13
CC 220/320 M
General
Flexible Automation Programming Instructions
After powerup, the CNC requires an electric signal indicating the accurate posi
tion of each axis. This signal is provided by adjustable cam switches. The indicated
position is referred to as reference point (R) and identified as follows:
R
The position of the reference point of each axis is measured exactly from the ma
chine zero point, and its position is memorized in the CNC.
Examples
Each program is started and ended in the program zero point (P) located outside
the workpiece to ensure a safe workpiece change. The program zero point is iden
tified as follows:
P
14
CC 220/320 M
General
Flexible Automation Programming Instructions
Fundamentals
Essentially, programming CNC controls defines the following processes:
Workpiece machining
Workpiece change
CPL
Except for the drilling cycles, this manual covers programming according to DIN
66025 only. Machining is its major subject. Tool and pallet changes are machine
dependent cycles, and are not discussed here.
15
CC 220/320 M
General
Flexible Automation Programming Instructions
Program structure
The program represents a sequence of machining steps and is divided into
blocks.
These blocks contain preparatory functions, path information, auxiliary and
supplementary functions. They provide information on:
the position
the technology
Program start
During reading in, the first character of a program has to be an endofblock
character. This allows the control to recognize the start of a program. The pro
gramming code (EIA/ISO) will be determined as a function of the parity of this first
endofblock character:
Even parity = ISO code (8 bits incl. even parity)
ISO and EIA code tables can be found in the annex to these instructions.
NOTE!
All characters programmed before the first endofblock character will be ig
nored by the control during data in.
Program sequence
Without corresponding program instructions the program blocks will be executed
one after the other. However, it is possible to influence the program sequence using
the following options:
Subroutine calls
Repeat instructions
Jump instructions
End of program
The end of program is identified by
At the end of subroutines, M02/M2/M30 causes only a return to the calling pro
gram.
16
CC 220/320 M
General
Flexible Automation Programming Instructions
Program block
A block is made up of the block address, one or more words, and the endof
block character.
The endofblock character must always be written (ISO code: LF, EIA code:
CR), but will not be displayed. The blocks may be of different length, but are limited
to 128 characters per block. The block address forms the beginning of the block.
As a principle, more than one G or M words are allowed within one block. The block
address and the words may be preceded by "BLANK" and "TAB" special charac
ters. However, programming "BLANKs" and "TABs" requires a lot of memory space
and furthermore prolongs the block cycle time.
If a slash is programmed ahead of the block address (e.g. "/N100"), this block may
be skipped during the program sequence. For this purpose the "/BLOCK SLASH"
function in the "NC" group operating mode or the related interface signal must be
activated (also see CC 220/320 Operating instructions, chapter 6: "Programse
quence interventions" and Interface conditions, chapter 5.1.: "Inputs of the con
trol").
Example:
ID
Block address
Words
Endofblock character
Example:
N1
N1.1
.
. may be inserted
.
N1.99
N2
NOTE!
When omitting the block address the programs readability and flexibility (jump
commands) becomes worse, but the block cycle time is slightly improved.
17
CC 220/320 M
General
Flexible Automation Programming Instructions
Program word
A word is made up of the address letter, the sign and a numerical string. A posi
tive sign can be omitted during input. Depending on the format (integer/real), the
numerical string may contain a decimal point. Within the defined limits, words of
any length can be programmed. It will, however, suffice to indicate only those nu
merals actually containing information.
Example
Numerical string as word contents
Numerical string without information can be omitted
R 2 3 8 . 2 0 0
Decimal point
Sign
Address letter
Program code
Part programs programmed in EIA code (e.g. existing programs on punched tape)
can be easily taken over into the CC 220/320. Output of programs (on punched
tape, cassette or diskette) is only possible in ISO code.
18
CC 220/320 M
General
Flexible Automation Programming Instructions
Character Meaning
* NUL SPROCKET
* STX START OF THE 1ST PART PROGRAM
* CR
LF
FILE HEADER DFS IDENTIFICATION
CR
LF
.
.
DATA NC BLOCKS
.
.
CR
LF
* ETX END OF PART PROGRAM
* NUL SPROCKET
NOTE!
At the program start, STX has the same meaning as Line Feed (LF) and sets
the parity to ISO. All characters following STX will be evaluated (during data
in). STX is output in addition to <LF> in order to facilitate the recognition of
the start of useful data for connected data storage devices.
At the program end, ETX has the same meaning as M2 <LF> / M30 <LF>
(endofprogram identification during data in). ETX is output in addition to
M30 <LF> in order to facilitate the recognition of the end of useful data for
connected data storage devices.
Ahead of each file, between the leader and the 1st LF, an STX is generated
(during output).
When outputting programs / tables, the CNC will output M30 <LF> and ETX.
During output, the CNC will automatically create Carriage Return (CR) which
will be ignored during data in.
To increase the reliability of reading in data from external media into the
CNCs program memory, the "E CODE" option (read monitoring) option is
available. (see page 56: Read monitoring).
19
CC 220/320 M
General
Flexible Automation Programming Instructions
Characters used
A .... Z
26 uppercase letters
0 .... 9
10 numerals
Minus sign
If the value of an input is negative, a negative sign has to be placed between the
address letter and the numerical string.
+ Plus sign
Positive signs may, but do not have to be written.
Endofblock
ISO code LF, EIA code CR. The endofblock character is an operating signal for
the control and has to be located at the end of the block. The first endofblock
character read in by the control will be identified as program start.
, Comma
Special character according to MSG and DFS. Processed as a punctuation charac
ter within a prompt.
. Decimal point
Used for value input.
Within text, it is merely processed as a punctuation mark.
/ Slash
If "/" is programmed ahead of a block number, the corresponding block can be
skipped during program execution using the "/BLOCK SLASH" function and a cor
responding interface signal.
1 10
CC 220/320 M
General
Flexible Automation Programming Instructions
Files
The systems contains several file groups:
K: Compensation tables
D: Diagnostic programs
L: System files
For workpiece programming (application), the first 5 of the file groups mentioned
are of relevance.
With regard to the file groups, the system does not distinguish between main pro
grams and subroutines or cycles, respectively. All 3 program types are identified by
the P file group. It is thus possible to call up an existing main program as a subrou
tine.
NOTE!
The display of individual blocks of subroutines can be suppressed in the "EXECU
TION" operating mode. To do so, the read protection (cancel R) has to be activated
using a softkey.
The D, L, S file groups are special files and subject to special rules.
If a file with the T identification is being read in, the CNC will display its contents only
on the screen. The file will not be taken over into the part program memory.
File header
Each file has to contain a defined file header, the socalled DFS identification. This
makes it, i.a., possible to protect files from unauthorized access. The file header
has to be preceded by an endofblock character or STX.
Comma, ")" and LF are not allowed in the file name. File name and file protection do
not have to be specified. If the file protection is missing in the DFS identification,
standard "RWED" will be defaulted.
1 11
CC 220/320 M
General
Flexible Automation Programming Instructions
File protection
"RWED" signifies:
R ( = Read): Read access
Additional indications:
L ( = Linked): Link table present
Notes on files
Machine parameters
For editing machine parameters, an L file, L444, is created in the part program
memory; however, after editing, this file will be deleted again (refer to the "CC 320
Machine Parameters" manual, P.No. 4180).
E code
The "E code" option can be used to increase the reliability of reading in data from
external media into the program memory (for a description, please refer to pages
56).
End of file
After M30/M2/M02, an endofblock character must always be programmed.
1 12
CC 220/320 M
General
Flexible Automation Programming Instructions
OPERATION
Program selection
When selecting a program manually or externally, a linkage run is started, and a
link table is created. This link table is used to perform jump addresses to various
subroutines, calculations, etc., which are no longer to be executed during the ex
ecution of the program.
This speeds up the program run.
The link tables are listed under "GOM AUTOMATIC" (ref. to the CC 220/320 M oper
ating manual, P.No. 4181).
Link tables are assigned to the L1 to L99 range. They can be deleted or permanent
ly stored (in this case the linkage run prior to program execution will be omitted).
It is furthermore possible to create link tables in advance. In this case, the linked
program will not be selected after the end of linkage (background linkage).
Automatic deletion
of programs and
tables
Using the CLM command it is possible to automatically delete part programs, zero
offset tables or compensation tables prior to reading in new programs.
(CLM, P...) Delete part program
(CLM, V...) Delete zero offset table
(CLM, K...) Delete compensation table
The LF (Line Feed) character has to precede the bracket expression. More than
one CLM commands can be programmed in series.
Example 1:
.
.
. Sprocket hole track
.
.
<CR> <LF>
(CLM,P60) <CR> <LF>
(DFS,P60, M5 gearbox, RWED) <CR> <LF>
N1 G0
N2
N3
.
1 13
CC 220/320 M
General
Flexible Automation Programming Instructions
Leader programming
An identification text (e.g. in the case of punched tape) can be programmed as a
leader for the actual part program.
The leader text may be of any length. No endofblock character must be pro
grammed (within the leader). In this way the text will be ignored by the CNC and will
not be displayed.
The first endofblock character (LF) makes the CNC automatically recognize the
code format (EIA/ISO). LF or STX sets the code format to ISO. Subsequently, a DFS
identification is expected from the CNC.
Programming
TEST PROGRAM 15, DATED 12.12.90, CC 320 M <CR> <LF>
1 14
CC 220/320 M
General
Flexible Automation Programming Instructions
Applications
Prompts for the operator, before one or more programs are read in. In the case of
more than one program stored on one and the same storage medium, in order to
permit a table of contents to be displayed.
If only a single text is to be displayed, the leader of the file containing the text has to
be written as follows:
Alternatively, T can be programmed with a number (e.g. DFS, T10) in order to dis
tinguish between several "text files" on one and the same storage medium.
18 lines with 64 characters each are available on the screen for text. Individual lines
are automatically separated after 64 characters (even within one word) or at a point
defined by the endofblock character (LF).
If M30 is detected, readingin is stopped, and the programmed text (e.g. with op
erating instructions for a part program) is displayed. The text will not be taken over
into the program memory of the CNC.
Readingin of the actual program can be restarted using a softkey. The display
appears only in the programmemory mode. It will be deleted in case of a mode
change and will not appear again, even if the same operating mode is selected
again.
NOTE!
The combination of the M30 and endofblock characters must not occur within
the text. A programmed endofblock character will not cause any display.
A gap of 110 <NUL> characters must be between the text and the following file.
1 15
CC 220/320 M
General
Flexible Automation Programming Instructions
A maximum of 64 characters is available for text. The display will appear in the AU
TOMATIC group operating mode.
Applications
Prompts for the operator. When correspondingly programmed (e.g. M0), the pro
gram can only be further executed after acknowledgement of the prompt (CYCLE
START).
NOTE!
All characters apart from the endofblock character and ")" are permitted within
the prompt.
<CR> and <TAB> will be ignored during data in.
The block number need not be programmed, but contributes to clarity.
1 16
CC 220/320 M
General
Flexible Automation Programming Instructions
The standard format applies to metric input and a measurement system resolution
of 0.001 mm. Addresses related to G33, thread cutting, are not contained in the
table.
A partial modification of the standard formats can be performed via the MP file.
Preparatory Standard
Addresses functions format Signification Unit
Position indications
variable e.g. G1, G2 +
4.3 mm or
e.g. X,Y,Z Cartesian axis position degrees
variable e.g. G11, G12 +
4.3 Polar axis position,
e.g. U,V,W vector length mm
A vector angle dgr.
I,J,K G2, G3 +
4.3 Circle parameter mm
R +
5.3 Circle radius mm
Technology information
D G41/G42 3 Cutter radius compens.
F G93 6.1 Corner deceleration
F G94 6.1 Feedrate mm/min
F G95 4.3 Feedrate mm/rev
F G28 2 Constant feed reduct. %
F G4 5.2 Dwell time sec
F G104 7.0 Dwell time rev
H 3 Tool length compens.
K G28 4.3 Distance to corner mm
S 5.1 Spindle speed rev/min
T 8 Tool
Program information
L 5 Block repetition
L G23 5.2 Conditional jump
L G24 5.2 Unconditional jump
G 3 G function
1 17
CC 220/320 M
General
Flexible Automation Programming Instructions
1 18
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Only one word per block may be written from each group of the G functions. Otherwise
the last programmed word of this group will apply.
G Interpolation functions
32 Exact tapping O
33 Thread cutting O
16 KV measurement/compensation O
22 Subroutine, compensation, zerooffset call S
21
CC 220/320 M
G functions
Flexible Automation Programming Instructions
14 KV programming ON O Group 13
15 KV programming OFF
22
CC 220/320 M
G functions
Flexible Automation Programming Instructions
23
CC 220/320 M
G functions
Flexible Automation Programming Instructions
153 1st additive zero offset OFF (or 2nd absolute) Group 19
154
.
. Call 1st additive zero offset (or 2nd absolute) S
.
159
24
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The programmed position is traversed to at maximum possible speed by interpolation
in a straight line.
Feedrate
No feedrate value is to be programmed
(machinespecific constant is activated).
Interactions
Latches until a new movement mode is selected.
G0 cancels G1, 2, 3, 5, G33, G73, (G10, G11, G12, G13) movement modes.
The next block will only be started if all axes are "IN POSITION". The "IN POSITION"
range is defined by machine parameters.
Programming
G0 X..... Y..... Z.....
Programmable with or without axis addresses.
Path
The traverse movement is straight, even in the case of different distances or different
rapidtraverse rates of the axes.
Depending on the machine, the override potentiometer can be deactivated with G0
via softkey.
Example
Initial position: X100 Y100
N10 G0 X500 Y300
Resulting traverse movement with different path lengths.
+Y
300 B
200
100
A
W
+X
100 200 300 400 500
Traversing speeds
The axis with the longest traverse time travels at maximum speed.
The speeds of additional axes are adjusted in such a way that they reach the destina
tion point simultaneously.
25
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The programmed point is approached with the active feedrate (F word) on a straight
line.
The movement is coordinated in such a way that all axes involved reach the pro
grammed end point simultaneously.
Feed
The programmed feed value (F) acts as the path feedrate; this means that in the case
of movement of several axes, the portion of each axis is smaller than F.
Interactions
G1 cancels G0, 2, 3, 5, G10, G11, G12, G13, G33, G73 and acts modally.
Programming
G1 X..... Y..... Z..... F....
Once programmed, a feedrate will remain active until it is overwritten by a new one,
even if the control is switched off.
Example:
Initial position: X50 Y30
+Y
30 A
20 B
10
W
+X
10 20 30 40 50
26
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The programmed point is traversed to with the active feedrate (F word) on a circular
path.
The movement is coordinated in such a way that all axes involved reach the pro
grammed end point simultaneously.
Action
G2, G3 latch and cancel the G functions in group 2 or are cancelled by them. The ma
chine traverses at the programmed feedrate in a circular path in the chosen plane,
clockwise in the case of G2 and counterclockwise in the case of G3. A feedrate value
has to be active.
+Z +Y +Z +Y
G2 G2
G3
G3
+X +X
G19, YZ plane
+Y
+Z G2
G3
+X
Programming
In addition to the position values for the circle end point (X, Y, Z), for determining the
arc the interpolation parameters (I, J, K) or the radius (R) must be specified.
Using G20, plane selection of 2 out of 6 axes, circular interpolation can be performed
with any two synchronous axes.
In addition to fullcircle programming (radius and center programming), quadrant
programming is available. It can be activated via an interface signal instead of full
circle programming. For details, please refer to the "SPECIAL FUNCTIONS" chapter.
27
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Radius programming N... G17 G3 X... Y... R+/... F... S... M...
Assuming the current position as the starting point, a circular movement is deter
mined by the end point of the arc and its radius.
The values of the starting point, end point and radius are used to determine the center
of the circle. This results in two intersections to the left and right of the line between the
starting point and the end point.
A= Starting point
E= End point
R= Radius
ML = Center point left
MR = Center point right
ML
E E
R
R
A A
MR
The positions of the starting point and the end point can be entered as absolute values
or in increments, the radius has to be input in increments.
The appropriate one of the two centers is determined by the sign of the radius value:
A positive radius value determines that the center of the circle is to the left of the
starting/end point line
A negative radius value determines that the center of the circle is to the right of
the starting/end point line.
G2
+R
E
G2 R
A
A
G3
As shown in the diagrams, the radius has to be at least half as large as the distance
between the starting point and the end point, since otherwise no intersection will be
obtained. If the radius is exactly half the distance between the starting point and the
end point, the special case of only one intersection will occur. This is only possible in a
semicircle. The sign of the radius value is then optional (preferably positive, since a
positive sign does not have to be programmed. Full circles cannot be produced using
radius programming.
The smallest possible arc depends on the selected machine parameters of the control
(approx. 10 increments).
28
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Center programming
Assuming the current position as the starting point, a circular movement is deter
mined by the end point of the arc and its center.
Interpolation parameters
Socalled interpolation parameters are assigned to the axes involved in the circular
interpolation. They run in parallel to the axes and have a plus or minus sign corre
sponding to their direction, irrespective of whether the machine is in the negative or
positive range of an axis.
+Z +Y
+K
+J
K
J
I
+I
+X
The plane selection determines which axes are involved in the circular interpolation. In
the case of G17, these are the X and Y axes including the related I and J interpolation
parameters.
The interpolation parameters define the distance between the starting point of the
circle and its center.
Examples
N... G90 G17 G2 X350 Y250 I200 J50 F... S... M...
250 E
A
100
J M
50
X
100 300 350 400
200
+I
N... G90 G17 G3 X350 Y200 I50 J200 F... S... M...
250
M
200 E
+J
50
A
X
100 150 200 350
29
CC 220/320 M
G functions
Flexible Automation Programming Instructions
I = M (X) A (X)
J = M (Y) A (Y) independent of G90/G91
K = M (Z) A (Z)
X
I
Full circle
Note!
If interpolation parameters and the circle radius are programmed within one and the
same block, only the radius will be used.
The CNC calculates the circle radius from the distances between starting point center
and center end point. Should differences occur, the larger radius will always be used
and the center coordinates are recalculated using this radius.
2 10
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Helical motion
Definition
If a third axis is programmed for circular interpolation of two axes, this axis will traverse
linearly. The resulting movement of all three axis produces a helix.
The cutter path compensation acts on the circular plane which can be selected as re
quired using G17, G18, G19 or G20. The F feedrate corresponds to the path rate at the
programmed circle. The circular interpolation is a latching function.
Interpolation parameters
Helix
2 11
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The term of cylinder surface milling refers to machining of a cylinder surface with a
constant radius. This requires interpolation (linear and circular) between a linear axis
and a rotary axis. Only "ROTARY" is permitted as the rotary axis type.
Action
On a cylinder surface with any radius size, straight lines and circles can be pro
grammed in conjunction with cutter path compensation (G41/G42).
The positions of the rotary axis are defined in degrees.
The machining radius (RA) is programmed directly in mm.
On the basis of the programmed radius, the control reorganizes the corresponding
peripheral dimensions.
The standard radius (RE), for which no conversion is required, is 57.296 mm (RE =
360_ / 2 * p).
The programmed feedrate is observed on the contour.
In terms of controlling and programming, the cylinder surface is treated like a plane,
i.e. it is described with the cylinder surface "unrolled".
It is furthermore possible to include a further axis (e.g. Z axis) in the interpolation; in the
case of circles on the cylinder surface, this will involve helical interpolation. This type of
interpolation produces contour errors, which can, however, be negligible if the infeed
movements per block are kept small.
Programming
Cylinder surface milling is called by selecting the machining plane via G20 and defin
ing an R value.
Working radius
Plane definition
Call
The call has to be written as a separate block in the part program and does not pro
duce axis movement.
The blocks to be programmed after a call are programmed normally (DIN, CPL).
Control reset
M2/M30
Clear logic
Programming a new R value will cause the old one to be overwritten. In this case the
entire call block has to be reprogrammed.
2 12
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Example
60 RA= 57.296
R2=10
50
R1=20 60
40 50
20 40
20
0
X 30 50
60 110
30 50 60 110
In this example, the standard radius is specified as the working radius. This dispenses
with the need for conversion between degrees and mm.
Thus, with regard to length, the radius value R1 = 20 mm or R2 = 10 mm corresponds
precisely to the circumferential distance between 30_ and 50_ or 50_ and 60_, respec
tively.
If a different working radius is programmed, one has to take into account that, for
instance, the circumferential distance between 30_ and 50_ may no longer corre
spond to a distance of 20 mm (possible error message: "Invalid circle value").
The degree positions required for programming can be calculated according to the
following formula:
2 13
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Display
The current radius value can be displayed by depressing the following softkeys (refer
to operating instructions):
GOM Correction
SK Special tables
G4, G104 operates in blocks and is programmed with an F word for the dwell time in a
separate block without path information. Only auxiliary and supplementary functions
are permitted in the dwell time block.
The F word programmed in conjunction with G4 or G104 operates in blocks, i.e. the G
code including the F word has to be written again in subsequent blocks for the same
dwell time.
The actual number of spindle revolutions is relevant for the G104 function. The dwell
time is started when the dwell time block has been completely conditioned by the
CNC. The program will be stopped throughout the dwell time. All movements are con
tinued up to the destination point (tool change, lag, etc.). The spindle, however, is not
stopped.
2 14
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming
G5 X..... Y.....
When chaining several G5 movements, the 1st entry tangent influences all subse
quent contour elements with G5.
+Y +Y M +Y
E3
E2 120 M2
100
T1 A T1 A T1 A
70 70 70
40 P1
10 W M E1 W W M1
+X +X +X
50 110 50 130 15 50 90
+Y +Y +Y
M2
T4
T2
A A
70 70 T3 70 A
M1 E
30 E 30 E 30
W W M W
+X +X +X
50 110 50 110 15 50 110
2 15
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Acceleration programming ON G6
Acceleration programming OFF G7
Definition
The G6 G function is used to program the acceleration values for the respective
axes. The new values are only valid for path operation. Asynchronous axes move
ments continue to be performed with the acceleration values fixed as machine pa
rameters.
Acceleration values cannot be programmed in combination with traversing data.
Other information is permitted.
Action
G6 causes the acceleration values to be stored for the programmed axes. The val
ues are to be programmed as a function of the currently selected system of units
(G70/G71).
Input unit: inch/sec2 or m/sec2.
Format 1.2 or 1.3, respectively.
Examples:
G6 X1.0 (separate block)
A new acceleration value is accepted for the X axis. Acceleration of the Y axis re
mains unchanged. P1002 or P1020 becomes ineffective for the X axis.
NOTE!
G6 influences the slope acceleration which might be effective with G114 (P1002 or
1020)!
Example:
N10 G6 X1.0 XSlope = 1.0m/s2,4Slope = P1002[Y]
N20 G114 XSlope = 1.0m/s2,4Slope = P1020[Y]
N30 F1000 S500
N40 G1 X1800 Y800
.
N100 G7 XSlope = P1020[X],YSlope = P1020[Y]
N110 X600 Y1200
.
N200 G115 XSlope = P1002[X],YSlope = P1002[Y]
.
2 16
CC 220/320 M
G functions
Flexible Automation Programming Instructions
PATH SLOPE ON G8
PATH SLOPE OFF G9
Definition
The path slope is used to render the feedrate as constant as possible while machi
ning contours. In contrast to positioning procedures, where one complete "up and
down slope" is performed, this slope, in path operation, operates only to the extent
required for turning around a corner.
Action
The path slope can be switched off using G8 or G9. The function operates modally.
The path slope is only effective for machining axes.
The powerup state is set by M2/M30 and Control reset.
Example: G8
N010 G8 F8000
P0 > P1: N020 X100
P1 > P2: N030 X200
P2 > P3: N040 X300
P3 > P4: N050 X200
P4 > P5: N060 X100
P5 > P6: N070 X0
P6 > P7: N080 X100 F4000
P7 > P8: N090 X200
P8 > P9: N100 X0 M30
+V P1 P2
P7
P3 P6 P8 P9
P0
t
V m/min P4 P5
Example: G9
N010 G1 F8000
P0 > P1: N020 G9 X100
P1 > P2: N030 X200
P2 > P3: N040 X300
P3 > P4: N050 X200
P4 > P5: N060 X100
P5 > P6: N070 X0
P6 > P7: N080 X100 F4000
P7 > P8: N090 X200
P8 > P9: N100 X0 M30
+V
m/min
P7
P1 P2 P3 P6 P8 P9
P0
P4 P5 t
2 17
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Function The polar coordinate function allows the determination of points in a freely selectable
plane by means of the radius and angle, and starting from a freely selectable pole.
The points can be joined in rapid feed with linear or circular interpolation.
G11 = G01 linear interpolation with feedrate, with determination of the end
point by means of the radius and angle
2 18
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Polar plane The plane in which polar coordinate programming (POLPROG) is active.
The polar plane is selected by the definition of the main and secondary axis (e.g. main
axis: X; secondary axis: Y).
Radius axis The axis of the polar plane (e.g. X axis, Y axis) assigned to the radius. The positive
orientation of the radius axis corresponds to the angle A = 0 degree.
Angle Angle referred to the positive direction of the programmed radius axis. When defining
the pole or the polar plane, the angle is set to zero. Machine parameter 9909 can be
used to set the angle address (angle name).
Note!
The G00, G01, G02, G03, G05, G10, G11, G12, G13, G33, G73 functions operate mod
ally and overwrite themselves mutually.
For G17, G18, G19, G20, please refer to the respective descriptions.
2 19
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Example:
Polar plane
100
Pole
100 100
Z X
The main and secondary axis are assigned according to the following schematic
(M = main axis; S = secondary axis)
Possible addresses
X U A M S
Z W C S M
M S
Valid if the selected axis
M S addresses are in one and
the same line
S M
Example:
2 20
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programmed axes outside the polar plane are traversed in linear mode (G00, G01).
Simultaneously, the selected plane also defines the pertinent center coordinates
which have to be programmed for circular interpolation.
X U A I
Y V B J
Z W C K
I J K
If the selected axes are within one line, the lower assignment of the center parameters
applies. In all other cases the right column applies, i.e. the right column has priority.
In the case of circular interpolation the control checks whether the programmed pa
rameters correspond to the parameters determined by the active plane. If this is not
the case, a corresponding error message will be output. This applies both to the
coordinates of the end point as well as to the center values.
The definition of the pole point is always absolute, i.e. independent of G90/G91.
Scaling of the pole depends on the system of units (G70, G71) active during program
ming of G20. When switching over to a different system of units, the pole remains fixed
at the programmed location, i.e. it is not shifted.
The modal radius has to be converted.
In the case of active zero offset G54 ... G60, the pole is referred to the currently active
(offset) coordinate system.
2 21
CC 220/320 M
G functions
Flexible Automation Programming Instructions
100
Plane G19 Plane G17
Pole=coordinates origin
100 100
Z Plane G18 X
The plane selection determines the plane in which circles or arcs are described for
circular interpolation and angles are defined for polar coordinate programming.
For the X/Y, the Z/X and the Y/Z plane, fixed G codes are available:
G17 X Y
G18 Z X
G19 Y Z
With regard to G17, G18 and G19, it is also possible to program axis information; this
information, however, will not be interpreted as pole coordinates.
In the case of G20, precisely two coordinates have to be specified. Otherwise an error
message will appear.
The axis values are used to determine the active plane and the pole point.
The selected plane operates modally. Control reset activates the powerup state.
When selecting the same plane again, or a different one, the modal radius and the
modal angle are set to zero.
In order to be able to traverse with polar coordinates, the radius axis has to be pro
grammed to define the angle reference to the main or secondary axis.
2 22
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Example 1:
Radius axis = X:
N150 G20 X100 Y75 Definition of the pole
N160 G10 X50 A75.5 Determination of the end point, starting from the
positive direction of the main axis
Y
P1
120
X50
100
A75.5
75
POLE
50
POLAR PLANE
X
50 100 150 170
Example 2:
Radius axis = Y:
N170 G20 X100 Y75 Definition of the pole
N180 G10 Y50 A75.5 Determination of the end point, starting from the
positive direction of the secondary axis
120
A75.5
100
P1
75
POLE
50 Y50
POLAR PLANE
X
50 100 150 170
2 23
CC 220/320 M
G functions
Flexible Automation Programming Instructions
The selection of the G code (G10 ... G13) determines the mode of interpolation to
be used to link the points defined by POLPROG.
Example:
.
.
N200 G20 X100 Y75 Definition of the pole point (POLE)
N210 G10 X50 A75.5 Traversing to the P0 start point in rapid (P0)
N220 G12 X41 A37 R25 Radius, rotating clockwise; center (P1)
to right of line P0P1
N230 G11 X36 A26 Straight line P1P2 (P2)
N240 G13 X44 A351 R25 Radius, rotating counterclockwise; center (P3)
to left of line P2P3
.
.
A1 = 75.5
Y A2 = 37
P0 A3 = 26
A4 = 351 =9
X1 = 50
X2 = 41
X3 = 36
X1 P1 X4 = 44
X2 P2
X3
A2
A3 A1
X+ = 0 degrees
A4 POLE
X4
P3
NOTE!
The above NC block N240 can also be programmed with a negative value A9.
2 24
CC 220/320 M
G functions
Flexible Automation Programming Instructions
The angle will only be processed as an incremental value if it has been programmed.
Otherwise, the angle is retained modally.
If, with active G91 (incremental input), polar coordinate programming is used, the
angle and the radius will be incremental in rapid and in the case of linear interpolation
(application: rows of holes etc.). If drilling cycles are used here, one has to make sure
that polar coordinate programming is cancelled at the end of the drilling cycle! G10
must be reprogrammed with each new positioning!
+Y
150 P3
P2
100 P1
Pole
50
Polar plane
W
+X
50 100 150 200 250
2 25
CC 220/320 M
G functions
Flexible Automation Programming Instructions
If polar coordinate programming is used with active G91 (incremental input), the angle
will be incremental, too.
+Y
A60
P3
P2
A60
A30
P4 POLE
+X
P0/8 P1/7
A60
A60
P5
A60 P6
2 26
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming formats
All geometric data is input in "REAL" numeric format.
Exception:
With plane selection G17 (XY plane) and G90 (absolute), X will be the end point with
respect to the pole (X0, Y0), and A will be the angle relative to the main axis X.
Circular interpolation will the performed to the resulting end point in the Cartesian X/Y
plane.
Z is used to specify the linear end point.
2 27
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Operativeness POLPROG is operative in the automatic, singleblock and manual input modes. Path
compensation and mirror image remain active as usual. All other compensations refer
to the Cartesian coordinates.
Drilling cycles The G81 to G86 drilling cycles operate modally. They can be programmed in conjunc
tion with polar coordinates.
Interface The POLPROG option does not require any additional interface signals.
Powerup condition POLPROG is not active after switching on following Clear logic or a Control reset.
M02, M30 will cancel POLPROG.
Display The axisrelated values will appear under "end point", "actual path" and "distance to
go".
The active G codes can be viewed under the "Diagnostic" GOM.
2 28
CC 220/320 M
G functions
Flexible Automation Programming Instructions
KV programming ON G14
KV programming OFF G15
Definition
The "KV programming ON" function permits to change within a specific range the
KV value determined during commissioning and stored in the machine parame
ters.
Action
This function produces a shortterm increase of the machine accuracy, e.g. mill
ing bore H7.
m
[ min ]
KV =
S [mm]
Programming
G14 X1.20 Y1.20 Z1.20 (separate block)
The KV values fixed as machine parameters become again active for all axes.
The programmed KV values for each individual axis have to lie within the KV limits
defined as machine parameters, otherwise a corresponding error message will oc
cur.
NOTES!
G14 has to be deselected by programming G15.
M2/M30 or Control reset have no effect on G14.
G14 influences the KV value possibly active with G114 (P1001 or P1021)!
Example:
N10 G14 X1.20 XKV = 1,20m,YKV = P1001[Y]
N20 G114 XKV = 1,20m,YKV = P1021[Y]
.
.
N100 G15 XKV = P1021[X],YKV = P1021[Y]
.
.
N200 G115 XKV = P1001[X],YKV = P1001[Y]
.
.
2 29
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
KV measurements are used to compensate for possible differences in KV factors or
individual axes which may be caused by inaccuracies in the axis system, e.g. as a
result of temperature, offset, component tolerances, tear and wear, etc.
This facility increases machining reliability and quality.
For this purpose, the axes are traversed by the program by a freely selectable di
stance which is adequate for measurement.
Programming
N100 G16 X300 Y300 F500
Operativeness
If this block is programmed, KV measurement is performed, and the offset factor is
stored upon stabilization of the lag. The offset factor will then become effective by
programming G14 in the corresponding axes.
2 30
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
These G codes determine the working plane.
The effects of G2/G3/G5, G12, G13 as well as the tool radius compensation are
coupled to these codes.
Interactions G17, 18, 19 are latching and mutually cancel each other.
A pole selection using G20 will also result in a plane selection.
+Y
G18
G2
+X
+Z
+Y
+Y G2
G41
G2 +Z
+X
+X
G19
G17
+Z
Programming
A change of plane has to be programmed prior to the first circular movement (G2, G3).
If M30 is recognized, powerup state (> MP) is automatically selected.
A plane change must not be programmed during an active tool radius compensation
(G41, G42).
2 31
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Action is latching
cancels "G17", "G18", "G19" functions
enables free selection of the circular interpolation and the cutter radius compensa
tion plane
path information programmed together with "G20" do not cause a traverse move
ment
only the axis addresses will be processed. The values programmed together with
"G20" will be ignored.
Example:
if "G20" is programmed without or with one or more than two axis addresses, an
error will be displayed, and processing will be stopped at the end of the preceding
block
if helical motion is active, the axis which does not lie within the circular interpolation
plane will also move linearly
the axes of the selected plane will automatically be correlated to the cutter path
compensation
"G20" must not be programmed during active cutter path compensation, i.e. prior
to selecting a new plane the active cutter path compensation has to be cancelled
using "G40" (refer to programming of path compensation, polar coordinate pro
gramming and thread cutting).
I J K
Interpolation parameters
2 32
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
Like main programs, subroutines are identified via the P address and called using
G22. In addition, compensation tables (K) and zero offset tables (V) can be simulta
neously called in one and the same block.
Action
Subroutines, compensation tables and zero offset tables called with G22, P, (K, V)
are executed unconditionally.
They have to be written in a separate block.
Programming
Example: G22 P15
P 15 is executed once
Approx. 29 subroutines can be nested.
(nesting = one subroutine, in turn, calls further subroutines). If link tables have al
ready been laid out for all subroutines, unrestricted nesting is possible.
P1 P5 P2 P7 P8
N1 N1 N1 N1 N1
N8
N9
N10 G22 P5 N23 G22 P2 N32 P7 L1 N44 P8 L3
N18 M30 N27 M30 N39 M30 N55 M30 N75 M30
General format
G22 P..... and/or K..... and/or V.....
P = Program number, 9 digits
K = Compensation table number, 9 digits
V = Zero offset table, 9 digits
Powerup state
After switching on the NC, a compensation table or a zero offset table (power
down state) is always active.
2 33
CC 220/320 M
G functions
Flexible Automation Programming Instructions
In contrast to the G22 call, the calling block may also contain path information.
P address
If only one subroutine is called (i.e. no K and V table), G22 may be omitted.
Example 1:
N100 P10
P10 will be called and processed as a subroutine.
If the P subroutine is called and is to be repeated, G22 has to be omitted.
To define the repetitions, the L block repetition factor has to be programmed, too.
Example 2:
N100 P10 L5
P10 will be repeated 5 times (= executed 6 times).
Example 3:
N100 X.... Y.... P10 L5
The entire N100 block will be repeated 5 times (= executed 6 times).
Q address
If a subroutine is called via a Q address, G22 has to be omitted
Example 1:
N100 Q10 (= N100 P10)
For repetitions it is possible to furthermore program the L factor.
Example 2:
N100 Q10 L5 (= N100 P10 L5)
P10 will be repeated 5 times (= executed 6 times).
Example 3:
N100 X.... Y.... Q10 L5
Only the P10 subroutine will be repeated, i.e. not the entire block.
NOTE!
Subroutines can also be addressed directly via freely selectable G codes, M codes
and other AUX codes. They are defined in the MP file (refer to the relevant section
there). Also refer to chapter 3.
2 34
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The jump destination block number in terms of L address is rendered depen
dent upon the signal status of the "CONDITIONAL JUMP" interface signal.
Action
A scan is made during the preparation of the G23 block, i.e. an interface signal ex
change between block preparation and block execution will be ignored.
If this cannot be ensured, the block preparation has to be stopped by WAIT pro
gramming.
The jump destination has to be absolutely identical to the L address specification in
the G23 block, even in the case of leading zeroes.
General form
G23 L....
Programming
Example: G23 L1
In CPL block 102 WAIT programming can be used to make sure that the CNC will
detect a signal change immediately prior to executing N103.
NOTE!
Jumps can be made to DIN blocks only, i.e. not to CPL blocks.
2 35
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The jump destination block number in terms of L address is executed uncondi
tionally (closed loop possible).
Programming
General format:
G24 L....
A jump must not be programmed together with other instructions within one and
the same block.
The jump destination (N word) has to be absolutely identical to the L word specifi
cation in the G24 block, even in the case of leading zeroes.
NOTE!
Jumps can be made to DIN blocks only, i.e. not to CPL blocks.
Programming example
L address with leading zeroes
2 36
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
This function is used to define within the normal traversing range of the axes (software
limit switches) the limits of an additional, restricted and protected working area in or
der to protect the machine and the workpieces from damage resulting from program
ming errors.
The control system provides two options to define a monitored working area:
(permitted)
Y Z G126 (X, Y, Z)
(forbidden)
G125 (X, Y, Z)
X
2 37
CC 220/320 M
G functions
Flexible Automation Programming Instructions
The working area values (minimum/maximum values) stored in a separate table can
be activated via the part program, and displayed in GOM Correction.
G25 is used to specify the minimum values, while the maximum values including the
corresponding axis addresses (8 machining axes max.) are specified via G26.
The same applies analogously to G125 and G126, however, with a maximum of 3 ma
chining axes.
If more than 3 axes are programmed, the program will be cancelled with the error mes
sage "2110: MAX. 3 AXES FOR WORKING AREA".
Monitoring of the working area is cancelled by G27.
The working area limitation is possible with "automatic", "single block" and "manual
data input".
in the calling block the axes have to be within the permitted work
ing area
2 38
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Operation The working area values can be displayed via the "CORRECTION" GOM.
Note on programming: With active G25, G26, G125 or G126, programming G92 will
offset the permitted or forbidden working area by the G92 zero offset.
As a rule, it will thus be required to redefine the working area after G92.
Display Like all other G codes, the active G code will be displayed under "PREPARATORY
FUNCTION" (CONDITION ON) column.
In addition, the programmed values can be displayed in a table.
Table structure:
SPECIAL TABLES
WORKING PROGRAM EXTERNAL
AREA TABLE PARAMETER TOOL COMP.
2 39
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Powerup condition
G27 is the powerup state.
Control reset, Clear logic or M2/M30 set G27.
Error messages
FORBIDDEN WORK. AREA AXIS 1 ... 8
FORB. WORK. AREA IN CIRCLE
FOR WORK. AREA MAX 3 AXES
WORK. AREA NOT ALLOW (end point in forbidden working circle).
The program will be aborted. Error messages will also be output in case of an incorrect
working area definition. In this case the system will reset all data of the working area
limitation to the software limit switch positions.
Note!
With active working area, the system will assume the supervision of path points out
side the permitted range.
This supervision, however, will normally (G27) also be performed within the software
limit switch ranges (machine parameters).
Permitted and forbidden working area can be simultaneously active.
Restrictions The working area limitation operates only for machining axes; the size of the table will
be defined in dependence on this factor.
With G125, G126, any maximum of 3 axes can be programmed and selected.
In the case of modulo axes (endless axes), the working area limitation cannot be used.
2 40
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming .
.
N45 G28 K10 F60
.
.
N49 G29
G28, distance K and percentage F have to be programmed together within one block,
if a new F and/or K value is to become effective. Otherwise, the last stored value will be
effective.
G28 can be programmed together with G1, G73, or with position data, or auxiliary
functions.
Within a G28 block, a programmed F and/or K value will always be coordinated with
the G28 function, F in terms of % and K in terms of a distance.
K and F remain active until they are overwritten by new values in a G28 block.
Percentage values from F0 to F100 can be programmed (0100%).
The distance K can assume any value but, for reasons of sensibleness, it should not
exceed half of the actual traverse distance.
2 41
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming Can be written with or without position data, within one block
Programming example
N1 G0 G90 G94 X20 Y0 M3 S1500
N2 G42 G1 Y100 F1000 D1
N3 G28 X100 K15 F50
N4 Y55
N5 G2 X80 Y35 R20
N6 G1 G28 X65 K5
N7 Y... etc.
Continuous monitoring and supervision are always active to ensure that Fjump max
(path slope parameter) and Aslope max are not exceeded (G128 only).
The K value should be considerably lower than the overall distance, since otherwise
the F(%) value cannot be reached; however, this is no necessary condition.
The internal selection of the acceleration is such that the F(%) value or Fjump max can
be reached (G128 only).
The lower values of Fjump max and F(%) are always used (only with G128).
2 42
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition The following threads can be cut in conjunction with this module:
Longitudinal threads
Transversal threads
Chained threads
Conical threads
Multiple threads
In addition
Explanations The division into main and secondary axis is determined by the plane selection.
Abbreviations:
2 43
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G33 will be cancelled by G0, G1, G2, G3, G5, G10, G11, G12, G13 and G73
Thread cutting can be programmed with absolute (G90) or incremental (G91) di
mensions
G33 is programmed in the block containing the position data (thread length, pitch
values)
Programming
Example
G17
G33 X.... I.... Y.... J.... (R....) (F....)
G20 W.... U....
G33 W.... K.... U.... I.... (R....) (F....)
Formats:
2 44
CC 220/320 M
G functions
Flexible Automation Programming Instructions
b1 b2 b3
a1 X U A I
a2 Y V B J
a3 Z W C K
I J K
If both interpolation axis addresses are in one and the same row (a), the parameters
will be assigned according to the bottom row. In all other cases, the righthand col
umn applies; i.e. the righthand column has priority.
Example
Thread cutting is to be performed in the X and W axis (conical thread). The selection of
the main/secondary axis determines which of the axes will be the threadcutting axis
and which will be the infeed axis.
X U A I
Y V B J
Z W C K
I J K
The two axis addresses are not within the same row, i.e. the parameter addresses of
the righthand column will apply. In accordance with the above schematic, the follow
ing interpolation parameters apply for
X!=I
W!= K
2 45
CC 220/320 M
G functions
Flexible Automation Programming Instructions
The main axis is always the direction in which the thread is cut, while the secondary
axis performs the feedin and/or retraction movements (only in case of longitudinal
thread).
With active G20, the main interpolation axis is selected according to the following pat
tern
b1 b2 b3
a1 X U A M S
a2 Y V B S M
a3 Z W C S M
M S
M = MAIN AXIS
S = SECONDARY AXIS
M S
S M
In the case of conical threads, this selection must be made (threadcutting opera
tions involving 2 axes). This selection is not applicable to cylindrical threads.
distance
End point Px:
A corresponding final reaction distance (clearance position) has to be provided for the
tool. The magnitude of the final reaction distance corresponds to that of the initial reac
tion distance.
Workpiece
PX P0
Thread length
2 46
CC 220/320 M
G functions
Flexible Automation Programming Instructions
No PSA programmed
PMA Positive only. Pitch in MA direction
SA Retraction value in the direction of the secondary axis
MA Thread length in the direction of the main axis
R Angle used to retract with the programmed pitch from the thread to the
retraction value (0 to 60 degrees)
F Change in pitch in MA direction per revolution
F or F+ = Increase in pitch
F = Decrease in pitch
SA
MA
SA
MA
The direction in which the thread is cut, i.e. from left to right or vice versa, is deter
mined by the MA value.
2 47
CC 220/320 M
G functions
Flexible Automation Programming Instructions
No PMA programmed
PSA Positive only. Pitch in SA direction
SA Thread length in the direction of the secondary axis
MA Retraction value in the direction of the main axis
R Angle used to retract with the programmed pitch from the thread to the
retraction value (0 to 60 degrees)
F Change in pitch in SA direction per revolution
F or F+ = Increase in pitch
F = Decrease in pitch
MA
R
SA
MA
SA
The direction in which the thread is cut, i.e. from the inside to the outside or vice
versa, is determined by the SA value.
2 48
CC 220/320 M
G functions
Flexible Automation Programming Instructions
MA
In case of variable pitch PSA is increased by F with every revolution. PSA will be
adapted, so that the angle remains unchanged.
MA
PMA + 3F PMA + 2F PMA + 1F
rev. rev. rev.
2 49
CC 220/320 M
G functions
Flexible Automation Programming Instructions
MA
The distance below R is
subtracted from the thread
length.
R
SA
PSA + 2F
rev.
PSA +3F
rev.
SA
MA
2 50
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Chained threads
Chained threads can be produced with all thread types described above.
With G33 the system checks whether another block containing G33 is follow
ing. If this is the case, the retraction value and the R angle are of no relevance.
After completion of the first G33 block, the next thread block follows on with
out waiting for the marker pulse.
Action
G33 is latching
G33 will be overwritten by G0, G1, G2, G3, G5, G10, G11, G12, G13, G73
Operation
Withdrawal in case of tool break
Withdrawal to the retraction value occurs with the "Emergency In" signal at
the programmed angle R at constant pitch with decreasing thread depth.
Withdrawal
SA R R
MA
The block which was interrupted cannot be repeated when an interface sig
nal is input (e.g. "Return to contour" pushbutton).
2 51
CC 220/320 M
G functions
Flexible Automation Programming Instructions
EXAMPLE 1: G33
Cylindrical thread, constant pitch with rapid retraction of the U axis. 2step
machining, linear infeed P0 ! P0
PX Workpiece
100 P0
PX
P0
PX
R K
PR
50 PR Infeed
Machining Z U axis
Retraction Z
P
Z
50 100 150 200 250
EXAMPLE 2: G33
Conical thread, constant pitch with rapid retraction of the U axis, 2step ma
chining.
U
P0
Workpiece
100 P0
D U1
PX I D Utot 2
D UR1
PX K
50 R PR1
PR2
P
Z
50 100 150 200 250
The U word for G33 thread machining defines the PR retraction position in the
U axis. The retraction position is automatically traversed to in rapid as soon
as the thread end point PX ! PX is reached.
2 52
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Multiple threads
The G33 functions described so far permit cutting of multiple threads only by reposi
tioning the starting point in the direction opposite to the cutting direction. However,
this requires an adequate freedom of movement of the tool in the direction opposite to
the cutting direction.
If this freedom of movement is not available, it is possible to trigger the starting point of
interpolation to a preset angular position of the spindle (relative to the 0 marker).
The offset angle between the 0 marker and the start of interpolation has to be specified
as an additional parameter in the G33 block. Input is always in terms of degrees. De
pending on the selected plane, the respectively unused I, J or K pitch parameter is
used as the corresponding address. Negative angles are entered opposite to the ref
erence direction.
The reference direction of the angle is always opposite to the physical direction of
rotation of the spindle.
W W
W = Direction of rotation
a a
of the spindle
a= Angular offset
If the programmed angle a is outside the range of 360 < a < +360, it will be trans
formed to the permitted range by a modulo calculation (mod 360).
Example:
Quadruple thread; I, J: pitch parameters; K: angular offset 0, 90, 180 and 270 rela
tive to the marker.
.
N10 G17
N20 G1 X50 Y0 F2000
N30 M4 S200
N40 G33 X100 Y10 I0.1 J0.01 R30 K0
N50 G0 X50 Y0
N60 G33 X100 Y10 I0.1 J0.01 R30 K90
N70 G0 X50 Y0
N80 G33 X100 Y10 I0.1 J0.01 R30 K180
N70 G0 X50 Y0
N80 G33 X100 Y10 I0.1 J0.01 R30 K270
.
Marker
90
180
270
2 53
CC 220/320 M
G functions
Flexible Automation Programming Instructions
2 54
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
This function makes it possible to produce via programming mirror images of any axis
and any number of axes within machining axes.
The mirrorimage function is activated and cancelled by G functions written in the
part program.
This function has to be considered in conjunction with the COORDINATE ROTATION
and SCALING options.
G37 Pole definition for the programmable mirror image and/or coordinate rota
tion.
G38 Definition of the mirror axes and/or the scale factors and/or the rotation
angle
G39 Cancellation function for G37, G38
Function
G37 Pole definition (mirror point)
G38 Mirror image ON
G39 Mirror image OFF
If G38 including the corresponding axis addresses is programmed on its own and
digit 1, this permits mirror images around the program zero point of the pro
grammed axes (normal case).
In addition, by programming G37, it is possible to define any mirror image point (spe
cial case). The axis values programmed in this block represent the distance to the pro
gram zero point in which the axes are mirrored in parallel with the coordinate system.
If G38 is programmed more than once, all mirror axes have to be programmed. The
previously programmed mirror axes are not retained.
In the case of a change from G39 to G38, too, all desired mirror axes have to be corre
spondingly defined within this block.
2 55
CC 220/320 M
G functions
Flexible Automation Programming Instructions
2 56
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Call:
N100 G38 X1 Y1
Mirror axes
Programming example:
Pole data = zero, i.e. mirror image around the program zero point
.
.
N100 G1 X400 Y500 F1000
N101 G38 X1 Mirror image in the X axis
N102 G73 X...
.
.
N400 G39 G1 X300 Y400 Z0 Mirror image off; pole values = zero
Note!
2 57
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G38 X1 Y1
Note!
2 58
CC 220/320 M
G functions
Flexible Automation Programming Instructions
P3 10 P3
9
P2 P2 P1 4 P1 P2
15 9 3 3 10 15
ZOY
Program zero point
ZOX
Machine zero point
Operation
Mirror image can only be used in the "automatic", "single block" and "manual input"
modes.
The traversing direction of the axes via jog buttons does not change with active G38.
Display
G37/G38/G39 are displayed in the same way as the other preparatory functions. The
current pole values and the mirrored axes can be displayed by softkey stroke:
GOM Correction
SPECIAL
TABLES
2 59
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
This function is used to facilitate programming for the part programmer.
Recurring program sections which are simply rotated by a certain angle need to be
programmed only once.
The "coordinate rotation" function should be seen in conjunction with the "Pro
grammable mirror image" and "Scaling" options.
G37 Pole determination for programmable mirror image and/or coordinate rota
tion
Action
Using the "Coordinate rotation" function, it is possible to rotate the coordinate sys
tem in a plane selected with G17, G18, G19 or G20 by a specific angle.
The rotation point and the rotation angle are specified in two separate call blocks,
i.e. G37 and G38, respectively.
The coordinates of the rotation point are defined via the axis addresses, the rotation
angle is defined via the R address.
The rotation point is always related absolutely to the program zero point.
The rotation angle is the angle between the rotation axis of the original workpiece
relative to the location of the rotation axis of the new workpiece.
The rotation axes have the same origin and represent the linkage to the same point
of the respective workpieces.
2 60
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming
G37 Pole definition
2 61
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Sketch:
+Y
300
Direction of rotation
200
100
(X, Y) R
P
+X
100 200 300 400
The rotation point and rotation angle values can be programmed with 7 digits with
or without decimal point; standard format is 4.3.
Call:
Pole definition
Call
Plane determination
N101 G38 R30
Rotation angle
Call
2 62
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Coordinate rotation:
G37 X100 Y200
G38 R127
NOTE
If rotation + mirror image/scale are programmed at the same time, rotation is per
formed first, followed by mirror image/scale.
G90 has to be active in the first block following G38. If this is impossible, the fixed
point has to be traversed to before if G91 is programmed.
2 63
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Operation
The "Coordinate rotation" function operates in the "automatic", "single block" and
"manual input" modes.
It does not affect setup operation.
Display
G37/G38/G39 are processed in the same way as all other G groups:
Display under "Preparatory functions"
The current pole and angle values can be displayed by softkey stroke as follows:
GOM CORRECTION
SPECIAL
TABLES
PROGRAM
PARAMETER Display as follows:
NO P0 NC0 CORRECTION
PROGRAM ACT 22. 7 11:10
WAIT
PROGRAM PARAMETER
G 17 X 0.000 Y 0.000
G140
SPECIAL TABLES
WORKING PROGRAM
AREA TABLE PARAMETER
2 64
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The "scaling factor switchover" option can be used to change the scale for the dis
placement of all axes of a machine via programmable scaling factors.
This permits the user to select a "free" effective part configuration for his installa
tion.
This function has to be seen in conjunction with the "Coordinate rotation" and Pro
grammable mirror image" options.
G38 Definition of the mirror axes and/or the scaling factors and/or the rotation
angle
Application
Creation of a part program to define a contour with a preset size (standard
size). Prior to the call of this part program, it is now possible to influence the
scale of the programmed contour by specifying a factor per axis.
When producing moulds for castings or forged parts, this permits the shrink
age dimensions of the workpieces top be compensated for if these dimen
sions are taken into account as early as during machining the casting or forg
ing mould. This is performed by entering the corresponding scaling factors
(multiplication factor).
Action
Scaling factor selection is activated by the G38 function and deactivated by
G39.
In the case of circular interpolation, the scaling factors of the main and secon
dary axis must be the same (absolute value); otherwise an error message will
occur.
The scaling factors do not only modify the displacement of the axis ad
dresses, but also the I, J, K interpolation parameters. R for radius program
ming and for the reference plane will also be converted.
2 65
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Scaling factor switchover can be activated with active G70 and G71.
This function does not affect operation in the "SETUP" mode, i.e the prese
lected manual and incremental feeds remain unchanged.
G0, G1, G2, G3, G5, G61, G62, G73 active in conjunction with the pro
grammed axis information
G25, G26, G27, G125, G126 the working area values are not scaled
G33 inoperative
G90G91 operative
2 66
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming
G38 Scaling ON
Call
N100 G38 X2.12 Y3.28
NOTE
G90 must be active in the first block following G38. If this is not possible, the fixed
point must be traversed to before in the case of G91 programming.
2 67
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Scaling:
G38 X15.12 Y4.5
Operation
The "Scaling" function operates in the "automatic", "single block" and "manual in
put" modes.
It does not affect setup operation.
NOTE
If rotation + mirror image / scale are programmed simultaneously, rotation will be
performed first, followed by mirror image / scale.
2 68
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Display
G38, G39 are processed like all other preparatory functions. The current scaling
factors can be viewed via the following softkey operation:
GOM Correction
SPECIAL
TABLES
Error messages
In the case of circular interpolation, if the values of the factors of the main and sec
ondary axis are different, an error message is generated:
FACTOR UNEQUAL
2 69
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G42
G41 G42
G42 G41
G41
Action
G40 Deletion of the path compensation (G41/G42) in conjunction with or without
displacement programming for the axes selected via plane selection
(G17/G18/G19/G20).
G40 does not cancel an active tool length compensation.
G40 is the powerup state and corresponds to Control reset.
G40 must not be programmed with active G2/G3, G5 or G12/G13.
G41 Call cutter path compensation to the left of the workpiece in machining direc
tion, referred to positive compensation values.
The corresponding path compensation value has to be assigned to G41 via
the D address or T address.
G41 can be programmed with or without displacement.
The compensation movement will only be carried out if position data is pro
grammed after G41, i.e. if a movement is programmed in at least one address
of the selected plane (a maximum of 5 blocks without position data between
G41 and the 2nd block containing position data in the active plane).
G42 Call cutter path compensation to the right of the workpiece seen in machining
direction, referred to positive compensation values.
G42 has to be assigned the corresponding path compensation value via the
D address (tool compensation table) or the T address (tool table compensa
tion) in conjunction with M06 programming.
G42 can be programmed with or without displacement. The compensation
will only be carried out if position data is programmed after G42, i.e. if a move
ment is programmed in at least one address of the selected plane (a maxi
mum of 5 blocks without position data between G42 and the 2nd block con
taining position data in the active plane).
Programming
N60 G41 X... Y... Z... D... or N60 M06)
N65 G41 X... Y... Z...
As soon as the first position data after G41/G42 has been programmed in the com
pensation plane, a maximum of 6 blocks without axis information of the active
plane (blank blocks) may be programmed within 3 blocks containing axis informa
tion. Following G40 without position data, a maximum of 6 blank blocks may be
programmed between the next block and the last but one block containing axis in
formation.
2 70
CC 220/320 M
G functions
Flexible Automation Programming Instructions
NOTE
With active G41/G42, no
Plane switchover G17 G20
G70 / G71 switchover
G33, G92, G98, G174, G274
no WAIT permitted
M2/M30 does not cancel the cutter path compensation. This requires program
ming G40 including traversing information
G40/G41/G42 must not be programmed with active G2/G3, G5 or G12/G13, nei
ther for endless axes.
The first position data used after G40/G41/G42 must not be a circular interpola
tion.
Definition
This option is used in special cases (e.g. parallelstroke milling) or wherever the
requirements for a cutter path compensation cannot be met, e.g. traversing to the
contour, retraction from the contour, compensation movements.
Action
Paraxial compensation permits a compensation value to be assigned to any axis.
This compensation value is selected via the D address. The D address contains a
compensation group from a tool compensation table. Depending on the G function
used, the corresponding compensation value is added to or subtracted from the
programmed end point of the axis.
In the case of word coupling with the PC 600, it is possible to provide an additional
compensation (X radius). This compensation can be switched on or off via
G145/G146.
In the case of an existing tool table (FPC, VPC) in the communication memory (only
in the case of word coupling PC 600), a compensation is automatically provided via
the T word and offset with M06.
In this case paraxial compensation acts additionally (additively), provided it was
programmed.
Programming
Paraxial compensation is programmed via the G143, G144, G243G844 G func
tions, with
the hundreds digit indicating the axis number of the axis to be compensated, and
the tens and units digit indicating the kind of compensation offset:
( ) 43 additive
( ) 44 subtractive
The compensation value to be offset is selected via the D address (K table).
It is possible to program more than one G143 to G844 G functions within one block,
with only those G functions overwriting each other which are related to one and the
same axis.
Operativeness:
G143 to G844 operate modally.
G143 to G844 are cancelled by G140.
2 71
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming example:
N3
110
N2
N4
30
N1
P N6 N5
+X
40 210
NOTE
G41/G42 with tool table compensation (provided and offset automatically) or via D
address (programmed) can be combined with G143 ... G843 or G144 ... G844 (D
address), if this makes sense. In addition, a further length compensation can be
implemented via G78 (H address). However, mixing these combinations in this way
is practical in a few cases only.
G41/G42 and G143/G844 do not exclude each other. However, it does not make
sense to use them together.
2 72
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Display
In the DIAGNOSTIC group operating mode, the paraxial compensation last pro
grammed in the block is displayed.
In the CORRECTION group operating mode, "Special tables" function key, all pa
raxial compensations are displayed as follows (excerpt):
GOM Correction
SPECIAL
TABLES
PROGRAM
PARAMETERS Display as follows:
NO P0 NC0 CORRECTION
PROGRAM ACT 22. 7 11:10
WAIT
PROGRAM PARAMETER
G 17 X 0.000 Y 0.000
SPECIAL TABLES
WORKING PROGRAM
AREA TABLE PARAMETER
2 73
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The G43 or G44 functions produce a modification of the traversing distance pro
grammed in a part program. The modified end position of the traversing distance
differs from the programmed end position by an offset vector which is determined
by the I, J, K, R and D parameters.
This can be used to obtain a spatial tool offset.
Function
Instead of the programmed position E with the coordinates (X, Y, Z), a position E,
offset by vector V, made up of the components Vx, Vy, Vz, with the coordinates (X,
Y, Z) is traversed to with G43 or E (X", Y", Z") in the case of G44.
Y
0E E (X, Y, Z)
0 V
E (X, Y, Z)
Z 0E
X
E
X X Vx
Where: 0E = 0E + V or Y = Y + Vy with G43
Z Z Vz
Offset vector
X X Vx
or 0E = 0E V or Y = Y Vy with G44
Z Z Vz
Vx = Compensation value * I/ I2 + J2 + K2
Vy = Compensation value * J/ I2 + J2 + K2 if R=0
Vz = Compensation value * K/ I2 + J2 K2
and
Vx = Compensation value * I/R
Vy = Compensation value * J/R if R > 0
Vz = Compensation value * K/R
2 74
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Since I, J, K and R are relational figures (and thus dimensionless), their values will
not change during a switchover between G70/G71 (inch/meters)!
NOTE
As long as G2/G3 is active, the offset vector cannot be changed.
After switching the spatial tool offset on by G43/G44 (or D address !), the
block containing the next traverse movement must not contain a circular in
terpolation.
After switching the spatial tool offset off with G40 (or with D0 address!), the
block containing the next traverse movement must not contain a circular in
terpolation either.
2 75
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming
The direction of the offset vector and the standardization factor can be determined
by the I, J, K and R addresses only if G43/G44 is active.
If, with active G43/G44, only an R without I, J and K is programmed within a block,
the system sets I, J and K to value 0.
If only D and/or G40 are programmed within a block (without X, Y, Z and without I, J,
K), no traversing movement will occur. In contrast hereto, programming I, J, K with
out X, Y, Z will produce a traversing movement.
Offset vector still has N20 X.. Y.. Z.. I.. J.. K.. D0
the value 0 (D0)
Modification of direction and N55 X.. Y.. Z.. I.. J.. K.. D3
magnitude of offset vector
2 76
CC 220/320 M
G functions
Flexible Automation Programming Instructions
the values of the surface normal vector at the relevant tool engagement point
for I, J and K,
D: the number in the tool compensation table corresponding to the cutter ra
dius; and
PB
PM
n
F
W
PE
PS
2 77
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
Zero offsets can be used to offset and fix the program zero point to any required
point of the axis. Programming G()54 G()59 causes offset values stored in the
tables V1 V999999999 to be activated. Using G()53, they can be cancelled again.
Action
G()54 G()59 are latching, cancel each other mutually and are cancelled by G()53.
The magnitude of the offset is determined by the stored value. After programming
G()54 G()59, the zero offset becomes effective only after the next position data.
Each axis in which the zero offset is to become effective has to be programmed.
G()54 G()59 alone do not cause any traversing movement.
G22 can be used to activate several zero offset tables or tool compensation tables
within the part program.
The zero offset table contains a maximum of 3 groups with 6 zero offsets each.
The zero offsets from different groups operate additively (e.g. G54 + G156 +
G259). Any group programmed on its own operates absolutely and thus increases
the number of zero offsets.
The zero offsets within the individual groups overwrite each other mutually.
Programming
G54 No movement if on its own
or
G54 X...Y...Z.. Offset already applies to the position programmed here.
An active ZO (G()54 G()59) has to be switched off prior to programming G92 (set
actual value).
2 78
CC 220/320 M
G functions
Flexible Automation Programming Instructions
+Y
G54 X100 Y10 Z70
G55 X300 Y100 Z70
G56 X500 Y100 Z70
500 G57 X100 Y450 Z70
G57 G58 G59 G58 X300 Y450 Z70
W W W G59 X500 Y450 Z70
400
This table can be loaded by ma
nual input on the control,
300 CPL access,
via the serial interface or
via the DNC channel.
200
2 79
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Action
G60 can be used to program a zero offset directly within the part program, i.e. in a
workpiecerelated manner.
It acts additively (i.e. in addition) to other compensation values.
The G60 block does not cause any traversing movement. It simply activates the
offset values.
Programming G67 will cancel the G60 values again.
Programming
N10 G60 X... Y... Z...
(no traversing movement of the axes)
.
.
N100 G1 X... Y... Z...
(traversing movement of the axes allowing for the offsets)
.
.
N210 G67 X... Y... Z...
(traversing movement of the axes with cancellation of the G60 values)
or G67
(reset zero offset)
2 80
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Function
A zero offset can be implemented for each applied axis via G160. The values can be
transferred by the PLC to the CNC and also be changed by the PLC during the exe
cution of a part program. Within the CNC, it is possible to read the existing values
via CPL. The values are memorized in the CS memory. If G60 is active, the external
ZO values operate additively to other compensations already active (table ZO; pro
gram ZO).
The values transferred by the PLC have to be integers and refer to the "increment"
(I) measurement unit. This increment is defined as follows with the P9904 and P103
machine parameters:
(P103)
.
1 I = 10 . (P9904)
Examples: If P9904 = MM and P103 = 3, the resulting increment is as follows:
= 10 3 . mm
= 1 mm
In the case of the metric system, the external zerooffset values are calculated ac
cording to the preset axis distance (P9904) and the preset axis format (P103) and
displayed in the respective input unit (m, mm, cm etc.).
When switching over to inch, the values stored in the CNC are correspondingly
converted. The resulting increment (I) is then as follows:
. ( (P103) . (P9904) ) .
1 I = 10 1 Inch 1 Inch
With active G70 (inch), the PLC can preset a zerooffset value with a maximum
accuracy of
((P103)+1)
10
inch. If, for instance, P103 = 2, the maximum resolution will be 1/10 inch.
2 81
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Activation/deactivation
The external zero offset is activated by G160 and deactivated by G167. The external
ZO values stored in the CS memory are overwritten with "0" or initialized only dur
ing "LOAD BACKUP".
Reset or Clear logic does not modify existing external ZO values.
After programming G160, the currently existing external ZO values are always in
cluded in the calculation of the overall zero offset.
If the values are modified by the PLC during the execution of a part program (e.g. by
M function) with active G160, blocks programmed directly after the M function
which have already been prepared are not yet influenced by the new values!
Remedy:
After programming the M function, the "WAIT" CPL command should be written
into the next program block.
This causes the block preparation to stop until all blocks programmed ahead of
"WAIT" have been executed. Subsequently, block preparation and execution is
continued including the new ZO values.
In addition, specific inclusion of the ZO values is possible if, owing to the M function,
the PLC first transfers the compensation values to the CNC, then sends the "FEED
HOLD" and "CANCEL DISTANCE TO GO" signals, and finally issues the acknowl
edgement for end of cycle to the CNC. In this case "WAIT" does not need to be pro
grammed.
NOTE
The powerup state for G160/G167 can be defined via the P 3013 machine pa
rameter.
2 82
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition of G61
In the G1, G2, G3, G5, G11, G12, G13 interpolation modes the control waits per
block for the inposition window to be reached before interpolation of the next
block is commenced. The window width can be defined using machine parame
ters.
Actions
G61/62 act modally
G62
is the powerup state
+Y
G1/
G62
500
400 G1/
G61
300
200
100
M
+X
100 200 300 400 500 600 700 800 900
Programming
G61, G62 have to be programmed at the latest in the block for which the function is
to apply. M2/M30 sets the powerup state.
Example:
.
N10 G61 no movement
N11 G1 Y200 interpolation with inposition
or
.
.
N10 G62 interpolation without inposition
N11 G1 Y200
.
.
N50 G61 X200 interpolation with inposition as early as in this block
2 83
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition of G 66
The position of the corresponding feedrate compensation potentiometer on the
setup panel is evaluated.
G66 cancels G63
Definition of G 63
The feedrate is set to 100% of the programmed value, irrespective of the position of
the potentiometer.
"Set spindle 100%" can be set via the interface logic if the "G63" output signal sets
the "Spindle override 100%" input signal.
Interactions
G66 is the powerup state
Both functions operate modally and exclude each other mutually.
Programming
Can also be programmed together with other preparatory functions.
M2/M30 sets the powerup state.
Application
The feedrate override potentiometer can thus be rendered inoperative by the pro
gram. Using the interface logic, it is also possible to deactivate the override poten
tiometer for the spindle.
NOTE
Operates only in the automatic/manual mode and only for feedrate (no
"rapid").
2 84
CC 220/320 M
G functions
Flexible Automation Programming Instructions
FEEDRATE OVERRIDE (with cutter radius compensation) G64 Cutter engagement point
G65 Cutter center point
Definition
In the case of circular segments, the feedrate determined with the F word applies to
the cutting path of the cutter or to the cutter center point path.
Interactions
G64/G65 operate modally and exclude each other mutually.
G65
The control maintains a constant feedrate (FM) along the cutter center point path.
G65 is the powerup state (can be set via MP P3009).
Examples:
FM = Fprogr.
Fprogr. = programmed feedrate
FB FM Feff feedrate used by the control
=
In the selected example the feedrate acting at the contour is lower than the
programmed feedrate.
2 85
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G64
The control maintains a constant feedrate (FB) along the cutting path. This calcula
tion is only possible when G41/G42 is active on G2/03/05/12/13 arcs.
Since the speed may increase considerably on circles, this function should be
used for finishmilling only.
FB
The effective axis feed is higher than that programmed in the example.
Particularities
The effective feedrate on a compensating circle in conjunction with cutter path
compensation depends on its programming:
Example 1:
N10 X100 F100
N20 Y100 F200
The compensating circle is traversed with F100
Example 2:
N10 X100 F100
N20 F200
N30 Y100
The compensating circle is traversed with F200
Example 3:
N10 X100 F100
N20 Z50
N30 Y100 F200
The compensating circle is traversed with F100
2 86
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
When radius compensation is active, the control has to provide a transition at out
side corners. This transition can be either the intersection of the equidistant line or
an automatically created arc.
G68/G60 operate modally.
Action G68
Arc
Possible only with G41/42 and angular variation alpha between 0 and 180.
The arc produces a continuous transition which is generally optimal under techni
cal aspects and protects the drives owing to the smooth transition.
automatically generated
programmed points
a
G69
Intersection
Possible only with G41/42 and angular variation between 0 and 90.
Action is identical to G68 in the case of angles greater than 90 to 180.
Programming
G68/G69 without preparatory functions
Powerup state
Using machine parameters, G68 or G69 can be defined as the powerup state.
2 87
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G70 is latching and cancels the G71 function. After G70, all position and feedrate
data has to be specified in inches. All active metric values and zero offsets will auto
matically be converted to inches.
3.4 is the input format.
G71 is latching and cancels the G70 function. All position and feedrate data has to
be specified in metric values. All active inch values and zero offsets will automati
cally be converted to metric values.
4.3 is the input format.
Clear logic and Control reset do not produce the powerup state.
It is not permitted to program more than one of the following functions within one
block at a time:
G70/G71
G92
G98/G99
G174/G274
G33
G16
G6
G23
Punching (T) T word (D)
Claw enclosure (T), C axis switchover
G114 feed forward control
2 88
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
In interpolation mode, the machine axes travelling at the programmed path fee
drate lag behind the digital setpoint, i.e. a socalled following error, or lag, occurs.
This means that during machining of discontinuous contours, contour errors will
occur, which are also referred to as corner erosion.
The higher the feedrate, the greater the corner erosion.
Action
The purpose of the G73 function is the elimination of corner erosion, i.e. the pro
grammed workpiece contour element is traversed to with perfect dimensional ac
curacy. While contouring the contour element the feedrate necessarily drops to
zero.
After reaching the programmed position, the next block will be read in, and machin
ing is resumed at the programmed feedrate.
Fundamental quantities
The G73 preparatory function has to be programmed before the position data to be
processed with linear interpolation and INPOSITION recognition.
The corresponding feedrate must be assigned to G73 via the F word in the same
way as to G1.
2 89
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The axes programmed in one block traverse to the reference point(s) simulta
neously at rapid feedrate. In the case of G74 neither reference point cams nor mark
ers are taken into account. G74 is a mere positioning operation (i.e. it also applies
to axis with distancecoded encoders). The axis positions stored under P5101 are
traversed to.
Action
Acts only in the programmed block.
The axes programmed with G74 traverse simultaneously in rapid mode to the
reference point (normal positioning).
When traversing to the reference point with G74, the actual axis values are
neither set nor zeroed, i.e. the programmed offset values are not affected.
G74 is cancelled when the machine axes programmed with G74 in the block
have reached the reference point.
Any compensations and zero offsets still active are not affected.
Programming
To be programmed with the axes to be traversed in a separate block.
The axis addresses have to be programmed with the numeric value of zero
(X0, Y0, Z0).
The zero value does not affect the reference point position, it simply serves as
a completion of the word.
Example
N100 G74 X0 Y0 Z0 (all axes traverse to the reference point simul
taneously)
2 90
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
This function allows approaching the reference point only via intermediate posi
tions which have to be programmed in the block containing G174.
Action of G174
If X0, Y0 etc. is programmed, the intermediate positions X0, Y0 etc. are traversed to
first, and then the reference point.
It is possible to traverse to the first reference point (G74) or a second reference
point.
2nd reference point = 1st reference point offset.
Otherwise the same conditions as for G74 apply.
Example
N150 G74 X0 Y0 Traversing without intermediate position
.
N500 G174 X0 Y0 Traversing with intermediate positions X0, Y0
.
N700 G174 X500 Y100 Traversing with intermediate positions X500,
Y100
The position data programmed under G174 refers absolutely to the reference
point.
Definition
This function allows a programmed position to be traversed to from the reference
point via intermediate position. The intermediate position used is the position pro
grammed under G174. If this position is absent G174 was not programmed the
position programmed under G274 will be traversed to directly.
The G274 function can be triggered irrespective of whether the reference point was
traversed to with G74 or G174.
Action of G274
Acts only block by block.
Becomes inactive as soon as the position traversed to is reached.
The axes traverse in rapid mode (the "RAPID" interface signal is not set!).
Any compensations and zero offsets still active are not affected.
The rapid potentiometer is active when "TEST RAPID" is active.
Programming
To be programmed with the axes to be traversed in a separate block.
Auxiliary and supplementary functions may be programmed within the same
block.
The position data programmed under F274 refers to the program zero point.
.
N40 G274 X.... Y.... Z....
N41 G274 X.... Y.... Z....
The N41 block is ignored, since G274 was programmed twice consecutively.
2 91
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Y
ZP (200 / 600)
2
3
500 P1 (600 / 500)
3
MRP
4
300
MPY 1
P2 (900 /150)
5
MRP = 2nd machine reference point (G174), if the distances MPX and MP
Y are defined via machine parameter 1503 (MRP= MRP Machine
parameters)
1. option:
N100 G74 X0 Y0
Direct traversing from P1 to MRP.
2. option: (MP X = 0, MP Y = 0)
N100 G174 X200 Y600
Traversing to MRP via ZP (MRP = MRP, since MP Y = 0 and MP X = 0)
4. option:
N101 G274 X900 Y150
Traversing to P2 via ZP from MRP, if G174 was programmed before.
5. option:
N101 G274 X900 Y150
Direct traversing to P2 without ZP from MRP, if G174 was not yet programmed.
2 92
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
This function makes only sense in conjunction with a CPL program, e.g. in the case
of measuring cycles.
The control drives the measuring axis in the direction of the position programmed
with G75 and checks the signal status of the rapid input "Measuring probe" located
on the servo board.
Action
As soon as the edge defined via machine parameters is reached (contact with mea
suring surface), the control reacts as follows:
the actual position is memorized
the axis stop is initiated with downslope function
the distance to go is cancelled
G75 is cancelled (acts block by block)
Programming
N100 G75 X400
101 WAIT
Evaluation
Continuation of the program, evaluation of the axis information, safety monitoring
functions, error message generation etc. have to be implemented within the CPL
program.
Example:
N100 G75 Y250 F500 Traversing to the contour to be measured
105 WAIT
110 IF SD(9)=0 THEN Scan whether the measuring probe has been actu
ated
120 YPOS=PPOS(2) Storing the position at the instant of switching of the
second axis (Y axis) in the "YPOS" variable
N130 (MSG, MEASURING
PROBE HAS BEEN
ACTUATED)
140 GOTO N180
150 ENDIF
N160 (MSG,MEASURING
PROBE HAS NOT
BEEN ACTUATED)
N170 M0 Program stop
N180 .....
2 93
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
While machining a workpiece, it is frequently necessary to move to fixed machine
axis positions, e.g. for tool changes, tool break inspections, measuring cycles etc.
This also includes pallet changes which, as a rule, occur at the beginning or end of
a machining operation.
Action
G76 operates only blockwise and instructs the NC to delete or cancel the following
functions:
Length compensations (H0)
Paraxial compensations (G140)
Radius compensations (G40)
Tool table compensations (G146)
Zero offsets (G53)
Absolute input (G90)
Set actual value (G92)
Mirror image (G38)
G76 belongs to G code group 1 and can thus not be defined as powerup state.
Programming
G76 is programmed together with other position data
G76 can be written together with other position data (G93, G94, G95, G0, G1)
G76 can be written together with the F word
Operates in conjunction with:
G93, G94, G95
G0, G1
F word
2 94
CC 220/320 M
G functions
Flexible Automation Programming Instructions
The correction values for the individual axes are only traversed after a displace
ment of the respective axis is programmed.
1st example:
.
N150 G94 G1 X200 Y400 F2000
N160 G0 G76 X0 Y0
N170 X200 Y400
N180 G1 X... Y... F...
.
2nd example:
.
N500 G0 X500 Y800
N510 G94 G1 G76 X100 Y200 F4000
N520 X300 Y200 F300
.
Display
The setpoint/actual value display shows the position traversed to with respect to
the reference point.
2 95
CC 220/320 M
G functions
Flexible Automation Programming Instructions
General
Drilling work on machine tools is not only performed using the Z axis, but also with
other machining axes.
Therefore the control provides several options to switch over the drilling axis and
the length compensation direction to any machining axes where they become ac
tive:
by programming in the part program
by selecting the drilling axis via multi interface (refer to connection conditions
part 2)
by setting the P6507 machine parameter
G78 has the highest priority. If no programmed switchover is active (G79), the drill
ing axis last selected via interface will be used. If no drilling axis was selected here
(or default 0), the machine parameter setting will apply.
After powerup of the CNC, the axis defined via P6507 will be active as drilling axis
(e.g. 3rd axis, Z axis).
Action
The G78 function including axis address (with digit "1" and sign) can be used to
define a freely selectable axis as drilling axis (in the part program or in MANUAL
INPUT mode).
The sign in the calling block automatically determines the positive or negative
length compensation direction.
(For length compensation refer to chapter "Tool compensation".)
Programming G79, the axis which was last preset via multi interface or assigned as
machine parameter becomes active as drilling axis again.
Switchover of the drilling axis is prohibited for synchronous rotary axes and auxilia
ry axes (asynchronous axes) by an internal control feature.
Example:
Drilling axis switchover to X axis with negative compensation direction:
G78 X1
2 96
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming
G78 Drilling axis switchover ON
G79 Drilling axis switchover OFF
G78 Operates modally
Must always be programmed together with the drilling axis in a separate
block, with digit 1 or digit (1).
Must not be programmed together with other axis addresses of synchro
nous axes, but may be programmed with auxiliary functions.
Must not be written with other preparatory functions in the same block.
Processes a programmed length compensation with correct sign inter
pretation in the selected axis.
Is cancelled by M30, Control reset and Clear logic.
G79 Operates modally.
The drilling axis last selected via the multi interface is active. If no drilling
axis was selected there (or the zero value was defaulted), the setting in
P6507 is active.
May be written together with other preparatory functions, traverse infor
mation and auxiliary functions in one block.
Programming example
N199
N200 X300 Y400 H10 G82 [1000,800,2] Drilling cycle with the drilling axis
preset on the multi interface or
via P6507.
The length compensation used
will be the value input under
H10.
N201 X400 Y200
N202 X... Y...
G80
.
.
.
N300 G78 X1 Switchover to Y axis as drilling
axis, positive compensation di
rection. The length compensa
tion used will be the value input
under H9.
.
N400 G78 Y1 Switchover to X axis as drilling
axis, negative compensation di
rection. The length compensa
tion used will be the value input
under H11.
2 97
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G80
.
.
N500 G79 G80 X0 Y0 Z0 H0 Drilling axis switchover OFF.
Drilling cycle using the drilling
axis specified on the multi inter
face or via P6507.
N501 M30
Display
Like all other G functions, G78, G79 are displayed under the "DIAGNOSTIC" group
operating mode in the "Preparatory functions" column.
The special tables display shows which axis is presently active as drilling axis and
which direction of length compensation is operative.
GOM Correction
SPECIAL
TABLES
PROGRAM
PARAMETER Display as follows
G140
SPECIAL TABLES
WORKING PROGRAM
AREA TABLE PARAMETER
Drilling axis switchover OFF (G79 active). The Z axis is the active drilling axis
with positive length compensation direction.
Error messages
If more than one machining axis address is programmed in the G78 block, or if a
digit unequal to "1" is programmed, an "ADDRESS NOT ALLOWED" runtime er
2 98
CC 220/320 M
G functions
Flexible Automation Programming Instructions
NOTE
A switchover of the drilling cycles to rotary axes and auxiliary axes is not possible,
the control will reject any such instruction.
The max. possible number of G codes for working and drilling cycles within the sys
tem is 32. The assignment of the G numbers to P numbers is performed via the ma
chine parameter group 4000.
Standard assignment:
G81: = P 999 999 081
G82: = P 999 999 082
G83: = P 999 999 083
G84: = P 999 999 084
G85: = P 999 999 085
G86: = P 999 999 086
For these drilling cycles, the sequence of movements is generally performed as fol
lows.
PE
PE Positioning plane XY
R2
2 5 R1 Reference plane 1
R2 Reference plane
R1
2
Z Drilling depth
3 5 Feedrate
Rapid traverse
Z
P 4 P Dwell time
2 99
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G85 Yes Boring out 1 Feedrate Spindle stop Rapid traverse Boring out 1
(dwell time)
G86 Yes Boring out 2 Feedrate Spindle stop Feedrate Boring out 2
(dwell time)
Programming
Programming outside the brackets is to be carried out according to the rules of DIN
66025.
Programming inside the brackets is performed in accordance with the "CPL" rules.
The last position of the drilling axis prior to programming the drilling cycle has
to be the withdrawal plane.
The number of parameters depends on the called drilling cycle G81 G86.
In case of a drilling cycle change, G80 has to be programmed beforehand.
The G80 block must not contain any bracketed expression.
The drilling position must be contained in the cycle calling block or after it and
may also include the drilling axis.
Programming of the bracketed values is bound to the above sequence.
The values for Z and R1 have to be programmed in every case.
2 100
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Meaning:
G: Call of the machining cycle
2 101
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Display
The current drilling cycle or G80 can be displayed under the "Diagnostic" group
operating mode in the "Preparatory functions" (Condition on) column.
Interface
The effect of the interface signals (feed allow, travel command, inposition etc.) is
fully maintained.
In the G84 tapping cycle the "G84" signal is output at bit 255 as long as the machin
ing cycle is active.
In the G86 drilling cycle the "G86" signal is output at bit 254 for the time of retrac
tion.
"Feed hold" acts generally. If required, it has to be interlocked via interface.
Powerup condition
G80 is latching and the powerup state.
G80 is set by Control reset and Clear logic.
NOTE
The G81 to G86 drilling cycles can also be programmed together with
G90/G91. In this case the parameters in the square brackets must also be
written incrementally.
In the case of a block repetition the L word must not be programmed in
the same block as the drilling cycle call..
Example:
N1 G84 [Parameter....] (correct)
N2 X1 Y1 L2
N1 G84 X1 Y1 L2 [Parameter..] (incorrect)
Via the G81 to G86 functions, the drilling cycles are called as subroutines. When
programming it has to be ensured that the parameters to be transferred are pro
grammed directly after the drilling cycle call if the same line contains more than one
program word.
Example:
N100 G55 G81 [Parameter1,Parameter2...] (correct)
N200 G81 G55 [Parameter1,Parameter2...] (incorrect)
Meaning of G90/G91
G90 (absolute) G91 (incremental)
R Reference plane
R
0 Z Drilling depth
R
R R Feedrate
Z Rapid traverse
Z R = R value
Z = Z value
Z Z
2 102
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G81 DRILLING 1
G81 with R1 plane G81 with R2 plane
PE PE PE Positioning plane XY
R2
R Reference plane 1, 2
Z Drilling depth
R1
Feedrate
Rapid traverse
P Z P Z P Dwell time
Application
Centering and simple drilling, spot facing, boring out with and without dwell time.
After reaching the Z drilling depth, a dwell time may become effective, followed by a
retraction movement in rapid traverse.
Programming
N100 X... Y... G81 [Z, R1, P, R2]
Z, R1 have to be programmed
P, R2 may be programmed
G82 DRILLING 2
G82 with R1 plane G82 with R2 plane
PE PE PE Positioning plane XY
R2
R Reference plane 1,2
Z Drilling depth
R1 R1
P Dwell time
Feedrate
P Z P Z
Rapid traverse
Application
Centering and simple drilling, spot facing, boring out with and without dwell time.
After reaching the Z drilling depth, a dwell time may become effective, followed by a
retraction movement at feedrate.
Programming
N100 X... Y... G82 [Z, R1, P, R2]
Z, R1 have to be programmed
P, R2 may be programmed
2 103
CC 220/320 M
G functions
Flexible Automation Programming Instructions
PE PE
PE Positioning plane XY
R2 R Reference plane R1,R2
R1 R K Infeed depth
K K Z Drilling depth
k k
k Distance to speed switch
K K over point
k k
Feedrate
K K Rapid traverse
Z Z P Dwell time
P P
Application
Deep hole drilling with complete removal of the drilling chips
After reaching the programmed infeed depth K, a retraction movement to the R ref
erence point is performed each time in rapid traverse. The repeated infeed to the
programmed distance k (speed switchover point) is then carried out in rapid tra
verse, too. The k distance and the K infeed depth are then executed at feedrate.
Stepbystep infeed with the respective retraction back to the reference point is
performed until the programmed overall drilling depth Z is reached.
The K infeed depth is programmed as an incremental value without sign. (Also with
negative or positive drilling direction).
In this machining cycle the drilling chips are completely removed from the bore be
fore a new infeed takes place.
If the K infeed depth is programmed incorrectly so that the maximum drilling depth
Z is exceeded, the drilling cycle will be stopped by M0. The "DRILLING DEPTH
TOO LARGE" will be displayed.
If a new start of the drilling cycle is attempted, it will be aborted (M30).
Programming
N100 X... Y... G83 [Z, R1, K, k, P, R2]
2 104
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G84 TAPPING
G84 with R1 plane G84 with R2 plane
PE PE PE Positioning plane XY
G63
D R2 R Reference plane 1,2
G66
R1 D Z Drilling depth
P Dwell time
P P Z
Z D Reversal of rota
D D tion
Feedrate
Rapid traverse
Application
Tapping (right and lefthand) with compensating chuck with and without dwell
time; precondition: S analog output CNC.
Drill bit infeed is carried out with programmed clockwise (M3) or counterclockwise
(M4) spindle rotation.
After reaching the drilling depth, rotation is reversed, and a dwell time (if pro
grammed) elapses. Subsequently, a retraction movement at feedrate to the R
plane is carried out.
After switching over to "automatic", the drilling cycle is executed. If single block
should still be programmed after the second start, the drilling cycle is cancelled
(M30).
For test purposes, singleblock suppression can be cancelled by setting the CNC
interface input 20.7 "SINGLE BLOCK G84 (TEST)".
Programming
N100 X... Y... G84 [Z, R1, P, R2]
Z, R1 have to be programmed
P, R2 may be programmed
2 105
CC 220/320 M
G functions
Flexible Automation Programming Instructions
PE PE PE Positioning plane XY
M03
R2
M03
R Reference plane 1,2
R1
Z Drilling depth
Feedrate
P P Z Rapid traverse
Z
M05 M05 P Dwell time
Application
Boring out with and without dwell time.
When the Z drilling depth is reached, a dwell time may elapse, with simultaneous
spindle stop. This is followed by a rapid retraction movement.
Programming
N100 X... Y... G85 [Z, R1, P, R2]
Z, R1 have to be programmed
P, R2 may be programmed
PE PE PE Positioning plane XY
R2 R Reference plane 1,2
M03
R1 M3
Z Drilling depth
Feedrate
P Z
P Z Rapid traverse
M05 M05 P Dwell time
Application
Boring out with and without dwell time.
When the Z drilling depth is reached, a dwell time may elapse, with simultaneous
spindle stop. This is followed by a retraction movement to the R plane at feedrate.
Programming
N100 X... Y... G86 [Z, R1, P, R2]
Z, R1 have to be programmed
P, R2 may be programmed
2 106
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming examples
Example 1:
G81 R1 and R2 plane with and without dwell time.
.
.
N90 G1 M3 S1050 F400
N91 X500 Y700 G81 [1000, 800]
N92 X600 Y800 ! following this block, the G81 drilling cycle is
executed again
.
.
N100 X800 Y700 G81 [1000, 800,,600]
N101 X1000 Y1200
. (retraction to R2 plane)
.
N110 X0 Y0 G81 [1000,800]
N111 X100 Y500
. (retraction to R1 plane)
.
N150 X400 Y200 G81 [1000, 800,1]
N151 X200 Y300
. (Dwell time 1 second)
.
N200 Y100 G81 [1000, 800]
N201 X950
. (Dwell time = 0 seconds)
The same examples can be programmed using G82, G84, G85 and G86.
2 107
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Example 2:
G82, G91, polar coordinates, repetition with L factor
.
N69 G91 G20 X50 Y20 M3 S1500 F400
N70 G1 X400 G82 [300, 200, 5]
N71 G11 X100 A25 L10
N72
.
.
N90 G90 X200 A50
N91 X300 A100
.
.
Example 3:
Plane R2 is to become effective immediately with G83
.
.
N70 G73 M3 S490 F700
N71 Y500 G83 [1000, 800,10,1,2, 700]
N72 X800
N73
.
.
Example 4:
Plane switchover: drilling axis = X axis with positive compensation
N10 G78 X1
N20 G1 M3 S1050 F400
N30 G81 [100, 800]
N40 Y500 Z700
N50 G79
Example 5:
Cycle calls without G80 programming
N10 G81 [....]
N20 X100 Y100 Cycle G81 to X100 Y100
N30 G82 [....] G81[..] acts for each axis in G82
N40 X50 Y50 Cycle G81 to X50 Y50
N50 G83 [....] G81[..] acts for each axis in G83
N60 X0 Y0 Cycle G81 to X0 Y0
N70 .......
G81 will only be overwritten by G80. It acts as long as an axis is repositioned after
each block; i.e. also within a different G function (e.g. G82). In contrast, G82 is over
written by G83, for instance.
2 108
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Example 6:
Calling the drilling cycle in the main program and the positions to be traversed to
within the subroutine
Example 7:
Variable name programming of drilling cycles
N5 X200 Y400 M3
N10 Z = 1000
N20 R1 = 800
CPL assignments
N30 P=2
N40 R2 = 900
N50 X... Y... G84 [Z, R1, P, R2]
If corresponding assignments have been made prior to the drilling cycle call, it is
possible to program within the brackets using variable names according to the
same rules without numeric values.
Example 8:
Cycle call with drilling axis positioning
N100 X100 Y200 Z0 G81 [Z, R1, P, R2]
N101 X... Y...
N102 X... Y...
.
.
In block 100, the X, Y and Z axes are positioned first, followed by the execution of
the G81 cycle with the bracketed values.
2 109
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
Part positions can be specified in terms of:
G90 Absolute dimension, i.e. the dimensions refer to the acting zero point, or
G91 Incremental dimension, i.e. the dimensions refer to the previously pro
grammed positions
250
200
150
50
50
150
2 110
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definitions
Programming G92 without axis information:
Setting to machine coordinates irrespective of compensations and zero offsets.
Action
The new values are displayed, no axis movement takes place.
Reset G92
SetG92 X... Y...
G92 operates block by block. To set the actual value, it is written together with the
axis information in one block, but does not produce any traverse movement.
No other functions may be contained in the block. If G92 is programmed without
axis information, the actual axis values are set to the current positions in the ma
chine coordinate system, i.e. any reference point shifts are cancelled.
Programming
G92 X... Y.... Z.... Assign axis values
NOTE
If G92 follows G40 and the compensation has not yet been cancelled, an offset will
occur, since G92 refers to the compensated value rather than to the programmed
one.
No G5 is permitted after G92.
Example:
+Y P0
G90 F200
80 G1 X140 Y90
P1
G92 X0
70 P10
G1 Y30
G2 X10 Y20 I10
60
G1 X55
50 X65 Y30
X85
40
X95 Y20
30 P9 P2
X100
P6 P5 G2 X110 Y30 J10
20 G1 Y70
P8 P7 P4 P3 X5
10
130 120 110 100 90 80 70 60 50 40 30 20 10 W 10 20 X0 Y80
G92
+X M30
M 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160
2 111
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Precondition
Spindle control via analog CNC output.
Action
In the course of a machining phase it is possible to program a minimum and/or
maximum rpm value as speed limitation for the spindle. These limit values apply to
all gear ranges, but act only if they lie within the gear range limits.
G192 S1500 (Minimum value)
G292 S2500 (Maximum value)
G192 S0 (Cancel minimum value)
G292 S1 (Cancel maximum value)
G92 (No effect on spindle)
Programming examples
N100 X_ _ Y_ _ G192 S1500 M10
N101 X_ _ Y_ _ G292 S2500 T40
.
N500 X_ _ Y_ _ G292 S1
NOTE
The S values programmed do not influence the speed in conjunction with
M3/M4 programming. They are separately stored and remain active until
M2/M30, Control reset, Clear logic or one of the cancelling functions be
comes active.
It is not possible to exceed or fall below the programmed limit values with the
spindle potentiometer.
2 112
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Application
If, instead of a spindle, a laser power control is coupled to an analog output (also
refer to P6301 machine parameter), these G functions can be used to define volt
age thresholds for the output.
Function
A voltage depending on the actual value and the setpoint of the path feed
> >
(Factual/Fset) within the limits 0 = U = 10 V is available at the analog output.
An upper voltage value, defined via G992, is output at constant speed. During con
stant speed this value cannot be influenced by the feedrate potentiometer.
If the speed is not constant (acceleration or deceleration phase), the ratio between
the actual feedrate and the feedrate setpoint is output. Both variables are then in
fluenced by the feedrate potentiometer. If the potentiometer is adjusted at this
point, the Factual/Fset ratio and thus the output voltage change abruptly.
In order to avoid that the output voltage exceeds or drops below specific values if
the path speed is not constant (e.g. dropping below the specified values during
block transitions; in extreme cases the laser would even be switched off), it is possi
ble to program an upper and a lower threshold value with G992 and G892, respec
tively.
If "0" is the potentiometer setpoint, the output voltage decreases down to zero in
proportion to the path speed. In this context it is of no relevance whether the poten
tiometer change was performed during an acceleration process or at a constant
path speed.
2 113
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming
G892 Programming the lower threshold value
G992 Programming the upper threshold value
The threshold values are programmed in terms of % of the max. output voltage (10
V) with the "S" address.
NOTES
A voltage of 0V will also be output at the analog output in the following cases:
In jog mode
In test mode both with "AXIS INHIBIT" as well as "ALL AXES INHIBIT"
In case the "FEED ALLOW" or "DRIVE ON" interface signal for one of the axes
involved in the path interpolation is removed
2 114
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
When G93 is active, it is possible to set the machining time for a programmed linear
(G1) or circular (G2, G3, G5, G73) path. This set time will also be active when pro
gramming in polar coordinates.
The machining time is defined via the F word.
Action
G93 is latching.
Programming
G93 can be programmed on its own or in conjunction with G functions from other
groups. Likewise, axis and switching information can be programmed in the G93
block.
The machining time in terms of seconds is programmed via the F word.
The F word does not need to be reprogrammed with every new path to be tra
versed. But for technical reasons it is sensible.
G93 has to be programmed once before the path to be traversed.
2 115
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The G94 preparatory function and the F word set the mm/min feedrate for travers
ing the axis.
The following axis information is interpolated at the mm/min feedrate correspond
ing to the F word.
Action
operates modally
The meaning of the F word is "feedrate value in mm/min" (can be set via machine
parameters).
F1 = Feedrate of 1 mm/min
The F word has a maximum of 7 digits (6.1) and can be programmed with or without
decimal point. The F word is limited by the maximum feedrate value of the axis pa
rameters involved. The F word in terms of mm/min operates modally; it is only over
written by a new F word (within G94).
Power off, Control reset and G95 F do not cancel the F word of G94!
Programming
N10 G1 G94 X200 Z300 F200
N11 G4 F400 (Dwell time 400 seconds)
N12 X300 Z400 (the feedrate of 200 mm/min is active again)
2 116
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
The G95 preparatory function and the F word set the mm/rev feedrate for traversing
the axis.
The main spindle must be operated prior to the 1st position data to be processed
by G95.
With the main spindle running, the subsequent axis information is interpolated at a
mm/rev feedrate corresponding to the F word.
N9 S200 M4
Example: N10 G95 X200 Z300 F2
Action
operates modally
Format/dimension
The F word for G95 has the format of 4.3 digits.
The F word can be programmed with or without decimal point; leading zeroes may
be omitted.
The F word for mm/rev operates modally; it is only overwritten by a new G95 F
word. Power off, Control reset and G94 F.. do not delete the F word of G95!
Dwell time
If a G4 or G104 block (without position data) is programmed with an F word when
G94 or G95 is active, the corresponding dwell time in terms of seconds or spindle
revolutions will become active.
Effect:
The programmed F word acts block by block for G4 and G104 and has to be repro
grammed in each dwell block.
Subsequently, the old programmed feedrate is activated again.
Programming
N10 G1 G95 X200 Z400 F10.5
N20 G104 F5 (Dwell time 5 revolutions)
N30 X0 Z0 (the feedrate of 10.5 mm/rev is active again)
2 117
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Definition
In the course of the supervision of critical machining sequences on the machine, a
response of the supervising functions can require a specific and rapid reaction in
order to prevent major damage to the workpiece and to the machine.
Action
Monitoring of the machine processes is always performed externally, with the CNC
taking the required response action.
Programming
G98 identifies the block which can be executed.
This block remains active until G99 is programmed.
G98 operates modally and can be cancelled by G99 only.
G99 is the powerup state.
Example:
.
N120 X0 Y0
N125 G98 G0 X500 Y200 Z400
N130 G1....
.
.
N200 G99 G2 X200 Y400 I0 J50 F500 M10
.
Direct calls of subroutines (P, Q) are not possible in the G98 block.
No G73 must be programmed in a block containing G98.
NOTE
It has to be ensured that the incremental retraction movement does not exceed the
software limit switch ranges.
2 118
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Function
The option automatically controls an axis rotating about Z in such a way that it is coguided tangentially to a con
tour defined in the X/Y plane after programming the G131 or G132 functions.
The rotary axis is in 0 position when a train of contour elements is executed in parallel to the X axis.
Rotation of the rotary axis is always performed between two programmed path sections. The option acts differ
ently for linear and circular blocks.
Linear block
The rotary axis rotates about a specific angle between 2 linear blocks. Subsequently, the next linear block is ex
ecuted without movement of the rotary axis.
2 a
1
3
Circular block
If a circular block has been programmed, the rotary axis will first rotate tangentially
in relation to the circular path before the circular block is executed. During the ex
ecution of the circular block the rotary axis automatically rotates, too. The rotation
speed of the rotary axis is derived from the path speed of the two linear axes. Since
the maximum speed of the rotary axis must not be exceeded, the path speed of the
linear axes may be restricted.
1
3
2 a
With an appropriately large angle change between two path sections, the control
will emit two signals from the highspeed outputs of the SERVO servo loop board
(X31), which can be used to raise the rotary axis prior to the rotation and to lower it
afterwards. Raising and lowering of the rotary axis or the tool have to be implem
ented in the PLC. The rotation angle where the raising of the rotary axis is to begin
as well as the duration of the "raise" and "lower" signals can be determined via the
P6402, P6403 and P6404 machine parameters.
Programming
G130, G131 and G132 have to be programmed on their own in one block.
G130
G130 is the powerup state and means that the tangential tool guidance is switched off. The tangential tool guid
ance is always switched off by powerup of the control, CONTROL RESET, External control reset, CLEAR LOG
IC and LOAD BACKUP.
If G130 is active, the rotary axis can be programmed like a normal rotary axis (ROTARY or ENDLESS axis type).
2 119
CC 220/320 M
G functions
Flexible Automation Programming Instructions
G131
With active G131, the rotary axis is turned to the new position in the direction in
>
which the angle of rotation is = 180 before the next path section. The maximum
traversing distance of the rotary axis is 180.
Cutting edge
Cutter
2
a a 2
1 3 1
3
G132
With active G132, the rotary axis is turned to the new position in the direction in
>
which the angle of rotation is =90 before the next path section. The maximum tra
versing distance of the rotary axis is 90.
Cutting edge
Cutter
a 2 2 a
1 1
3
3
Example 1
N100 G1 F1000
N110 X0 Y0 C0 The linear axes and the rotary axis move to zero.
N120 G131 Activation of tangential tool guidance.
N130 X100 Y100 First, the rotary axis moves to 45. Upon completion of this
M30 movement, N130 is executed.
Example 2
N100 G1 F1000
N110 X0 Y0 C0 Linear axes and rotary axis move to zero.
N120 G131 Activation of tangential tool guidance.
N130 G2 X100 Y0 R50 First, the rotary axis moves to +90. Upon completion of this
M30 movement, the N130 circular block is executed. During this ex
ecution the rotary axis moves from +90 to 90.
2 120
CC 220/320 M
G functions
Flexible Automation Programming Instructions
NOTES
The option cannot be used in conjunction with other functions which use the
highspeed outputs of the SERVO board.
With G131, the programmed position of the cutter tip has to correspond to
the position of the rotary axis.
The option cannot be used in conjunction with the cutter radius compensa
tion option.
With active G131/G132, radii of less than 0.5 mm are not permitted in the case
of circular interpolation. If such radii are required all the same, the tangential
tool guidance must first be switched off, the circular block and the rotation of
the rotary axis have to be programmed in a separate block, and then the tan
gential tool guidance has to be switched on again.
Block search
In the case of a block search in which G131/G132 is active, the end points of this
block are traversed to without prior rotation of the tool.
Before traversing to the end points of the next block, correct rotation of the tool
takes place.
2 121
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Function
Using the G functions 145, 245...845 it is possible to activate one out of 8 compen
sation pairs for radius and length compensation.
All values are stored in the CS memory and are predefined by the PLC (application
for instance for multiple compensations with combination tools). During process
ing, the stored values are first divided by the standardization factors defined by the
P6508 machine parameter. The compensation values standardized in this way al
ways refer to the mm unit. In the case of a switchover to inch, the standardized
radius and length compensation values will be divided by 25.4
The overall radius compensation value is made up of the radius compensation val
ue from the tool compensation table (K table) and a maximum of one out of these 8
standardized radius compensation values.
The same applies analogously to the overall length compensation value (tool table
compensation adds to the table tool compensations).
Programming
The calculation of the overall compensation always includes the currently active,
external tool compensation values. If the PLC changes the currently active com
pensation values during execution of a part program, this change becomes only
active for the block being prepared as the next block.
It is thus possible under certain circumstances that up to 12 further blocks are
pending execution without the change.
If the compensation is to be effective directly after the change also for the next NC
block pending execution, the blocks which have already been prepared have to
be prepared again (via "DELETE ACTUAL DATA"). Refer to example 2.
In addition, there is the possibility to use the "WAIT" command to suspend block
preparation directly after the block which caused the PLC to transfer the new com
pensation values until all blocks programmed before "WAIT" have been executed.
Subsequently, the new compensation values are already active in the program
block following "WAIT" (refer to example 3).
G145, G245...G845, G146
operate modally
2 122
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Example 1:
.
G0 X0 Y0 Z0
H0 Table length compensation off
G146 External tool compensation off
G1
H1 Table length compensation 1 on
X10 Y10 Z10 Traversing movement with table length compensation 1
G145 External tool compensation 145 on
X20 Y20 Z20 Traverse with table length compensation 1 plus
tool compensation 145
G345 External tool compensation 145 off and 345 on
X30 Y30 Z30 Traverse with table length compensation 1 plus
tool compensation 345
H0 Table length compensation off
X40 Y40 Z40 Traverse with external tool compensation 345
G146 External tool compensation off
X0 Y0 Z0 Traverse without compensation
.
Example 2:
.
G145 External tool compensation 145 is activated
.
M.. The M function causes the PLC to execute the following cycle:
1. Transfer new compensation values.
2. Send signal for "Feed hold" to CNC.
3. Send signal for "DELETE ACTUAL DATA" to the CNC.
4. Send acknowledgement for endofcycle to CNC (the CNC
interprets this acknowledgement as the end of execution of the
block or "Subroutine" M...).
"FEED HOLD" followed by "DELETE ACTUAL DATA" involves that blocks which fol
low the "M..." block in the part program and have already been prepared will be
prepared again with the new compensation values.
Example 3:
.
G145 External tool compensation 145 is activated
.
M... The M function causes the PLC to execute the following cycle:
1. Transfer new compensation values.
2. Send acknowledgement for endofcycle to CNC (the CNC
interprets this acknowledgement as the end of execution of the
block or "Subroutine" M...).
10 WAIT Block preparation is stopped until M... has been executed.
2 123
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Activation/deactivation
Each one of the total of 8 compensation pairs can be activated with G145 to G845.
G146 switches the external tool compensation off.
The powerup state can be defined via the P3011 machine parameter.
The external tool compensation values stored in the CS memory are overwritten
with the value of "0" or initialized only by "LOAD BACKUP".
Reset or Clear logic does not change the stored tool compensation values.
NOTES
G(1)45 to G(8)45 is only possible in conjunction with PC 600 word coupling.
G(1)45 to G(8)45 overwrite each other mutually.
2 124
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Application
The oscillation or reciprocation of an axis and the infeed of another axis are the pre
conditions for surface grinding.
Function
The option permits an asynchronous axis to reciprocate between two preset end
points (I, J) at a specific speed (F).
The axis to be used as reciprocating axis is defined in the P6511 machine parame
ter.
As long as the machine position is located within a programmed range (2 * K)
around the left or right end point, the "REVERS. RANGE REACHED" signal at the
CNC interface (O16.7) is HIGH. Within the PLC, this IF signal can be used for link
age for the infeed of a synchronous axis.
K K
I J
Direction
Programming
G994:
G994 is the powerup state and means that the reciprocating movement is
switched off. If reciprocating movement was active before, the axis will move to the
next reversal point and remains there.
G994 is active after Control reset, Clear logic or "Load Backup".
With active G994 the asynchronous reciprocating axis can be programmed like a
normal asynchronous axis.
G994 is programmed alone in one block.
G993:
G993 activates the reciprocating movement. The function may only be pro
grammed when the axis is stationary.
M30 or operating mode change do not deactivate G993.
G993 must always be programmed together with the 4 addresses I, J, K and F:
G993
I... J... K... F...
I = 1st reversal point
J = 2nd reversal point
K = Reversal range
F = Speed of the reciprocating axis
All addresses used can be parameterized. The feedrate potentiometer is taken into
consideration in relation to the reciprocating speed.
G993 must not be programmed together with other G functions in the same block.
2 125
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Example
N100 G993 I200.0 J300.0 K10.0 F2000.0
The axis reciprocates at 2000 mm/min between the first reversal point at 200.0mm
and the second reversal point at 300.0 mm.
When the axis is located within 10.0 mm from the first and second reversal point,
the control issues a HIGH signal at the NC interface (O16.7).
NOTES
With active G993, the axis must not be traversed in jog mode.
2 126
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Function, action
This function enables exact tapping. This function performs an internal synchro
nization between the linear interpolation of the tapping axis and the spindle rota
tion. This means that a compensation chuck taking up the revolution difference be
tween the tapping axis and the spindle is not required.
Programming
Programming is done via the blockwise operative G32 G function.
The resulting feedrate of the respective tapping axis/axes, the spindle speed and
the sense of the spindle rotation have to be programmed. The thread pitch results
from the relation between path feed/rpm. The permissible pitch values extend be
tween 0.001 mm/rev. and 1000 mm/rev. During tapping, the interface signal 16.5 is
output. During tapping, only the spindle potentiometer is active.
Please note !
With G32, the feedrate (F word) and the number of revolutions (S word) of the re
spective tapping axis must always be programmed. F/S = thread pitch; S =
spindle speed during tapping. F, M and S only act within the G32 block.
Preconditions
The option can only be activated in conjunction with the 6i servo board.
The spindle and all tapping axes must be applied on a servo board.
Prior to the start of tapping, the system internally waits for "INPOS" of all axes
involved. If an axis drifts out of its inpos range, tapping is not started. The ac
tive inpos ranges are entered in MP 1508 for the tapping axis, and in MP 7012
for the spindle.
Therefore the closedloop spindleposition control must be closed prior to
the execution of tapping (programming of M5 or M19).
2 127
CC 220/320 M
G functions
Flexible Automation Programming Instructions
A spindle with feedback (MP 7018) and closedloop position control (MP
7002) must be applied. These conditions are verified when the machine pa
rameters are taken over if the application bit is set.
For the spindle, the gearrange dependent KV values and the command ac
celeration have to be defined in the machine parameter group 7200.
For each tapping axis, the velocity and acceleration coefficients (feed for
ward control) have to be adjusted in such a way that the lag is minimized.
Please note !
G32 must not programmed with active cutter radius compensation. Otherwise the
error message "G address with G41/42 not permitted" will occur.
Please note !
Set values
Feed forward velocity coefficient MP 1050
Feed forward acceleration coefficient MP 320
Technology parameters
F = 800 S = 400 for M16 pitch = 2
F = 900 S = 640 for M10 pitch = 1.5
F = 1260 S = 1800 for M4 pitch = 0.7
2 128
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Function, action
With spline interpolation, programmed axis positions are calculated as check
points, and the resulting path is represented by piecewise defined 2nddegree
polynomial arcs (parabolic curves). The combination of the checkpoints with
spline function makes it possible to represent largely arbitrary patterns which de
pend only on these points.
Spline interpolation
Smooth curve shape with only
few support points.
K1
K3
Programming
Activate
You program the spline interpolation with the modally acting G101 G func
tion.
Deactivate
By programming G102 with active spline interpolation, the subsequent
checkpoint is approached as end point of the related parabolic curve. If the
interpolation type is not deactivated, it behaves like after programming G101.
2 129
CC 220/320 M
G functions
Flexible Automation Programming Instructions
In the example, the programmed checkpoints (1. to 5.) are linked piecewise to each
other by parabolic curves (2nddegree polynomial arcs).
The starting and end points S0 to S3 coincide at the beginning and, after program
ming G102, at the checkpoints. The remaining respective end points are deter
mined by the center point of the distance between two successive checkpoints.
In the end points, the direction or tangent, respectively, of the overall curve is identi
cal to the connecting line between the successive checkpoints.
By an appropriate selection of the checkpoints it is possible to represent particular
properties such as straightline sections or corners as parts of the curve.
The position reached or programmed prior to activation is the first checkpoint used
for the internal calculation.
A traverse movement of the axes is only performed after at least three checkpoints
are present for internal calculation. After, or including, the block containing the acti
vating G function, at least two blocks have to programmed with synchronous axes
before the first axis movement is performed in this interpolation.
At the beginning of the interpolation, at least one block is executed without axis
movement, despite the fact that a synchronous axis is programmed in it. (One
checkpoint is still missing!). Subsequently, a traverse movement will take place
with every block containing programmed synchronous axes. The shape is deter
mined by the last three programmed positions.
The interpolating axes are each determined by the axis addresses programmed in
the two last relevant blocks.
Control reset.
Programming M2 or M30.
Program cancellation.
2 130
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Restrictions
With active spline interpolation the following functions are only possible with cer
tain restrictions:
G70, G71 Inch/metric switchover is not permitted with
active spline interpolation.
G93, G94, G95 Depending on the maximum curvature of the
current spline block, an internal reduction
factor is included in the max. feedrate.
No supervision is performed:
G130, G131, G132 Tangential tool guidance
The following functions are not possible with active spline interpolation and/or will
cause an error message:
G4, G104 Dwelltime programming
G8, G108, G109, G110 Path slope
G14 KV programming
G16 KV measurement
G22 P, Q subroutine call
G28, G128 Corner deceleration
G41, G42 Cutter path compensation
G46, G47, G48 Tool orientation
G143, G144, .... G844 Paraxial compensation
G64 Feed compensation
G68 Contour transitions
G74, G174, G274 Traverse to reference point
G75 Measuring probe input
G76 Approach fixed machine axis position
G81, G82, .... G86 Working cycles
G.... Userdefined G functions
G92 Set actual value
G115 Feed forward velocity control
G145 Tool table compensation
G890, G892, G894, G992 Laser power control
2 131
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming
G114
For all synchronous axes, the speed coefficient factors in MPP 1016 and the ac
celeration coefficient factors in MPP 1017 are activated.
In addition, instead of the 1001, 1002 and 1007 parameters (nominal KV, slope ac
celeration and step change), the 1020 to 1022 parameters are used (refer to Ma
chine parameter manual).
If G114 is programmed with active G6 or G14, the KV or slope values will not yet be
changed at this time! The values (P1020, P1021) for KV and slope stored in the ma
chine parameters become only active after G7 or G15, respectively. See also G6
and G14!
G114 X0 Y0
The velocity and acceleration coefficients for the programmed axes (X, Y) are de
leted.
G115
The feed forward control is deleted for all axes. The function is deactivated.
2 132
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Please note !
If lagfree machining is intended, the slope points for automatic mode MP 1003
have to be 0.
For sloped movements, for which the preset axis acceleration is monitored in the
block preparation, the feed forward control will result in excessive acceleration val
ues. The excess value depends on the programmed coefficients. This can be
avoided by using G6 to program correspondingly lower acceleration values.
2 133
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Application, action
Owing to the freely programmable structure, the contourdependent feedrate
override offers you a variety of possibilities to modify the speed profile of machining
in such a way that optimal machining results and times are realized. The strategy
parameters are stored in the machine parameter program (P 6800 Look ahead).
You program a required strategy via G functions.
You take into account the block cycle time of the control.
Owing to the dynamic lookahead range over 10 program blocks, and depending
on programming, the speed at the block transitions is lowered only to the extent
required for the programmed contour; the speed may even remain constant. Ow
ing to the dynamic lookahead range, this function makes it in particular possible
to implement an acceleration or deceleration over several blocks.
Benefits of the contourdependent feedrate override
Shorter machining time owing to smaller number of slopedown opera
tions within the part program.
High feedrates even with short traversing blocks, since the enhanced
lookahead range enables an automatic acceleration over several blocks.
N10 X0 Y100 F4000 N10 X0 Y100 F4000 G8 N10 X0 Y100 F4000 G108
N20 X1 N20 X1 N20 X1
N30 X2 N30 X2 N30 X2
N40 X12 N40 X12 N40 X12
M30 M30 M30
V V V
4m/
min
2 134
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Preconditions
The contourdependent feedrate override operates with the following interpola
tors: G0, G1, G2, G3, G5, G10, G11, G12, G13, G73.
Please note!
The contourdependent feedrate override is not active with programmed G95
feedrate in mm/rev.
For the contourdependent feedrate override, the programmed G0, G10, G73 and
G61 G functions represent the conclusion of a coherent segment (coherent seg
ment = machining cycle).
In blocks without traverse movement the feedrate is zero. Therefore, all blocks with
out threshold value are located outside the segment. The same applies also to in
ternally generated blocks without traverse movement.
If an auxiliary function with transfer stop (MPP 2002) is programmed, a slowdown
to zero is performed at the end of the preceding block.
With G9, the contourdependent feedrate reduction is switched off. The G9 block
is located outside the cycle. At the block end of the preceding block the feedrate is
zero.
Short blocks
A block length includes at least one interpolation step (sample). The max. possible
feedrate results from the interpolation time and the distance of the block, according
to the following relation:
Max. feedrate = Distance/time
In particular in the case of very short blocks, the internally determined feedrate can
be smaller than the programmed feedrate.
2 135
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Programming
To program the contourdependent feedrate override, you can optionally use the
G8, G108, G109 or G110 G function.
The action of the G codes are planned via the "P 6800 Contourdependent fee
drate override (Look ahead)" machine parameters. Therein you define the effects
for the respective G code:
Strategy of block transition speed
Constant block transition speed
Block transition speed in dependence on max. step change
Programmed block transition speed
By entering a minimum buffer distance, you can influence especially the speed
profile in the starting phase of a machining cycle for each strategy.
Further information and details for the parameterization of the machine parameters
are contained in the CC 220 Machine parameters manual, P.No. 4201, or
CC320 M Machine parameters, P.No. 4180 P 6800 Look ahead .
2 136
CC 220/320 M
G functions
Flexible Automation Programming Instructions
X V
N110
N100
N120
N100 N110 N120
Z t
.
N100 Z70 X80 F6000 G108 G108 = Constant block
N110 Z100 transition speed
N120 X20
.
2 137
CC 220/320 M
G functions
Flexible Automation Programming Instructions
X V
N110
N100
N120
2 138
CC 220/320 M
G functions
Flexible Automation Programming Instructions
The programmed end speed applies only blockwise. Therefore, it is only valid for
one block transition.
Feedrate contour
Programmed contour Vt diagram
X V
N110
N100
N120
Depending on the defined strategy (MPP 6801), the control internally calculates
the required block transition speed. This speed is compared to the programmed
speed. The speed can be monitored in dependence on the entry in MPP 6802.
Monitoring is different in two cases of application:
You program a feedrate smaller than the one internally calculated for the strategy:
All monitoring functions specified in the underlying strategy are observed.
You may therefore always program a lower speed.
You program a feedrate greater than the one internally calculated for the strategy:
All monitoring functions specified in the underlying strategy are cancelled.
2 139
CC 220/320 M
G functions
Flexible Automation Programming Instructions
2 140
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Feedrate contour
Vt diagram
Feedrate contour
Vt diagram
In the following cases execution starts even before the minimum buffer distance is
reached:
10 blocks have already been prepared.
The cycle/program end has been reached.
2 141
CC 220/320 M
G functions
Flexible Automation Programming Instructions
MPP 6804: 1
The speed drops are prevented by an automatic reduction of the max. feedrate in
the respective blocks. Block by block, the feedrate is lowered to such an extent that
the execution time of the blocks is at least as long as the block cycle time.
No speed reduction
2 142
CC 220/320 M
G functions
Flexible Automation Programming Instructions
No speed reduction
MPP 6804: 0
Internally, the block cycle time is not monitored.
MPP 6804: 2
The strategy takes into account the buffering between block preparation and block
execution.
The buffering is not taken into account if further information is to be programmed in
addition to the end points of the synchronous axes, e.g.:
the block contains a new G code
The feedrate will then be reduced according to the "Speed reduction depending on
block cycle time" strategy.
If the buffering has not been cancelled (only axis information has been pro
grammed), the buffer between block preparation and block conditioning will only
be executed if:
blocks are shorter than the block cycle time
Owing to the lookahead range, the blocks are always provided with a decelera
tion phase at the end of the prepared distance. When the existing buffer range is
being executed, the deceleration phase of the blocks just prepared will occur at the
end. Normal acceleration is not exceeded.
When a new block is being prepared, the deceleration profile of the active block
cannot be changed any more. The lookahead range starts with the next block.
The deceleration profile is determined accordingly. Until the minimum buffer dis
tance stored in MPP 6803 is reached, no acceleration occurs. The maximum speed
of the blocks is limited to the final speed of the currently active block. This limitation
is only cancelled as soon as the minimum buffer distance is reached. This causes
the speed profile to become smoothed.
2 143
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Extension factor of the block cycle time with programmed auxiliary functions
MPP 6806: Extension factor of the block cycle time with programmed auxiliary
functions
With blocks containing "Auxiliary function output without transfer stop", the ac
knowledgement time of the auxiliary function has to be taken into account in addi
tion to the block cycle time. Considering that the acknowledgement time is user
specific, the extension time can be underlaid for each G function. The max. execu
tion time of the blocks is then at least "Block cycle time + entry in MPP 6806".
2 144
CC 220/320 M
G functions
Flexible Automation Programming Instructions
General
In the MACHINE mode, the "Record workpiece zero point" function is available.
The values determined there can in addition to any zero offset table also be
stored in the workpiece zero point memory.
In the case of repeated recording of a workpiece zero point in the workpiece zero
point memory, the new values are added each to the already existing values.
Values stored in the workpiece zero point memory are not lost even if the control is
switched off.
The P3014 machine parameter can be used to define the powerup state G51 or
G52.
The powerup state applies after: switching on the CNC and CLEAR LOGIC.
The last programmed G function (G51/G52) remains active even after M30 or pro
gram cancellation. Control reset does not change the state of G51/G52 last pro
grammed.
After "Load backup", G51 is active. Previous values contained in the workpiece
zero point memory are then deleted.
G52 activates the shift values contained in the workpiece zero point memory.
G51 deactivates the function. The workpiece zero shift values remain stored.
Each of the G()54 G()59, G60 and G160 G functions is based on G52 (i.e. acts
additively) and is deactivated as soon as G51 or G52 is programmed.
If G52 is the powerup state, and if a shift value is contained in the workpiece zero
memory, the value becomes immediately active in the respective axis after "Tra
verse to reference point".
Programming
G52
(without axis information) The shift values contained in the workpiece zero point
memory are activated.
G52 X10 Y20 Z30
(with axis information) The programmed axis values are entered in the workpiece
zero point memory and activated as new values. Previously stored values are over
written. The programmed value corresponds to the new axis position.
G52 Y15
If G51 was active before: Y value is written into the workpiece zero point
memory (old Y value is overwritten).
Subsequently the "Workpiece zero shift" function
becomes active.
If G52 was active before: Only the workpiece zeropoint position of the Y
axis changes.
G51
Cancels the activity of G52. The workpiece zero shift values last active remain
stored and can be reactivated by G52.
2 145
CC 220/320 M
G functions
Flexible Automation Programming Instructions
NOTES!
If the "Workpiece zero shift" function is applied, the "ZERO AXES" softkey is
no longer offered.
G52 can only be programmed if no G92 shift (set actual value) is active.
The FXC CPL function can be used for read and write access to the workpiece
zero point memory (write access enabled only with active G51).
2 146
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Function, action
The linking of axes option is an option of the CC220/320 controls that is worth
money.
The linked axes are defined in machine parameter P124. A maximum of 2 axis pairs
can be defined. For further instructions see the "Machine Parameters CC 320 M"
manual P.No. 4180.
When linking is active, the linked axis (slave) is traversed together with the moving
axis (master). It must be noted that the address of the slave axis must not be pro
grammed when linking is active.
When unlinked, both axes can be traversed as usual by programming the axis ad
dresses.
Notes, remarks
Go block
Within Go block, linking is considered in the calculation, i.e., in the end of the cal
culation run the end position of the master axis is traversed to if linking is active at
that time. If linking is not active, the last position of the slave axis is traversed to re
gardless of whether this position was programmed by linked or direct addressing.
2 147
CC 220/320 M
G functions
Flexible Automation Programming Instructions
Zero offsets
If a zero offset of the master axis is active when linking is activated, this zero offset is
transferred to the slave axis. The end points of both axes are identical with respect
to the machine coordinates.
Program value display
The program value of the master axis is taken over for the slave axis although this
axis has not been programmed.
Monitoring
The axes are monitored individually within the scope of lag monitoring. The dis
tance between the linked axes is not verified.
Axis dynamics
The values programmed for the individual axes in the MPP are applicable. The dy
namics of the slave axis must be equal to or higher than that of the master axis.
Programming
2 148
CC 220/320 M
Auxiliary and supplementary functions
Flexible Automation Programming Instructions
Feedrate Address F
The feedrate of the control can be programmed in three different ways to be se
lected via corresponding preparatory functions.
The F format and a feedrate limitation (max. programmable path feed) can be pro
grammed via machine parameters.
DWELL TIME
ADDRESS F
The CC 220/320 M system offers two methods of dwell time programming which
are to be called via corresponding preparatory functions.
31
CC 220/320 M
Auxiliary and supplementary functions
Flexible Automation Programming Instructions
Definition
The speed of the spindle is selected directly via the S word in rpm; format: 5.1, the
digit after the decimal point does not have to be written.
Action
The S word acts modally.
The S value is NCinternally set to "0" at the end of the program (M2/M30) or on
Control reset.
Therefore, it has to be reprogrammed at the program start.
NOTES!
The spindle speeds can also be limited by corresponding programming
(G192, G292).
In the "Overall lockout" test mode or single lockout of the spindle no setpoint
is issued for the spindle. The position servo loop is not cancelled by program
ming M3 or M4. G95, G33 and G104 are possible.
M3 Spindle CW
M4 Spindle CCW
M5 Spindle STOP
M3/M13 and M4/M14 can be written together with the S word in one block.
Coolant ON has to be evaluated and triggered by the PLC logic.
32
CC 220/320 M
Auxiliary and supplementary functions
Flexible Automation Programming Instructions
M codes Address M
Definition
Output signals can be generated via the M address.
The user can use any M function evaluated by the machine.
Subroutine call
In addition to 32 G functions, the MP program permits the assignment of 16 M func
tions plus 8 switching functions (address freely selectable) used to call a subrou
tine (P number).
Only the G functions act modally.
Programming
In principle, only one subroutine call by G, M or auxiliary functions may be con
tained within one block. In addition, in the case of several identical addresses one
of which calls a subroutine, it has to be ensured that programming is performed at
the end of the address sequence.
Example:
M6 calls subroutine
N500 M3 S500 M6 (o.k.)
N500 M M3 500 (RUN TIME ERROR IN BLOCK)
NOTE!
The M function output with "GO BLOCK" is controlled in dependence on the P2010
machine parameter.
If "2" is assigned to P2010 (output last auxiliary function), the M3, M13, M4, M14 M
functions and the "Programmable spindle orientation" function are stored, with the
last programmed function of this group being executed and output via interface.
Subsequently, the last programmed, or automatically determined, gearrange M
code is output via interface.
33
CC 220/320 M
Auxiliary and supplementary functions
Flexible Automation Programming Instructions
M3 Spindle CW
M4 Spindle CCW
M5 Spindle stop
The spindle speed and the gear range remain internally stored. With closed
loop positional control of the spindle, M5 closes the control loop from a speci
fic speed of rotation. With openloop control of the spindle, the CNC issues 0
volt at the relevant output after M5.
The M0, M1, M2, M30 functions must be written separately in a block of their
own.
34
CC 220/320 M
Auxiliary and supplementary functions
Flexible Automation Programming Instructions
Definition
This function is provided to position the spindle to a desired position, for instance to
meet the preconditions for a tool change or certain technological applications (re
traction movement with stationary tool).
The M code can be changed via machine parameter 7013.
Programming
M19 can be programmed on its own or together with other M functions (except for
NCinternal functions) not from the same group.
If several M functions are programmed, they are executed, or activated, according
to their programmed sequence.
M19 can be programmed with or without an S word in one block.
If programmed on its own, the spindle is positioned to the 0 mark or to a position
defined by P7028 (reference point offset). If an additional S word has been pro
grammed after the M code for "Spindle orientation", the orientation can be per
formed for any position. In this case P7033 defines the upper limit value of this posi
tion in the M3 direction.
35
CC 220/320 M
Auxiliary and supplementary functions
Flexible Automation Programming Instructions
Particularity at the
program end
M2/M30 aborts a running spindleorientation process. For this reason the pro
gram has to ensure that the orientation process is completed in time.
Explanatory example
N499 X400 Y500 M19
N500 Z0 permitted
N501 M30
36
CC 220/320 M
Auxiliary and supplementary functions
Flexible Automation Programming Instructions
A gearrange code does not need to be programmed in the part program, since it
is normally detected automatically.
Should programing be necessary despite the automatic recognition, M41 to M48
(gear ranges 18) is to be programmed (it is possible to assign different M codes
to the individual gear ranges; refer to MP 7017).
If a speed is programmed which cannot be reached in the selected range, the min.
and max. speed for the range under concern is output.
M40 should be written once at the start of the program.
Automatic selection
With active M40 (M code can be changed), the control itself selects the gear range
according to the following criteria:
Speed output 1 to 99999 rpm (note the range limited by the specific type of
machine)
If gear ranges overlap, the lower range will be selected (with higher motor
speed).
If a gear range is preset via M code the automatic gearrange selection is deacti
vated.
The automatic gearrange selection can be determined as powerup state via
MP 7031.
NOTES!
P7034 has to be noted in case of a tool change. This defines whether the
change will be initiated via idling or "Spindle orientation".
The machine parameter 7037 can be used to define whether the reference
point is to be deleted after a gearrange change. After deletion, the 0 marker
(reference point) must be sought again.
37
CC 220/320 M
Auxiliary and supplementary functions
Flexible Automation Programming Instructions
Action
The minimum word length for programming the T word depends on machine pa
rameter 9020.
The T word may be programmed with variable word length with 1 to 8 digits. (Refer
to the programming instructions of the machinetool manufacturer.)
The machineparameter group 2000 has to be noted or set for the output of the T
word at the CNC interface.
The T word last programmed is displayed under the "Diagnostic" group operating
mode.
NOTES!
M6 causes the actual tool change between the previously sought tool and the
spindle tool.
For tool change, also refer to the Planning Manual "Standard tool management",
P.No. 3898.
Programming
The programming mode depends on the tool management logic.
Example:
38
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
Tool compensation
Definition
Tool compensation serves to permit the same workpiece to be machined with dif
ferent tool sizes via the same part program.
F
L (T)
S
G42
41
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
Length compensation
Action
Tool length compensation becomes active by calling the H word. It is assigned as a
standard to the axis defined in parameter P6507 (also refer to G78/G79).
It acts modally and can only be cancelled by a call of a new length compensation,
or by programming H0.
Length compensation becomes active with the next position data of the length
compensation axis after calling the H word, i.e. the H word alone does not cause
any traversing movement.
With active G90, the length compensation is added to or subtracted from each new
programmed displacement of the compensation axis, dependent on the sign of the
compensation value.
With active G91, the compensation value is added to, or subtracted from, the first
displacement of the compensation axis.
Programming
The H word may be programmed alone or with other information in one block.
When changing the compensation number, it may be overwritten directly, or can
celled by H0 and a displacement of the length compensation axis.
Example:
NOTE!
When using the PC 600 tool management (precondition: word coupling CNC
PLC), the length compensation of the respective tool is automatically activated if
G145 is activated.
In this case, an additional H value acts additively.
42
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
In a clockwise coordinate system, the signs of the tool length compensation have
to be entered as follows in the compensation table.
Example:
Z
80
70
60
50
40
30
2
20 1
3
10
+X
10 20 30 40 50 60 70 80 90 100 110 120 130 140
In the above example, the lengths of the drill bits used differ from the pro
grammed drill bit length
If the drill bit is too long, a positive compensation value is stored as the Z value
in the length compensation table
If the drill bit is too short, a negative compensation value is stored as the Z
value in the length compensation table
43
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
Radius compensation
Action
The tool radius compensation is activated by calling the D word in conjunction with
G41/G42.
The G17/G18/G19/G20 plane selection is used to define the plane in which circular
interpolation, or radius compensation, is to be performed.
The compensation value becomes only active after the next linear traversing infor
mation for the compensated axes. The same applies to the cancellation of the com
pensation value.
The radius compensation values are interpreted as a deviation from a cutter radius
assumed while programming the part program. The value is used with the unit of
measurement of the main axis at the plane that is active when compensation is acti
vated in block preparation.
Programming
The D word can be programmed alone or together with other information within
one block.
When changing a compensation value, the new value becomes active or cancelled
by programming G40.
Example:
NOTE!
If the tool table is being used (precondition: word coupling CNCPLC), radius
compensation of the respective tool is automatically activated if G145 is active.
In this case, an additional D value acts additively.
44
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
Tool table
Action
In conjunction with the tool table (option), the appropriate compensation values
(length/radius) are automatically provided and computed if the tool (T word) is pro
grammed and the tool change has been completed (M6), provided G145 is ac
tive.
In this case, the H or D word (e.g. in a separate C table) does no longer need to be
programmed.
The T word has 8 digits, only 7 of which are programmed. The 8th digit is used to
identify the replacement tool.
For special applications, the H and D word may still be programmed. When used,
the programmed H and D compensation is added to the compensation contained
in the tool table.
Programming
N100 G17 G1 G41 X...Y...F...T...
Related compensation value
is stored in the tool table
The compensation value is provided by the PLC to the CNC and computed after
each tool change (tool in spindle after M6).
NOTE!
The programming instructions of the machine tool builder have to be observed,
since the method of programming depends on the machine design.
45
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
46
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
Start point
In many cases the contour cannot be traversed to directly from the tool change
point; i.e. the movement is started from an intermediate position (start point).
The selection of a suitable start point can avoid damage to the contour. During this
movement, the compensation values are built up linearly.
If possible, the start point should enable tangential traversing to the contour, or
should at least be located in such a way that no axis will reverse its direction at the
first contour point (relief cutting).
Start of contour
A linear edge of the workpiece should be selected as contour start; otherwise, a
linear intermediate positioning (at least three increments) has to be performed.
Compensation call
Each compensation call has to be made in a linear operating mode (G0, G1, G10,
G11, G61). The block immediately following the call (G40, G41, G42) must also be
linear (only if G40/G41/G42 has been programmed without traversing movement).
N1 G1 Z10 F100
P1 N2 X0 Y0
P2 N3 X2 F200
P3 N4 G2 Y20 R10
P4 N5 G1 X10
N6 X0 Y0
P4 P3
X N7 M2
Calling a compensation with positioning only for the axis/axes in which the com
pensation is active:
When a radius compensation is called, the control builds up the distance to the pro
grammed contour in a linear traversing movement. The equidistant line begins ver
tically above the start point of the first path section for which the compensation is to
be effective.
47
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
S2
S1
1 1
P1 P1
4 4
S4
1 1
P1 P1
S3
4 4
S1S4 The compensation value is built up linearly from the start point to P1. The
contour is always completely machined without contour damage.
S2 Good contour entry, start point can also be used as end point.
S3 Lowest possible start points without collision, allowing for the path of the
4 1
contour !
1
S4 Relief cutting at owing to directional change!
S
E
N1 G0 Z10 T01
1
N2 G1 X20 Y20 F200
N3 G41 X0 Y0 S500 M3
N4 X20
4 N5 G2 Y20 R20
2 N6 G1 X10
N7 X0 Y0
N8 G40 X20 Y20
N9 Z300 T00
3 N10 M2
48
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
The following examples illustrate the effect of tool compensation, such as genera
tion of compensatory arcs (external) and calculation of bisectors (internal).
i i
i
i
a
i a 2
2
t t
t
i
i
Irregular transitions
i
i
t
i
49
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
Angular change 0 to 90
Programming Execution
Angular change 0 to 90
Programming Execution
Programming Execution
4 10
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
Examples
The tool radius compensation value was stored in the technology table as an R
value.
N1 G1 F200
+Y N2 G41 X125 Y60
P10 P0 N3 Y50
80 N4 X105 Y40
P8 P9
N5 X90
70
N6 G5 X75 Y25
60 P6 P11
N7 G1 Y20
P1 N8 X25
50 N9 Y60
P3 P2
N10 X45 Y80
40
N11 X70
30 P4 N12 G3 X100 R15
P6 P5 N13 G1 X125 Y60
20 P12
N14 Y50
N15 G40 Y20
10
N16 M2
+X
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160
N2 G42 F300
+Y N3 G1 X115 Y50
P11 N4 G5 X130 Y35
80 P12
N5 G1 Y20
P9 P10
N6 X55
70 P8 N7 Y30
60
P13 N8 X40
P14 N9 G5 X25 Y45
50 N10 G1 Y70
P1
P7 N11 X40
40 P0
N12 G3 X70 R15
P2
30 N13 G1 X100 Y80
P6 N14 X140
P5
20 P3 N15 Y60
P4 N16 X115
10
N17 Y50
+X N18 G40 Y35
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 N19 M2
4 11
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
End point
As a rule, the tool change point is not directly traversed to from the contour, but
rather via an intermediate position (end point).
The selection of a suitable end point prevents contour damage, and the length
compensation can be cancelled between the end point and the tool change point
(cancellation of the compensation is performed linearly).
Wherever possible, the end point should permit a tangential contour exit with active
radius compensation.
It should be located in a position where possible relief cutting owing to a directional
change is excluded during withdrawal from the contour.
End of contour
A linear section of the contour should be selected. Otherwise, a brief linear posi
tioning movement beyond the end of the contour has to be inserted (3 increments
min.).
If, at the end of a G40 main program, programming does not include any traversing
movement, the control will correct the current position to a point which is located on
the normal line extending through the end point of the last programmed element
ahead of G40 and which has the compensation radius as distance.
Deactivation of
compensation
Each deactivation of compensation has to be made in a linear operating mode (G0,
G1, G10, G11, G73).
The selection of end points is subject to the same analogous rules as the selection
of the start point (refer to contour entry).
The optimum exit is a direct extension of the contour last machined (by analogy
with start point 1).
The start point and end point differ in this case.
It is also possible to select a common start and end point (such as S2).
tangential exit from the contour with G1 (e.g. only X and Y are programmed)
G40 with X/Y movement as an extension of the last movement (e.g. program
X/Y only)
end of program
4 12
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
When collision monitoring is active, not all programmed contour elements are ma
chined if the acting tool radius does not permit machining.
A B A B
A B A B
Collision areas
NOTE!
If, because of the geometrical conditions, it is impossible to machine more than
one contour element, the control interrupts machining with an error message.
4 13
CC 220/320 M
Tool compensation
Flexible Automation Programming Instructions
Outside corners
a a
Step tool radius smaller than or Execution with G68 Execution with G69
equal to contour element
If, with active G69, the tool radius is greater than the smallest contour element, an error message will be issued if
collision monitoring is activated.
4 14
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
In the CC 220/320 M, 2 types of rotary axes are available, which can be defined for
the respective axis address in machine parameter 107:
NOTE!
G functions do not act on asynchronous axes!
Example 1:
Difference between synchronous/asynchronous rotary axis:
synchronous: N100 X200 Y400 B60 F200 The X, Y and B axes reach the
programmed end position at
the same time.
asynchronous: N100 X200 Y400 B60 F200 The B axis does not necessarily
reach the programmed end
position simultaneously with X
and Y.
insignificant digits after the decimal point do not have to be entered in the
case of decimal point programming.
51
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
Example 2:
Difference between ROTARY/ENDLESS axis types (G90 active)
ROTARY ENDLESS
N100 B60 Axis moves to 60 As for "ROTARY" type
N101 B360 Axis moves by 300 to 360 Axis moves by 300 to 360
Actual position = 360 Actual position = 0
N104 B370 Axis moves by 100 to 370 Axis moves by 100 to 370
Actual position = 370 Actual position = 10
A possibly active G91 is inoperable for the first programming method (search
logic).
1080
720
360 730
0 370
350 10 380
20
+
990 460 270 90 450 810
180
540
900
52
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
Search logic
The search logic means that the programmed position is always traversed to on the
shortest path (referred to the unit circle). This results in a maximum traversing path
of 180.
The actual position, for instance, is 350. 10 are preset as command position.
Physically seen, this position is more than once present in the case of a rotary axis
(10, 370, 730, 1090 etc.). The search logic now selects the physical position
with the shortest distance to the actual position as the command position i.e. in
this case 370.
A "" sign, if programmed, will be ignored by the control.
Sign
The direction in which the set position is traversed to exclusively depends on the
programmed sign. The maximum traversing path is 360. If a negative sign is pro
grammed, the axis traverses to the set position in negative direction, with a pro
grammed positive sign it travels in the positive direction (a positive sign need not be
programmed).
For instance, the actual position is 730. The value of "20" is programmed. Physi
cally seen, this position occurs more than once on a rotary axis (20, 380, 740,
1100 etc.). The axis now traverses in the negative direction to the position corre
sponding to 20 in this case to 380. Programming "0" is not permitted.
"360" can be programmed instead.
Normal
For programming, this axis type behaves like a normal rotary axis. Here, the con
version between 0 and 360 depends on machine parameter 107 (ROTARY, END
LESS). Both G90 as well as G91 are active.
Example:
Difference between search logic / sign / normal
(Actual position 350; P107 = ROTARY; G90 active)
N100 A10 by 20 to 370 (pos. direct.) by 20 to 370 (pos. direct.) by 340 to 10 (neg. direct.)
or N100 A10 as for "A10" (sign is ignored) by 340 to 10 (neg. direct.) by 360 to 10 (neg. direct.)
or N100 A180 by 170 to 180 (neg. direct.) by 190 to 540 (pos. direct.) by 170 to 180 (neg. direct.)
or N100 A370 by 20 to 370 (pos. direct.) by 340 to 10 (neg. direct.) by 720 to 370 (neg. direct.)
or N100 A350 no axis movement no axis movement no axis movement
or N100 A710 no axis movement no axis movement by 1060 to 710 (neg. direct.)
53
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
Definition
Positioning axes are rotary axes (ROTARY or ENDLESS axis type) which may take
part in interpolation, but may only traverse to certain permitted positions. As a rule,
they are not applied as asynchronous axes, since they represent e.g. tool
changer axes, tool axes or axes with serration, and consequently no path interpola
tion is required.
On principle, programs for Hirth axes can also be executed in controls with interpo
lating rotary axes.
With the CC220/320, the question as to whether a rotary axis should be pro
grammed as a Hirth axis can be defined in the P108 machine parameter.
The resolution of the positions to be traversed to can be as high as 0.001 degree.
Particularities
If a rotary axis is specified as a Hirth axis, a number of particularities has to be ob
served:
The reference point and the limit switch must lie on the Hirth grid.
If positions outside the Hirth grid are programmed, a machine parameter (P120)
can be used to decide whether the control is to output a runtime error or whether
the respective axis is to move automatically to the next possible position without
runtime error.
54
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
Programming in positions
Example:
Tool magazine (asynchronous axis: A).
The magazine is subdivided into 12 positions (P108 = 12).
Position programming has been activated (P110 = YES).
The Hirth programming mode (P111) is defined as "sign determines direction"
(P111 = 2).
If, for instance, P108 = 12 is defined, this means that the 60 position is traversed to
if e.g. position number 2 (e.g. N100 A2) is programmed.
Display
The display mode for positioning axes in the CC220/320 M can be influenced by
two machine parameters irrespective of the programming mode:
P117: Modulo display under the MACHINE operating mode
P119: Position display under AUTOMATIC and MANUAL INPUT
For further details, please refer to the corresponding sections of the "Machine pa
rameters" manual (P.No. 3855).
Zero offsets
It is possible to use G53 G59, G153 G159, G253 G259, G60. The value pro
grammed in the part program is enhanced by the zero offset value and inserted as
the end position (as with linear axes).
Programming G92 in conjunction with rotary axes is possible, but does not make
sense.
G92 must not be programmed in conjunction with active zero offsets (G53 has to be
programmed ahead of G92)!
55
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
General
The "E code" option serves to increase the reliability of loading data from external
media into the program memory of the CNC. It supports the following interfaces:
Operating panel (20 mA / V.24)
CP board in the logic section (20 mA) standard
Function
During data in, the control adds up the ASCII values of all characters of a block and
compares them to the checksum (E address) located before the endofblock
(LF) character. If data in is correct, the E addresses are not taken over into the pro
gram or dualport memory of the CNC.
If there is a difference between the result of the addition and the E address, the sys
tem will issue the "E code" error message in the screen header line.
If the file to be read in is a part program, an LSEC or a machine parameter file, the
incorrect line is stored in the memory together with the E address, and data in con
tinues. In the case of all other files, the system will interrupt data in. In this case, the
data is not stored in the part program memory. The W tables are an exception to this
rule. They are present in the part program memory after data in; their data, however,
may be incomplete.
After data in is completed, execute access for the incorrect file is cancelled (refer to
the RWED file protection modes; E = Execute). In order to permit this file to be pro
cessed or executed again, the operator has to correct the incorrect items in the edi
tor and deactivate the "E" protection mode again.
The "E code" function can be activated via softkey (refer to the operating instruc
tions). In this case, during the output of a file, the control will generate for each block
the sum of the ASCII values of all characters it contains.
This checksum (e.g. 123) will be inserted as "E123" directly in front of the endof
block character (LF), and will also be transferred. The checksum can contain a
maximum of three digits.
If the sum of all ASCII values of a block is greater than 999, the checksum will be
generated via a modulo function. Via the machine parameters, 999 or 1000 can be
selected as modulo value (important note: refer to next page, "Notes", "Special
case modulo 999"!).
Example:
N99 G1 X0 Y0 E585 (CR) (LF)
In the example the sum of all ASCII values in line N100 is 1270. When using the mo
dulo function, the following checksum is obtained:
1270 mod 999 = 271 (with modulo value of 999) or
1270 mod 1000 = 270 (with modulo value of 1000)
56
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
NOTES!
When a file is being read in, all characters contained between the last end
ofblock character (LF) and the E address are included in the checksum.
Exception: DELETE (skip character, ASCII value: 127).
If the punched tape includes a carriage return (CR) in addition to the end
ofblock (LF), (CR) must be punched first, followed by (LF). It is in this case
only the checksum will not take into account (CR) and (LF). Otherwise, (CR)
is already included in the sum of the next block.
If, on the one hand, the stored part program contains E addresses, but, on the
other, the "E code" option is not included in the system, the E addresses are
taken over into the memory during data in.
In the case of systems with the "E code" option, the "E code" function is acti
vated automatically if, during data in, the E address is found after the file
header in the case of a file with DFS identification, or directly before the end
ofblock character (LF) of the first block in the case of a file without DFS iden
tification.
N1 X... Y... Z... M... S... T... E address (LF) without DFS identification
Special case modulo 999: If the P5508 machine parameter was set to "999",
the checksum "999" applies to the sums of the ASCII values 999, 2*999,
3*999 to n*999!
57
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
General
Instead of a radius with sign (radius programming) or the components of the vector
from the arc start to the arc center (center programming), the absolute magnitudes
of these components are specified in the case of this programming mode. With this
option (despite its name) arcs up to 180 can be programmed within one block.
Considering that often only quadrant programming was available for circular inter
polation on earlier NCs, this option is required if earlier programs (e.g. System 5
programs) are to be taken over to the CC 220/320 M.
Activation
The option is activated via the interface signal byte 20.4 (bit 164):
active = high;
inactive = low.
Activation or deactivation is only possible if no program has been selected in the
"automatic" operating mode and no NC block is pending execution in the "MDI"
operating mode.
If quadrant programming is active, no center or radius programming may be used.
If this not observed, the CNC will abort the program with the "INVALID CIRCLE
VALUE" error message.
Function
The I, J or J, K or K, I interpolation parameters (depending on the active interpola
tion plane) represent the distances on the main axes between the arc start point
and the arc center point ( = absolute magnitudes of the components of the AM vec
tor).
58
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
Figure 1
+Y
160
E N10 G1 X100 Y40
M2 N20 G2 X160 Y160 I100 J25
140 G2
or
120
N10 G1 X100 Y40
N20 G2 X160 Y160 I40 J85
100
J2
80
M1
60
J1
40
A
20
I2 I1
NOTES!
The "circular interpolation" preparatory function can be called with G2 in
clockwise, and with G3 in counterclockwise direction.
The end point and the I, J and K interpolation parameters have to be entered
(2 axes must always be programmed).
59
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
Function
Using this option, the influence of the elliptical laser spot can be taken into account
when cutting workpieces by means of a laser. Since the cutting width depends on
the cutting rate, a constant cutting width can be achieved by providing a suitable
feedrate override irrespective of the cutting direction.
DY
Laser spot
X
For this purpose, the feedrate deviation (in terms of percent, referred to the pro
grammed feedrate) at which a constant cutting width is obtained has to be deter
mined for each main direction (X, Y, Z).
These 6 values are stored in the NC and, during machining, serve to determine in
termediate values when feed is not performed in one of the main directions. The
intermediate values are generated by linear interpolation.
Since the compensation values are, as a rule, determined only for a specific fee
drate, 10 compensation groups with 6 compensation values each are available. Up
to 10 feedrate values can be compensated in this way. All compensation values are
located in a feedrate compensation table. The W file 999999001 is reserved for this
purpose.
Activation
Upon powerup the feedrate override is not active. The individual compensation
groups are selected via M functions (e.g. M600 M609; assignment to other M
codes presently not in use is possible). They can only be activated if an M function
has been assigned to them. If the feedrate compensation table is missing, the
warning "Feed comp. tab. missing" is output.
In order to switch feedrate override off during the program run, a compensation
group containing only compensation values which are set to zero (zero compensa
tion group) has to be activated.
The "directiondependent feedrate override" is also deactivated by "Control re
set", "Clear logic", M02/30 or program deselection.
5 10
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
To change the compensation data, it is possible to decide, after the selection of the
feedrate override table (W999999001), whether the data of all compensation
groups or only the data of the currently active compensation group are to be
changed. If no compensation group has yet been activated when selecting the "ac
tive compensation group", the message "Table not stored" will be displayed. The
compensation data can also be modified for a selected or running program. For
this purpose, the running program is interrupted by cancelling the IF signal "(NOT)
Feed hold" (E5.5), the compensation data is changed, and the transfer of the com
pensation values is finally initiated with "cyclestart" (E5.4).
By setting "cyclestart" and cancelling "Feed hold", the new compensation data
becomes active in the interrupted block.
NOTES!
The feedrate override only acts with linear interpolation (G1, G73) or for cylin
der surface milling.
If a program is selected and the W999999001 table does not exist, the axes
traverse without feedrate override. The message "Table not stored" will ap
pear.
5 11
CC 220/320 M
Special functions
Flexible Automation Programming Instructions
5 12
CC 220/320 M
Annex
Flexible Automation Programming Instructions
Overview
This function permits the display of 224* errors and statuses extending over 7*
screen pages (with appropriate operation), each with 32 pieces of text. The text
items, each with a maximum of 28 characters, are loaded into the control under the
program number P999 999 999.
The text items in the RAM can be edited via the screen editor.
The E or Z numbers have to programmed in ascending order; gaps are allowed.
E identifies errors
Z identified statuses
The size (number) of the areas for errors and statuses can be selected as required.
It is assumed that the machine errors are assigned to the text items according to
priorities.
This ensures that the message in the header line has the highest priority.
Another possibility consists in storing the MZA text items in one language in EE
PROM, provided enough memory is still available.
The following example illustrates programming of the MZA file:
*) With word coupling: 2048 machine errors and statuses on a maximum of 64 pages.
61
CC 220/320 M
Annex
Flexible Automation Programming Instructions
62
CC 220/320 M
Annex
Flexible Automation Programming Instructions
.
.
(E106, )
(E107,)FAULT FREQ.CONVERT.PALL.CHA.)
(E108,PAL.CHAIN A NOT IN HOME POS.)
(E109,PAL.CHAIN B NOT IN HOME POS.)
(E110,PAL.CHAIN A NOT IN CHANGE POS)
(E111,PAL.CHAIN B NOT IN CHANGE POS)
(E112,PALLET A NOT PRESENT)
(E113,PALLET B NOT PRESENT)
(E114,PAL. NOT CLAMPED ON INDEX.TAB)
(E115,INCOR. M CODE FOR PAL.CHANGER)
(E116,B AXIS NOT RAISED)
(E117,B AXIS NOT LOWERED)
(E118, )
(E119, )
(E120,HYDRAULIC OIL LOW)
(E121, )
(E122, )
(E123, )
(E124, )
(E125, )
(E126, )
(E127, )
(E128, )
(E129,TOOL CHANGE POS. Y NOT REACH)
(E130,TOOL CHANGE POS. Z NOT REACH)
(E131, )
(E132,TOOL NUMBER NOT FOUND)
(E133,TOOL CASSETTE NOT PRESENT)
(E134,TOOL POSITION IS OCCUPIED)
(E135,TOOL POSITION IS BARRED)
(E136,COLLISION RADIUS TOO LARGE)
(E137,NO COLLISION RADIUS ENTERED)
(E138, )
(E139, )
(E140,NO EMPTY POSITION IN MAGAZ.)
(E141, )
(E142,MANIPULATOR NOT CLAMPED)
(E143,MANIPULATOR NOT RELEASED)
(E144, )
(E145,MANIPULATOR NOT RAISED 150)
(E146,MANIPULATOR NOT RAISED 8 MM)
(E147,MANIPULATOR NOT LOWERED 150)
(E148,MANIPULATOR NOT LOWERED 8MM)
(E149, )
(E150,DOUBLE GRIPPER NOT RELEASED)
(E151,DOUBLE GRIPPER NOT CLAMPED)
(E152, )
(E153,DOUBLE GRIP.NOT IN HOME POS.)
(E154,DOUBLE GRIP.NOT IN ACCEPT P.)
(E155,DOUBLE GRIP.NOT IN TRANSF.P.)
(E156,DOUBLE GRIP.NOT IN END POSI.)
(E157, )
(E158, )
(E159, )
(E160, )
M30
63
CC 220/320 M
Annex
Flexible Automation Programming Instructions
64
CC 220/320 M
Annex
Flexible Automation Programming Instructions
65
CC 220/320 M
Annex
Flexible Automation Programming Instructions
66
CC 220/320 M
Annex
Flexible Automation Programming Instructions
Example:
Structure of a tool table
To enter table values in the CS table, the data can be read in from any data medium
via one of the data interfaces of the CC 220/320 M. The procedure is analogous to
that for reading in definition programs.
Programming
# n T.... X.... Z....
Example:
# 15 T12345678 X100.54 Z20.85
Programming
# T.... X.... Z....
NOTE!
For the procedure and programming, please refer to the separate "CS tables" de
scription, P.No. 3875.
67
CC 220/320 M
Annex
Flexible Automation Programming Instructions
Example:
# T50 X20.867 Z123.85
In this case, T number 50 is searched for, and the relevant values X20.867 and
Z123.85 are read in.
To read in the complete contents of a table at one time, an entire loading program is
written.
(DFS,W1)
# *
# 1T101X20.5Z100.45U0.01W0.015L100V95M141A105B1.1
# 2T201X20.5Z100.45U0.01W0.015L100V95M143A105B1.1
# 3T301X20.5Z100.45U0.01W0.015L100V95M143A105B1.1
# 4T401X20.5Z100.45U0.01W0.015L100V95M143A105B1.1
# 5T501X20.5Z100.45U0.01W0.015L100V95M143A105B1.1
# 6T601X20.5Z100.45U0.01W0.015L100V95M143A105B1.1
# 8T102X35.35Z50.5L80V78M141A82B1.1
# 9T202X35.35Z50.5L80V78M143A82B1.1
#10T302X35.35Z50.5L80V78M143A82B1.1
#11T402X35.35Z50.5L80V78M143A82B1.1
#12M200
#13M200
#14M200
#15T5051M520
#16T5050X200Z150L200V190M571
#17T5052M510
#18T6051M520
#19T6050X200Z150L200V190M573
#20T6052M510
#21M200
#22M200
#23M200
M30
68
CC 220/320 M
Annex
Flexible Automation Programming Instructions
Example
Printout of the entire tool table (formatted).
(Partial output is also possible)
69
CC 220/320 M
Annex
Flexible Automation Programming Instructions
U 1.000 W 1.000
M30
Example
ZO values are entered in the ZO table at the start of the part program.
(DFS,P111,CLAMPING POSITION,,RWED)
1 REM ********* CREATION OF THE ZO TABLE ******
2 FXC(1,54,1)=125:FXC(2,54,1)=180:FXV(3,54,1)=429
3 FXC(1,55,1)=189:FXC(2,55,1)=180:FXV(3,55,1)=327
4 FXC(1,56,1)=291:FXC(2,56,1)=180:FXV(3,56,1)=391 Loading pro-
gram
5 FXC(1,57,1)=0:FXC(2,57,1)=0:FXV(3,57,1)=0
6 FXC(1,58,1)=0:FXC(2,58,1)=0:FXV(3,58,1)=0
7 FXC(1,59,1)=0:FXC(2,59,1)=0:FXV(3,59,1)=0
8 REM *****************************************
N0010 T28 M06
N0020 B0
N0030 G0 G80 G54 X7.1 Y83.8 F132 S1346 T15 M03 M08
N0040 Z56
N0050 G81 51.5,56
N0060 Y8.8
N0070 Y66.2
N0080 Y83.8 Part program
N0090 Y8.8
N0100 Y66.2
N0110 G00 G80 Z56
N0120 M06
.
.
.
N0500 M30
6 10
CC 220/320 M
Annex
Flexible Automation Programming Instructions
Example:
Leadscrew error table (L file group). For leadscrew error compensation, also refer
to the "Diagnosis" manual (P.No. 4228).
6 11
CC 220/320 M
Annex
Flexible Automation Programming Instructions
Tables
Dec Hex ASCII Dec Hex ASCII Dec Hex ASCII Dec Hex ASCII
0 00 NUL 32 20 SP 64 40 @ 96 60
1 01 SOH 33 21 ! 65 41 A 97 61 a
2 02 STX 34 22 " 66 42 B 98 62 b
3 03 ETX 35 23 # 67 43 C 99 63 c
4 04 EOT 36 24 $ 68 44 D 100 64 d
5 05 ENQ 37 25 % 69 45 E 101 65 e
6 06 ACK 38 26 & 70 46 F 102 66 f
7 07 BEL 39 27 71 47 G 103 67 g
8 08 BS 40 28 ( 72 48 H 104 68 h
9 09 HT 41 29 ) 73 49 I 105 69 i
10 0A LF 42 2A * 74 4A J 106 6A j
11 0B VT 43 2B + 75 4B K 107 6B k
12 0C FF 44 2C , 76 4C L 108 6C l
_
13 0D CR 45 2D 77 4D M 109 6D m
14 0E SO 46 2E . 78 4E N 110 6E n
15 0F SI 47 2F / 79 4F O 111 6F o
16 10 DLE 48 30 0 80 50 P 112 70 p
17 11 DC1 49 31 1 81 51 Q 113 71 q
18 12 DC2 50 32 2 82 52 R 114 72 r
19 13 DC3 51 33 3 83 53 S 115 73 s
20 14 DC4 52 34 4 84 54 T 116 74 t
21 15 NAK 53 35 5 85 55 U 117 75 u
22 16 SYN 54 36 6 86 56 V 118 76 v
23 17 ETB 55 37 7 87 57 W 119 77 w
24 18 CAN 56 38 8 88 58 X 120 78 x
25 19 EM 57 39 9 89 59 Y 121 79 y
26 1A SUB 58 3A : 90 5A Z 122 7A z
27 1B ESC 59 3B ; 91 5B [ 123 7B {
28 1C FS 60 3C < 92 5C \ 124 7C I
29 1D GS 61 3D = 93 5D ] 125 7D }
30 1E RS 62 3E > 94 5E "( ) 126 7E ~
31 1F US 63 3F ? 95 5F !( _ ) 127 7F DEL
6 12
CC 220/320 M
Annex
Flexible Automation Programming Instructions
6 13
CC 220/320 M
Annex
Flexible Automation Programming Instructions
Punched
tape track
87654 321
o . 0 Numerical value
. o 1 Numerical value
. o 2 Numerical value
o . oo 3 Numerical value
.o 4 Numerical value
o .o o 5 Numerical value
o .oo 6 Numerical value
.ooo 7 Numerical value
o. 8 Numerical value
oo. o 9 Numerical value
oo . o a Addr. angle dim. about x
oo . o b Addr. angle dim. about y
oo . oo c Addr. angle dim. about z
oo .o d Addr. path compensation addr.
ooo .o o e Addr. datain monitoring
ooo .oo f Addr. feedrate / dwell
oo .ooo g Addr. preparatory functions
oo o. h Addr. length compensation
oooo. o i Addr. interpolation parameter
o o. o j Addr. interpolation parameter
o o. o k Addr. interpolation parameter
o . oo l Freely available
o o .o m Addr. machine commands
o .o o n Addr. block number
o .oo o Not in use
o o .ooo p Addr. dwell / subroutine
o oo. q Addr. subroutine
o o. o r Reference plane / radius
oo . o s Addr. spindle speed
o . oo t Addr. tool / compensation
oo .o u Addr. parallel axis
o .o o v Addr. parallel axis
o .oo w Addr. parallel axis
oo .ooo x Addr. main axis
ooo. y Addr. main axis
o o. o z Addr. main axis
o <= End of block
o. oo STOP Start of program
oo . o / Optional block suppression
o . Negative direction of travel
o o.o Comment ON
oooo.o Comment OFF
o o.o *
oo o. oo . Decimal point
Accepted characters which are not processed
ooo . + Positive direction of travel
ooo. oo , Comma
o o.ooo : Colon
ooo.oo TAB Tabulator
oooo.ooo IRR Correction code
o . ZWR Space
. Sprocket holes
o o. o RT Character rebound
o oo. oo % Percent
Carriage return
87654 321
6 14
1070 073 661-102 (93.05) GB HB NC AT/VSP Printed in Germany