This manual is a translation of the original manual. This manual, as well as the
documents derived from it, have been drafted in Spanish. In the event of any
contradictions between the document in Sp anish and its translations, the wording
in the Spanish version shall prevail. The original manual will be labeled with the
text "ORIGINAL MANUAL".
BLANK PAGE
MACHINE SAFETY
It is up to the machine manufacturer to make sure that the safety of the machine
is enabled in order to prevent personal injury and damage to the CNC or to the
products connected to it. On start-up and while validating CNC parameters, it
checks the status of the following safety elements. If any of them is disabled, the
CNC shows the following warning message.
• Feedback alarm for analog axes.
• Software limits for analog and sercos linear axes.
• Following error monitoring for analog and sercos axes (except the spind le)
both at the CNC and at the drives.
• Tendency test on analog axes.
FAGOR AUTOMA TION sh all not be held responsible for any persona l injuries or
physical damage caused or suffered by the CNC resulting from any of the safet y
elements being disabled.
HARDWARE EXPANSIONS
FAGOR AUTOMA TION sh all not be held responsible for any persona l injuries or
physical damage caused or suffered by the CNC resulting from any hardware
manipulation by personnel unauthorized by Fagor Automation.
If the CNC hardware is modified by personnel unauthorized by Fagor
Automation, it will no longer be under warranty.
COMPUTER VIRUSES
FAGOR AUTOMATION guarantees that the software installed contains no
computer viruses. It is up to the user to keep the unit virus free in ord er to
guarantee its proper operation. Computer viruses at the CNC may cause it to
malfunction.
FAGOR AUTOMA TION sh all not be held responsible for any persona l injuries or
physical damage caused or suffered by the CNC due a computer virus in the
system.
If a computer virus is found in the system, the unit will no longer be under warranty .
All rights reserved. No part of this documentation may be transmitted,
transcribed, stored in a backup device or translated into another language
without Fagor Automation’s consent. Unauthorized copying or dist ributing of this
software is prohibited.
The information described in this manual may be subject to changes due to
technical modifications. Fagor Automation reserves the right to change the
contents of this manual without prior notice.
All the trade marks appearing in the manual belon g to the corresponding owners.
The use of these marks by third parties for their own purpose could violate the
rights of the owners.
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
damage caused or suffered by the CNC if it is used in any way other th an as
explained in the related documentation.
The content of this manual and its validit y for the product described here has been
verified. Even so, involuntary errors are possible, hence no absolute match is
guaranteed. However, the co ntents of this docume nt are regularly checked and
updated implementing the necessary corrections in a later edit ion. We appreciate
your suggestions for improvement.
The examples described in this manual are for learning purposes. Before using
them in industrial applications, they must be properly adapted making su re that
the safety regulations are fully met.
·2·
Page 3
Programming manual.
INDEX
About the product - CNC 8070 ..................................................................................................... 9
Declaration of CE conformity and warranty conditions............................................................... 13
Version history - CNC 8070........................................................................................................ 15
Number of axes.3 to 73 to 313 to 31
Number of spindles.11 to 61 to 6
Number of tool magazines.11 to 41 to 4
Number of execution channels.11 to 41 to 4
Number of interpolated axes (maximum).43 to 313 to 31
Number of handwheels.1 to 12
Type of servo system.Analog / Digital Sercos
Digital Mechatrolink
Communications.RS485 / RS422 / RS232
Ethernet
PCI expansion.NoOptionNo
Integrated PLC.
PLC execution time.
Digital inputs / Digital outputs.
Marks / Registers.
Timers / Counters.
Symbols.
Block processing time.< 1 ms< 1 ms
< 1ms/K
1024 / 1024
8192 / 1024
512 / 256
Unlimited
Analog
Sercos Digital
Remote modules.RIOWRIO5RIO70RIORRCS-S
Valid for CNC.8070
8065
8060
Communication with the remote modules.CANopenCANopenCANfagorCANopenSercos
Digital inputs per module.824 / 481648- - Digital outputs per module.816 / 321632- - Analog inputs per module.448- - -- - Analog outputs per module.444- - -4
Inputs for PT100 temperature sensors.22- - -- - -- - Feedback inputs.- - -- - -4 (*)- - -4 (**)
INI configuration files.
Tool for display configuration FGUIM.
Visual Basic®, Visual C++®, etc.
Internal databases in Microsoft® Access.
OPC compatible interface
CNC 8070
(REF: 1709)
·9·
Page 10
Programming manual.
SOFTWARE OPTIONS.
Some of the features described in this manual are dependent on the acquired software options. The active
software options for the CNC can be consulted in the diagnostics mode (accessible from the task window
by pressing [CTRL] [A]), under software options.
CNC 8070
(REF: 1709)
Consult the ordering handbook for information on the software options available for your model.
SOFT ADDIT AXES
Additional shaft.
Add axes to the default configuration.
SOFT ADDIT SPINDLES
Additional spindle.
Add spindles to the default configuration.
SOFT ADDIT TOOL MAGAZ
Additional tool magazine.
Add tool magazines to the default configuration.
SOFT ADDIT CHANNELS
Additional channel.
Add channels to the default configuration.
SOFT 4 AXES INTERPOLATION LIMIT
Limited to 4 interpolated axes.
It limits the number of axes to 4, where the CNC can also
interpolate these at the same time.
SOFT OPEN SYSTEM
Open system.
The CNC is a closed system that offers all the features
needed to machine parts. Nevertheless, at times there are
some customers who use third-party applications to take
measurements, perform statistics or other tasks apart
from machining a part.
This feature must be active w hen installing thi s type of
application, even if they are Office file s. Once the
application has been installed, it is recommended to close
the CNC in order to prevent the operators from installing
other kinds of applications that could slow the system
down and affect the machining operations.
SOFT DIGITAL SERCOS
Sercos digital bus.
Sercos digital bus.
SOFT DIGIT NO FAGOR
Non-Fagor digital servo system.
Mechatrolink digital bus.
SOFT EDIT/SIMUL
EDISIMU mode (editing and simulation).
It allows for the editing, modification and simulation of a
part-program.
SOFT IEC 61131 LANGUAGE
IEC 61131 language
IEC 61131 is a PLC programming language that is very
popular in alternative markets, which is slowly entering
into the machine-tool market. With this feature, the PLC
may be programmed either in the usual Fagor language
or in IEC 61131 format.
SOFT TOOL RADIUS COMP
Compensación de radio.
T ool compensation allows programming the contour to be
machined based on part dimensions of the and without
taking into account the dimensions of the tool that will be
used later on. This avoids having to calculate and define
the tool path based on the tool radius.
SOFT PROFILE EDITOR
Profile editor.
Allows for the part profiles to be edited graphically and to
import dxf files.
·10·
Page 11
Programming manual.
SOFT RTCP
Dynamic RTCP (Rotating Tool Center Point).
The dynamic RTCP option is required for interpolation
machining with 4, 5 or 6 axis.
SOFT C AXIS
C axis.
It activates the kinematics for working with the C axis and
the associated canned cycles. The CNC can control
several C axes. The parameters of each axis indicate if it
will function as a C axis or not, where it will not be
necessary to activate another axis for the machine
parameters.
SOFT TANDEM AXES
Tandem axes.
A tandem axis consists in two motors mechanically
coupled (slaved) and making up a single transmission
system (axis or spindle). A tandem axis helps provide the
necessary torque to move an axis when a single motor is
not capable of supplying enough torque to do it.
When activating this feature, it should be kept in mind that
for each tandem axis of the machine, another axis must be
added to the entire configuration. For example, on a large
3-axis lathe (X Z and tailstock), if the tailstock is a tandem
axis, the final purchase order for the machine must
indicate 4 axes.
SOFT SYNCHRONISM
Synchronization of axes and spindles.
The axes and ballscrews may be synchronized in two
ways: in terms of speed or position. The CNC
configuration takes into consideration the synchronization
of 2 axes or 2 spindles. Once synchronized, only the
master displays and programs the element.
SOFT HSSA II MACHINING SYSTEM
HSSA-II machining system.
This is the new version of algorithms for high speed
machining (HSC). This new HSSA algorithm allows for
high speed machining optimization, where higher cutting
speeds, smoother contours, a better surface finishing and
greater precision are achieved.
SOFT TANGENTIAL CONTROL
Tangential control.
"T angential Control" maintains a rotary axis always in the
same orientation with respect to the programmed tool
path. The machining path is defined on the axes of the
active plane and the CNC maintains the orientation of the
rotary axis along the entire tool path.
SOFT DRILL CYCL OL
Drilling ISO cycles for the OL model.
Drilling ISO cycles for the OL model (G80, G81, G82,
G83).
SOFT PROBE
Probing canned cycles.
The CNC may have two probes; usually a tabletop probe
to calibrate tools and a measuring probe to measure the
part.
This option activates the functions G100, G103 and G104
(for probe movements); probe canned cycles are not
included.
SOFT THIRD PARTY CANOPEN
Third-party CANopen.
Enables the use of non-Fagor CANopen modules.
SOFT FVC UP TO 10m3
SOFT FVC MORE TO 10m3
Medium and large volumetric compensation.
5-axis machines are generally used during the
manufacturing of large parts. The accuracy of the parts is
limited by the machine manufacturing tolerances and is
effected by temperature variations during machining.
In sectors such as the aerospace industry, machining
demands mean that classic compensation tools are
becoming suboptimal. Volumetric compensation FVC
comes in to complement the machine adjusting tools.
When mapping the total work volume of the machine, the
CNC knows the exact position of the tool at all times. After
applying the required compensation, the resulting part is
made with the desired precision and tolerance.
There are 2 choices, which depend on the size of the
machine, being up to 10 m³ and over 10 m³.
SOFT 60 PWM CONTROL
Pulse-Width Modulation.
This function is only available for Sercos bus controlled
systems. It is mostly oriented toward laser machines for
the cutting of very thick sheets, where the CNC generates
a series of PWM pulses to control the power of the laser
when drilling the starting point.
This feature is essential for cutting very thick sheets and
it requires two quick digital outputs located on the central
unit. With this new feature, the OEM does not need to
install or program any external device, which reduces
machine costs and installation times. The end user also
benefits, since the “Cutting with PWM ” feature is much
easier to use and program.
SOFT 60 GAP CONTROL
Gap control.
This is mostly oriented toward laser machines. Gap
control makes it possible to maintain a set distance
between the laser nozzle and the surface of the sheet. This
distance is calculated by a sensor connected to the CNC,
so that the CNC offsets the sensor variations on the
distance programmed with additional movements in the
axis programmed for the gap.
CNC 8070
(REF: 1709)
·11·
Page 12
BLANK PAGE
·12·
Page 13
Programming manual.
DECLARATION OF CE 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. 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 FA GOR’s corporate website.
http://www.fagorautomation.com. (Type of file: General sales-warranty conditions.
CNC 8070
(REF: 1709)
·13·
Page 14
BLANK PAGE
·14·
Page 15
Programming manual.
VERSION HISTORY - CNC 8070
Here is a list of the features added to each manual reference.
Ref. 0201
Software V01.00
First version. Milling model.
Ref. 0212
Software V01.10
New repositioning feedrate after tool inspection.• Machine parameter: REPOSFEED.
New treatment of the JOG keys. Different keys to select the axis and the
direction.
Know the dimensions of the kinematics on an axis. • Variable: (V.)A.HEADOF.xn
Keyboard simulation from the PLC.• Variable: (V.)G.KEY
General scaling factor.• Instruction: #SCALE.
Probe selection.• Instruction: #SELECT PROBE.
Probing canned cycles.• Instruction: #PROBE.
Programming of warnings.• Instruction: #WARNING.
Block repetition.• Instruction: #RPT.
Know the active general scaling factor.• Variable: (V.)G.SCALE
Knowing which is the active probe.• Variable: (V.)G.ACTIVPROBE
Improved programming of high speed machining.• Instruction: #HSC.
Improved programming of axis swapping.• Instructions: #SET
The number of macros in a program is now limited to 50.• Macros.
• Machine parameter: JOGKEYDEF.
#CALL
#FREE
#RENAME
Ref. 0501
Software V02.01
Windows XP operating system.
Emergency shutdown with battery (central unit PC104).
Multi-channel system, up to 4 channels. Swapping of axes and spindles,
communication and synchronization between channels, common arithmetic
parameters, access variables by channel, etc.
Multi-spindle system, up to 4 spindles.
Tool management with up to 4 magazines.
Tool radius compensation mode (G136/G137) by default• Machine parameter: IRCOMP.
New behavior for rotary axes.
The "(V .)TM.MZWAIT " variable is not n ecessary in the subroutine associated
with M06.
Know the software version.• Variable: (V.)G.SOFTWARE
Variables related to loop adjustment. Gain setting via PLC.• Variables: (V.)A.PLCFFGAIN.xn
Variables relat ed to loop adjustment. Position increment an d sampling period.• Variables: (V. )A.POSINC.xn
Variables rel ated to loop adjustment. Fine adjustment of feedrate, acceleration
and jerk.
Variables related to the feedback inputs.• Variables:
Optimize the reading and writing of variables from the PLC. Only the acce ss
to the following variables will be asynchronous.
• The tool variables will be read asynchronously when the tool is neither the
active one nor in the magazine.
• The tool variables will be written asynchronously whether the tool is the
active one or not.
• The variables referred to local arithmetic p arameters of the active levels
will be read and written asynchronously.
Spindle parking and unparking.• Instructions: #PARK
Tool radius compensation.
• Behavior of the beginning and end of tool radius compensation when not
programming a movement.
• Changing the type of radius compensation while machining.
Via program, loading a tool in a specific magazine position.
Programming of modal subroutines.• Instruction: #MCALL.
Executing a block in a channel.• Instruction: #EXBLK.
Programming the number of repetitions in the block.• NR command.
• Reading and writing of variables from the PLC.
#UNPARK
Ref. 0504
Software V02.03
Electronic cam programming (real coordinates).• Instruction: #CAM.
Synchronization of independent axis (real coordinates).• Instruction: #FOLLOW.
Movement of the independent axis.• Instruction: #MOVE.
G31. Temporary polar origin shift to the center of interpolation.• Function G31.
G112. Change the drive's parameter set.• Function G112.
CNC 8070
Ref. 0509
Software V03.00
Lathe model. Machining canned cycles, lathe tool calibration, variables to
consult the geometry of lathe tools, etc.
Incline axis.
Permit using the G95 function in jog mode.• Machine parameter: FPRMAN.
"C" axis maintained.• Machine parameter: PERCAX.
Magazine-less system.
Ground tools for a turret magazine.
Variable to read the accumulated PLC offset.• Variable: (V.)A.ACTPLCOF.xn
Variable to obtain a linear estimation of the following error.• Variable: (V.)A.FLWEST.xn
Variables to read the instant value of feed-forward or AC-forward.• Variables: (V.)A.ACTFFW.xn
Variable to know the line nu mber of the file being executed.• Variable: (V.)G.LINEN
Variable to know what kin d of cycle is active.• Variable: (V.)G.CYCLETYPEON
Variable to know the tool orientation.• Variable: (V.)G.TOOLDIR
Variable to know whether the HSC mode is active or not .• Variable: (V.)G.HSC
Variable to know the theoretical feedrate on 3D path.• Variable: (V.)G.F3D
Variable to know the number of the warning being displayed.• Variable: (V.)G.CNCWARNING
The variable (V.)G.CNCERR is now per channel.• Variable: (V.)G.CNCERR
Select the type of loop, open or closed, for the spindle.• Instruction: #SERVO.
Spindle synchronization.• Instruction: #SYNC.
Spindle synchronization.• Instruction: #TSYNC.
Spindle synchronization.• Instruction: #UNSYNC.
Select milling cycles at a lathe model.• Instruction: #MILLCY.
Select turning cycles at a milling model.• Instruction: #LATHECY.
Define a kinematics when activating the C axis.• #CYL instruction.
Define a kinematics when activating the C axis.• #FACE instruction.
Improved coordinate transformation (#CS/#ACS).
• Keep the part zero when deactivating the transformation.
• Working with 45º spindles. Select between the two choices.
• Keep the rotation of the plane axes with MODE 6.
G33. New parameter (Q1) to define the entry angle.• Function G33.
G63. Tool inspection is possible during rigid tapping.• Function G63.
Function G112 is not valid for the spindle.• Function G112.
New criteria when assuming a new master spindle in the channel.
(V.)A.ACTACF.xn
• Instructions #CS
#ACS.
(REF: 1709)
·16·
Ref. 0601
Software V03.01
Axis slaving. Configuring the default status of an axis slaving (coupling).• Machine parameters: LINKCANCEL.
Tool radius compensation. The way tool radius is canceled.• Machine parameters: COMPCANCEL.
Using the ":" character to program a comment in a part-program.
Variables. Geometry of the lathe tools.
Variables. Number of t he tool in the claws of the changer arm.• Variables: (V.)TM.TOOLCH1[mz]
(V.)TM.TOOLCH2[mz]
Page 17
Programming manual.
Software V03.01
The instruction #EXEC does not issue an error if the channel is busy; the
instruction waits for the operation in progress to end.
The instruction #EXBLK does not issue an error if the channel is busy; the
instruction waits for the operation in progress to end.
• #EXEC instruction.
• #EXBLK instruction.
Ref. 0606
Software V03.10
Feedrate. Maximum machining feedrate. • Machine parameter: MAXFEED.
Feedrate. Default machining feedrate when none has been programmed. • Machine parameter: DEFAULTFEED.
The CNC allows changing the spindle override during electronic threading
(G33) and in the threading canned cycles of the · T· model (G86, G87 and their
equivalent of the cycle editor).
"Retrace" function.
Tangential control.
The CNC checks whether the programmed turning direction (M3/M4) matches
the one preset in the tool table.
M02/M30. There is no need to program M02 or M30 to end a part program.• Functions M02/M30.
Canceling the preset turning direction of a tool.• Variables: (V.)G.SPDLTURDIR
Change the maximum feedrate allowed in the channel from the PLC.• Variables: (V.)PLC.PLCG00FEED
Show the status of the emergency relay.• Variables: (V.)G.ERELAYST
HSC. New FAST mode.• #HSC instruction.
C axis. The #CYL instruction requires programming the radius.• #CYL instruction.
• Machine parameters:
THREADOVR, OVRFILTER.
Ref. 0608
Software V03.11
"Retrace" function. Several improvements to the retrace functio n.
HSC. New command CORNER.• #HSC instruction.
G33. The override limitation is maint ained while returning to the b eginning of
the thread.
RTCP . Home search is now possible on the axes that are not involved in R TCP .
Abort the execution of the program and resume it somewhere else.• Instruction: #ABORT.
• Function G33.
Ref. 0704 / Ref. 0706
Software V03.13
Define the tool wear with incremental or absolute values.
Variables (V .)TM.TOOLCH1[mz] / (V .)TM.TOOLCH2[mz] may be written from
the PLC.
Software V03.14
MCU and ICU central unit. battery powered RAM. Connecting handwheels to
the central unit. local I/O. Local feedback inputs. Loca probes.
The turning speed limitation (G192) is also applied when the spindle is working
at constant turning speed (G97)
Know the type of hardware.• Variable: (V.)G.HARDTYPE
Theoretical tool feedrate along the path• Variable: (V.)G.PATHFEED
Zero offsets for the C axis.
The CNC shows a warning when a channel is expecting a tool that is being
used in another channel.
Ref. 0709
Software V03.16
Tandem spindles.
The CNC does not assume any kinematics on power-up.
The CNC allows modifying the override while threading if it detects that the
feed forward (parameter FFWTYPE) is not active in a gear or if the active feed
forward is lower than 90%
CNC 8070
Ref. 0712
Software V03.17
C axis maintained after executing M02, M30 or af t er a n emergency or re se t.• Machine parameter: PERCAX.
(REF: 1709)
·17·
Page 18
Programming manual.
Ref. 0801
Software V03.20
Set change. The CNC lets change the gear of the slave axis or spindle of a
tandem.
Coordinate latching with the help of a probe or a digital input.• Variables: (V.)A.LATCH1.xn
Status of the local probes.• Variables: (V.)G.PRBST1 (V.)G.PRBST2.
Axis synchronization. Managing a rotary axis as an infini te axis making it
possible to increase the feedback count of the axis indefinitely (wihout limits)
regardless of the value of the module.
Show a warning and interrupt program execution.• Instruction: #W ARNINGSTOP.
Electronic cam programming (theoretical coordinates).• Instruction: #TCAM.
Dynamic distribution of the machining operations between channels.• Instruction: #DINDIST.
The CNC can park the main axes.
The axes may be programmed using the "?" wild card that refers to the axis
position in the channel.
Functions G130 (percentage of acceleration) and G132 (percentage of jerk)
may be applied to the spindles.
Interface related variables.
(V.)A.LATCH2.xn
• Variables: (V.)A.ACCUDIST.xn
• Wild card "?".
• Functions G130 and G132.
Ref. 0809
Software V04.00 (it does not include the features of version V03.21)
Unicode.
Cancel spindle synchronization after executing M02, M30 or after an error or
a reset.
Positioning a turret magazine whether there is a tool in the indicated position
or not.
A channel maintains its master spindle a fter executing M02, M30 or after an
emergency or a reset or restarting the CNC.
Force the change of gears and/or of the parameter set of a Sercos drive• Variable: (V.)A.SETGE.xn
Set a machine coordinate.• Function G174.
There can now be up to 99 zero offsets.• Function G159.
There can now be up to 100 synchronization marks.• Instructions #MEET, #WAIT and #SIGNAL.
Select a turret position.• #ROTATEMZ instructions.
Axis synchronization. Managing a rotary axis as an infini te axis making it
possible to increase the feedback count of the axis indefinitely (wihout limits)
regardless of the value of the module.
Variables. The va riable (V .)E.PROGSELECT can be written via part-progra m,
PLC and interface. This variable can only be written with the value of ·0·
Variables. The followin g variables are valid for the spindle.• Variables: (V.)A.MEAS.sn
Handwheels. Number of pulses sent by the handwheel since the system was
started up.
Software V03.21 (features not included in version V04.00)
There can now be up to 1024 PLC messages.• PLC resources: MSG.
There can now be up to 1024 PLC errors.• PLC resources: ERR.
Ref. 0907
Software V04.01
Define the maximum acceleration and jerk allowed on the tool path.• Variables: (V.)G.MAXACCEL
Variable to know the following error (lag) when feedback combination is active.• Variables: (V.)A.FL WE.xn
Variable to know the position value of the first feedback when feedback
combination is active.
(V.)G.MAXJERK
(V.)A.FLWACT.xn
• Variable: (V.)A.POSMOTOR.xn
Ref. 1007
Software V04.10 (it does not include the features of version V04.02)
New languages (Russian and Czech).• Machine parameter: LANGUAGE.
Cancel the inclined plane on start-up.• Machine parameter: CSCANCEL.
M functions with an associated subroutine.
The CNC admits function G174 for axes in DRO mode and spindles.• Function G174.
Detailed CNC status in jog mode.• Variable: (V.)G.CNCMANSTATUS
Detailed CNC status in automatic mode.• Variable: (V.)G.CNCAUTSTATUS
Know the axes selected for home search, repositioning, coordinate preset or
movement to a coordinate.
• Variable: (V.)G.SELECTEDAXIS
Page 19
Programming manual.
Software V04.10 (it does not include the features of version V04.02)
Know the current position of the main rotary axes of the kin ematics (third axis).• Variable: (V.)G .POS ROTT
Know the target position of the main rotary axes of the ki nematics (third axis).• Variable: (V.)G.TOOLORIT1
Cancel the name change for axes and spindles (#RENAME) after exe cuting
M02 or M30, after a reset or at the beginning of a new part-program in the same
channel.
(V.)G.TOOLORIT2
• #RENAME instruction.
Ref. 1010
Software V04.02 (features not included in version V04.10)
New language (Russian).• Machine parameter: LANGUAGE.
The CNC admits function G174 for axes in DRO mode and spindles.• Function G174.
Detailed CNC status in jog mode.• Variable: (V.)G.CNCMANSTATUS
Detailed CNC status in automatic mode.• Variable: (V.)G.CNCAUTSTATUS
Know the axes selected for home search, repo sitioning, coordinate preset or
movement to a coordinate.
Know the current position of the main rotary axes of the kin ematics (third axis).• Variable: (V.)G .POS ROTT
Know the target position of the main rotary axes of the ki nematics (third axis).• Variable: (V.)G.TOOLORIT1
Know the status of a cam.• Variable: (V.)G.CAMST[cam]
Modify the range of the slave axis when activating the cam.• Variable: (V.)G.CAM[cam][index]
Set 0% feedrate override via PLC.• Variable: (V.)PLC.FRO
Cancel the name change for axes and spindles (#RENAME) after exe cuting
M02 or M30, after a reset or at the beginning of a new part-program in the same
channel.
• Variable: (V.)G.SELECTEDAXIS
(V.)G.TOOLORIT2
• #RENAME instruction.
Ref. 1107
Software V04.11
Synchronized switching.• Variables: (V.)G.TON
(V.)G.TOF
(V.)G.PON
(V.)G.POF
• Statement: #SWTOUT
Ref. 1304
Software V04.20
Maximum safety limit for feedrate.• Machine parameter: FLIMIT.
Maximum safety speed limit.• Machine parameter: SLIMIT.
Interruption subroutines per channel.• Programming instructions: #REPOS.
There may be up to 30 OEM subroutines per channel now (G180-G189 / G380-
G399).
The OEM subroutines may be executed either in a non-modal (G180, G181,
etc) or in a modal way (MG180, MG181, etc).
The operation of M19 with subroutine has changed.• Function: M19.
Know the status of a cam.• Variable: (V.)G.CAMST[cam]
Modify the range of the slave axis when activating the cam.• Variable: (V.)G.CAM[cam][index]
Set 0% feedrate override via PLC.• Variable: (V.)PLC.FRO
Detailed CNC status in automatic mode. New values.• Variable: (V.)G.CNCAUTSTATUS
Active zero offset.• Variable: (V.)G.EXTORG
The CNC can execute programs of the 8055 MC and 8055 TC models made
up with conversational canned cycles including geometric assistance.
Software V04.21
New model LCD-10K.• Variables: (V.)MPMAN.JOGKEYDEF[jk]
Software V04.22
Set the zero offsets with a coarse part and a fine p art.• Variables: (V.)A.ADDORG.xn
Cancel mirror image (G11/G12/G13/G14) after M30 and reset.
Software V04.24
Additional negative command pulse for analog axes.• Variable: (V.)MPA.BAKANOUT[set].xn
The SPDLEREV mark (reverse turning direction) affect s the spindle in M19.• Variable: (V.)MPA.M19SPDLEREV.xn
Functions M02, M30 and reset do not cancel the speed limit function G192.• Function G192.
Functions M02, M30 and reset do not cancel the constant surfa ce speed (CSS)
Error programmed in HSC mode. • Variable: (V.)G.CONTERROR
The HSC FAST mode may be used to adjust t he chordal error (p arameter E).• Statement: #HSC
The CNC will load into RAM memory the subroutines having the extension .fst.
If function G95 is active and the spindle does not have an encoder, the CNC
will use the programmed theoretical rpm to calculate the feedrate.
(V.)G.TOF
(V.)G.PON
(V.)G.POF
• Statement: #SWTOUT
• Function G95.
Ref. 1305
Software V04.26
New model LCD-10K.
New LCD-15 model.
New keyboard VERTICAL-KEYB.
New keyboard HORIZONTAL-KEYB.
New operator panel OP-PANEL.
Keep the longitudinal axis when changing planes (G17/G18/G19).• Function G17/G18/G19.
The M3/M4/M5 functions cancel the C axis and set the spindle in open loop.
Programs with ".mod" extension may be modified when they are interrupted
HSC. New SURFACE mode.• #HSC instruction.
Generic user subroutines.• Functions G500-G599.
Generic user subroutines pre-configured by Fagor.• G500-G501 functions.
"program-start" subroutine.
Override of the dynamics for HSC.• Variable: (V.)G.DYNOVR
New name for the (V.)G.CONTERROR variable• Variable: (V.)G.ACTROUND
Maximum frequency generated on the machining path.• Variable: (V.)MPG.MAXFREQ
Software V05.01
ModBUS server.• Variables: (V.)MPG.MODBUSSVRTCP
CANopen bus communication frequency.• Variable: (V.)MPG.CANOPENFREQ
Feedback type associated with the handwheel input,• Variable: (V.)MPMAN.HWFBTYPE[hw]
Detailed CNC status in jog mode. New values.• Variable: (V.)G.CNCMANSTATUS
Activate the Mechatrolink drive options.• Variable: (V.)MPA.OPTION.xn
Enable the hardware alarm (alarm pin) of the local feedback.• Variable: (V.)MPA.HWFBACKAL[set].xn
Maximum position difference allowed to consider t hat there is no need to home
Orient the tool in the part coordinate system.• Instructions #CSROT, #DEFROT.
Select onto which rotary axes of the kinematics the tool orientation is
calculated for a given direction on the work piece (part).
Transform the current part zero considering the position of the table
kinematics.
Type of the active kinematics.• Variable: (V.)G.KINTYPE
Number of axes of the active kinematics.• Variable: (V.)G.NKINAX
Current position of the fourth rotary axis of the kinematics.• Variable: (V.)G.POSROTO
• Instruction #SELECT ORI.
• Variable: (V.)G.SELECTORI
• Instruction #KINORG.
·20·
Page 21
Programming manual.
Software V05.10
Position to be occupied by the fourth rotary axis of the kinematics in order t o
position the tool perpendicular to the inclined plane (solution 1 and 2).
Status of the #CSROT function.• Variable: (V.)G.CSROTST
Position (machine coordinates) calculated for the rotary axis of the kinematics
at the beginning of the block, for solution 1 of the #CSROT mode.
Position (machine coordinates) calculated for the rotary axis of the kinematics
at the end of the block, for solution 1 of the #CSROT mode.
Position (machine coordinates) calculated for the rotary axis of the kinematics
at the beginning of the block, for solution 1 of the #CSROT mode.
Position (machine coordinates) calculated for the rotary axis of the kinematics
at the end of the block, for solution 1 of the #CSROT mode.
Position (machine coordinates) to be occupied by the rotary axis of the
kinematics at the beginning of the block, for the #CSROT mode.
Position (machine coordinates) to be occupied by the rotary axis of the
kinematics at the end of the block, for the #CSROT mode.
Position of the part zero transformed by the i nstruction #KINORG , considering
the table position, on the first three axes of the channel.
Allow the user modify the kinematics parameters.• Variable: (V.)MPK.TDATAFkin[nb]
• Define whether the part is cylindrical or rectangular.
• Define up to four parts.
• Assign a part to one or more channels.
On line modification of the machine configuration in HD graphics (xca files).• Statement: #DEFGRAPH.
3D tool compensation.• Statement: #COMP3D.
HSC. SURFACE mode. New commands RE, SF and AXF.• #HSC instruction.
HSC. FAST mode. New commands RE, SF and AXF.• #HSC instruction.
HSC. CONTERROR mode. New commands RE and AXF.• #HSC instruction.
• Statement: #DGWZ.
Ref. 1505
Software V05.31
Coordinate programming. Angle and Cartesian coordinate.
Electronic threading with variable pitch.• Function G34.
Withdraw the axes after interrupting an electronic threading.• Function G233.
Assume IPLANE as active plane after M30/RESET or keep the active one.
Detailed CNC status in automatic mode. New value $100000.• Variable: (V.)G.CNCAUTSTATUS
Volts of output [n] of the RCS-S module.• Variable: (V.)G.ANASO[n]
HSC. SURFACE mode. New command OS.• Statement: #HSC.
HSC. If the RE command is not programmed, the amount of error all owed on
rotary axes will be the maximum between parameter MAXERROR and the E
command.
If no resume point has been defined, the execution continues in the
#ABORT OFF instruction; if the instruction has not been defined, the program
will jump to the end of the program (M30).
ISO generation.• Statement: #ISO
System spindles involved in the subroutine associated with M3, M4, M5, M19
and M41-M44.
Active canned cycle.• Variable: (V.)G.ACTIVECYLE
Status of probe ·1·. • Variable: (V.)G.PRBST
Probing movement. Value measured at the master spindle of the channel.• Variable: (V.)G.PLMEAS4
End of axis and spindle repositioning at the starting point.• Variable: (V.)G.ENDREPINI
End of axis and spindle repositioning at the interruption point.• Variable: (V.)G.ENDREPINT
Time remaining to activate the laser out put.• Variable: (V.)G.LASEROTMON
Time remaining to deactivate the laser out put.• Variable: (V.)G.LASEROTMOFF
Amount of time that PWM stays active in burst mode.• Variable: (V.)G.PWMBTIME
Final PWM status once burst mode is over.• Variable: (V.)G.PWMBEND
• Variable: (V.)G.RETREJ
• Statement: #HSC.
• Statement: #ABORT
• Variable: (V.)G.SUBMSPDL
CNC 8070
(REF: 1709)
·21·
Page 22
Programming manual.
Software V05.31
Percentage of loop time (cycle time) used by the PLC. • Variable: (V.)G.PLCTIMERATE
Percentage of loop time (cycle time) used by the dyna mic preparation of the
tool path.
Value of the local count-up 1 input. • Variable: (V.)G.LCOUNTER1
Value of the local count-up 2 input.• Variable: (V.)G.LCOUNTER2
Actual (real) CNC feedrate in G95.• Variable: (V.)G.FREALPR
Real feedrate on the tool path.• Variable: (V.)G.ACTFEED
Feedrate active in the block.• Variable: (V.)G.IPOFEED
Active tool. Code of the tool offset type.• Variable: (V.)TM.TOOLTYP[ofd]
Tool being prepared. Code of the tool offset type.• Variable: (V.)G.TOOLTYP
Tool being prepared. Tool-holder orientation.• Variable: (V.)G.FIXORI
Solution 2 is selected in instruction #CS or #ACS.• Variable: (V.)G.TORISOL2
CNC model. • Variable: (V.)G.CNCMODEL
CNC sub-version number (decimal value). • Variable: (V.)G.SUBVERSIO
Number of the line of the program where the cursor is.• Variable: (V.)G.CURSORLINE
Orientation smoothing of the rotary axes working with RTCP.• Variable: (V.)MPG.ORISMOOTH
Amount of error allowed on the axis for the HSC mode.• Variable: (V.)A.ACTROUND.xn
Smooth the path.• Statement: #PATHND
Smooth the path and the feedrate.• Statement: #FEEDND
(V.)G.ZONECIRAX2[k]
CNC 8070
Ref. 1604
Software V05.50
The CNC permits setting the machine coordinate for gantry axes.• Function: G174.
The CNC permits executing seven subroutines per block.
Ref. 1709
Software V05.60.00
Subroutine associated with the reset.• Subroutine: PROGRAM_RESET
Subroutine associated with the tool calibration cycle.• Subroutine: KinCal_Begin.nc
New search criteria for help files associated with the subroutines.• File: pcall.txt
The subroutines associated with functions G500-599 may also have help files
which are displayed during editing.
The subroutines associated with functions G8000-8999 may also have help
files which are displayed during editing.
New radius compensation algorithm, optimized to solve stepped profiles.
User subroutines (G500-G599) and modal subroutines.• Functions: G500, G501, etc.
User subroutines (G8000-G8999) and modal subroutines.• Functions: G8000, G8001, etc.
Calls to subroutines with parameter initialization allow th e programming of 32
additional parameters (P26 to P57), which can also be defined as "D0= " to
"D31=", so that "D0=" is equal to P26, "D1=" to P27 and so forth.
Non-modal G02 and G03 functions.• Functions: G2, G3
Non-modal function G00.• Functions: G0
KinCal_End.nc
• File:subroutine_name.txt
subroutine_name.bmp
•File: G500.txt, G501.txt, etc.G500.bmp, G501.bmp, etc.
•File: G8000.txt, G8001.txt, etc.G8000.bmp, G8001.bmp, etc.
• Instructions: #MCALL
• Instructions: #MCALL
• Functions: G500, G501, etc.
G180, G181, etc.
G380, G381, etc.
• Instructions: #PCALL, #MCALL
(REF: 1709)
·22·
Page 23
Programming manual.
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.
Before start-up, verify that the machine that integrates this CNC meets the 2006/42/EC Directive.
PRECAUTIONS BEFORE CLEANING THE UNIT
Do not get into the inside of the unit.Only personnel authorized by Fagor Automation may access the
Do not handle the connectors with the unit
connected to AC power.
interior of this unit.
Before handling these connectors (I/O, feedback, etc.), make sure
that the unit is not powered.
PRECAUTIONS DURING REPAIRS
In case of a malfunction or failure, disconnect it and call the technical service.
Do not get into 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 powered.
PRECAUTIONS AGAINST PERSONAL HARM
Interconnection of modules.Use the connection cables provided with the unit.
Use proper cables.T o prevent risks, only use cables and Sercos fiber recommended for
this unit.
T o prevent a risk of electrical shock at the central unit, use the proper
connector (supplied by Fagor); use a three-prong power cable (one
of them being ground).
Avoid electric shocks.T o prevent electrical shock and fire risk, do not apply electrical voltage
out of the indicated range.
Ground connection.In order to avoid electrical discharges, connect the ground terminals
of all the modules to the main ground terminal. Also, before
connecting the inputs and outputs of this product, make sure that the
ground connection has been done.
In order to avoid electrical shock, before turning the unit on verify that
the ground connection is properly made.
Do not work in humid environments.In order to avoid electrical discharges, always work with a relative
Do not work in explosive environments.In order to avoid risks, harm or damages, do n ot work in explosive
humidity (non-condensing).
environments.
CNC 8070
(REF: 1709)
·23·
Page 24
Programming manual.
i
PRECAUTIONS AGAINST DAMAGE TO THE PRODUCT
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
suffered or caused by the CNC when installed in other environments
(residential, homes, etc.).
Install this unit in the proper place.It is recommended, whenever possible, to install the CNC away from
coolants, chemical product, blows, etc. that could damage it.
This unit meets the European directives on electr omagnetic
compatibility. Nevertheless, it is recommended to keep it away from
sources of electromagnetic disturbance such as:
Powerful loads connected to the same mains as the unit.
Nearby portable transmitters (radio-telephones, Ham radio
transmitters).
Nearby radio / TC transmitters.
Nearby arc welding machines.
Nearby high voltage lines.
Enclosures.It is up to the manufacturer to guarantee that the enclosure where the
unit has been installed meets all the relevant directives of the
European Union.
Avoid disturbances coming from the
machine.
Use the proper power supply.Use an external regulated 24 Vdc power supply for the keyboard,
Connecting the power supply to ground.The zero Volt point of the external power supply must be connected
Analog inputs and outputs connection.Use shielded cables connecting all their meshes to the corresponding
Ambient conditions.Maintain the CNC within the recommended temperature range, both
Central unit enclosure.T o maintain the right ambient conditions in the enclosure of the central
Power switch.This switch must be easy to access and at a distance between 0.7 and
The machine must have all the interference generating elements
(relay coils, contactors, motors, etc.) uncoupled.
operator panel and the remote modules.
to the main ground point of the machine.
pin.
when running and not running. See the corresponding chapter in the
hardware manual.
unit, it must meet the requirements indicated by Fago r. See the
corresponding chapter in the hardware manual.
1.7 m (2.3 and 5.6 ft) off the floor.
CNC 8070
(REF: 1709)
·24·
SAFETY SYMBOLS
Symbols that may appear in the manual.
Danger or prohibition symbol.
This symbol indicates actions or operations that may hurt people or damage products.
Warning or caution symbol.
This symbol indicates situations that certain operations could cause and the suggested actions to prevent
them.
Obligation symbol.
This symbol indicates actions and operations that must be carried out.
Information symbol.
This symbol indicates notes, warnings and advises.
Symbol for additional documentation.
This symbol indicates that there is another document with more detailed and specific information.
Page 25
Programming manual.
Symbols that the product may carry.
Ground symbol.
This symbol indicates that that point must be under voltage.
ESD components.
This symbol identifies the cards as ESD components (sensitive to electrostatic discharges).
CNC 8070
(REF: 1709)
·25·
Page 26
BLANK PAGE
·26·
Page 27
Programming manual.
RETURNING CONDITIONS
Pack it in its original package along with its original 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 lb.).
2 Attach a label to the device indicating the owner of the device along with contact information (address,
telephone number, email, name of the person to contact, type of device, serial number, etc.). In case
of malfunction also indicate symptom and a brief description of the problem.
3 Protect the unit wrapping it up with a roll of polyethylene or with similar material. When sending a central
unit with monitor, protect especially the screen.
4 Pad the unit inside the cardboard box with polyurethane foam on all sides.
5 Seal the cardboard box with packaging tape or with industrial staples.
CNC 8070
(REF: 1709)
·27·
Page 28
BLANK PAGE
·28·
Page 29
Programming manual.
CNC 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 unit and, consequently,
possible malfunctions. Accumulated dirt can sometimes act as an electrical conductor and short-circuit the
internal circuitry, especially under high humidity conditions.
To clean the operator panel and the monitor, a smooth cloth should be used which has been dipped 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.
The plastics used on the front panel are resistant to grease and mineral oils, bases and bleach, dissolved
detergents and alcohol. Avoid the action of solvents such as chlorine hydrocarbons, venzole, esters and
ether which can damage the plastics used to make the unit’s front panel.
PRECAUTIONS BEFORE CLEANING THE UNIT
Fagor Automation shall not be held responsible for any material or physical damage derived from the
violation of these basic safety requirements.
• Do not handle the connectors with the unit supplied with power. Before handling these connectors (I/O,
feedback, etc.), make sure that the unit is not powered.
• Do not get into the inside of the unit. Only personnel authorized by Fagor Automation may access the
interior of this unit.
CNC 8070
(REF: 1709)
·29·
Page 30
BLANK PAGE
·30·
Page 31
CREATING A PROGRAM.
1.1Programming languages.
The CNC has its own programming language described in this manual. The program is edited
block by block and each one may be written in ISO language or in High level language. See
"1.3 Program block structure." on page 35.
When editing high level commands, the editor offers a list of available commands.
8055 language.
Programs can also be edited in the 8055 CNC language. Programming in 8055 CNC
language is enabled from the part-program editor. Refer to the operating manual to enable
this option.
This manual does not describe the 8055 language; refer to the specific documentation for
this product. Obviously, since this CNC and the 8055 are two functionally different products,
some concepts may be different.
1
CNC 8070
(REF: 1709)
·31·
Page 32
1.
N10
N20
N30
N40
CNC Program
Block
· · ·
Block
Subroutine
Block
· · ·
Block
Program body
Block
Programming manual.
1.2Program structure.
A CNC program consists of a set of blocks or instructions that properly organized, in
subroutines or in the program body, provide the CNC with the necessary data to machine
the desired part.
Each block contains all the functions or command necessary to execute an operation that
may be machining, preparing the cutting conditions, controlling the elements of the machine,
etc.
Program structure.
CREATING A PROGRAM.
%example
(Name of the program)
N5 F550 S1000 M3 M8 T1 D1
(Sets the machining conditions)
N6 G0 X0 Y0
(Positioning)
N10 G1 G90 X100
N20 Y50
N30 X0
N40 Y0
(Machining)
N50 M30
(End of program)
The CNC program may consist of several local subroutines and the body of the program.
The local subroutines must be defined at the beginning of the program.
CNC 8070
(REF: 1709)
·32·
Page 33
Programming manual.
1.2.1Program body.
The body of the program has the following structure.
HeaderThe header indicates the beginning of the body of the program.
Program blocksIt is the main part of the program, the one containing
End of program
Program header.
The header of the program is a block consisting of the "%" character followed by the name
of the program. The name of the program may be up to 14 characters long and may consist
of uppercase and lowercase characters as well as numbers (no blank spaces are allowed).
The header must be programmed when the program has local
subroutines.
movements, operations, etc.
1.
%0123
%PROGRAM
%PART923R
The header must be programmed when the program contains local subroutines; otherwise,
programming the header is optional.
The name defined in the header has nothing to do with the name o f the file. T he two ma y
be different.
Program body.
The body of the program consists of blocks in charge of executing operations, movements,
etc.
End of the program.
The end of the program body is defined by functions "M02" or "M30" and they are equivalent.
There is no need to program these functions; when reaching the end of the program without
executing any of them, the CNC ends the execution and shows a warning indicating that they
are missing.
M30
M02
Program structure.
CREATING A PROGRAM.
The CNC behaves differently when reaching the end of the program depending on whether
the M02 / M30 has been programmed or not
With M02/M30Without
M02/M30
The CNC selects the first block of the program.YesYes
The CNC stops the spindle.YesNo
The CNC assumes the initial conditions.Yes (*)No
The CNC initializes the cutting conditions.YesNo
(*) Stopping the spindle depends on the setting of machine parameter SPDLSTOP.
%PROGRAM
G81 X·· Y··(Point 1. Center punching definition)
LL POINTS(call to a subroutine)
G81 X·· Y··(Point 1. Center punching definition)
LL POINTS(call to a subroutine)
G84 X·· Y··(Point 1. Center punching definition)
LL POINTS(call to a subroutine)
G80
M30
A subroutine is a set of blocks that, once properly identified, may be called upon several times
from another subroutine or from the program. Subroutines are normally used for defining a
bunch of operations or movements that are repeated several times throughout the program.
See chapter "14 Subroutines.".
Types of subroutines.
Programming manual.
1.
Program structure.
CREATING A PROGRAM.
The CNC has two types of subroutines, namely local and global. There is also a third type
available, OEM subroutines, that are a special case of a global subroutine de fined by the
OEM.
Global subroutines.
The global subroutine is stored in CNC memory as an independent program. This subroutine
may be called upon from any program or subroutine being executed.
Local subroutines.
The local subroutine is defined as part of a program. This subroutine may only be called upon
from the program where it has been defined.
A program can have several local subroutines; but they all must be defined before the body
of the program. A local subroutine can call a second local subroutine with the condition that
the calling subroutine be defined after the one being called.
CNC 8070
(REF: 1709)
·34·
Page 35
Programming manual.
1.3Program block structure.
The blocks comprising the subroutines or the program body may be defined by commands
in ISO code or in high-level language. Each block must be written in either language but not
mixed; a program may combine blocks written in both languages. Empty blocks (empty lines)
are also allowed.
In either language, it is also possible to use any type of arithmetic, relational or logic
expression.
Programming in ISO code.
It is especially designed to control the movement of the axes because it provides movement
data and conditions as well as feedrate and speed. Some of the available commands are:
• Preparatory functions for movement establishing the geometry and work conditions such
as linear and circular interpolations, threading, canned cycles, etc.
• Functions to control cutting conditions such as feedrate of the axes, spindle speed and
accelerations.
• Functions to control the tools.
• Complementary functions, with technological instructions.
• Definition of position values.
High-level language programming.
This language provides the user with a set of control commands with a terminology similar
to the one used by other languages, such as $IF, $GOT O, #MSG , #HSC, etc. Some available
commands are:
• Programming instructions.
• Flow controlling instructions to make loops and jumps within the program.
• To define and call upon subroutines with local parameters where a local variable is the
one only known to the subroutine where it has been defined.
It is also possible to use any type of arithmetic, relational or logic expression.
1.
Program block structure.
CREATING A PROGRAM.
Arithmetic parameters, variables, constants and arithmetic
expressions.
Constants, ar ithmetic p arameters, variable s and ar ithmet ic expr essions may be us ed from
ISO blocks as well as from high level commands.
CNC 8070
(REF: 1709)
·35·
Page 36
1.
1.3.1Programming in ISO code.
Program block structure.
CREATING A PROGRAM.
Programming manual.
ISO-coded functions consist of letters and numbers. The letters are "N", "G", "F", "S", "T",
"D", "M", "H", "NR" plus those identifying the axes.
The numbers include digits "0" through "9", the "+" and "-" signs and the decimal point ".".
Likewise, the numerical format may be replaced by a parameter, variable or arithmetic
expression whose result is a number.
Programming allows blank spaces between letters, numbers and a sign as well as not using
the sign with positive values.
Block structure.
A block may have the following functions, but needs not contain all of them. The data has
no set order, it may be programmed anywhere in the block. The only exception being the
block-skip condition and the block identification which must always be programmed at the
beginning.
/N—G—G—X..C—F—S—T—D—M—H—NR—
·/· Block skip condition.
If the block-skip mark is active, the CNC will skip the blocks having this character (not
executing them) and will go on to the next block.
The CNC reads several blocks ahead of the one in execution, in order to calculate in advance
the path to travel. The block-skip condition is examined at the time when the block is read.
·N· Block identification.
The block identification must be programmed when the block is used as the destination of
references or jumps. In this case, it is recommended to program it alone in the block. It may
be represented in two ways:
• The letter "N" followed by the block number (0-4294967295) and the ":" character (only
when the label is used as the destination of a block jump); they need not follow a particular
order or be consecutive.
If the label is not a jump target and is programmed without ":", it may go in any position
of the block, not necessarily at the beginning.
• "[<name>]" type labels, where <name> may be up to 14 characters long and may consist
of uppercase and lowercase characters as well as numbers (no blank spaces are
allowed).
Both types of data may be programmed in the same block.
N10: X12 T1 D1
[CYCLE] G81 I67
X34 N10 S100 M3
·G· Preparatory functions.
G functions set the geometry and work conditions such as linear and circular interpolations,
chamfers, canned cycles, etc. See "1.5 List of "G" functions." on page 40.
CNC 8070
(REF: 1709)
·36·
·X..C· Coordinates of the point.
These functions set the movement of the axes. See "1.4 Programming of the axes." on page
39.
Depending on the units, the programming format will be:
• In millimeters, format ±5.4 (5 integers and 4 decimals).
• In inches, format ±4.5 (4 integers and 5 decimals).
·F· Axis feedrate.
The feedrate is represented by the letter "F" followed by the desired feedrate value.
Page 37
Programming manual.
·S· Spindle speed.
This function sets the spindle speed.
The spindle name is defined by 1 or 2 characters. The first character is the letter S and the
second character is optional, it must be a numerical suffix between 1 and 9. This way, the
name of the spindles may be within the range S, S1 ... S9.
The feedrate is represented by the axis letter followed by the target position for the axis. For
spindles like S1, S2, etc. the "=" sign must be included between the axis name and the speed.
S1000
S1=334
·T· Tool number.
This function selects the tool to be used to carry out the programmed machining operation.
The tool is represented by the letter "T" followed by the tool number (0-4294967295).
·D· Tool offset number.
This function selects the tool offset. The tool offset is represented by the letter "D" followed
by the tool offset number. The number of offsets available for each tool is defined in the tool
table.
·M H· Auxiliary functions.
1.
Program block structure.
CREATING A PROGRAM.
With the auxiliary functions, it is possible to control machine elements such as spindle turning
direction, coolant, etc. These functions are represented by the letters "M" or "H" followed by
the function number (0-65535)
·NR· Number of block repetitions.
This indicates the number of times the block will be executed. It ca n only be programmed
in blocks containing a movement.
If the block is under the influence of a modal canned cycle, the latter will be repeated as many
times as the block repetition has been programmed. When programming NR0, the
movements will be executed, but the modal canned cycle is not executed at the end of each
one.
G91 G01 X34.678 F150 NR4
Block comment .
Any comment may be associated with the blocks. When executing the program, the CNC
ignores this information.
The CNC offers various methods to include comments in the program. See "1.8 Comment
programming." on page 47.
CNC 8070
(REF: 1709)
·37·
Page 38
1.3.2High-level language programming.
The commands of high level language are made up of control instructions "#" and flow control
instructions "$".
Block structure.
A block may have the following commands, but needs not contain all of them.
Programming manual.
1.
Program block structure.
CREATING A PROGRAM.
/ N— <rest of commands>
·/· Block skip condition.
If the block-skip mark is active, the CNC will skip the blocks having this character (not
executing them) and will go on to the next block.
The CNC reads several blocks ahead of the one in execution, in order to calculate in advance
the path to travel. The block-skip condition is examined at the time when the block is read.
·N· Block identification.
The block identification must be programmed when the block is used as the destination of
references or jumps. In this case, it is recommended to program it alone in the block. It may
be represented in two ways:
• The letter "N" followed by the block number (0-4294967295) and the ":" character (only
when the label is used as the destination of a block jump); they need not follow a particular
order or be consecutive.
If the label is not a jump target and is programmed without ":", it may go in any position
of the block, not necessarily at the beginning.
• "[<name>]" type labels, where <name> may be up to 14 characters long and may consist
of uppercase and lowercase characters as well as numbers (no blank spaces are
allowed).
Both types of data may be programmed in the same block.
·# $· High-level language commands.
CNC 8070
(REF: 1709)
The high-level commands comprise the instructions and flow control instructions.
• Instructions are programmed preceded by the "#" sign and they can only be programmed
one per block. They are used to carry out various functions.
• Flow control instructions are programmed preceded by the "$" sign and can only be
programmed one per block. They are used to make loops and program jumps.
Assigning values to parameters and variables can also be considered as high-level
commands.
Block comment .
Any comment may be associated with the blocks. When executing the program, the CNC
ignores this information.
The CNC offers various methods to include comments in the program. See "1.8 Comment
programming." on page 47.
·38·
Page 39
Programming manual.
Y
X
?
Z
00000.0000
00000.0000
* * * * .* * * *
00000.0000
1.4Programming of the axes.
Programming using the name of the axis.
The axis name is defined by 1 or 2 characters. The first character must be one of the letters
X - Y - Z - U - V - W - A - B - C. The second character is optional and will be a numerical
suffix between 1 and 9. This way, the name of the spindles may be within the range X,
X1…X9,...C, C1…C9.
The movements are represented by the axis letter followed by the target position for the axis.
For axes like X1, Y2, etc. the "=" sign must be included between the axis name and the
coordinate.
X100
Z34.54
X2=123.4
A5=78.532
Programming using wild cards.
The axes can also be programmed using wild cards. The wild cards may be used to program
and refer to the axes of the channel using their position in it, including the empty spaces.
The wild card is represented by the "?" character followed by the position number of the axis,
?1 for the first axis, ?2 for the second one, and so forth. If the position of a gap is programmed,
the CNC will display an error message.
In a channel with the following distribution of axes,
the wild cards refer to the following axes.
• The ?1 wild card corresponds to the Y axis.
• The ?2 wild card corresponds to the X axis.
• The ?3 wild card issues an error, there is no
axis in that position.
• The ?4 wild card corresponds to the Z axis.
1.
Programming of the axes.
CREATING A PROGRAM.
Using these wild cards, the user can program a movement as follows.
?1 = 12345.1234
?2 = 50.34
Besides for programming movements, the wild cards can also be used to refer to the axes
in the following G functions and instructions.
G functions.Instructions.
G14
G45
G74
G92
G100
G101
G112
G130
G132
G134
G135
G145
G158
G170
G171
G198
G199
#MOVE ABS
#MOVE ADD
#MOVE INF
#CAM ON
#CAM OFF
#FOLLOW ON
#FOLLOW OFF
#TOOL AX
#LINK
#UNLINK
#PARK
#UNPARK
#SERVO ON
#SERVO OFF
CNC 8070
(REF: 1709)
·39·
Page 40
1.5List of "G" functions.
The following tables show a list of "G" functions available at the CNC. The meaning of the
"M", "D" and "V" fields of the table is the following:
·M· Modal function.·D· Default function.
·V· Displayed function.
Next to each function, it indicates which chapter of this manual describes it; if no chapter
is indicated, the function is described in another manual.
Programming manual.
1.
CREATING A PROGRAM.
CNC 8070
(REF: 1709)
List of "G" functions.
·M· Modal function.
A modal function, once programmed, remains active until an incompatible "G" code is
programmed or an M02 or an M30 or until an EMERGENCY or a RESET is carried out or
the CNC is turned off and back on.
Those cases indicated with "!", mean the function remains active even after an M02, M30
or a reset and after the CNC is powered off and back on.
·D· Default function.
It is the function that is activated by default; in other words, the function assumed by the CNC
on power-up, after executing an M02 or M30 and after an EMERGENCY or a RESET.
Those cases indicated with "?" mean that the default quality of the function depends on the
settings of the CNC machine parameters.
·V· Displayed function.
The function is displayed in automatic and jog modes next to the current machining
conditions.
Function M D V Meaning
G00*?* Rapid positioning.8.1
G01*?* Linear interpolation.8.2
G02** Clockwise circular (helical) interpolation.8.3 / 8.6
G03** Counterclockwise circular (helical) interpolation.8.3 / 8.6
G04* Dwell.12.1
G05*?* Controlled corner rounding (modal).11.3
G06* Arc center in absolute coordinates (not modal).8.3.9
G07*?* Square corner (modal).11.1
G08* Arc tangent to previous path.8.4
G09* Arc defined by three points.8.5
G10**Mirror image cancellation.11.8
G11** Mirror image on X.11.8
G12** Mirror image on Y.11.8
G13** Mirror image on Z.11.8
G14** Mirror image in the programmed directions.11.8
G17*?* Main plane X-Y, and longitudinal axis Z.4.2
G18*?* Main plane Z-X, and longitudinal axis Y.4.2
G19** Main plane Y-Z, and longitudinal axis X.4.2
G20** Main plane by two directions and longitudinal axis.4.3
G30* Polar origin preset.5.7
G31* Temporary polar origin shift to the center of arc.8.3.8
G33** Electronic threading with constant pitch.10.1
G34** Electronic threading with variable pitch.10.2
G36* Automatic radius blend.11.4
G37* Tangential entry.11.6
G38* Tangential exit.11.7
G39* Automatic chamfer blend.11.5
G40**Cancellation of tool radius compensation.13.1
G41** Left-hand tool radius compensation.13.1
G42** Right-hand tool radius compensation.13.1
G45Turn tangential control on and off.18.1
G50*?Semi-rounded corner.11.2
G53*Zero offset cancellation.5.6
G54!* Absolute zero offset 1.5.5
G55!* Absolute zero offset 2.5.5
G56!* Absolute zero offset 3.5.5
·40·
Page 41
Programming manual.
Function M D V Meaning
G57!* Absolute zero offset 4.5.5
G58!* Absolute zero offset 5.5.5
G59!* Absolute zero offset 6.5.5
G60* Square corner (not modal).11.1
G61* Controlled corner rounding (not modal).11.3
G63** Rigid tapping.10.3
G66* (·T· model). Pattern repeat canned cycle.- - G68* (·T· model). Stock removal cycle along X axis.- - G69* (·T· model). Stock removal canned cycle along Z axis.- - G70*?* Programming in inches.3.1
G71*?Programming in millimeters.3.1
G72* Scaling factor.11.10
G73** Rotation of the coordinate system.11.9
G74* Machine reference zero (home) search.2.4
G80**(·M· model). Canned cycle cancellation.- - G81** (·M· model). Drilling canned cycle.- - G81* (·T· model). Turning canned cycle for straight sections.- - G82** (·M· model). Drilling canned cycle with a variable peck.- - G82* (·T· model). Facing canned cycle for straight sections.- - G83** (·M· model). Deep-hole drilling canned cycle with constant peck.- - G83* (·T· model). Drilling / tapping canned cycle.- - G84** (·M· model). Tapping canned cycle.- - G84* (·T· model). Turning canned cycle for curved sections.- - G85** (·M· model). Reaming canned cycle.- - G85* (·T· model). Facing canned cycle for curved sections.- - G86** (·M· model). Boring canned cycle.- - G86* (·T· model). Longitudinal threading canned cycle.- - G87** (·M· model). Rectangular pocket canned cycle.- - G87* (·T· model). Face threading canned cycle.- - G88** (·M· model). Circular pocket canned cycle.- - G88* (·T· model). Grooving canned cycle along the X axis.- - G89* (·T· model). Z axis grooving canned cycle.- - G90*?Programming in absolute coordinates.3.2
G91*?* Programming in incremental coordinates.3.2
G92!* Coordinate preset.5.4
G93** Setting machining time in seconds.6.2.1
G94*?Feedrate in millimeters/minute (inches/minute).6.2.1
G95*?* Feedrate in millimeters/revolution (inches/revolution).6.2.1
G96** Constant surface speed.7.2.2
G97**Constant turning speed.7.2.2
G98**(·M· model). Withdrawal to the starting plane.- - G99** (·M· model). Withdrawal to the reference plane at the end of the
G100* Probing until making contact.- - G101*Include probe offset.- - G102*Exclude probe offset.- - G103* Probing until not making contact.- - G104Probe movement up to the programmed position.- - G108**Feedrate blending at the beginning of the block.6.2.2
G109* Feedrate blending at the end of the block.6.2.2
G112*Changing of parameter range of an axis.12.4
G120!Set lower linear limits of the work zone.11.11.2
G121!Set upper linear limits of the work zone.11.11.2
G122* Enable/disable the work zones.11.11.3
G123!Set circular limits of the work zone.11.11.2
G130** Percentage of acceleration to be applied per axis or spindle.6.2.5
G131** Percentage of acceleration to be applied, global.6.2.5
G132** Percentage of jerk to be applied per axis or spindle.6.2.6
G133** Percentage of jerk to be applied, global.6.2.6
G134** Percentage of Feed-Forward to be applied.6.2.7
G135** Percentage of AC-Forward to be applied.6.2.8
G136** Circular transition between blocks.13.1.2
G137**Linear transition between blocks.13.1.2
G138** Direct activation/cancellation of tool compensation.13.1.2
G139**Indirect activation/cancellation of tool compensation.
G145Freeze tangential control.18.2
G151*** Programming in diameters.3.1
canned cycle.
- - -
13.1.2
1.
List of "G" functions.
CREATING A PROGRAM.
CNC 8070
(REF: 1709)
·41·
Page 42
1.
List of "G" functions.
CREATING A PROGRAM.
Programming manual.
Function M D V Meaning
G152*Programming in radius.3.1
G157** Excluding axes in the zero offset.5.5.3
G158** Incremental zero offset.5.5.2
G159!* Additional absolute zero offsets.5.5
G160* (·M· model). Multiple machining in a straight line.- - G160* (·T· model). Drilling / tapping canned cycle on the face of the part.- - G161* (·M· model). Multiple machining in rectangular pattern.- - G161* (·T· model). Drilling / tapping canned cycle on the side of the part.- - G162* (·M· model). Multiple machining in a grid pattern.- - G162* (·T· model). Slot milling canned cycle along the side of the part.- - G163* (·M· model). Multiple machining in a circular pattern.- - G163 * (·T· model). Slot milling canned cycle along the face of the part.- - G164* (·M· model). Multiple machining in an arc.- - G165* (·M· model). Machining programmed with an arc-chord.- - G170*Hirth axes OFF.12.3
G171**Hirth axes ON.12.3
G174*Set the machine coordinate.5.2
G180
G189
G380
G399
G192** Turning speed limitation.7.2.1
G193* Interpolating the feedrate.6.2.2
G196** Constant surface speed (feedrate at the cutting point).6.2.3
G197**Constant feedrate of the tool center.6.2.3
G198Setting of lower software travel limits.12.2
G199Setting of upper software travel limits.12.2
G200Exclusive manual inte rvention.9.2
G201*Activate additive manual intervention.9.1
G202**Cancel additive manual intervention.9.1
G210** (·M· model). Bore milling canned cycle.- - G211** (·M· model). Inside thread milling cycle.- - G212** (·M· model). Outside thread milling cycle.- - G233** Withdraw the axes after interrupting an electronic threading.10.4
G261** Arc center in absolute coordinates (modal).8.3.9
G262**Arc center referred to starting point.8.3.9
G263** Arc radius programming.8.3.2
G264** Cancel arc center correction.8.3.11
G265**Activate arc center correction.8.3.11
G266* Feedrate override at 100%.6.2.4
G500
G599
* OEM subroutine execution.14.5
* OEM subroutine execution.14.5
* Generic user subroutines.14.6
CNC 8070
(REF: 1709)
·42·
Page 43
Programming manual.
1.6List of auxiliary (miscellaneous) M functions.
The following table shows a list of "M" functions available at the CNC. Next to each function,
it indicates which chapter of this manual describes it; if no chapter is indicated, the function
is described in another manual.
FunctionMeaning
M00Program stop.6.6.1
M01Conditional program stop.6.6.1
M02End of program.1.2.1
M03Start the spindle clockwise.7.3
M04Start the spindle counterclockwise.7.3
M05Stop the spindle.7.3
M06Tool change.6.6.1
M17End of a global or local subroutine.14.2
M19Spindle orientation.7.5
M29End of a global or local subroutine.14.2
M30End of program.1.2.1
M41Selects gear ·1·.7.4
M42Selects gear ·2·.7.4
M43Selects gear ·3·.7.4
M44Selects gear ·4·.7.4
The following tables show a list of statements and instructions functions available at the CNC.
Next to each of them, it indicates which chapter of this manual describes it; if no chapter is
indicated, the function is described in another manual.
Conditional execution.22.2.2
Conditional execution.22.2.3
Block repetition.22.2.4
Conditional block repetition.22.2.5
Conditional block repetition.22.2.6
CNC 8070
(REF: 1709)
InstructionMeaning
LCall to a global subroutine.14.3.2
LLCall to a local subroutine.14.3.1
#ABORTAbort the execution of the program and resume it in another block or program.15.3
#ACSFixture coordinate system.19.4
#ANGAX OFFTurn angular transformation off.17.1
#ANGAX ONTurn angular transformation on.17.1
#ANGAX SUSPFreeze angular transformation.17.2
#ASPLINE ENDTANGAkima splines. Type of final tangent.22.1.14
#ASPLINE MODEAkima splines. Selection of tangent type.22.1.14
#ASPLINE STARTTANGAkima splines. Type of starting tangent.22.1.14
#AXISAxis upon which the manual intervention is applied.9.1
#CALLCall to a global or local subroutine.14.3.3
#CALL AXAdd a new axis to the configuration.22.1.9
#CALL SPAdd a spindle to the configuration.22.1.10
#CAM ONActivate the electronic cam (real coordinates).22.1.21
#CAM OFFCancel the electronic cam.22.1.21
#CAXAxis C. Activating the spindle as C axis.16.1
#CD OFFCancel collision detection.22.1.13
#CD ONActivating collision detection.22.1.13
#CLEARChannels. It clears the synchronism marks of the channel.22.1.19
#CONTJOGManual intervention. Feedrate in continuous jog.9.3.1
#COMMENT BEGINBeginning of comment.1.8
#COMMENT ENDEnd of comment.1.8
#CSMachining coordinate system.19.4
#CSROT ONActivate tool orientation in the part coordinate system.19.9.1
#CSROT OFFCancel tool orientation in the part coordinate system.19.9.2
#CYL"C" axis. Machining of the turning side of the part.16.3
#DEFMacros. Define Macros.22.1.17
#DEFROTHow to manage the discontinuities in the orientation of rotary axes.19.9.3
#DELETEIt initializes the global user variables.1.9
#DFHOLDDisable the feed-hold signal.22.1.5
#DGWZIt defines the graphic display area.22.1.4
#DSBLKEnd of the single-block treatment.22.1.5
#DSTOPDisable the cycle stop signal.22.1.5
#EFHOLDDisable the feed-hold signal.22.1.5
#ERRORDisplay an error on the screen.22.1.1
#ESBLKBeginning of the single-block treatment.22.1.5
#ESTOPEnable the cycle stop signal.22.1.5
#EXBLKIt executes a block in the indicated channel.15.2
·44·
Page 45
Programming manual.
InstructionMeaning
#EXECIt executes a program in the indicated channel.15.1
#FACE"C" axis. Machining on the face of the part.16.2
#FEEDNDSmooth the path and the feedrate.12.5
#FLUSHInterrupt block preparation.22.1.22
#FOLLOW OFFIndependent axis. End the synchronization movement.22.1.20
#FOLLOW ONIndependent axis. Begin the synchronization movement (real coordinates).22.1.20
#FREE AXFree an axis from the configuration.22.1.9
#FREE SPFree a spindle from the configuration.22.1.10
#HSC OFFIt cancels the HSC mode.20.6
#HSC ONHSC mode. Optimizing the contouring error.20.4
#HSC ON [FAST]HSC mode. Optimizing the machining speed.20.5
#INCJOGManual intervention. Feedrate in incremental jog.9.3.2
#INIT MACROTABMacros. Initialize the table of macros.22.1.17
#ISOISO generation.22.1.6
#KIN IDSelect a kinematics.19.3
#KINORGTransform the current part zero considering the position of the table
kinematics.
#LINKActivate the electronic coupling (slaving) of axes.22.1.7
#MASTERSelecting the master spindle of the channel.7.1.1
#MCALLModal call to a local or global subroutine initializing parameters.14.3.5
#MCSProgram a movement referred to machine zero.5.1
#MCS OFFCancel the machine coordinate system.5.1
#MCS ONActivate the machine coordinate system.5.1
#MDOFFTurning the subroutine into non-modal.14.4
#MEETChannels. It activates the mark in the indicated channel.22.1.19
#MOVEIndependent axis. Positioning move.22.1.20
#MPGManual intervention. Resolution of the handwheels.9.3.3
#MSGDisplay a message on the screen.22.1.3
#PARKPark an axis.22.1.8
#PATHDefine the location of the global subroutines.14.4
#PATHNDSmooth the path.12.5
#PCALLCall to a global or local subroutine initializing parameters.14.3.4
#POLYPolynomial interpolation.22.1.15
#RENAME AXRename the axes.22.1.9
#RENAME SPRename the spindles.22.1.10
#REPOSRepositioning axes and spindles from an OEM subroutine.14.8.1
#RETEnd of a global or local subroutine.14.2
#RETDSBLKExecute subroutine as a single block.14.3.7
#ROUNDPARType of corner rounding.11.3.1
#ROTATEMZPositioning a turret magazine.6.4
#RPTBlock repetition.22.1.18
#RTCPRTCP transformation.19.6
#SCALEScaling factor.11.10
#SELECT ORISelect onto which rotary axes of the kinematics the tool orientation is
calculated for a given direction on the work piece (part).
#SERVO ONActivates the closed loop mode.22.1.12
#SERVO OFFActivates the open loop mode.22.1.12
#SET AXSet axis configuration.22.1.9
#SET OFFSETManual intervention. Manual path movement limits.
#SET SPSet spindle configuration.22.1.10
#SIGNALChannels. It activates the mark in its own channel.22.1.19
#SLOPEAcceleration control.22.1.16
#SPLINE OFFAkima splines. It cancels spline adaptation.22.1.14
#SPLINE ONAkima splines. It activates spline adaptation.22.1.14
#SYNCSpindle synchronization. Synchronization of the real coordinate.22.1.11
#SYNC POSManual intervention. Synchronization of coordinates and additive manual
offset.
#TANGCTRL OFFCancel tangential control.18.1
#TANGCTRL ONActivate tangential control.18.1
#TANGCTRL SUSPFreeze tangential control.18.2
#TANGFEED RMINMinimum contouring radius for applying constant feedrate6.2.3
#TCAM ONActivate the electronic cam (theoretical coordinates).22.1.21
#TFOLLOW ONIndependent axis. Begin the synchronization movement (theoretical
coordinates).
#TIMEDwell12.1
#TLCCorrect the implicit tool length compensation of the program.19.7
#TOOL AXLongitudinal tool axis selection.4.4
#TOOL ORITool perpendicular to the inclined plane.19.5
19.11
19.9
9.3.4
9.3.5
22.1.20
1.
CREATING A PROGRAM.
List of statements and instructions.
CNC 8070
(REF: 1709)
·45·
Page 46
1.
Programming manual.
InstructionMeaning
#TSYNCSpindle synchronization. Synchronization of the theoretical coordinate.22.1.11
#UNLINKCancel the electronic coupling (slaving) of axes.22.1.7
#UNPARKUnpark an axis22.1.8
#UNSYNCSpindle synchronization. Decouple the spindles.22.1.11
#VIRTAX ONActivate the virtual tool axis.21.1
#VIRTAX OFFCancel the virtual tool axis.21.2
#WAITChannels. It waits for a mark to be activated in the indicated channel.22.1.19
#WAIT FORWait for an event.22.1.22
#WARNINGDisplay a warning on the screen.22.1.2
#WARNINGSTOPDisplay a warning on the screen and interrupt the program.22.1.2
Probing.
#SELECT PROBEProbe selection.
Probing canned cycles. ·M· model (milling).
CREATING A PROGRAM.
List of statements and instructions.
#PROBE 1Tool calibration (dimensions and wear).
#PROBE 2Probe calibration.
#PROBE 3Surfacing measuring.
#PROBE 4Outside corner measuring.
#PROBE 5Inside corner measuring.
#PROBE 6Angle measurement on the abscissa axis.
#PROBE 7Outside corner and angle measurement.
#PROBE 8Hole measuring.
#PROBE 9Circular boss measuring.
#PROBE 10Rectangular part centering.
#PROBE 11Circular part centering.
#PROBE 12Tabletop probe calibration.
Probing canned cycles. ·T· model (lathe).
#PROBE 1Tool calibration.
#PROBE 2Tabletop probe calibration.
#PROBE 3Part measurement along the ordinate axis.
#PROBE 4Part measurement along the abscissa axis.
CNC 8070
(REF: 1709)
·46·
Page 47
Programming manual.
1.8Comment programming.
Any comment may be associated with the blocks. When executing the program, the CNC
ignores this information.
The CNC offers various methods to include comments in the program.
Programming comments in parenthesis "(" and ")".
The comment must go in parenthesis "(" and ")". Comments programmed this way need not
go at the end of the block; it may go in the middle and there may be more than one comment
in the same block.
N10 G90 X23.45 F100 (comment) S200 M3 (comment)
Programming comments with the ";" character.
The information to be considered as comment must go after the ";" character . The commen t
may be programmed alone in the block or may be added at the end of a block.
N10 G90 X23.45 T1; comment
Programming comments with the #COMMENT instruction.
The instructions #COMMENT BEGIN and #COMMENT END indicate the beginning and end of
a comment. The blocks programmed between them are considered by the CNC as a single
comment and are ignored when executing the program.
They are fixed values that cannot be modified by program; constants are numbers in decimal,
binary and hexadecimal system and read-only tables and variables because their value
cannot be changed within a program.
Hexadecimal values are represented preceded by the $ symbol.
Hexadecimal
$4A
Decimal
74
Binary
0100 1010
Variables.
The CNC has a number of internal variables that may be accessed from the user program,
from the PLC or from the interface.
User variables.
The user can create his own variables. These are read-write variab les and are evaluated
during block preparation.
The mnemonics of the variables are the following. Replace the suffix name with the name
of the variable.
V.P .name- Local user variable.
V.S.name- Global user variable.
V.P.myloc alvar
V.S.myg lobalvar
Local user variables may only be accessed from the program or subroutine where they have
been programmed. Global user variables will be shared by the program and the subroutines
of the channel.
Global user variables maintain their value after a reset.
Initialize the user variables.
V ariables are deleted when the CNC is turned off and they can also be deleted from the partprogram using the #DELETE instruction. This statement may be used to initialize the global
and local variables stored in the CNC, even if they are not being used by the program. The
#DELETE instruction must always go with some variable; it must not be programmed alone
in the block.
Arithmetic parameters are general purpose variables that the user may utilize to create
his/her own programs. The CNC has global, local and common arithmetic parameters. The
range of available parameters of each type is defined in the machine parameters.
Arithmetic parameters are programmed with the "P" code followed by the parameter number.
The has some tables for consulting the value of these parameters; refer to the operating
manual to learn how to handle these tables.
The user may use the arithmetic parameters when editing its own prog rams. During
execution, the CNC will replace these parameters with the values assigned to them at the
time.
Local parameters can only be accessed from the program or subroutine where they have
been programmed. There are seven groups of local parameters in each channel.
The maximum range of local parameters is P0 to P99, the typical range being P0 to P25.
When the parameters are used in the block calling a subroutine may also be referred to by
the letters A-Z (except Ñ and Ç) so "A" is the same as P0 and "Z" the same as P25.
Global arithmetic parameters.
Global parameters can be accessed from any program and subroutine called from a
program. The value of these parameters is shared by the program and the subroutin es.
There is a group of global parameters in each channel.
The maximum range of global parameters is P100 to P9999, the typical range being P100
to P299.
Common arithmetic parameters.
The common parameters may be accessed from any channel. The value of these
parameters is shared by all the channels. Reading and writing these parameters interrupts
block preparation.
The maximum range of common parameters is P10000 to P19999, the typical range being
P10000 to P10999.
CREATING A PROGRAM.
Programming the arithmetic parameters.
In blocks programmed in ISO code, it is possible to define the values of all the fields "N",
"G", "F", "S", "T", "D", "M", "H", "NR" and axis coordinates using parameters. Using indirect
addressing, it is also possible to define the number of a parameter with another parameter;
"P[P1]", "P[P2+3]".
In blocks having statements, the values of any expression may be defined with parameters.
CNC 8070
(REF: 1709)
·49·
Page 50
1.
1.1 1Arithmetic and logic operators and functions.
An operator is a symbol that indicates the mathematical or logic operations to carry out. The
CNC offers the following types of operators.
Arithmetic operators.
To perform arithmetic operations.
+A ddP1 = 3+4P1=7
-Subtract
Change sign
*MultiplyP3 = 2*3P3=6
/DivisionP4 = 9/2P4=4.5
MODModule or remainder of a divisionP5 = 5 MOD 2P5=1
**ExponentP6 = 2**3P6=8
In the operation, when using the parameter or variable storing the result, the add, subtract,
multiply and divide operators may be used as follows:
In the "EXIST" function, programming "$IF EXIST[P1] == TRUE" is the same as
programming "$IF EXIST[P1]".
CNC 8070
(REF: 1709)
·51·
Page 52
1.
1.12Arithmetic and logic expressions.
CREATING A PROGRAM.
Arithmetic and logic expressions.
Programming manual.
An expression is any valid combination of operators, constants, parameters and variables.
Expressions may be used to program the numerical portion of any function, statement, etc.
The priorities of the operators and the way they can be associated determine how these
expressions are calculated:
Priority from highest to lowestTo be associated
Functions, - (change sign)from right to left.
** (exponent), MOD (remainder)from left to right.
* (multiplication, logic AND), / (division)from left to right.
+ (suma, OR lógico), - (resta)from left to right.
Relational operatorsfrom left to right.
& (AND),^ (XOR)from left to right.
| (OR)from left to right.
Brackets should be used in order to clarify the order in which the expression is to be
evaluated. Using redundant or additional brackets will neither cause errors nor slow down
the execution.
P3 = P4/P5 - P6 * P7 - P8/P9
P3 = [P4/P5] - [P6 * P7] - [P8/P9]
Arithmetic expressions.
Their result is a numerical value. They consist of a combination of arithmetic and binary
operators with constants, parameters and variables.
This type of expressions may also be used to assign values to parameters and variables:
Their result is a TRUE or a FALSE. They combine relational and logic operators with
arithmetic expressions, constants, parameters and variables.
... [P8==12.6] ...
It compares if the value of P8 is equal to 12.6.
... ABS[SIN[P4]] > 0.8 ...
It compares if the absolute value of the sine of P4 is greater than 0.8.
... [[P8<=12] + [ABS[SIN[P4]] >=0.8] * [V.G.TOOL==1]] ...
CNC 8070
(REF: 1709)
·52·
Page 53
MACHINE OVERVIEW
2.1Axis nomenclature
With this CNC, the manufacturer may select up to 28 axes (that must be properly defined
as linear, rotary , etc. by setting machine parameters), without no limitation as how to program
them and they may all be interpolated at the same time.
The DIN 66217 standard denomination for the axes is:
X-Y -ZMain axes of the machine. The X-Y axes form the main work plane whereas the
Z axis is parallel to the main axis of the machine and perpendicular to the XY
plane.
U-V-WAuxiliary axes, parallel to X-Y-Z respectively.
A-B-CRotary axes, on X-Y-Z respectively.
However, the machine manufacturer may call the axes differently.
2
As an option, the name of the axes may be followed by a number between 1 and 9 (X1, X3,
Y5, A8...).
Axis nomenclature on different machines.
CNC 8070
(REF: 1709)
·53·
Page 54
2.
Programming manual.
Right-hand rule
The direction of the X-Y-Z axes can easily be remembered using the right-hand rule (see
the drawing below).
On rotary axes, the positive turning direction is determined by the direction pointed by your
fingers when holding the rotary axis with your hand while your thumb points in the positive
direction of the linear axis.
Axis nomenclature
MACHINE OVERVIEW
CNC 8070
(REF: 1709)
·54·
Page 55
Programming manual.
P(X,Y,Z)
(1,2,5)
(3,4,0)
(5,7,-2)
2.2Coordinate system
Since one of the CNC's purposes is to control the movement and positioning of the axes,
a coordinate system is required that permits defining the position of the various target
(destination) points in the plane (2D) or in space (3D).
The main coordinate system is formed by the X-Y-Z axes. These axes are perpendicular to
each other and they meet at the origin point used as reference for the various points.
2.
Coordinate system
MACHINE OVERVIEW
The position of a point "P" in the plane or in space is defined by its coordinates on the various
axes.
Other types of axes such as auxiliary and rotary axes may also be part of the coordinate
system.
CNC 8070
(REF: 1709)
·55·
Page 56
2.
Example of the various coordinate systems on a milling machines.
XM YM ZMMachine reference system.
XF YF ZFFixture reference system.
XW YW ZW Part reference system (datum point).
Programming manual.
2.3Reference systems
A machine may use the following reference systems.
• Machine reference system.
It is the coordinate system of the machine and it is set by the manufacturer of the machine.
• Fixture reference system.
It establishes a coordinate system associated with the fixtures being used. It is activated
by program and may be set by the operator in any position of the machine.
When the machine has several fixtures, each one may have its own reference system
associated with it.
• Part reference system (datum point).
It establishes a coordinate system associated with the part being machined. It is activated
by program and may be set by the operator anywhere on the part.
Reference systems
MACHINE OVERVIEW
CNC 8070
(REF: 1709)
·56·
Page 57
Programming manual.
2.3.1Origins of the reference systems
The position of the different reference systems is determined by their respective origin points.
O
M
Machine zero.
It is the origin point of the machine reference system, set by the machine manufacturer.
O
F
Fixture zero
It is the origin point of the fixture reference system being used. Its position is defined by the
operator by using the "fixture offset" and is referred to machine zero.
The "fixture offset" may be set by program or from the CNC's front panel, as described in
the Operating Manual.
O
W
Part zero
It is the origin point of the reference system of the part (workpiece). Its position is set by the
operator using the "zero offset" and is referred:
• To the fixture offset, if the fixture reference system is active. When changing the fixture
reference system, the CNC updates the part zero position by referring to the new fixture
zero point.
• To the machine zero point (home), if the fixture reference system is NOT active. When
activating the fixture reference system, the CNC updates the part zero position by
referring it to the fixture zero point.
The "zero offset" may be set from the program or from the CNC front panel as described in
the Operating Manual.
2.
Reference systems
MACHINE OVERVIEW
Zero offset when:
(A)The fixture reference system is activated.
(B)The fixture reference system is deactivated.
CNC 8070
(REF: 1709)
·57·
Page 58
2.
Z
X
O
M
O
W
X
MH
X
MW
Z
MW
Z
MH
H
X
Z
H
O
M
O
W
Z
MH
Z
MW
X
MH
i
2.4Home search
2.4.1Definition of "Home search"
Home search
MACHINE OVERVIEW
Programming manual.
It is the operation used to synchronize the system. This operation must be carried out when
the CNC loses the position of the origin point (e.g. by turning the machine off).
In order to perform the "Home search", the machine manufacturer has set particular points
of the machine; the machine zero and the machine reference point.
• Machine zero.
It is the origin point of the machine reference system.
• Machine reference point.
It is the physical point where the system is synchronized (except when the machine uses
distance-coded reference marks or absolute feedback). It may be located anywhere
I
0
on the machine.
When "searching home", the axes move to the machine reference point and the CNC
assumes the coordinate values assigned to that point by the machine manufacturer , referred
to machine zero. When using I
distance-coded reference marks or absolute feedback, the
0
axes will only move the distance necessary to verify their position.
CNC 8070
(REF: 1709)
O
M
O
W
H
X
MH YMH ZMH
XWH YWH Z
Machine zero.
Part zero.
Machine reference point.
Coordinates referred to machine reference system.
Coordinates referred to the part reference system.
WH
When programming a "Home search", neither the fixture offsets nor the zero offsets are canceled;
therefore, the coordinates are displayed in the active reference system.
On the other hand, if "Home search" is carried out one axis at a time in JOG mode (not in MDI), the
active offsets are canceled and the coordinates being displayed are referred to machine zero.
·58·
Page 59
Programming manual.
G74 X1 Y2
G74 X2 Z1 A3
G74 Z1 Y2 X3 U2
G74 X1=1 X2=2
G74 X1=2 X2=1 A4 Z1=3
2.4.2"Home search" programming
When programming a "Home search", the axes are homed sequentially in the order set by
the operator. All the axes need not be included in the "Home search", only those being
homed.
The "Home search" is programmed using the G74 function followed by the axes to be homed
and the number indicating their homing order. If the same order number is assigned to
several axes, those axes start homing at the same time and the CNC waits for all of them
to end before homing the next one.
When having numbered axes, they may be defined together with the other ones by assigning
them the order number as follows.
2.
Home search
MACHINE OVERVIEW
Spindle home search
The spindle home search is always carried out together with the first axis regardless of the
order in which it has been defined.
Home search and loop status.
Axes usually work in closed loop, although rotary axes can also work in open loop so they
can be controlled as if they were spindles.
The home search is carried out with the axes and spindles controlled in position; i.e. in closed
position loop. The CNC will close the position loop automatically on all axes and spi ndles
for which a home search has been programmed using function G74.
Using an associated subroutine
If the machine manufacturer has associated a home-search subroutine to the G74 function,
this function may be programmed alone in the block and the CNC will automatically execute
the associated subroutine [G.M.P. "REFPSUB (G74)"].
When using a subroutine, the "Home search" is carried out exactly as described earlier.
CNC 8070
(REF: 1709)
·59·
Page 60
2.
Programming manual.
Home search
MACHINE OVERVIEW
CNC 8070
(REF: 1709)
·60·
Page 61
COORDINATE SYSTEM
3.1Programming in millimeters (G71) or in inches (G70)
The displacements and feedrates of the axes may be defined in millimeters or in inches. The
unit system may be selected by program using the following functions:
G70Programming in inches.
G71Programming in millimeters.
Both functions may be programmed anywhere in the program; they do not have to go alone
in the block.
Operation
After executing one of these functions, the CNC assumes that unit system for the following
blocks. If none of these functions is programmed, the CNC uses the unit system set by
machine manufacturer [G.M.P. "INCHES"].
3
When changing the unit system, the CNC converts the currently active feedrate into the new
unit system.
...
G01 G71 X100 Y100 F508(Programming in millimeters.)
(Feedrate: 508 mm/minute)
...
G70(It changes the units.)
(Feedrate: 20 inches/minute)
...
Properties of the functions
The G70 and G71 functions are modal and are incompatible.
On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC
assumes function G70 or G71 as set by the machine manufacturer [G.M.P. "INCHES"].
CNC 8070
(REF: 1709)
·61·
Page 62
3.
3.2Absolute (G90) or incremental (G91) coordinates.
COORDINATE SYSTEM
Programming manual.
The coordinates of the various points may be defined in absolute coo rdina te s (re fe rred to
the active origin point) or incremental coordinates (referred to the current position). The type
of coordinates may be selected by program using the following functions:
G90Programming in absolute coordinates.
G91Programming in incremental coordinates.
Both functions may be programmed anywhere in the program; they do not have to go alone
in the block.
Operation
After executing one of these functions, the CNC assumes that programming mode for the
following blocks. If none of these functions is programmed, the CNC uses the work mode
selected by machine manufacturer [G.M.P. "ISYSTEM"].
Depending on the active work mode (G90/G91), the coordinates of the points are defined
as follows:
• When programming in absolute coordinates (G90), the coordinates of the point are
referred to the current origin of the coordinate system, usually the part zero.
• When programming in incremental coordinates (G91), the coordinates of the point are
referred to the current tool position. The preceding sign indicates the direction of the
movement.
The G90 and G91 functions are modal and incompatible with each other.
On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC
assumes function G90 or G91 as set by the machine manufacturer [G.M.P. "ISYSTEM"].
Page 63
Programming manual.
3.2.1Rotary axes.
The CNC admits different ways to configure a rotary axis depending on how it is going to
move. Hence, the CNC can have rotary axes with travel limits, for example between 0º and
180º (linearlike rotary axis); axes that always move in the same direction (unidirectional
rotary axis); axes that choose the shortest path (positioning-only rotary axis).
All rotary axes must be programmed in degrees; therefore, they will not be affected by the
mm-inch conversion. The number of revolutions the axis will turn when programming a
distance greater than the module depends on the type of axis. The limits to display the
position values (coordinates) also depend on the type of axis.
Linearlike rotary axis.
The axis behaves like a linear axis, but it is programmed in degrees. The CNC displays the
position values between the travel limits.
Normal rotary axis.
This type of rotary axis can turn in both directions. The CNC displays the position values
between the limits of the module.
3.
COORDINATE SYSTEM
G90 movements.G91 movements.
The sign of the position value indicates the
moving direction; the absolute position value
indicates the target position.
Even if the programmed distance is greater than
the module, the axis never turns more than one
revolution.
Normal incremental movement. The sign of the
position value indicates the moving direction; the
absolute position value indicates the position
increment.
If the programmed distance is greater than the
module, the axis turns more than one revolution.
Unidirectional rotary axis.
This type of rotary axis only moves in one direction, the one that has been preset for it. The
CNC displays the position values between the limits of the module.
Absolute (G90) or incremental (G91) coordinates.
G90 movements.G91 movements.
The axis moves in the preset direction up to the
programmed position.
Even if the programmed distance is greater than
the module, the axis never turns more than one
revolution.
The axis only admits movements in the preset
direction. The sign of the position value indicates
the moving direction; the absolute position value
indicates the position increment.
If the programmed distance is greater than the
module, the axis turns more than one revolution.
CNC 8070
(REF: 1709)
·63·
Page 64
3.
COORDINATE SYSTEM
Programming manual.
Positioning-only rotary axis.
This type of rotary axis can move in both directions; but in absolute movements, it only moves
via the shortest path. The CNC displays the position values between the limits of the module.
G90 movements.G91 movements.
The axis moves via the shortest path up to the
programmed position.
Even if the programmed distance is greater than
the module, the axis never turns more than one
revolution.
Normal incremental movement. The sign of the
position value indicates the moving direction; the
absolute position value indicates the position
increment.
If the programmed distance is greater than the
module, the axis turns more than one revolution.
Absolute (G90) or incremental (G91) coordinates.
CNC 8070
(REF: 1709)
·64·
Page 65
Programming manual.
3.3Absolute and incremental coordinates in the same block (I).
The "I" command may be added to the programmed coordinate and it may be used to make
it incremental. This command is non-modal and indicates that the coordinate is programmed
incrementally , regardless of the rest of the block and of the G90/G91 function that is currently
active. This way, it is possible to program absolute and incremental movements in the same
block without having to use the G90/G91 functions. This kind of incremental programming
is the same as G91 regardless of the scope of the applica tio n and of the result.
Programming.
This kind of incremental programming is only allowed when programming Cartesian or Polar
coordinates. Add the "I" command after the numeric value of the coordinate to be
programmed incrementally.
G01 X12.4 Y-0.2 Z10I
X and Y axis movement in absolute coordinates.
Incremental Z axis movement.
G02 X100 Y10I I20 J0
The X coordinate of the end point is programmed in absolute (X100) and the Y
coordinate in incremental (Y10I).
The first point (X35 Y20) is in absolute coordinates. The X coordinate of the second
point is programmed in incremental (I-15I) and the Y coordinate is absolute (J25).
Axis programming.
Regarding the axes, the CNC admits incremental programming when they represent
coordinates (position values), blocks like G00, G01, G02, etc and G198, G199 (software
limits). The incremental format is not allowed when the axes have a different meaning (G112,
G74, G14, etc).
3.
COORDINATE SYSTEM
Absolute and incremental coordinates in the same block (I).
Axis programming using wild cards .
The CNC allows incremental programming in the wild-cards for the axes; for @1, @2, @3
and for all the ?n.
@1=12I @2=-34I @3=12.6I
?1=24I ?5=-23I
Parametric programming.
The CNC allows incremental programming the parameters are used as coordinates (position
values).
XP1I
X-P10I
Z [P10+P20]I
Z2=P14I
Canned cycles.
In the canned cycles, incremental programming is only allowed in the prior movement; it is
not allowed in their entry parameters.
X100I G81 I-25
CNC 8070
(REF: 1709)
·65·
Page 66
3.
i
Programming manual.
3.4Programming in radius (G152) or in diameters (G151).
The following functions are oriented to lathe type machines. Programming in diameters is only available
on the axes allowed by the machine manufacturer (DIAMPROG=YES).
Programming in radius or diameters may be selected by program with these functions:
G151Programming in diameters.
G152Programming in radius.
These functions may be programmed anywhere in the program an d they don't have to go
alone in the block.
Operation
After executing one of these functions, the CNC assumes that programming mode for the
following blocks.
COORDINATE SYSTEM
CNC 8070
Programming in radius (G152) or in diameters (G151).
Programming in radius.Programming in diameters.
When switching programming modes, the CNC changes the way it displays the coordinates
of the corresponding axes.
Function properties
Functions G151 and G152 are modal and incompatible with each other.
On power-up, after executing an M02 or M30, and after an EMERGENCY or RESET, the
CNC assumes function G151 if machine parameter DIAMPROG of any of the axes is set
to YES.
(REF: 1709)
·66·
Page 67
Programming manual.
3.5Coordinate programming
3.5.1Cartesian coordinates
Coordinates are programmed according to a Cartesian coordinate system. This system
consists of two axes in the plane and three or more in space.
Definition of position values
The position of a point in this system is given by its coordinates in the different axes. The
coordinates are programmed in absolute or incremental coordinates and in millimeters or
inches.
Standard axes (X...C)
The coordinates are programmed with the axis name followed by the coordinate value.
3.
Coordinate programming
COORDINATE SYSTEM
Numbered axes (X1...C9)
If the axis name is like X1, Y2... the "=" sign must be included between the axis name and
the coordinate.
CNC 8070
(REF: 1709)
·67·
Page 68
3.
Programming manual.
3.5.2Polar coordinates
When having circular elements or angular dimensions, polar coordinates may be more
convenient to express the coordinates of the various points in the plane.
This type of coordinates requires a reference point referred to as "polar origin" that will be
the origin of the polar coordinate system.
Definition of position values
The position of the various points is given by defining the radius "R" and the angl e "Q" as
follows:
RadiusIt will be the distance between the polar origin and the point.
AngleIt will be the one formed by the abscissa axis and the line joining the polar
origin with the point.
Coordinate programming
COORDINATE SYSTEM
RRadius
QAngle
OPPolar origin
The radius may be given in mm or in inches whereas the angle is given in degrees.
Both values may be given in either absolute (G90) or incremental (G91) coordinates.
• When working in G90, the "R" and "Q" values will be absolute. The value assigned to
the radius must always be positive or zero.
• When working in G91, the "R" and "Q" values will be incremental. Although negative "R"
values may be programmed, when programming in incremental coordinates, the
resulting value assigned to the radius must always be positive or zero.
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.
Polar origin preset
The "polar origin" ma y be sele cted from the pr ogra m usi ng funct ion G30 . If not sele ct ed, it
assumes as "polar origin" the origin of the active reference system (part zero). See chapter
"5 Origin selection".
CNC 8070
(REF: 1709)
·68·
The selected "polar origin" is modified in the following instances:
• When changing the work plane, the CNC assumes the part zero as the new "polar origin".
• On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC
assumes the part zero as the new polar origin.
Page 69
Programming manual.
P1
P2
P3
P4
P5
P6
50
30
o
60
o
P0
Y
X
RQ
P00
P1 10000
P2
P3
P4
100
50
50
30
30
60
P5 10060
P6 10090
10
6
10
10
25
25
15
15
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
Ow
R
P146
P2
P3
P4
31
16
16
P510
P610
P716
P8
P9
P10
31
31
46
Q
65
80
80
65
65
115
100
100
115
115
Y
X
P0
P1
P2
P3
P4
P5
P6
63.4
o
45
o
33.7
o
RQ
P0 430
P1 430033.7
P2
P3
P4
340
290
230
45
33.7
45
P5 360 63.4
P6 360 90
X
Z
Examples. Point definition in polar coordinates.
3.
Coordinate programming
COORDINATE SYSTEM
CNC 8070
(REF: 1709)
·69·
Page 70
3.
3.5.3Angle and Cartesian coordinate.
Coordinate programming
COORDINATE SYSTEM
Programming manual.
In the main plane, a point may be defined using one of its Cartesian coordinates (X..Z) and
the angle (Q) formed by the abscissa axis and the line joining the starting point and the final
point. To represent a point in space, the rest of the coordinates may be programmed in
Cartesian coordinates.
Both values, coordinate and angle, must always be programmed; otherwise, compatibility
is maintained with Polar/Cartesian programming. This type of programming is valid for linear
and circular interpolations.
• The coordinates may be absolute (G90) or increment (G91) and may be given in mm or
inches.
• The angle will always be an absolute value (regardless of the active G90/G91 function)
and it must be given in degrees.
G90 G00 X35 Y15
G01 Y40 Q120 F500
Like in Polar programming, coordinate-angle programming is not possible whi le the MCS
function is active.
G90 G00 X35 Y15
G03 Y30 Q135 R15 F500
Programming example (·M· model)
CNC 8070
(REF: 1709)
·70·
G00 G90 X0 Y20 ; Point P0
G01 X30 Q45 ; Point P1
G01 Y60 Q90 ; Point P2
G01 X50 Q-45 ; Point P3
G01 Y20 Q-135 ; Point P4
G01 X10 Q180 ; Point P0
Page 71
Programming manual.
Programming example (·T· model)
G00 G90 X0 Z160 ; Point P0
G01 X30 Q90 ; Point P1
G01 Z110 Q150 ; Point P2
G01 Z80 Q180 ; Point P3
G01 Z50 Q145 ; Point P4
G01 X100 Q90 ; Point P5
3.
Coordinate programming
COORDINATE SYSTEM
CNC 8070
(REF: 1709)
·71·
Page 72
3.
Coordinate programming
COORDINATE SYSTEM
Programming manual.
CNC 8070
(REF: 1709)
·72·
Page 73
WORK PLANES.
The work planes determine which axes define the work plane/trihedron and which axis
corresponds to the longitudinal axis of the tool. Plane selection is required to execute
operations like:
• Circular and helical interpolations.
• Corner chamfering and rounding.
• Tangential entries and exits.
• Machining canned cycles.
• Tool radius and length compensation.
These operations, except tool length compensation, can only be executed in the active work
plane. T ool length compensation, on the other hand, can only be applied on the longitudinal
axis.
4
Commands for changing the work planes.
Mill model or lathe model with "trihedron" type axis configuration.
Function.Meaning.
G17Main plane formed by the first a xis (abscissa), second (ordinate) and third axis
(perpendicular) of the channel.
G18Main plane formed by the third axis (abscissa), first axis (ordinate) and second axis
(perpendicular) of the channel.
G19Main plane formed by the second axis (abscissa), third axis (ordinate) and first axis
(perpendicular) of the channel.
G20Select any work plane formed by the first three axes of the channel.
Instruction.Meaning.
#TOOL AXSelect the longitudinal axis of the tool.
Lathe model with "plane" type axis configuration.
Function.Meaning.
G18Main plane formed by the second axis (abscissa) and first axis (ordinate) of the
channel.
G20Select the longitudinal axis of the tool.
Instruction.Meaning.
#TOOL AXSelect the longitudinal axis of the tool.
CNC 8070
(REF: 1709)
·73·
Page 74
4.
X+
Z+
X+
Z+
Y+
Programming manual.
4.1About work planes on lathe and mill models.
The operation of the work planes depends on the geometric configura tion of the a xes. At
a mill model, the geometric configuration of the axes is always of the "trihedron" type whereas
at a lathe model, the geometric configuration of the axes may be eith er a "trih edron" type
or a "plane" type (parameter GEOCONFIG).
WORK PLANES.
Configuration of "plane" type axes.Configuration of "Trihedron" type axes.
About work planes on lathe and mill models.
Configuration of "Trihedron" type axes (lathe or mill model).
This configuration has three axes forming a trihedron Cartesian XYZ type . There may be
more axes, besides those forming the trihedron; that may be part of the thihedron or be
auxiliary axes, rotary axes, etc.
The order of the axes in the channel sets the main work planes, those selected with functions
G17, G18 and G19. Function G20 may be used to form any work plane with the first three
axes of the channel. The work plane by default is set by the manufacturer (parameter
IPLANE), the usual plane being G17 at a mill model and G18 at a lathe model.
The CNC displays the ·G· functions associated with the work planes.
Configuration of "plane" type axes (lathe model).
This configuration has two axes forming the usual work plane on a lathe. There may be more
axes, but they cannot be part of the trihedron; there must be auxiliary, rotary, etc.
With this configuration, the work plane is always G18 and will be formed by the first two axes
defined in the channel, the second axis as abscissa and the first axis as ordinate. The ·G·
functions associated with the work planes have the following effects.
Function.Meaning.
G17It does not change planes and shows a warning about it.
G18It has no effect (except when function G20 is active).
G19It does not change planes and shows a warning about it.
G20It is permitted if it does not change the main plane; i.e. it can only be used to change
the longitudinal axis.
CNC 8070
(REF: 1709)
·74·
The CNC does not display the ·G· functions associated with the work planes because it is
always the same plane.
Page 75
Programming manual.
4.2Select the main new work planes.
4.2.1Mill model or lathe model with "trihedron" type axis configuration.
The main planes may be selected by program using functions G17, G18 and G19 and are
formed by two of the first three axes of the channel. Ther third axis corresponds to the axis
perpendicular to the plane, which coincides with the longitudinal axis of the tool, the one on
which tool length compensation is applied.
G17Main plane formed by the first axis (abscissa), second (ordinate) and third axis
(perpendicular) of the channel.
G18Main plane formed by the third axis (abscissa), first axis (ordinate) and second
axis (perpendicular) of the channel.
G19Main plane formed by the second axis (abscissa), third axis (ordinate) and first
axis (perpendicular) of the channel.
The OEM, can use machine parameter LCOMPTYP to change the behavior of the
longitudinal axis when changing planes so the CNC keeps the longitudinal axis that was
active before changing planes.
Function G20 may select any plane with the first three axes of the channel. Function G20
and the instruction #TOOL AX can change the longitudinal axis of the tool.
4.
WORK PLANES.
Programming.
These functions may be programmed anywhere in the program and they don't have to go
alone in the block.
Programming format.
The programming format is:
G17
G18
G19
G17
G18
G19
Properties of the function and Influence of the reset, turning the
CNC off and of the M30 function.
Functions G17, G18, G19 and G20 are modal and incompatible with each other. On powerup, after an M02 or M30 and after an emergency or a reset, the CNC assumes function G17
or G18 as set by the machine manufacturer (par ame t er " IPL ANE" ).
Select the main new work planes.
CNC 8070
(REF: 1709)
·75·
Page 76
4.2.2Lathe model with "plane" type axis configuration.
The work plane is always G18 and will be formed by the first two axes defined in the channel.
Functions G17 and G19 have no meaning for the CNC.
G18Main plane formed by the second axis (abscissa) and first axis (ordinate) of the
channel.
In the case of lathe tools, tool length compensation is applied on all the axes where a tool
offset has been defined.
Programming manual.
4.
WORK PLANES.
Select the main new work planes.
On milling tools, tool length compensation is applied on the second axis of the channel. If
the X (first axis of the channel) and Z (second axis of the channel) axes have been defined,
the work plane will be the ZX and Z will be the longitudinal axis. Function G20 and the
instruction #TOOL AX can change the longitudinal axis of the tool.
Programming.
These functions may be programmed anywhere in the program an d they don't have to go
alone in the block.
Programming format.
The programming format is:
G18
G18
Properties of the function and Influence of the reset, turning the
CNC off and of the M30 function.
Functions G18 and G20 are modal and incompatible with each other. On power-up, after
executing an M02 or M30, and after an emergency or reset, the CNC assumes function G18.
CNC 8070
(REF: 1709)
·76·
Page 77
Programming manual.
4.3Select any work plane and longitudinal axis.
The meaning of function G20 depends on the type of configuration of the machines axes;
"plane" type for lathe or "trihedron" type for lathe or mill.
• When the axis configuration is of trihedron type, function G20 allows defining any work
plane formed by the first three axes of the channel. T o build a plane with other axes, first
include them in the main trihedron (instruction #SET AX).
• When the axis configuration is of plane type, the work plane is always G18 and function
G20 allows changing the longitudinal axis of the tool.
Programming.
When programming this instruction, you must define the new abscissa and ordinate axes
of the plane and the longitudinal axis of the tool. If the longitudinal axis coincides with one
of the axes of the plane, you must also define which axis is perpendicular to the plane.
4.
Programming format.
The programming format is the following; the list of arguments appears between curly
brackets and the optional ones between angle brackets.
Values for setting the location of the axis in the plane.
The work plane is defined by selecting the abscissa and o rdinate axes, th e perpend icula r
axis and the longitudinal axis of the tool. It is selected by assigning one of the following values
to the axes programmed with G20.
Value.Type of axis within the work plane.
1Abscissa axis.
2Ordinate axis.
±3Longitudinal axis of the tool. The sign indicates tool orientation.
4Reserved.
5Axis perpendicular to the work plane, only required when the longitudinal axis of the tool
G20 X1 Z2 Y3
The X axis is the abscissa axis.
The Z axis is the ordinate axis.
The Y axis is the longitudinal axis of the t ool and the axis
perpendicular to the plane.
Value that sets the location of the axis in the plane.
is the same as the abscissa or ordinate axis. Otherwise, the longitudinal axis of the tool
will be the perpendicular axis.
WORK PLANES.
Select any work plane and longitudinal axis.
G20 X1 Y2 X3 Z5
The X axis is the abscissa axis and the longitudinal axis of the
tool.
The Y axis is the ordinate axis.
The Z axis is the axis perpendicular to the plane.
CNC 8070
(REF: 1709)
·77·
Page 78
4.
Programming manual.
Select the longitudinal axis of the tool.
When selecting the longitudinal axis with G20, tool orientation may be established according
to the programmed sign.
• If the parameter to select the longitudinal axis is positi ve, the tool is positi oned in the
positive direction of the axis.
• If the parameter to select the longitudinal axis is ne gative, the tool is positioned in the
negative direction of the axis.
WORK PLANES.
Select any work plane and longitudinal axis.
G20 X1 Y2 Z3G20 X1 Y2 Z-3G20 X1 Y2 X-3 Z5
Properties of the function and Influence of the reset, turning the
CNC off and of the M30 function.
Function G20 is modal and incompatible with G17, G18 and G19. On power-up, after an M02
or M30 and after an emergency or a reset, the CNC assumes function G17 or G18 as set
by the machine manufacturer (parameter "IPLANE").
CNC 8070
(REF: 1709)
·78·
Page 79
Programming manual.
4.4Select the longitudinal axis of the tool.
The instruction #TOOL AX allows changing the longitudinal axis of the tool except on those
for turning. This instruction allows to select any machine axis as the new longitudinal axis.
Programming.
When programming this instruction, you must define the new axis and the orientation of the
tool.
Programming format.
The programming format is the following; the list of arguments appears inside the curly
brackets.
With this CNC, it is possible to program movements in the machine reference system or apply
offsets in order to use reference systems referred to the fixtures or the part without having
to change the coordinates of the different points of the part in the program.
There are three different offset types; fixture offset, zero offsets and PLC offsets. The CNC
may have several of these offsets active at the same time, in that case, the system coordinate
origin being used will be defined by the sum of the active offsets.
Type of offset.Description.
Fixture offset.Distance between the machine reference zero and the fixture's
Zero offset.Distance between the fixture's zero point and the part zero. If the
PLC offset.Special offset handled by the PLC that is used to correct the
5
zero point.
On machines using several fixtures, this offsets allows selecting
the particular fixture to be used.
fixture zero is not active (no fixture offset), the zero offset is
measured from machine zero.
The zero offset may be set by presetting a coordinate or a zero
offset.
deviations due to dilatations, etc.
The PLC always applies this offset, even when programming
with respect to machine zero.
CNC 8070
(REF: 1709)
·81·
Page 82
5.
ORIGIN SELECTION
Programming manual.
5.1Programming with respect to machine zero
Machine zero is the origin of the machine reference system. Movements referred to machine
zero are programmed using the instructions #MCS and #MCS ON/OFF.
Program a movement referred to machine zero.
This instruction may be added to any block containing a movement so it is executed in the
machine reference system.
The #MCS ON and #MCS OFF instructions activate and deactivate the machine reference
system; therefore, the movements programmed between them are executed in the machine
Programming with respect to machine zero
reference system. Both instructions must be programmed alone in the block.
G92 X0 Y0(Coordinate preset)
G01 X50 Y50
#MCS ON(Beginning of programming referred to machine zero)
G01 ...
G02 ...
G00 ...
#MCS OFF(End of programming referred to machine zero. Offsets restored)
Considerations for movements referred to machine zero.
Zero offsets and co or dinate transformations
When executing a movement referred to machine zero, the CNC ignores the active offset s
(except the PLC offset), the kinematics and cartesian transformations; therefore, the
movement is carried out in the machine reference system. Once the movement has ended,
the CNC restores the offsets, kinematics and cartesian transformations that were active.
The programmed movements do not admit polar coordinates, nor other kinds of
transformations such as mirror image, coordinate (pattern) rotation or scaling factor. While
the #MCS function is active, functions for setting a new origin such as G92, G54-G59, G158,
G30, etc. are not admitted either.
CNC 8070
(REF: 1709)
·82·
Tool radius and length compensation
Tool radius and length compensation is also canceled during the movements referred to
machine zero. The CNC assumes that the coordinates have been programmed with respect
to the tool base, not to the tool tip.
Page 83
Programming manual.
System units; millimeters or inches
When moving with respect to machine reference zero, the G70 or G71 units
(inches/millimeters) selected by the user are ignored. It assumes the units predefined at the
CNC (INCHES parameter); assumed by the CNC on power-up. These units are assumed
for defining the coordinates, for the feedrate and for the speed.
5.
ORIGIN SELECTION
Programming with respect to machine zero
CNC 8070
(REF: 1709)
·83·
Page 84
5.2Set the machine coordinate (G174).
i
Use this function with caution. Changing the machine coordinate can cause the axes to exceed the
travel limits during the movement.
Function G174 may be used to set the machine coordinate of an axis or spindle; in other
words, temporarily set a new machine zero. The new machine coordinate stays active until
the axis or spindle is homed; then, the CNC restores the original machine reference zero
(set in the machine parameters).
Programming manual.
5.
ORIGIN SELECTION
Set the machine coordinate (G174).
After executing function G174, the CNC assumes that the programmed coordinate defines
the current position referred to machine reference zero (home). The zero offsets, movements
with respect to machine zero, etc. will be referred to the coordinate programmed in G174.
Programming the function.
Program function G174, and then the machine coordinate of a single axis or spindle. For
gantry axes, program the machine coordinate of the master axis. With this function only the
machine coordinate of an axis or spindle may be set; to set the mach ine coordinates of
several, program one G174 for each one of them.
When setting the machine coordinate, the CNC ignores the G70/G71 units
(inches/millimeters) selected by the user and uses the unit system pre-defined at the CNC
(parameter INCHES). The CNC also ignores all the other options, radius/diameter, mirror
image, scaling factor, etc.
Programming format.
The programming format is:
G174 X..C
G174 S
X..CMachine coordinate at the axes.
SMach ine coordinate at the spindles.
G174 X100
G174 S180
CNC 8070
(REF: 1709)
Considerations and limitations.
Function G174, by itself, does not cause any axis or spindle movement. After executing
function G174, the CNC considers that the axis or spindle is homed and verifies that it is within
the software travel limits.
On gantry axes, the CNC applies the coordinate defined in G174 to both axes, master and
slave.
The CNC does not allow setting the machine coordinate on slaved axes, tandem or on axes
that are part of the active kinematics or active transform. The CNC p ermits setting the
machine coordinate for tandem axes. Before setting the new machine coordinate, the CNC
checks that the axis or spindle is in position and it is not synchronized, if that's not the case,
it issues an error message.
On Sercos axes, function G174 also resets the coordinate of the drive. Setting the machine coordinates
on position-Sercos axes requires drive version V6.20 or newer.
Properties of the function and Influence of the reset, turning the
CNC off and of the M30 function.
Function G174 is modal. Th is function is n either affected by functions M02 and M30 nor by
a reset, by an emergency or by turning the CNC off. On power-up, the CNC assumes the
machine coordinates that were active when the CNC was turned off.
·84·
Page 85
Programming manual.
XY
V.G.FIX=1
3050
V.G.FIX=2
12050
Fixture offset value on milling machine.
5.3Fixture offset
With fixture offsets, it is possible to select the fixture system to be used (when having more
than one fixture). When applying a new fixture offset, the CNC assumes the point set by the
new selected fixture as the new fixture zero.
Definition
In order to apply a fixture offset, it must have been previously set. To do that, the CNC has
a table where the operator may define up to 10 different fixture offsets. The table data may
be defined:
• Manually from the CNC's front panel (as described in the Operating Manual).
• By program, assigning the corresponding value (of the "n" offset and of the "Xn" axis)
to the "V.A.FIXT[n].Xn" variable.
5.
Fixture offset
Activation
Once the fixture offsets have been defined in the table, they may be activated via program
by assigning to the "V.G.FIX" variable, the offset number to be applied.
Only one fixture offset may be active at a time; therefore, when applying a fixture offset, it
will cancel the previous one. Assigning a value of "V.G.FIX=0" will cancel the active fixture
offset.
N100 V.A.FIXT[1].X=30 V.A.FIXT[1].Y=50
N110 V.A.FIXT[2].X=120 V.A.FIXT[2].Y=50
...
N200 V.G.FIX=1(It applies the first fixture offset)
N210 ...(Programming at fixture 1)
N300 V.G.FIX=2(It applies the first fixture offset)
N310 ...(Programming at fixture 2)
N400 V.G.FIX=0(Cancel fixture offset. No fixture system is active)
ORIGIN SELECTION
Considerations
A fixture offset, by itself, does not cause any axis movement.
Properties
On power-up, the CNC assumes the fixture offset that was active when the CNC was turned
off. On the other hand, the fixture offset is neither affected by functions M02 and M30 no r
by RESETTING the CNC.
CNC 8070
(REF: 1709)
·85·
Page 86
5.
Programming manual.
5.4Coordinate preset (G92)
Coordinate presetting is done with function G92 and it may be applied onto any axis of the
machine.
When presetting coordinates, the CNC interprets that the axis coordinates programmed after
function G92 define the current position of the axes. The rest of the axes that have not been
defined with G92 are not affected by the preset.
ORIGIN SELECTION
Coordinate preset (G92)
N100 G90 G01 X40 Y30(Positioning at P0)
N110 G92 X0 Y0(Presetting P0 as part zero)
...(Machining of profile 1)
N200 G90 G01 X80 Y0(Positioning at P1)
N210 G92 X0 Y0(Presetting P1 as part zero)
...(Machining of profile 2)
N300 G92 X120 Y30(Recovering OW as part zero)
CNC 8070
Considerations
A coordinate preset, by itself, does not cause any axis movement.
When homing an axis in JOG mode, the preset for that axis is canceled.
Function properties
G92 is modal, the preset values remain active until the preset is canceled (with another
preset, a zero offset or with G53).
On power-up, the CNC assumes the coordinate preset that was active when the CNC was
turned off. On the other hand, the coordinate preset is neither affected by functions M02 and
M30 nor by RESETTING the CNC.
(REF: 1709)
·86·
Page 87
Programming manual.
Y
X
70
10
30
20
50
120
Ow
Ow
Ow
G54
G55
G56
P1
O
M
XY
G54 (G159=1)
2070
G55 (G159=2)
5030
G56 (G159=3)
12010
5.5Zero offsets (G54-G59/G159)
The zero offsets may be used to set the part zero at different positions of the machine. When
applying a zero offset, the CNC assumes as the new part zero the point defined by the
selected zero offset.
Defining zero offsets.
In order to apply a zero offset, it must have been previously defined. To do that, the CNC
has a table where the operator may define up to 99 different zero offsets. The table data may
be defined manually (as described in the operating manual) or via program (using variables).
The OEM may have configured the zero offset table in one of the following ways (machine
parameter FINEORG).
• Each zero offset has a single value. When executing function G159, the CNC assumes
this value as the new zero offset.
• Each zero offset has a coarse (or absolute) value and a fine (or incremental) value. When
executing function G159, the CNC assumes as new zero offset the sum of both parts.
5.
ORIGIN SELECTION
Activating a zero offset.
Once the zero offsets have been defined in the table, they may be activated via program by
programming function G59 followed by the offset number to be activated.
G159=2The CNC applies the second zero offset.
G159=11The CNC applies the 11th zero offset.
The first six zero offsets of the table can also be applied using functions G54 through G59;
G54 for the first one (same as G159=1), G55 for the second one (same as G159=2) and so
on.
G54The CNC applies the first zero offset (G159=1).
G59The CNC applies the sixth zero offset (G159=6).
N100 G54(It applies the first absolute zero offset)
···(Machining of profile A1)
N200 G55 (It applies the second absolute zero offset)
···(Machining of profile A2)
N300 G56(It applies the third absolute zero offset)
···(Machining of profile A3)
N200 G56(It applies the fourth absolute zero offset)
···(Machining of profile A4)
Only one zero offset may be active at a time; therefore, when applying a zero offset, the
previous one will be canceled. When programming G53, the zero offset currently active will
be canceled.
The function corresponding to the selected zero offset may be programmed in any block of
the program. When added to a block with path information, the zero offset will be applied
before executing the programmed movement.
Considerations
CNC 8070
(REF: 1709)
·88·
A zero offset, by itself, does not cause any axis movement.
When homing an axis in JOG mode, the absolute zero offset for that axis is canceled.
Properties of the functions
Functions G54, G55, G56, G57, G58, G59 and G159 are modal and incompatible with each
other and with G53 and G92.
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
RESETTING the CNC.
Page 89
Programming manual.
5.5.1Variables for setting zero offsets
Zero offset table (without fine setting of the absolute zero offset).
The following variables may be accessed via part-program or via MDI/MDA mode. Each of
them indicates whether it may be read (R) or written (W).
Variable.R/WMeaning.
(V.)[ch].A.ORG.xnRValue of the active zero offset (absolute G159 +
(V.)[ch].A.ADDORG.xnRValue of the active incremental zero offset (G158).
(V.)[ch].A.ORGT[nb].xnR/WOffset set in the zero offset [nb].
Zero offset table (with fine setting of the absolute zero offset).
The following variables may be accessed via part-program or via MDI/MDA mode. Each of
them indicates whether it may be read (R) or written (W).
Variable.R/WMeaning.
(V .)[ch].A.ORG .xnRV alue of the active zero offset (coarse absolute G159 +
(V.)[ch].A.ADDORG.xnRValue of the active incremental zero offset (G158).
(V .)[ch].A.COARSEORG.xnRV alue of the active absolute zero offset (G159), coarse
(V .)[ch].A.FINEORG.xnRValue of the active absolute zero offset (G159), fine part.
(V.)[ch].A.ORGT[nb].xnR/WOffset set in the zero offset [nb]; co arse part plus fine
(V.)[ch].A.COARSEORGT[nb].xnR/WOffset set in the zero offset [nb]; coarse part.
(V.)[ch].A.FINEORGT[nb].xnR/WOffset set in the zero offset [nb]; fine part.
incremental G158).
5.
ORIGIN SELECTION
fine absolute G159 + incremental G158).
Zero offsets (G54-G59/G159)
part.
part. When writing this variable, the value is assigned to
the coarse part deleting the fine part.
Syntax of the variables.
·ch·Channel number.
·nb·Zero offset number.
·xn·Name, logic number or index of the axis.
V.A.ORG.ZZ axis.
V.A.ADDORG.3Axis with logic number ·3·.
V.[2].A.COARSEORG.3Axis with index ·3· in the channel ·2·.
V.[2].A.FINEORG.3Axis with index ·3· in the channel ·2·.
V.A.ORGT[1].ZZero offset G54 (G159=1). Z axis.
V.A.ORGT[1].ZZero offset G54 (G159=1). Z axis.
V.A.COARSEORGT[4].3Zero offset G57 (G159=4). Axis with logic number ·3·.
V.[2].A.FINEORGT[9].3Zero offset G159=9. Axis with index ·3· in the channel ·2·.
CNC 8070
(REF: 1709)
·89·
Page 90
5.
XY
G54 (G159=1)3020
G55 (G159=2)12020
Y
X
65
W
WW
W
50
20
204060120
1
23
4
XZ
G54 (G159=1)0420
G55 (G159=2)0330
X
Z
909090
150240330
A2A3A4
90
A1
420
G54
G158
G158
G55
G158
Programming manual.
5.5.2Incremental zero offset (G158)
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 of fset, 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.
ORIGIN SELECTION
Zero offsets (G54-G59/G159)
CNC 8070
N100 G54(It applies the first zero offset)
···(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)
···(Machining of profile 3)
N400 G158(Cancel incremental zero offset. G55 stays active)
···(Machining of profile 4)
(REF: 1709)
·90·
N100 G54(It applies the first absolute zero offset)
···(Machining of profile A1)
N200 G158 Z-90(Apply incremental zero offset)
Page 91
Programming manual.
Y
X
80
W
50
20
204070120
W
W
W
W
M
XY
G54 (G159=1)2020
···(Machining of profile A2)
N300 G55(It applies the second absolute zero offset)
···(Machining of profile A3)
N200 G158 Z-180(It applies the second incremental zero offset)
···(Machining of profile A4)
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.
(The incremental zero offset stays active)
5.
ORIGIN SELECTION
Zero offsets (G54-G59/G159)
N100 G54(Apply absolute zero offset)
N200 G158 X20 Y60(It applies the first incremental zero offset)
N300 G158 X50 Y30(It applies the second incremental zero offset)
N400 G158 X100(It applies the third incremental zero offset)
N500 G158 Y0(It applies the fourth incremental zero offset)
N600 G158 X0(Cancel incremental zero offset)
The incremental zero offset is not canceled after applying a new absolute zero offset (G54G59 or G159).
Considerations
An incremental zero offset, by itself, does not cause any axis movement.
When homing an axis in JOG mode, the incremental zero offset for that axis is canceled.
Function properties
Function G158 is modal.
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.
CNC 8070
(REF: 1709)
·91·
Page 92
5.
ORIGIN SELECTION
Zero offsets (G54-G59/G159)
Programming manual.
5.5.3Excluding axes in the zero offset (G157)
Excluding axes allows to select on to which axes the next absolute zero offset will not be
applied. After applying the zero offset, the programmed axis exclusion is canceled and it has
to be programmed again in order to apply it again.
Activation
Axis exclusion must be programmed using function G157 followed by the axes and the value
indicating whether that axis is excluded (<axis>=1) or not (<axis>=0).
The exclusion may also be activated by programming only the axes affected by the exclusion
after function G157.
The exclusion and the zero offset may be programmed in the same block. In that case, the
exclusion will be activated before applying the zero offset.
G55
(It applies the second zero offset on all the axes)
G157 X Z
(Activation of the exclusion on the X-Z axes)
G57
(It applies the fourth zero offset, except on the X-Z axes. Those axes keep the previous zero offset)
···
G159=8
(It applies the eighth zero offset on all the axes)
G59 G157 Y
(It applies the sixth zero offset, except on the Y axis. That axis keeps the previous zero offset)
···
G54
(It applies the first zero offset on all the axes)
Excluding axes does not affect the active zero offsets. If an axis is excluded, when applying
a new zero offset, the CNC maintains the one that was active for that axis.
Considerations
Excluding axes does not affect the coordinate preset or the incremental zero offsets which
are always applied on to all the axes. Likewise, neither fixture offsets nor PLC offsets are
affected.
Function properties
Function G157 is modal and it remains active until an absolute zero offset is applied.
On power-up or after an EMERGENCY, the CNC does not assume any axis exclusion.
CNC 8070
(REF: 1709)
·92·
Page 93
Programming manual.
Y
X
Ow
O
M
O
F
Y
X
5.6Zero offset cancellation (G53)
Executing function G53 cancels the active zero offset resulting either from a preset (G92)
or from a zero offset, including the incremental offset and the defined axis exclusion. It also
cancels the zero offset due to a probing operation.
Fixture offsets and PLC offsets are not affected by this function.
Contrary to the #MCS and #MCS ON/OFF instructions that always execute movements
referred to machine zero, function G53 allows to execute movements referred to the fixture
zero (if it is active).
N10 V.G.FIX=1(Activate fixture offset. Program with respect to OF)
N20 G54(Apply the zero offset. Program with respect to OW)
N30 #MCS X20 Y20(Activate machine coordinate system. Program with respect to OM)
N40 G01 X60 Y0(Program with respect to OW)
N50 G53(Cancel zero offset G54. Program with respect to OF)
5.
ORIGIN SELECTION
Zero offset cancellation (G53)
Function G53 may be programmed in any block of the program. When added to a block with
path information, the offset or preset is canceled before executing the programmed
movement.
Considerations
Function G53, by itself, does not cause any axis movement.
Function properties
Function G53 is modal and incompatible with function G92, zero offsets and probing.
CNC 8070
(REF: 1709)
·93·
Page 94
5.
Y
X
30
35
P3
P1
P2
P0
ORIGIN SELECTION
Programming manual.
5.7Polar origin preset (G30)
Function G30 may be used to preset any point of the wo rk plane as th e new polar origin .
If not selected, it assumes as polar origin the origin of the active reference system (part zero).
Programming
The polar origin preset must be programmed alone in the block. The programming format
is "G30 I J", where:
They define the abscissa and ordinate of the new polar origin. They must be defined in absolute
I, J
coordinates referred to part zero.
When programmed, both parameters must be programmed.
If not programmed, it will assume the current tool position as the polar origin.
Therefore, function G30 may be programmed as follows:
G30 I JIt assumes as the new polar origin the point whose abscissa is "I" and ordinate "J" referred
to part zero.
G30The current tool position is assumed as the new polar origin.
Polar origin preset (G30)
CNC 8070
Assuming that the starting point is X0 Y0, you get:
G18 G151; Main plane Z-X, and programming in diameters.
G90 X180 Z50; Point P0, programming in diameters.
G01 X160; Point P1, in a straight line (G01).
G30 I90 J160; Presets P5 as polar origin.
G03 Q270; Point P2, in arc (G03).
G01 Z130; Point P3, in a straight line (G01).
G30 I130 J0; Presets P6 as polar origin.
G02 Q0; Point P4, in arc (G02).
5.
ORIGIN SELECTION
Polar origin preset (G30)
Function properties
The G30 function is modal. The polar origin stays active until another value is preset or the
work plane is changed. When changing the work plane, it assumes the part zero of that plane
as the new polar origin.
On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC
assumes the currently selected part zero as the new polar origin.
CNC 8070
(REF: 1709)
·95·
Page 96
5.
Programming manual.
ORIGIN SELECTION
Polar origin preset (G30)
CNC 8070
(REF: 1709)
·96·
Page 97
TECHNOLOGICAL FUNCTIONS
6.1Machining feedrate (F)
The machining feedrate may be selected by programmed using the "F" code which remains
active until another value is programmed. The programming units depend on the active work
mode (G93, G94 or G95) and the type of axis being moved (linear or rotary).
G94- Feedrate in millimeters/minute (inches/minute).
G95- Feedrate in millimeters/revolution (inches/revolution).
G93- Machining time in seconds.
The programmed "F" is effective in linear (G01) or circular (G02, G03) interpola tions.
Movements in G00 (rapid traverse) are executed in rapid regardless of the programmed "F"
value.
6
Movement without programmed feedrate.
In principle, the CNC will show the corresponding error when programming a movement in
G01/G02/G03 without having set a feedrate.
Optionally, the manufacturer may have configured the CNC to make the movements at the
maximum machining feedrate, set by machine parameter MAXFEED.
Feedrate limitation.
The manufacturer may have limited the maximum feedrate with machine parameter
MAXFEED. When trying to exceed the maximum feedrate via part-program, via PLC or from
the operator panel, the CNC limits the feedrate to the maximum value set without showing
any error message or warning.
If this parameter is set to zero, the machining feedrate is not limited and the CNC assumes
the one set for G00 as the maximum feedrate.
Variable to limit the feed r ate vi a PLC .
(V.)[n].PLC.G00FEED is a variable that may be written from the PLC to set, at a particular
moment and in real time, the maximum feedrate of the channel for any type of movement.
Feedrate regulation.
The programmed feedrate "F" may be varied between 0% and 200% using the sel ector
switch on the CNC's operator panel or it may be selected by program or by PLC. However,
the maximum override is limited by the machine manufacturer [G.M.P. "MAXOVR"].
CNC 8070
When making movements in G00 (rapid traverse), the feedrate override percentage will be
fixed at 100% or it may be varied between 0% and 100% depending on how the machine
manufacturer has set [G.M.P. "RAPIDOVR"].
When carrying out threading operations, the feedrate percentage will be fixed at 100% of
the programmed feedrate.
(REF: 1709)
·97·
Page 98
6.
Feedrate direction on linear and circular interpolations.
Fx
F x
x
2
y
2
+
------------------------------------------- -
=
Fy
F y
x2y
2
+
------------------------------------------- -
=
Programming manual.
Understanding how the CNC calculates the feedrate.
The feedrate is measured along the tool path, either along the straight line (linear
interpolations) or along the tangent of the indicated arc (circular interpolations).
When only the main axes are involved in the inte rpolation, the relatio nship between the
components of the feedrate on each axis and the programmed "F" is the same as between
the displacement of each axis and the resulting programmed displacement.
Machining feedrate (F)
TECHNOLOGICAL FUNCTIONS
CNC 8070
When rotary axes are involved in the interpolations, the feedrate of these axes is calculated
so the beginning and the end of their movement coincides with the beginning and the end
of the main axes. If the feedrate calculated for the rotary axis is greater than the maximum
allowed, the CNC will adapt the programmed "F" so the rotary axis can turn at its maximum
speed.
(REF: 1709)
·98·
Page 99
Programming manual.
6.2Feedrate related functions
6.2.1Feedrate programming units (G93/G94/G95)
The functions related to programming units permit selecting whether mm/minute
(inches/minute) or mm/revolution (inches/rev.) are programmed or, instead, the time the
axes will take to reach their target position.
Programming
The functions related to programming units are:
G94Feedrate in millimeters/minute (inches/minute ).
G95Feedrate in millimeters/revolution (inches/revol ution).
G93Machining time in seconds.
These functions may be programmed anywhere in the program and they don't have to go
alone in the block. If the moving axis is rotary, the programming units will be in degrees
instead of millimeters or inches as follows:
G94
Feedrate in millimeters/minute (inches/minute).
After executing G94, the CNC interprets that the feedrates programmed with the "F" code
are in millimeters/minute (inches/minute). If the moving axis is rotary, the CNC interprets that
the programmed feedrate is in degrees/minute.
6.
Feedrate related functions
TECHNOLOGICAL FUNCTIONS
G95
Feedrate in millimeters/revolution (inches/revolution)
After executing G95, the CNC interprets that the feedrates programmed with the "F" code
are in mm/rev (inches/rev) of the master spindle of the channel. If the moving axis is rotary,
the CNC interprets that the programmed feedrate is in degrees/revolution.
If the spindle does not have an encoder, the CNC will use the programmed theoretical rpm
to calculate the feedrate. This function does not affect the movements in G00 which are
always executed in millimeters/minute (inches/minute).
G93
Machining time in seconds
After executing G93, the CNC interprets that the movements must be carried out in the time
period (seconds) indicated by the "F" code.
This function does not affect the movements in G00 which are always executed in
millimeters/minute (inches/minute).
Properties of the functions
Functions G93, G94 and G95 are modal and incompatible with each other.
On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC
assumes function G94 or G95 as set by the machine manufacturer [G.M.P. "IFEED"].
CNC 8070
(REF: 1709)
·99·
Page 100
6.
Programming manual.
6.2.2Feedrate blend (G108/G109/G193)
With these functions, it is possible to blend the feedrate between consecutive blocks
programmed with different feedrates.
Programming
The functions related to feedrate blending are:
G108Feedrate blending at the beginning of the block.
G109Feedrate blending at the end of the block.
G193Interpolating the feedrate.
These functions may be programmed anywhere in the program an d they don't have to go
alone in the block.
G108
Feedrate blending at the beginning of the block
Feedrate related functions
TECHNOLOGICAL FUNCTIONS
When G108 is active, the adaptation to the new feedrate (by accelerating or decelerating)
takes place at the beginning of the next block and the current block ends at the programmed
feedrate "F".
When programming G109 the adaptation to the new feedrate (by accelerating or
decelerating) takes place at the end of the current block so the next block starts executing
at its programmed feedrate "F".