Man 8055m PRG
Man 8055m PRG
Ref.1711
Soft: V02.2x
DUAL-USE PRODUCTS
Products manufactured by FAGOR AUTOMATION since April 1st 2014 will
include "-MDU" in their identification if they are included on the list of dual-use
products according to regulation UE 428/2009 and require an export license
depending on destination.
It is possible that CNC can execute more functions than those described in its
associated documentation; however, Fagor Automation does not guarantee the
validity of those applications. Therefore, except under the express permission
from Fagor Automation, any CNC application that is not described in the
documentation must be considered as "impossible". In any case, Fagor
Automation shall not be held responsible for any personal injuries or physical
All rights reserved. No part of this documentation may be transmitted, damage caused or suffered by the CNC if it is used in any way other than as
transcribed, stored in a backup device or translated into another language explained in the related documentation.
without Fagor Automation’s consent. Unauthorized copying or distributing of this The content of this manual and its validity for the product described here has been
software is prohibited. verified. Even so, involuntary errors are possible, hence no absolute match is
The information described in this manual may be subject to changes due to guaranteed. However, the contents of this document are regularly checked and
technical modifications. Fagor Automation reserves the right to change the updated implementing the necessary corrections in a later edition. We appreciate
contents of this manual without prior notice. your suggestions for improvement.
All the trade marks appearing in the manual belong to the corresponding owners. The examples described in this manual are for learning purposes. Before using
The use of these marks by third parties for their own purpose could violate the them in industrial applications, they must be properly adapted making sure that
rights of the owners. the safety regulations are fully met.
This product uses the following source code, subject to the terms of the GPL license. The applications busybox V0.60.2;
dosfstools V2.9; linux-ftpd V0.17; ppp V2.4.0; utelnet V0.1.1. The librarygrx V2.4.4. The linux kernel V2.4.4. The linux boot
ppcboot V1.1.3. If you would like to have a CD copy of this source code sent to you, send 10 Euros to Fagor Automation
for shipping and handling.
P r o gr a m m i ng m a n u a l
INDEX
·3·
Prog ramm in g man u a l
·4·
P r o gr a m m i ng m a n u a l
·5·
Prog ramm in g man u a l
SOFT: V02.2X
·6·
P r o gr a m m i ng m a n u a l
APPENDIX
CNC 8055
CNC 8055i
SOFT: V02.2X
·7·
Prog ramm in g man u a l
CNC 8055
CNC 8055i
SOFT: V02.2X
·8·
ABOUT THE PRODUCT
16 digital inputs and 8 outputs (I1 to I16 and O1 to O8) Standard Standard Standard
Another 40 digital inputs and 24 outputs (I65 to I104 and O33 to O56) Option Option Option
Remote CAN modules, for digital I/O expansion (RIO). Option Option ---
Sercos servo drive system for Fagor servo drive connection. --- Option ---
CAN servo drive system for Fagor servo drive connection. --- Option --- CNC 8055
CNC 8055i
Before start-up, verify that the machine that integrates this CNC meets the 89/392/CEE Directive.
·9·
SOFTWARE OPTIONS OF THE 8055 AND 8055I CNCS.
Model
GP M MC MCO EN T TC TCO
Electronic threading ----- Stand. Stand. Stand. Stand. Stand. Stand. Stand.
About the product
Tool magazine management: ----- Stand. Stand. Stand. ----- Stand. Stand. Stand.
Machining canned cycles ----- Stand. Stand. ----- Stand. Stand. Stand. -----
Multiple machining ----- Stand. Stand. ----- Stand. ----- ----- -----
Solid graphics ----- Stand. Stand. Stand. ----- Stand. Stand. Stand.
Rigid tapping ----- Stand. Stand. Stand. Stand. Stand. Stand. Stand.
Tool life monitoring ----- Opt. Opt. Opt. Stand. Opt. Opt. Opt.
Probing canned cycles ----- Opt. Opt. Opt. Stand. Opt. Opt. Opt.
COCOM version Opt. Opt. Opt. Opt. ----- Opt. Opt. Opt.
Profile editor Stand. Stand. Stand. Stand. ----- Stand. Stand. Stand.
Tool radius compensation Stand. Stand. Stand. Stand. Stand. Stand. Stand. Stand.
Tangential control Opt. Opt. Opt. Opt. ----- Opt. Opt. Opt.
Setup assistance Stand. Stand. Stand. Stand. Stand. Stand. Stand. Stand.
Irregular pockets with islands ----- Stand. Stand. Stand. ----- ----- ----- -----
TCP transformation ----- Opt. Opt. Opt. ----- ----- ----- -----
C axis (on Lathe) ----- ----- ----- ----- ----- Opt. Opt. Opt.
Y axis (on Lathe) ----- ----- ----- ----- ----- Opt. Opt. Opt.
CNC 8055
CNC 8055i
·10·
DECLARATION OF CONFORMITY AND
WARRANTY CONDITIONS
DECLARATION OF CONFORMITY
The declaration of conformity for the CNC is available in the downloads section of FAGOR’S corporate
website at http://www.fagorautomation.com. (Type of file: Declaration of conformity).
WARRANTY TERMS
The warranty conditions for the CNC are available in the downloads section of FAGOR’s corporate website
at http://www.fagorautomation.com. (Type of file: General sales-warranty conditions).
CNC 8055
CNC 8055i
·11·
·12·
Declaration of conformity and Warranty conditions
CNC 8055
CNC 8055i
VERSION HISTORY
Here is a list of the features added in each software version and the manuals that describe them.
·13·
Software V01.31 October 2011
·14·
Software V02.03 July 2014
Version history
List of features Manual
Incremental zero offset (G158). INST / PRG
Programs identified with letters. OPT
Variables PRGN and EXECLEV. INST
Korean language. INST
Change of default value for general machine parameters: MAINOFFS (P107), MAINTASF (P162) INST
and FEEDTYPE (P170).
New variable EXTORG. INST / PRG
Image handling via DNC. PRG
Save/restore a trace of the oscilloscope. OPT
CNC 8055
CNC 8055i
·15·
Version history
CNC 8055
CNC 8055i
·16·
SAFETY CONDITIONS
Read the following safety measures in order to prevent harming people or damage to this product and those
products connected to it.
Fagor Automation shall not be held responsible of any physical or material damage originated from not
complying with these basic safety rules.
• Interconnection of modules.
Use the connection cables provided with the unit.
• Use proper Mains AC power cables
To avoid risks, use only the Mains AC cables recommended for this unit.
• Avoid electric shocks.
In order to avoid electrical discharges and fire hazards, do not apply electrical voltage outside the range
selected on the rear panel of the central unit.
• Ground connection.
In order to avoid electrical discharges, connect the ground terminals of all the modules to the main
ground terminal. Before connecting the inputs and outputs of this unit, make sure that all the grounding
connections are properly made.
• Before powering the unit up, make sure that it is connected to ground.
In order to avoid electrical discharges, make sure that all the grounding connections are properly made.
• Do not work in humid environments.
In order to avoid electrical discharges, always work under 90% of relative humidity (non-condensing)
and 45 ºC (113º F).
• Do not operate this unit in explosive environments.
In order to avoid risks, harm or damages, do not work in explosive environments.
CNC 8055
CNC 8055i
·17·
PRECAUTIONS AGAINST PRODUCT DAMAGE
• Work environment.
This unit is ready to be used in industrial environments complying with the directives and regulations
effective in the European Community.
Fagor Automation shall not be held responsible for any damage that could suffer or cause when installed
under other conditions (residential or domestic environments).
• Install this unit in the proper place.
It is recommended, whenever possible, to install the CNC away from coolants, chemical product, blows,
Safety conditions
·18·
PROTECTIONS OF THE UNIT ITSELF (8055)
Safety conditions
PROTECTIONS OF THE UNIT ITSELF (8055I)
• Central unit.
It has a 4 A 250V external fast fuse (F).
OUT IN
X1
X7 X8
FUSIBLE
FUSES
+24V
0V
X2 X3 X4 X5 X6
• Inputs-Outputs.
All the digital inputs and outputs have galvanic isolation via optocouplers between the CNC circuitry
and the outside.
CNC 8055
CNC 8055i
·19·
PRECAUTIONS DURING REPAIRS
Do not manipulate the inside of the unit. Only personnel authorized by Fagor Automation may access
the interior of this unit.
Do not handle the connectors with the unit connected to AC power. Before manipulating the connectors
(inputs/outputs, feedback, etc.) make sure that the unit is not connected to AC power.
Safety conditions
SAFETY SYMBOLS
Mandatory symbol.
It indicates actions or operations that MUST be carried out.
i Information symbol.
It indicates notes, warnings and advises.
CNC 8055
CNC 8055i
·20·
RETURNING CONDITIONS
When sending the central nit or the remote modules, pack them in its original package and packaging
material. If you do not have the original packaging material, pack it as follows:
1. Get a cardboard box whose 3 inside dimensions are at least 15 cm (6 inches) larger than those of the
unit itself. The cardboard being used to make the box must have a resistance of 170 kg. (375 pounds).
2. Attach a label indicating the owner of the unit, person to contact, type of unit and serial number.
3. In case of failure, also indicate the symptom and a short description of the failure.
4. Protect the unit wrapping it up with a roll of polyethylene or with similar material.
5. When sending the central unit, protect especially the screen.
6. Pad the unit inside the cardboard box with polyurethane foam on all sides.
7. Seal the cardboard box with packaging tape or with industrial staples.
CNC 8055
CNC 8055i
·21·
Returning conditions
CNC 8055
CNC 8055i
·22·
ADDITIONAL NOTES
Mount the CNC away from coolants, chemical products, blows, etc. which could damage it. Before turning
the unit on, verify that the ground connections have been made properly.
To prevent electrical shock at the central unit of the 8055 CNC, use the proper mains AC connector at the
power supply module. Use 3-wire power cables (one for ground connection).
X1 X2 X1 X2 X1
X3 X4
CMPCT X5 X6
X2
FLASH
USB X7 X8
ETH
X10
X9 X3
COM1
IN
OUT
NODE
B CD
8 9A
EF 2
01
67
3 45
X3
FAGOR
To prevent electrical shock at the monitor of the 8055 CNC, use the proper mains AC connector (A) with
3-wire power cables (one of them for ground connection).
(A)
(B)
X1
W1
Before turning on the monitor of the 8055 CNC and verifying that the external AC line (B) fuse of each unit
is the right one. See identification label of the unit itself.
In case of a malfunction or failure, disconnect it and call the technical service. Do not get into the inside
of the unit.
CNC 8055
CNC 8055i
·23·
Additional notes
CNC 8055
CNC 8055i
·24·
FAGOR DOCUMENTATION
OEM manual
It is directed to the machine builder or person in charge of installing and starting-up the CNC.
USER-M manual
Directed to the end user.
It describes how to operate and program in M mode.
USER-T manual
Directed to the end user.
It describes how to operate and program in T mode.
MC Manual
Directed to the end user.
It describes how to operate and program in MC mode.
It contains a self-teaching manual.
TC Manual
Directed to the end user.
It describes how to operate and program in TC mode.
It contains a self-teaching manual.
MCO/TCO model
Directed to the end user.
It describes how to operate and program in MCO and TCO mode.
Examples-M manual
Directed to the end user.
It contains programming examples for the M mode.
Examples-T manual
Directed to the end user.
It contains programming examples for the T mode.
WINDNC Manual
It is directed to people using the optional DNC communications software.
It is supplied in a floppy disk with the application.
WINDRAW55 Manual
Directed to people who use the WINDRAW55 to create screens.
It is supplied in a floppy disk with the application. CNC 8055
CNC 8055i
·25·
Fagor documentation
CNC 8055
CNC 8055i
·26·
GENERAL CONCEPTS
1
The CNC may be programmed at the machine (from the front panel) and from a peripheral
(computer). Memory available to the user for carrying out the part programs is 1 Mbyte.
The part programs and the values in the tables which the CNC has can be entered from the front
panel, from a pc (DNC) or from a peripheral.
If this is controlled from the CNC, it is necessary to preset the corresponding table or part program
directory (utilities) you want to communicate with.
Depending on the type of communication required, the serial port machine parameter "PROTOCOL"
should be set.
"PROTOCOL" = 0 if the communication is with a peripheral device.
"PROTOCOL" = 1 if the communication is via DNC.
CNC 8055
CNC 8055i
·27·
Prog ramm in g man u a l
The operating manual describes the different operating modes. Refer to that manual for further
information.
Editing a part-program
The new part-program edited is stored in the CNC's RAM memory. A copy of the part-programs may
be stored in the hard disk (KeyCF) at a PC connected through the serial line or in the USB disk.
GENERAL CONCEPTS
Part programs
In –Edit– mode, it is possible to modify part-programs residing in the CNC's RAM memory. To modify
a program stored in the hard disk (KeyCF), in a PC or in the USB disk, it must be previously copied
into RAM memory.
Part-programs stored anywhere may be executed or simulated. Simulation is carried out in the
–Simulation– mode, whereas the execution is done in the –Automatic– mode
The user customizing programs must be in RAM memory so the CNC can execute them.
The –Utilities– mode, lets display the part-program directory of all the devices, make copies, delete,
rename and even set the protections for any of them.
CNC 8055
CNC 8055i
·28·
P r o gr a m m i ng m a n u a l
GENERAL CONCEPTS
Part programs
Delete a program from ... Yes Yes Yes
Open programs with the OPEN instruction, in RAM from ... Yes Yes Yes
Open programs with the OPEN instruction, in HD from ... Yes Yes Yes
Open programs with the OPEN instruction, in DNC from ... Yes Yes No
Via Ethernet:
See from a PC the program directory of ... No Yes No
See from a PC the subroutine directory of ... No No No
See from a PC, a directory in ... No No No
(*) If it is not in RAM memory, it generates the executable code in RAM and it executes it.
Ethernet
When having the Ethernet option and if the CNC is configured as another node within the computer
network, the following operations are possible from any PC of the network:
• Access the part-program directory of the hard disk (KeyCF).
• Edit, modify, delete, rename, etc. the programs stored on the hard disk.
• Copy programs from the hard disk to the PC and vice versa.
To configure the CNC as another node within the computer network, see the installation manual.
CNC 8055
CNC 8055i
·29·
Prog ramm in g man u a l
When configuring the CNC as another node in the computer network, the programs stored in the
hard disk (KeyCF) may be edited and modified from any PC.
Data format
This connection is established through Ethernet and, therefore, the CNC does not control the syntax
of the programs while they are received or modified. However, whenever accessing the program
directory of the Hard Disk (HD), the following verification takes place:
File name.
The file number must always have 6 digits and the extension PIM (for milling) or PIT (for lathe).
Examples: 001204.PIM 000100.PIM 123456.PIT 020150.PIT
If the file has been given the wrong name, for example: 1204.PIM or 100.PIT, the CNC will not change
it, but it will display it with the comment "****************". The file name cannot be modified
at the CNC; it must be edited from the PC to correct the error.
File size.
If the file is empty (size = 0) the CNC will display it with the comment "********************".
The file can be edited or deleted either from the CNC or from the PC.
If the first line does not exist, the CNC will display the program with an empty comment and with
the modifiable (M) and executable (X) attributes.
When the format of the first line is wrong, the CNC does not modify it, but it displays it with the
CNC 8055 comment "****************". The file can be edited or deleted either from the CNC or from the
PC.
CNC 8055i
The format is incorrect when the comment has more than 20 characters, a comma (,) is missing
to group the attributes or there is a strange character in the attributes.
·30·
P r o gr a m m i ng m a n u a l
The CNC offers as optional feature the possibility of working in DNC (Distributed Numerical Control),
enabling communication between the CNC and a computer to carry out the following functions:
• Directory and delete commands.
• Transfer of programs and tables between the CNC and a computer.
• Remote control of the machine.
• The ability to supervise the status of advanced DNC systems.
1.
GENERAL CONCEPTS
DNC connection
CNC 8055
CNC 8055i
·31·
Prog ramm in g man u a l
This type of communication enables program-and-table transfer commands, plus the organization
of CNC directories such as the computer directory, for copying/deleting programs, etc. to be done
either from the CNC or the computer.
1. Then, and separated by a comma ",", comes the protection of each file, read, write, etc. These
protections are optional, since their programming is not obligatory.
To end the file header, RT (RETURN ) or LF (LINE FEED) characters should be sent separated
GENERAL CONCEPTS
Communication protocol via DNC or peripheral device
by a comma (",").
Example: %Fagor Automation, MX, RT
• Following the header, the file blocks should be programmed. These will all be programmed
according to the programming rules indicated in this manual. After each block, to separate it from
the others, the RT (RETURN ) or LF (LINE FEED) characters should be used.
Example: N20 G90 G01 X100 Y200 F2000 LF
(RPT N10, N20) N3 LF
If communication is made with a peripheral device, you will need to send the ‘end of file’ command.
This command is selected via the machine parameter for the serial port: "EOFCHR", and can be
one of the following characters :
ESC ESCAPE
EOT END OF TRANSMISSION
SUB SUBSTITUTE
EXT END OF TRANSMISSION
While using WinDNC (version V6.01 or later), it is possible to send and receive PNG, JPG/JPEG
and BMP type images via DNC.
WinDNC software:
Version V6.01 of WinDNC supports files with extension bmp, png, jpg and jpeg. The maximum length
or the file name is 16 characters (including the dot and the extension).
The application scans all image type files in the work folder. When sending the files, if the name
of any file is too long, it will ask the user to enter a new shorter name (up to 16 characters). It must
also keep the original extension.
CNC 8055
CNC 8055i
·32·
CREATING A PROGRAM
2
A CNC program consists of a series of blocks or instructions. These blocks or instructions are made
of words composed of capital letters and numerical format.
Programming allows spaces between letters, numbers and symbols, in addition to ignoring the
numerical format if it has zero value, or a symbol if it is positive.
The numeric format of a word may be replaced by an arithmetic parameter when programming. Later
on, during execution, the CNC will replace the arithmetic parameter by its value. For example, if XP3
has been programmed, during execution the CNC will replace P3 by its numerical value, obtaining
results such as X20, X20.567, X-0.003, etc.
CNC 8055
CNC 8055i
·33·
Prog ramm in g man u a l
All the blocks which make up the program have the following structure:
Block header + program block + end of block
Up to 3 skip conditions can be programmed in one block; they will be evaluated one by one,
respecting the order in which they have been programmed.
The control reads 200 blocks ahead of the one being executed in order to calculate in advance the
path to be run. The condition for block skip will be analyzed at the time when the block is read i.e.
200 blocks before execution.
If the block skip needs to be analyzed at the time of execution, it is necessary to interrupt the block
preparation, by programming G4 in the previous block.
No particular order is required and the numbers need not be sequential. If two or more blocks with
the same label number are present in the same program, the CNC will always give priority to the
first number.
Although it is not necessary to program it, by using a softkey the CNC allows the automatic
programming of labels. The programmer can select the initial number and the step between labels.
Restrictions:
• Displaying the active block number at the top window on the screen:
When executing a program in ISO mode, when the label number is higher than 9999, it
displays N**** .
On the "DISPLAY / SUBROUTINES" window, when displaying an RPT that has a label higher
than 9999, it displays it with ****.
• Canned cycles G66, G67 and G68 (irregular pockets with islands) can only be edited using 4-
digit labels.
CNC 8055
CNC 8055i
·34·
P r o gr a m m i ng m a n u a l
This is written with commands in ISO and high level languages. To prepare a program, blocks written
in both languages will be used, although each one should be edited with commands in just one
language.
ISO language.
This language is specially designed to control axis movement, as it gives information and movement
conditions, in addition to data on feedrate. It offers the following types of functions.
• Preparatory functions for movement, used to determine geometry and working conditions, such
as linear and circular interpolations, threading, etc.
2.
It gives the user a number of control sentences which are similar to the terminology used in other
languages, such as IF, GOTO, CALL, etc. Also, it allows the use of any type of arithmetic, relational
or logical expression.
It also has instructions for the construction of loops, plus subroutines with local variables. A local
variable is one that is only recognized by the subroutine in which it has been defined.
It is also possible to create libraries, grouping subroutines with useful and tested functions, which
can be accessed from any program.
CNC 8055
CNC 8055i
·35·
Prog ramm in g man u a l
The end of block is optional and may consist of the indication of number of repetitions of the block
and of the block comment. Both must be programmed in this order.
2. Movement blocks can only be repeated which, at the time of their execution, are under the influence
of a modal subroutine. In these cases, the CNC executes the programmed move and the active
Program structure at the CNC
CREATING A PROGRAM
machining operation (canned cycle or modal subroutine) the indicated number of times.
Block comment
The CNC allows you to incorporate any kind of information into all blocks in the form of a comment.
The comment is programmed at the end of the block, and should begin with the character ";"
(semicolon).
If a block begins with ";" all its contents will be considered as a comment, and it will not be executed.
Empty blocks are not permitted. They should contain at least one comment.
CNC 8055
CNC 8055i
·36·
P r o gr a m m i ng m a n u a l
A subroutine is a part of a program which, being properly identified, can be called from any position
of a program to be executed.
Local subroutines may be defined within a program. These subroutines are executed from RAM or
hard disk memory.
The local subroutines are defined as part of a program. These subroutines may only be called upon
from the program where it has been defined.
2.
Programming
The actual beginning of the program is identified with the % sign. Any text may follow this character.
A local subroutine may be called upon using the commands CALL, PCALL or MCALL. When
executing the calls, it first looks for the subroutines defined as local in that program and having
matching names. If there aren't any, it will look among the global subroutines.
To execute a local subroutine directly, program (LL n). This way, only the local subroutine will be
executed. If this subroutine does not exist, it will not execute anything and it will issue an error
message indicating undefined subroutine.
Up to 100 local subroutines may be defined in a program. The maximum local subroutine nesting
level is 15.
Examples:
Example 1: Example 2:
(LSUB9505) (LSUB9505)
X100 X100
(RET) (RET)
CNC 8055
CNC 8055i
·37·
Prog ramm in g man u a l
Executing programs:
Limitations:
A local subroutine can call a global subroutine but a global subroutine cannot call a local subroutine
except if that local subroutine is defined in the root program; in other words, in the first program that
is executed.
Local subroutines defined inside a program that has been called with the "EXEC" command are
ignored. It only takes into account the ones defined in the root program.
It only takes into account local subroutines that are in programs that are executed from the CNC
execution channel, either in ISO mode or in conversational mode. Local subroutines cannot be
executed from the PLC channel.
CNC 8055
CNC 8055i
·38·
AXES AND COORDINATE SYSTEMS
3
Given that the purpose of the CNC is to control the movement and positioning of axes, it is necessary
to determine the position of the point to be reached through its coordinates.
The CNC allows you to use absolute, relative or incremental coordinates throughout the same
program.
CNC 8055
CNC 8055i
·39·
Prog ramm in g man u a l
3.
AXES AND COORDINATE SYSTEMS
Axis nomenclature
CNC 8055
CNC 8055i
·40·
P r o gr a m m i ng m a n u a l
Of the 9 possible axes that may exist, the CNC allows the manufacturer to select up to 7 of them.
Moreover, all the axes should be suitably defined as linear/rotary, etc. through the axis machine
parameters which appear in the Installation and Start-up Manual.
There is no limitation to the programming of the axes, and up to 7 axes may be interpolated at the
same time.
3.
CNC 8055
CNC 8055i
·41·
Prog ramm in g man u a l
Plane selection should be made when the following are carried out :
• Circular interpolations.
• Controlled corner rounding.
• Tangential entry and exit.
• Chamfer.
• Coordinate programming in Polar coordinates.
3. • Machining canned cycles.
• Rotation of the coordinate system.
AXES AND COORDINATE SYSTEMS
Plane selection (G16, G17, G18, G19)
The "G" functions which enable selection of work planes are as follows :
G16 axis1 axis2 axis3.Enables selection of the desired work plane, plus the direction of G02
G03 (circular interpolation), axis1 being programmed as the abscissa axis
and axis2 as the ordinate axis.
The axis3 is the longitudinal axis along which tool length compensation
is applied.
The G16, G17, G18 and G19 functions are modal and incompatible among themselves. The G16
function should be programmed on its own within a block.
CNC 8055
CNC 8055i
·42·
P r o gr a m m i ng m a n u a l
When radius compensation is done on the work plane, and length compensation on the
perpendicular axis, the CNC does not allow functions G17, G18, and G19 if any one of the X, Y,
or Z axes is not selected as being controlled by the CNC.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC will assume that
the plane defined by the general machine parameter as "IPLANE" is the work plane.
3.
CNC 8055
CNC 8055i
·43·
Prog ramm in g man u a l
The CNC allows you to enter units of measurement with the programming, either in millimeters or
inches.
It has a general machine parameter "INCHES" to define the unit of measurement of the CNC.
However, these units of measurement can be changed at any time in the program. Two functions
are supplied for this purpose :
• G70. Programming in inches.
Depending on whether G70 or G71 has been programmed, the CNC assumes the corresponding
AXES AND COORDINATE SYSTEMS
Part dimensioning. Millimeters (G71) or inches (G70)
set of units for all the blocks programmed from that moment on.
The G70 and G71 functions are modal and are incompatible.
The CNC allows you to program figures from 0.00001 to 99999.9999 with or without sign, working
in millimeters (G71), called format +/-5.4, or either from 0.00001 to 3937.00787 with or without sign
if the programming is done in inches (G70), called format +/-4.5.
However, and to simplify the instructions, we can say that the CNC admits +/- 5.5 format, thereby
admitting +/- 5.4 in millimeters and +/- 4.5 in inches.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC will assume that
the system of units of measurement is the one defined by the general machine parameter "INCHES".
CNC 8055
CNC 8055i
·44·
P r o gr a m m i ng m a n u a l
The CNC allows the programming of the coordinates of one point either with absolute G90 or
incremental G91 values.
When working with absolute coordinates (G90), the point coordinates refer to a point of origin of
established coordinates, often the part zero (datum).
When working in incremental coordinates (G91), the numerical value programmed corresponds to
the movement information for the distance to be traveled from the point where the tool is situated
at that time. The sign in front shows the direction of movement.
The G90/G91 functions are modal and incompatible with each other.
3.
Incremental coordinates:
G90 X0 Y0 ; Point P0
G91 X150.5 Y200 ; Point P1
X149.5 ; Point P2
X-300 Y-200 ; Point P0
On power-up, after executing M02, M30 or after an EMERGENCY or RESET, the CNC will assume
G90 or G91 according to the definition by the general machine parameter "ISYSTEM".
CNC 8055
CNC 8055i
·45·
Prog ramm in g man u a l
Each of these may be linear, linear to position only, normal rotary, rotary to position only or rotary
with hirth toothing (positioning in complete degrees), according to the specification in the machine
parameter of each "AXISTYPE" axis.
With the aim of always selecting the most suitable coordinate programming system, the CNC has
the following types :
3. • Cartesian coordinates
• Polar coordinates
AXES AND COORDINATE SYSTEMS
Coordinate programming
• Cylindrical coordinates
• Angle and Cartesian coordinate
CNC 8055
CNC 8055i
·46·
P r o gr a m m i ng m a n u a l
The Cartesian Coordinate System is defined by two axes on the plane, and by three or more axes
in space.
The origin of all these, which in the case of the axes X Y Z coincides with the point of intersection,
is called Cartesian Origin or Zero Point of the Coordinate System.
The position of the different points of the machine is expressed in terms of the coordinates of the
axes, with two, three, four, or five coordinates.
The coordinates of the axes are programmed via the letter of the axis (X, Y, Z, U, V, W, A, B, C, always
in this order) followed by the coordinate value. 3.
CNC 8055
CNC 8055i
·47·
Prog ramm in g man u a l
In the event of the presence of circular elements or angular dimensions, the coordinates of the
different points on the plane (2 axes at the same time), it may be easier to express them in polar
coordinates.
The reference point is called Polar Origin, and this will be the origin of the Polar Coordinate System.
3.
AXES AND COORDINATE SYSTEMS
Coordinate programming
• The RADIUS (R), the distance between the polar origin and the point.
• The ANGLE (Q), formed by the abscissa axis and the line which joins the polar origin with the
point. (In degrees).
The values R and Q are absolute or incremental depending on whether you are working with G90
or G91, and their programming format will be R5.5 Q±5.5. The radius value must always be positive.
The values R and Q are incremental and their programming format will be R±5.5 Q±5.5.
The R values may be negative when programming in incremental coordinates; but the resulting value
assigned to the radius must always be positive.
When programming a "Q" value greater than 360º, the module will be assumed after dividing it by
360. Thus, Q420 is the same as Q60 and Q-420 is the same as Q-60.
Programming example assuming that the Polar Origin is located at the Coordinate Origin.
Absolute coordinates:
G90 X0 Y0 ; Point P0
G01 R100 Q0 ; Point P1, in a straight line (G01)
G01 R50 Q30 ; Point P2, in an arc (G03)
CNC 8055 G01 R50 Q30 ; Point P3, in a straight line (G01)
CNC 8055i
G03 Q60 ; Point P4, in an arc (G03)
G01 R100 Q60 ; Point P5, in a straight line (G01)
G03 Q90 ; Point P6, in arc (G03)
·M· & ·EN· MODELS
SOFT: V02.2X G01 R0 Q90 ; Point P0, in a straight line (G01)
·48·
P r o gr a m m i ng m a n u a l
Incremental coordinates:
G90 X0 Y0 ; Point P0
G91 G01 R100 Q0 ; Point P1, in a straight line (G01)
G01 R50 Q30 ; Point P2, in an arc (G03)
G01 R-50 Q0 ; Point P3, in a straight line (G01)
G03 Q30 ; Point P2, in an arc (G03)
G01 R50 Q0 ; Point P1, in a straight line (G01)
G03
G01 R-100
Q30
Q0
; Point P6, in arc (G03)
; Point P1, in a straight line (G01)
3.
CNC 8055
CNC 8055i
·49·
Prog ramm in g man u a l
To define a point in space, the system of cylindrical coordinates can be used as well as the Cartesian
coordinate system.
3.
AXES AND COORDINATE SYSTEMS
Coordinate programming
The projection of this point on the main plane, which should be defined in polar coordinates (R Q).
Examples:
R30 Q10 Z100
R20 Q45 Z10 V30 A20
CNC 8055
CNC 8055i
·50·
P r o gr a m m i ng m a n u a l
A point on the main plane can be defined via one of its Cartesian coordinates, and the exit angle
of the previous path.
3.
To represent a point in space, the rest of the coordinates may be programmed in Cartesian
coordinates.
CNC 8055
CNC 8055i
·51·
Prog ramm in g man u a l
They are all programmed in degrees. Therefore, their readings are not affected by the inch/mm
conversion.
Movement: Always in G00 and they do not admit tool radius compensation (G41, G42).
They work like the positioning-only axis except that they do not admit decimal position values
(coordinates).
More than one hirth axis can be used, but they can only be moved one at a time.
CNC 8055
CNC 8055i
·52·
P r o gr a m m i ng m a n u a l
The CNC provides four work zones or areas, and also limits the tool movement in each of these.
Within each work zone, the CNC allows you to limit the movement of the tool on each axis, with upper
and lower limits being defined in each axis.
G20: Defines the lower limits in the desired zone.
G21: Defines the upper limits in the desired zone. 3.
The format to program these functions is:
Work zones
AXES AND COORDINATE SYSTEMS
G20 K X...C±5.5
G21 K X...C±5.5
Where:
K Indicates the work zone you wish to define (1, 2, 3 or 4).
X...C Indicates the coordinates (upper or lower) with which you wish to limit the axes.
These coordinates will be programmed with reference to machine zero (home).
For safety, the axis stops 0.1mm before the programmed limit.
It is not necessary to program all the axes, so only defined axes will be limited.
CNC 8055
CNC 8055i
·53·
Prog ramm in g man u a l
Within each work zone, the CNC allows you to restrict the movement of the tool, either prohibiting
its exit from the programmed zone (no exit zone) or its entry into the programmed zone (no entry
zone).
3.
Work zones
AXES AND COORDINATE SYSTEMS
The CNC will take the dimensions of the tool into account at all times (tool offset table) to avoid it
exceeding the programmed limits.
The presetting of work zones is done via Function G22, the programming format being:
G22 K S
Where:
K Indicates the work zone you wish to set (1, 2, 3 or 4).
S Indicates the enabling/disabling of the work zone.
S=0 disabled.
S=1 enabled as a no-entry zone.
S=2 enabled as a no-exit zone.
On power-up, the CNC will disable all work zones. However, upper and lower limits for these zones
will not undergo any variation, and they can be re-enabled through the G22 function.
CNC 8055
CNC 8055i
·54·
REFERENCE SYSTEMS
4
4.1 Reference points
A CNC machine needs the following origin and reference points defined :
• Machine Reference Zero or home. This is set by the manufacturer as the origin of the coordinate
system of the machine.
• Part zero or point of origin of the part. This is the origin point that is set for programming the
measurements of the part. It can be freely selected by the programmer, and its machine
reference zero can be set by the zero offset.
• Machine Reference point. This is a point on the machine established by the manufacturer around
which the synchronization of the system is done. The control positions the axis on this point,
instead of moving it as far as the Machine Reference Zero, taking, at this point, the reference
coordinates which are defined via the axis machine parameter "REFVALUE".
M Machine zero
W Part zero
CNC 8055
CNC 8055i
·55·
Prog ramm in g man u a l
The CNC allows you to program the machine reference search in two ways :
• Machine reference (home) search of one or more axes in a particular order.
G74 is programmed followed by the axes in which you want to carry out the reference search.
For example: G74 X Z C Y.
The CNC begins the movement of all the selected axes which have a machine reference switch
(machine axis parameter "DECINPUT") and in the direction indicated by the axis machine
4. parameter "REFDIREC".
This movement is carried out at the feedrate indicated by the axis machine parameter
"REFEED1" for each axis until the home switch is hit.
REFERENCE SYSTEMS
Machine reference (Home) search (G74)
Next, the home search (marker pulse or home) will be carried out in the programmed order.
This second movement will be carried out one axis at a time, at the feedrate indicated in the axis
machine parameter "REFEED2" until the machine reference point is reached (i.e. the marker
pulse is found).
• Home search using the associated subroutine.
The G74 function will be programmed alone in the block, and the CNC will automatically execute
the subroutine whose number appears in the general machine parameter "REFPSUB". In this
subroutine it is possible to program the machine reference searches required, and also in the
required order.
In a block in which G74 has been programmed, no other preparatory function may appear.
If the machine reference search is done in JOG mode, the part zero selected is lost. The coordinates
of the reference point indicated in the machine axis parameter "REFVALUE" is displayed. In all other
cases, the active part zero will be maintained and the CNC will display the position values with
respect to that part zero.
If the G74 command is executed in MDI, the display of coordinates depends on the mode in which
it is executed : Jog, Execution, or Simulation.
CNC 8055
CNC 8055i
·56·
P r o gr a m m i ng m a n u a l
Function G53 can be added to any block that has path control functions.
It is only used when the programming of block coordinates relating to machine zero is required.
These coordinates should be expressed in millimeters or inches, depending on how the general
machine parameter "INCHES" is defined.
By programming G53 alone (without motion information) the current active zero offset is canceled
regardless of whether it was originated by a G54-G59 or a G92 preset. This origin preset is described
next.
Function G53 is not modal, so it should be programmed every time you wish to indicate the
4.
coordinates referred to machine zero.
REFERENCE SYSTEMS
Programming with respect to machine zero (G53)
This function temporarily cancels radius and tool length compensation.
M Machine zero
W Part zero
CNC 8055
CNC 8055i
·57·
Prog ramm in g man u a l
The CNC allows you to carry out zero offsets with the aim of using coordinates related to the plane
of the part, without having to modify the coordinates of the different points of the part at the time
of programming.
The zero offset is defined as the distance between the part zero (point of origin of the part) and the
machine zero (point of origin of the machine).
4.
REFERENCE SYSTEMS
Coordinate preset and zero offsets
M Machine zero
W Part zero
Both functions are modal and incompatible, so if one is selected the other is disabled.
There is, moreover, another zero offset which is governed by the PLC. This offset is always added
to the zero offset selected and is used (among other things) to correct deviations produced as a
result of expansion, etc.
ORG*(58)
G58
G92
ORG*(59)
G59
ORG* PLCOF*
Zero offsets
·M· & ·EN· MODELS
SOFT: V02.2X
·58·
P r o gr a m m i ng m a n u a l
Via Function G92 one can select any value in the axes of the CNC, in addition to limiting the spindle
speed.
• Coordinate preset.
When carrying out a zero offset via Function G92, the CNC assumes the coordinates of the axes
programmed after G92 as new axis values.
No other function can be programmed in the block where G92 is defined, the programming format
being :
G92 X...C ±5.5 4.
REFERENCE SYSTEMS
Coordinate preset and zero offsets
; Positioning in P0
G90 X50 Y40
; Preset P0 as part zero
G92 X0 Y0
; Programming according to part coordinates
G91 X30
X20 Y20
X-20 Y20
X -30
Y-40
CNC 8055
CNC 8055i
·59·
Prog ramm in g man u a l
The CNC has a table of zero offsets, in which several zero offsets can be selected. The aim is to
generate certain part zeros independently of the part zero active at the time.
Access to the table can be obtained from the front panel of the CNC (as explained in the Operating
Manual), or via the program using high-level language commands.
4. (home).
• Incremental zero offsets (G58, G59).
REFERENCE SYSTEMS
Coordinate preset and zero offsets
Functions G54, G55, G56, G57, G58 & G59 must be programmed alone in the block, and work in
the following way:
When one of the G54, G55, G56, G57 functions is executed, the CNC applies the zero offset
programmed with respect to machine zero, canceling the possible active zero offsets.
If one of the incremental offsets G58 or G59 is executed, the CNC adds its values to the absolute
zero offset active at the time. Previously canceling the additive offset which might be active.
You can see (in the following example) the zero offsets which are applied when the program is
executed.
G54 Applies zero offsets G54== G54
G58 Applies zero offsets G58== G54+G58
G59 Cancels G58 and adds G59== G54+G59
G55 Cancels whatever and applies G55== G55
Once a Zero Offset has been selected, it will remain active until another one is selected or until a
home search is carried out (G74) in JOG mode. This zero offset will remain active even after
powering the CNC off and back on.
This kind of zero offsets established by program is very useful for repeated machining operations
at different machine positions.
Example: The zero offset table is initialized with the following values:
G54: X200 Y100
G55: X160 Y 60
G56: X170 Y110
G58: X-40 Y-40
G59: X-30 Y 10
CNC 8055
CNC 8055i
·60·
P r o gr a m m i ng m a n u a l
REFERENCE SYSTEMS
Coordinate preset and zero offsets
G54 ; Applies G54 offset
Profile execution ; Executes profile A1
G58 ; Applies offsets G54+G58
Profile execution ; Executes profile A2
G59 ; Applies offsets G54+G59
Profile execution ; Executes profile A3
The G158 instruction may be used to program and activate an incremental offset in a program. This
feature is used to define new part zeros in the same program without having to set them previously
in the offset table or use high level instructions.
When applying an incremental zero offset, the CNC adds it to the absolute zero offset active at a time.
Programming:
Incremental zero offset are defined by program using function G158 followed by the values of the
zero offset to be applied on each axis. To cancel the incremental zero offset, program function G158
without axes in the block. To cancel the incremental zero offset only on particular axes, program
a 0 (zero) incremental offset for each one of them.
Y
2 3
65
W W
50
1 4
20
W W X
20 40 60 120
X Y
G54 (G159N1) 20 20
G55 (G159N2) 120 20
CNC 8055
N100 G54 (It applies the first zero offset)
CNC 8055i
··· (Machining of profile 1)
N200 G158 X20 Y45 (Apply incremental zero offset)
··· (Machining of profile 2)
N300 G55 (It applies the second zero offset. G158 stays active) ·M· & ·EN· MODELS
··· (Machining of profile 3) SOFT: V02.2X
·61·
Prog ramm in g man u a l
X 90 90 90 90
A4 A3 A2 A1
Z
150 240 330 420
G55 G54
4.
G158 G158
REFERENCE SYSTEMS
Coordinate preset and zero offsets
G158
X Z
Only one incremental zero may be active at a time for each axis; therefore, applying an incremental
zero offset on an axis cancels the one that was active on that axis. The offsets on the rest of the
axes are not affected.
Y
80
W
50
W W
20
W W
X
M 20 40 70 120
X Y
G54 (G159N1) 20 20
·62·
P r o gr a m m i ng m a n u a l
The incremental zero offset is not canceled after applying a new absolute zero offset (G54-G57
or G159Nx).
As described earlier, only one incremental zero offset may be active; therefore, instructions G58
and G59 are incompatible with G158. This way, the last incremental zero offset programmed
cancels the incremental zero offset that is currently active.
Programming the G158 function alone in the block or G158 with a 0 value in the axes cancels the
incremental zero offset G158 activated earlier. Those instructions also cancel the incremental zero
offsets G58/G59 that are currently active.
Considerations:
An incremental zero offset, by itself, does not cause any axis movement.
4.
REFERENCE SYSTEMS
Coordinate preset and zero offsets
When homing an axis in JOG mode, the incremental zero offset for that axis is canceled.
Function properties:
G158 is modal and incompatible with G53.
On power-up, the CNC assumes the incremental zero offset that was active when the CNC was
turned off. On the other hand, the incremental zero offset is neither affected by functions M02 and
M30 nor by RESETTING the CNC.
This line cannot be modified from the table, it can only be modified by programming G158.
Function G159
The first six zero offsets are the same as programming G54 through G59, except that the values
of G58 and G59 are absolute. This is because function G159 cancels functions G54 through G57
and, consequently, there is no active zero offset to add the G58 or G59 to.
On power-up, the CNC assumes the zero offset that was active when the CNC was turned off. On
the other hand, the zero offset is neither affected by functions M02 and M30 nor by RESET.
This function is displayed in the history like G159Nn where the n is the active zero offset.
Examples:
G159 N1 It applies the first zero offset. It is the same as programming G54.
G159 N6 It applies the sixth zero offset. It is the same as programming G59, but it is applied
in absolute.
G159 N20 It applies the 20th zero offset.
CNC 8055
CNC 8055i
·63·
Prog ramm in g man u a l
Function G93 allows you to preset any point from the work plane as a new origin of polar coordinates.
This function must be programmed alone in the block, its programming format being :
G93 I±5.5 J±5.5
Parameters I & J respectively define the abscissa and ordinate axes, of the new origin of polar
coordinates referred to part zero.
If G93 is only programmed in a block, the point where the machine is at that moment becomes the
polar origin.
On power-up; or after executing M02, M30; or after an EMERGENCY or RESET; the CNC assumes
the currently active part zero as polar origin.
When selecting a new work plane (G16, G17, G18, G19), the CNC assumes as polar origin the part
zero of that plane.
The CNC does not modify the polar origin when defining a new part zero; but it modifies the values
i of the variables: "PORGF" y "PORGS".
If, while selecting the general machine parameter "PORGMOVE" a circular interpolation is
programmed (G02 or G03), the CNC assumes the center of the arc as the new polar origin.
CNC 8055
CNC 8055i
·64·
ISO CODE PROGRAMMING
5
A block programmed in ISO language can consist of:
• Preparatory (G) functions
• Axis coordinates (X...C)
• Feedrate (F)
• Spindle speed (S)
• Tool number (T)
• Tool offset number (D)
• Auxiliary functions (M)
This order should be maintained within each block, although it is not necessary for every block to
contain the information.
The CNC allows you to program figures from 0.00001 to 99999.9999 with or without sign, working
in millimeters (G71), called format +/-5.4, or either from 0.00001 to 3937.00787 with or without sign
if the programming is done in inches (G70), called format +/-4.5.
However, and to simplify the instructions, we can say that the CNC admits +/- 5.5 format, thereby
admitting +/- 5.4 in millimeters and +/- 4.5 in inches.
Any function with parameters can also be programmed in a block, apart from the number of the label
or block. Thus, when the block is executed the CNC substitutes the arithmetic parameter for its value
at that time.
CNC 8055
CNC 8055i
·65·
Prog ramm in g man u a l
Preparatory functions are programmed using the letter G followed by up to 3 digits (G0 - G319).
They are always programmed at the beginning of the body of the block and are useful in determining
the geometry and working condition of the CNC.
5. Function
G00
M
*
D
?
V
* Rapid traverse
Meaning Section
6.1
G01 * ? * Linear interpolation 6.2
Preparatory functions
ISO CODE PROGRAMMING
·66·
P r o gr a m m i ng m a n u a l
Preparatory functions
ISO CODE PROGRAMMING
G61 * Multiple machining in rectangular pattern 10.2
I* * Grid pattern canned cycle 10.3
G63 * Multiple machining in a circular pattern 10.4
G64 * Multiple machining in an arc 10.5
G65 * Machining programmed with an arc-chord 10.6
G66 * Irregular pocket canned cycle 11.1 / 11.2
G67 * Irregular pocket roughing 11.1.2
G68 * Irregular pocket finishing 11.1.3
G69 * * Drilling canned cycle with variable peck 9.6
G70 * ? * Programming in inches 3.3
G71 * ? Programming in millimeters 3.3
G72 * * General and specific scaling factor 7.6
G73 * * Rotation of the coordinate system 7.7
G74 * Machine reference (home) search 4.2
G75 * Probing move until touching 12.1
G76 * Probing move while touching 12.1
G77 * * Axis coupling (slaving) 7.8.1
G77S * * Spindle synchronization 5.5
G78 * * Cancellation of axis coupling (slaving) 7.8.2
G78S * * Cancellation of spindle synchronization 5.5
G79 Canned cycle parameter modification 9.2.1
G80 * * Canned cycle cancellation 9.3
G81 * * Drilling canned cycle 9.7
G82 * * Drilling canned cycle with dwell 9.8
G83 * * Deep-hole drilling canned cycle with constant peck 9.9
G84 * * Tapping canned cycle 9.10
G85 * * Reaming canned cycle 9.11
G86 * * Boring canned cycle with withdrawal in G00 9.12
G87 * * Rectangular pocket canned cycle. 9.13
G88 * * Circular pocket canned cycle 9.14
G89 * * Boring canned cycle with withdrawal in G01 9.15
G90 * ? Absolute programming: 3.4
G91 * ? * Incremental programming 3.4
G92 Coordinate preset / spindle speed limit 4.4.1
G93 Polar origin preset 4.5
G94 * ? Feedrate in millimeters (inches) per minute 5.2.1
G95 * ? * Feedrate in millimeters (inches) per revolution. 5.2.2 CNC 8055
G96 * * Constant cutting point speed 5.2.3 CNC 8055i
G97 * * Constant tool center speed 5.2.4
G98 * * Withdrawal to the starting plane at the end of the canned cycle 9.5
G99 * * Withdrawal to the reference plane at the end of the canned cycle 9.5
·M· & ·EN· MODELS
G145 * * Temporary cancellation of tangential control 6.17 SOFT: V02.2X
·67·
Prog ramm in g man u a l
M means modal, i.e. the G function, once programmed, remains active until another incompatible
G function is programmed or until an M02, M30, EMERGENCY or RESET is executed or the CNC
is turned off and back on.
5. D means BY DEFAULT, i.e. they will be assumed by the CNC when it is powered on, after executing
M02, M30 or after EMERGENCY or RESET.
Preparatory functions
ISO CODE PROGRAMMING
In those cases indicated by ?, it should be understood that the DEFAULT of these G functions
depends on the setting of the general machine parameters of the CNC.
The letter V means that the G code is displayed next to the current machining conditions in the
execution and simulation modes.
CNC 8055
CNC 8055i
·68·
P r o gr a m m i ng m a n u a l
5.2 Feedrate F
The machining feedrate can be selected from the program. It remains active until another feedrate
is programmed. It is represented by the letter F and Depending on whether it is working in G94 or
G95, it is programmed in mm/minute (inches/minute) or in mm/revolution (inches/revolution).
Its programming format is 5.5; in other words, 5.4 when programmed in mm and 4.5 when
programmed in inches.
The maximum operating feedrate of the machine, limited on each axis by the axis machine
parameter "MAXFEED", may be programmed via code F0, or by giving F the corresponding value.
The programmed feedrate F is effective working in linear (G01) or circular (G02, G03) interpolation.
5.
If function F is not programmed, the CNC assumes the feedrate to be F0. When working in rapid
Feedrate F
ISO CODE PROGRAMMING
travel (G00), the machine will move at the rapid feedrate indicated by the axis machine parameter
"G00FEED", apart from the F programmed.
The programmed feedrate F may be varied between 0% and 255% via the PLC, or by DNC, or
between 0% and 120% via the switch located on the Operator Panel of the CNC.
The CNC, however, is equipped with the general machine parameter "MAXFOVR" to limit maximum
feedrate variation.
If you are working in rapid travel (G00), rapid feedrate will be fixed at 100%, alternatively it can be
varied between 0% and 100%, depending on how the machine parameter "RAPIDOVR" is set.
When functions G33 (electronic threading), G34 (variable-pitch threading) or G84 (tapping canned
cycle) are executed the feedrate cannot be modified; it works at 100% of programmed F.
CNC 8055
CNC 8055i
·69·
Prog ramm in g man u a l
From the moment the code G94 is programmed, the control takes that the feedrates programmed
through F5.5 are in mm/min or inches/mm.
If the moving axis is rotary, the CNC interprets that the programmed feedrate is in degrees/minute.
If an interpolation is made between a rotary and a linear axis, the programmed feedrate is taken
in mm/min or inches/min, and the movement of the rotary axis (programmed in degrees) will be
considered programmed in millimeters or inches.
5. The relationship between the feedrate of the axis component and the programmed feedrate "F" is
the same as that between the movement of the axis and the resulting programmed movement.
Feedrate F
ISO CODE PROGRAMMING
Example:
On a machine which has linear X and Y axes and rotary C axis, all located at point X0 Y0 C0, the
following movement is programmed :
G1 G90 X100 Y20 C270 F10000
You get:
F x 10000 100
Fx = ----------------------------------------------------------- = ------------------------------------------------ = 3464 7946
x 2 + y 2 + c 2 100 2 + 20 2 + 270 2
F y 10000 20
Fy = ----------------------------------------------------------- = ------------------------------------------------ = 692 9589
x + y + c
2 2 2 100 2 + 20 2 + 270 2
F c 10000 270
Fc = ----------------------------------------------------------- = ------------------------------------------------ = 9354 9455
x + y + c
2 2 2 100 2 + 20 2 + 270 2
Function G94 is modal i.e. once programmed it stays active until G95 is programmed.
On power-up, after executing M02, M30 or following EMERGENCY or RESET, the CNC assumes
function G94 or G95 according to how the general machine parameter "IFEED" is set.
CNC 8055
CNC 8055i
·70·
P r o gr a m m i ng m a n u a l
From the moment when the code G95 is programmed, the control assumes that the feedrates
programmed through F5.5 are in mm/rev or inches/mm.
This function does not affect the rapid moves (G00) which will be made in mm/min or inch/min. By
the same token, it will not be applied to moves made in the JOG mode, during tool inspection, etc.
Function G95 is modal i.e. once programmed it stays active until G94 is programmed.
On power-up, after executing M02, M30 or following EMERGENCY or RESET, the CNC assumes
function G94 or G95 according to how the general machine parameter "IFEED" is set.
5.
Feedrate F
ISO CODE PROGRAMMING
CNC 8055
CNC 8055i
·71·
Prog ramm in g man u a l
When G96 is programmed the CNC takes the F5.5 feedrate as corresponding to the cutting point
of the tool on the part.
In this manner (working in function G96) the speed of the center of the tool in the inside or outside
curved sections will change in order to keep the cutting point constant.
Function G96 is modal i.e. once programmed it stays active until G97 is programmed.
5. On power-up, after executing M02, M30 or following EMERGENCY or RESET, the CNC assumes
function G97.
Feedrate F
ISO CODE PROGRAMMING
CNC 8055
CNC 8055i
·72·
P r o gr a m m i ng m a n u a l
When G97 is programmed the CNC takes the programmed F5.5 feedrate as corresponding to the
feedrate of the center of the tool.
In this manner (working in function G97) the speed of the cutting point on the inside or outside curved
sections is reduced, keeping the speed of the center of the tool constant.
Function G97 is modal i.e. once programmed it stays active until G96 is programmed.
On power-up, after executing M02, M30 or following EMERGENCY or RESET, the CNC assumes
function G97.
5.
Feedrate F
ISO CODE PROGRAMMING
CNC 8055
CNC 8055i
·73·
Prog ramm in g man u a l
The turning speed of the spindle is programmed directly in rpm via code S5.4.
It is also possible to limit this maximum value from the program by using function G92 S5.4.
The programmed turning speed S may be varied from the PLC, DNC, or by the SPINDLE keys "+"
and "-" on the Operator Panel of the CNC.
5. This speed variation is made between the maximum and minimum values established by spindle
machine parameters "MINSOVR" and "MAXSOVR".
Spindle turning speed (S)
ISO CODE PROGRAMMING
The incremental pitch associated with the SPINDLE keys "+" and "-" on the CNC Operator Panel
in order to vary the programmed S value is fixed by the spindle machine parameter "SOVRSTEP".
When functions G33 (electronic threading), G34 (variable-pitch threading) or G84 (tapping canned
cycle) are executed the programmed speed cannot be modified; it works at 100% of programmed S.
CNC 8055
CNC 8055i
·74·
P r o gr a m m i ng m a n u a l
This CNC can govern two spindles: the main one and the second one. They both can be operative
simultaneously, but only one can be controlled at a time.
Once the desired spindle has been selected, it can be acted upon from the keyboard or by means
of the following functions:
M3, M4, M5, M19
5.
Functions G28 and G29 are modal and incompatible with each other.
No more information can be programmed in that block. On power-up, after executing an M02, M30
or after an EMERGENCY or RESET, the CNC assumes function G29 (selects the main spindle).
CNC 8055
CNC 8055i
·75·
Prog ramm in g man u a l
With function G77S, two spindles (main and secondary) may be synchronized in speed; this
synchronism may be cancelled with function G78S. Always program G77S and G78S because
functions G77, G78 to slave and unslave the axes.
When the spindles are synchronized in speed, the second one turns at the same speed as the main
spindle.
Function G77S may be executed at any time, open loop (M3, M4) or closed loop (M19), the spindles
General output "SYNSPEED (M5560)" will be high while the spindle are in synch (same speed).
ISO CODE PROGRAMMING
Synchronized spindles (G30, G77S, G78S)
When this synchronism is cancelled (G78S), the second spindle recovers its previous speed and
status (M3, M4, M5, M19) and the main spindle stays in the current status.
If while in synchronism, an S is programmed greater than the maximum allowed, the CNC applies
the maximum value while they are synchronized. When canceling this synchronism, the limit is no
longer applied and the main spindle assumes the programmed speed.
While the spindles are synchronized in speed, function G77S active, with G30 they may also be
synchronized in position and set an angular offset between them so the second spindle follows the
main spindle at this set offset distance.
Programming format: G30 D ±359.9999 (offset in degrees)
For example, with G30 D90 the second spindle will turn 90º behind the main spindle.
Considerations:
Before activating the synchronism, both spindles must be homed (referenced).
To synchronized the spindles in position (G30) they must be synchronized in speed already (G77S).
To synchronize two spindles, the SERVOSON and SERVOSO2 signals must be activated already.
When the spindle synchronization is active, only the main spindle signals PLCCNTL, SPDLINH,
SPDLREV, etc., will be addressed. Also, if a thread is wanted to be made, only the feedback and
the input of the main spindle will be used.
CNC 8055
CNC 8055i
·76·
P r o gr a m m i ng m a n u a l
With the "T" function, it is possible to select the tool and with the "D" function it is possible to select
the offset associated with it. When defining both parameters, the programming order is T D. For
example: T6 D17
5.
EZ
Magazine?
If the machine has a tool magazine, the CNC looks up the "Tool
magazine table" to know the position occupied by the selected
tool and the desired one.
YES
D? If the "D" function has not be defined, it looks up the "Tool table"
to know the "D" offset associated with it.
EZ
To access, check and define these tables, refer to the operating manual.
Length compensation is applied at all times, whereas radius compensation must be selected by the CNC 8055
operator by means of functions G40, G41, G42.
CNC 8055i
Length compensation is applied at all times, whereas tool length compensation must be selected
by the operator by means of functions G43, G44.
If there is no tool selected or D0 is defined, neither tool length nor radius compensation is applied.
·M· & ·EN· MODELS
For further information, refer to chapter 8 "tool compensation" in this manual.. SOFT: V02.2X
·77·
Prog ramm in g man u a l
The miscellaneous functions are programmed by means of the M4 Code, it being possible to
program up to 7 functions in the same block.
When more than one function has been programmed in one block, the CNC executes these
correlatively to the order in which they have been programmed.
The CNC is provided with an M functions table with "NMISCFUN" (general machine parameter)
components, specifying for each element:
• An indicator which determines if the M function is executed before or after the movement block
in which it is programmed.
• An indicator which determines if the execution of the M function interrupts block preparation or
not.
• An indicator which determines if the M function is executed or not, after the execution of the
associated subroutine.
• An indicator which determines if the CNC must wait for the signal AUX END or not (Executed
M signal, coming from the PLC), to continue the execution of the program.
If, when executing the M miscellaneous function, this is not defined in the M functions table, the
programmed function will be executed at the beginning of the block and the CNC will wait for the
AUX END to continue the execution of the program.
Some of the miscellaneous functions are assigned an internal meaning in the CNC.
If, while executing the associated subroutine of an "M" miscellaneous function, there is a block
containing the same "M", this will be executed but not the associated subroutine.
All the miscellaneous "M" functions which have an associated subroutine must be programmed alone
i in a block.
In the case of functions M41 through M44 with associated subroutine, the S that generates the gear
change must be programmed alone in the block. Otherwise, the CNC will display error 1031.
CNC 8055
CNC 8055i
·78·
P r o gr a m m i ng m a n u a l
When the CNC reads code M00 in a block, it interrupts the program. To start up again, press CYCLE
START.
We recommend that you set this function in the table of M functions, in such a way that it is executed
at the end of the block in which it is programmed.
This is identical to M00, except that the CNC only takes notice of it if the signal M01 STOP from
5.
This code indicates the end of program and carries out a "General Reset" function of the CNC
(returning it to original state). It also carries out the M05 function.
We recommend that you set this function in the table of M functions, in such a way that it is executed
at the end of the block in which it is programmed.
Identical to M02 except that the CNC returns to the first block of the program.
This code represents clockwise spindle start. As explained in the corresponding section, the CNC
automatically executes this code in the machining canned cycles.
It is recommended to set this function in the table of M functions, so that it is executed at the beginning
of the block in which it is programmed.
This code represents counterclockwise spindle start. We recommend that you set this function in
the table of M functions, so that it is executed at the beginning of the block in which it is programmed.
We recommend that you set this function in the table of M functions, in such a way that it is executed CNC 8055
at the end of the block in which it is programmed. CNC 8055i
·79·
Prog ramm in g man u a l
• Auxiliary spindle: PLCM45 (M5076) to stop the auxiliary spindle and PLCM45S (M5077) to start
it up.
The PLC activates these marks to indicate to the CNC that it must execute the corresponding M
function at the indicated spindle.
If that spindle is not the main spindle at that moment, it changes the M in the execution history, it
activates the corresponding PLC mark DM3/4//5 and executes the transfer with the PLC (it writes
the M number in the MBCD1 (R550) register, it activates the MSTROBE signal, it waits for the
AUXEND signal to go up and it cancels the MSTROBE signal; if the M function is set as not to wait
for AUXEND in the M function table, it waits for the time period set with MINAENDW and cancels
5. the MSTROBE).
When acting upon the secondary spindle, it executes the same operation, but having activated the
Auxiliary function (M)
ISO CODE PROGRAMMING
mark S2MAIN (M5536) first and then cancelling it at the end. This operation is done automatically;
i.e. there is no need to program it at the PLC.
Even if the M3, M4 or M5 function has an associated subroutine in the M function table, that
subroutine will not be executed when they are executed using the PLC marks.
When executing M3, M4 or M5 using the PLC marks, the gear change that could be required by
the new S is not output to the PLC even if the gear change is automatic.
If the CNC is started up with no gear being active yet, because no M3 or M4 has been executed in
the main channel, the CNC will issue an error message even if it has been configured as AUTOGEAR.
The CNC will admit the M functions from the PLC as long as it is not in an error state or with LOPEN
(M5506) high, whether there is an execution active or not, either in manual or automatic. If the M
function is executed during a tool inspection and the spindle turning direction is changed, the change
will be identified in repositioning and it will offer the choice to change it again.
If when activating the M3, M4 or M5 marks via PLC, the main channel is transferring something to
the PLC, the PLC keeps the mark active until the CNC can attend to it. Once the M function is
executed, the CNC deactivates the mark.
In the following cases, the CNC ignores these PLC marks and deletes the mark so the request is
not left as pending:
• When the spindle is threading in electronic threading (G33).
• When it is doing a rigid tapping or a regular tapping.
• When the CNC is in error state or when LOPEN (M5506) is high.
If several marks of different spindles are activated at the same time, the below order will be followed:
first the first spindle, then the second spindle and finally the auxiliary spindle.
When receiving contradictory marks, they will all be ignored. When receiving several marks at the
same time and there is a stop (PLCM5 / PLCM45) between them, only this will be considered and
the rest will be ignored and not saved.
If the spindle has M19TYPE=1, the spindle is homed with the first M3 or M4 after start-up, as long
as that M function is executed in manual or automatic mode. If the M function is executed using one
of the PLC marks, the spindle will not be homed.
When activating the PLC marks while homing the spindle, the PLC command stays waiting for the
homing operation to be over. If the home search is associated with the first M3 or M4 after start-
up, the PLC command stays waiting for the homing operation is over.
If there are synchronized spindles, it acts upon the command of the main and secondary spindles
at the same time.
While executing the M function, it is possible to abort the process by deactivating the PLC mark that
CNC 8055 has initiated it.
CNC 8055i
Note:
The PLCM5 mark is used to handle the open-door safety operation defined by Fagor Automation.
·80·
P r o gr a m m i ng m a n u a l
If the general machine parameter "TOFFM06" (indicating that it is a machining center) is active, the
CNC sends instructions to the tool changer and updates the table corresponding to the tool
magazine.
It is recommended to set this function in the table of M functions, so that the subroutine
corresponding to the tool changer installed in the machine is executed.
The functions T and M06 may be programmed in the same block, regardless if they have an
associated subroutine or not. In a block where the functions T and M06 are programmed, nothing
else may be programmed. 5.
CNC 8055
CNC 8055i
·81·
Prog ramm in g man u a l
With this CNC it is possible to work with the spindle in open loop (M3, M4) and with the spindle in
closed loop (M19).
In order to work in closed loop, it is necessary to have a rotary encoder installed on the spindle of
the machine.
To switch from open loop to closed loop, execute function M19 or M19 S±5.5. The CNC will act as
follows:
5. • If the spindle has a home switch, the CNC modifies the spindle speed until it reaches the one
set by spindle machine parameter "REFEED1".
It then searches for actual marker pulse (Io) of the spindle encoder at the turning speed set by
Auxiliary function (M)
ISO CODE PROGRAMMING
To, now, orient the spindle to another position, program M19 S±5.5, the CNC will not perform the
home search since it is already in closed loop and it will orient the spindle to the indicated position.
(S±5.5).
The S±5.5 code indicates the spindle position, in degrees, from the spindle reference point (marker
pulse).
The sign indicates the counting direction and the 5.5 value is always considered to be absolute
coordinates regardless of the type of units currently selected.
Example:
S1000 M3
Spindle in open loop.
M19 S100
The spindle switches to closed loop. Home search and positioning (orientation) at 100º.
M19 S -30
The spindle orients to -30º, passing through 0º.
M19 S400
The spindle turns a whole revolution and positions at 40º.
i During the M19 process the screen will display the warning: “M19 in execution"
CNC 8055
CNC 8055i
·82·
P r o gr a m m i ng m a n u a l
The CNC offers 4 spindle speed ranges M41, M42, M43 and M44 with maximum speed limits set
by the spindle machine parameters "MAXGEAR1", MAXGEAR2", "MAXGEAR3" and
"MAXGEAR4".
If machine parameter "AUTOGEAR" is set so the CNC executes the range change automatically,
M41 thru M44 will be sent out automatically by the CNC without having to be programmed.
If this machine parameter is set for non-automatic gear change, M41 thru M44 will have to be
programmed every time a gear change is required. Bear in mind that the maximum velocity
command value assigned to machine parameter "MAXVOLT" corresponds to the maximum speed
indicated for each one of the speed ranges (machine parameters "MAXGEAR1" thru
5.
"MAXGEAR4").
CNC 8055
CNC 8055i
·83·
Prog ramm in g man u a l
In order to use this miscellaneous function, it is necessary to set one of the axes of the machine
as auxiliary spindle or live tool (general machine parameter P0 thru P7).
To use the auxiliary spindle or live tool, execute the command: M45 S±5.5 where S indicates the
turning speed in rpm and the sign indicates the turning direction.
The CNC will output the velocity command corresponding to the selected speed according to the
value assigned to the machine parameter "MAXSPEED" for the auxiliary spindle.
Whenever the auxiliary spindle or live tool is active, the CNC will let the PLC know by activating the
Auxiliary function (M)
ISO CODE PROGRAMMING
Also, it is possible to set the machine parameter for the auxiliary spindle "SPDLOVR" so the Override
keys of the front panel can modify the currently active turning speed of the auxiliary spindle.
CNC 8055
CNC 8055i
·84·
PATH CONTROL
6
The CNC allows you to program movements on one axis only or several at the same time.
Only those axes which intervene in the required movement are programmed. The programming
order of the axes is as follows :
X, Y, Z, U, V, W, A, B, C
The movements programmed after the G00 are executed using the rapid feedrate found in the
machine axis parameter "G00FEED".
Independently of the number of axis which move, the resulting path is always a straight line between
the starting point and the final point.
It is possible, via the general machine parameter "RAPIDOVR", to establish if the feedrate override
% switch (when working in G00) operates from 0% to 100%, or whether it stays constant at 100%.
When G00 is programmed, the last "F" programmed is not cancelled i.e. when G01, G02 or G03
are programmed again "F" is recovered.
G00 is modal and incompatible with G01, G02, G03, G33 G34 and G75. Function G00 can be
programmed as G or G0.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC assumes code
G00 or G01, depending on how general machine parameter "IMOVE" has been set.
CNC 8055
CNC 8055i
·85·
Prog ramm in g man u a l
The movements programmed after G01 are executed according to a straight line and at the
programmed feedrate "F".
When two or three axes move simultaneously the resulting path is a straight line between the starting
point and the final point.
The machine moves according to this path to the programmed feedrate "F". The CNC calculates
the feedrates of each axis so that the resulting path is the "F" value programmed.
6.
Linear interpolation (G01)
PATH CONTROL
The programmed feedrate "F" may vary between 0% and 120% via the switch located on the Control
Panel of the CNC, or by selecting between 0% and 255% from the PLC, or via the DNC or the
program.
The CNC, however, is equipped with the general machine parameter "MAXFOVR" to limit maximum
feedrate variation.
With this CNC, it is possible to program a positioning-only axis in a linear interpolation block. The
CNC will calculate the feedrate for this positioning-only axis so it reaches the target coordinate at
the same time as the interpolating axes.
Function G01 is modal and incompatible with G00, G02, G03, G33 and G34. Function G01 can be
programmed as G1.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC assumes code
G00 or G01, depending on how general machine parameter "IMOVE" has been set.
CNC 8055
CNC 8055i
·86·
P r o gr a m m i ng m a n u a l
Movements programmed after G02 and G03 are executed in the form of a circular path and at the
programmed feedrate "F".
Clockwise (G02) and counterclockwise (G03) definitions are established according to the system
of coordinates shown below: 6.
Circular interpolation can only be executed on a plane. The form of definition of circular interpolation
is as follows :
Cartesian coordinates
The coordinates of the endpoint of the arc and the position of the center with respect to the starting
point are defined according to the axes of the work plane.
The center coordinates are defined in radius by the letters I, J, or K, each one of these being
associated to the axes as follows: When not defining the center coordinates, the CNC assumes that
their value is zero.
Axes X, U, A ==> I
Axes Y, V, B ==> J
Axes Z, W, C ==> K
Plane YZ: G02(G03) Y±5.5 Z±5.5 J±6.5 K±6.5 ·M· & ·EN· MODELS
SOFT: V02.2X
·87·
Prog ramm in g man u a l
The programming order of the axes is always maintained regardless of the plane selected,, as are
the respective center coordinates.
Polar coordinates
6. It is necessary to define the angle to be traveled Q and the distance from the starting point to the
center (optional), according to the axes of the work plane.
Circular interpolation (G02, G03)
PATH CONTROL
The center coordinates are defined by the letters I, J, or K, each one of these being associated to
the axes as follows:
Axes X, U, A ==> I
Axes Y, V, B ==> J
Axes Z, W, C ==> K
If the center of the arc is not defined, the CNC will assume that it coincides with the current polar
origin.
Programming format:
The coordinates of the endpoint of the arc and radius R are defined.
Programming format:
If a complete circle is programmed, with radius programming, the CNC will show the corresponding
error, as infinite solutions exist.
If an arc is less than 180o, the radius is programmed with a plus sign, and a minus sign if it is more
than 180o.
CNC 8055
CNC 8055i
·88·
P r o gr a m m i ng m a n u a l
6.
Depending on the circular interpolation G02 or G03, and on the radius sign, the relevant arc is
defined. Thus the programming format of the sample arcs is as follows:
Arc 1 G02 X.. Y.. R- ..
Arc 2 G02 X.. Y.. R+..
Arc 3 G03 X.. Y.. R+..
Arc 4 G03 X.. Y.. R- ..
The CNC calculates, depending on the programmed arc, the radii of the starting point and endpoint.
Although both of them should be "exactly" the same, general parameter "CIRINERR" allows a
certain calculation tolerance by establishing the maximum difference between these two radii. When
exceeding this value, the CNC will issue the corresponding error message.
In all these programming cases, the CNC checks that the center or radius coordinates do not exceed
214748.3647mm. Otherwise, the CNC will display the corresponding error.
The programmed feedrate "F" may vary between 0% and 120% via the switch located on the Control
Panel of the CNC, or by selecting between 0% and 255% from the PLC, or via the DNC or the
program.
The CNC, however, is equipped with the general machine parameter "MAXFOVR" to limit maximum
feedrate variation.
If the general machine parameter "PORGMOVE" has been selected and a circular interpolation
(G02 or G03) is programmed, the CNC assumes the center of the arc to be a new polar origin.
Functions G02 and G03 are modal and incompatible both among themselves and with G00, G01,
G33 and G34. Functions G02 and G03 can be programmed as G2 and G3.
Also, function G74 (home search) and G75 (probing) cancel the G02 and G03 functions.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC assumes code
G00 or G01, depending on how general machine parameter "IMOVE" has been set.
CNC 8055
CNC 8055i
·89·
Prog ramm in g man u a l
Programming examples
6.
Circular interpolation (G02, G03)
PATH CONTROL
Various programming modes are analyzed below, point X60 Y40 being the starting point.
Cartesian coordinates:
G90 G17 G03 X110 Y90 I0 J50
X160 Y40 I50 J0
Polar coordinates:
G90 G17 G03 Q0 I0 J50
Q-90 I50 J0
or:
G93 I60 J90 ; defines polar center
G03 Q0
G93 I160 J90 ; defines new polar center
Q-90
CNC 8055
CNC 8055i
·90·
P r o gr a m m i ng m a n u a l
6.
Cartesian coordinates:
G90 G17 G02 X170 Y80 I-50 J0
or:
G90 G17 G02 I-50 J0
Polar coordinates.
G90 G17 G02 Q36 0I-50 J0
or:
G93 I120 J80 ; defines polar center
G02 Q360
CNC 8055
CNC 8055i
·91·
Prog ramm in g man u a l
By adding function G06 to a circular interpolation block you can program the coordinates of the
center of the arc (I,J, or K) in absolute coordinates i.e. with respect to the zero origin and not to the
beginning of the arc.
Function G06 is not modal, so it should be programmed any time the coordinates of the center of
the arc are required in absolute coordinates. G06 can be programmed as G6.
6.
Circular interpolation with absolute arc center coordinates (G06)
PATH CONTROL
Various programming modes are analyzed below, point X60 Y40 being the starting point.
Cartesian coordinates:
G90 G17 G06 G03 X110 Y90 I60 J90
G06 X160 Y40 I160 J90
Polar coordinates:
G90 G17 G06 G03 Q0 I60 J90
G06 Q-90 I160 J90
CNC 8055
CNC 8055i
·92·
P r o gr a m m i ng m a n u a l
Via function G08 you can program an arc tangential to the previous path without having to program
the coordinates (I.J &K) of the center.
Only the coordinates of the endpoint of the arc are defined, either in polar coordinates or in Cartesian
coordinates according to the axes of the work plane.
6.
Function G08 is not modal, so it should always be programmed if you wish to execute an arc
tangential to the previous path. Function G08 can be programmed as G8.
Function G08 enables the previous path to be a straight line or an arc and does not alter its history.
The same function G01, G02 or G03 stays active after the block is finished.
When using function G08 it is not possible to execute a complete circle, as an infinite range of solutions
exists. The CNC displays the corresponding error code.
CNC 8055
CNC 8055i
·93·
Prog ramm in g man u a l
Through function G09 you can define an arc by programming the endpoint and an intermediate point
(the starting point of the arc is the starting point of the movement). In other words, instead of
programming the coordinates of the center, you program any intermediate point.
The endpoint of the arc is defined in Cartesian or polar coordinates, and the intermediate point is
always defined in Cartesian coordinates by the letters I,J, or K, each one being associated to the
axes as follows:
6. Axes X, U, A
Axes Y, V, B
==>
==>
I
J
Arc defined by three points (G09)
PATH CONTROL
Axes Z, W, C ==> K
In Cartesian coordinates:
Polar coordinates:
Example:
Function G09 is not modal, so it should always be programmed if you wish to execute an arc defined
by three points. Function G09 can be programmed as G9.
When G09 is programmed it is not necessary to program the direction of movement (G02 or G03).
Function G09 does not alter the history of the program. The same G01, G02 or G03 function stays
active after finishing the block.
Function G09 may not be used to programmed a full circle because all three points must be different.
The CNC displays the corresponding error code.
CNC 8055
CNC 8055i
·94·
P r o gr a m m i ng m a n u a l
A helical interpolation consists in a circular interpolation in the work plane while moving the rest of
the programmed axes.
6.
Helical interpolation
PATH CONTROL
The helical interpolation is programmed in a block where the circular interpolation must be
programmed by means of functions: G02, G03, G08 or G09.
G02 XYIJZ
G02 XYRZA
G03 QIJAB
G08 XYZ
G09 XYIJZ
If the helical interpolation is supposed to make more than one turn, the linear movement of another
axis must also be programmed (one axis only).
On the other hand, the pitch along the linear axis must also be set (format 5.5) by means of the I,
J and K letters. Each one of these letters is associated with the axes as follows:
Axes X, U, A ==> I
Axes Y, V, B ==> J
Axes Z, W, C ==> K
G02 XYIJZK
G02 XYRZK
G03 QIJAI
G08 XYBJ
G09 XYIJZK
Example:
Z
Programming a helical interpolation
(X, Y)
Y where the starting point is X0 Y0 Z0.
CNC 8055
X
CNC 8055i
15
It is now possible to program helical interpolations while Look Ahead is active (G51). Thanks to this, ·M· & ·EN· MODELS
CAN/CAM programs that contain this type of paths may be executed while look-ahead is active. SOFT: V02.2X
·95·
Prog ramm in g man u a l
Via function G37 you can tangentially link two paths without having to calculate the intersection
points.
Function G37 is not modal, so it should always be programmed if you wish to start a machining
operation with tangential entry:
6.
Tangential entry at the beginning of a machining operation (G37)
PATH CONTROL
If the starting point is X0 Y30 and you wish to machine an arc (the path of approach being straight)
you should program:
G90 G01 X40
G02 X60 Y10 I20 J0
If, however, in the same example you require the entrance of the tool to the part to be machined
tangential to the path and describing a radius of 5 mm, you should program:
As can be seen in the figure, the CNC modifies the path so that the tool starts to machine with a
tangential entry to the part.
You have to program Function G37 plus value R in the block which includes the path you want to
modify.
CNC 8055 R5.5 should appear in all cases following G37, indicating the radius of the arc which the CNC enters
CNC 8055i to obtain tangential entry to the part. This R value must always be positive.
Function G37 should only be programmed in the block which includes a straight-line movement (G00
or G01). If you program in a block which includes circular movement (G02 or G03), the CNC displays
the corresponding error.
·M· & ·EN· MODELS
SOFT: V02.2X
·96·
P r o gr a m m i ng m a n u a l
Function G38 enables the ending of a machining operation with a tangential exit of the tool. The
path should be in a straight line (G00 or G01). Otherwise, the CNC will display the corresponding
error.
Function G38 is not modal, so it should be programmed whenever a tangential exit of the tool is
required.
Value R 5.5 should always appear after G38. It also indicates the radius of the arc which the CNC
applies to get a tangential exit from the part. This R value must always be positive.
6.
If, however, in the same example you wish the exit from machining to be done tangentially and
describing a radius of 5 mm, you should program :
G90 G01 X40
G02 G38 R5 X80 I20 J0
G00 X120
CNC 8055
CNC 8055i
·97·
Prog ramm in g man u a l
In milling operations, it is possible to round a corner via function G36 with a determined radius,
without having to calculate the center nor the start and end points of the arc.
Function G36 is not modal, so it should be programmed whenever controlled corner rounding is
required.
This function should be programmed in the block in which the movement the end you want to round
is defined.
6. The R5.5 value should always follow G36. It also indicates the rounding radius which the CNC
applies to get the required corner rounding. This R value must always be positive.
Automatic radius blend (G36)
PATH CONTROL
CNC 8055
CNC 8055i
·98·
P r o gr a m m i ng m a n u a l
In machining operations it is possible (using G39) to chamfer corners between two straight lines,
without having to calculate intersection points.
Function G39 is not modal, so it should be programmed whenever the chamfering of a corner is
required.
This function should be programmed in the block in which the movement whose end you want to
chamfer is defined.
The R5.5 value should always follow G39. It also indicates the distance from the end of the
programmed movement as far as the point where you wish to carry out the chamfering. This R value
6.
must always be positive.
Chamfer (G39)
PATH CONTROL
G90 G01 G39 R15 X35 Y60
X50 Y0
CNC 8055
CNC 8055i
·99·
Prog ramm in g man u a l
If the machine spindle is equipped with a rotary encoder, you can thread with a tool tip via function
G33.
Although this threading is often done along the entire length of an axis, the CNC enables threading
to be done interpolating more than one axis at a time.
Programming format:
G33 X.....C L Q
Q ±3.5 Optional. It indicates the spindle angular position (±359.9999) of the thread's starting
point. If not programmed, a value of 0 is assumed.
Considerations:
Whenever G33 is executed, if s.m.p. M19TYPE (P43) =0, and before making the servo-driven
thread, the CNC references the spindle (home search).
Spindle machine parameter M19TYPE (P43) must be set to "1" in order to be able to program
parameter Q (angular spindle position).
When executing function G33 Q (s.m.p. M19TYPE (P43) =1), and before executing the thread, a
home search must be made for the spindle after the last power-up.
When executing function G33 Q (s.m.p. M19TYPE (P43) =1), and the s.m.p. DECINPUT (P31) =NO,
a home search is not needed for the spindle, since the CNC will be homed automatically after power-
up when turning the spindle in M3 or in M4 for the first time.
This search will be carried out at the feedrate set by s.m.p. REFEED2 (P35). After finding home,
the spindle will speed up or slow down to the programmed speed without stopping.
If the spindle has motor feedback with a SINCOS encoder (without reference mark), the home
search will be done directly at the programmed S speed without going through the speed set by
s.m.p. REFEED2.
If after power-up, an M19 is executed before an M3 or M4, that M19 will be executed without homing
the spindle when executing the first M3 or M4.
If the feedback device does not have the reference mark synchronized, the home search in M3 might
not coincide with the home search in M4. This does not happen with FAGOR feedback.
If the threads are blended together in round corner, only the first one can have an entry angle (Q).
While function G33 is active, neither the programmed feedrate "F" nor the programmed Spindle
speed "S" can be varied. They will both be set to 100%.
Function G33 is modal and incompatible with G00, G01, G02, G03, G34 and G75.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC assumes code
G00 or G01, depending on how general machine parameter "IMOVE" has been set.
CNC 8055
CNC 8055i
·100·
P r o gr a m m i ng m a n u a l
Example:
We would like to a make a thread in a single pass in X0 Y0 Z0, with a depth of 100 mm and a pitch
of 5 mm using a threadcutting tool located in Z10.
G90 G0 X Y Z ; Positioning
Threading (G33)
PATH CONTROL
Z30 ; Withdrawal (exit the hole)
CNC 8055
CNC 8055i
·101·
Prog ramm in g man u a l
To make variable-pitch threads, the spindle of the machine must have a rotary encoder.
Although this threading is often done along the entire length of an axis, the CNC enables threading
to be done interpolating more than one axis at a time.
Programming format:
G34 X.....C L Q K
6. X...C ±5.5
L 5.5
End point of the thread
Thread pitch
Variable pitch threads (G34)
PATH CONTROL
Q ±3.5 Optional. It indicates the spindle angular position (±359.9999) of the thread's starting
point. If not programmed, a value of "0" is assumed.
Considerations:
Whenever G34 is executed and before making the thread, the CNC references the spindle (home
search) and positions the spindle at the angular position indicated by parameter Q.
Parameter "Q" is available when spindle machine parameter "M19TYPE" has been set to "1".
When working in round corner mode (G05), it is possible to blend different threads in the same part.
While function G34 is active, neither the programmed feedrate "F" nor the programmed Spindle
speed "S" can be varied. They will both be set to 100%.
Function G34 is modal and incompatible with G00, G01, G02, G03, G33 and G75.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC assumes code
G00 or G01, depending on how general machine parameter "IMOVE" has been set.
The starting thread pitch (L) of the G34 must coincide with the thread pitch of the G33.
The pitch increase in the first turn of the spindle in variable pitch will be half and increment (K/2)
and in the rest of the turns it will be the full increment K.
It is used to finish a variable-pitch thread (G34) with a portion of the thread keeping the final pitch
of the previous thread.
Since it is very complicated to calculate the final thread pitch, the fixed-pitch thread is not
programmed with G33 but with G34 ... L0 K0. The CNC calculates the pitch.
CNC 8055
CNC 8055i
·102·
P r o gr a m m i ng m a n u a l
By means of function G52 it is possible to program the movement of an axis until running into an
object. This feature may be interesting for forming machines, live tailstocks, bar feeders, etc.
After G52, program the desired axis as well as the target coordinate of the move.
The axis will move towards the programmed target coordinate until running into something. If the
axis reaches the programmed target coordinate without running into the hardstop it will stop. 6.
Function G52 is not modal; therefore, it must be programmed every time this operation is to be
Also, it assumes functions G01 and G40 modifying the program history. It is incompatible with
functions G00, G02, G03, G33, G34, G41, G42, G75 and G76.
CNC 8055
CNC 8055i
·103·
Prog ramm in g man u a l
There are instances when it is easier to define the time required by the various axes of the machine
to reach the target point instead of defining a common feedrate for all of them.
A typical case may be when a linear axis (X, Y, Z) has to move together (interpolated) with a rotary
axis programmed in degrees.
Function G32 indicates that the "F" functions programmed next set the time it takes to reach the
target point.
6. In order for a greater value of "F" to indicate a greater feedrate, the value assigned to "F" is defined
as "Inverted function of time" and it is assumed as the activation of this feature.
PATH CONTROL
Feedrate "F" as an inverted function of time (G32)
On power-up, after executing M02, M30 or after an Emergency or Reset, the CNC assumes G94
or G95 depending on the setting of general machine parameter "IFFED".
Considerations:
The CNC variable PROGFIN will show the feedrate programmed as an inverted function of time and
variable FEED will show the resulting feedrate in mm/min or inches/min.
If the resulting feedrate of any axis exceeds the maximum value set by machine parameter
"MAXFEED", the CNC will apply this maximum value.
The programmed "F" is ignored on G00 movements. All the movements will be carried out at the
feedrate set by axis machine parameter "G00FEED".
When programming "F0" the movement will be carried out at the feedrate set by axis machine
parameter "MAXFEED".
CNC 8055
CNC 8055i
·104·
P r o gr a m m i ng m a n u a l
The "Tangential Control" function keeps an axis always in the same orientation with respect to the
programmed path.
6.
The path is defined by the axes of the active plane. The axis maintaining the orientation must be
a rotary rollover axis (A, B or C).
Programming format:
G45 Axis Angle
Angle Indicates the angular position in degrees with respect to the path (±359.9999). If not
programmed, "0" will be assumed.
To cancel this function, program G45 alone (without defining the axis).
Every time G45 (tangential control) is activated, the CNC acts as follows:
1. Positions the tangential axis, with respect to the first section in the programmed position.
2. The interpolation of the plane axes starts once the tangential axis has been positioned.
3. The orientation of the tangential axis is maintained in linear sections whereas in circular
interpolations the programmed orientation is maintained throughout the whole travel.
CNC 8055
CNC 8055i
·105·
Prog ramm in g man u a l
4. If the joint of sections requires a new orientation of the tangential axis, the following takes place:
·1· Ends the current section.
·2· Orients the tangential axis with respect to the next section.
·3· Resumes the execution.
6.
When working in round corner (G05), the tool orientation is not maintained at the corners since
Tangential control (G45)
PATH CONTROL
Even when the tangential axis takes the same orientation by programming 90° or -270°, the turning
direction in a direction change depends on the programmed value.
CNC 8055
CNC 8055i
·106·
P r o gr a m m i ng m a n u a l
Tangential control, G45, is optional. It can only be executed in the main channel and is compatible
with:
• Tool radius and length compensation (G40, 41, 42, 43, 44).
• Mirror image (G10, 11, 12, 13 14).
• Gantry axes , including the gantry axis associated with the tangential rotary axis.
The maximum feedrate while orienting the tangential axis is defined by machine parameter
MAXFEED for that axis.
While tangential control is active, tool inspection is also possible. When accessing tool inspection,
6.
While in JOG mode, tangential control may be activated in MDI mode and the axes may be moved
by programming blocks in MDI.
Tangential control is canceled when jogging the axes with the jog keys (not in MDI). Once the
movement is over, tangential control is recovered.
The TANGAN variable is read-only, from the CNC, PLC and DNC, associated with function G45.
It indicates the angular position, in degrees, referred to the programmed path.
Also, general logic output TANGACT (M5558) indicates to the PLC that function G45 is active.
Function G45 is modal and is canceled when executing G45 alone (without defining the axis), on
power-up, after executing an M02 or M30 or after an EMERGENCY or RESET.
CNC 8055
CNC 8055i
·107·
Prog ramm in g man u a l
Function G145 may be used to cancel the tangential control (G415) temporarily:
G145 K0
It cancels the tangential control temporarily. Function G45 stays in the history and the new function
G145 comes up in it.
6. If no G45 has been programmed, G145 is ignored. If K is not programmed, K0 will be assumed.
G145 K1
G145. Temporary cancellation of tangential control
PATH CONTROL
It resumes the tangential control of the axis with the angle it had before it was canceled. Then, G145
disappears from history.
CNC 8055
CNC 8055i
·108·
ADDITIONAL PREPARATORY
FUNCTIONS
7
7.1 Interruption of block preparation (G04)
The CNC reads up to 20 blocks ahead of the one it is executing, with the aim of calculating
beforehand the path to be followed.
Each block is evaluated (in its absence) at the time it is read, but if you wish to evaluate it at the
time of execution of the block you use function G04.
This function holds up the preparation of blocks and waits for the block in question to be executed
in order to start the preparation of blocks once more.
A case in point is the evaluation of the "status of block-skip inputs" which is defined in the block
header.
Example:
.
.
G04 ; Interrupts block preparation
/1 G01 X10 Y20 ; block-skip condition "/1"
.
.
Function G04 is not modal, so it should be programmed whenever you wish to interrupt block
preparation.
It should be programmed on its own and in the block previous to the one in which the evaluation
in execution is required. Function G04 can be programmed as G4.
Every time G04 is programmed, active radius and length compensation are cancelled.
For this reason, care needs to be taken when using this function, because if it is introduced between
machining blocks which work with compensation, unwanted profiles may be produced.
CNC 8055
CNC 8055i
·109·
Prog ramm in g man u a l
Example:
The following program blocks are performed in a section with G41 compensation.
...
N10 X50 Y80
N15 G04
/1 N17 M10
N20 X50 Y50
N30 X80 Y50
...
7. Block N15 interrupts block preparation and the execution of block N10 will finish at point A.
ADDITIONAL PREPARATORY FUNCTIONS
Interruption of block preparation (G04)
Once the execution of block N15 has been carried out, the CNC continues preparing blocks starting
from block N17.
As the next point corresponding to the compensated path is point "B", the CNC will move the tool
to this point, executing path "A-B".
As you can see, the resulting path is not the required one, so we recommend avoiding the use of
function G04 in sections which work with compensation.
CNC 8055
CNC 8055i
·110·
P r o gr a m m i ng m a n u a l
The function associated with G04 K0 may be used to update the coordinates of the axes of the
channel after finishing particular PLC routines.
The PLC routines that require updating the coordinates of the axes of the channel are the following:
• PLC routine using the SWITCH* marks.
• PLC routines where an axis goes into DRO mode and then back into normal axis mode during
the execution of part programs.
G04 operation:
7.
Function Description
G04 K0 or G04 K It interrupts block preparation and updates the CNC coordinates to the current
position.
(G4 K0 works in the CNC and PLC channel).
If bit 10 of the g.m.p. ADIMPG (P176) =1, with the instruction G04 K0, the coordinates are initialized
and the offset applied with the additive handwheel is eliminated on all the axes that had an offset.
The coordinates will be initialized to the real coordinates of the machine and the offset will be deleted
without moving any machine axis at all.
CNC 8055
CNC 8055i
·111·
Prog ramm in g man u a l
Example:
G04 K50 ; Dwell of 50 hundredths of a second (0.5 seconds)
G04 K200 ; Dwell of 200 hundredths of a second (2 seconds)
7. Function G04 K is not modal, so it should be programmed whenever a dwell is required. Function
G04 K can be programmed as G4 K.
ADDITIONAL PREPARATORY FUNCTIONS
Dwell (G04 K)
CNC 8055
CNC 8055i
·112·
P r o gr a m m i ng m a n u a l
When working in G07 (square corner) the CNC does not start executing the following program block
until the position programmed in the current block has been reached.
The CNC considers that the programmed position has been reached when the axis is within the
"INPOSW" (in-position zone or dead band) from the programmed position.
7.
The theoretical and real profile coincide, obtaining square corners, as seen in the figure.
Function G07 is modal and incompatible with G05, G50 and G51. Function G07 can be programmed
as G7.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC assumes code
G05 or G07 depending on how the general machine parameter "ICORNER" is set.
CNC 8055
CNC 8055i
·113·
Prog ramm in g man u a l
When working in G05 (round corner), the CNC starts executing the following block of the program
as soon as the theoretical interpolation of the current block has concluded. It does not wait for the
axes to physically reach the programmed position.
The distance prior to the programmed position where the CNC starts executing the next block
depends on the actual axis feedrate.
7.
ADDITIONAL PREPARATORY FUNCTIONS
Working with square (G07) and round (G05,G50) corners
Via this function round corners can be obtained, as shown in the figure.
The difference between the theoretical and real profiles depends on the programmed feedrate value
"F". The higher the feedrate, the greater the difference between both profiles.
Function G05 is modal and incompatible with G07, G50 and G51. Function G05 can be programmed
as G5.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC assumes code
G05 or G07 depending on how the general machine parameter "ICORNER" is set.
CNC 8055
CNC 8055i
·114·
P r o gr a m m i ng m a n u a l
When working in G50 (controlled round corner); once the theoretical interpolation of the current
block has concluded, the CNC waits for the axis to enter the area defined by machine parameter
"INPOSW2" and it then starts executing the following block of the program.
7.
G91 G01 G50 Y70 F100
Function G50 assures that the difference between the theoretical and actual paths stays smaller
than what was set by machine parameter "INPOSW2".
On the other hand, when working in G05, the difference between the theoretical and real profiles
depends on the programmed feedrate value "F". The higher the feedrate, the greater the difference
between both profiles.
Function G50 is modal and incompatible with G07, G05 and G51.
On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC assumes code
G05 or G07 depending on how the general machine parameter "ICORNER" is set.
CNC 8055
CNC 8055i
·115·
Prog ramm in g man u a l
Programs consisting of very small movement blocks (CAM, digitizing, etc.) tend to run very slowly.
Those programs may be executed at high machining speed using the "Look-Ahead" function.
The look-ahead function analyzes in advance the path to be machined (up to 75 blocks) in order
to calculate the maximum feedrate for each section of the path. This function provides smoother
and faster machining in programs with very small movements, even in the order of microns.
When operating with "Look-Ahead", it is a good idea to adjust the axes so their following error (lag)
7. is as small as possible because the contouring error will be at least equal to the minimum following
error.
ADDITIONAL PREPARATORY FUNCTIONS
Look-ahead (G51)
Programming format:
The programming format is:
G51 [A] E B
B (0-180) It makes it possible to machine square corners using the Look-ahead function.
It indicates the angular value (in degrees) of the programmed corners, below which,
the machining operation will be carried out in square corner mode.
Block I
Block I+1
B
Parameter "A" permits using a standard working acceleration and another one to be used when
executing with Look-Ahead.
If parameter "B" is not programmed, the square corner management at the corners is canceled.
The square-corner management at the corners is valid for the look-ahead algorithm with jerk
management and for the look-ahead algorithm without jerk management.
If any of the circumstances listed below occurs while executing with Look-Ahead, the CNC slows
down to "0" at the previous block and it recovers the machining conditions for Look-Ahead in the
CNC 8055 next motion block.
CNC 8055i • Motionless block.
• Execution of auxiliary functions (M, S, T).
• Single block execution mode.
• MDI mode.
·M· & ·EN· MODELS
SOFT: V02.2X • Tool inspection mode.
If a Cycle Stop, Feed-Hold, etc. occurs while executing in Look-Ahead mode, the machine may not
stop at the current block, several additional blocks will be necessary to stop with the permitted
deceleration.
·116·
P r o gr a m m i ng m a n u a l
To prevent motionless blocks from causing a square-corner effect, change bit 0 of general machine
parameter MANTFCON (P189).
Function properties:
Function G51 is modal and incompatible with G05, G07 and G50. Should any of them be
programmed, function G51 will be canceled and the new one will be selected.
Function G51 must be programmed alone in a block and there must be no more information in that
block.
On power-up, after executing an M02, M30, of after an EMERGENCY or RESET, the CNC will cancel
G51, if it was active, and it will assume G05 or G07 according to the setting of general machine
parameter "ICORNER".
7.
CNC 8055
CNC 8055i
·117·
Prog ramm in g man u a l
This mode is indicated when machining accuracy is required, especially if Fagor filters have been
set for the axes by machine parameters.
The advanced look-ahead algorithm calculates the feedrates at the corners so as to take the effect
of those filters into consideration. When programming G51 E, the contouring errors when machining
corners will be closer to the value programmed in that G51 function depending on the filters.
To activate the advanced look-ahead algorithm, use bit 15 of g.m.p. LOOKATYP (P160).
7. Considerations
ADDITIONAL PREPARATORY FUNCTIONS
Look-ahead (G51)
• If there are no Fagor filters set by machine parameters in the axes of the main channel, activating
the advanced look-ahead algorithm will internally activate FIR filters of the 5th order and a
frequency of 30 Hz in all the axes of the channel.
• If there are Fagor filters set by machine parameters, activating the advanced look-ahead
algorithm will keep the values of those filters as long as their frequency is not higher than 30Hz
If their frequency is higher than 30 Hz, it will assume the values of 5th order and a frequency
of 30 Hz.
If there are several filters defined in the axes of the channel, the one with the lowest frequency
will be assumed as long as it is not higher than 30Hz.
• Even if the advanced look-ahead algorithm (using Fagor filters) is active with bit 15 of g.m.p.
LOOKATYP (P160), it will not start working in the following cases:
If g.m.p. IPOTIME (P73) = 1.
If any of the axes of the main channel has a.m.p. SMOTIME (P58) not equal to 0.
If any of the axes of the main channel has defined by parameter a non-Fagor type filter, a.m.p.
TYPE (P71) not equal to 2.
In these cases, when activating G51, the CNC will issue the corresponding error message.
CNC 8055
CNC 8055i
·118·
P r o gr a m m i ng m a n u a l
This option makes it possible to use Fagor filters with Look-ahead (not advanced look-ahead
algorithm). It will only be considered if the advanced look-ahead algorithm is deactivated; that is,
if bit 15 of g.m.p. LOOKATYP (P160)=0.
Programmed movement.
CNC 8055
CNC 8055i
·119·
Prog ramm in g man u a l
7. G14:
Examples:
Mirror image on any axis (X..C), or in several at the same time.
ADDITIONAL PREPARATORY FUNCTIONS
Mirror image (G10, G11. G12, G13, G14)
G14 W
G14 X Z A B
When the CNC works with mirror images, it executes the movements programmed in the axes that
have mirror image selected, with the sign changed.
Functions G11, G12, G13, and G14 are modal and incompatible with G10.
G11, G12, and G13 can be programmed in the same block, because they are not incompatible with
CNC 8055 each other. Function G14 must be programmed alone in the block.
CNC 8055i If function G73 (pattern rotation) is also active in a mirror image program, the CNC first applies the
mirror image function and then the pattern rotation.
If while one of the mirror imaging functions (G11, G12, G13, and G14) is active, a new coordinate
origin (part zero) is preset with G92, this new origin will not be affected by the mirror imaging function.
·M· & ·EN· MODELS
SOFT: V02.2X On power-up, after executing M02, M30 or after EMERGENCY or RESET, the CNC assumes code
G10.
·120·
P r o gr a m m i ng m a n u a l
In this way, you can produce families of parts which are similar in shape but of different sizes with
a single program.
Function G72 should be programmed on its own in a block. There are two formats for programming
G72 :
• Scaling factor applied to all axes.
• Scaling factor applied to one or more axes. 7.
CNC 8055
CNC 8055i
·121·
Prog ramm in g man u a l
Following G72 all coordinates programmed are multiplied by the value of the scaling factor defined
by S until a new G72 scaling factor definition is read or the definition is canceled.
7.
ADDITIONAL PREPARATORY FUNCTIONS
Scaling factor (G72)
·M· & ·EN· MODELS Function G72 is modal and is cancelled when another scaling factor with a value of S1 is
SOFT: V02.2X
programmed, or on power-up, after executing M02, M30 or after EMERGENCY or RESET.
·122·
P r o gr a m m i ng m a n u a l
After G72 the axis or axes and the required scaling factor are programmed.
All blocks programmed after G72 are treated by the CNC as follows :
1. The CNC calculates the movement of all the axes in relation to the programmed path and
compensation.
2. It then applies the scaling factor indicated to the calculated movement of the corresponding axis
or axes.
7.
If, within the same program, both scaling factor types are applied, the one applied to all the axes
and the one for one or several axes, the CNC applies a scaling factor equal to the product of the
two scaling factors programmed for this axis to the axis or axes affected by both types.
Function G72 is modal and will be cancelled when the CNC is turned on, after executing M02, M30
or after an EMERGENCY or RESET.
i This type of scaling factor is ignored when simulating without moving the axes.
Application of the scaling factor to a plane axis, working with tool radius compensation.
As it can be observed, the tool path does not coincide with the required path, as the scaling
factor is applied to the calculated movement.
CNC 8055
CNC 8055i
·123·
Prog ramm in g man u a l
If a scaling factor equal to 360/2R is applied to a rotary axis, R being the radius of the cylinder on
which you wish to machine, this axis can be considered linear, and any figure with tool radius
compensation can be programmed on the cylindrical surface.
7.
ADDITIONAL PREPARATORY FUNCTIONS
Scaling factor (G72)
CNC 8055
CNC 8055i
·124·
P r o gr a m m i ng m a n u a l
Function G73 enables you to turn the system of coordinates, taking either the coordinates origin
or the programmed rotation center as the active rotation center.
Where:
I, J
Indicates the rotation angle in degrees.
The are optional and define the abscissa and ordinate respectively of the rotation center. If
7.
The "I" and "J" values are defined in absolute coordinates and referred to the coordinate origin of
the work plane. These coordinates are affected by the active scaling factor and mirror images.
You should remember that G73 is incremental i.e. the different Q values programmed add up.
CNC 8055
CNC 8055i
·125·
Prog ramm in g man u a l
7.
ADDITIONAL PREPARATORY FUNCTIONS
Pattern rotation (G73)
In a program which rotates the coordinate system, if any mirror image function is also active the CNC
first applies the mirror image function and then the turn.
The pattern rotation function can be cancelled either by programming G72 (on its own, without angle
value) or via G16, G17, G18, or G19, or on power-up, after executing M02, M30 or after
EMERGENCY or RESET.
CNC 8055
CNC 8055i
·126·
P r o gr a m m i ng m a n u a l
The CNC enables two or more axes to be coupled together. The movement of all axes is
subordinated to the movement of the axis to which they were coupled.
CNC 8055
CNC 8055i
·127·
Prog ramm in g man u a l
Function G77 allows the selection of both the master axis and the slaved axis (axes). The
programming format is as follows :
G77 <Axis 1> <Axis 2> <Axis 3> <Axis 4> <Axis 5>
Where <Axis 2>, <Axis 3>, <Axis 4> and <Axis 5> will indicate the axes to be coupled to <Axis
1>. You have to define <Axis 1> and <Axis 2>, the programming of the rest of the axes being
optional.
7. Example:
G77 X Y U ; Couples the Y and U axes to the X axis
Electronic axis coupling/uncoupling
ADDITIONAL PREPARATORY FUNCTIONS
CNC 8055
CNC 8055i
·128·
P r o gr a m m i ng m a n u a l
Function G78 enables you to uncouple all the axes that are coupled (slaved), or only uncouple
indicated axes.
G78 <Axis1> <Axis2> <Axis3> <Axis4> Only uncouples the indicated axes.
Example.
G77 X Y U ; Couples the Y and U axes to the X axis 7.
G77 V Z ; Couples the Z axis to the V axis
CNC 8055
CNC 8055i
·129·
Prog ramm in g man u a l
With this feature, on machines having two machining tables, it is possible to use a single part-
program to make the same parts on both tables.
7.
ADDITIONAL PREPARATORY FUNCTIONS
Axes toggle G28-G29
With function G28 the axes can be toggled from one to the other in such way that after that instruction
all the movements associated with the first axis next to G28 will take place on the second axis next
to G28 and vice versa.
Programming format:
G28 (axis 1) (axis 2)
To cancel the toggle, execute function G29 followed by one of the axes to be toggled back. Up to
three pairs of axes may be toggled at the same time.
The main axes cannot be toggled while the C axis is active on a lathe.
On power-up, after executing an M30 or after an emergency or reset, the axes are toggled back as
long as G48 or G49 is not active.
Example. Let us suppose that the part program is defined for table 1.
1. Execute the part-program on table 1
2. G28 BC. Toggle the "B" and "C" axes
3. Zero offset for machining on table 2.
4. Execute the part-program.
It will be executed on table 2.
In the meantime, replace the part made on table 1 with a new one.
5. G29 B. Toggle the BC axes back.
6. Cancel zero offset to machine on table 1.
7. Execute the part-program.
It will be executed on table 1.
In the meantime, replace the part made on table 2 with a new one.
CNC 8055
CNC 8055i
·130·
TOOL COMPENSATION
8
The CNC has a tool offset table, its number of components being defined via the general machine
parameter "NTOFFSET". The following is specified for each tool offset:
• Tool radius in work units in R±5.5 format.
• Tool length in work units in L±5.5 format.
• Wear of tool radius, in work units, in I±5.5 format. The CNC adds this value to the theoretical
radius (R) to calculate the real radius (R+I).
• Wear of tool length, in work units, in K±5.5 format. The CNC adds this value to the theoretical
length (L) to calculate the real length (L+K).
When tool radius compensation is required (G41 or G42), the CNC applies the sum of R+I values
of the selected tool offset as the compensation value.
When tool length compensation is required (G43), the CNC applies the sum of L+K values of the
selected tool offset as the compensation value.
CNC 8055
CNC 8055i
·131·
Prog ramm in g man u a l
In normal milling operations, it is necessary to calculate and define the path of the tool taking its
radius into account so that the required dimensions of the part are achieved.
Tool radius compensation allows the direct programming of part contouring and of the tool radius
without taking the dimensions of the tool into account.
The CNC automatically calculates the path the tool should follow based on the contour of the part
and the tool radius value stored in the tool offset table.
G41 The tool is to the left of the part, depending on the machining direction.
G42 The tool is to the right of the part, depending on the machining direction.
Tool values R, L, I, K should be stored in the tool offset table before starting machining, or should
be loaded at the beginning of the program via assignments to variables TOR, TOL, TOI, TOK.
Once the plane in which compensation will be applied has been chosen via codes G16, G17, G18,
or G19, this is put into effect by G41 or G42, assuming the value of the tool offset selected via code
D, or (in its absence) by the tool offset shown in the tool table for the selected tool (T).
Functions G41 and G42 are modal and incompatible to each other. They are cancelled by G40, G04
(interruption of block preparation), G53 (programming with reference to machine zero), G74 (home
search), machining canned cycles (G81, G82, G83, G84, G85, G86, G87, G88, G89) and also on
power-up, after executing M02, M30 or after EMERGENCY or RESET.
CNC 8055
CNC 8055i
·132·
P r o gr a m m i ng m a n u a l
Once the plane in which tool radius compensation has been selected (via G16, G17, G18, or G19),
functions G41 or G42 must be used to activate it.
G41: Left-hand tool radius compensation.
G42: Tool radius compensation to the right of the part.
In the same block (or a previous one) in which G41 or G42 is programmed, functions T, D, or only
T must be programmed so that the tool offset value to be applied can be selected from the tool offset
table. If no tool offset is selected, the CNC takes D0 with R0 L0 I0 K0.
When the new selected tool has function M06 associated with it and this, in turn, has an associated
8.
subroutine, the CNC will first process the motion block of that subroutine as the starting block of
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
the compensation.
If in that subroutine, a block is executed that contains function G53 (programming in machine
coordinates), the previously programmed G41 or G42 is canceled.
The selection of tool radius compensation (G41 or G42) can only be made when functions G00 or
G01 are active (straight-line movements).
If the compensation is selected while G02 or G03 are active, the CNC will display the corresponding
error message.
The following pages show different cases of starting tool radius compensation, in which the
programmed path is represented by a solid line and the compensated path with a dotted line.
In this case, the compensation is applied in the current tool position; depending on the first movement
programmed in the plane, the tool moves perpendicular to the path on its starting point.
The first movement programmed in the plane may be either linear or circular.
X
Y
···
X (X0 Y0) G90
G01 Y40
···
G91 G40 Y0 Z10
G90
G02 X20 Y20 I20 J0
G01 X-30 Y30
···
G01 G41 X-30 Y30 Z10
G01 X25
···
(X0 Y0)
CNC 8055
CNC 8055i
·133·
Prog ramm in g man u a l
STRAIGHT-STRAIGHT path
8.
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
CNC 8055
CNC 8055i
·134·
P r o gr a m m i ng m a n u a l
STRAIGHT-CURVED path
8.
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
CNC 8055
CNC 8055i
·135·
Prog ramm in g man u a l
The CNC reads up to 20 blocks ahead of the one it is executing, with the aim of calculating
beforehand the path to be followed. When working with tool radius compensation, the CNC needs
to know the next programmed movement to calculate the path to follow; therefore, no more than 17
blocks can be programmed in a row.
The diagrams (below) show the different paths followed by a tool controlled by a programmed CNC
with tool radius compensation. The programmed path is shown with solid line and the compensated
path with dashed line.
8.
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
The way the various paths are blended (joined) depends on the setting of machine parameter
COMPMODE.
• If it is set to ·0·, the compensation method depends on the angle between paths.
With an angle between paths of up to 300º, both paths are joined with straight sections. In the
rest of the cases, both paths are joined with arcs.
• If it is set to ·1·, both paths are joined with arcs.
• If it is set to ·2·, the compensation method depends on the angle between paths.
With an angle between paths of up 300º, it calculates the intersection. In the rest of the cases
it is compensated like COMPMODE = 0.
CNC 8055
CNC 8055i
·136·
P r o gr a m m i ng m a n u a l
It should be remembered that canceling radius compensation (G40) can only be done in a block
in which a straight-line movement is programmed (G00 or G01).
If G40 is programmed while functions G02 or G03 are active, the CNC displays the corresponding
error message.
The following pages show different cases of canceling tool radius compensation, in which the
programmed path is represented by a solid line and the compensated path with a dotted line.
8.
End of the compensation without programmed movement:
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
After cancelling the compensation, it could happen that the plane axes do not get involved in the
first motion block either because they have not been programmed or because the same point as
the tool position has been programmed or because a null incremental move has been programmed.
In this case, the compensation is canceled in the current tool position; depending on the last
movement executed in the plane, the tool moves to the end point without compensating the
programmed path.
(X0 Y0)
(X0 Y0)
Y
X
Y
···
X G90
··· G03 X-20 Y-20 I0 J-20
G90 G91 G40 Y0
G01 X-30 G01 X-20
G01 G40 X-30 ···
G01 X25 Y-25
···
CNC 8055
CNC 8055i
·137·
Prog ramm in g man u a l
STRAIGHT-STRAIGHT path
8.
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
CNC 8055
CNC 8055i
·138·
P r o gr a m m i ng m a n u a l
CURVED-STRAIGHT path
8.
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
CNC 8055
CNC 8055i
·139·
Prog ramm in g man u a l
8.
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
The programmed path is shown with solid line and the compensated path with dashed line.
Tool radius 10mm
Tool number T1
Tool offset number D1
; Preset
G92 X0 Y0 Z0
; Tool, offset and spindle start at S100
G90 G17 S100 T1 D1 M03
; Begins compensation
G41 G01 X40 Y30 F125Y70
X90
Y30
X40
; Cancels compensation
G40 G00 X0 Y0
M30
CNC 8055
CNC 8055i
·140·
P r o gr a m m i ng m a n u a l
8.
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
The programmed path is shown with solid line and the compensated path with dashed line.
Tool radius 10mm
Tool number T1
Tool offset number D1
; Preset
G92 X0 Y0 Z0
; Tool, offset and spindle start at S100
G90 G17 F150 S100 T1 D1 M03
; Begins compensation
G42 G01 X30 Y30
X50
Y60
X80
X100 Y40
X140
X120 Y70
X30
Y30
; Cancels compensation
G40 G00 X0 Y0
M30
CNC 8055
CNC 8055i
·141·
Prog ramm in g man u a l
8.
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
The programmed path is shown with solid line and the compensated path with dashed line.
Tool radius 10mm
Tool number T1
Tool offset number D1
; Preset
G92 X0 Y0 Z0
; Tool, offset and spindle start at S100
G90 G17 F150 S100 T1 D1 M03
; Begins compensation
G42 G01 X20 Y20
X50 Y30
X70
G03 X85Y45 I0 J15
G02 X100 Y60 I15 J0
G01 Y70
X55
G02 X25 Y70 I-15 J0
G01 X20 Y20
; Cancels compensation
G40 G00 X0 Y0 M5
M30
CNC 8055
CNC 8055i
·142·
P r o gr a m m i ng m a n u a l
The compensation may be changed from G41 to G42 or vice versa without having to cancel it with
G40. It may be changed in any motion block and even in a motionless one, i.e. without moving the
axes of the plane or by programming the same point twice.
It compensates independently the last movement before the change and the first one after the
change. To change the type of compensation, the different cases are solved according to the
following criteria:
A. The compensated paths cut each other.
The programmed paths are compensated each on its corresponding side. The side change takes
place in the intersection point between both paths.
8.
TOOL COMPENSATION
Tool radius compensation (G40, G41, G42)
B. The compensated paths do not cut each other.
An additional section is inserted between the two paths. From the point perpendicular to the first
path at the end point up to the point perpendicular to the second path at the starting point. Both
points are located at a distance R from the programmed path.
A B
A B
A B
CNC 8055
CNC 8055i
A B
·143·
Prog ramm in g man u a l
With this function it is possible to compensate possible differences in length between the
programmed tool and the tool being used.
The tool length compensation is applied on to the axis indicated by function G15 or, in its absence,
to the axis perpendicular to the main plane.
If G17, tool length compensation on the Z axis.
If G18, tool length compensation on the Y axis
Whenever one of functions G17, G18 or G19 is programmed, the CNC assumes as new longitudinal
TOOL COMPENSATION
Tool length compensation (G43, G44, G15)
axis (upon which tool length compensation will be applied) the one perpendicular to the selected
plane.
On the other hand, if function G15 is executed while functions G17, G18 or G19 are active, the new
longitudinal axis (selected with G15) will replace the previous one.
Function G43 only indicates that a longitudinal compensation is to be applied. The CNC starts
applying it when the longitudinal (perpendicular) axis starts moving.
; Preset
G92 X0 Y0 Z50
; Tool, offset ...
G90 G17 F150 S100 T1 D1 M03
; Selects compensation
G43 G01 X20 Y20
X70
; Begins compensation
Z30
When G43 is programmed, the CNC compensates the length in accordance with the value of the
tool offset selected with code D, or (in its absence) the tool offset shown in the tool table for the
selected tool (T).
Tool values R, L, I, K should be stored in the tool offset table before starting machining, or should
be loaded at the beginning of the program via assignments to variables TOR, TOL, TOI, TOK.
Function G43 is modal and can be canceled via G44 and G74 (home search). If general machine
parameter "ILCOMP=0", it is also canceled on power-up, after executing M02, M30 or after
EMERGENCY or RESET.
G53 (programming with respect to machine zero) temporarily cancels G43 only while executing a
block which contains a G53.
Length compensation can be used together with canned cycles, although here care should be taken
to apply this compensation before starting the cycle.
CNC 8055
CNC 8055i
·144·
P r o gr a m m i ng m a n u a l
8.
TOOL COMPENSATION
Tool length compensation (G43, G44, G15)
It is assumed that the tool used is 4 mm shorter than the programmed one.
Tool length -4mm
Tool number T1
Tool offset number D1
; Preset
G92 X0 Y0 Z0
; Tool, offset ...
G91 G00 G05 X50 Y35 S500 M03
; Begins compensation
G43 Z-25 T1 D1
G01 G07 Z-12 F100
G00 Z12
X40
G01 Z-17
; Cancels compensation
G00 G05 G44 Z42 M5
G90 G07 X0 Y0
M30
CNC 8055
CNC 8055i
·145·
Prog ramm in g man u a l
Using this option, the CNC analyzes in advance the blocks to be executed in order to detect loops
(profile intersections with itself) or collisions of the programmed profile. The number of blocks to be
analyzed (up to 50) may be defined by the user.
The example shows machining errors (E) due to a collision in the programmed profile. This type of
errors may be avoided using collision detection.
8.
Collision detection (G41 N, G42 N)
TOOL COMPENSATION
When detecting a loop or a collision, the blocks that caused it will not be executed and a warning
will be issued for each loop or collision eliminated.
Possible cases: step on a straight path, a step in a circular path and tool radius compensation too
large.
The information contained in the eliminated blocks, not being the moving in the active plane, will
be executed (including the movements of the axes).
Block detection is defined and activated with tool radius compensation functions G41 and G42. A
new parameter N (G41 N y G42 N) has been added to activate the feature and define the number
of blocks to analyze.
Possible values from N3 to N50. Without "N", or with N0, N1 and N2 , it behaves like in older versions.
In CAD generated programs that are made up of lots of very short blocks, it is recommended to use
very low N values (around 5) so as not to jeopardize block processing time.
When this function is active, the history of active G functions shows G41 N or G42 N.
CNC 8055
CNC 8055i
·146·
CANNED CYCLES
9
These canned cycles can be performed on any plane, the depth being along the axis selected as
longitudinal via function G15 or, in its absence, along the axis perpendicular to this plane.
It also offers the following functions that can be used with the machining canned cycles:
G79 Change of canned cycle parameters.
G98 Return to the starting plane at the end of the canned cycle
G99 Return to the reference plane at the end of the canned cycle.
CNC 8055
CNC 8055i
·147·
Prog ramm in g man u a l
A canned cycle is defined by the G function indicating the canned cycle and its corresponding
parameters.
A canned cycle cannot be defined in a block which has nonlinear movements (G02, G03, G08, G09,
G33 or G34).
Also, a canned cycle cannot be executed while function G02, G03, G33 or G34 is active. The CNC
will issue the corresponding error message.
9. However, once a canned cycle has been defined in a block and following blocks, functions G02, G03,
G08 or G09 can be programmed.
Canned cycle definition
CANNED CYCLES
CNC 8055
CNC 8055i
·148·
P r o gr a m m i ng m a n u a l
Once a canned cycle has been defined it remains active, and all blocks programmed after this block
are under its influence while it is not cancelled.
In other words, every time a block is executed in which some axis movement has been programmed,
the CNC will carry out (following the programmed movement) the machining operation which
corresponds to the active canned cycle.
If, in a movement block within the area of influence of a canned cycle, the number of times a block
is executed (repetitions) "N" is programmed at the end of the block, the CNC repeats the
programmed positioning and the machining operation corresponding to the canned cycle the
indicated number of times.
9.
If, within the area of influence of a canned cycle, there is a block which does not contain any
movement, the machining operation corresponding to the defined canned cycle will not be
performed, except in the calling block.
G90 G1 X100 The X axis moves to X100, where the hole is to be drilled.
CNC 8055
CNC 8055i
·149·
Prog ramm in g man u a l
The CNC allows one or several parameters of an active canned cycle to be modified by programming
the G79 function, without any need for redefining the canned cycle.
The CNC will continue to maintain the canned cycle active and will perform the following machinings
of the canned cycle with the updated parameters.
The G79 function must be programmed alone in a block, and this block must not contain any more
information.
9. Next 2 programming examples are shown assuming that the work plane is formed by the X and Y
axes, and that the longitudinal axis (perpendicular) is the Z axis:
Influence zone of a canned cycle
CANNED CYCLES
T1
M6
; Starting point.
G00 G90 X0 Y0 Z60
; Defines drilling cycle. Drills in A.
G81 G99 G91 X15 Y25 Z-28 I-14
; Drills in B.
G98 G90 X25
; Modifies reference plane and machining depth.
G79 Z52
; Drills in C.
G99 X35
; Drills in D.
G98 X45
; Modifies reference plane and machining depth.
G79 Z32
; Drills in E.
G99 X55
; Drills in F.
G98 X65
M30
CNC 8055
CNC 8055i
·150·
P r o gr a m m i ng m a n u a l
9.
CNC 8055
CNC 8055i
·151·
Prog ramm in g man u a l
CNC 8055
CNC 8055i
·152·
P r o gr a m m i ng m a n u a l
• A canned cycle may be defined anywhere in the program, that is, in the main program as well
as in a subroutine.
• Calls to subroutines can be made from a block within the influence of a canned cycle without
implying the cancellation of the canned cycle.
• The execution of a canned cycle will not alter the history of previous "G" functions.
• Nor will the spindle turning direction be altered. A canned cycle can be entered with any turning
direction (M03 or M04), leaving in the same direction in which the cycle was entered.
Should a canned cycle be entered with the spindle stopped, it will start in a clockwise direction
(M03), and maintain the same turning direction until the cycle is completed.
9.
CNC 8055
CNC 8055i
·153·
Prog ramm in g man u a l
In all machining cycles there are three coordinates along the longitudinal axis to the work plane
which, due to their importance, are discussed below:
• Initial plane coordinate. This coordinate is given by the position which the tool occupies with
respect to machine zero when the cycle is activated.
• Coordinate of the reference plane. This is programmed in the cycle definition block and
represents an approach coordinate to the part. It can be programmed in absolute coordinates
or in incremental, in which case it will be referred to the initial plane.
9. • Machining depth coordinate. This is programmed in the cycle definition block. It can be
programmed in absolute coordinates or in incremental coordinates, in which case it will be
referred to the reference plane.
Machining canned cycles
CANNED CYCLES
There are two functions which allow to select the type of withdrawal of the longitudinal axis after
machining.
• G98: Selects the withdrawal of the tool as far as the initial plane, once the indicated machining
has been done.
• G99: Selects the withdrawal of the tool as far as the reference plane, once the indicated
machining has been done.
These functions can be used both in the cycle definition block and the blocks which are under the
influence of the canned cycle. The initial plane will always be the coordinate which the longitudinal
axis had when the cycle was defined.
It is possible to program the starting point in the canned cycle definition block (except the longitudinal
axis), both in polar coordinates and in Cartesian coordinates.
After defining the point at which it is required to carry out the canned cycle (optional), the functions
and parameters corresponding to the canned cycle will be defined, and afterwards, if required, the
complementary functions F S T D M are programmed.
When programming, at the end of the block, the number of times a block is to be executed "N", the
CNC performs the programmed move and the machining operation corresponding to the active
canned cycle the indicated number of times.
If "N0" is programmed, it will not execute the machining operation corresponding to the canned cycle.
The CNC will only carry out the programmed movement.
CNC 8055
CNC 8055i
·154·
P r o gr a m m i ng m a n u a l
The programming format is always the same, it does not depend on the work plane. Parameters
XY indicate the coordinate in the work plane (X = abscissa, Y = ordinate) and the penetration along
the longitudinal axis.
Function G81 defines the drilling canned cycle. It is defined with these parameters:
X
Y
Coordinate of the point to be machined along the abscissa axis.
Coordinate of the point to be machined along the ordinate axis. 9.
I Drilling depth.
In the following examples, the part surface has a 0 coordinate, the holes are 8 mm deep and the
reference coordinate is 2 mm above the surface.
Example 1:
G19
G1 X25 F1000 S1000 M3
G81 X30 Y20 Z2 I-8 K1
Example 2:
G19
G1 X-25 F1000 S1000 M3
G81 X25 Y15 Z-2 I8 K1
Example 3:
G18
G1 Y25 F1000 S1000 M3
G81 X30 Y10 Z2 I-8 K1
CNC 8055
CNC 8055i
·155·
Prog ramm in g man u a l
Example 4:
G18
G1 Y-25 F1000 S1000 M3
G81 X15 Y60 Z-2 I8 K1
9.
Machining canned cycles
CANNED CYCLES
CNC 8055
CNC 8055i
·156·
P r o gr a m m i ng m a n u a l
This cycle makes successive drilling steps until the final coordinate is reached. The tool withdraws
a fixed amount after each drilling operation, it being possible to select that every J drillings it
withdraws to the reference plane. A dwell can also be programmed after every drilling.
9.
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
If not programmed, it assumes as reference plane the current position of the tool.
Defines the total drilling depth. It can be programmed in absolute coordinates or incremental
coordinates and in this case will be referred to the part surface.
Defines the drilling step in the axis longitudinal to the main plane.
Defines the approach distance the longitudinal axis will move in rapid (G00) from the previous drilling CNC 8055
step to start the next drilling step. CNC 8055i
If not programmed, a value of 1 mm is assumed. If programmed with a 0 value, the CNC will display
the corresponding error message.
In the first drilling, this amount will be added to "B" drilling step. If not programmed, a value of 0 is
assumed.
·157·
Prog ramm in g man u a l
Distance or coordinate the longitudinal axis returns to, in rapid (G00), after each drilling step.
"J" other than 0 means the distance and "J=0" indicates the relief coordinate or absolute coordinate
it withdraws to.
Defines after how many drilling pecks the tool returns to the reference plane in G00. A value between
9. 0 and 9999 may be programmed.
When not programmed or programmed with a "0" value, it returns to the position indicated by H (relief
G69. Drilling canned cycle with variable peck
CANNED CYCLES
• With "J" greater than 1, after each peck, the tool returns the distance indicated by "H" and every
"J" pecks to the reference plane (RP).
• With J1, it will return to the reference plane (RP) after each peck .
• With J0, it will return to the relief position indicated by H.
[ K5 ] Dwell
Defines the dwell, in hundredths of a second, after each drilling peck until the withdrawal begins.
If not programmed, the CNC will take the value of "K0".
It defines the minimum value for the drilling peck. This paramater is used with "R" values other than
1. If not programmed or programmed with a 0 value, it assumes 1 mm.
Factor that reduces the drilling peck (step) "B". If it is not programmed or is programmed with a value
of "0", it assumes a value of "1".
If R =1, all the drilling pecks will be the same (the programmed "B" value).
If R is other than 1, the first drilling peck will be "B", the second one "R B", The third one "R (RB)"
and so on. In other words, from the second peck on, the new peck will be the product of the R factor
times the previous peck.
If R is selected with a value other than 1, the CNC will not allow smaller steps than that programmed
CNC 8055 in L.
CNC 8055i
·158·
P r o gr a m m i ng m a n u a l
1. If the spindle was previously running, it maintains the turning direction. If it was not in movement,
it will start by turning clockwise (M03).
2. Rapid movement of the longitudinal axis from the initial plane to the reference plane.
9.
3. First drilling operation. The drilling axis moves in G01 to the programmed incremental depth "B
+ D".
4. Drilling loop. The following steps will be repeated until the programmed machining depth "I" is
reached.
·1· Dwell K, in hundredths of a second, if it has been programmed.
·2· Withdrawal of the longitudinal axis in rapid (G00) as far as the reference plane, if the number
of drillings programmed in J were made, otherwise it withdraws the distance programmed
in "H".
·3· Rapid approach (G00) of the longitudinal axis to a "C" distance from the next peck.
·4· New drilling step. G1 move of the longitudinal axis to the next incremental depth "B and R".
This movement will be carried out either in G07 or G50 depending on the value assigned CNC 8055
to the longitudinal axis "INPOSW2(P51)" CNC 8055i
If P51=0, in G7 (square corner). If P51=1, in G50 (controlled round corner).
5. Dwell K, in hundredths of a second, if it has been programmed.
6. Withdrawal at rapid feedrate (G00) of the longitudinal axis to the initial or reference plane,
·M· & ·EN· MODELS
depending on whether G98 or G99 has been programmed. SOFT: V02.2X
·159·
Prog ramm in g man u a l
The first drilling penetration is done in G07 or G50 depending on the value assigned to the parameter
of the longitudinal axis "INPOSW2 (P51)" and to parameter "INPOSW1 (P19)". This is important
to join a drilling operation with another one in multiple drilling so the tool path is faster and smoother.
If INPOSW2 < INPOSW1 in G07 (square corner).
If INPOSW2 >= INPOSW1 in G50 (controlled round corner).
If a scaling factor is applied to this cycle, it should be borne in mind that this scaling factor will only
affect the reference plane coordinates and drilling depth.
Therefore, and due to the fact that parameter "D" is not affected by the scaling factor, the surface
Programming example assuming that the work plane is formed by the X and Y axes, that the
G69. Drilling canned cycle with variable peck
CANNED CYCLES
Z axis is the longitudinal axis and that the starting point is X0 Y0 Z0:
; Tool selection.
T1
M6
; Starting point.
G0 G90 X0 Y0 Z0
; Canned cycle definition.
G69 G98 G91 X100 Y25 Z-98 I-52 B12 C2 D2 H5 J2 K150 L3 R0.8 F100 S500 M8
; Cancels the canned cycle.
G80
; Positioning.
G90 X0 Y0
; End of program.
M30
Tool withdrawal
While machining, the CNC lets withdraw the tool to the starting plane stopping the spindle when
the tool reaches the starting plane.
Activating PLC mark RETRACYC (M5065) stops the main axis and the tool is withdrawn without
stopping the spindle. The spindle stops when the tool is retracted, once it reaches the starting plane.
Once the tool has been retracted, the user will have the following options:
• Finish the hole.
• Go to the next hole.
• Go into tool inspection.
It goes down in G0 with spindle running to 1 mm before the coordinate where the hole stopped. From
CNC 8055 then on, it continues at the F and S programmed in the cycle.
CNC 8055i
Go to the next hole:
To go to the next hole, activate the PLC mark SKIPCYCL.
Pressing the [START] key, the CNC considers the cycle to be finished and continues with the next
block.
·160·
P r o gr a m m i ng m a n u a l
In this case, a block must be selected and a standard repositioning must be done before resuming
the execution of the program.
After inspecting the tool, once repositioning is done, the following choices will be offered:
• Resume the interrupted cycle.
• Skip the interrupted cycle and resume at the next block.
9.
CNC 8055
CNC 8055i
·161·
Prog ramm in g man u a l
This cycle drills at the point indicated until the final programmed coordinate is reached. It is possible
to program a dwell at the bottom of the drill hole.
9.
G81. Drilling canned cycle
CANNED CYCLES
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
Defines the total drilling depth. It can be programmed in absolute coordinates or incremental
coordinates and in this case will be referred to the reference plane.
[ K5 ] Dwell
Defines the dwell, in hundredths of a second, after each drilling peck until the withdrawal begins.
If not programmed, the CNC will take the value of "K0".
CNC 8055
CNC 8055i
·162·
P r o gr a m m i ng m a n u a l
1. If the spindle was previously running, it maintains the turning direction. If it was not in movement,
it will start by turning clockwise (M03).
2. Rapid movement of the longitudinal axis from the initial plane to the reference plane.
3. Drill the hole. Movement of the longitudinal axis at work feedrate, to the bottom of the hole
programmed in "I".
4. Dwell K, in hundredths of a second, if it has been programmed.
5. Withdrawal at rapid feedrate (G00) of the longitudinal axis to the initial or reference plane,
depending on whether G98 or G99 has been programmed. 9.
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
; Tool selection.
T1
M6
; Starting point.
G0 G90 X0 Y0 Z0
; Canned cycle definition.
G81 G98 G00 G91 X250 Y350 Z-98 I-22 F100 S500
; Polar coordinate origin.
G93 I250 J250
; Turn and canned cycle, 3 times
Q-45 N3
; Cancels the canned cycle.
G80
; Positioning.
G90 X0 Y0
; End of program.
M30
CNC 8055
CNC 8055i
·163·
Prog ramm in g man u a l
Tool withdrawal
While machining, the CNC lets withdraw the tool to the starting plane stopping the spindle when
the tool reaches the starting plane.
Activating PLC mark RETRACYC (M5065) stops the main axis and the tool is withdrawn without
stopping the spindle. The spindle stops when the tool is retracted, once it reaches the starting plane.
Once the tool has been retracted, the user will have the following options:
• Finish the hole.
• Go to the next hole.
• Go into tool inspection.
It goes down in G0 with spindle running to 1 mm before the coordinate where the hole stopped. From
then on, it continues at the F and S programmed in the cycle.
Pressing the [START] key, the CNC considers the cycle to be finished and continues with the next
block.
After inspecting the tool, once repositioning is done, the following choices will be offered:
• Resume the interrupted cycle.
• Skip the interrupted cycle and resume at the next block.
CNC 8055
CNC 8055i
·164·
P r o gr a m m i ng m a n u a l
This cycle drills at the point indicated until the final programmed coordinate is reached. Then it
executes a dwell at the bottom of the drill hole.
9.
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
If not programmed, it assumes as reference plane the current position of the tool.
Defines the total drilling depth. It can be programmed in absolute coordinates or incremental
coordinates and in this case will be referred to the reference plane.
[ K5 ] Dwell
Defines the dwell, in hundredths of a second, after each drilling until the withdrawal begins. Should
this not be programmed, the CNC will take a value of K0.
CNC 8055
CNC 8055i
·165·
Prog ramm in g man u a l
1. If the spindle was previously running, it maintains the turning direction. If it was not in movement,
it will start by turning clockwise (M03).
2. Rapid movement of the longitudinal axis from the initial plane to the reference plane.
3. Drill the hole. Movement of the longitudinal axis at work feedrate, to the bottom of the hole
programmed in "I".
4. Dwell time K in hundredths of a second.
9. 5. Withdrawal at rapid feedrate (G00) of the longitudinal axis to the initial or reference plane,
depending on whether G98 or G99 has been programmed.
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
G82. Drilling canned cycle with dwell
CANNED CYCLES
; Tool selection.
T1
M6
; Starting point.
G0 G90 X0 Y0 Z0
; Canned cycle definition. Three machining operations are carried out.
G82 G99 G91 X50 Y50 Z-98 I-22 K15 F100 S500 N3
; Positioning and canned cycle
G98 G90 G00 X500 Y500
; Cancels the canned cycle.
G80
; Positioning.
G90 X0 Y0
; End of program.
M30
CNC 8055
CNC 8055i Tool withdrawal
While machining, the CNC lets withdraw the tool to the starting plane stopping the spindle when
the tool reaches the starting plane.
·M· & ·EN· MODELS
SOFT: V02.2X
Activating PLC mark RETRACYC (M5065) stops the main axis and the tool is withdrawn without
stopping the spindle. The spindle stops when the tool is retracted, once it reaches the starting plane.
·166·
P r o gr a m m i ng m a n u a l
Once the tool has been retracted, the user will have the following options:
• Finish the hole.
• Go to the next hole.
• Go into tool inspection.
It goes down in G0 with spindle running to 1 mm before the coordinate where the hole stopped. From
then on, it continues at the F and S programmed in the cycle.
Pressing the [START] key, the CNC considers the cycle to be finished and continues with the next
block.
In this case, a block must be selected and a standard repositioning must be done before resuming
the execution of the program.
After inspecting the tool, once repositioning is done, the following choices will be offered:
• Resume the interrupted cycle.
• Skip the interrupted cycle and resume at the next block.
CNC 8055
CNC 8055i
·167·
Prog ramm in g man u a l
This cycle makes successive drilling steps until the final coordinate is reached.
The tool withdraws as far as the reference plane after each drilling step.
9.
CANNED CYCLES
G83. Deep-hole drilling canned cycle with constant peck
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
If not programmed, it assumes as reference plane the current position of the tool.
Defines the value of each drilling step according to the axis longitudinal to the main plane.
CNC 8055
CNC 8055i
·168·
P r o gr a m m i ng m a n u a l
Defines the number of steps which the drill is to make. A value between 1 and 9999 may be
programmed.
9.
CANNED CYCLES
G83. Deep-hole drilling canned cycle with constant peck
CNC 8055
CNC 8055i
·169·
Prog ramm in g man u a l
1. If the spindle was previously running, it maintains the turning direction. If it was not in movement,
it will start by turning clockwise (M03).
2. Rapid movement of the longitudinal axis from the initial plane to the reference plane.
3. First drilling operation. The longitudinal axis moves in G01 to the programmed incremental depth
"I".
4. Drilling loop. The following steps will be repeated "J-1" times as in the previous step the first
programmed drilling was done.
9. ·1· Withdrawal of the longitudinal axis in rapid (G00) to the reference plane.
·2· Longitudinal axis approach in rapid (G00):
CANNED CYCLES
G83. Deep-hole drilling canned cycle with constant peck
If INPOSW2 < INPOSW1, down to 1mm off the previous drilling peck.
If not, down to twice the value of INPOSW2.
·3· New drilling step. G01 movement of the longitudinal axis to the incremental depth
programmed in "I".
If INPOSW2=0 in G7. If not, in G50.
5. Withdrawal at rapid feedrate (G00) of the longitudinal axis to the initial or reference plane,
depending on whether G98 or G99 has been programmed.
The first drilling penetration is done in G07 or G50 depending on the value assigned to the parameter
of the longitudinal axis "INPOSW2 (P51)" and to parameter "INPOSW1 (P19)". This is important
to join a drilling operation with another one in multiple drilling so the tool path is faster and smoother.
If INPOSW2 < INPOSW1 in G07 (square corner).
If INPOSW2 >= INPOSW1 in G50 (controlled round corner).
If a scaling factor is applied to this cycle, drilling will be performed proportional to that programmed,
with the same step "I" programmed, but varying the number of steps "J".
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
is the longitudinal axis and that the starting point is X0 Y0 Z0:
CNC 8055
CNC 8055i
·170·
P r o gr a m m i ng m a n u a l
; Tool selection.
T1
M6
; Starting point.
G0 G90 X0 Y0 Z0
; Canned cycle definition.
G83 G99 X50 Y50 Z-98 I-22 J3 F100 S500 M4
; Positioning and canned cycle
G98 G90 G00 X500 Y500
; Cancels the canned cycle.
G80
; Positioning.
9.
CANNED CYCLES
G83. Deep-hole drilling canned cycle with constant peck
G90 X0 Y0
; End of program.
M30
Tool withdrawal
While machining, the CNC lets withdraw the tool to the starting plane stopping the spindle when
the tool reaches the starting plane.
Activating PLC mark RETRACYC (M5065) stops the main axis and the tool is withdrawn without
stopping the spindle. The spindle stops when the tool is retracted, once it reaches the starting plane.
Once the tool has been retracted, the user will have the following options:
• Finish the hole.
• Go to the next hole.
• Go into tool inspection.
It goes down in G0 with spindle running to 1 mm before the coordinate where the hole stopped. From
then on, it continues at the F and S programmed in the cycle.
Pressing the [START] key, the CNC considers the cycle to be finished and continues with the next
block.
In this case, a block must be selected and a standard repositioning must be done before resuming
the execution of the program.
·M· & ·EN· MODELS
After inspecting the tool, once repositioning is done, the following choices will be offered: SOFT: V02.2X
·171·
Prog ramm in g man u a l
This cycle taps at the point indicated until the final programmed coordinate is reached. General logic
output "TAPPING" (M5517) stays active while executing this cycle.
Due to the fact that the tapping tool turns in two directions (one when tapping and the other when
withdrawing from the thread), by means of the machine parameter of the spindle "SREVM05" it is
possible to select whether the change in turning direction is made with the intermediate spindle stop,
or directly.
9. General machine parameter "STOPAP(P116)" indicates whether general inputs /STOP, /FEEDHOL
and /XFERINH are enabled or not while executing function G84.
It is possible to program a dwell before each reversal of the spindle turning direction, i.e., at the
G84. Tapping canned cycle
CANNED CYCLES
bottom of the thread hole and when returning to the reference plane.
Using parameters B and H, the threading may be done with relief for chip breakage.
The tapping with relief is done in successive approaches until the programmed total depth is
reached. After every approach, it withdraws for chip relief. In this case, the dwell (K) is only applied
on the last pass, not on the relief passes.
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
Defines the dwell, in hundredths of a second, after the tapping until the withdrawal begins. If not
programmed, the CNC will take the value of "K0".
·172·
P r o gr a m m i ng m a n u a l
[ R ] Type of tapping
When rigid tapping, the returning feedrate will be J times the tapping feedrate. When not
9.
programmed or programmed J1, they will both be the same.
When rigid tapping, the CNC interpolates the movement of the longitudinal axis with the spindle
rotation.
It is optional and sets the penetration step during tapping with relief. This parameter is ignored when
programming R=0 or R=2. Tapping with relief is only possible when programming R=1.
When not programmed, tapping will be done in a single pass. When programmed with a 0 value,
it issues the corresponding error.
This regress will be performed at a rate that takes into account the factor programmed for J. This
parameter will be ignored if R=0 or R=2 is programmed or if parameter B has not been programmed.
If not programmed or programmed with a 0 value, the withdrawal will be done to the Z reference
plane coordinate.
CNC 8055
CNC 8055i
·173·
Prog ramm in g man u a l
1. If the spindle was previously running, it maintains the turning direction. If it was not in movement,
it will start by turning clockwise (M03).
2. Rapid movement of the longitudinal axis from the initial plane to the reference plane.
3. Movement of the longitudinal axis and at the working feedrate, to the bottom of the machined
section, producing the threaded hole. The canned cycle will execute this movement and all later
movements at 100% of F feedrate and the programmed S speed.
If rigid tapping is selected (parameter R=1), the CNC will activate the general logic output
9. "RIGID" (M5521) to indicate to the PLC that a rigid tapping block is being executed.
4. Spindle stop (M05). This will only be performed when the spindle machine parameter
G84. Tapping canned cycle
CANNED CYCLES
"SREVM05" is selected and parameter "K" has a value other than "0"..
5. Dwell, if parameter "K" has been programmed.
6. The spindle reverses turning direction.
7. Withdrawal, at J times the working feedrate, of the longitudinal axis to the reference plane. Once
this coordinate has been reached, the canned cycle will assume the selected FEEDRATE
OVERRIDE and the SPINDLE OVERRIDE.
If rigid tapping is selected (parameter R=1), the CNC will activate the general logic output
"RIGID" (M5521) to indicate to the PLC that a rigid tapping block is being executed.
8. Spindle stop (M05). This will only be performed if the spindle machine parameter "SREVM05"
is selected.
9. Dwell, if parameter "K" has been programmed.
10.Reverse the spindle turning direction restoring the initial turning direction.
11.Withdrawal, at rapid feedrate (G00), of the longitudinal axis as far as the initial plane if G98 has
been programmed.
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
is the longitudinal axis and that the starting point is X0 Y0 Z0:
CNC 8055
CNC 8055i
·174·
P r o gr a m m i ng m a n u a l
; Tool selection.
T1
M6
; Starting point.
G0 G90 X0 Y0 Z0
; Canned cycle definition. Three machining operations are carried out.
G84 G99 G91 X50 Y50 Z-98 I-22 K150 F350 S500 N3
; Positioning and canned cycle
G98 G90 G00 X500 Y500
; Cancels the canned cycle.
G80
; Positioning.
9.
Tool withdrawal
While machining, the CNC lets withdraw the tool to the starting plane stopping the spindle when
the tool reaches the starting plane.
Activating PLC mark RETRACYC (M5065) stops the main axis and the spindle, the tool is withdrawn
changing the direction of the axis and spindle while keeping the machining F and S values. This
withdrawal will be to the starting plane.
The stopping and starting sequence of the spindle and the axis when tapping keeps the same
synchronism and dwells as during the execution of the canned cycle.
Once the tool has been retracted, the user will have the following options:
• Finish the hole.
• Go to the next hole.
• Go into tool inspection.
The hole is repeated from the starting plane under the same F and S conditions without stopping
at the point where it stopped.
Pressing the [START] key, the CNC considers the cycle to be finished and continues with the next CNC 8055
block. CNC 8055i
·175·
Prog ramm in g man u a l
In this case, a block must be selected and a standard repositioning must be done before resuming
the execution of the program.
After inspecting the tool, once repositioning is done, the following choices will be offered:
• Resume the interrupted cycle.
CNC 8055
CNC 8055i
·176·
P r o gr a m m i ng m a n u a l
This cycle reams at the point indicated until the final programmed coordinate is reached.
9.
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
If not programmed, it assumes as reference plane the current position of the tool.
[ K5 ] Dwell
Defines the dwell, in hundredths of a second, after the reaming until the withdrawal begins. If not
programmed, the CNC will take the value of "K0".
CNC 8055
CNC 8055i
·177·
Prog ramm in g man u a l
1. If the spindle was previously running, it maintains the turning direction. If it was not in movement,
it will start by turning clockwise (M03).
2. Rapid movement of the longitudinal axis from the initial plane to the reference plane.
3. Movement at the working feedrate (G01) of the longitudinal axis to the bottom of the machined
hole, and reaming.
4. Dwell, if parameter "K" has been programmed.
9. 5. Withdrawal at working feedrate, of the longitudinal axis as far as the reference plane.
6. Withdrawal, at rapid feedrate (G00), of the longitudinal axis as far as the initial plane if G98 has
been programmed.
G85. Reaming canned cycle
CANNED CYCLES
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
is the longitudinal axis and that the starting point is X0 Y0 Z0:
; Tool selection.
T1
M6
; Starting point.
G0 G90 X0 Y0 Z0
; Canned cycle definition.
G85 G98 G91 X250 Y350 Z-98 I-22 F100 S500
; Cancels the canned cycle.
G80
; Positioning.
G90 X0 Y0
; End of program.
M30
CNC 8055
CNC 8055i
·178·
P r o gr a m m i ng m a n u a l
This cycle bores at the point indicated until the final programmed coordinate is reached. It is possible
to program a dwell at the bottom of the machined hole.
After the quail has penetrated, it is possible to orient the spindle and retract the quail before the exit
movement, thus preventing the part from scratching. This is only available when using spindle
orientation.
M03 M03
M04 M04
G98
G99
I
K
M05
Q
D
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
If not programmed, it assumes as reference plane the current position of the tool.
Defines boring depth. It can be programmed in absolute coordinates or incremental coordinates and
in this case will be referred to the reference plane. CNC 8055
CNC 8055i
[ K5 ] Dwell
Defines the dwell, in hundredths of a second, after boring until the withdrawal begins. If not
programmed, the CNC will take the value of "K0".
·M· & ·EN· MODELS
SOFT: V02.2X
[ Q±5.5 ] Spindle position for the withdrawal
It defines the spindle position, in degrees, to separate the cutter from the wall of the hole.
If not programmed, the withdrawal will be done without separating the cutter from the wall of the
hole, the spindle stopped and in rapid.
·179·
Prog ramm in g man u a l
[ D±5.5 ] Gap between the cutter and the wall of the hole on the X axis
Defines the gap between the cutter and the wall of the hole on the X axis for the withdrawal.
If not programmed, the cutter does not separate from the wall of the hole along the X axis.
Both Q and D must be programmed for the cutter to separate from the wall of the hole.
[ E±5.5 ] Gap between the cutter and the wall of the hole on the Y axis
Defines the gap between the cutter and the wall of the hole on the Y axis for the withdrawal.
9. If not programmed, the cutter does not separate from the wall of the hole along the Y axis.
Both Q and E must be programmed for the cutter to separate from the wall of the hole.
G86. Boring cycle with withdrawal in G00
CANNED CYCLES
CNC 8055
CNC 8055i
·180·
P r o gr a m m i ng m a n u a l
1. If the spindle was previously running, it maintains the turning direction. If it was not in movement,
it will start by turning clockwise (M03).
2. Rapid movement of the longitudinal axis from the initial plane to the reference plane.
3. Movement at the working feedrate (G01) of the longitudinal axis to the bottom of the machined
hole, and boring.
4. Dwell, if parameter "K" has been programmed.
5. Spindle orientation to the position programmed in parameter Q.
6. The movement of the tool, for interpolated movements and slow feedrates, the distances
programmed for the parameters D and E. If the values are not programmed correctly it could
9.
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
is the longitudinal axis and that the starting point is X0 Y0 Z0:
; Tool selection.
T1
M6
; Starting point.
G0 G90 X0 Y0 Z0
; Canned cycle definition.
G86 G98 G91 X250 Y350 Z-98 I-22 K20 F100 S500
; Cancels the canned cycle.
G80
; Positioning.
G90 X0 Y0
; End of program.
M30
CNC 8055
CNC 8055i
·181·
Prog ramm in g man u a l
This cycle executes a rectangular pocket at the point indicated until the final programmed coordinate
is reached.
It is possible to program, in addition to milling pass and feedrate, a final finishing step with its
corresponding milling feedrate.
In order to obtain a good finish in the machining of the pocket walls, the CNC will apply a tangential
entry and exit to the last milling step during each cutting operation.
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
When programmed in absolute coordinates, it will be referred to the part zero and when programmed
in incremental coordinates, it will be referred to the starting plane (P.P.).
If not programmed, it assumes as reference plane the current position of the tool. Thus, the starting
plane (P.P.) and the reference plane (P.R.) will be the same.
CNC 8055
CNC 8055i
·182·
P r o gr a m m i ng m a n u a l
When programmed in absolute coordinates, it will be referred to the part zero and when programmed
in incremental coordinates, it will be referred to the starting plane (P.P.).
[ J±5.5 ] Half the width of the pocket along the abscissa axis
Defines the distance from the center to the edge of the pocket according to the abscissa axis. The
sign indicates the pocket machining direction.
9.
[ K5.5 ] Half the width of the pocket along the ordinate axis
Defines the distance from the center to the edge of the pocket according to the ordinate axis.
If this is programmed with a positive sign, the entire cycle will be executed with the same machining
pass, this being equal to or less than that programmed.
If programmed with a negative sign, the whole pocket is machined with the given pass (step) except
the last pass that machines the rest.
If the value is positive, the entire cycle will be executed with the same milling step, this being equal
to or less than that programmed.
If the value is negative, the entire pocket will be executed with the given step, except for the last step
which will machine whatever remains.
CNC 8055
CNC 8055i
If not programmed, it assumes a value of 3/4 of the diameter of the selected tool.
·183·
Prog ramm in g man u a l
If programmed with a value greater than the tool diameter, the CNC issues the relevant error
message.
If programmed with a 0 value, the CNC will display the corresponding error message.
Defines the distance between the reference plane and the surface of the part where the pocket is
to be made.
During the first deepening operation this amount will be added to incremental depth "B". If not
If not programmed or programmed with a 0 value, it assumes the value of the machining feedrate.
Defines the value of the finishing pass, along the main plane.
If the value is positive, the finishing pass is made on a square corner (G07).
If the value is negative, the finishing pass is made on a rounded corner (G05).
If not programmed or programmed with a 0 value, it does not run the finishing pass.
If not programmed or programmed with a 0 value, it assumes 50% of the feedrate in the plane (F).
CNC 8055
CNC 8055i
·184·
P r o gr a m m i ng m a n u a l
1. If the spindle was previously running, it maintains the turning direction. If it was not in movement,
it will start by turning clockwise (M03).
2. Rapid movement (G0) of the longitudinal axis from the starting plane to the reference plane.
3. First penetrating operation. Movement of longitudinal axis at the feedrate indicated by "V" to the
incremental depth programmed in "B+D".
4. Milling of the pocket surface at work feedrate in the passes defined by "C" up to a distance "L"
(finishing pass) from the pocket wall.
5. Finishing pass milling, "L" at the work feedrate defined by "H".
6. Once the finishing pass has been completed, the tool withdraws at the rapid feedrate (G00) to
9.
7. New milling surfaces until reaching the total depth of the pocket.
·1· Movement of the longitudinal axis at the feedrate indicated by "V", up to a distance "B" from
the previous surface.
·2· Milling of the new surface following the steps indicated in points 4, 5 and 6.
8. Withdrawal at rapid feedrate (G00) of the longitudinal axis to the initial or reference plane,
depending on whether G98 or G99 has been programmed.
CNC 8055
CNC 8055i
·185·
Prog ramm in g man u a l
9.
G87. Rectangular pocket canned cycle.
CANNED CYCLES
; Tool selection.
(TOR1=6, TOI1=0)
T1 D1
M6
; Starting point
G0 G90 X0 Y0 Z0
; Canned cycle definition
G87 G98 X90 Y60 Z-48 I-90 J52.5 K37.5 B12 C10 D2 H100 L5 V100 F300 S1000 M03
; Cancels the canned cycle
G80
; Positioning
G90 X0 Y0
; End of program
M30
CNC 8055
CNC 8055i
·186·
P r o gr a m m i ng m a n u a l
9.
CNC 8055
CNC 8055i
·187·
Prog ramm in g man u a l
This cycle executes a circular pocket at the point indicated until the final programmed coordinate
is reached.
It is possible to program, in addition to milling pass and feedrate, a final finishing step with its
corresponding milling feedrate.
9.
G88. Circular pocket canned cycle
CANNED CYCLES
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
It may be programmed either in absolute or incremental coordinates, in which case it will be referred
to the starting plane. If not programmed, it assumes as reference plane the current position of the
tool.
Defines the machining depth. It may be programmed either in absolute or incremental coordinates,
in which case it will be referred to the reference plane.
CNC 8055
CNC 8055i
·188·
P r o gr a m m i ng m a n u a l
Defines the radius of the pocket. The sign indicates the pocket machining direction.
9.
Defines the cutting pass along the longitudinal axis to the main plane.
• If this value is positive, the entire cycle will be executed with the same machining pass, this being
equal to or less than that programmed.
• If the value is negative, the entire pocket will be executed with the given step, except for the last
step which will machine whatever remains.
If not programmed, it assumes a value of 3/4 of the diameter of the selected tool.
If programmed with a value greater than the tool diameter, the CNC issues the relevant error
message.
If programmed with a 0 value, the CNC will display the corresponding error message.
CNC 8055
CNC 8055i
·189·
Prog ramm in g man u a l
Defines the distance between the reference plane and the surface of the part where the pocket is
to be made.
During the first deepening operation this amount will be added to incremental depth "B". If not
programmed, a value of 0 is assumed.
9.
G88. Circular pocket canned cycle
CANNED CYCLES
If not programmed or programmed with a 0 value, it assumes the value of the machining feedrate.
If not programmed or programmed with a 0 value, it does not run the finishing pass.
CNC 8055
CNC 8055i
·190·
P r o gr a m m i ng m a n u a l
If not programmed or programmed with a 0 value, it assumes 50% of the feedrate in the plane (F).
9.
CNC 8055
CNC 8055i
·191·
Prog ramm in g man u a l
the center of the pocket, the longitudinal axis being separated 1 mm (0.040 inch) from the
machined surface.
7. New milling surfaces until reaching the total depth of the pocket.
·1· Movement of the longitudinal axis at the feedrate indicated by "V", up to a distance "B" from
the previous surface.
·2· Milling of the new surface following the steps indicated in points 4, 5 and 6.
8. Withdrawal at rapid feedrate (G00) of the longitudinal axis to the initial or reference plane,
depending on whether G98 or G99 has been programmed.
CNC 8055
CNC 8055i
·192·
P r o gr a m m i ng m a n u a l
9.
CNC 8055
CNC 8055i
·193·
Prog ramm in g man u a l
This cycle bores at the point indicated until the final programmed coordinate is reached.
9.
G89. Boring cycle with withdrawal at work feedrate (G01)
CANNED CYCLES
These are optional and define the movement of the axes of the main plane to position the tool at
the machining point.
This point can be programmed in Cartesian coordinates or in polar coordinates, and the coordinates
may be absolute or incremental, according to whether the machine is operating in G90 or G91.
If not programmed, it assumes as reference plane the current position of the tool.
Defines boring depth. It can be programmed in absolute coordinates or incremental coordinates and
in this case will be referred to the reference plane.
[ K5 ] Dwell
Defines the dwell, in hundredths of a second, after boring until the withdrawal begins. If not
programmed, the CNC will take the value of "K0".
CNC 8055
CNC 8055i
·194·
P r o gr a m m i ng m a n u a l
1. If the spindle was previously running, it maintains the turning direction. If it was not in movement,
it will start by turning clockwise (M03).
2. Rapid movement of the longitudinal axis from the initial plane to the reference plane.
3. Movement at the working feedrate (G01) of the longitudinal axis to the bottom of the machined
hole, and boring.
4. Dwell, if parameter "K" has been programmed.
5. Withdrawal at working feedrate, of the longitudinal axis as far as the reference plane.
6. Withdrawal, at rapid feedrate (G00), of the longitudinal axis as far as the initial plane if G98 has
been programmed.
9.
; Tool selection.
T1 D1
M6
; Starting point
G0 G90 X0 Y0 Z0
; Canned cycle definition
G89 G98 G91 X250 Y350 Z-98 I-22 K20 F100 S500
; Cancels the canned cycle.
G80
; Positioning
G90 X0 Y0
; End of program
M30
CNC 8055
CNC 8055i
·195·
Prog ramm in g man u a l
This cycle may be used to increase the diameter of a hole through a helical movement of the tool.
Besides this, if the tool allows it, it is also possible to mill a hole without having to drill it first.
G00 M03
9. G01 M04
G98
G210. Bore milling canned cycle
CANNED CYCLES
Z
G99
D
K
J
It defines the hole center coordinate along the X axis. If not programmed, it will assume the current
tool position on that axis.
It defines the hole center coordinate along the Y axis. If not programmed, it will assume the current
tool position on that axis.
Defines the reference plane coordinate. It may be programmed either in absolute or incremental
coordinates, in which case it will be referred to the starting plane.
If not programmed, it assumes as reference plane the current position of the tool.
Defines the distance between the reference plane and the surface of the part where the milling is
to be done. If not programmed, it assumes 0.
Defines the machining depth. It may be programmed either in absolute or incremental coordinates,
in which case it will be referred to the reference plane.
Defines the nominal diameter of the hole. The sign indicates the direction of the helical path
associated with the machining of the hole (positive if clockwise and negative if counterclockwise).
·M· & ·EN· MODELS If not programmed or programmed with a value smaller than the diameter of the active tool, the CNC
SOFT: V02.2X issues the relevant error message.
Starting with a hole previously drilled, this parameter defines the diameter of that hole. If not
programmed or programmed with a 0 value, it means that no hole has been previously drilled.
·196·
P r o gr a m m i ng m a n u a l
If these two conditions are not met, the CNC issues the corresponding error.
CNC 8055
CNC 8055i
·197·
Prog ramm in g man u a l
9. 6. Milling of the bottom of the hole (this step is only carried out if parameter B has a positive sign).
7. Tangential exit movement to the helical path of the drilling to the center of the hole.
G210. Bore milling canned cycle
CANNED CYCLES
8. Rapid movement to the reference plane (G99) or to the starting plane (G98).
CNC 8055
CNC 8055i
·198·
P r o gr a m m i ng m a n u a l
This cycle may be used to make an inside thread through a helical movement of the tool.
G00 M03
L
G01 M04
B
A G98 9.
It defines the hole center coordinate along the X axis. If not programmed, it will assume the current
tool position on that axis.
It defines the hole center coordinate along the Y axis. If not programmed, it will assume the current
tool position on that axis.
Defines the reference plane coordinate. It may be programmed either in absolute or incremental
coordinates, in which case it will be referred to the starting plane.
If not programmed, it assumes as reference plane the current position of the tool.
Defines the distance between the reference plane and the surface of the part where the milling is
to be done. If not programmed, it assumes 0.
Defines the nominal diameter of the thread The sign indicates the machining direction of the thread
(positive if clockwise and negative if counterclockwise). ·M· & ·EN· MODELS
SOFT: V02.2X
If not programmed, the CNC issues the corresponding error.
·199·
Prog ramm in g man u a l
It defines the distance between the crest and the root of the thread. If not programmed, the CNC
issues the corresponding error.
9. If not programmed or programmed with a 0 value, the CNC will display the corresponding error
message.
G211. Inside thread milling cycle
CANNED CYCLES
[ C1 ] Type of tapping
Defines the type of tapping to be carried out. This parameter depends on the type of tool being used.
• When programming C= 0, the threading will be done in a single pass.
• When programming C=1, it will make one thread per each pass (single-edge cutter).
• When programming C=n (where n is the number of cutting edges of the cutter), it will make n
threads per each pass.
It defines the finishing stock at the bottom of the thread. If not programmed, a value of 0 is assumed.
Defines the maximum penetrating pass of the thread. If not programmed or programmed with a 0
value, it will run a single pass up to the finishing stock.
Approach distance to the thread entry. If not programmed, it will enter the thread from the center
of the hole.
Angle (in degrees) of the segment formed by the center of the hole and the thread entry point with
respect to the abscissa axis. If not programmed, a value of 0 is assumed.
CNC 8055
CNC 8055i
·200·
P r o gr a m m i ng m a n u a l
CNC 8055
CNC 8055i
·201·
Prog ramm in g man u a l
This cycle may be used to make an outside thread through a helical movement of the tool.
L G00 M03
G01 M04
9. B G98
G212. Outside thread milling cycle
CANNED CYCLES
K Z G99
D
It defines the boss center coordinate along the X axis. If not programmed, it will assume the current
tool position on that axis.
It defines the boss center coordinate along the Y axis. If not programmed, it will assume the current
tool position on that axis.
Defines the reference plane coordinate. It may be programmed either in absolute or incremental
coordinates, in which case it will be referred to the starting plane.
If not programmed, it assumes as reference plane the current position of the tool.
Defines the distance between the reference plane and the surface of the part where the milling is
to be done. If not programmed, it assumes 0.
Defines the threading depth. It may be programmed either in absolute or incremental coordinates,
in which case it will be referred to the reference plane.
CNC 8055 If not programmed, the CNC issues the corresponding error.
Defines the nominal diameter of the thread The sign indicates the machining direction of the thread
(positive if clockwise and negative if counterclockwise).
·M· & ·EN· MODELS If not programmed, the CNC issues the corresponding error.
SOFT: V02.2X
It defines the distance between the crest and the root of the thread. If not programmed, the CNC
issues the corresponding error.
·202·
P r o gr a m m i ng m a n u a l
If not programmed or programmed with a 0 value, the CNC will display the corresponding error
message.
[ C1 ] Type of tapping
Defines the type of tapping to be carried out. This parameter depends on the type of tool being used.
• When programming C= 0, the threading will be done in a single pass.
9.
It defines the finishing stock at the bottom of the thread. If not programmed, a value of 0 is assumed.
Defines the maximum penetrating pass of the thread. If not programmed or programmed with a 0
value, it will run a single pass up to the finishing stock.
Approach distance to the thread entry. If not programmed or programmed with a 0 value, the CNC
will display the corresponding error message.
Angle (in degrees) of the segment formed by the center of the hole and the thread entry point with
respect to the abscissa axis. If not programmed, a value of 0 is assumed.
CNC 8055
CNC 8055i
·203·
Prog ramm in g man u a l
9. 6. Thread entry with a helical movement tangent to the first helical threading path.
7. Making the thread according to the value of parameter C.
G212. Outside thread milling cycle
CANNED CYCLES
If C=0:
·1· Helical movement, in the direction indicated in parameter J, to the bottom of the thread
(the movement will only be one revolution).
·2· Helical thread exiting movement, tangent to the previous helical path.
It must be borne in mind that in the exit tangent to the helical path, the exit point will exceed
the coordinate of the bottom of the thread along the longitudinal axis.
If C=1:
·1· Helical movement, with the pitch and direction given in parameter J, to the bottom of the
thread.
·2· Helical thread exiting movement, tangent to the previous helical path.
It must be borne in mind that in the exit tangent to the helical path, the exit point will exceed
the coordinate of the bottom of the thread along the longitudinal axis.
If C=n:
·1· Helical movement, with the pitch and direction given in parameter J, (the movement will
be one revolution).
·2· Helical thread exiting movement, tangent to the previous helical path to the thread entry
point.
·3· Rapid movement to the Z coordinate of the thread entry point of the next threading path.
·4· Repetition of the previous 3 steps until reaching the bottom of the thread. It must be borne
in mind that in the last helical exit, the exit point will exceed the coordinate of the bottom
of the thread along the longitudinal axis.
8. Rapid movement to the reference plane (G99).
9. Repetition of steps 3 to 8 until reaching the depth of the finishing stock.
10.Repetition of steps 3 to 8 until reaching the bottom of the thread.
11.Rapid movement to the reference plane (G99) or to the starting plane (G98).
12.Rapid movement to the center of the hole (X, Y).
CNC 8055
CNC 8055i
·204·
MULTIPLE MACHINING
10
Multiple machining is defined as a series of functions which allow a machining operation to be
repeated along a given path.
The programmer will select the type of machining, which can be a canned cycle or a subroutine
(which must be programmed as a modal subroutine) defined by the user.
These functions can be performed on any work plane and must be defined every time they are used,
as they are not modal.
It is absolutely essential for the machining which it is required to repeat to be active. In other words,
these functions will only make sense if they are under the influence of a canned cycle or under the
influence of a modal subroutine.
Once the multiple machining operation has been performed, the program will recover the history
it had before starting this machining, even when the canned cycle or modal subroutine will remain
active. Now feedrate F corresponds to the feedrate programmed for the canned cycle or modal
subroutine.
Likewise, the tool will be positioned at the last point where the programmed machining operation
was done.
If multiple machining of a modal subroutine is performed in the Single Block mode, this subroutine
will be performed complete (not block by block) after each programmed movement.
A detailed explanation is given on the next page of multiple machining operations, assuming in each
case, that the work plane is formed by X and Y axes.
CNC 8055
CNC 8055i
·205·
Prog ramm in g man u a l
radius XI PQRSTUV
XK
IK
10.
G60: Multiple machining in a straight line
MULTIPLE MACHINING
Defines the angle that forms the machining path with the abscissa axis. It is expressed in degrees
and if not programmed, the value A=0 will be taken.
Defines the number of total machining operations in the section, including the machining definition
point.
Due to the fact that machining may be defined with any two points of the X I K group, the CNC allows
the following definition combinations: XI, XK, IK.
Nevertheless, if format XI is defined, care should be taken to ensure that the number of machining
operations is an integer number, otherwise the CNC will show the corresponding error code.
These parameters are optional and are used to indicate at which points or between which of those
programmed points it is not required to machine.
Thus, programming P7 indicates that it is not required to do machining at point 7, and programming
Q10.013 indicates that machining is not required from point 10 to 13, or expressed in another way,
that no machining is required at points 10, 11, 12 and 13.
When it is required to define a group of points (Q10.013), care should be taken to define the final
point with three digits, as if Q10.13 is programmed, multiple machining understands Q10.130.
The programming order for these parameters is P Q R S T U V, it also being necessary to maintain
CNC 8055 the order in which the points assigned to these are numbered, i.e., the numbering order of the points
CNC 8055i assigned to Q must be greater than that assigned to P and less than that assigned to R.
Example:
Proper programming P5.006 Q12.015 R20.022
·206·
P r o gr a m m i ng m a n u a l
1. Multiple machining calculates the next point of those programmed where it is wished to machine.
2. Rapid traverse (G00) to this point.
3. Multiple machining will perform the canned cycle or modal subroutine selected after this
movement.
4. The CNC will repeat steps 1-2-3 until the programmed path has been completed.
After completing multiple machining, the tool will be positioned at the last point along the
programmed path where machining was performed.
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
10.
is the longitudinal axis and that the starting point is X0 Y0 Z0:
It is also possible to write the multiple machining definition block in the following ways:
G60 A30 X1200 K13 P2.003 Q6 R12
G60 A30 I100 K13 P2.003 Q6 R12
CNC 8055
CNC 8055i
·207·
Prog ramm in g man u a l
G61 A B XI YJ PQRSTUV
XK YD
IK JD
10.
G61: Multiple machining in rectangular pattern
MULTIPLE MACHINING
Defines the angle that forms the machining path with the abscissa axis. It is expressed in degrees
and if not programmed, the value A=0 will be taken.
Defines the angle formed by the two machining paths. It is expressed in degrees and if not
programmed, the value B=90 will be taken.
Defines the length of the machining path according to the abscissa axis.
Defines the pass between machining operations along the abscissa axis.
Defines the total number of machining operations in the abscissa axis, including the machining
definition point.
Due to the fact that machining may be defined according to the abscissa axis with any two points
of the X I K group, the CNC allows the following definition combinations: XI, XK, IK.
Nevertheless, if format XI is defined, care should be taken to ensure that the number of machining
operations is an integer number, otherwise the CNC will show the corresponding error code.
Defines the length of the machining path according to the ordinate axis.
Defines the total number of machining operations in the ordinate axis, including the machining
definition point.
·M· & ·EN· MODELS
SOFT: V02.2X
Due to the fact that machining may be defined according to the ordinate axis with any two points
of the Y J D group, the CNC allows the following definition combinations: YJ, YD, JD.
Nevertheless, if format YJ is defined, care should be taken to ensure that the number of machining
operations is an integer number, otherwise the CNC will show the corresponding error code.
·208·
P r o gr a m m i ng m a n u a l
These parameters are optional and are used to indicate at which points or between which of those
programmed points it is not required to machine.
Thus, programming P7 indicates that it is not required to do machining at point 7, and programming
Q10.013 indicates that machining is not required from point 10 to 13, or expressed in another way,
that no machining is required at points 10, 11, 12 and 13.
When it is required to define a group of points (Q10.013), care should be taken to define the final
point with three digits, as if Q10.13 is programmed, multiple machining understands Q10.130.
The programming order for these parameters is P Q R S T U V, it also being necessary to maintain
the order in which the points assigned to these are numbered, i.e., the numbering order of the points
10.
assigned to Q must be greater than that assigned to P and less than that assigned to R.
If these parameters are not programmed, the CNC understands that it must perform machining at
all the points along the programmed path.
CNC 8055
CNC 8055i
·209·
Prog ramm in g man u a l
1. Multiple machining calculates the next point of those programmed where it is wished to machine.
2. Rapid traverse (G00) to this point.
3. Multiple machining will perform the canned cycle or modal subroutine selected after this
movement.
4. The CNC will repeat steps 1-2-3 until the programmed path has been completed.
After completing multiple machining, the tool will be positioned at the last point along the
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
is the longitudinal axis and that the starting point is X0 Y0 Z0:
G61: Multiple machining in rectangular pattern
MULTIPLE MACHINING
It is also possible to write the multiple machining definition block in the following ways:
G61 X700 K8 J60 D4 P2.005 Q9.011
G61 I100 K8 Y180 D4 P2.005 Q9.011
CNC 8055
CNC 8055i
·210·
P r o gr a m m i ng m a n u a l
G62 A B XI YJ PQRSTUV
XK YD
IK JD
10.
Defines the angle that forms the machining path with the abscissa axis. It is expressed in degrees
and if not programmed, the value A=0 will be taken.
Defines the angle formed by the two machining paths. It is expressed in degrees and if not
programmed, the value B=90 will be taken.
Defines the length of the machining path according to the abscissa axis.
Defines the pass between machining operations along the abscissa axis.
Due to the fact that machining may be defined according to the abscissa axis with any two points
of the X I K group, the CNC allows the following definition combinations: XI, XK, IK.
Nevertheless, if format XI is defined, care should be taken to ensure that the number of machining
operations is an integer number, otherwise the CNC will show the corresponding error code.
Defines the length of the machining path according to the ordinate axis.
Defines the pass between machining operations according to the ordinate axis. CNC 8055
CNC 8055i
[ D5 ] Number of machining operations along the ordinate axis
Defines the total number of machining operations in the ordinate axis, including the machining
definition point.
·M· & ·EN· MODELS
Due to the fact that machining may be defined according to the ordinate axis with any two points SOFT: V02.2X
of the Y J D group, the CNC allows the following definition combinations: YJ, YD, JD.
Nevertheless, if format YJ is defined, care should be taken to ensure that the number of machining
operations is an integer number, otherwise the CNC will show the corresponding error code.
·211·
Prog ramm in g man u a l
These parameters are optional and are used to indicate at which points or between which of those
programmed points it is not required to machine.
Thus, programming P7 indicates that it is not required to do machining at point 7, and programming
Q10.013 indicates that machining is not required from point 10 to 13, or expressed in another way,
that no machining is required at points 10, 11, 12 and 13.
When it is required to define a group of points (Q10.013), care should be taken to define the final
point with three digits, as if Q10.13 is programmed, multiple machining understands Q10.130.
10. The programming order for these parameters is P Q R S T U V, it also being necessary to maintain
the order in which the points assigned to these are numbered, i.e., the numbering order of the points
assigned to Q must be greater than that assigned to P and less than that assigned to R.
G62: Multiple machining in grid pattern
MULTIPLE MACHINING
Example:
Proper programming P5.006 Q12.015 R20.022
Correct programming P5.006 Q12.015 R20.022
If these parameters are not programmed, the CNC understands that it must perform machining at
all the points along the programmed path.
CNC 8055
CNC 8055i
·212·
P r o gr a m m i ng m a n u a l
1. Multiple machining calculates the next point of those programmed where it is wished to machine.
2. Rapid traverse (G00) to this point.
3. Multiple machining will perform the canned cycle or modal subroutine selected after this
movement.
4. The CNC will repeat steps 1-2-3 until the programmed path has been completed.
After completing multiple machining, the tool will be positioned at the last point along the
programmed path where machining was performed.
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
10.
is the longitudinal axis and that the starting point is X0 Y0 Z0:
It is also possible to write the multiple machining definition block in the following ways:
G62 X700 K8 J60 D4 P2.005 Q9.011 R15.019
G62 I100 K8 Y180 D4 P2.005 Q9.011 R15.019
CNC 8055
CNC 8055i
·213·
Prog ramm in g man u a l
G63 X Y I CFPQRSTUV
K
10.
G63: Multiple machining in a circular pattern
MULTIPLE MACHINING
[ X±5.5 ] Distance from the first machining point to the center along the abscissa axis
Defines the distance from the starting point to the center along the abscissa axis.
[ Y±5.5 ] Distance from the first machining point to the center along the ordinate axis
Defines the distance from the starting point to the center along the ordinate axis.
With parameters X and Y the center of the circle is defined in the same way that I and J do this in
circular interpolations (G02, G03).
Defines the angular pass between machining operations. When moving from point to point in G00
or G01, the sign indicates the direction, "+" counterclockwise, "-" clockwise.
Defines the total number of machining operations along the circle, including the machining definition
point.
Indicates how movement is made between machining points. If not programmed, a value of C=0
is assumed.
C=0: Movement is made in rapid feedrate (G00).
C=1: Movement is made in linear interpolation (G01).
C=2: Movement is made in clockwise circular interpolation (G02)
C=3: Movement is made in counterclockwise circular interpolation (G03)
CNC 8055
CNC 8055i [ F5.5 ] Feedrate to move from point to point
Defines the feedrate that is used for moving from point to point. Obviously, it will only apply for "C"
values other than zero. If it is not programmed, the value F0 will be taken, maximum feedrate selected
by the "MAXFEED" axis machine parameter.
·M· & ·EN· MODELS
SOFT: V02.2X
·214·
P r o gr a m m i ng m a n u a l
These parameters are optional and are used to indicate at which points or between which of those
programmed points it is not required to machine.
Thus, programming P7 indicates that it is not required to do machining at point 7, and programming
Q10.013 indicates that machining is not required from point 10 to 13, or expressed in another way,
that no machining is required at points 10, 11, 12 and 13.
When it is required to define a group of points (Q10.013), care should be taken to define the final
point with three digits, as if Q10.13 is programmed, multiple machining understands Q10.130.
The programming order for these parameters is P Q R S T U V, it also being necessary to maintain
the order in which the points assigned to these are numbered, i.e., the numbering order of the points
10.
assigned to Q must be greater than that assigned to P and less than that assigned to R.
If these parameters are not programmed, the CNC understands that it must perform machining at
all the points along the programmed path.
CNC 8055
CNC 8055i
·215·
Prog ramm in g man u a l
1. Multiple machining calculates the next point of those programmed where it is wished to machine.
2. Movement at the feedrate programmed by "C" (G00, G01, G02 or G03) to this point.
3. Multiple machining will perform the canned cycle or modal subroutine selected after this
movement.
4. The CNC will repeat steps 1-2-3 until the programmed path has been completed.
After completing multiple machining, the tool will be positioned at the last point along the
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
is the longitudinal axis and that the starting point is X0 Y0 Z0:
G63: Multiple machining in a circular pattern
MULTIPLE MACHINING
It is also possible to write the multiple machining definition block in the following ways:
G63 X200 Y200 K12 C1 F200 P2.004 Q8
CNC 8055
CNC 8055i
·216·
P r o gr a m m i ng m a n u a l
G64 X Y B I CFPQRSTUV
K
10.
Defines the distance from the starting point to the center along the abscissa axis.
[ Y±5.5 ] Distance from the first machining point to the center along the ordinate axis
Defines the distance from the starting point to the center along the ordinate axis.
With parameters X and Y the center of the circle is defined in the same way that I and J do this in
circular interpolations (G02, G03).
Defines the angular stroke of the machining path and is expressed in degrees.
Defines the angular pass between machining operations. When moving from point to point in G00
or G01, the sign indicates the direction, "+" counterclockwise, "-" clockwise.
Indicates how movement is made between machining points. If not programmed, a value of C=0
is assumed.
C=0: Movement is made in rapid feedrate (G00).
C=1: Movement is made in linear interpolation (G01).
C=2: Movement is made in clockwise circular interpolation (G02) CNC 8055
C=3: Movement is made in counterclockwise circular interpolation (G03) CNC 8055i
[ F5.5 ] Feedrate to move from point to point
Defines the feedrate that is used for moving from point to point. Obviously, it will only apply for "C"
values other than zero. If it is not programmed, the value F0 will be taken, maximum feedrate selected ·M· & ·EN· MODELS
SOFT: V02.2X
by the "MAXFEED" axis machine parameter.
·217·
Prog ramm in g man u a l
These parameters are optional and are used to indicate at which points or between which of those
programmed points it is not required to machine.
Thus, programming P7 indicates that it is not required to do machining at point 7, and programming
Q10.013 indicates that machining is not required from point 10 to 13, or expressed in another way,
that no machining is required at points 10, 11, 12 and 13.
When it is required to define a group of points (Q10.013), care should be taken to define the final
point with three digits, as if Q10.13 is programmed, multiple machining understands Q10.130.
10. The programming order for these parameters is P Q R S T U V, it also being necessary to maintain
the order in which the points assigned to these are numbered, i.e., the numbering order of the points
assigned to Q must be greater than that assigned to P and less than that assigned to R.
G64: Multiple machining in an arc
MULTIPLE MACHINING
Example:
Proper programming P5.006 Q12.015 R20.022
Correct programming P5.006 Q12.015 R20.022
If these parameters are not programmed, the CNC understands that it must perform machining at
all the points along the programmed path.
CNC 8055
CNC 8055i
·218·
P r o gr a m m i ng m a n u a l
1. Multiple machining calculates the next point of those programmed where it is wished to machine.
2. Movement at the feedrate programmed by "C" (G00, G01, G02 or G03) to this point.
3. Multiple machining will perform the canned cycle or modal subroutine selected after this
movement.
4. The CNC will repeat steps 1-2-3 until the programmed path has been completed.
After completing multiple machining, the tool will be positioned at the last point along the
programmed path where machining was performed.
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
10.
is the longitudinal axis and that the starting point is X0 Y0 Z0:
It is also possible to write the multiple machining definition block in the following ways:
G64 X200 Y200 B225 K6 C3 F200 P2
CNC 8055
CNC 8055i
·219·
Prog ramm in g man u a l
G65 X Y A CF
I
10.
G65: Machining programmed with an arc-chord
MULTIPLE MACHINING
[ X±5.5 ] Distance from the first machining point to the center along the abscissa axis
Defines the distance from the starting point to the center along the abscissa axis.
[ Y±5.5 ] Distance from the first machining point to the center along the ordinate axis
Defines the distance from the starting point to the center along the ordinate axis.
With parameters X and Y the center of the circle is defined in the same way that I and J do this in
circular interpolations (G02, G03).
Defines the angle formed by the perpendicular bisector of the chord with the abscissa axis and is
expressed in degrees.
Defines the chord length. When moving from point to point in G00 or G01, the sign indicates the
direction, "+" counterclockwise, "-" clockwise.
Indicates how movement is made between machining points. If not programmed, a value of C=0
is assumed.
C=0: Movement is made in rapid feedrate (G00).
C=1: Movement is made in linear interpolation (G01).
C=2: Movement is made in clockwise circular interpolation (G02)
C=3: Movement is made in counterclockwise circular interpolation (G03)
Defines the feedrate that is used for moving from point to point. Obviously, it will only apply for "C"
CNC 8055 values other than zero. If it is not programmed, the value F0 will be taken, maximum feedrate selected
CNC 8055i by the "MAXFEED" axis machine parameter.
·220·
P r o gr a m m i ng m a n u a l
1. Multiple machining calculates the next point of those programmed where it is wished to machine.
2. Movement at the feedrate programmed by "C" (G00, G01, G02 or G03) to this point.
3. Multiple machining will perform the canned cycle or modal subroutine selected after this
movement.
After completing multiple machining, the tool will be positioned at the programmed point.
Programming example assuming that the work plane is formed by the X and Y axes, that the Z axis
is the longitudinal axis and that the starting point is X0 Y0 Z0:
10.
It is also possible to write the multiple machining definition block in the following ways:
G65 X-280 Y-40 I444.75 C1 F200
CNC 8055
CNC 8055i
·221·
Prog ramm in g man u a l
10.
G65: Machining programmed with an arc-chord
MULTIPLE MACHINING
CNC 8055
CNC 8055i
·222·
IRREGULAR POCKET CANNED
CYCLE
11
What is an irregular pocket with islands?
A pocket with islands is composed by an external contour or profile and a series of internal contours
or profiles called islands.
There are two types of pockets with islands, namely 2D and 3D pockets.
2D pocket:
In a 2D pocket, all the walls of the outside profile and of the islands are vertical. To define the contours
of a 2D pocket, the plane profile for all the contours must be defined.
3D pocket:
In a 3D pocket, one, several or all the walls of the outside pocket and/or of the islands are not vertical.
To define the contours of a 2D pocket, the plane profile and the depth profile for all the contours
must be defined (even if they are vertical).
CNC 8055
CNC 8055i
·223·
Prog ramm in g man u a l
11.
IRREGULAR POCKET CANNED CYCLE
The call function for a 2D or 3D irregular pocket canned cycle is G66. The machining of a pocket
may consist of the following operations, each one is programmed with its relevant ·G· function.
G66 defines the operations that make up the machining of the pocket and where they are defined
in the program. This function also indicates where the various profiles of the pocket are defined.
CNC 8055
CNC 8055i
·224·
P r o gr a m m i ng m a n u a l
11.1 2D pockets
The G66 function is not modal, therefore it must be programmed whenever it is required to perform
a 2D pocket. In a block defining an irregular pocket canned cycle, no other function can be
programmed, its structure definition being:
G66 D H R I F K S E Q
Label number of the first block (D) and last block (H) defining the drilling operation.
• When not setting (H) only block (D) is executed.
• When not setting (D) there is no drilling operation.
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
R (0-9999) / I (0-9999) Roughing operation
Label number of the first block (R) and last block (I) defining the roughing operation.
• When not setting (I) only block (r) is executed.
• When not setting (R) there is no roughing operation.
Label number of the first block (F) and last block (K) defining the finishing operation.
• When not setting (K) only block (F) is executed.
• When not setting (F) there is no finishing operation.
Label number of the first block (S) and last block (E) defining the geometry of the profiles forming
the pocket. Both parameters must be set.
Q (0-999999) Program that contains the definition of the geometrical description of the profiles
Number of the program containing the geometry definition, parameters S and E. If it is in the same
program, (Q) need not be defined.
Programming example:
; Initial positioning.
G00 G90 X100 Y200 Z50 F5000 T1 D2
M06
; Definition of irregular pocket canned cycle.
G66 D100 R200 I210 F300 S400 E500
; End of program.
M30
·225·
Prog ramm in g man u a l
Basic operation
11. On each surface milling pass, the steps below will be followed depending on the type of
machining that has been programmed:
2D pockets
IRREGULAR POCKET CANNED CYCLE
Case A:
When the machining paths are linear and maintain a certain angle with the abscissa axis.
It first contours the external profile of the part. If the finishing operation has been selected on
the cycle call, this contouring is performed leaving the finishing stock programmed for the
finishing pass.
Next the milling operation, with the programmed feed and steps. If, while milling, an island is run
into for the first time, it will be contoured.
After the contouring and the remaining times, the tool will pass over the island, withdrawing along
the longitudinal axis, to the reference plane, and will continue machining once the island has
been cleared.
CNC 8055
CNC 8055i
·226·
P r o gr a m m i ng m a n u a l
Case B:
When the machining paths are concentric.
The roughing operation is carried out along paths concentric to the profile. The machining will
be done as fast as possible avoiding (when possible) going over the islands.
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
3. Finishing operation. Only if it has been programmed.
This operation can be done on a single pass or on several, as well as following the profiles in
the programmed direction or in the opposite.
The CNC will machine both the external profile and the islands, making tangential approaches
and exits to these with a constant surface speed.
Reference coordinates:
In the pocket canned cycle with islands, there are four coordinates along the longitudinal axis
(selected with G15), which, due to their importance, are discussed below:
1. Initial plane coordinate. This coordinate is given by the position which the tool occupies when
the cycle is called.
2. Coordinate of the reference plane. This represents an approach coordinate to the part, and must
be programmed in absolute coordinates.
3. Part surface coordinate. This is programmed in absolute coordinates and in the first profile
definition block.
4. Machining depth coordinate. It must be programmed in absolute values.
Once the canned cycle has ended, the active feedrate will be the last one programmed, i.e. the one
corresponding to the roughing operation or the finishing operation. The CNC will assume functions
G00, G40 and G90.
CNC 8055
CNC 8055i
·227·
Prog ramm in g man u a l
This operation is optional and in order to be executed it is necessary to also program a roughing
operation.
It is mainly used when the tool programmed in the roughing operation does not machine along the
longitudinal axis, allowing, by means of this operation, the access of this tool to the surface to be
roughed off.
It will be programmed in a block which will need to bear a label number in order to indicate to the
11. canned cycle the block where the drilling operation is defined.
When defining the drilling operation, the corresponding definition parameters must be programmed
together with the required function.
In a block of this type, only cycle definition parameters must be programmed, without defining XY
positioning, as the canned cycle itself will calculate the coordinate of the point or points to be drilled
according to the programmed profile and the roughing angle.
It is possible to program the M06 function in this block (if it does not have an associated subroutine),
to make the tool change. Otherwise, the CNC will show the corresponding error. If the M06 has an
associated subroutine, the drilling tool "T" must be selected before calling the cycle.
N100 G69 G98 G91 Z-4 I-90 B1.5 C0.5 D2 H2 J4 K100 F500 S3000 M3
N120 G81 G99 G91 Z-5 I-30 F400 S2000 T3 D3 M3
N220 G82 G99 G91 Z-5 I-30 K100 F400 S2000 T2 D2 M6
N200 G83 G98 G91 Z-4 I-5 J6 T2 D4
CNC 8055
CNC 8055i
·228·
P r o gr a m m i ng m a n u a l
This is the main operation in the machining of an irregular pocket, and its programming is optional.
This operation will be performed keeping the square corner mode (G07) or round corner mode (G05)
that is currently active. However, the canned cycle will assign the G07 format to the necessary
movements.
It will be programmed in a block which will need to bear a label number in order to indicate to the
canned cycle the block where the roughing operation is defined.
2D pockets
IRREGULAR POCKET CANNED CYCLE
; Definition of the roughing operation.
N200 G67...
The function for the roughing operation is G67 and its programming format:
G67 A B C I R K V Q F S T D M
It defines the angle of the machining path with respect to the abscissa axis.
If parameter "A" is not programmed, the roughing operation is carried out following concentric paths.
It will be machined as fast as possible since it does not have to go over the islands.
CNC 8055
CNC 8055i
·229·
Prog ramm in g man u a l
Defines the machining pass along the longitudinal axis (depth of the roughing pass). It must be
defined and it must have a value other than 0; otherwise, the roughing operation will be canceled.
• If programmed with a positive sign, all the roughing will be performed with the same machining
pass, and the canned cycle calculates a pass equal to or smaller than the programmed pass.
• If programmed with a negative sign, all the roughing will be performed with the programmed
pass, and the canned cycle will adjust the last pass to obtain the total programmed depth.
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
Defines the milling pass in roughing along the main plane, the entire pocket being performed with
the given pass, and the canned cycle adjusts the last milling pass.
If not programmed or programmed with a 0 value, it assumes a value of 3/4 of the diameter of the
selected tool. If programmed with a value greater than the tool diameter, the CNC issues the relevant
error message.
Defines the total depth of the pocket and is programmed in absolute coordinates. It must be
programmed.
Defines the reference plane coordinate and is programmed in absolute coordinates. It must be
programmed.
If not programmed, a value of 0 is assumed. Both types of intersection are described later on.
If not programmed or programmed with a 0 value, it assumes 50% of the feedrate in the plane (F).
·230·
P r o gr a m m i ng m a n u a l
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
If not programmed or programming the value of 90, it means that the penetration is vertical. When
programming a value lower than 0 or greater than 90, it issues the error "wrong parameter value
in canned cycle".
[ T4 ] Tool number
Defines the tool used for the roughing operation. It must be programmed.
[ D4 ] Tool offset
This operation allows M06 with an associated subroutine to be defined, and the tool change is
performed before beginning the roughing operation.
CNC 8055
CNC 8055i
·231·
Prog ramm in g man u a l
It will be programmed in a block that will need to bear a label number in order to indicate to the canned
cycle the block where the finishing operation is defined.
The function for the finishing operation is G68 and its programming format:
G68 B L Q I R K V F S T D M
Defines the machining pass along the longitudinal axis (depth of the finishing pass).
• If it is programmed with a value of 0, the CNC will perform a single finishing pass with the total
depth of the pocket.
• If programmed with a positive sign, all the roughing will be performed with the same machining
pass, and the canned cycle calculates a pass equal to or lower than the programmed pass.
• If programmed with a negative sign, all the roughing will be performed with the programmed
pass, and the canned cycle will adjust the last pass to obtain the total programmed depth.
Defines the value of the finishing stock left on the side walls of the pocket before the finishing
operation.
• If programmed with a positive value, the finishing pass will be carried out in square corner (G07).
• If a negative value is programmed, the finishing pass will be carried out in G5 (round corner).
• If not programmed or programmed with a 0 value, the cycle does not run the finishing pass.
Any other value will generate the corresponding error message. If parameter "Q" is not programmed,
the cycle assumes Q0.
·232·
P r o gr a m m i ng m a n u a l
Defines the total depth of the pocket and is programmed in absolute coordinates.
• If the island has a roughing operation, it is not necessary to define this parameter since it has
been programmed in that operation. However, if programmed in both operations, the canned
cycle will assume the particular depth indicated for each operation.
• If the island has no roughing operation, it is necessary to define this parameter.
2D pockets
IRREGULAR POCKET CANNED CYCLE
cycle will assume the particular depth indicated for each operation.
• If the island has no roughing operation, it is necessary to define this parameter.
If the island has a roughing operation, it is not necessary to define this parameter since it has been
programmed in that operation. However, if programmed in both operations, the canned cycle will
assume the one defined for the roughing operation.
If no roughing operation has been defined and this parameter is not programmed, the canned cycle
will assume a K0 value. Both types of intersection are described later on.
If not programmed or programmed with a 0 value, it assumes 50% of the feedrate in the plane (F).
[ T4 ] Tool number
Defines the tool used for the roughing operation. It must be programmed.
[ D4 ] Tool offset
This operation allows M06 with an associated subroutine to be defined, and the tool change is
performed before beginning the roughing operation.
·M· & ·EN· MODELS
SOFT: V02.2X
·233·
Prog ramm in g man u a l
When outside and inside profiles of an irregular pocket are programmed the following programming
rules must be followed: The canned cycle will verify all these geometry rules before beginning to
make the pocket adapting the profile of the pocket to them and displaying the error message when
necessary.
• All types of programmed profiles must be closed. The following examples cause a geometry
error.
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
• No profile must intersect itself. The following examples cause a geometry error.
• When more than one outside profile has been programmed, the canned cycle assumes the one
occupying the largest surface.
• It is not required to program inside profiles. Should these be programmed, they must be partially
or totally internal with respect to the outside profile. Some examples are given below.
• An internal profile totally contained within another internal profile cannot be programmed. In this
case, only the most external profile will be considered.
CNC 8055
CNC 8055i
·234·
P r o gr a m m i ng m a n u a l
In order to facilitate the programming of profiles, the canned cycle allows the profiles to intersect
one another and the external profile.
When selecting this type, the following profile intersecting rules are to be followed: 11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
• The intersection of islands generates a new inside profile which is their Boolean union.
• The intersection between an internal and an external profile generates a new external profile
as a result of the difference between the external and the internal profiles.
• If there is an inside profile which has an intersection with another inside profile and with the
external profile, the canned cycle first makes the intersection between the inside profiles and
then the intersection of these with the external profile.
• As a result of the intersection of the inside profiles with the outside one, a single pocket will be
obtained which corresponds to the outside profile having the largest surface. The rest will be
ignored.
• If the finishing operation has been programmed, the profile of the resulting pocket must comply
with all the tool compensation rules, since if a profile is programmed which cannot be machined
by the programmed finishing tool, the CNC will show the corresponding error.
CNC 8055
CNC 8055i
·235·
Prog ramm in g man u a l
When selecting this type, the following profile intersecting rules are to be followed:
1. The initial point of each contour determines the section to be selected.
In a profile intersection, each contour is divided into several lines that could be grouped as:
Lines external to the other contour.
Lines internal to the other contour.
11. This type of profile intersection selects in each contour the group of lines where the profile
defining point is included.
The following example shows the explained selection process. The solid lines indicate the lines
2D pockets
IRREGULAR POCKET CANNED CYCLE
external to the other contour and the dashes indicate the internal lines. The initial point of each
contour is indicated with an "x".
Boolean addition
Boolean subtraction
Boolean intersection
CNC 8055
CNC 8055i
·236·
P r o gr a m m i ng m a n u a l
2. The programming sequence for the different profiles is determinant when having an intersection
of more than 3 profiles.
The profile intersection process is performed according to the order in which the profiles have
been programmed. This way, the result of the intersection between the first two will be intersected
with the third one and so forth.
The initial point of the resulting profiles always coincides with the initial point that defined the
first profile.
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
Resulting profile
Once the profiles of the pocket and islands have been obtained, the canned cycle calculates the
remaining profiles according to the radius of the roughing tool and the programmed finishing stock.
It may occur that in this process intersections are obtained which do not appear among the
programmed profiles.
CNC 8055
CNC 8055i
If there is an area in which the roughing tool cannot pass, when the intersection is made between
the offset of the profiles, several pockets will be obtained as a result, all of which will be machined.
·237·
Prog ramm in g man u a l
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
CNC 8055
CNC 8055i
·238·
P r o gr a m m i ng m a n u a l
The outside profile and the inside profiles or islands which are programmed must be defined by
simple geometrical elements such as straight lines or arcs.
The first definition block (where the external profile starts) and the last (where the last profile defined
ends) must be provided with the block label number. These label numbers will indicate the beginning
and end of the profile geometry definition for the profiles that make up the pocket.
2D pockets
IRREGULAR POCKET CANNED CYCLE
...
N500 G2 G6 X300 Y50 I150 J0
Care must be taken to program G01, G02 or G03 in the block following the definition of the beginning,
i as G00 is modal, thus preventing the CNC from interpreting the following blocks as the beginnings
of a new profile.
• Once the definition of the profiles has been completed, a label number must be assigned to the
last block programmed, in order to indicate the canned cycle G66 the end of the geometric
description.
• Profiles are described as programmed paths, it being possible to include corner rounding,
chamfers, etc., following the syntax rules defined for this purpose.
• The profile description must not contain: mirror images, scaling factor changes, pattern rotation, CNC 8055
zero offsets, etc. CNC 8055i
• It must not contain high level blocks such as jumps, calls to subroutines or parametric
programming.
• It must not contain other canned cycles.
·M· & ·EN· MODELS
SOFT: V02.2X
·239·
Prog ramm in g man u a l
In addition to the G00 function, which has a special meaning, the irregular pocket canned cycle
allows the use of the following functions for the definition of profiles.
G01 Linear interpolation.
G02 Clockwise circular interpolation.
G03 Counter-clockwise circular interpolation.
G06 Circle center in absolute coordinates.
G08 Arc tangent to previous path.
11. G09
G36
Arc defined by three points.
Corner rounding, radius blend.
G39 Chamfer.
2D pockets
IRREGULAR POCKET CANNED CYCLE
CNC 8055
CNC 8055i
·240·
P r o gr a m m i ng m a n u a l
11.1.7 Errors
2D pockets
IRREGULAR POCKET CANNED CYCLE
When using a tool with "0" radius while machining a pocket.
ERROR 1026 A step has been programmed that is larger than the tool diameter
When parameter "C" of the roughing operation is greater than the diameter of the roughing tool.
ERROR 1041 A parameter required in the canned cycle has not been programmed.
ERROR 1044 The plane profile intersects itself in an irregular pocket with islands.
It comes up when any of the plane profiles of the programmed contours intersects itself.
It comes up when calling the G66 cycle if the tool is positioned between the reference plane and
the depth coordinate (bottom) of any of the operations.
It comes up when any of the programmed contours does not begin and end at the same point. It
may be because G1 has not been programmed after the beginning, with G0, on any of the profiles.
ERROR 1048 Part surface coordinate not programmed in pocket with islands
It comes up when the first point of the geometry does not include the pocket top coordinate.
ERROR 1049 Wrong reference plane coordinate for the canned cycle.
It comes up when the coordinate of the reference plane is located between the part's "top" and
"bottom" in any of the operations.
·241·
Prog ramm in g man u a l
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
CNC 8055
CNC 8055i
·242·
P r o gr a m m i ng m a n u a l
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
; Tool dimensions.
(TOR1=5, TOI1=0, TOL1=25, TOK1=0)
(TOR2=3, TOI2=0, TOL2=20, TOK2=0)
(TOR3=5, TOI3=0, TOL3=25, TOK3=0)
·243·
Prog ramm in g man u a l
11.
2D pockets
IRREGULAR POCKET CANNED CYCLE
; Tool dimensions.
(TOR1=9, TOI1=0, TOL1=25, TOK1=0)
(TOR2=3.6, TOI2=0, TOL2=20, TOK2=0)
(TOR3=9, TOI3=0, TOL3=25, TOK3=0)
; External contour.
G1 Y190
G2 G6 X-270 Y220 I-270 J190
G1 X170
X300 Y150
Y50
G3 G6 X300 Y-50 I300 J0
G1 G36 R50 Y-220
X -30
G39 R50 X-100 Y-150
X-170 Y-220
X-270
G2 G6 X-300 Y-190 I-270 J-190
G1 Y-50
CNC 8055 X-240
CNC 8055i Y50
X-300
·244·
P r o gr a m m i ng m a n u a l
2D pockets
IRREGULAR POCKET CANNED CYCLE
; Contour of the second island.
G0 X150 Y140
G1 X170 Y110; (Contour d)
Y -110
X150 Y-140
X130 Y-110
Y110
X150 Y140
G0 X110 Y0; (Contour e)
CNC 8055
CNC 8055i
·245·
Prog ramm in g man u a l
11.2 3D pockets
The cycle calling function G66 is not modal; therefore, it must be programmed every time a 3D pocket
is to be executed.
In a block defining an irregular pocket canned cycle, no other function can be programmed, its
structure definition being:
G66 R I C J F K S E
Label number of the first block (C) and last block (J) defining the semi-finishing operation.
• When not setting "J" only block "c" is executed.
• When not setting (C) there is no semi-finishing operation.
Label number of the first block (F) and last block (K) defining the finishing operation.
• When not setting (K) only block (F) is executed.
• When not setting (F) there is no finishing operation.
Label number of the first block (S) and last block (E) defining the geometry of the profiles forming
the pocket. Both parameters must be set.
Programming example:
; Initial positioning.
G00 G90 X100 Y200 Z50 F5000 T1 D2
M06
; Definition of irregular pocket canned cycle.
G66 R100 C200 J210 F300 S400 E500
; End of program.
M30
; Roughing operation.
N100 G67...
; Semi-finishing operation.
N200...
G67...
N210...
; Finishing operation.
N300 G68...
; Geometrical description.
N400 G0 G90 X300 Y50 Z3
...
...
N500 G2 G6 X300 Y50 I150 J0
CNC 8055
CNC 8055i
·246·
P r o gr a m m i ng m a n u a l
Basic operation
Case A:
When the machining paths are linear and maintain a certain angle with the abscissa axis.
It first contours the external profile of the part. If the finishing operation has been selected on
the cycle call, this contouring is performed leaving the finishing stock programmed for the
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
finishing pass.
Next the milling operation, with the programmed feed and steps. If, while milling, an island is run
into for the first time, it will be contoured.
After the contouring and the remaining times, the tool will pass over the island, withdrawing along
the longitudinal axis, to the reference plane, and will continue machining once the island has
been cleared.
CNC 8055
CNC 8055i
·247·
Prog ramm in g man u a l
Case B:
When the machining paths are concentric.
The roughing operation is carried out along paths concentric to the profile. The machining will
be done as fast as possible avoiding (when possible) going over the islands.
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
With the semi-finishing operation, it is possible to minimize these ridges by running several
contouring passes at different depths.
The CNC will machine both the external profile and the islands, making tangential approaches
and exits to these with a constant surface speed.
CNC 8055
CNC 8055i
·248·
P r o gr a m m i ng m a n u a l
Reference coordinates:
In the pocket canned cycle with islands, there are four coordinates along the longitudinal axis
(selected with G15), which, due to their importance, are discussed below:
1. Initial plane coordinate. This coordinate is given by the position which the tool occupies when
the cycle is called.
2. Coordinate of the reference plane. This represents an approach coordinate to the part, and must
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
be programmed in absolute coordinates.
3. Part surface coordinate. This is programmed in absolute coordinates and in the first profile
definition block.
4. Machining depth coordinate. It must be programmed in absolute values.
CNC 8055
CNC 8055i
·249·
Prog ramm in g man u a l
This is the main operation in the machining of an irregular pocket, and its programming is optional.
It will be programmed in a block which will need to bear a label number in order to indicate to the
canned cycle the block where the roughing operation is defined.
The function for the roughing operation is G67 and it cannot be executed independently from the
G66.
It defines the angle of the machining path with respect to the abscissa axis.
If parameter "A" is not programmed, the roughing operation is carried out following concentric paths.
It will be machined as fast as possible since it does not have to go over the islands.
Defines the machining pass along the longitudinal axis (depth of the roughing pass). It must be
defined and it must have a value other than 0; otherwise, the roughing operation will be canceled.
CNC 8055
CNC 8055i
• If programmed with a positive sign, all the roughing will be performed with the same machining
pass, and the canned cycle calculates a pass equal to or smaller than the programmed pass.
·250·
P r o gr a m m i ng m a n u a l
• If programmed with a negative sign, all the roughing will be performed with the programmed
pass, and the canned cycle will adjust the last pass to obtain the total programmed depth.
If done with B(+), the ridges will appear only on the pocket walls; but, if done with B(-), they could
also show up above the islands.
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
[ C5.5 ] Milling pass
Defines the milling pass in roughing along the main plane, the entire pocket being performed with
the given pass, and the canned cycle adjusts the last milling pass.
If not programmed or programmed with a 0 value, it assumes a value of 3/4 of the diameter of the
selected tool.
If programmed with a value greater than the tool diameter, the CNC issues the relevant error
message.
Defines the total depth of the pocket and is programmed in absolute coordinates. It must be
programmed.
·251·
Prog ramm in g man u a l
[ T4 ] Tool number
Defines the tool used for the roughing operation. It must be programmed.
[ D4 ] Tool offset
11. This operation allows M06 with an associated subroutine to be defined, and the tool change is
performed before beginning the roughing operation.
3D pockets
IRREGULAR POCKET CANNED CYCLE
CNC 8055
CNC 8055i
·252·
P r o gr a m m i ng m a n u a l
It will be programmed in a block which will need to bear a label number in order to indicate to the
canned cycle the block where the roughing operation is defined.
3D pockets
IRREGULAR POCKET CANNED CYCLE
The function for the semi-finishing operation is G67 and it cannot be executed independently from
the G66.
Both the roughing and the semi-finishing operations are defined with G67; but, in different blocks.
It is function G66 who indicates which is which by means of parameters "R" and "C".
Defines the machining step along the longitudinal axis (semi-finishing pass). It must be programmed
and with a value other than "0". Otherwise, the semi-finishing operation will be canceled.
• If programmed with a positive sign, the whole semi-finish operation will be carried out with the
same machining pass and the canned cycle will calculate a pass equal or smaller than the one
programmed.
• If programmed with a negative sign, the whole semi-finish operation will be run with the
programmed pass. The canned cycle will adjust the last pass to obtain the total programmed
depth.
Defines the total depth of the pocket and is programmed in absolute coordinates.
If there is a roughing operation and it is not programmed, the CNC takes the value defined for the
roughing operation.
If there is a roughing operation and it is not programmed, the CNC takes the value defined for the
roughing operation.
If not programmed or programmed with a 0 value, it assumes 50% of the feedrate in the plane (F).
·253·
Prog ramm in g man u a l
[ T4 ] Tool number.
Defines the tool used for the semi-finishing operation. It must be programmed.
[ D4 ] Tool offset
This operation allows M06 with an associated subroutine to be defined, and the tool change is
performed before beginning the semi-finishing operation.
CNC 8055
CNC 8055i
·254·
P r o gr a m m i ng m a n u a l
It will be programmed in a block that will need to bear a label number in order to indicate to the canned
cycle the block where the finishing operation is defined.
3D pockets
IRREGULAR POCKET CANNED CYCLE
The function for the finishing operation is G68 and it cannot be executed independently from the G66.
Defines the pass in the plane between two 3D paths of the finishing operation. It must be defined
and with a value other than "0".
Defines the value of the finishing stock on the side walls of the pocket left by the roughing and semi-
finishing operations. There is no finishing stock left on top of the islands nor on the bottom of the
pocket.
If programmed with a positive value, the finishing pass will be carried out in square corner (G07).
If a negative value is programmed, the finishing pass will be carried out in G5 (round corner). If not
programmed, the cycle assumes "L0".
·255·
Prog ramm in g man u a l
Indicates the tool tip radius and, therefore, the type of finishing tool being used.
Depending on the radius assigned to the tool in the tool offset table (of the CNC variables: "TOR"
+ "TOI") and the value of assigned to this parameter, three tool types may be defined.
FLAT If J is not programmed or J = 0.
SPHERICAL If J = R.
TORIC If J other than 0 and J smaller than R.
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
Defines the total depth of the pocket and is programmed in absolute coordinates.
• If defined, the cycle will take it into account during the finishing operation.
• If not defined and the pocket has a roughing operation, the cycle will assume the value defined
for the roughing operation.
• If not defined and the pocket has no roughing operation, but it has a semi-finishing operation,
the cycle will assume the one define in the semi-finishing operation.
• If the pocket has neither roughing nor semi-finishing operation, this parameter must be defined.
If not programmed or programmed with a 0 value, it assumes 50% of the feedrate in the plane (F).
[ D4 ] Tool offset
·M· & ·EN· MODELS Optional. Defines the tool offset number.
SOFT: V02.2X
·256·
P r o gr a m m i ng m a n u a l
This operation allows M06 with an associated subroutine to be defined, and the tool change is
performed before beginning the finishing operation.
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
CNC 8055
CNC 8055i
·257·
Prog ramm in g man u a l
To define the contours of a 2D pocket, the plane profile (3) and the depth profile (4) for all the contours
must be defined (even if they are vertical).
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
Since the canned cycle applies the same depth profile to the whole contour, the same start point
must be used to define the plane profile as for the depth profile.
3D contours with more than one depth profile are also possible. These contours are called
"composite 3D profiles" and will be described later on.
CNC 8055
CNC 8055i
·258·
P r o gr a m m i ng m a n u a l
When programming inside or outside contours of an irregular 3D pocket (with islands) , the following
rules must be complied with:
1. The profile in the main plane indicates the shape of the contour.
Since a 3D contour has an infinite number of different profiles (1 per each depth coordinate),
the following must be programmed:
For the outside contour of the pocket, the one for the surface coordinate (1).
For the inside contours: the one corresponding to the base or bottom (2).
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
2. The profile in the plane must be closed (same starting and end points) and it must not intersect
itself. Examples:
3. The depth profile (vertical cross section) must be programmed with any of the axes of the active
plane. If the active plane is the XY and the perpendicular axis is the Z axis, one must program:
G16XZ or G16YZ.
All profiles, plane and depth, must start with the definition of the plane containing it.
·259·
Prog ramm in g man u a l
4. The depth profile must be defined after having defined the plane profile.
The beginning points of the plane profile and depth profile must be the same one.
Nevertheless, the depth profile must be programmed:
For the outside contour of the pocket starting from the top or surface coordinate (1).
For the inside contours, islands, starting from the bottom or base coordinate (2).
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
5. The depth profile must be open and without direction changes along its path. In other words,
it cannot zig-zag.
CNC 8055
CNC 8055i
·260·
P r o gr a m m i ng m a n u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
(TOR1=2.5,TOL1=20,TOI1=0,TOK1=0)
G17 G0 G43 G90 Z50 S1000 M4
G5
; Defines the 3D pocket.
G66 R200 C250 F300 S400 E500
M30
; Roughing operation.
N200 G67 B5 C4 I-30 R5 V100 F400 T1 D1 M6
; Semi-finishing operation.
N250 G67 B2 I-30 R5 V100 F550 T2 D1 M6
; Finishing operation.
N300 G68 B1.5 L0.75 Q0 I-30 R5 V80 F275 T3 D1 M6
CNC 8055
CNC 8055i
·261·
Prog ramm in g man u a l
Pyramid island
; Plane profile
G17
G0 G90 X17 Y4
G1 X30
G1 Y30
11. G1 X4
G1 Y4
G1 X17
3D pockets
IRREGULAR POCKET CANNED CYCLE
; Depth profile
G16 YZ
G0 G90 Y4 Z4
G1 Y17 Z35
Conic island
; Plane profile
G17
G0 G90 X35 Y8
G2 X35 Y8 I0 J27
; Depth profile
G16 YZ
G0 G90 Y8 Z14
G1 Y35 Z55
Semi-spherical island
; Plane profile
G17
G0 G90 X35 Y8
G2 X35 Y8 I0 J27
; Depth profile
G16 YZ
G0 G90 Y8 Z14
G2 Y35 Z41 R27
CNC 8055
CNC 8055i
·262·
P r o gr a m m i ng m a n u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
(TOR1=2.5,TOL1=20,TOI1=0,TOK1=0)
G17 G0 G43 G90 Z50 S1000 M4
G5
; Defines the 3D pocket.
G66 R200 C250 F300 S400 E500
M30
; Roughing operation.
N200 G67 B5 C4 I9 R25 V100 F400 T1D1 M6
; Semi-finishing operation.
N250 G67 B2 I9 R25 V100 F550 T2D1 M6
; Finishing operation.
N300 G68 B1.5 L0.75 Q0 I9 R25 V50 F275 T3D1 M6
; Definition of pocket geometry.
N400 G17
; External contour. Plane profile.
G90 G0 X10 Y30 Z24
G1 Y50
X70
Y10
X10
Y30
; Depth profile.
G16 XZ
G0 X10 Z24
G1 X15 Z9
; Island definition. Plane profile.
G17
G90 G0 X30 Y30
G2 X30 Y30 I10 K0
; Depth profile.
G16 XZ
G90 G0 X30 Z9
N500 G1 X35 Z20
CNC 8055
CNC 8055i
·263·
Prog ramm in g man u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
It is defined by means of the intersection of several contours with different depth profiles.
Each contour is defined by a profile on the plane and a depth profile, which requires the definition
of an initiation point. All the contours must meet the following conditions:
• The plane profile must contain the corresponding sides completely.
• Only a depth profile per contour must be defined.
• The plane profile and the depth profile of the contour gathering several sides must start at the
same point.
The resulting plane profile will be formed by the intersection of the plane profiles of each element
or contour.
The initial point of the intersection contour must be included on the face.
Pi Pf1
Profile resulting
Pi Pf3
from the
Pi Pf2 intersections.
Being the final
pocket to be
machined.
Each wall of the resulting profile will assume the corresponding depth profile.
Pz1
Pz2
Pz4
Pz2 Pz1 Pz4
Pz3
Pz3
CNC 8055
CNC 8055i
The CNC will interpret Pz1 and Pz3 as a straight line if the profiles are not defined; empty field.
·264·
P r o gr a m m i ng m a n u a l
3D pockets
IRREGULAR POCKET CANNED CYCLE
Examples of profile intersections:
Boolean addition
Boolean subtraction
Boolean intersection
CNC 8055
CNC 8055i
·265·
Prog ramm in g man u a l
2. The programming sequence for the different profiles is determinant when having an intersection
of more than 3 profiles.
The profile intersection process is performed according to the order in which the profiles have
been programmed. This way, the result of the intersection between the first two will be intersected
with the third one and so forth.
The initial point of the resulting profiles always coincides with the initial point that defined the
first profile.
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
CNC 8055
CNC 8055i
·266·
P r o gr a m m i ng m a n u a l
When 2 or more profiles stack on top of each other, the following considerations must be taken into
account.
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
The base coordinate of the top profile (2) must coincide with the surface coordinate of the bottom
profile (1).
If there is a gap between them, the cycle will consider that they are 2 different profiles and it will
eliminate the top profile when executing the bottom one.
If the profiles mix, the canned cycle will make a groove around the top profile when running the
finishing pass.
CNC 8055
CNC 8055i
·267·
Prog ramm in g man u a l
The outside profile and the inside profiles or islands which are programmed must be defined by
simple geometrical elements such as straight lines or arcs.
The first definition block (where the external profile starts) and the last (where the last profile defined
ends) must be provided with the block label number. These label numbers will indicate the beginning
and end of the profile geometry definition for the profiles that make up the pocket.
...
N500 G2 G6 X300 Y50 I150 J0
CNC 8055
CNC 8055i
·268·
P r o gr a m m i ng m a n u a l
• Profiles are described as programmed paths, it being possible to include corner rounding,
chamfers, etc., following the syntax rules defined for this purpose.
• The profile description must not contain: mirror images, scaling factor changes, pattern rotation,
zero offsets, etc.
• It must not contain high level blocks such as jumps, calls to subroutines or parametric
programming.
• It must not contain other canned cycles.
In addition to the G00 function, which has a special meaning, the irregular pocket canned cycle
allows the use of the following functions for the definition of profiles.
G01 Linear interpolation. 11.
G02 Clockwise circular interpolation.
3D pockets
IRREGULAR POCKET CANNED CYCLE
G03 Counter-clockwise circular interpolation.
G06 Circle center in absolute coordinates.
G08 Arc tangent to previous path.
G09 Arc defined by three points.
G16 Main plane selection by two addresses and longitudinal axis.
G17 Main plane X-Y, and longitudinal axis Z.
G18 Main plane Z-X, and longitudinal axis Y.
G19 Main plane Y-Z, and longitudinal axis X.
G36 Corner rounding, radius blend.
G39 Chamfer.
G53 Programming with respect to machine zero.
G70 Programming in inches.
G71 Programming in millimeters.
G90 Absolute programming.
G91 Incremental programming.
G93 Polar origin preset.
CNC 8055
CNC 8055i
·269·
Prog ramm in g man u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
The island of this example has 3 different depth profiles, type A, type B and type C. To define the
island, 3 contours are used: contour A, contour B and contour C.
; Tool dimensions.
(TOR1=2.5,TOL1=20,TOI1=0,TOK1=0)
·270·
P r o gr a m m i ng m a n u a l
; Depth profile.
G16 YZ
G0 G90 Y90 Z0
G1 Z-20
3D pockets
IRREGULAR POCKET CANNED CYCLE
Y50
; Depth profile.
G16 XZ
G0 G90 X10 Z0
G1 X20 Z-20
; Depth profile.
G16 XZ
G0 G90 X90 Z0
N500 G2 X70 Z-20 I-20 K0
CNC 8055
CNC 8055i
·271·
Prog ramm in g man u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
The island of this example has 3 different depth profiles, type A, type B and type C. To define the
island, 3 contours are used: contour A, contour B and contour C.
; Tool dimensions.
(TOR1=7.5,TOI1=0,TOR2=5,TOI2=0,TOR3=2.5,TOI3=0)
·272·
P r o gr a m m i ng m a n u a l
; Depth profile.
G16 YZ
G0 G90 Y30 Z-25
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
G2 Y50 Z-5 J20 K0
; Depth profile.
G16 XZ
G0 G90 X40 Z-25
G1 Z-5
; Depth profile.
G16 YZ
G0 G90 Y40 Z-25
N500 G2 Y50 Z-15 J10 K0
CNC 8055
CNC 8055i
·273·
Prog ramm in g man u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
The island of this example has 3 different depth profiles, type A, type B and type C. To define the
island, 3 contours are used: contour A, contour B and contour C.
; Tool dimensions.
(TOR1=4,TOI1=0,TOR2=2.5,TOI2=0)
·274·
P r o gr a m m i ng m a n u a l
; Depth profile.
G16 XZ
G0 X0 Z0
G2 X5 Z-5 I0 K-5
G1 X7.5 Z-20
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
; Definition of contour A. Profile on the plane.
G17
G90 G0 X37 Y19
G2 I0 J12
; Depth profile.
G16 YZ
G0 Y19 Z-20
G1 Z-16
G2 Y31 Z-4 R12
; Depth profile.
G16 YZ
G0 Y37 Z-20
G1 Z-13
G3 Y34 Z-10 J-3 K0
; Depth profile.
G16 XZ
G0 X70 Z-20
N500 G1 X65 Z-10
CNC 8055
CNC 8055i
·275·
Prog ramm in g man u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
CNC 8055
CNC 8055i
·276·
P r o gr a m m i ng m a n u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
; Tool dimensions.
(TOR1=4,TOI1=0,TOR2=2.5,TOI2=0)
; Depth profile.
G16 YZ ·M· & ·EN· MODELS
G0 G90 Y5 Z-30 SOFT: V02.2X
G3 Y-25 Z0 J-30 K0
·277·
Prog ramm in g man u a l
; Definition of contour 2.
G17
G0 X27.5 Y-25
G1 G91 Y31
G1 X-2
Y-62
X2
Y31
G1 Z0
; Definition of contour 3.
G17
G0 X57.5 Y-25
G1 G91 Y-31
X2
Y62
X-2
Y-31
; Depth profile.
G16 XZ
G0 G90 X57.5 Z-30
G1 Z0
; Definition of contour 4.
G17
G0 X0 Y-75
G1 G91 X-31
Y-2
X62
Y2
X-31
; Depth profile.
G16 YZ
G0 G90 Y-75 Z-30
G1 Z0
; Definition of contour 5.
G17
G0 X-30 Y-60
G1 G91 Y-16
X60
Y32
X-60
Y-16
; Depth profile.
G16 XZ
G0 G90 X-30 Z-30
G2 X0 Z0 I30 K0
·278·
P r o gr a m m i ng m a n u a l
; Depth profile.
G16 YZ
G0 G90 Y-45 Z-30
G1 Z0
; Definition of contour 7.
G17
G0 X-57.5 Y-25
G1 G91 Y31
X-2
Y-62
X2
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
Y31
; Depth profile.
G16 XZ
G0 G90 X-57.5 Z-30
G1 Z0
; Definition of contour 8.
G17
G0 X-42.5 Y5
G1 G91 X-16
Y-60
X32
Y60
X-16
; Depth profile.
G16 YZ
G0 G90 Y5 Z-30
G3 Y-25 Z0 J-30 K0
; Definition of contour 9.
G17
G0 X-27.5 Y-25
G1 G91 Y-31
X2
Y62
X-2
Y-31
; Depth profile.
G16 XZ
G0 G90 X27.5 Z-30
G1 Z0
·279·
Prog ramm in g man u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
The island of this example has 2 different depth profiles, type A and type B. To define the island,
2 contours are used: contour A and contour B.
; Tool dimensions.
(TOR1=2.5,TOL1=20,TOI1=0,TOK1=0)
·280·
P r o gr a m m i ng m a n u a l
; Depth profile.
G16 XZ
G0 X30 Z-25
G1 Z-20
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
G2 X39 Z-11 I9 K0
; Depth profile.
G16 YZ
G0 Y-16 Z-11
G1 Y-16 Z-5
N500 G3 Y-21 Z0 J-5 K0
CNC 8055
CNC 8055i
·281·
Prog ramm in g man u a l
11.2.10 Errors
It comes up when using a tool with "0" radius while machining a 3D pocket.
ERROR 1026 A step has been programmed that is larger than the tool diameter
11. When parameter "C" of the roughing operation is greater than the diameter of the roughing tool.
ERROR 1041 A parameter required in the canned cycle has not been programmed.
3D pockets
IRREGULAR POCKET CANNED CYCLE
ERROR 1044 The plane profile intersects itself in an irregular pocket with islands.
It comes up when any of the plane profiles of the programmed contours intersects itself.
It comes up when calling the G66 cycle if the tool is positioned between the reference plane and
the depth coordinate (bottom) of any of the operations.
It comes up when any of the programmed contours does not begin and end at the same point. It
may be because G1 has not been programmed after the beginning, with G0, on any of the profiles.
ERROR 1048 Part surface coordinate not programmed in pocket with islands
It comes up when the first point of the geometry does not include the pocket top coordinate.
ERROR 1049 Wrong reference plane coordinate for the canned cycle.
CNC 8055 It comes up when the coordinate of the reference plane is located between the part's "top" and
CNC 8055i "bottom" in any of the operations.
It comes up when any of the paths programmed in the geometry definition of the pocket is wrong.
·M· & ·EN· MODELS
SOFT: V02.2X
ERROR 1227 Wrong profile intersection in a pocket with islands.
·282·
P r o gr a m m i ng m a n u a l
• When the initial points of two profiles in the main plane coincide (drawing on the right).
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
CNC 8055
CNC 8055i
·283·
Prog ramm in g man u a l
11.
3D pockets
IRREGULAR POCKET CANNED CYCLE
CNC 8055
CNC 8055i
·284·
PROBING
12
The CNC has two probe inputs, one for TTL-type 5Vdc signals and another for 24 Vdc signals.
The connection of the different types of probes to these inputs are explained in the appendix to the
Installation manual.
CNC 8055
CNC 8055i
·285·
Prog ramm in g man u a l
The G75 function allows movements to be programmed that will end after the CNC receives the
signal from the measuring probe used.
The G76 function allows movements to be programmed that will end after the CNC no longer
receives the signal from the measuring probe used.
After G75 or G76, the required axis or axes will be programmed, as well as the coordinates of these
PROBING
Probing (G75, G76)
axes that will define the end point of the programmed movement.
The machine will move according to the programmed path until it receives the signal from the probe
(G75) or until it no longer receives the probe signal (G76). At this time, the CNC will consider the
block finished, taking as the theoretical position of the axes the real position they have at that time.
If the axes reach the programmed position before receiving or while receiving the external signal
from the probe, the CNC will stop the movement of the axes.
This type of movement with probing blocks are very useful when it is required to generate
measurement or verification programs for tools and parts.
Functions G75 and G76 are not modal and, therefore, must be programmed whenever it is wished
to probe.
Functions G75 and G76 are incompatible with each other and with G00, G02, G03, G33, G34, G41
and G42 functions. In addition, once this has been performed, the CNC will assume functions G01
and G40.
During G75 or G76 moves, the operation of the feedrate override switch depends on the setting of
OEM machine parameter FOVRG75.
CNC 8055
CNC 8055i
·286·
P r o gr a m m i ng m a n u a l
All the movements of these probing canned cycles will be performed in the X, Y, Z axes and the work
plane must be formed by 2 of these axes (XY, XZ, YZ, YX, ZX, ZY). The other axis must be
perpendicular and it must be selected as the longitudinal axis.
Canned cycles will be programmed by means of the high level mnemonic, PROBE, which has the
following programming format:
(PROBE (expression), (assignment instruction),...)
This instruction PROBE calls the probing cycle indicated by means of a number or any expression
which results in a number. Besides, it allows the parameters of this cycle to be initialized with the
values required to perform it, by means of assignment instructions.
The execution of a probing canned cycle does not alter the history of previous "G" functions, except
for the radius compensation functions G41 and G42.
CNC 8055
CNC 8055i
·287·
Prog ramm in g man u a l
This is used to calibrate the length and radius of the selected tool. The following operations are
possible with this cycle.
• Calibrate the length of a tool.
• Calibrate the radius of a tool.
• To calibrate the tool radius and length.
• Measure the length wear of a tool.
To perform this cycle it is necessary to have a table-top probe, installed in a fixed position on the
machine and with its faces parallel to axes X, Y, Z. Its position will be indicated in absolute
coordinates with respect to machine zero by means of the general machine parameters:
PRBXMIN Indicates the minimum coordinate occupied by the probe along the X axis.
PRBXMAX Indicates the maximum coordinate occupied by the probe along the X axis.
PRBYMIN Indicates the minimum coordinate occupied by the probe along the Y axis.
PRBYMAX Indicates the maximum coordinate occupied by the probe along the Y axis.
PRBZMIN Indicates the minimum coordinate occupied by the probe along the Z axis.
PRBZMAX Indicates the maximum coordinate occupied by the probe along the Z axis.
If it is the first time that the tool length has been calibrated, it is advisable to include an approximate
value of its length (L) in the tool offset table.
CNC 8055
CNC 8055i
·288·
P r o gr a m m i ng m a n u a l
Programming format
Certain parameters are only relevant in certain type of measurement. Later sections describe the
various options of this cycle and the parameters to be set in each one.
Parameters X, U, Y, V, Z, W.
Define the position of the probe. They are optional parameters that usually need not be defined.
On certain machines, due to lack of repeatability in the mechanical positioning of the probe, the
12.
PROBING
Instead of redefining machine parameters PRBXMIN, PRBXMAX, PRBYMIN, PRBYMAX,
PRBZMAX, PRBZMIN every time the probe is calibrated, those coordinates may be indicated in
parameters X, U, Y, V, Z, W, respectively.
The CNC does not modify the machine parameters. The CNC only takes into account the
coordinates indicated in X, U, Y, V, Z, W during this calibration. If any of the X, U, Y, V, Z, W fields
is left out, the CNC takes the value assigned to the corresponding machine parameter.
CNC 8055
CNC 8055i
·289·
Prog ramm in g man u a l
The type of operation (calibration or measurement) is selected when calling the cycle.
The calibration or measurement may be done on the tool shaft or on its tip. It is selected when calling
the canned cycle.
It is useful for drilling tools, ball end-mills, or tools whose diameter is smaller
than the probe's probing surface.
This type of calibration may be carried out either with the spindle stopped or
turning in the opposite direction to the cutting direction.
[ J ] Type of operation
CNC 8055 The calibration may be done on the tool shaft or on its tip.
CNC 8055i J=0 Tool calibration.
J=1 Tool wear measurement.
Only if J1 has been defined and tool life monitoring is being used. If not programmed, the canned
cycle will assume the L0 value.
·290·
P r o gr a m m i ng m a n u a l
It sets the radius or distance referred to the tool shaft being probed.
To probe with the spindle running, the tool must be turning in the opposite direction to the cutting
direction.
• When set to 0, probing is carried out with the spindle stopped.
• When set with a positive value, the spindle starts in M3.
• When set with a negative value, the spindle starts in M4.
12.
When set to zero, it only takes one measurement. If not programmed, the cycle will assume the N0
value.
To measure each cutting edge when the spindle has feedback and s.m.p. M19TYPE (P43) =1.
[ X U Y V Z W ] Probe position
CNC 8055
CNC 8055i
·291·
Prog ramm in g man u a l
12. K 0.
C1 The cycle replaces the tool with another one from the same family. It sets the "rejected
tool " indicator (status = R). It activates the general logic output PRTREJEC (M5564).
• If tool life monitoring is not available or the measuring difference does not exceed the maximum
allowed.
In this case, it updates global arithmetic parameter P299 and the length wear value of the tool
offset selected in the tool offset table.
P299 "Measured length" - "Theoretical length (L)".
L Theoretical length. It maintains the previous value.
K "Measured length" - "Theoretical length (L)". New wear value.
If the dimension of each cutting edge was requested (“N” parameter) the measured values are
assigned to global arithmetic parameters P271 and on.
CNC 8055
CNC 8055i
·292·
P r o gr a m m i ng m a n u a l
The type of operation (calibration or measurement) is selected when calling the cycle.
[ J ] Type of operation
J=0 Tool calibration.
J=1 Tool wear measurement.
To probe with the spindle running, the tool must be turning in the opposite direction to the cutting
direction.
• When set to 0, probing is carried out with the spindle stopped.
CNC 8055
• When set with a positive value, the spindle starts in M3.
CNC 8055i
• When set with a negative value, the spindle starts in M4.
Only if J1 has been defined and tool life monitoring is being used. If not programmed, a value of
M0 will be assumed.
·293·
Prog ramm in g man u a l
12. When set to zero, it only takes one measurement. If not programmed, the cycle will assume the N0
value.
To measure each cutting edge when the spindle has feedback and s.m.p. M19TYPE (P43) =1.
PROBE 1. Tool length calibrating canned cycle
PROBING
[ X U Y V Z W ] Probe position
C1 The cycle replaces the tool with another one from the same family. It sets the "rejected
tool " indicator (status = R). It activates the general logic output PRTREJEC (M5564).
• If tool life monitoring is not available or the measuring difference does not exceed the maximum
allowed.
In this case, it updates global arithmetic parameter P298 and the radius wear value of the tool
offset selected in the tool offset table.
P298 "Measured radius" - "Theoretical radius (R)".
R Theoretical radius. It maintains the previous value.
I "Measured radius" - "Theoretical radius (R)". New wear value.
If the dimension of each cutting edge was requested ("N" parameter) the measured values are
assigned to global arithmetic parameters P251 and on.
CNC 8055
CNC 8055i
·294·
P r o gr a m m i ng m a n u a l
12.3.3 Measure or calibrate the tool radius wear and tool length wear.
The type of operation (calibration or measurement) is selected when calling the cycle.
[ J ] Type of operation
J=0 Tool calibration.
J=1 Tool wear measurement.
When set to zero, the tool will not be rejected due to length wear. When the measured wear is greater
than the defined value, the tool will be rejected.
Only if J1 has been defined and tool life monitoring is being used. If not programmed, the canned
cycle will assume the L0 value.
It sets the radius or distance referred to the tool shaft being probed.
This parameter may be very useful on tools with cutters whose bottom is not horizontal.
·295·
Prog ramm in g man u a l
To probe with the spindle running, the tool must be turning in the opposite direction to the cutting
direction.
• When set to 0, probing is carried out with the spindle stopped.
• When set with a positive value, the spindle starts in M3.
• When set with a negative value, the spindle starts in M4.
12. When set to 0, the tool is not rejected due to radius wear. When the measured wear is greater than
the defined value, the tool will be rejected.
PROBE 1. Tool length calibrating canned cycle
PROBING
Only if J1 has been defined and tool life monitoring is being used. If not programmed, a value of
M0 will be assumed.
When set to zero, it only takes one measurement. If not programmed, the cycle will assume the N0
value.
To measure each cutting edge when the spindle has feedback and s.m.p. M19TYPE (P43) =1.
[ X U Y V Z W ] Probe position
CNC 8055
CNC 8055i
·296·
P r o gr a m m i ng m a n u a l
C1 The cycle replaces the tool with another one from the same family. It sets the "rejected
tool " indicator (status = R). It activates the general logic output PRTREJEC (M5564).
• If tool life monitoring is not available or the measuring difference does not exceed the maximum
allowed.
In this case, it updates global arithmetic parameters P298 and P299 as well as the radius wear
and length wear value of the tool offset selected in the tool offset table.
P298 "Measured radius" - "Theoretical radius (R)".
P299 "Measured length" - "Theoretical length (L)".
R Theoretical radius. It maintains the previous value.
I "Measured radius" - "Theoretical radius (R)". New wear value.
L Theoretical length. It maintains the previous value.
K "Measured length" - "Theoretical length (L)". New wear value.
If the dimension of each cutting edge was requested (“N” parameter) the lengths are assigned
to global arithmetic parameters P271 and on; the radii are assigned to global arithmetic
parameters P251 and on.
CNC 8055
CNC 8055i
·297·
Prog ramm in g man u a l
This is used to calibrate the probe located in the tool holding spindle. This probe which previously
must be calibrated in length, will be the one used in probe measuring canned cycles.
The cycle measures the deviation which the probe ball axis has with respect to the tool holder axis,
using a previously machined hole with known center and dimensions for its calibration.
12.
PROBING
PROBE 2. Probe calibration canned cycle.
The CNC will treat each measuring probe used as just one more tool. The tool offset table fields
corresponding to each probe will have the following meaning:
R Radius of the sphere (ball) of the probe. This value will be loaded into the table manually.
L Length of the probe. This value will be indicated by the tool length calibration cycle.
I Deviation of the probe ball with respect to the tool-holder axis, along the abscissa axis.
This value will be assigned by this cycle.
K Deviation of the probe ball with respect to the tool-holder axis, along the ordinate axis.
This value will be assigned by this cycle.
CNC 8055
CNC 8055i
·298·
P r o gr a m m i ng m a n u a l
Defines the safety distance. Must be programmed with a positive value and over 0. 12.
PROBING
PROBE 2. Probe calibration canned cycle.
[ J5.5 ] Real diameter of the hole
Defines the real diameter of the hole. Must be programmed with a positive value and over 0.
Defines the distance which the probe moves back after initial probing. Must be programmed with
a positive value and over 0.
Defines the feedrate for the initial probing movement. It must be programmed in mm/minute or
inches/minute.
CNC 8055
CNC 8055i
·299·
Prog ramm in g man u a l
12.
PROBING
PROBE 2. Probe calibration canned cycle.
1. Approach movement.
Probe's rapid movement (G00) from the cycle calling point to the center of the hole.
The approaching movement is made in two stages:
·1· Movement in the main work plane.
·2· Movement along the longitudinal axis.
2. Probing movement.
This movement consists of:
·1· Probe movement along the ordinate axis at the feedrate indicated by (H) until the probe signal
is received.
The maximum distance to be traveled in the probing movement is "B+(J/2)", if, after travelling
that distance, the CNC does not receive the probe signal, it will display the corresponding
error code and stop the movement of the axes.
·2· Return of the probe in rapid (G00) the distance indicated in (E).
·3· Probe movement along the ordinate axis at the feedrate indicated by (F) until the probe signal
is received.
3. Withdrawal movement.
Movement of the probe in rapid (G00) from the point where it probed to the real center of the hole.
4. Second probing movement.
Same as above.
5. Withdrawal movement.
Movement of the probe in rapid (G00) from the point where it probed to the real center of the
hole along the ordinate axis.
6. Third probing movement.
CNC 8055 Same as above.
CNC 8055i 7. Withdrawal movement.
Movement of the probe in rapid (G00) from the point where it probed to the real center of the hole.
8. Fourth probing movement.
·M· & ·EN· MODELS Same as above.
SOFT: V02.2X
9. Withdrawal movement.
This movement consists of:
·1· Movement of the probe in rapid (G00) from the point where it probed to the real center of
the hole.
·300·
P r o gr a m m i ng m a n u a l
·2· Movement along the longitudinal axis to the coordinate of the point (along this axis) from
where the cycle was called.
·3· Movement in the main work plane to the point where the cycle is called.
PROBING
PROBE 2. Probe calibration canned cycle.
CNC 8055
CNC 8055i
·301·
Prog ramm in g man u a l
A probe placed in the spindle will be used, which must be previously calibrated by means of canned
cycles:
Tool length calibrating canned cycle.
Probe calibrating canned cycle.
This cycle allows correcting the value of the tool offset of the tool that has been used in the surface
machining process. This correction will be used only when the measurement error exceeds a
(PROBE 3, X, Y, Z, B, K, F, C, D, L)
[ X±5.5 ] Theoretical coordinate, along the X axis, of the point over which it is required to
measure.
[ Y±5.5 ] Theoretical coordinate, along the Y axis, of the point over which it is required to
measure.
[ Z±5.5 ] Theoretical coordinate, along the Z axis, of the point over which it is required to measure.
Defines the safety distance. Must be programmed with a positive value and over 0.
The probe must be placed, with respect to the point to be measured, at a distance greater than this
value when the cycle is called.
[ K ] Probing axis
Defines the axis with which it is required to measure the surface and will be defined by means of
the following code:
K=0 With the abscissa axis of the work plane.
K=1 With the ordinate axis of the work plane.
K=2 With the longitudinal axis of the work plane.
If this is not programmed, the canned cycle will take the value of K0.
·M· & ·EN· MODELS Indicates where the probing cycle must finish.
SOFT: V02.2X
C=0 Will return to the same point where the call to the cycle was made.
C=1 The cycle will finish over the measured point returning the longitudinal axis to the
cycle calling point.
If not programmed, the canned cycle will take the value of "C0".
·302·
P r o gr a m m i ng m a n u a l
[ D4 ] Tool offset
Defines the number of the tool offset to be corrected, once the measurement cycle is completed.
If this is not programmed or is programmed with a value of 0, the CNC will understand that it is not
required to make this correction.
Defines the tolerance that will be applied to the error measured. It will be programmed with an
absolute value and the tool offset will be corrected only when the error exceeds this value.
If this is not programmed, the canned cycle will take the value of 0.
12.
PROBING
PROBE 3. Surface measuring canned cycle
CNC 8055
CNC 8055i
·303·
Prog ramm in g man u a l
12.
PROBING
PROBE 3. Surface measuring canned cycle
1. Approach movement.
Rapid probe movement (G00) from the cycle calling point to the approach point.
This point is located in front of the point to be measured, at a safety distance (B) from it and along
the probing axis (K).
The approaching movement is made in two stages:
·1· Movement in the main work plane.
·2· Movement along the longitudinal axis.
2. Probing movement.
Movement of the probe along the selected axis (K) at the indicated feedrate (F), until the probe
signal is received.
The maximum distance to be traveled in the probing movement is 2B; if, after travelling that
distance, the CNC does not receive the probe signal, it will display the corresponding error code
and stop the movement of the axes.
Once probing has been made, the CNC will assume as their theoretical position the real position
of the axes when the probe signal is received .
3. Withdrawal movement.
Movement of the probe in rapid (G00) from the point where it probed to the point where the cycle
was called.
The withdrawal movement is made in three stages:
·1· Movement along the probing axis to the approach point.
·2· Movement along the longitudinal axis to the coordinate of the point (along this axis) from
where the cycle was called.
·3· When (C0) is programmed, movement is made in the main work plane to the point where
the cycle is called.
·304·
P r o gr a m m i ng m a n u a l
Depending on the axis the measurement is made with (K), the correction will be made on the length
or radius value.
• If the measurement is made with the axis longitudinal to the work plane, the length wear (K) of
the indicated tool offset (D) will be modified.
• If the measurement is made with one of the axes that make up the work plane, the radius wear
(I) of the indicated tool offset (D) will be modified.
12.
PROBING
PROBE 3. Surface measuring canned cycle
CNC 8055
CNC 8055i
·305·
Prog ramm in g man u a l
A probe placed in the spindle will be used, which must be previously calibrated by means of canned
cycles:
Tool length calibrating canned cycle.
Probe calibrating canned cycle.
12. [ X±5.5 ] Theoretical coordinate, along the X axis, of the corner to be measured
PROBE 4. Outside corner measuring canned cycle
PROBING
Depending on the corner of the part it is required to measure, the probe must be placed in the
corresponding shaded area (see figure) before calling the cycle.
Defines the safety distance. Must be programmed with a positive value and over 0.
The probe must be placed, with respect to the point to be measured, at a distance greater than this
value when the cycle is called.
CNC 8055
CNC 8055i
·306·
P r o gr a m m i ng m a n u a l
12.
·307·
Prog ramm in g man u a l
P298 Error detected along the abscissa axis. Difference between the real coordinate of the
corner and the theoretical programmed coordinate.
12. P299 Error detected along the ordinate axis. Difference between the real coordinate of the
corner and the theoretical programmed coordinate.
PROBE 4. Outside corner measuring canned cycle
PROBING
CNC 8055
CNC 8055i
·308·
P r o gr a m m i ng m a n u a l
A probe placed in the spindle will be used, which must be previously calibrated by means of canned
cycles:
Tool length calibrating canned cycle.
Probe calibrating canned cycle.
[ X±5.5 ] Theoretical coordinate, along the X axis, of the corner to be measured 12.
The probe must be placed within the pocket before calling the cycle.
Defines the safety distance. Must be programmed with a positive value and over 0.
The probe must be placed, with respect to the point to be measured, at a distance greater than this
value when the cycle is called.
CNC 8055
CNC 8055i
·309·
Prog ramm in g man u a l
12.
PROBE 5. Inside corner measuring canned cycle.
PROBING
1. Approach movement.
Movement of the probe in rapid (G00) from the point where the cycle is called to the first approach
point, situated at a distance (B) from both faces to be probed.
The approaching movement is made in two stages:
·1· Movement in the main work plane.
·2· Movement along the longitudinal axis.
2. Probing movement.
Movement of the probe along the abscissa axis at the indicated feedrate (F), until the probe signal
is received.
The maximum distance to be traveled in the probing movement is 2B; if, after travelling that
distance, the CNC does not receive the probe signal, it will display the corresponding error code
and stop the movement of the axes.
3. Withdrawal movement.
Rapid probe movement (G00) from the probing point to the approach point.
4. Second probing movement.
Movement of the probe along the abscissa axis at the indicated feedrate (F), until the probe signal
is received.
The maximum distance to be traveled in the probing movement is 2B; if, after travelling that
distance, the CNC does not receive the probe signal, it will display the corresponding error code
and stop the movement of the axes.
5. Withdrawal movement.
Movement of the probe in rapid (G00) from the point where it probed for the second time to the
point where the cycle was called.
The withdrawal movement is made in three stages:
·1· Movement along the probing axis to the approach point.
·2· Movement along the longitudinal axis to the coordinate of the point (along this axis) from
where the cycle was called.
·3· Movement in the main work plane to the point where the cycle is called.
CNC 8055
CNC 8055i
·310·
P r o gr a m m i ng m a n u a l
P298 Error detected along the abscissa axis. Difference between the real coordinate of the
corner and the theoretical programmed coordinate.
P299 Error detected along the ordinate axis. Difference between the real coordinate of the
corner and the theoretical programmed coordinate.
12.
CNC 8055
CNC 8055i
·311·
Prog ramm in g man u a l
A probe placed in the spindle will be used, which must be previously calibrated by means of canned
cycles:
Tool length calibrating canned cycle.
Probe calibrating canned cycle.
12. [ X±5.5 ] Theoretical coordinate, along the X axis, of the vertex of the angle to be measured.
PROBE 6. Angle measuring canned cycle
PROBING
[ Y±5.5 ] Theoretical coordinate, along the Y axis, of the vertex of the angle to be measured
[ Z±5.5 ] Theoretical coordinate, along the Z axis, of the vertex of the angle to be measured.
Defines the safety distance. Must be programmed with a positive value and over 0.
The probe must be placed, with respect to the point to be measured, at a distance greater than
double this value when the cycle is called.
CNC 8055
CNC 8055i
·312·
P r o gr a m m i ng m a n u a l
12.
·313·
Prog ramm in g man u a l
P295 Inclination angle which the part has in relation to the abscissa axis.
12. • If the angle to be measured is > 45º, the CNC will display the corresponding error.
• If the angle to be measured is < -45º, the probe will collide with the part.
PROBE 6. Angle measuring canned cycle
PROBING
CNC 8055
CNC 8055i
·314·
P r o gr a m m i ng m a n u a l
A probe placed in the spindle will be used, which must be previously calibrated by means of canned
cycles:
Tool length calibrating canned cycle.
Probe calibrating canned cycle.
[ X±5.5 ] Theoretical coordinate, along the X axis, of the corner to be measured 12.
PROBING
PROBE 7. Corner and angle measuring canned cycle.
[ Y±5.5 ] Theoretical coordinate, along the Y axis, of the corner to be measured
If it is an outside corner, depending on the corner of the part it is required to measure, the probe
must be placed in the corresponding shaded area (see figure) before calling the cycle.
If it is an inside corner, the probe must be placed within the pocket before calling the cycle.
[ K ] Type of corner
Defines the safety distance. Must be programmed with a positive value and over 0. CNC 8055
The probe must be placed, with respect to the point to be measured, at a distance greater than CNC 8055i
double this value when the cycle is called.
It sets the probing feedrate. It must be programmed in mm/minute or inches/minute. ·M· & ·EN· MODELS
SOFT: V02.2X
·315·
Prog ramm in g man u a l
12.
PROBING
PROBE 7. Corner and angle measuring canned cycle.
1. Approach movement.
Movement of the probe in rapid (G00) from the point where the cycle is called to the first approach
point, situated at a distance (2B) from the first side to be probed.
The approaching movement is made in two stages:
·1· Movement in the main work plane.
·2· Movement along the longitudinal axis.
2. Probing movement.
Movement of the probe along the abscissa axis at the indicated feedrate (F), until the probe signal
is received.
The maximum distance to be traveled in the probing movement is 3B; if, after travelling that
distance, the CNC does not receive the probe signal, it will display the corresponding error code
and stop the movement of the axes.
3. Withdrawal movement.
Rapid probe movement (G00) from the probing point to the first approach point.
4. Second approach movement.
Movement of the probe in rapid (G00) from the first approach point to the second, situated at
a distance (2B) from the second side to be probed.
The approaching movement is made in two stages:
·1· Movement along the ordinate plane.
·2· Movement along the abscissa axis.
5. Second probing movement.
Movement of the probe along the abscissa axis at the indicated feedrate (F), until the probe signal
is received.
The maximum distance to be traveled in the probing movement is 3B; if, after travelling that
distance, the CNC does not receive the probe signal, it will display the corresponding error code
and stop the movement of the axes.
6. Withdrawal movement.
CNC 8055 Rapid probe movement (G00) from the probing point to the second approach point.
CNC 8055i 7. Third approach movement.
Rapid probe move (G00) from the second approach point to the third. It is at a distance (B) from
the previous one.
8. Third probing movement.
·M· & ·EN· MODELS
SOFT: V02.2X Movement of the probe along the abscissa axis at the indicated feedrate (F), until the probe signal
is received.
The maximum distance to be traveled in the probing movement is 4B; if, after travelling that
distance, the CNC does not receive the probe signal, it will display the corresponding error code
and stop the movement of the axes.
·316·
P r o gr a m m i ng m a n u a l
9. Withdrawal movement.
Movement of the probe in rapid (G00) from the third probing point to the point where the cycle
was called.
The withdrawal movement is made in three stages:
·1· Movement along probing axis to the third approach point.
·2· Movement along the longitudinal axis to the coordinate of the point (along this axis) from
where the cycle was called.
·3· Movement in the main work plane to the point where the cycle is called.
PROBING
PROBE 7. Corner and angle measuring canned cycle.
measurement, in the following global arithmetic parameters.
P295 Inclination angle which the part has in relation to the abscissa axis.
P298 Error detected along the abscissa axis. Difference between the real coordinate of the
corner and the theoretical programmed coordinate.
P299 Error detected along the ordinate axis. Difference between the real coordinate of the
corner and the theoretical programmed coordinate.
CNC 8055
CNC 8055i
·317·
Prog ramm in g man u a l
12. 7 5
4
3
2
8
PROBING
PROBE 7. Corner and angle measuring canned cycle.
B 6
B B
9
B
1
1. Approach movement.
Movement of the probe in rapid (G00) from the point where the cycle is called to the approach
point, situated at a distance (B) from the first face to be probed.
The approaching movement is made in two stages:
·1· Movement in the main work plane.
·2· Movement along the longitudinal axis.
2. Probing movement.
Movement of the probe along the abscissa axis at the indicated feedrate (F), until the probe signal
is received.
The maximum probing distance is 2B. If the CNC does not receive the probe signal before
reaching moving this probing distance, it displays the relevant error message and stops the axes.
3. Withdrawal movement.
Rapid probe movement (G00) from the probing point to the first approach point.
4. Second probing movement.
Movement of the probe along the abscissa axis at the indicated feedrate (F), until the probe signal
is received.
The maximum probing distance is 2B. If the CNC does not receive the probe signal before
reaching moving this probing distance, it displays the relevant error message and stops the axes.
5. Withdrawal movement.
Movement of the probe in rapid (G00) from the second probing point to the first approach point
6. Second approach movement.
Rapid probe move (G00) from the first approach point to the second. It is at a distance (B) from
the previous one.
7. Third probing movement.
Movement of the probe along the abscissa axis at the indicated feedrate (F), until the probe signal
is received.
The maximum distance to be traveled in the probing movement is 3B; if, after travelling that
distance, the CNC does not receive the probe signal, it will display the corresponding error code
CNC 8055 and stop the movement of the axes.
CNC 8055i
·318·
P r o gr a m m i ng m a n u a l
8. Withdrawal movement.
Movement of the probe in rapid (G00) from the third probing point to the point where the cycle
was called.
The withdrawal movement is made in three stages:
·1· Movement along the probing axis to the second approach point.
·2· Movement along the longitudinal axis to the coordinate of the point (along this axis) from
where the cycle was called.
·3· Movement in the main work plane to the point where the cycle is called.
PROBING
PROBE 7. Corner and angle measuring canned cycle.
measurement, in the following global arithmetic parameters.
P295 Inclination angle which the part has in relation to the abscissa axis.
P298 Error detected along the abscissa axis. Difference between the real coordinate of the
corner and the theoretical programmed coordinate.
P299 Error detected along the ordinate axis. Difference between the real coordinate of the
corner and the theoretical programmed coordinate.
CNC 8055
CNC 8055i
·319·
Prog ramm in g man u a l
A probe placed in the spindle will be used, which must be previously calibrated by means of canned
cycles:
Tool length calibrating canned cycle.
Probe calibrating canned cycle.
12. [ X±5.5 ] Theoretical coordinate, along the X axis, of the hole center
PROBE 8. Hole measuring cycle
PROBING
Defines the safety distance. Must be programmed with a positive value and over 0.
Defines the theoretical diameter of the hole. Must be programmed with a positive value and over 0.
This cycle allows holes to be measured with diameters of no more than (J+B).
Defines the distance which the probe moves back after initial probing. Must be programmed with
a positive value and over 0.
If not programmed, the canned cycle will take the value of "C0".
Defines the feedrate for the initial probing movement. It must be programmed in mm/minute or
inches/minute.
CNC 8055
CNC 8055i
·320·
P r o gr a m m i ng m a n u a l
12.
·321·
Prog ramm in g man u a l
9. Withdrawal movement.
This movement consists of:
·1· Movement of the probe in rapid (G00) from the point where it probed to the real center
(calculated) of the hole.
·2· Should (C0) be programmed, the probe will be moved to the point where the cycle was called.
Movement along the longitudinal axis to the coordinate of the point (along this axis) from
where the cycle was called.
Movement in the main work plane to the point where the cycle is called.
P295 Hole diameter error. Difference between the real diameter and programmed
diameter.
P298 Error detected along the abscissa axis. Difference between the real coordinate of the
center and the programmed theoretical coordinate.
P299 Error detected along the ordinate axis. Difference between the real coordinate of the
center and the programmed theoretical coordinate.
CNC 8055
CNC 8055i
·322·
P r o gr a m m i ng m a n u a l
A probe placed in the spindle will be used, which must be previously calibrated by means of canned
cycles:
Tool length calibrating canned cycle.
Probe calibrating canned cycle.
[ X±5.5 ] Theoretical coordinate, along the X axis, of the boss center 12.
Defines the safety distance. Must be programmed with a positive value and over 0.
Defines the theoretical diameter of the boss. Must be programmed with a positive value and over 0.
This cycle allows bosses to be measured with diameters of no more than (J+B).
Defines the distance which the probe moves back after initial probing. Must be programmed with
a positive value and over 0.
If not programmed, the canned cycle will take the value of "C0".
Defines the feedrate for the initial probing movement. It must be programmed in mm/minute or
inches/minute.
CNC 8055
CNC 8055i
·323·
Prog ramm in g man u a l
12.
PROBE 9. Boss measuring cycle
PROBING
·324·
P r o gr a m m i ng m a n u a l
P295 Boss diameter error. Difference between the real diameter and programmed
diameter.
P298 Error detected along the abscissa axis. Difference between the real coordinate of the
center and the programmed theoretical coordinate.
P299 Error detected along the ordinate axis. Difference between the real coordinate of the
center and the programmed theoretical coordinate.
CNC 8055
CNC 8055i
·325·
Prog ramm in g man u a l
Cycle that, with a digital probe, minimizes the preparation time of rectangular part calculating the
real coordinates of the center, of the surface and of the part inclination.
(PROBE 10, I, J, X, Y, Z, K, L, B, D, E, H, F, Q)
Initial conditions
• The probe must properly calibrated in radius and length.
12. • The probe position before the first probing movement must be as centered as possible in X and Y.
• After the probing movements, the probe withdraws from the part in G0 before moving to the safety
Z position.
• Depending on the PRBMOD variable, no error is issued in the following cases, even if machine
parameter PROBERR=YES.
When a G75 probing move finishes before the probe has touched part.
When a G76 probing move finishes but the probe is still touching the part.
Parameters
X coordinate of the probe position where the first probing move will start.
Z coordinate of the probe position where the first probing move will start.
If not programmed or programmed with a 0 value, it generates the corresponding error message.
If not programmed or programmed with a 0 value, it generates the corresponding error message.
·326·
P r o gr a m m i ng m a n u a l
Distance for the probe to go up in Z for its movements over the part. If not programmed or
programmed with a 0 value, it generates the corresponding error message.
Distance the probe retracts after finding the part, to make the measurement. If not programmed or
programmed with a 0 value, it generates the corresponding error message.
12.
If not programmed or programmed with a 0 value, it generates the corresponding error message.
If not programmed or programmed with a 0 value, it generates the corresponding error message.
Probe feedrate when going to the approach points. If not programmed, it assumes rapid traverse
(G0).
CNC 8055
CNC 8055i
·327·
Prog ramm in g man u a l
1. Approach movement (according to the value given in Q), first in the axes of the plane and then
in the longitudinal axis, to the position of the first probing (only if X or Y or Z has been
programmed).
2. Probing movement (at the feedrate given in H), in the given axis and direction until touching the
first side.
3. Withdrawal (distance given in E) for the measuring probing movement.
4. Probing movement (at the feedrate given in F) until touching the same side again.
12. 5. Withdrawal to the starting position.
6. Movement parallel to the probed side to touch a different point of the same side.
PROBE 10. Rectangular part centering canned cycle
PROBING
7. Probing movement (at the feedrate given in F), in the given axis and direction until touching the
first side again. This calculates the part inclination angle with respect to the table and it is saved
in parameter P296.
8. Rapid up movement in Z (distance given in D) up to the Safety Z coordinate.
9. Movement (according to the value given in Q) up to the approach point of the opposite side
considering the length of the part, the calculated inclination angle and the value of parameter B.
10.Probing movement (at the feedrate given in H) to go down to the probing Z coordinate. If it
touches the part, the probe goes back up to the safety Z position and moves the distance
indicated by parameter B (in the same direction) until clearing the part.
11.Probing movement (at the feedrate given in H), considering the calculated inclination angle until
touching that side.
12.Withdrawal (distance given in E) for the measuring probing movement.
13.Probing movement (at the feedrate given in F) until touching the same side again.
14.Rapid up movement to the safety Z coordinate.
15.Movement (according to the value given in Q) up to approach point in the middle of one of the
remaining sides considering half the lengths and the calculated inclination angle.
16.Probing movement (at the feedrate given in H) to go down to the probing Z coordinate. If it
touches the part, the probe goes back up to the safety Z position and moves the distance
indicated by parameter B (in the same direction) until clearing the part.
17.Probing movement (at the feedrate given in H), considering the calculated inclination angle until
touching that side.
18.Withdrawal (distance given in E) for the measuring probing movement.
19.Probing movement (at the feedrate given in F) until touching the same side again.
20.Rapid up movement to the safety Z coordinate.
21.If part surface measuring has not been programmed, it goes on to point 26; and if it has been
programmed, movement (according to the value given in Q) up to the center of the part.
22.Probing movement (at the feedrate given in H) until touching the surface of the part.
23.Withdrawal (distance given in E) for the measuring probing movement.
24.Probing movement (at the feedrate given in F) until touching the surface of the part again. This
measures the coordinate of the part surface and it is saved in parameter P297.
25.Rapid up movement to the safety Z coordinate.
26.Movement (according to the value given in Q) up to the approach point of the opposite side
considering the length of the part, the calculated inclination angle.
27.Probing movement (at the feedrate given in H) to go down to the probing Z coordinate. If it
touches the part, the probe goes back up to the safety Z position and moves the distance
indicated by parameter B (in the same direction) until clearing the part.
CNC 8055
28.Probing movement (at the feedrate given in H), considering the calculated inclination angle until
CNC 8055i touching that side.
29.Withdrawal (distance given in E) for the measuring probing movement.
30.Probing movement (at the feedrate given in F) until touching the same side again. This calculates
the real center of the rectangular part and it is saved in parameters P298 and P299.
·M· & ·EN· MODELS
SOFT: V02.2X 31.Rapid up movement to the safety Z coordinate.
32.Rapid movement up to the calculated center.
·328·
P r o gr a m m i ng m a n u a l
Cycle that, with a digital probe, minimizes the preparation time of circular part calculating the real
coordinates of the center and of the surface of the part.
(PROBE 11, J, X, Y, Z, K, L, B, D, E, H, F, Q)
Initial conditions
• The probe must properly calibrated in radius and length.
• The probe position before the first probing movement must be as centered as possible in X and Y.
PROBING
PROBE 11. Circular part centering canned cycle.
• After the probing movements, the probe withdraws from the part in G0 before moving to the safety
Z position.
• Depending on the PRBMOD variable, no error is issued in the following cases, even if machine
parameter PROBERR=YES.
When a G75 probing move finishes before the probe has touched part.
When a G76 probing move finishes but the probe is still touching the part.
Parameters
X coordinate of the probe position where the first probing move will start.
Z coordinate of the probe position where the first probing move will start.
If not programmed or programmed with a 0 value, it generates the corresponding error message.
[ B5.5 ] Part approaching distance in each probing movement. ·M· & ·EN· MODELS
SOFT: V02.2X
If not programmed or programmed as 0, it assumes the approach distance value from the probe
starting position to the part.
·329·
Prog ramm in g man u a l
Distance for the probe to go up in Z for its movements over the part. If not programmed or
programmed with a 0 value, it generates the corresponding error message.
Distance the probe retracts after finding the part, to make the measurement. If not programmed or
programmed with a 0 value, it generates the corresponding error message.
12. If not programmed or programmed with a 0 value, it generates the corresponding error message.
PROBING
PROBE 11. Circular part centering canned cycle.
If not programmed or programmed with a 0 value, it generates the corresponding error message.
CNC 8055
CNC 8055i
·330·
P r o gr a m m i ng m a n u a l
1. Approach movement (according to the value given in Q), first in the axes of the plane and then
in the longitudinal axis, to the position of the first probing (only if X or Y or Z has been
programmed).
2. Probing movement (at the feedrate given in H), in the given axis and direction until touching the
part.
3. Withdrawal (distance given in E) for the measuring probing movement.
4. Probing movement (at the feedrate given in F) until touching the same side again.
5. Rapid up movement in Z (distance given in D) up to the Safety Z coordinate.
6. Movement (according to the value given in Q) up to the opposite approach point considering the
12.
PROBING
PROBE 11. Circular part centering canned cycle.
diameter of the part.
7. Probing movement (at the feedrate given in H) to go down to the probing Z coordinate. If it touches
the part, the probe goes back up to the safety Z position and moves the distance indicated by
parameter B (in the same direction) until clearing the part.
8. Probing movement (at the feedrate given in H) until touching the part.
9. Withdrawal (distance given in E) for the measuring probing movement.
10.Probing movement (at the feedrate given in F) until touching the part again. This calculates one
of the coordinates of the real center of the part.
11.Rapid up movement to the safety Z coordinate.
12.Movement (according to the value given in Q) up to the approach point of the remaining axis
considering the calculated center coordinate.
13.Probing movement (at the feedrate given in H) to go down to the probing Z coordinate. If it
touches the part, the probe goes back up to the safety Z position and moves the distance
indicated by parameter B (in the same direction) until clearing the part.
14.Probing movement (at the feedrate given in H) until touching the part.
15.Withdrawal (distance given in E) for the measuring probing movement.
16.Probing movement (at the feedrate given in F) until touching the part again.
17.Rapid up movement to the safety Z coordinate.
18.If part surface measuring has not been programmed, it goes on to point 23; and if it has been
programmed, movement (according to the value given in Q) up to the center of the part.
19.Probing movement (at the feedrate given in H) until touching the surface of the part.
20.Withdrawal (distance given in E) for the measuring probing movement.
21.Probing movement (at the feedrate given in F) until touching the surface of the part again. This
measures the coordinate of the part surface and it is saved in parameter P297.
22.Rapid up movement to the safety Z coordinate.
23.Movement (according to the value given in Q) up to the opposite approach point considering
the diameter of the part.
24.Probing movement (at the feedrate given in H) to go down to the probing Z coordinate. If it
touches the part, the probe goes back up to the safety Z position and moves the distance
indicated by parameter B (in the same direction) until clearing the part.
25.Probing movement (at the feedrate given in H) until touching the part.
26.Withdrawal (distance given in E) for the measuring probing movement.
27.Probing movement (at the feedrate given in F) until touching the part again. This calculates the
real center of the circular part and it is saved in parameters P298 and P299.
28.Rapid up movement to the safety Z coordinate. Rapid movement up to the calculated center.
CNC 8055
CNC 8055i
·331·
Prog ramm in g man u a l
This cycle makes it easier to calibrate the probe reducing machine preparation time.
Initial conditions
The tool used for calibration must properly calibrated in radius and length.
12. The values of the machine parameters of the probe must be close to their real values. These
parameters are the following:
PROBING
PROBE 12. Tabletop probe calibration
Initial considerations
CNC 8055
CNC 8055i
·332·
P r o gr a m m i ng m a n u a l
12.
PROBING
PROBE 12. Tabletop probe calibration
B
Z
Y
Probe approaching distance in each probing movement. If not programmed or programmed with
a 0 value, the CNC will display the corresponding error message.
Distance the tool retracts after touching the probe to take the measurement. If not programmed or
programmed with a 0 value, the CNC will display the corresponding error message.
[ H5 ] Searching feedrate
Probe searching feedrate. If not programmed or programmed with a 0 value, the CNC will display
the corresponding error message.
[ F5 ] Measuring feedrate
Measuring feedrate. If not programmed or programmed with a 0 value, the CNC will display the
corresponding error message.
[ I1 ] Type of calibration
[ X±5.5 ] Approximate X axis coordinate of the least positive side of the probe
Approximate coordinate of the least positive side of the probe, along the abscissa axis. If not
programmed, it will assume the value of general machine parameter PRBXMIN (P40). CNC 8055
CNC 8055i
[ U±5.5 ] Approximate X axis coordinate of the most positive side of the probe
Approximate coordinate of the most positive side of the probe, along the abscissa axis. If not
programmed, it will assume the value of general machine parameter PRBXMAX (P41).
·M· & ·EN· MODELS
[ Y±5.5 ] Approximate Y axis coordinate of the least positive side of the probe SOFT: V02.2X
Approximate coordinate of the least positive side of the probe, along the ordinate axis. If not
programmed, it will assume the value of general machine parameter PRBYMIN (P42).
·333·
Prog ramm in g man u a l
[ V±5.5 ] Approximate Y axis coordinate of the most positive side of the probe
Approximate coordinate of the most positive side of the probe, along the ordinate axis. If not
programmed, it will assume the value of general machine parameter PRBYMAX (P43).
[ Z±5.5 ] Approximate Z axis coordinate of the least positive side of the probe
Approximate coordinate of the least positive side of the probe, along the Z axis. If not programmed,
it will assume the value of general machine parameter PRBZMIN (P44).
[ W±5.5 ] Approximate Z axis coordinate of the most positive side of the probe
12. Approximate coordinate of the most positive side of the probe, along the Z axis. If not programmed,
it will assume the value of general machine parameter PRBZMAX (P45).
PROBING
PROBE 12. Tabletop probe calibration
Operation
CNC 8055 23.Rapid movement along the Y axis up to the theoretical center of the probe.
CNC 8055i 24.Probing movement on Z (at the feedrate given in H) until touching the Z side of the probe.
25.Rapid withdrawal along the Z axis (distance given in E) for the measuring probing move.
26.Probing movement on Z (at the feedrate given in F) until touching the same side again.
27.Rapid movement along the Z axis up to the Z approach coordinate.
·M· & ·EN· MODELS
SOFT: V02.2X 28.Rapid Y axis movement up to the approach point of the other side considering the theoretical
length of the probe on the Y axis and the value of parameter B.
29.Probing movement (at the feedrate given in H) to go down to the probing Z coordinate. If it
touches the probe, it goes back up to the approach coordinate and moves the safety distance
indicated in the same direction. This movement is repeated until clearing the probe.
·334·
P r o gr a m m i ng m a n u a l
30.Probing movement (at the feedrate given in H) until touching that side.
31.Rapid withdrawal (distance given in E) for the measuring probing movement.
32.Probing movement (at the feedrate given in F) until touching the same side again.
33.Rapid withdrawal on the Y axis up to the approach position.
34.Rapid withdrawal in Z up to the Z approach coordinate.
35.Rapid movement up to the starting XY point.
36.Rapid withdrawal in Z up to the Z starting coordinate.
37.If it is a double calibration, orient the spindle at 180º and repeat steps 2 through 36.
38.Setting the relevant parameters with the real values of the sides of the calibrated probe. 12.
PROBING
PROBE 12. Tabletop probe calibration
Arithmetic parameters modified by the cycle
Once the cycle has been completed, the CNC will return the real values obtained after
measurement, in the following global arithmetic parameters.
P295 Real coordinate of the least positive side of the probe, along the abscissa axis.
P296 Real coordinate of the most positive side of the probe, along the abscissa axis.
P297 Real coordinate of the least positive side of the probe, along the ordinate axis.
P298 Real coordinate of the most positive side of the probe, along the ordinate axis.
P299 Real coordinate of the measured probe side along the longitudinal axis.
CNC 8055
CNC 8055i
·335·
Prog ramm in g man u a l
12.
PROBING
PROBE 12. Tabletop probe calibration
CNC 8055
CNC 8055i
·336·
HIGH-LEVEL LANGUAGE
PROGRAMMING
13
13.1 Lexical description
All the words that make up the high-level language of the numerical control must be written in capital
letters except for associated texts which may be written in upper and lower case letters.
Reserved words
Reserved words are those that the CNC uses in high-level programming for naming system
variables, operators, control instructions, etc.
All the letters of the alphabet A-Z are also reserved words, as they can make up a high-level language
word when used alone.
Numerical constants
Blocks programmed in high-level language admit numbers in decimal format and in hexadecimal
format.
• The numbers in decimal format must not exceed the ±6.5 format (6 digits to the left of the decimal
point and 5 decimals).
• The numbers in hexadecimal format must be preceded by the $ symbol and they must not have
more than 8 digits.
A constant higher than the format ±6,5 must be assigned to a variable by means of arithmetic
parameters by means of arithmetic expressions or by means of constants in hexadecimal format.
To assign the value 100000000 to the variable "TIMER", It can be done in one of the following
ways:
(TIMER = $5F5E100)
(TIMER = 10000 * 10000)
(P100 = 10000 * 10000)
(TIMER = P100)
If the CNC operates in the metric system (millimeters), the resolution is a tenth of a micron and the
figures will be programmed in the ±5.4 format (positive or negative with 5 digits to the left of the
decimal point and 4 decimals). CNC 8055
If the CNC operates in inches, the resolution is a hundred-thousandths of an inch (ten millionths
CNC 8055i
of an inch) and the figures will be programmed in the ±4.5 format (positive or negative with 4 digits
to the left of the decimal point and 5 decimals).
For the convenience of the programmer, this control always allows the format ±5.5 (positive or ·M· & ·EN· MODELS
negative, with 5 integers and 5 decimals), adjusting each number appropriately to the working units SOFT: V02.2X
every time they are used.
·337·
Prog ramm in g man u a l
Simbols
13.
Lexical description
HIGH-LEVEL LANGUAGE PROGRAMMING
CNC 8055
CNC 8055i
·338·
P r o gr a m m i ng m a n u a l
13.2 Variables
The CNC has a number of internal variables that may be accessed from the user program, from
the PLC program or via DNC. Depending on how they are used, these variables may be read-only
or read-write.
These variables may be accessed from the user program using high-level commands. Each one
of these variables is referred to by its mnemonic that must be written in upper-case (capital) letters.
• Mnemonics ending in (X-C)indicate a set of 9 elements formed by the corresponding root
followed by X, Y, Z, U, V, W, A, B and C.
ORG(X-C) -> ORGX ORGY ORGZ 13.
ORGU ORGV ORGW
The variables that access the real values of the CNC interrupt block preparation. The CNC waits
for that command to be executed before resuming block preparation. Thus, precaution must be taken
when using this type of variable, because if they are inserted between machining blocks that are
working with compensation, undesired profiles may be obtained.
The following program blocks are performed in a section with G41 compensation.
...
N10 X50 Y80
N15 (P100 = POSX); Assigns the value of the real coordinate in X to parameter P100
N20 X50 Y50
N30 X80 Y50
...
Block N15 interrupts block preparation As the next point corresponding to the
and the execution of block N10 will finish compensated path is point "B", the CNC
at point A. will move the tool to this point, executing
path "A-B".
Once the execution of block N15 has
ended, the CNC will resume block As can be observed, the resulting path is CNC 8055
preparation from block N20 on. not the desired one, and therefore it is CNC 8055i
recommended to avoid the use of this
type of variable in sections having tool
compensation active.
·M· & ·EN· MODELS
SOFT: V02.2X
·339·
Prog ramm in g man u a l
General purpose variables are referred to with the letter "P" followed by an integer number. The CNC
has four types of general purpose variables.
P2000-P2255
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
Blocks programmed in ISO code allow associating parameters to the G F S T D M fields and
coordinates of the axes. The block label number must be defined with a numeric value. If parameters
are used in blocks programmed in high-level language, they can be programmed within any
expression.
Programmers may use general purpose variables when editing their own programs. Later on, during
execution, the CNC will replace these variables with the values assigned to them at the time.
When programming... When executing...
GP0 XP1 Z100 G1 X-12.5 Z100
(IF (P100 * P101 EQ P102) GOTO N100) (IF (2 * 5 EQ 12) GOTO N100)
Using these general purpose variables will depend on the type of block in which they are
programmed and the channel of execution. Programs that are executed in the user channel may
contain any global, OEM or user parameter, but may not use local parameters.
Local parameters
Local parameters can only be accessed from the program or subroutine where they have been
programmed. There are seven groups of parameters.
Local parameters used in high-level language may be defined either using the above format or by
using the letter A-Z, except for Ñ, so that A is equal to P0 and Z to P25.
The following example shows these two methods of definition:
(IF ((P0+P1)* P2/P3 EQ P4) GOTO N100)
(IF ((A+B)* C/D EQ E) GOTO N100)
When using a parameter name (letter) for assigning a value to it (A instead of P0, for example), if
the arithmetic expression is a constant, the instruction can be abbreviated as follows:
(P0=13.7) ==> (A=13.7) ==> (A13.7)
Be careful when using parenthesis since M30 is not the same as (M30). The CNC interprets (M30)
as a high level instruction meaning (P12 = 30) and not the execution of the miscellaneous M30
function.
Global parameters
Global parameters can be accessed from any program and subroutine called from a program.
Global parameters may be used by the user, by the OEM or by the CNC cycles.
CNC 8055
User parameters
CNC 8055i
These parameters are an expansion of the global parameters but they are not used by the CNC
cycles.
·340·
P r o gr a m m i ng m a n u a l
Multiple machining cycles (G60 through G65) and the machining canned cycles (G69, G81 to G89)
use the sixth nesting level of local parameters when they are active.
Machining canned cycles use the global parameter P299 for internal calculations and probing
canned cycles use global parameters P294 to P299.
If the execution mode is abandoned after interrupting the execution of the program, the CNC will
update the parameter tables with values corresponding to the block that was being executed.
When accessing the local parameter and global parameter table, the value assigned to each
parameter may be expressed in decimal notation (4127.423) or in scientific notation (0.23476 E-3).
The CNC offers high level instructions for defining and using subroutines that may be called upon
from the main program (or a subroutine) and another subroutine from this one and so on, the CNC
limits the number of these calls to a maximum of 15 nesting levels. The CNC limitation is 20 nesting
levels.
Up to 26 (P0-P25) local parameters may be assigned to a subroutine. These parameters, that will
be unknown for blocks outside the subroutine, may be referred to by the blocks that make up the
subroutine.
Local parameters may be assigned to more than one subroutine up to 6 parameter nesting levels
within the 15 subroutine nesting levels.
CNC 8055
CNC 8055i
·341·
Prog ramm in g man u a l
These variables are associated with the tool offset table, tool table and tool magazine table, so the
values which are assigned to or read from these fields will comply with the formats established for
these tables.
The radius (R), length (L) and wear offset (I, K) values of the tool are given in the active units.
If G70, in inches (within ±3937.00787).
13. If G71, in millimeters (within ±99999.9999).
If rotary axis in degrees (within ±99999.9999).
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
Tool table
The tool offset number is an integer between 0 and 255. The maximum number of tool offsets is
limited by g.m.p. NTOFFSET.
The real (actual) life is given either in hundredths of a minute (0··9999999) or in operations
(0··999999).
Read-only variables
TOOL
TOD
NXTOD
·M· & ·EN· MODELS Returns the number of the tool offset corresponding to the next tool, which is selected but is awaiting
SOFT: V02.2X
the execution of M06 to be active.
TMZPn
Returns the position occupied in the tool magazine by the indicated tool (n).
·342·
P r o gr a m m i ng m a n u a l
PTOOL
Returns the magazine position to where the current tool is to be left. It matches the value that will
be received later on in the register "T2BCD" (R559) with the M6, but the latter will be in BCD format.
PNXTOOL
Returns the magazine position from where the next tool is to be picked up. It matches the value that
will be received later on in the register "TBCD" (R558) with the M6, but the latter will be in BCD format.
Being a variable that can be read and written by the CNC and read-only from the PLC and DNC,
its value may be different from the one assigned in the table (TOR).
On power-up, after a T function, after a RESET or after an M30 function, it assumes the value of
the table (TOR).
Application example
To machine a profile with a residual stock of 0.5 mm running 0.1mm-passes with a tool whose radius
is 10 mm.
However, if while machining, the program is interrupted or a reset occurs, the table assumes the
radius value assigned in that instant (e.g.: 10.2 mm). Its value has changed.
To avoid this, instead of modifying the tool radius in the (TOR) table, use the variable (HTOR) to
change the tool radius value used by the CNC to calculate.
Now, if the program is interrupted, the tool radius value initially assigned in the (TOR) table will be
correct because it has not changed.
Read-and-write variables
TORn
This variable allows the value assigned to the radius of the indicated tool offset (n) in the tool offset
table to be read or modified.
(P110=TOR3)
Assigns the radius value of tool offset ·3· to parameter P110.
(TOR3=P111)
Assigns the value indicated in parameter P111 to the radius of tool offset 3.
CNC 8055
TOLn CNC 8055i
This variable allows the value assigned to the length of the indicated tool offset (n) to be read or
modified in the tool offset table.
·343·
Prog ramm in g man u a l
TOKn
This variable allows the value assigned to the wear in length (K) of the indicated tool offset (n) to
be read or modified in the tool offset table.
TLFDn
This variable allows the tool offset number of the indicated tool (n) to be read or modified in the tool
table.
TLFFn
13. This variable allows the family code of the indicated tool (n) to be read or modified in the tool table.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
TLFNn
This variable allows the value assigned as the nominal life of the indicated tool (n) to be read or
modified in the tool table.
TLFRn
This variable allows the value corresponding to the real life of the indicated tool (n) to be read or
modified in the tool table.
TMZTn
This variable allows the contents of the indicated position (n) to be read or modified in the tool
magazine table.
CNC 8055
CNC 8055i
·344·
P r o gr a m m i ng m a n u a l
These variables are associated with the zero offsets and may correspond to the table values or to
those currently preset either by means of function G92 or manually in the JOG mode.
The possible zero offsets in addition to the additive offset indicated by the PLC, are G54, G55, G56,
G57, G58 and G59.
The values for each axis are given in the active units:
If G70, in inches (within ±3937.00787).
If G71, in millimeters (within ±99999.9999).
If rotary axis in degrees (within ±99999.9999).
13.
Read-only variables
ORG(X-C)
Returns the value of the active zero offset in the selected axis. The value of the additive offset
indicated by the PLC or by the additive handwheel is not included in this value.
(P100=ORGX)
It assigns to P100 the X value of the part zero active for the X axis. This value could have
been set either manually, by means of function G92 or by the variable "ORG(X-C)n".
PORGF
Returns the abscissa value of the polar coordinate origin with respect to the Cartesian origin.
PORGS
Returns the ordinate value of the polar coordinate origin with respect to the Cartesian origin.
ADIOF(X-C)
It returns the value of the zero offset generated by the additive handwheel in the selected axis.
ADDORG (X-C)
Returns the value of the active incremental zero offset corresponding to the axis selected at the time.
It is read-only variable that can be read from the CNC, PLC and DNC.
CNC 8055
CNC 8055i
·345·
Prog ramm in g man u a l
EXTORG
Returns the active absolute zero offset. The values returned by the variable are identical for both
possible expressions of absolute zero offsets.
This read-only variable interrupts block preparation and may be read from the CNC, from the PLC
and from DNC.
The values of the EXTORG variables that correspond to the absolute zero offsets are:
13. 0
1
G53 (there is no zero offset)
G54 or G159N1
11
12
G159N11
G159N12
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
5 G159N5 16 G159N16
6 G159N6 17 G159N17
7 G159N7 18 G159N18
8 G159N8 19 G159N19
9 G159N9 20 G159N20
10 G159N10
Considerations:
• When programming only an incremental zero offset (G58 or G59), the value of the EXTORG
variable will be 0.
• When programming an absolute and an incremental zero offset, the EXTORG variable will keep
the value of the absolute zero offset.
Example: If G54 + G58, EXTORG = 1 has been programmed.
Read-and-write variables
ORG(X-C)n
This variable allows the value of the selected axis to be read or modified in the table corresponding
to the indicated zero offset (n).
If G54-G59 is used:
(P110=ORGX 55)
Loads parameter P100 with the X value of G55 in the zero offset table.
(ORGY 54=100.8)
It assigns value 100.8 to the Y axis in the table for the G54 zero offset.
If G159N1-N20 is used:
(P110=ORGX 19)
Loads parameter P110 with the X value of G159N19 in the zero offset table.
(ORGY 19=100.8)
It assigns value 100.8 to the Y axis in the table for the G159N19 zero offset.
PLCOF(X-C)
CNC 8055 This variable allows the value of the selected axis to be read or modified in the table of additive offsets
CNC 8055i indicated by the PLC.
Accessing any of the PLCOF(X-C) variables interrupts block preparation and the CNC waits for that
command to be executed before resuming block preparation.
·346·
P r o gr a m m i ng m a n u a l
With function G49, it is possible to define a coordinate transformation or, in other words, the inclined
plane resulting from that transformation.
The values for each axis are given in the active units:
If G70, in inches (within ±3937.00787).
If G71, in millimeters (within ±99999.9999).
GTRATY
2 = Type G49 X Y Z Q R S
Every time G49 is programmed, the CNC updates the values of the parameters that have been
defined.
For example when programming G49 XYZ ABC, the CNC updates the variables.
ORGROX, ORGROY, ORGROZ
ORGROA, ORGROB, ORGROC
·347·
Prog ramm in g man u a l
Accessing the variables TOOROF or TOOROS interrupts block preparation and the CNC waits for
that command to be executed before resuming block preparation.
When having a swivel or angular spindle, general machine parameter XFORM (P93) with a value
of 2 or 3, the CNC shows the following data:
13. TOOROF
It indicates the position to be occupied by the spindle's main rotary axis in order to orient the spindle
perpendicular to the indicated inclined plane.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
TOOROS
It indicates the position to be occupied by the spindle's secondary rotary axis in order to orient the
spindle perpendicular to the indicated inclined plane.
CNC 8055
CNC 8055i
·348·
P r o gr a m m i ng m a n u a l
These variables associated with machine parameters are read-only variables. These variables may
be read and written when executed inside an OEM program or subroutine.
Refer to the installation and start-up manual to know the format of the values returned. The values
of 1/0 correspond to the parameters that are set as YES/NO, +/- or ON/OFF.
The coordinate and feedrate values are given in the active units:
If G70, in inches (within ±3937.00787).
If G71, in millimeters (within ±99999.9999).
If rotary axis in degrees (within ±99999.9999).
13.
In order to be able to modify these parameters via PLC, an OEM subroutine containing the relevant
variables must be executed using the CNCEX command.
Read-only variables
MPGn
MP(X-C)n
Returns the value assigned to the machine parameter (n) of the indicated axis (X-C).
(P110=MPY 1)
Assigns the value of Y axis machine parameter P1 "DFORMAT" to parameter P110.
MPSn
Returns the value assigned to the indicated machine parameter (n) of the main spindle.
MPSSn
Returns the value assigned to the indicated machine parameter (n) of the second spindle.
MPASn
Returns the value of the indicated machine parameter (n) of the auxiliary spindle.
MPLCn
Returns the value assigned to the indicated machine parameter (n) of the PLC.
CNC 8055
CNC 8055i
·349·
Prog ramm in g man u a l
13. The status of the work zones are defined according to the following code:
0 = Disabled.
1 = Enabled as no-entry zone.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
Read-only variables
FZONE
FZLO(X-C) FZUP(X-C)
·350·
P r o gr a m m i ng m a n u a l
FREAL
FTEO(X-C)
FEED
It returns the feedrate selected at the CNC by function G94. In mm/minute or inches/minute.
This feedrate may be indicated by program, by PLC or by DNC; the CNC selects one of them, the
one indicated by DNC has the highest priority and the one indicated by program has the lowest
priority.
DNCF
It returns the feedrate, in mm/minute or inches/minute selected by DNC. If it has a value of 0 it means
that it is not selected.
PLCF
It returns the feedrate, in mm/minute or inches/minute selected by PLC. If it has a value of 0 it means
that it is not selected.
PRGF
FPREV
It returns the feedrate selected at the CNC by function G95. In mm/turn or inches/turn.
This feedrate may be indicated by program, by PLC or by DNC; the CNC selects one of them, the
one indicated by DNC has the highest priority and the one indicated by program has the lowest
priority.
PLCFPR
·M· & ·EN· MODELS
It returns the feedrate, in mm/turn or inches/turn selected by PLC. If it has a value of 0 it means that SOFT: V02.2X
it is not selected.
PRGFPR
·351·
Prog ramm in g man u a l
PRGFIN
Likewise, the CNC variable FEED, associated with G94, indicates the resulting feedrate in mm/min
or inches/min.
FRO
It returns the feedrate override (%) currently selected at the CNC. It is given in integer values between
0 and "MAXFOVR" (maximum 255).
This feedrate percentage may be indicated by program, by PLC, by DNC or from the front panel;
the CNC selects one of them, where the priority (from the highest to the lowest) is: by program, by
DNC, by PLC and from the switch.
DNCFRO
It returns the feedrate override % currently selected by the DNC. If it has a value of 0 it means that
it is not selected.
PLCFRO
It returns the feedrate override % currently selected by the PLC. If it has a value of 0 it means that
it is not selected.
CNCFRO
PLCCFR
It returns the feedrate percentage currently selected by the PLC's execution channel.
PRGFRO
This variable may be used to read or modify the feedrate override percentage currently selected
by program. It is given in integer values between 0 and "MAXFOVR" (maximum 255). If it has a value
of 0 it means that it is not selected.
(P110=PRGFRO)
It assigns to P110 the % of feedrate override selected by program.
(PRGFRO=P111)
It sets the feedrate override % selected by program to the value of P111.
CNC 8055
CNC 8055i
·352·
P r o gr a m m i ng m a n u a l
The coordinate values for each axis are given in the active units:
If G70, in inches (within ±3937.00787).
If G71, in millimeters (within ±99999.9999).
If rotary axis in degrees (within ±99999.9999).
Read-only variables
13.
PPOS(X-C)
POS(X-C)
It returns the real tool base position value referred to machine reference zero (home).
On limit-less rotary axes, this variable takes into account the value of the active zero offset. The
values of the variable are between the active zero offset and ±360º (ORG* ± 360º).
If ORG* = 20º it displays between 20º and 380º / displays between -340º and 20º.
If ORG* = -60º it displays between -60º and 300º / displays between -420 and -60º
TPOS(X-C)
It returns the theoretical position value (real coordinate + following error) of the tool base referred
to machine reference zero (home).
On limit-less rotary axes, this variable takes into account the value of the active zero offset. The
values of the variable are between the active zero offset and ±360º (ORG* ± 360º).
If ORG* = 20º it displays between 20º and 380º / displays between -340º and 20º.
If ORG* = -60º it displays between -60º and 300º / displays between -420 and -60º
APOS(X-C)
It returns the real tool base position value, referred to part zero, of the selected axis.
ATPOS(X-C)
It returns the theoretical position value (real coordinate + following error) of the tool base referred
to part zero.
DPOS(X-C)
The CNC updates this variable whenever probing operations G75, G76 and probing cycles PROBE
and DIGIT are carried out.
When the digital probe communicates with the CNC via infrared beams, there could be some delay
(milliseconds) from the time the probe touches the part to the instant the CNC receives the probe
signal. CNC 8055
CNC 8055i
·353·
Prog ramm in g man u a l
13. Although the probe keeps moving until the CNC receives the probing signal, the CNC takes into
account the value assigned to general machine parameter PRODEL and provides the following
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
FLWE(X-C)
They return the amount of deflection obtained at the time by the Renishaw probe SP2 on each axis
X, Y, Z.
DPLY(X-C)
It returns the position value (coordinate) shown on the screen for the selected axis.
DRPO(X-C)
It returns the position indicated by the Sercos drive of the selected axis (variable PV51 or PV53 of
the drive).
GPOS(X-C)n p
Programmed coordinate for a particular axis in the indicated (n) block of the (p) program.
(P80=GPOSX N99 P100)
It assigns to parameter P88 the value of the coordinate programmed for the X axis in
the block having the label N99 and located in program P100.
CNC 8055
CNC 8055i
·354·
P r o gr a m m i ng m a n u a l
Read-and-write variables
DIST(X-C)
These variables may be used to read or modify the distance traveled by the selected axis. This value
is accumulative and is very useful when it is required to perform an operation which depends on
the distance traveled by the axes, their lubrication for example.
(P110=DISTX)
It assigns to P110 the distance traveled by the X axis
(DISTX=P111)
It presets the variable indicating the distance traveled by the Z axis with the value of
arithmetic parameter P111.
13.
LIMPL(X-C) LIMMI(X-C)
With these variables, it is possible to set a second travel limit for each axis: LIMPL for the upper limit
and LIMMI for the lower one.
Since the second limits are activated or deactivated from the PLC, through general logic input
ACTLIM2 (M5052), besides setting the limits, an auxiliary M code must be executed to let it know.
It is also recommended to execute function G4 after the change so the CNC executes the following
blocks with the new limits.
The second travel limit will be taken into account if the first one has been set using axis machine
parameters LIMIT+ (P5) and LIMIT- (P6).
CNC 8055
CNC 8055i
·355·
Prog ramm in g man u a l
Read-only variables
They return the pulses of the first (HANPF), second (HANPS), third (HANPT) or fourth (HANPFO)
handwheel received since the CNC was turned on. It is irrelevant to have the handwheel connected
13. to the feedback inputs or to the PLC inputs.
HANDSE
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
For handwheels with axis selector button, it indicates whether that button has been pressed or not.
A value of ·0· means that it has not been pressed.
HANFCT
It must be used when using several electronic handwheels or when using a single handwheel but
different multiplying factors (x1, x10, x100) are to be applied to each axis.
C B A W V U Z Y X
c b a c b a c b a c b a c b a c b a c b a c b a c b a lsb
Once the switch has been turned to one of the handwheel positions, the CNC checks this variable
and, depending on the values assigned to each axis bit (c, b, a) it applies the multiplying factor
selected for each one of them.
c b a
0 0 1 x1 factor
0 1 0 x10 factor
1 0 0 x100 factor
If there are more than one bit set to "1" for an axis, the least significant bit will be considered. Thus:
c b a
1 1 1 x1 factor
1 1 0 x10 factor
HBEVAR
It indicates whether the HBE handwheel is enabled or not, the axis to be jogged and the multiplying
factor to be applied (x1, x10, x100).
CNC 8055 C B A W V U Z Y X
(*) Indicates whether the HBE handwheel pulses will be taken into account or not in jog mode.
0= They are ignored.
·M· & ·EN· MODELS
SOFT: V02.2X 1= They are taken into account.
·356·
P r o gr a m m i ng m a n u a l
(^) When the machine has a general handwheel and individual handwheels (associated with an
axis), it indicates which handwheel has priority when both are turned at the same time.
0= The individual handwheel has priority. The relevant axis ignores the pulses from the
general handwheel, the rest of the axes don’t.
1 =The general handwheel has priority. It ignored the pulses from the individual handwheel.
(a, b, c) Indicate the axis to be moved and the selected multiplying factor.
c b a
0
0
0
0
1
The value indicated at the front panel or keyboard switch.
x1 factor 13.
0 1 0 x10 factor
If there are more than one bit set to "1" for an axis, the least significant bit will be considered. Thus:
c b a
1 1 1 x1 factor
1 1 0 x10 factor
The HBE handwheel has priority. That is, regardless of the mode selected at the CNC switch
(continuous or incremental JOG, handwheel), HBEVAR is set to other than "0", the CNC goes into
handwheel mode.
It shows the selected axis in reverse video and the multiplying factor selected by the PLC. When
the HBEVAR variable is set to "0", it shows the mode selected by the switch again.
Read-and-write variables
MASLAN
It must be used when the path-handwheel or the path-jog is selected. Indicates the angle of the linear
path.
MASCFI MASCSE
They must be used when the path-handwheel or the path-jog is selected. On circular paths (arcs),
they indicate the center coordinates.
CNC 8055
CNC 8055i
·357·
Prog ramm in g man u a l
ASIN(X-C)
"A" signal of the CNC's sinusoidal feedback for the X-C axis.
BSIN(X-C)
"B" signal of the CNC's sinusoidal feedback for the X-C axis.
13. ASINS
BSINS
SASINS
"A" signal of the CNC sinusoidal feedback for the second spindle.
SBSINS
"B" signal of the CNC sinusoidal feedback for the second spindle.
CNC 8055
CNC 8055i
·358·
P r o gr a m m i ng m a n u a l
In these variables associated with the spindle, their values are given in revolutions per minute and
the main spindle override values are given in integers from 0 to 255.
Certain variables interrupt block preparation (it is indicated in each one) and the CNC waits for that
command to be executed before resuming block preparation.
Read-only variables
13.
SREAL
FTEOS
SPEED
Returns, in revolutions per minute, the main spindle speed selected at the CNC.
This turning speed may be indicated by program, by PLC or by DNC; the CNC selects one of them,
the one indicated by DNC has the highest priority and the one indicated by program has the lowest
priority.
DNCS
Returns the turning speed in revolutions per minute, selected by DNC. If it has a value of 0 it means
that it is not selected.
PLCS
Returns the turning speed in revolutions per minute selected by PLC. If it has a value of 0 it means
that it is not selected.
PRGS
SSO
It returns the turning speed override (%) of the main spindle currently selected at the CNC. It is given
in integer values between 0 and "MAXFOVR" (maximum 255).
This turning speed percentage of the main spindle may be indicated by program, by PLC, by DNC
or by the front panel; the CNC selects one of them and the priority (from the highest to the lowest)
is: by program, by DNC, by PLC and from the panel frontal.
DNCSSO
It returns the turning speed override % of the main spindle currently selected via DNC. If it has a
value of 0 it means that it is not selected.
PLCSSO
It returns the turning speed override % of the main spindle currently selected by PLC. If it has a value
CNC 8055
of 0 it means that it is not selected. CNC 8055i
CNCSSO
It returns the turning speed override % of the main spindle currently selected from the front panel.
·M· & ·EN· MODELS
SOFT: V02.2X
SLIMIT
It returns the value set in rpm at the CNC for the turning speed limit of the main spindle.
·359·
Prog ramm in g man u a l
This limit may be indicated by program, by PLC or by DNC; the CNC selects one of them, the one
indicated by DNC has the highest priority and the one indicated by program has the lowest priority.
DNCSL
It returns the speed limit of the main spindle in rpm currently selected via DNC. If it has a value of
0 it means that it is not selected.
PLCSL
It returns the speed limit of the main spindle in rpm currently selected by PLC. If it has a value of
PRGSL
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
It returns the speed limit of the main spindle in rpm currently selected by program.
MDISL
Maximum machining spindle speed. This variable is also updated (refreshed) when programming
function G92 via MDI.
POSS
It returns the real position of the main spindle. Its value may be within ±99999.9999°. It interrupts
block preparation.
RPOSS
It returns the real position of the main spindle. Its value is given in 0.0001 degree units (between
-360º and 360º). It interrupts block preparation.
TPOSS
It returns the theoretical position of the main spindle (real position + lag). Its value may be within
±99999.9999º. It interrupts block preparation.
RTPOSS
It returns the theoretical position of the main spindle (real position + lag) in 360º module. Its value
may be between 0 and 360º. It interrupts block preparation.
DRPOS
PRGSP
Position programmed in M19 via program for the main spindle. This variable may be read from the
CNC, from the PLC and from DNC.
FLWES
It returns the main spindle's following error in degrees (within ±99999.9999). It interrupts block
preparation.
SYNCER
It returns, in degrees (within ±99999.9999), the following error of the second spindle with respect
to the main spindle when they are synchronized in position.
CNC 8055
CNC 8055i
·360·
P r o gr a m m i ng m a n u a l
Read-and-write variables
PRGSSO
This variable may be used to read or modify the speed override percentage of the main spindle
currently selected by program. It is given in integer values between 0 and "MAXFOVR" (maximum
255). If it has a value of 0 it means that it is not selected.
(P110=PRGSSO)
It assigns to P110 the % of the main spindle speed selected by program.
(PRGSSO=P111)
It sets the value indicating the main spindle speed % selected by program to the value
of arithmetic parameter P111.
13.
CNC 8055
CNC 8055i
·361·
Prog ramm in g man u a l
In these variables associated with the spindle, their values are given in revolutions per minute and
the 2nd spindle override values are given in integers from 0 to 255.
Read-only variables
13. SSREAL
Returns the real 2nd spindle turning speed in revolutions per minute.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
(P100=SSREAL)
It assigns to P100 the real turning speed of the second spindle.
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
SFTEOS
SSPEED
Returns, in revolutions per minute, the 2nd spindle speed selected at the CNC.
This turning speed may be indicated by program, by PLC or by DNC; the CNC selects one of them,
the one indicated by DNC has the highest priority and the one indicated by program has the lowest
priority.
SDNCS
Returns the turning speed in revolutions per minute, selected by DNC. If it has a value of 0 it means
that it is not selected.
SPLCS
Returns the turning speed in revolutions per minute selected by PLC. If it has a value of 0 it means
that it is not selected.
SPRGS
SSSO
It returns the turning speed override (%) of the second spindle currently selected at the CNC. It is
given in integer values between 0 and "MAXFOVR" (maximum 255).
This turning speed percentage of the second spindle may be indicated by program, by PLC, by DNC
or by the front panel; the CNC selects one of them and the priority (from the highest to the lowest)
is: by program, by DNC, by PLC and from the panel frontal.
SDNCSO
It returns the turning speed override % of the second spindle currently selected via DNC. If it has
a value of 0 it means that it is not selected.
SPLCSO
CNC 8055 It returns the turning speed override % of the second spindle currently selected by PLC. If it has a
CNC 8055i value of 0 it means that it is not selected.
SCNCSO
It returns the turning speed override % of the second spindle currently selected from the front panel.
·M· & ·EN· MODELS
SOFT: V02.2X
·362·
P r o gr a m m i ng m a n u a l
SSLIMI
It returns the value set in rpm at the CNC for the turning speed limit of the second spindle.
This limit may be indicated by program, by PLC or by DNC; the CNC selects one of them, the one
indicated by DNC has the highest priority and the one indicated by program has the lowest priority.
SDNCSL
It returns the speed limit of the second spindle in rpm currently selected via DNC. If it has a value
of 0 it means that it is not selected.
SPLCSL 13.
It returns the speed limit of the second spindle in rpm currently selected by PLC. If it has a value
SPRGSL
It returns the speed limit of the second spindle in rpm currently selected by program.
SPOSS
It returns the real position of the second spindle. Its value may be within ±99999.9999°.
SRPOSS
It returns the real position of the second spindle. Its value is given in 0.0001 degree units (between
-360º and 360º).
STPOSS
It returns the theoretical position of the second spindle (real position + lag). Its value may be within
±99999.9999º.
SRTPOS
Returns the second spindle's theoretical position value (real coordinate+ following error) in a 360º
module. Its value may be between 0 and 360º.
SDRPOS
SPRGSP
Position programmed in M19 via program for the second spindle. This variable may be read from
the CNC, from the PLC and from DNC.
SFLWES
When accessing one of these variables SPOSS, SRPOSS, STPOSS, SRTPOSS or SFLWES, block
preparation is interrupted and the CNC waits for that command to be executed before resuming block
preparation.
CNC 8055
CNC 8055i
·363·
Prog ramm in g man u a l
Read-and-write variables
SPRGSO
This variable may be used to read or modify the speed override percentage of the second spindle
currently selected by program. It is given in integer values between 0 and "MAXFOVR" (maximum
255). If it has a value of 0 it means that it is not selected.
(P110=SPRGSO)
It assigns to P110 the % of the second spindle speed selected by program.
13. (SPRGSO=P111)
It sets the value indicating the second spindle speed % selected by program to the value
of arithmetic parameter P111.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
CNC 8055
CNC 8055i
·364·
P r o gr a m m i ng m a n u a l
Read-only variables
ASPROG
Returns the revolutions per minute programmed in M45 S. If programmed only in M45, the value
0 will be used. 13.
CNC 8055
CNC 8055i
·365·
Prog ramm in g man u a l
It should be borne in mind that the PLC has the following resources:
(I1 thru I512) Inputs.
(O1 thru O512) Outputs.
M1 thru M5957) Marks.
(R1 thru R499) 32-bit registers.
If any variable is accessed which allows the status of a PLC variable to be read or modified
(I,O,M,R,T,C), block preparation is interrupted and the CNC waits for this command to be executed
in order to restart block preparation.
Read-only variables
PLCMSG
Returns the number of the active PLC message with the highest priority and will coincide with the
number displayed on screen (1··128). If there is none, it returns 0.
(P110=PLCMSG)
It assigns to P100 the number of the active PLC message with the highest priority.
Read-and-write variables
PLCIn
This variable allows 32 PLC inputs to be read or modified starting with the one indicated (n).
The value of the inputs which are used by the electrical cabinet cannot be modified as their values
are determined by it. Nevertheless, the status of the remaining inputs can be modified.
PLCOn
This variable allows 32 PLC outputs to be read or modified starting from the one indicated (n).
(P110=PLCO 22)
It assigns to parameter P110 the value of outputs O22 through O53 (32 outputs) of the
PLC.
(PLCO 22=$F)
It sets outputs O22 through O25 to "1" and outputs O26 through O53 to "0".
Bit 31 30 29 28 27 26 25 24 23 22 ... 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 .... 0 0 1 1 1 1
Output 53 52 51 50 49 48 47 46 45 44 .... 27 26 25 24 23 22
PLCMn
This variable allows 32 PLC marks to be read or modified starting from the one indicated (n).
CNC 8055
PLCRn
CNC 8055i
This variable allows the status of 32 register bits to be read or modified starting from the one indicated
(n).
PLCCn
This variable allows the counter count to be read or modified starting from the one indicated (n).
·366·
P r o gr a m m i ng m a n u a l
PLCMMn
13.
CNC 8055
CNC 8055i
·367·
Prog ramm in g man u a l
The CNC allows 26 local parameters (P0-P25) to be assigned to a subroutine, by using mnemonics
PCALL and MCALL. In addition to performing the required subroutine these mnemonics allow local
parameters to be initialized.
Read-only variables
13. CALLP
Allows us to know which local parameters have been defined and which have not, in the call to the
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
The information will be given in the 26 least significant bits (bits 0··25), each of these corresponding
to the local parameter of the same number; thus bit 12 corresponds to P12.
Each bit will indicate whether the corresponding local parameter has been defined (=1) or not (0).
Bit 31 30 29 28 27 26 25 24 23 22 ... 5 4 3 2 1 0
0 0 0 0 0 0 * * * * ... * * * * * *
Example:
;Call to subroutine 20.
(PCALL 20, P0=20, P2=3, P3=5)
...
...
;Beginning of subroutine 20.
(SUB 20)
(P100 = CALLP)
...
...
CNC 8055
CNC 8055i
·368·
P r o gr a m m i ng m a n u a l
They are used in the data exchange via Sercos between the CNC and the drives.
Read-only variables
It returns the third attribute of the Sercos variable corresponding to the "identifier". The third attribute
is used in particular software applications and its information is coded according to the Sercos
13.
standard.
(P110=SVARX 40)
It assigns to parameter P110 the third attribute of the Sercos variable of identifier 40
of the X axis which corresponds to "VelocityFeedback"
Write variables
The drive may have up to 8 gear ratios (0 through 7). Sercos identifier 218, GearRatioPreselection.
I t m ay a l s o h ave u p t o 8 p a r a m e t e r s e t s ( 0 t h r o u g h 7 ) . S e r c o s i d e n t i f i e r 2 1 7 ,
ParameterSetPreselection.
With these variables the work range or gear ratio and the parameter set of each drive may be
modified.
SETGE(X-C) ... for the axes.
SETGES ... for the main spindle.
SSETGS ... for the second spindle
The 4 least significant bits of these variables indicate the gear ratio and the other 4 the parameter
set to be selected.
Read-and-write variables
They permit reading or modifying the value of the Sercos variable corresponding to the axis identifier.
SVAR(X-C) identifier ... for the axes.
SVARS identifier ... for the main spindle.
SSVARS identifier ... for the second spindle.
CNC 8055
CNC 8055i
·369·
Prog ramm in g man u a l
Read-only variables
HARCON
It indicates, with bits, the CNC's hardware configuration. The bit will be "1" when the relevant
configuration is available.
13. CNC8055 model:
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
Bit Meaning
7 Axes module.
CNC 8055
CNC 8055i
·370·
P r o gr a m m i ng m a n u a l
CNC8055i model:
Bit Meaning
6 Reserved.
9, 8, 7 000
001
010
Expansion board missing.
"Feedback + I/O" expansion board.
Feedback-only expansion board.
13.
011 I/O-only expansion board.
12, 11 Reserved.
14, 13 Reserved.
30 Ethernet..
HARCOA
It indicates, with bits, the CNC's hardware configuration. The bit will be "1" when the relevant
configuration is available.
CNC8055 model:
Bit Meaning
0 Axis module 2.
Bit ·1· only indicates whether the hardware has a connector for the compact flash or not, it does not
indicate whether the compact flash is inserted or not.
CNC8055i model:
Bit Meaning
CNC 8055
0 "Axes 2" board. CNC 8055i
1 It has a connector for compact flash.
·371·
Prog ramm in g man u a l
IDHARH IDHARL
They return, in BCD code, the hardware identification number corresponding to the KeyCF. It is the
number appearing on the software diagnosis screen.
Since the identification number has 12 digits, the IDHARL variable shows the 8 least significant bits
and the IDHARH the 4 most significant bits.
Example:
000029AD IDHART
13. 29ADEE020102
EE020102 IDHARL
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
SOFCON
They return the software version numbers for the CNC and the hard disk.
Bits 31-16 return the software version of the hard disk (HD) (4 digits)
HDMEGA
KEYIDE
·372·
P r o gr a m m i ng m a n u a l
Read-only variables
HARSWA HARSWB
They return, in 4 bits, the central unit configuration, a value of "1" if it is present and "0" if not. Logic
address (device select) set on each board with the dip-switches (see installation manual).
HARSWA HARSWB
13.
31 - 28 Large sercos 31 - 28
27 - 24 I/O 4 27 - 24
19 - 16 I/O 2 19 - 16
7 -4
3 - 0 (LSB) HD
The CPU board must be present in all the configurations and set to "0". In the rest of cases, it returns
a "0" if the board is missing.
There could be a large Sercos card (that takes up the whole module) or the small board that is
installed in the CPU module.
There may be two types of CAN boards (value of ·0001· if it is an SJ1000 type and value of ·0010·
if it is an OKI9225 type).
CNC 8055
CNC 8055i
·373·
Prog ramm in g man u a l
HARTST
It returns the result of the hardware test. The data comes at the least significant bits with a "1" if it
failed and with a "0" if OK or if the relevant board is missing.
Bits
13 Inside temperature
13. 12
11
I/O 3
I/O 2
(Board voltage)
(Board voltage)
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
6 11 (Power supply)
4 - 15 V (Power supply)
3 + 15 V (Power supply)
MEMTST
It returns the result of the memory test. Each data uses 4 bits that will be at "1" if the test is OK and
will have a value other than "1" if there is an error.
NODE
It returns the number of the node used to configure the CNC in the Sercos ring.
VCHECK
It returns the checksum of the code for the software version installed. It is the value appearing on
the code test.
IONODE
It returns in 16 bits the position of the "ADDRESS" switch of the CAN of the I/O. If it is not connected,
CNC 8055
it returns the value 0xFFFF.
CNC 8055i
IOSLOC
They may be used to read the number of local digital I/O available.
0 - 15 Number of inputs.
16 - 31 Number of outputs.
·374·
P r o gr a m m i ng m a n u a l
IOSREM
They may be used to read the number of remote digital I/O available.
Bit Meaning
0 - 15 Number of inputs.
16 - 31 Number of outputs.
13.
CNC 8055
CNC 8055i
·375·
Prog ramm in g man u a l
OPMODE
10 = Automatic execution.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
30 = Normal editing.
31 = User editing.
32 = TEACH-IN editing.
33 = Interactive editor.
34 = Profile editor.
60 = Utilities.
63 = Change of protections.
·376·
P r o gr a m m i ng m a n u a l
70 = DNC status.
71 = CNC status.
90 = Customizing.
CNC 8055
CNC 8055i
·377·
Prog ramm in g man u a l
In these work modes, it is recommended to use variables OPMODA, OPMODB and OPMODC. The
OPMODE variable is generic and contains different values to those of the standard mode.
OPMODE
In execution or waiting for the [CYCLE START] key (drawing of the [CYCLE START] on
top).
12 = Indicates one of the following situations:
- In MDI mode, when pressing the ISO key from the jog mode or tool inspection mode.
- One of the following fields of the main screen that admits the START key has been selected:
Axes, T, F or S.
21 = In graphic simulation mode.
30 = Cycle editing.
40 = In Jog mode (standard screen).
43 = Doing a home search.
45 = In tool calibration mode.
60 = Managing parts. PPROG mode.
OPMODA
Indicates the operating mode currently selected when working with the main channel.
Use the OPMODE variable to know at any time the selected operating mode (main channel, user
channel, PLC channel).
This information is given at the least significant bits with a "1" when active and with a "0" when not
active or when it is not available in the current version.
Bit 0 Program in execution.
Bit 1 Program in simulation.
Bit 2 Block in execution via MDI, JOG.
Bit 3 Repositioning in progress.
Bit 4 Program interrupted by CYCLE STOP.
Bit 5 MDI, JOG block interrupted.
Bit6 Repositioning interrupted.
Bit 7 In tool inspection.
Bit 8 Block in execution via CNCEX1.
Bit 9 CNCEX1 block interrupted.
Bit 10 CNC ready to accept JOG movements: manual, handwheel, teaching, inspection.
Bit 11 CNC ready to accept running order (START): execution, simulation with
movement and MDI modes.
Bit 12 The CNC is not ready to execute anything involving axis or spindle movement.
CNC 8055
Bit 13 It identifies the block search.
CNC 8055i
·378·
P r o gr a m m i ng m a n u a l
OPMODB
Indicates the type of simulation currently selected. This information is given at the least significant
bits indicating with a "1" the one currently selected.
Bit 0 Theoretical path.
Bit 1 G functions.
Bit 2 G M S T functions.
Bit 3 Main plane.
Bit 4
Bit 5
Rapid.
Rapid (S=0).
13.
Indicates the axes selected by handwheel. This information is given at the least significant bits
indicating with a "1" the one currently selected.
Bit 0 Axis 1.
Bit 1 Axis 2.
Bit 2 Axis 3.
Bit 3 Axis 4.
Bit 4 Axis 5.
Bit 5 Axis 6.
Bit 6 Axis 7.
Bit 7
Bit 8
The axis name corresponds to the number according to the programming order for them.
Example: If the CNC controls axes X, Y, Z, U, B, C, axis 1=X, axis2=Y, axis3=Z, axis4=U, axis5=B,
axis6=C.
CNC 8055
CNC 8055i
·379·
Prog ramm in g man u a l
Read-only variables
NBTOOL
Indicates the tool number being managed. This variable can only be used within the tool change
subroutine.
13. Example: There is a manual tool changer. Tool T1 is currently selected and the operator requests
tool T5.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
The subroutine associated with the tools may contain the following instructions:
(P103 = NBTOOL)
(MSG "SELECT T?P103 AND PRESS CYCLE START")
Instruction (P103 = NBTOOL) assigns the number of the tool currently being managed to parameter
P103. Therefore, P103=5.
The message displayed by the CNC will be ""SELECT T5 AND PRESS CYCLE START".
PRGN
Returns the program number being executed. If none is selected, a value of -1 is returned.
BLKN
GGSA
It returns the status of functions G00 through G24. The status of each one of the functions will be
given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not active
or when not available in the current software version.
G24 G23 G22 G21 G20 ... G04 G03 G02 G01 G00
GGSB
It returns the status of functions G25 through G49. The status of each one of the functions will be
given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not active
or when not available in the current software version.
G49 G48 G47 G46 G45 ... G29 G28 G27 G26 G25
GGSC
It returns the status of functions G50 through G24. The status of each one of the functions will be
given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not active
or when not available in the current software version.
G74 G73 G72 G71 G70 ... G54 G53 G52 G51 G50
CNC 8055
CNC 8055i
·380·
P r o gr a m m i ng m a n u a l
GGSD
It returns the status of functions G5 through G99. The status of each one of the functions will be
given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not active
or when not available in the current software version.
G99 G98 G97 G96 G95 ... G79 G78 G77 G76 G75
GGSE
It returns the status of functions G100 through G124. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version. 13.
GGSF
It returns the status of functions G125 through G149. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
G149 G148 G147 G146 G145 ... G129 G128 G127 G126 G125
GGSG
It returns the status of functions G150 through G174. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
G174 G173 G172 G171 G170 ... G154 G153 G152 G151 G150
GGSH
It returns the status of functions G175 through G199. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
G199 G198 G197 G196 G195 ... G179 G178 G177 G176 G175
GGSI
It returns the status of functions G200 through G224. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
G224 G223 G222 G221 G220 ... G204 G203 G202 G201 G200
GGSJ
It returns the status of functions G225 through G249. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
G249 G248 G247 G246 G245 ... G229 G228 G227 G226 G225
GGSK
It returns the status of functions G250 through G274. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
CNC 8055
CNC 8055i
G274 G273 G272 G271 G270 ... G254 G253 G252 G251 G250
·381·
Prog ramm in g man u a l
GGSL
It returns the status of functions G75 through G299. The status of each one of the functions will be
given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not active
or when not available in the current software version.
G299 G298 G297 G296 G295 ... G279 G278 G277 G276 G275
GGSM
It returns the status of functions G300 through G324. The status of each one of the functions will
13. be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
G324 G323 G322 G321 G320 ... G304 G303 G302 G301 G300
GGSN
It returns the status of functions G325 through G349. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
G349 G348 G347 G346 G345 … G329 G328 G327 G326 G325
GGSO
It returns the status of functions GG350 through G374. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
G374 G373 G372 G371 G370 … G354 G353 G352 G351 G350
GGSP
It returns the status of functions G375 through G399. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
G399 G398 G397 G396 G395 … G379 G378 G377 G376 G375
GGSQ
It returns the status of functions G400 through G424. The status of each one of the functions will
be given in the 25 least significant bits and it will be indicated by a 1 when active and a 0 when not
active or when not available in the current software version.
G424 G423 G422 G421 G420 … G404 G403 G402 G401 G400
GSn
Returns the status of the G function indicated (n). 1 if it is active and 0 if not.
(P120=GS17)
It assigns the value 1 to parameter P120 if the G17 function is active and 0 if not.
MSn
Returns the status of the M function indicated (n). 1 if it is active and 0 if not.
These functions are M00, M01, M02, M03, M04, M05, M06, M08, M09, M19, M30, M41, M42, M43,
CNC 8055 M44 and M45.
CNC 8055i
·382·
P r o gr a m m i ng m a n u a l
PLANE
Returns data on the abscissa axis (bits 4 to 7) and the ordinate axis (bits 0 to 3) of the active plane
in 32 bits and in binary.
The axes are coded in 4 bits and indicate the axis number according to the programming order.
Example: If the CNC controls the X,Y,Z,U,B,C axes and the ZX plane (G18) is selected.
13.
LONGAX
It returns the number according to the programming order corresponding to the longitudinal axis.
This will be the one selected with the G15 function and by default the axis perpendicular to the active
plane, if this is XY, ZX or YZ.
Example:
MIRROR
Returns in the least significant bits of the 32-bit group, the status of the mirror image of each axis,
1 in the case of being active and 0 if not.
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 LSB
The axis name corresponds to the number according to the programming order for them.
Example: If the CNC controls axes X, Y, Z, U, B, C, axis 1=X, axis2=Y, axis3=Z, axis4=U, axis5=B,
axis6=C.
SCALE
SCALE(X-C)
ORGROT
It returns the rotation angle of the coordinate system currently selected with G73. Its value is given
in degrees (within ±99999.9999).
ROTPF
CNC 8055
Returns the abscissa value of the rotation center with respect to the Cartesian coordinate origin.
It is given in the active units:
CNC 8055i
If G70, in inches (within ±3937.00787).
If G71, in millimeters (within ±99999.9999).
·M· & ·EN· MODELS
SOFT: V02.2X
·383·
Prog ramm in g man u a l
ROTPS
Returns the ordinate value of the rotation center with respect to the Cartesian coordinate origin. It
is given in the active units:
If G70, in inches (within ±3937.00787).
If G71, in millimeters (within ±99999.9999).
PRBST
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
CLOCK
Returns the time in seconds indicated by the system clock. Possible values 0..4294967295.
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
TIME
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
DATE
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
CYTIME
It returns the amount of time (in hundredths of a second) elapsed executing the part. It ignores the
time the execution has been interrupted. Possible values 0..4294967295.
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
FIRST
Indicates whether it is the first time that a program has been run or not. It returns a value of 1 if it
is the first time and 0 if not.
·384·
P r o gr a m m i ng m a n u a l
ANAIn
It returns the status of the indicated analog input (n). The value given in Volts and in ±1.4 format.
• At the –Axes– module, it is possible to select one of the 8 analog inputs (1··8) available. The
values returned will be within the ±5 V range.
• At the –Vpp Axes– module, it is possible to select one of the 4 analog inputs (1··4) available.
The returned values will be either within the ±5 V or ±10 V range depending on how the analog
inputs have been set.
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
AXICOM
13.
The axes are coded in 4 bits and indicate the axis number (1 to 7) according to their programming
order.
If the CNC controls the X, Y, Z, B, C axes and G28BC has been programmed, the AXICOM variable
will show:
C B
TANGAN
Variable associated with the tangential control function, G45. It indicates the programmed angular
position.
TPIOUT(X-C)
TIMEG
It shows the timing status of the timer programmed with G4 K in the CNC channel. This variable,
returns the time remaining to end the timing block in hundredths of a second.
TIPPRB
If PROBE1 is running, the TPPRB variable takes the value of 1, if PROBE2 is running, it takes the
value of 2, etc. if PROBE12 is running, it takes the value of 12.
TIPDIG
PANEDI
WINDRAW55 application. Number of the screen created by the user or the manufacturer and is
being consulted.
CNC 8055
DATEDI CNC 8055i
WINDRAW55 application. Number of the element (item) being consulted.
RIP
·M· & ·EN· MODELS
Linear theoretical feedrate resulting from the next loop (in mm/min). SOFT: V02.2X
The calculation of the resulting feedrate ignores the rotary axes, slave axes (gantry, coupled and
synchronized) as well as DRO axes.
·385·
Prog ramm in g man u a l
TEMPIn
It returns the temperature in tenths of a degree detected by the PT100. It is possible to select one
of the 4 temperature inputs (1··4) available.
Read-and-write variables
TIMER
13. This variable allows reading or modifying the time, in seconds, indicated by the clock enabled by
the PLC. Possible values 0..4294967295.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
PARTC
The CNC has a part counter whose count increases, in all modes except simulation, every time M30
or M02 is executed and this variable allows its value to be read or modified. This value will be between
0 and 4294967295
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
KEY
This variable may be used as a write variable only inside a customizing program (user channel).
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
KEYSRC
This variable allows reading or modifying the source of keystrokes, possible values being:
0 = Keyboard.
1 = PLC.
2 = DNC.
ANAOn
This variable allows the required analog output (n) to be read or modified. The value assigned will
be expressed in volts and in the ±2.4 format (±10 V).
The analog outputs which are free among the eight (1 through 8) available at the CNC may be
modified, the corresponding error being displayed if an attempt is made to write in one which is
occupied.
If this variable is accessed, block preparation is interrupted and the CNC waits for this command
to be executed to resume block preparation.
SELPRO
When having two probe inputs, it allows selecting the active input.
CNC 8055 On power-up, it assumes the value of ·1· thus selecting the first probe input. To select the second
probe input, set it to a value of ·2·.
CNC 8055i
Accessing this variable from the CNC interrupts block preparation.
·386·
P r o gr a m m i ng m a n u a l
DIAM
It changes the programming mode for X axis coordinates between radius and diameter. When
changing the value of this variable, the CNC assumes the new way to program the following blocks.
When the variable is set to ·1·, the programmed coordinates are assumed in diameter; when is set
to ·0·, the programmed coordinates are assumed in radius.
This variable affects the display of the real value of the X axis in the coordinate system of the part
and the reading of variables PPOSX, TPOSX and POSX.
On power-up, after executing an M02 or M30 and after an emergency or a reset, the variable is
initialized according to the value of the DFORMAT parameter of the X axis. If this parameter has
a value equal to or greater than 4, the variable takes a value of 1; otherwise, it takes the value of ·0·.
13.
It indicates whether a probing error is to issued or not in the following cases, even if general machine
parameter PROBERR (P119) =YES.
• When a G75 probing move finishes before the probe has touched part.
• When a G76 probing move finishes but the probe is still touching the part.
Value Meaning
Default value 0.
The PRBMOD variable can be read and written from the CNC and the PLC an read from the DNC.
DISABMOD
This variable is used to disable some actions or modes by setting the corresponding bit value to
1. This variable may be written from the PLC and read from the PLC, DNC and CNC.
Bit Meaning
0 If 1, the PLC program cannot be displayed. The PLC in ladder (contacts) diagram cannot
be displayed either.
1 If 1, the date cannot be changed, although it displays the access softkey. It is valid for
the explorer and for "UTILITIES".
CYCCHORDERR
This variable defines the chordal error of the canned cycles. It may be read and written from the
part-program.
The CYCCHORDERR variable lets modify the chordal error of the cycles so the user can increase
or decrease it for the parts as needed.
Using this variable is necessary, for example, on parts with curved areas using the 3D pocket cycle.
On these parts, if the radius is very large, the segments are noticeable. The parts get better by
decreasing the chordal error. CNC 8055
Using this variable, the user can decrease the chordal error on the part as needed. Decreasing the CNC 8055i
chordal error can increase machining time.
Once the value of this variable has been changed, it remains active until the CNC is turned off.
Default value of the CYCCHORDERR variable (250 tenths of a micron). ·M· & ·EN· MODELS
SOFT: V02.2X
·387·
Prog ramm in g man u a l
Programming example:
(CYCCHORDERR = 25)
(PCALL 9986, P200=0)
M30
13.
HIGH-LEVEL LANGUAGE PROGRAMMING
Variables
CNC 8055
CNC 8055i
·388·
P r o gr a m m i ng m a n u a l
13.3 CONSTANTS
Constants are defined as being all those fixed values which cannot be altered by a program. The
following are considered as constants:
• Numbers expressed in the decimal system.
• Hexadecimal numbers.
• PI constant.
• Read-only tables and variables as their value cannot be altered with a program.
13.
CNC 8055
CNC 8055i
·389·
Prog ramm in g man u a l
13.4 Operators
An operator is a symbol that indicates the mathematical or logic operations to carry out. The CNC
has arithmetic, relational, logic, binary, trigonometric operators and special operators.
Arithmetic operators.
Relational operators.
EQ equal.
NE different.
GT greater than.
LT Less than.
Trigonometric functions.
There are two functions for calculating the arc tangent ATAN which returns the result between ±90°
CNC 8055 and ARG given between 0 and 360°.
CNC 8055i
·390·
P r o gr a m m i ng m a n u a l
Other functions.
1010 1011
Conversions to binary and BCD are made in 32 bits, it being possible to represent the number 156
in the following formats:
Decimal 156
Hexadecimal 9C
Binary 0000 0000 0000 0000 0000 0000 1001 1100
BCD 0000 0000 0000 0000 0000 0001 0101 0110
CNC 8055
CNC 8055i
·391·
Prog ramm in g man u a l
13.5 Expressions
All expressions must be placed between brackets, but if the expression is reduced to an integer,
the brackets can be removed.
13. These are formed by combining functions and arithmetic, binary and trigonometric operators with
the constants and variables of the language.
The priorities of the operators and the way they can be associated determine how these expressions
HIGH-LEVEL LANGUAGE PROGRAMMING
Expressions
are calculated:
Brackets should be used in order to clarify the order in which the expression is to be evaluated.
(P3 = P4/P5 - P6 * P7 - P8/P9 )
(P3 = (P4/P5)-(P6 * P7)-(P8/P9))
Using redundant or additional brackets will neither cause errors nor slow down the execution.
In functions, brackets must be used except when these are applied to a numerical constant, in which
case they are optional.
(SIN 45) (SIN (45)) they're both valid and equivalent.
(SIN 10+5) the same as ((SIN 10)+5).
CNC 8055
CNC 8055i
·392·
P r o gr a m m i ng m a n u a l
At the same time these conditions can be joined by means of logic operators. 13.
(IF ((P8 EQ 12.8) OR (ABS(SIN(P24)) GT SPEED)) AND (CLOCK LT (P9 * 10.99)) ...
CNC 8055
CNC 8055i
·393·
Prog ramm in g man u a l
13.
HIGH-LEVEL LANGUAGE PROGRAMMING
Expressions
CNC 8055
CNC 8055i
·394·
PROGRAM CONTROL
INSTRUCTIONS
14
The control instructions available to high-level programming can be grouped as follows:
• Assignment instructions.
• Display instructions.
• Enable-disable instructions.
• Flow control instructions.
• Subroutine instructions.
• Probe related instructions.
• Interruption-subroutine instructions.
• Program instructions.
• Kinematics related instructions.
• Screen customizing instructions.
Only one instruction can be programmed in each block, and no other additional information may
be programmed in this block.
CNC 8055
CNC 8055i
·395·
Prog ramm in g man u a l
A local or global parameter or a read-write variable may be selected as target. The arithmetic
expression may be as complex as required or a simple numerical constant.
(P102 = FZLOY)
(ORGY 55 = (ORGY 54 + P100))
14. In the specific case of designating a local parameter using its name (A instead of P0, for example)
and the arithmetic expression being a numerical constant, the instruction can be abbreviated as
follows:
PROGRAM CONTROL INSTRUCTIONS
Assignment instructions
Within a single block, up to 26 assignments can be made to different targets, a single assignment
being interpreted as the set of assignments made to the same target.
(P1=P1+P2, P1=P1+P3, P1=P1*P4, P1=P1/P5)
It is the same as saying:
(P1=(P1+P2+P3)*P4/P5).
The different assignments which are made in the same block will be separated by commas ",".
CNC 8055
CNC 8055i
·396·
P r o gr a m m i ng m a n u a l
Display instructions
PROGRAM CONTROL INSTRUCTIONS
between quote marks "".
(ERROR "error text").
This will display the error text only.
The error number may be defined by means of a numerical constant or an arithmetic parameter.
When using a local parameter, its numeric format must be used (P0 thru P25 instead of A thru Z).
Programming examples:
(ERROR 5)
(ERROR P100)
(ERROR "User error")
(ERROR 3, "User error")
(ERROR P120, "User error)
(MSG "message")
This instruction will display the message indicated between quote marks.
The CNC screen is provided with an area for displaying DNC or user program messages, and always
displays the last message received irrespective of where it has come from.
Example: (MSG "Check tool")
Each expression forming the instruction syntax correspond to one of the limits and they must be
defined in millimeters or inches.
expression 1 X minimum
expression 2 X maximum
expression 3 Y minimum
expression 4 Y maximum
expression 5 Z minimum
expression 6 Z maximum
CNC 8055
CNC 8055i
·397·
Prog ramm in g man u a l
This single block treatment is kept active until it is cancelled by executing the mnemonic DSBLK.
In this way, should the program be executed in the SINGLE BLOCK operating mode, the group of
blocks which are found between the mnemonics ESBLK and DSBLK will be executed in a continuous
14. cycle, i.e., execution will not be stopped at the end of a block but will continue by executing the
following one.
Enable-disable instructions
PROGRAM CONTROL INSTRUCTIONS
It will remain disabled until it is enabled once again by means of the mnemonic ESTOP.
It will remain disabled until it is enabled once again by means of the mnemonic EFHOLD.
CNC 8055
CNC 8055i
·398·
P r o gr a m m i ng m a n u a l
The GOTO and RPT instructions cannot be used in programs that are executed from a PC connected
through the serial line.
( GOTO N(expression) )
The mnemonic GOTO causes a jump within the same program, to the block defined by the label
N(expression). The execution of the program will continue after the jump, from the indicated block.
The jump label can be addressed by means of a number or by any expression which results in a
number. 14.
G00 X0 Y0 Z0 T2 D4
The label P(expression) indicates the number of the program containing the blocks to be executed.
If not defined, the CNC interprets that the portion to be repeated is located in the same program.
All the labels can be indicated by means of a number or by any expression which results in a number.
The part of the program selected by means of the two labels must belong to the same program, by
first defining the initial block and then the final block.
The execution of the program will continue in the block following the one in which the mnemonic
RPT was programmed, once the selected part of the program has been executed.
N10 G00 X10
Z20
G01 X5
G00 Z0
N20 X0
N30 (RPT N10, N20) N3
N40 G01 X20
M30
When reaching block N30, the program will execute section N10-N20 three times.
Once this has been completed, the program will continue execution in block N40.
i Since the RPT instruction does not interrupt block preparation or tool compensation, it may be used
when using the EXEC instruction and while needing to maintain tool compensation active.
·399·
Prog ramm in g man u a l
Both <action1> and <action2> can be expressions or instructions, except for mnemonics IF and
SUB.
Due to the fact that in a high level block local parameters can be named by means of letters,
expressions of this type can be obtained:
(IF (E EQ 10) M10)
If the condition of parameter P5 (E) having a value of 10 is met, the miscellaneous function M10
will not be executed, since a high level block cannot have ISO code commands. In this case M10
represents the assignment of value 10 to parameter P12, i.e., one can program either:
CNC 8055
CNC 8055i
·400·
P r o gr a m m i ng m a n u a l
A subroutine is a part of a program which, being properly identified, can be called from any position
of a program to be executed.
A subroutine can be kept in the memory of the CNC as an independent part of a program and be
called one or several times, from different positions of a program or different programs.
Only subroutines stored in the CNC's RAM memory can be executed. Therefore, to execute a
subroutine stored in the hard disk (KeyCF) or in a PC connected through the serial line, copy it first
into the CNC's RAM memory.
If the subroutine is too large to be copied into RAM, it must be converted into a program and then
14.
the EXEC instruction must be used.
Subroutine instructions
PROGRAM CONTROL INSTRUCTIONS
(SUB integer)
The SUB instruction defines as subroutine the set of program blocks programmed next until reaching
the RET subroutine. The subroutine is identified with an integer which also defines the type of
subroutine; either general or OEM.
The OEM subroutines are treated like the general ones, but with the following restrictions:
• They can only be defined in OEM programs, having the [O] attribute. Otherwise, the CNC will
display the corresponding error.
Error 63: Program subroutine number 1 thru 9999.
• To execute an OEM subroutine using CALL, PCALL or MCALL, it must be inside an OEM
program. Otherwise, the CNC will display the corresponding error.
Error 1255: Subroutine restricted to an OEM program.
There can not be two subroutines with the same identification number in the CNC memory, even
when they belong to different programs.
( RET )
The mnemonic RET indicates that the subroutine which was defined by the mnemonic SUB, finishes
in this block.
(SUB 12) ; Definition of subroutine 12
G91 G01 XP0 F5000
YP1
X-P0
Y-P1
(RET) ; End of subroutine
CNC 8055
CNC 8055i
·401·
Prog ramm in g man u a l
( CALL (expression) )
The mnemonic CALL makes a call to the subroutine indicated by means of a number or by means
of any expression that results in a number.
As a subroutine may be called from a main program, or a subroutine, from this subroutine to a second
one, from the second to a third, etc..., the CNC limits these calls to a maximum of 15 nesting levels,
it being possible to repeat each of the levels 9999 times.
14.
Subroutine instructions
PROGRAM CONTROL INSTRUCTIONS
Programming example.
(SUB 10)
G91 G01 X20 F5000
(CALL 11) ; Drilling and threading
G91 G01 Y10
(CALL 11) ; Drilling and threading
G91 G01 X-20
(CALL 11) ; Drilling and threading
CNC 8055 G91 G01 Y-10
(CALL 11) ; Drilling and threading
CNC 8055i (RET)
(SUB 11)
G81 G98 G91 Z-8 I-22 F1000 S5000 T1 D1 ; Drilling canned cycle
·M· & ·EN· MODELS G84 Z-8 I-22 K15 F500 S2000 T2 D2 ; Threading canned cycle
SOFT: V02.2X G80
(RET)
·402·
P r o gr a m m i ng m a n u a l
In this case, in addition to generating a new subroutine nesting level, a new local parameter nesting
level will be generated, there being a maximum of 6 levels of local parameter nesting, within the 15
levels of subroutine nesting.
Both the main program and each subroutine that is found on a parameter nesting level, will have
14.
Subroutine instructions
PROGRAM CONTROL INSTRUCTIONS
26 local parameters (P0-P25).
Programming example.
·403·
Prog ramm in g man u a l
The execution of this mnemonic is the same as the mnemonic PCALL, but the call is modal, i.e.,
if another block with axis movement is programmed at the end of this block, after this movement,
the subroutine indicated will be executed and with the same call parameters.
If, when a modal subroutine is selected, a movement block with a number of repetitions is executed,
for example X10 N3, the CNC will execute the movement only once (X10) and after the modal
Should block repetitions be chosen, the first execution of the modal subroutine will be made with
updated call parameters, but not for the remaining times, which will be executed with the values
Subroutine instructions
PROGRAM CONTROL INSTRUCTIONS
If, when a subroutine is selected as modal, a block containing the MCALL mnemonic is executed,
the present subroutine will lose its modal quality and the new subroutine selected will be changed
to modal.
( MDOFF )
The MDOFF instruction indicates that the mode assumed by a subroutine with the MCALL
instruction or a part-program with MEXEC ends in that block.
Programming example.
(SUB 10)
G91 G01 XP0 F5000
(MCALL 11)
G91 G01 YP1
G91 G01 X-P0
CNC 8055 G91 G01 Y-P1
CNC 8055i (MDOFF)
(RET)
(SUB 11)
G81 G98 G91 Z-8 I-22 F1000 S5000 T1 D1
G84 Z-8 I-22 K15 F500 S2000 T2 D2
·M· & ·EN· MODELS G80
SOFT: V02.2X
(RET)
·404·
P r o gr a m m i ng m a n u a l
Subroutine calls are made using the CALL and PCALL instructions. In addition to using these
statements, it is also possible to make subroutine calls using specific G functions. This way, the calls
to subroutines are more similar to machine tool language.
Functions G180-G189 and G380-G399 can call the associated OEM and user subroutine as long
as they are global subroutines. G functions cannot be used to call local subroutines.
Up to 30 subroutines may be defined and associated with functions G180-G189 and G380-G399,
and it is also possible to initialize local parameters for each subroutine.
When executing one of these functions, its associated subroutine will be executed. 14.
Subroutine instructions
PROGRAM CONTROL INSTRUCTIONS
Functions G180-G189 and G380-G399 are not modal.
Programming format
Example:
G183 P1=12.3 P2=6
G187 A12.3 B45.3 P10=6
In either case, local parameter P18(S) would assume the established global parameter value P100.
Nesting levels
If the functions initialize local parameters, this instruction generates a new nesting level .
The maximum parameter nesting level is 6, within the 15 nesting level of the subroutines, just like
PCALL instructions.
All the G functions are identified through GGS* read-only variables . GGSH and GGSP read-only
variables are used to identify the new G functions via PLC; these variables return the status of the
G functions. CNC 8055
CNC 8055i
Executing a call
Each function G180-G189 and G380-G399, has its corresponding subroutine associated with it. ·M· & ·EN· MODELS
SOFT: V02.2X
Calling a G function means calling the subroutine of the same name.
·405·
Prog ramm in g man u a l
14.
PROGRAM CONTROL INSTRUCTIONS
Probe related instructions
CNC 8055
CNC 8055i
·406·
P r o gr a m m i ng m a n u a l
Whenever one of the general interruption logic input is activated, "INT1" (M5024), "INT2" (M5025),
"INT3" (M5026) or "INT4 (M5027), the CNC temporarily interrupts the execution of the program in
progress and starts executing the interruption subroutine whose number is indicated by the
corresponding general parameter.
With INT1 (M5024) the one indicated by machine parameter INT1SUB (P35)
With INT2 (M5025) the one indicated by machine parameter INT2SUB (P36)
With INT3 (M5026) the one indicated by machine parameter INT3SUB (P37)
With INT4 (M5027) the one indicated by machine parameter INT4SUB (P38) 14.
The interruption subroutines are defined like any other subroutine by using the instructions: "(SUB
These interruption subroutines do not change the nesting level of local parameters, thus only global
parameters must be used in them.
Within an interruption subroutine, it is possible to use the "(REPOS X, Y, Z, ...)" instruction described
next.
Once the execution of the subroutine is over, the CNC resumes the execution of the program which
was interrupted.
( REPOS X, Y, Z, ... )
The REPOS instruction must always be used inside an interruption subroutine and facilitates the
repositioning of the machine axes to the point of interruption.
When executing this instruction, the CNC moves the axes to the point where the program was
interrupted.
Inside the REPOS instruction, indicate the order the axes must move to the point where the program
was interrupted.
• The axes move one by one.
• It is not necessary to define all the axes, only those to be repositioned.
• The axes that make up the main plane of the machine move together. Both axes need not be
defined because the CNC moves the first one. The movement is not repeated when defining
the second one, it is ignored.
Example:
The main plane is formed by the X and Y axes, the Z axis is the longitudinal (perpendicular) axis
and the machine uses the C and W axes as auxiliary axes. It is desired to first move the C axis,
then the X and Y axes and finally the Z axis.
This repositioning move may be defined in any of the following ways:
(REPOS C, X, Y, Z)(REPOS C, X, Z)(REPOS C, Y, Z)
If the REPOS instruction is detected while executing a subroutine not activated by an interruption
input, the CNC will issue the corresponding error message.
CNC 8055
CNC 8055i
·407·
Prog ramm in g man u a l
By default, the CNC interprets that the part-program is in the CNC's RAM memory. If it is in another
device, it must be indicated in (directory).
HD in the Hard Disk (KeyCF).
DNC2 in a PC connected through the serial line.
DNCE in a PC connected through Ethernet.
The part-program may be defined with a number or with an expression whose result is a number.
By default, the CNC interprets that the part-program is in the CNC's RAM memory. If it is in another
device, it must be so indicated in (directory):
HD in the Hard Disk (KeyCF).
DNC2 in a PC connected through the serial line.
DNCE in a PC connected through Ethernet.
If while the modal part-program is selected, a motion block is executed with a number of repetitions
(for example X10 N3), the CNC ignores the number of repetitions and executes the movement and
the modal part-program only once.
If while a part-program is selected as modal, a block containing the MEXEC instruction is executed
from the main program, the current part-program stops being modal and the part-program called
upon with MEXEC will then become modal.
If within the modal part-program, an attempt is made to execute a block using the MEXEC instruction,
it will issue the relevant error message.
1064: The program cannot be executed.
( MDOFF )
The MDOFF instruction indicates that the mode assumed by a subroutine with the MCALL
instruction or a part-program with MEXEC ends in that block.
·408·
P r o gr a m m i ng m a n u a l
A program comment may also be associated with it; this comment will later be displayed next to it
in the program directory.
Notes:
If the program to be edited already exists and the A/D parameters are not defined, the CNC will
display an error message when executing the block. 14.
The program opened with the OPEN instruction is closed when executing an M30, or another
Program instructions
PROGRAM CONTROL INSTRUCTIONS
OPEN instruction and after an Emergency or Reset.
From a PC, only programs stored in the CNC'S RAM memory, or in the hard disk (KeyCF) can
be opened
When it is an ISO coded parametric block, all the parameters (global and local) are replaced by the
numeric value they have at the time.
(WRITE G1 XP100 YP101 F100) => G1 X10 Y20 F100
When it is a parametric block edited in high level, use the "?" character to indicate that the parameter
is supposed to be replaced by the numeric value it has at the time.
(WRITE (SUB P102)) => (SUB P102)
(WRITE (SUB ?P102)) => (SUB 55)
If the mnemonic WRITE is programmed without having programmed the mnemonic OPEN
previously, the CNC will display the corresponding error, except when editing a user customized
program, in which case a new block is added to the program being edited.
Using the character "$" in the WRITE instruction to write the number of a parameter:
While using the character "$" in the WRITE instruction, it will be possible to write the parameter
number directly. For that, use the "$" character followed by "P" as long is it is preceded by an axis.
For example, programming (WRITE X$P100) the result will be: XP100.
To show something in $, the value must be programmed after the $ sign. But, to take the value from
a parameter, put a space between the "$" sign and the parameter.
·409·
Prog ramm in g man u a l
| R = B cos (Q/2) |
14.
Program instructions
PROGRAM CONTROL INSTRUCTIONS
CNC 8055
CNC 8055i
·410·
P r o gr a m m i ng m a n u a l
Changing the kinematics requires modifying the general machine parameters associated with them
and validating them. The machine parameters may be modified from the OEM subroutines and then
the values validated using the INIPAR instruction.
An OEM program may have different subroutines that will set the machine parameters for each
kinematics. Then, the spindle change subroutine will call the subroutine with the parameters to be
activated and, then, will execute the INIPAR instruction.
( INIPAR )
This instruction validates the machine parameters modified from an OEM subroutine that defines
14.
To validate the machine parameters associated with a kinematics, G48 and G49 must NOT be active.
Otherwise, the CNC will display the corresponding error.
1074: INIPAR cannot be executed.
CNC 8055
CNC 8055i
·411·
Prog ramm in g man u a l
Customizing instructions may be used only when customizing programs made by the user.
These customizing programs must be stored in the CNC's RAM memory and they may utilize the
"Programming Instructions" and they will be executed in the special channel designed for this use;
the program selected in each case will be indicated in the following general machine parameters.
In "USERDPLY" the program to be executed in the Execution Mode will be indicated.
In "USEREDIT" the program to be executed in the Editing Mode will be indicated.
14. In "USERMAN" the program to be executed in the Manual (JOG) Mode will be indicated.
In "USERDIAG" the program to be executed in the Diagnosis Mode will be indicated.
Screen customizing instructions
PROGRAM CONTROL INSTRUCTIONS
The customizing programs may have up to five nesting levels besides their current one. Also, the
customizing instructions do not allow local parameters, nevertheless all global parameters may be
used to define them.
( PAGE (expression) )
The mnemonic PAGE displays the page number indicated by means of a number or by means of
any expression resulting in a number.
From V02.03 and following versions, the JPG/JPEG formats are supported. This way, if there is an
"n.jpg", "n.jpeg" or "n.pan", the screen will display this file. When having several files, the order of
priorities will be the following:
1. "n.jpg".
2. "n.jpeg".
3. "n.pan".
The format of the JPG/JPEG files must be a 3 digit number. For example "001.jpg" for page 1. The
size of the page must be 638x335.
User-defined pages will be from page 0 to page 255 and will be defined from the CNC keyboard
in the Graphic Editor mode and as indicated in the Operating Manual.
System pages will be defined by a number greater than 1000. See the corresponding appendix.
Its position on screen is also defined by expression 2 (column) and by expression 3 (row).
Expression 1, expression 2 and expression 3 may contain a number or any expression resulting in
a number.
From V02.03 and following versions, the PNG format is supported. This way, if there is an "n.png"
file, it will be displayed in the position indicated by the expressions 2 and 3. If it is missing, it will display
the "n.sim" file. The format of the PNG files must be a 3 digit number.
The CNC allows displaying any user-defined symbol (0-255) defined at the CNC keyboard in the
Graphic Editor mode such as is indicated in the Operating Manual.
In order to position it within the display area its pixels must be defined, 0-639 for columns (expression
2) and 0-335 for rows (expression 3).
·412·
P r o gr a m m i ng m a n u a l
The wait for data entry will only occur when programming the format of the requested data. This
format may have a sign, integer part and decimal part.
If it bears the "-" sign, it will allow positive and negative values, and if it does not have a sign,
it will only allow positive values.
The integer part indicates the maximum number of digits (0-6) desired to the left of the decimal
point.
The decimal part indicates the maximum number of digits (0-5) desired to the right of the decimal
point.
If the numerical format is not programmed; for example: (IB1 =INPUT "text"), the mnemonic will only
display the indicated text without waiting for the data to be entered. 14.
CNC 8055
CNC 8055i
·413·
Prog ramm in g man u a l
Each mnemonic has an associated number which is indicated by the value of expression 1 once
this has been evaluated.
Likewise, its position on screen is defined by expression 2 (row) and by expression 3 (column).
Expression 1, expression 2 and expression 3 may contain a number or any expression resulting in
14. a number.
The CNC allows 26 windows (0-25) to be defined and their positioning within the display area,
providing 21 rows (0-20) and 80 columns (0-79).
Screen customizing instructions
PROGRAM CONTROL INSTRUCTIONS
Expression 1, expression 2, expression 3, .... may contain a number or any expression which may
result in a number.
The CNC allows displaying the data in decimal, hexadecimal and binary format; the following
instructions are available:
(DW1 = 100)
Decimal format. Value "100" displayed in window 1.
(DWH2 = 100)
Hexadecimal format. Value "64" displayed in window 2.
(DWB3 = 100)
Binary format. Value "01100100" displayed in window 3.
When using the binary format, the display is limited to 8 digits in such a way that a value of
"11111111" will be displayed for values greater than 255 and the value of "10000000" for values
more negative than -127.
Besides, the CNC allows the number stored in one of the 26 data input variables (IB0-IB25) to be
displayed in the requested window.
The following example shows a request and later displays the axis feedrate:
(ODW 3, 4, 60)
; Defines data window 3.
(IB1=INPUT "Axis feed: ", 5.4)
; Axis feedrate request.
(DW3=IB1)
; Displays feedrate in window 3.
CNC 8055
(SK (expression 1) = "text1" (expression 2) = "text 2", .... )
CNC 8055i
The instruction SK defines and displays the new softkey menu indicated.
Each of the expressions will indicate the softkey number which it is required to modify (1-7, starting
from the left) and the texts which it is required to write in them.
·M· & ·EN· MODELS
SOFT: V02.2X Expression 1, expression 2, expression 3, .... may contain a number or any expression which may
result in a number.
·414·
P r o gr a m m i ng m a n u a l
Each text will allow a maximum of 20 characters that will be shown in two lines of 10 characters each.
If the text selected has less than 10 characters, the CNC will center it on the top line, but if it has
more than 10 characters the programmer will center it.
Examples:
(SK 1="HELP", SK 2="MAXIMUN POINT")
( WKEY )
The mnemonic WKEY stops execution of the program until the key is pressed.
CNC 8055
CNC 8055i
·415·
Prog ramm in g man u a l
• ( WBUF )
Enters into memory, adding to the program being edited and after the cursor position, the block
being edited by means of (WBUF "text", (expression)). It also clears the editing buffer in order
to edit a new block.
This allows the user to edit a complete program without having to quit the user editing mode after
each block and press ENTER to "enter" it into memory.
(WBUF "(PCALL 25, ")
; Adds "(PCALL 25, " to the block being edited.
(IB1=INPUT "Parameter A:",-5.4)
( SYSTEM )
The mnemonic SYSTEM stops execution of the user customized program and returns to the
corresponding standard menu of the CNC.
After selecting the Editing Mode and pressing the USER softkey, this program starts executing and
it allows assisted editing of 2 user cycles. This editing process is carried out a cycle at a time and
as often as desired.
Sets the softkeys to access the various modes and requests a choice
(SK 1="CYCLE 1",SK 2="CYCLE 2",SK 7="EXIT")
N5 (WKEY ) ; Request a key
(IF KEY EQ $FC00 GOTO N10) ; Cycle 1
(IF KEY EQ $FC01 GOTO N20) ; Cycle 2
(IF KEY EQ $FC06 SYSTEM ELSE GOTO N5) ; Quit or request a key
CNC 8055
CNC 8055i
·416·
P r o gr a m m i ng m a n u a l
CICLO 1
; Displays page 11 and defines 2 data entry windows
N10 (PAGE 11)
(ODW 1,10,60)
(ODW 2,15,60)
;Editing
(WBUF "( PCALL 1,") ; Adds "(PCALL 1," to the block being edited.
(GOTO N0)
CICLO 2
; Displays page 12 and defines 3 data entry windows
N20 (PAGE 12)
(ODW 1,10,60)
(ODW 2,13,60)
(ODW 3,16,60)
; Editing
(WBUF "( PCALL 2,") ; Adds "(PCALL 2," to the block being edited.
(GOTO N0)
CNC 8055
CNC 8055i
·417·
Prog ramm in g man u a l
14.
Screen customizing instructions
PROGRAM CONTROL INSTRUCTIONS
CNC 8055
CNC 8055i
·418·
COORDINATE TRANSFORMATION
15
The description of the general coordinate transformation is divided into three basic functions:
• Movement in an inclined plane (G49).
• Tool movement according to the tool coordinate system (G47).
• TCP transformation, Tool Center Point (G48).
For a better understanding of coordinate transformation, three machine coordinate systems will be
considered in the following examples.
• Machine coordinate system. X Y Z in the figures.
• Part coordinate system. X' Y' Z' in the figures.
• Tool coordinate system. X" Y" Z" in the figures.
When no transformation has been made and the spindle is in the starting position, the three
coordinate systems coincide. Figure on the left.
When turning the spindle, the tool coordinate system (X" Y" Z") changes. Figure on the right.
If, also, an inclined plane is selected (G49), the part coordinate system also changes (X', Y', Z').
Bottom figure.
CNC 8055
CNC 8055i
·419·
Prog ramm in g man u a l
Case –A–
No transformation has been done and the spindle is spinning.
If a Z axis movement is programmed (G01 Z), this axis will move according to the part coordinate
system which, in this case, coincides with machine coordinates.
15.
COORDINATE TRANSFORMATION
Now, to move the tool according to the tool coordinate system, function G47 must be used when
programming the movement of the Z axis (G01 G47 Z).
In this type of movements, when the tool coordinate system does not coincide with the machine
coordinate system, the CNC moves several axes in order to move the tool according to the part
coordinates. In the example, the X and Z axes move.
Function G47 is not modal and only affects the programmed movement.
In order for the jog movements, to be carried out according to the tool coordinate system, the CNC
general logic input "TOOLMOVE (M5021" must be activated at the PLC.
CNC 8055
CNC 8055i
·420·
P r o gr a m m i ng m a n u a l
Case –B–
An inclined plane has been selected (G49) and the spindle is
perpendicular to it.
If a Z axis movement is programmed (G01 Z), this axis will move according to the part coordinate
system.
15.
COORDINATE TRANSFORMATION
In this type of movements, when the part coordinate system does not coincide with the machine
coordinate system, the CNC moves several axes in order to move the tool according to the part
coordinates. In the example, the X and Z axes move.
To move the tool according to the machine coordinate system, function G53 (programming with
respect to home) must be used when programming the movement of the Z axis (G01 G53 Z).
Function G53 is not modal and only affects the programmed movement.
In order for the jog movements to be carried out according to the machine coordinate system, CNC
general logic input "MACHMOVE (M5012)" must be activated at the PLC.
CNC 8055
CNC 8055i
·421·
Prog ramm in g man u a l
Case –C–
An inclined plane has been selected (G49) and the spindle is not
perpendicular to it.
If a Z axis movement is programmed (G01 Z), this axis will move according to the part coordinate
system.
15.
COORDINATE TRANSFORMATION
In this type of movements, when the part coordinate system does not coincide with the machine
coordinate system, the CNC moves several axes in order to move the tool according to the part
coordinates. In the example, the X and Z axes move.
Now, to move the tool according to the tool coordinate system, function G47 must be used when
programming the movement of the Z axis (G01 G47 Z).
In this type of movements, when the tool coordinate system does not coincide with the machine
coordinate system, the CNC moves several axes in order to move the tool according to the part
coordinates. In the example, the X and Z axes move.
Function G47 is not modal and only affects the programmed movement.
In order for the jog movements, to be carried out according to the tool coordinate system, the CNC
general logic input "TOOLMOVE (M5021" must be activated at the PLC.
CNC 8055
CNC 8055i
·422·
P r o gr a m m i ng m a n u a l
To move the tool according to the machine coordinate system, function G53 (programming with
respect to home) must be used when programming the movement of the Z axis (G01 G53 Z).
15.
COORDINATE TRANSFORMATION
Function G53 is not modal and only affects the programmed movement.
In order for the jog movements to be carried out according to the machine coordinate system, CNC
general logic input "MACHMOVE (M5012)" must be activated at the PLC.
Case –D–
It is working with TCP, Tool Center Point
When working with TCP transformation, function G48 active, the CNC allows changing the tool
orientation without changing the position of its tool tip (part coordinates).
Obviously, the CNC must move several axes in order to maintain the tool tip position at all times.
CNC 8055
CNC 8055i
Function G48, as described later on, is modal and it indicates when the TCP transformation
becomes active and when it is canceled.
Function G48, TCP transformation, may be used together with function G49 (movement in the
inclined plane) and G47 (movement along the tool axes) ·M· & ·EN· MODELS
SOFT: V02.2X
·423·
Prog ramm in g man u a l
An inclined plane is any plane in space resulting from the coordinate transformation of the X, Y, Z
axes.
Any plane in space may be selected to carry out machining operations in it.
The coordinates are programmed as if it were a regular XY plane, but the program will be executed
in the indicated inclined plane.
15.
COORDINATE TRANSFORMATION
Movement in an inclined plane
From this moment on, the X, Y movements are carried out along the selected plane and those of
the Z axis will be perpendicular to it.
CNC 8055
CNC 8055i
·424·
P r o gr a m m i ng m a n u a l
With function G49, it is possible to define a coordinate transformation or, in other words, the inclined
plane resulting from that transformation. There are several ways to define G49.
G49 X Y Z A B C
Defines the inclined plane resulting from rotating around the X axis first and around the Z axis last
the amounts indicated in A, B, C respectively. 15.
COORDINATE TRANSFORMATION
Movement in an inclined plane
XYZ
ABC
The new coordinate system resulting from this transformation is called X Y' Z' because the Y, Z axes
have been rotated.
CNC 8055
CNC 8055i
·425·
Prog ramm in g man u a l
And last, rotate around the Z'' axis the amount indicated by C.
15.
COORDINATE TRANSFORMATION
Movement in an inclined plane
G49 X Y Z Q R S
Spherical coordinates. Defines the inclined plane resulting from rotating around the Z axis first, then
around the Y axis and again around the Z axis the amounts indicated by Q, R, S respectively.
XYZ
QRS
CNC 8055
CNC 8055i In the figure, the new coordinate system resulting from this transformation is called X' Y' Z because
the X, Y axes have been rotated.
·426·
P r o gr a m m i ng m a n u a l
15.
COORDINATE TRANSFORMATION
Movement in an inclined plane
In the figure, the new coordinate system resulting from this transformation is called X'' Y' Z' because
the X, Z axes have been rotated.
And last, rotate around the Z' axis the amount indicated by S.
G49 X Y Z I J K R S
Defines the inclined plane specifying the angles forming the new inclined plane with the X Y and
Z axes of the machine's coordinate system.
XYZ
IJK
They define the angles forming the new inclined plane with the X Y and Z axes of the machine's
coordinate system. Only two of these three angles are programmed. CNC 8055
CNC 8055i
·427·
Prog ramm in g man u a l
Defines which of the axes of the new Cartesian plane (X' Y' ) is aligned with the edge. If R0, the
X' axis is lined up and If R1, the Y' axis is lined up. If not programmed, a value of R0 is assumed.
15.
COORDINATE TRANSFORMATION
Movement in an inclined plane
G49 T X Y Z S
Is it a good idea to have a swivel or angled spindle (machine parameter "XFORM (P93) set to 2 or
3) when using this type of definition.
Indicates that one wishes to select a work plane perpendicular to the orientation of the tool.
XYZ
Lets rotate the coordinates around the new Z' corresponding to the new work plane.
CNC 8055
CNC 8055i
·428·
P r o gr a m m i ng m a n u a l
The new work plane will be perpendicular to the orientation of the tool.
The Z axis keeps the same orientation as the tool.
The orientation of the X, Y axes in the new work plane depends on the spindle type and on how
its rotary axes are oriented.
When setting the machine up, it must be set as the spindle's resting position, when the tool is parallel
to the Z axis of the machine.
Later, every time the spindle is rotated, the relative tool coordinates will also rotate.
15.
COORDINATE TRANSFORMATION
Movement in an inclined plane
On the two machines on the left, only the main rotary axis has rotated.
On the contrary, in the machine on the right, to achieve the same tool orientation, both the main and
secondary rotary axes have rotated.
If in the machine on the right, we wanted to orient the X', Y' axes like in the other two cases, we would
have to program the following:
G49 T XYZ S-90
Programming S-90 means rotating -90º around the new Z' corresponding to the new work plane and,
this way, compensate for the rotation of the main rotary axis.
CNC 8055
CNC 8055i
·429·
Prog ramm in g man u a l
For the function G49, inclined plane definition, the W parameter W has been added. This indicates
that it is an oscillating spindle and that it must be defined at the end: G49 ****** W.
G49 X Y Z A B C W G49 X Y Z Q R S W
G49 X Y Z I J K R S W G49 T X Y Z S W
The spindle orients to the new plane and later movements are carried out in X, Y, W.
To observe the graphics in the new plane, set general machine parameter GRAPHICS (P16)=1.
15. There are two choices to execute canned cycles in the inclined plane:
• After defining the plane (G49 **** W) select the W axis as longitudinal (G15W) so the movements
COORDINATE TRANSFORMATION
Movement in an inclined plane
CNC 8055
CNC 8055i
·430·
P r o gr a m m i ng m a n u a l
When defining a new inclined plane, the CNC provides the position that each rotary axis must occupy
to orient the tool perpendicular to the new plane.
That position is indicated in variables TOOROF and TOOROS and arithmetic parameters P297 and
P298.
Since there are two possible solutions on Huron type spindles (45º spindles), the L parameter has
been added to function G49, definition of inclined plane, that indicates which one of these two
solution is to be used. It is optional and it is defined at the end. G49 ****** L.
G49 X Y Z A B C L G49 X Y Z Q R S L 15.
G49 X Y Z I J K R S L G49 T X Y Z S L
COORDINATE TRANSFORMATION
Movement in an inclined plane
If "L" is not defined or it is defined as "L0", it provides the solution where the main rotation (articulation
closest to the ram or furthest away from the tool) is closer to 0º
If "L1" is defined, it provides the other solution (the articulation furthest away from the ram).
If "L" is programmed on the rest of the spindles, it issues the error "Option not available".
CNC 8055
CNC 8055i
·431·
Prog ramm in g man u a l
In order to work with coordinate transformation (G49), the X, Y, Z axes must be defined, they must
form the active trihedron and be linear. The X, Y and Z axes may have GANTRY axes, coupled or
When working with coordinate transformation and performing rigid tapping in inclined planes, all
COORDINATE TRANSFORMATION
Movement in an inclined plane
axes gains (not only for the Z axis) must be adjusted by using the second gains and accelerations.
The parameters associated with G49 are optional. When programming G49 without parameters,
the active coordinate transformation is canceled.
G49 is modal and no more G codes may be programmed alone in the block.
Coordinate transformation is kept active even after turning the CNC off and back on.
Zero offsets G54-G59, pattern rotation (G73) and presets (G92, G93) are possible while coordinate
transformation is active.
CNC 8055
CNC 8055i
·432·
P r o gr a m m i ng m a n u a l
COORDINATE TRANSFORMATION
Movement in an inclined plane
Values assigned to parameters I, J, K.
GTRATY
Every time G49 is programmed, the CNC updates the values of the parameters that have been
defined.
For example when programming G49 XYZ ABC, the CNC updates the variables ORGROX,
ORGROY, ORGROZ, ORGROA, ORGROB, ORGROC. The rest of variables keep their previous
values.
When having a swivel or angular spindle, general machine parameter XFORM (P93) with a value
of 2 or 3, the CNC shows the following data:
TOOROF
It indicates the position to be occupied by the spindle's main rotary axis in order to orient the spindle
perpendicular to the indicated inclined plane.
TOOROS
It indicates the position to be occupied by the spindle's secondary rotary axis in order to orient the
spindle perpendicular to the indicated inclined plane.
Accessing the variables TOOROF or TOOROS interrupts block preparation and the CNC waits for
that command to be executed before resuming block preparation.
CNC 8055
CNC 8055i
·433·
Prog ramm in g man u a l
Once G49 has been executed, the CNC updates global parameters P297 and P298:
P297 It indicates the position to be occupied by the spindle's main rotary axis in order to orient
the spindle perpendicular to the indicated inclined plane. It is the same value as shown
by the TOOROF variable.
P298 It indicates the position to be occupied by the spindle's secondary rotary axis in order
to orient the spindle perpendicular to the indicated inclined plane. It is the same value
as shown by the TOOROS variable.
15. These parameters are global. Therefore, they can be modified by the user or even by probing cycles
of the CNC itself.
COORDINATE TRANSFORMATION
Movement in an inclined plane
They should be used after executing G49. Otherwise, variables TOOROF and TOOROS should be
used.
CNC 8055
CNC 8055i
·434·
P r o gr a m m i ng m a n u a l
15.
COORDINATE TRANSFORMATION
Movement in an inclined plane
G49 X0 Y0 Z100 B-30 Defines the inclined plane.
G01 AP298 BP297 Orients the main axis (B) and the secondary axis (A) so the
tool is perpendicular to the plane.
The programming sequence is ABC, regardless of which one
is the main axis or the secondary.
G90 G01 Z5 Tool approach to the work plane.
G90 G01 X20 Y120 Positioning at the 1st point.
G?? Machining at the 1st point.
G91 G01 Y60 Positioning at the 2nd point.
G?? Machining at the 2nd point.
G91 G01 X100 Positioning at the 3rd point.
G?? Machining at the 3rd point.
G91 G01 Y-60 Positioning at the last point.
G?? Machining at the last point.
G90 G01 Z 20 Withdrawal the tool.
G49 Cancel the inclined plane.
CNC 8055
CNC 8055i
·435·
Prog ramm in g man u a l
When using this function, a swivel or angled spindle should be utilized (general machine parameter
"XFORM (P93)" set to 2 or 3).
When not using function G47, the tool moves according to the part coordinate system
In the example on the left, the part coordinates coincide with those of the machine and in
the example on the right, an inclined plane is active (G49).
15.
COORDINATE TRANSFORMATION
Movement according to the tool coordinate system (G47)
Now, to move the tool according to the tool coordinate system, function G47 must be used when
programming the movement of the Z axis (G01 G47 Z).
Function G47 is not modal and it only acts within the block (linear path) where it has been
programmed.
G47 can also be programmed while G48 and G49 are active.
CNC 8055
CNC 8055i
·436·
P r o gr a m m i ng m a n u a l
In order to use this feature, the spindle articulations must have encoders and they must be controlled
by the CNC.
When working with TCP transformation, Tool Center Point, the tool orientation may be modified
without changing the position of its tip (part coordinates).
Obviously, the spindle must be swivel or angled and general machine parameter "XFORM (P93)"
set to a value other than "0".
To orient the tool without changing its tip position, the CNC must move several axes of the machine.
15.
COORDINATE TRANSFORMATION
TCP Transformation (G48)
TCP transformation is activated and deactivated by function G48:
G48 S1 Turn TCP transformation on
G48 S0 Turn TCP transformation off
Once TCP transformation is active, spindle positioning may be combined with linear and circular
interpolations.
To orient the spindle, one must program the target angular position for the main rotary axis and for
the secondary axis of the spindle.
CNC 8055
CNC 8055i
·437·
Prog ramm in g man u a l
Example –A–
Circular interpolation keeping tool orientation fixed.
15.
COORDINATE TRANSFORMATION
TCP Transformation (G48)
• Block N20 selects the ZX plane (G18) and positions the tool at the starting point (30,90).
• Block N21 turns TCP transformation on.
• Block N22 positions the tool at (100,20) orienting it to -60º.
The CNC interpolates the XZB axes executing the programmed linear interpolation while rotating
the tool from the starting position (0º) to the programmed final orient position (-60º).
• Block N23 makes a circular interpolation to point (170,90) maintaining the same tool orientation
along the whole path.
• Block N24 positions the tool at (170,120) orienting it to 0º.
The CNC interpolates the XZB axes executing the programmed linear interpolation while rotating
the tool from the current position (-60º) to the programmed final orient position (0º).
• Block N25 turns TCP transformation off.
Example –B–
Circular interpolation with the tool perpendicular to the path.
CNC 8055
CNC 8055i
• Block N30 selects the ZX plane (G18) and positions the tool at the starting point (30,90).
• Block N31 turns TCP transformation on.
• Block N32 positions the tool at (100,20) orienting it to -90º.
·M· & ·EN· MODELS
SOFT: V02.2X The CNC interpolates the XZB axes executing the programmed linear interpolation while rotating
the tool from the starting position (0º) to the programmed final orient position (-90º).
·438·
P r o gr a m m i ng m a n u a l
• Block N33 defines a circular interpolation up to point (170,90) setting the final tool orientation
to (0º).
The CNC interpolates the XZB axes executing the programmed circular interpolation while
rotating the tool from the current position (-90º) to the programmed final orient position (0º).
Since both orientations are radial, the tool stays radially oriented at all times. In other words,
perpendicular to the path.
• Block N34 positions the tool at (170,120).
• Block N35 cancels the TCP transformation..
Example –C–
15.
COORDINATE TRANSFORMATION
TCP Transformation (G48)
Machining of a profile
CNC 8055
CNC 8055i
·439·
Prog ramm in g man u a l
In order to work with TCP transformation (G48), the X, Y, Z axes must be defined, they must form
the acive trihedron and be linear. The X, Y and Z axes may have GANTRY axes, coupled or
synchronized via PLC, associated with them.
15. When working with TCP transformation and performing rigid tapping in inclined planes, all axes
gains (not only for the Z axis) must be adjusted by using the second gains and accelerations.
COORDINATE TRANSFORMATION
TCP Transformation (G48)
TCP transformation is kept active even after turning the CNC off and back on.
To cancel TCP, program "G48 S0" or G48 without parameters. It is also canceled after a home search
(G74).
1. G48 off. The CNC shows the coordinates of the tool tip.
2. G48 is turned on. The CNC still shows the coordinates of the tool tip.
3. The tool is turned. Since G48 is already on, the CNC still shows the coordinates of the tool tip.
4. G48 is turned off. The CNC shows the coordinates of the theoretical tip (unturned tool).
CNC 8055
CNC 8055i
·440·
P r o gr a m m i ng m a n u a l
When working with inclined planes and TCP transformation, it is recommended to follow this
programming order (sequence):
G48 S1 Turn TCP transformation on.
G49 ... Define the inclined plane.
G01 AP298 BP297 Position the tool perpendicular to the plane.
G... Start machining.
... End of the machining operation.
G49
G48 S0
Cancel the inclined plane.
Turn TCP transformation off. 15.
M30 End of part program.
COORDINATE TRANSFORMATION
TCP Transformation (G48)
RTCP should be turned on first because it allows orienting the tool without modifying the tool tip
position, thus avoiding undesired collisions.
CNC 8055
CNC 8055i
·441·
Prog ramm in g man u a l
15.
COORDINATE TRANSFORMATION
TCP Transformation (G48)
CNC 8055
CNC 8055i
·442·
ANGULAR TRANSFORMATION OF
AN INCLINE AXIS
16
With the angular transformation of an incline axis, it is possible to make movements along an axis
that is not perpendicular to another. The movements are programmed in the Cartesian system and
to make the movements, they are transformed into movements on the real axes.
On certain machines, the axes are configured in a Cartesian way, they are not perpendicular to each
other. A typical case is the X axis of a lathe that for sturdiness reasons is not perpendicular to the
Z axis.
X
X' X Cartesian axis.
X' Angular axis.
Z Orthogonal axis.
The angular transformations are turned off via part-program using function G46. Optionally, a
transformation may be "frozen" (suspended) to move angular axis by programming in Cartesian
coordinates.
Influence of the reset, turning the CNC off and of the M30.
The angular transformation of an incline axis stays active after a RESET, M30 and even after turning
the CNC off and back on.
CNC 8055
CNC 8055i
·443·
Prog ramm in g man u a l
If the angular transformation is active, the coordinates displayed will be those of the Cartesian
system. Otherwise, it will display the coordinates of the real axes.
The following operations are not possible while the transformation is active:
• Movement until making contact (against a hard stop).
• Coordinate rotation.
• Surface feedrate in milling.
Function G46 is canceled when homing an axis that is involved in the angular transformation
(machine parameters ANGAXNA and ORTAXNA). When homing the axes that are not involved in
the angular axis transformation, function G46 stays active.
CNC 8055
CNC 8055i
·444·
P r o gr a m m i ng m a n u a l
When the transformation is on, the movements are programmed in the Cartesian system and to
make the movements, the CNC transforms them into movements on the real axes. The coordinates
displayed on the screen will be those of the Cartesian system.
The angular transformation is turned on using function G46 whose programming format is:
G46 S1
16.
If the transformation is off, the movements are programmed and executed in the system of the real
axes. The coordinates displayed on the screen will be those of the real axes.
The angular transformation is turned off using function G46 whose programming format is:
G46 S0
G46
The angular transformation of an incline axis stays active after a RESET, M30 and even after turning
the CNC off and back on.
CNC 8055
CNC 8055i
·445·
Prog ramm in g man u a l
Freezing the angular transformation is a special way to make movements along the angular axis,
but programming it in the Cartesian system. The angular transformation cannot be "frozen"
(suspended) while jogging.
The angular transformation is "frozen" (suspended) using function G46 whose programming format
is:
G46 S2
be programmed in the motion block. If the coordinate of the orthogonal axis is programmed, the
movement is carried out according to the normal angular transformation.
CNC 8055
CNC 8055i
·446·
P r o gr a m m i ng m a n u a l
APPENDIX
CNC 8055
CNC 8055i
SOFT: V02.2X
·447·
P r o gr a m m i ng m a n u a l
·449·
Prog ramm in g man u a l
A. G69
G70
*
* ?
*
*
Drilling canned cycle with variable peck
Programming in inches
9.6
3.3
ISO code programming
M means modal, i.e. the G function, once programmed, remains active until another incompatible
G function is programmed or until an M02, M30, EMERGENCY or RESET is executed or the CNC
is turned off and back on.
D means BY DEFAULT, i.e. they will be assumed by the CNC when it is powered on, after executing
M02, M30 or after EMERGENCY or RESET.
In those cases indicated by ?, it should be understood that the DEFAULT of these G functions
depends on the setting of the general machine parameters of the CNC.
CNC 8055
The letter V means that the G code is displayed next to the current machining conditions in the
CNC 8055i execution and simulation modes.
·450·
P r o gr a m m i ng m a n u a l
Display instructions.
( section 14.2 )
(MSG "message")
Displays the indicated message.
B.
( section 14.3 )
( section 14.4 )
( GOTO N(expression) )
It causes a jump within the same program, to the block defined by the label N(expression).
Subroutine instructions.
( section 14.5 )
(SUB integer)
Subroutine definition.
( RET )
End of subroutine.
( CALL (expression) )
Call to a subroutine.
·451·
Prog ramm in g man u a l
( section 14.6 )
Interruption-subroutine instructions.
( section 14.7 )
B. ( REPOS X, Y, Z, .... )
It must always be used inside an interruption subroutine and facilitates the repositioning of the machine axes to
Program control instructions
Program instructions.
( section 14.8 )
( section 14.9 )
( INIPAR )
Validates the machine parameters modified from the OEM subroutine that defines the kinematics.
( section 14.10 )
( PAGE (expression) )
The screen displays the indicated user page number (0-255) or system page (1000).
·452·
P r o gr a m m i ng m a n u a l
( section 14.10 )
( WBUF )
Enters the block being edited into memory. It can only be used in the screen customizing program to be executed
in the Editing mode.
( SYSTEM )
It ends the execution of the user screen customizing program and returns to the corresponding standard menu
of the CNC.
B.
CNC 8055
CNC 8055i
·453·
Prog ramm in g man u a l
B.
Program control instructions
CNC 8055
CNC 8055i
·454·
P r o gr a m m i ng m a n u a l
R
R Number of the active tool.
Number of active tool offset.
( section 13.2.2 )
C.
·455·
Prog ramm in g man u a l
C. MPSn
MPSSn
R
R
R
R
-
-
Value assigned to machine parameter (n) of the main spindle.
Value assigned to machine parameter (n) of the second spindle.
Summary of internal CNC variables.
·456·
P r o gr a m m i ng m a n u a l
Variable
Coordinate related variables.
CNC PLC DNC ( section 13.2.8 )
C.
Variables associated with the main spindle. ·M· & ·EN· MODELS
SOFT: V02.2X
Variable CNC PLC DNC ( section 13.2.11 )
SREAL R R R Real spindle speed.
FTEOS R R R Theoretical spindle speed.
·457·
Prog ramm in g man u a l
C. PRGSSO
DNCSSO
PLCSSO
R/W
R
R
R
R
R/W
R Override (%) selected by program.
R/W Override (%) selected via DNC.
R Override (%) selected via PLC.
Summary of internal CNC variables.
·458·
P r o gr a m m i ng m a n u a l
SRPOSS R R R
and from the CNC in degrees (within ±99999.9999).
Real spindle position.
C.
Reading from the PLC in ten-thousandths of a degree (between -3600000
Sercos variables.
Variable CNC PLC DNC ( section 13.2.16 ) CNC 8055
SETGE(X-C) W W - Gear ratio and parameter set of the (X-C) axis drive. CNC 8055i
SETGES W W - Gear ratio and parameter set of the main spindle.
SSETGS W W - Gear ratio and parameter set of the second spindle.
SVAR(X-C) id R/W - - Sercos variable sercos for the (X-C) axis "id".
SVARS id R/W - - Sercos variable sercos for the main spindle "id". ·M· & ·EN· MODELS
SOFT: V02.2X
SSVARS id R/W - - Sercos variable sercos for the second spindle "id".
TSVAR(X-C) id R - - Third attribute of the sercos variable for the (X-C) axis "id".
TSVARS id R - - Third attribute of the sercos variable for the main spindle "id".
TSSVAR id R - - Third attribute of the sercos variable for the second spindle "id".
·459·
Prog ramm in g man u a l
C. KEYIDE
MODEL
R
R
R
R
R
R
Keyboard code, according to the auto-identification system.
It identifies the CNC model, mill or lather.
Summary of internal CNC variables.
Other variables.
Variable CNC PLC DNC ( section 13.2.20 )
NBTOOL R - R Number of the tool being managed..
PRGN R R R Number of the program in execution.
BLKN R R R Label number of the last executed block.
GSn R - - Status of the indicated G function (n).
GGSA - R R Status of functions G00 thru G24.
GGSB - R R Status of functions G25 thru G49.
GGSC - R R Status of functions G50 thru G74.
GGSD - R R Status of functions G75 thru G99.
GGSE - R R Status of functions G100 thru G124.
GGSF - R R Status of functions G125 thru G149.
GGSG - R R Status of functions G150 thru G174.
GGSH - R R Status of functions G175 thru G199.
GGSI - R R Status of functions G200 thru G224.
GGSJ - R R Status of functions G225 thru G249.
CNC 8055 GGSK - R R Status of functions G250 thru G274.
CNC 8055i GGSL - R R Status of functions G275 thru G299.
GGSM - R R Status of functions G300 through G324.
GGSN - R R Status of functions G325 thru G349.
GGSO - R R Status of functions G350 thru G374.
·M· & ·EN· MODELS GGSP - R R Status of functions G375 thru G399.
SOFT: V02.2X
GGSQ - R R Status of functions G400 thru G424.
MSn R - - Status of the indicated M function (n)
GMS - - R Status of M functions: M (0..6, 8, 9, 19, 30, 41..44).
PLANE R R R Abscissa and ordinate axes of the active plane.
·460·
P r o gr a m m i ng m a n u a l
The "KEY" variable can be "written" at the CNC only via the user channel.
The "NBTOOL" variable can only be used within the tool change subroutine. ·M· & ·EN· MODELS
SOFT: V02.2X
·461·
Prog ramm in g man u a l
C.
Summary of internal CNC variables.
CNC 8055
CNC 8055i
·462·
P r o gr a m m i ng m a n u a l
KEY CODE
D.
Key code
CNC 8055
CNC 8055i
·463·
Prog ramm in g man u a l
D.
Key code
CNC 8055
CNC 8055i
·464·
P r o gr a m m i ng m a n u a l
D.
Key code
CNC 8055
CNC 8055i
·465·
Prog ramm in g man u a l
MC operator panel
D.
Key code
CNC 8055
CNC 8055i
·466·
P r o gr a m m i ng m a n u a l
D.
Key code
CNC 8055
CNC 8055i
·467·
Prog ramm in g man u a l
D.
Key code
CNC 8055
CNC 8055i
·468·
P r o gr a m m i ng m a n u a l
D.
Key code
CNC 8055
CNC 8055i
·469·
Prog ramm in g man u a l
Alphanumeric keyboard
D.
Key code
CNC 8055
CNC 8055i
·470·
P r o gr a m m i ng m a n u a l
D.
Key code
CNC 8055
CNC 8055i
·471·
Prog ramm in g man u a l
D.
Key code
CNC 8055
CNC 8055i
·472·
P r o gr a m m i ng m a n u a l
These screens (pages) may be displayed using the high level instruction “PAGE”. They all belong
to the CNC system and are used as help screens of the corresponding functions.
·473·
Prog ramm in g man u a l
E. Page 1039
Page 1040
Circular tangent path: G08 (part 1).
Circular tangent path: G08 (part 2).
Programming assistance screens of the system.
CNC 8055
CNC 8055i
·474·
P r o gr a m m i ng m a n u a l
CNC 8055
CNC 8055i
·475·
Prog ramm in g man u a l
E. Page 1076
Page 1077
Irregular pocket canned cycle: G66.
Irregular-pocket roughing: G67.
Programming assistance screens of the system.
CNC 8055
CNC 8055i
·476·
P r o gr a m m i ng m a n u a l
MAINTENANCE
Cleaning
The accumulated dirt inside the unit may act as a screen preventing the proper dissipation of the
heat generated by the internal circuitry which could result in a harmful overheating of the CNC and,
consequently, possible malfunctions.
On the other hand, accumulated dirt can sometimes act as an electrical conductor and short-circuit
the internal circuitry, especially under high humidity conditions. F.
To clean the operator panel and the monitor, a smooth cloth should be used which has been dipped
Maintenance
into de-ionized water and /or non abrasive dish-washer soap (liquid, never powder) or 75º alcohol.
Never use air compressed at high pressure to clean the unit because it could cause the accumulation
of electrostatic charges that could result in electrostatic shocks.
Fagor Automation shall not be held responsible for any material or physical damage derived from the
violation of these basic safety requirements.
To check the fuses, first unplug the unit from mains If the CNC does not turn on when flipping the power
switch, check that the fuses are the right ones and they are in good condition.
Avoid solvents. The action of solvents such as chlorine hydrocarbons, benzole, esters and ether may
damage the plastics used to make the front panel of the unit.
Do not manipulate the inside of the unit. Only personnel authorized by Fagor Automation may access
the interior of this unit.
Do not handle the connectors with the unit connected to AC power. Before handling these connectors
(I/O, feedback, etc.), make sure that the unit is not connected to main AC power.
CNC 8055
CNC 8055i
·477·
Prog ramm in g man u a l
F.
Maintenance
CNC 8055
CNC 8055i
·478·
P r o gr a m m i ng m a n u a l
F.
CNC 8055
CNC 8055i
SOFT: V02.2X
·479·
Prog ramm in g man u a l
F.
CNC 8055
CNC 8055i
SOFT: V02.2X
·480·
FAGOR AUTOMATION