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 a 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 spindle)
both at the CNC and at the drives.
• Tendency test on analog axes.
FAGOR AUTOMATION shall not be held responsible for any personal injuries or
physical damage caused or suffered by the CNC resulting from any of the safety
elements being disabled.
HARDWARE EXPANSIONS
FAGOR AUTOMATION shall not be held responsible for any personal 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 order to
guarantee its proper operation.
Computer viruses at the CNC may cause it to malfunction. An antivirus software
is highly recommended if the CNC is connected directly to another PC, it is part
of a computer network or floppy disks or other computer media is used to transmit
data.
FAGOR AUTOMATION shall not be held responsible for any personal 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 distributing of this
software is prohibited.
The information described in this manual may be changed due to technical
modifications. Fagor Automation reserves the right to make any changes to the
contents of this manual without prior notice.
All the trade marks appearing in the manual belong to the corresponding owners.
The use of these marks by third parties for their own purpose could violate the
rights of the owners.
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 than as
explained in the related documentation.
The content of this manual and its validity for the product described here has been
verified. Even so, involuntary errors are possible, thus no absolute match is
guaranteed. Anyway, the contents of the manual is periodically checked making
and including the necessary corrections in a future edition. 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 sure that
the safety regulations are fully met.
Programming manual
INDEX
About the product ......................................................................................................................... 9
Declaration of conformity............................................................................................................ 11
Version history............................................................................................................................ 13
22.26 Variables related to the machine configuration............................................................ 580
22.27 Variables related to volumetric compensation. ............................................................ 588
22.28 Variables associated with the Mechatrolink bus. ........................................................ 589
22.29 Variables related to synchronized switching. ............................................................... 591
22.30 PWM related variables................................................................................................. 592
22.31 Variables related to cycle time. .................................................................................... 594
22.32 Variables associated with the feedback inputs for analog axes................................... 596
22.33 Variables associated with the analog inputs and outputs. ........................................... 598
22.34 Variables associated with the velocity command and the feedback of the drive. ........ 599
22.35 Variables related to the change of gear and set of the Sercos drive. .......................... 601
22.36 Variables related to loop adjustment............................................................................ 602
22.37 Variables related to the loop of the axis or of the tandem spindle. .............................. 610
22.38 Variables related to user tables (zero offset table). ..................................................... 612
22.39 Variables related to user tables (fixture table). ............................................................ 617
22.40 Variables related to user tables (arithmetic parameters table). ................................... 619
22.41 Variables related to the position of the axes. ............................................................... 623
22.42 Variables related to spindle position. ........................................................................... 629
22.43 Feedrate related variables. .......................................................................................... 631
22.44 Variables associated with acceleration and jerk on the tool path. ............................... 636
22.45 Variables related to managing the feedrate in HSC mode........................................... 637
22.46 Variables related to spindle speed............................................................................... 640
22.47 Variables associated with the tool manager. ............................................................... 648
22.48 Variables related to managing the tool magazine and the tool changer arm............... 650
22.49 Variables related to the active tool and to the next one. .............................................. 652
22.50 Variables associated with any tool............................................................................... 664
22.51 Variables associated with the tool being prepared. ..................................................... 673
22.52 Variables related to jog mode. ..................................................................................... 681
22.53 Variables related to the programmed functions. .......................................................... 687
22.54 Variables related to the electronic cam........................................................................ 714
22.55 Variables related to the independent axes................................................................... 716
22.56 Variables associated with the virtual tool axis.............................................................. 723
22.57 Variables defined by the user. ..................................................................................... 724
22.58 General variables of the CNC. ..................................................................................... 725
22.59 Variables related to CNC status................................................................................... 728
22.60 Variables associated with the part-program being executed. ...................................... 733
22.61 Interface related variables............................................................................................ 737
CNC 8070
(REF. 1309)
·7·
Programming manual
ABOUT THE PRODUCT
BASIC CHARACTERISTICS.
Basic characteristics.·BL··OL··M· / ·T·
PC-based system.Closed systemOpen system
Operating system.Windows XP
Number of axes.3 to 73 to 28
Number of spindles.11 to 4
Number of tool magazines.11 to 4
Number of execution channels.11 to 4
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
< 1ms/K
1024 / 1024
8192 / 1024
512 / 256
Unlimited
Remote modules.RIOWRIO5RIO70
Communication with the remote modules.CANopenCANopenCANfagor
Digital inputs per module.816 or 3216
Digital outputs per module.824 or 4816
Analog inputs per module.448
Analog outputs per module.444
Inputs for PT100 temperature sensors.22- - -
Feedback inputs.- - -- - -4
Differential TTL
Sinusoidal 1 Vpp
Customizing.
PC-based open system, fully customizable.
INI configuration files.
FGUIM visual configuration tool.
Visual Basic®, Visual C++®, etc.
Internal databases in Microsoft® Access.
OPC compatible interface
CNC 8070
(REF. 1309)
·9·
Programming manual
SOFTWARE OPTIONS.
Bear in mind that some of the features described in this manual depend on the software options that are
installed. The information of the following table is informative only; when purchasing the software options,
only the information provided in the ordering handbook is valid.
-BL- model-OL- model-M- model-T- model
Open system.
Access to the administrator mode.
Editing and simulation environment.- - -StandardStandardStandard
Number of execution channels11 to 41 to 41 to 4
Number of axes3 to 73 to 283 to 283 to 28
Number of spindles11 to 41 to 41 to 4
Number of tool magazines11 to 41 to 41 to 4
Number of interpolated axes (maximum)428- - -- - -
Limited to 4 interpolated axesOptionOptionOptionOption
Note.Some additional characters may follow the model references indicated above. They all comply with the
directives listed here. However, compliance may be verified on the label of the unit itself.
Referred to by this declaration with following directives:
Low-voltage regulations.
IEC 60204-1:2005/A1:2008 Electrical equipment on machines. Part1. General requirements.
Regulation on electromagnetic compatibility.
EN 61131-2: 2007PLC. Part 2. Equipment requirements and tests.
According to the European Community Directives 2006/95/EC on Low Voltage and 2004/108/EC
on Electromagnetic Compatibility and their updates.
In Mondragón, September 1st, 2013.
CNC 8070
(REF. 1309)
·11·
Programming manual
VERSION HISTORY
Here is a list of the features added to each manual reference. Each manual reference is valid for the
indicated software version and newer versions.
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
Jog mode. Tool calibration with or without probe.
Jog mode. Automatic loading of zero offsets table.
Jog mode. Programming of feedrate "F" and spindle speed "S".
MDI mode. Block syntax check.
Utilities mode. Define protection passwords.
Block search. Define the first block.
Improved tool table.
Axis selection/deselection to move it with a handwheel.
Simulate the theoretical path.
Confirm the execution of a program pressing the [START] key in a mode other
than automatic.
General scaling factor.• New instruction, #SCALE.
Probe selection.• New instruction, #SELECT PROBE.
Probing canned cycles.• New instruction, #PROBE.
Programming of warnings.• New instruction, #WARNING.
Block repetition.• New 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.• #HSC instruction.
Improved programming of axis swapping.• Instructions #SET, #CALL, #FREE, #RENAME.
The number of macros in a program is now limited to 50.• Macros.
• Machine parameter: JOGKEYDEF.
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.
New languages (Basque and Portuguese).• Machine parameter: LANGUAGE.
Placing the vertical softkeys on the left or on the right.• Machine parameter: VMENU.
Tool radius compensation mode (G136/G137) by default• Machine parameter: IRCOMP.
OEM generic machine parameters.• Machine parameter: MTBPAR.
Reading Sercos variables from the CNC.• Machine parameter: DRIVEVAR.
Electronic-cam editor.• Machine parameter: CAM.
New behavior for rotary axes.
The "(V.).TM.MZWAIT " variable is not necessary in the subroutine associated
with M06.
Know the software version.• Variable: (V.)G.SOFTWARE
Variables related to loop adjustment. Gain setting via PLC.• Variables:
Variables related to loop adjustment. Position increment and sampling period.• Variables:
Variables related 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 access
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 parameters of the active levels
will be read and written asynchronously.
Spindle parking and unparking.• Instructions #PARK, #UNPARK.
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.• New instruction, #MCALL.
Executing a block in a channel.• New instruction, #EXBLK.
Programming the number of repetitions in the block.• NR command.
Direct resolution of 2D and 3D pockets without requiring a softkey.
Simulating a canned cycle of the editor separately.
Importing DXF files from the program editor or from the profile editor.
Importing programs of the 8055/8055i CNC from the program editor.
Use a softkey to select the repositioning of the spindle after tool inspection.
Backup-restore utility.
Improved profile editor.
Assistance in the program editor. Contextual programming assistance.
• When programming "#", it shows the list of instructions.
• When programming "$", it shows the list of instructions.
• When programming "V.", it shows the list of variables.
Specific password for the machine parameters for kinematics.
Save the CAN configuration for testing it when starting up the system.
The diagnosis mode shows detailed information on the Sercos connection
(Type and version of the drive and motor connected to it).
It is possible to print all the information on the configuration from any section
of the diagnosis mode.
It is possible to simulate a cycle separately from the cycle editor.
Setup assistance. Oscilloscope, Bode diagram, circularity test.
New values of machine parameter SERPOWSE for the "Sercos II" board.• Machine parameters: SERPOWSE.
The simulated axes are ignored regarding the validation code.
Electronic cam programming (real coordinates).• New instruction, #CAM.
Synchronization of independent axis (real coordinates).• New instruction, #FOLLOW.
Movement of the independent axis.• New instruction, #MOVE.
DDSSetup mode.
G31. Temporary polar origin shift to the center of interpolation.• G31 function.
G112. Change the drive's parameter set.• G112 function.
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.
Lathe model. Select graphics configuration.• Machine parameter: GRAPHTYPE.
Lathe model. Select axis configuration.• Machine parameter: GEOCONFIG.
Select the set of parameters for synchronization.• Machine parameter: SYNCSET.
"C" axis maintained.• Machine parameter: PERCAX.
Magazine-less system.
Ground tools for a turret magazine.
Variable to read the accumulated PLC offset.• Variable: (V.)[ch].A.ACTPLCOF.xn
Variable to obtain a linear estimation of the following error.• Variable: (V.)[ch].A.FLWEST.xn
Variables to read the instant value of feed-forward or AC-forward.• Variables:
Variable to know the line number of the file being executed.• Variable: (V.)[ch].G.LINEN
Variable to know what kind of cycle is active.• Variable: (V.)[ch].G.CYCLETYPEON
Variable to know the tool orientation.• Variable: (V.)[ch].G.TOOLDIR
(V.)[ch].A.ACTFFW.xn (V.)[ch].A.ACTACF.xn
·14·
Programming manual
Software V03.00
Variable to know whether the HSC mode is active or not.• Variable: (V.)[ch].G.HSC
Variable to know the theoretical feedrate on 3D path.• Variable: (V.)[ch].G.F3D
Variable to know the number of the warning being displayed.• Variable: (V.)[ch].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.• New instruction, #SERVO.
Spindle synchronization.• New instruction, #SYNC.
Spindle synchronization.• New instruction, #TSYNC.
Spindle synchronization.• New instruction, #UNSYNC.
Select milling cycles at a lathe model.• New instruction, #MILLCY.
Select turning cycles at a milling model.• New 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.• G33 function.
G63. Tool inspection is possible during rigid tapping.• G63 function.
Function G112 is not valid for the spindle.• G112 function.
New criteria when assuming a new master spindle in the channel.
Improved tool table.
• Instructions #CS, #ACS.
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.
Screen test on power-up, if any element is missing, it restores the relevant
backup.
Editing mode. Editing programs in the 8055 CNC language.
DDSSetup mode. Saving and loading the data of all the drives at the same
time.
Using the ":" character to program a comment in a part-program.
Variables. Geometry of the lathe tools.
Variables. Number of the tool in the claws of the changer arm.• Variables:
Automatic mode. It allows executing a program independently.
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.
(V.)TM.TOOLCH1[mz] (V.)TM.TOOLCH2[mz]
• #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 user keys may be configured as jog keys.• Machine parameter: USERKEYDEF.
Disabling a keyboard or jog panel integrated into the CAN bus.• PLC mark: PANELOFF.
Handwheel with push-button. Selecting an axis sequentially for jogging it with
the handwheel.
New parameter to set whether or not the CNC sends the M, H, S functions to
the PLC during block search.
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).
OEM machine parameters.
• Range of parameters that can be written from the part-program, from the
PLC or from the interface.
• Range of parameters affected by the change of units.
• Each parameter may have a different describing comment associated
with it.
Home search. New home searching method for spindles with home switch.
The spindle goes through the home switch twice.
The CNC displays the warnings generated at the drive.
M function table. New field to define whether the function is sent out to the PLC
or not during block search.
M function table. Each M function may have a different describing comment
associated with it.
General handwheel. The CNC may have several general handwheels.
General handwheel. A general handwheel can move several axes at the same
time.
Improvements in the looks of some softkeys of the editor.
Improvements in the looks of some softkeys of the graphics window.
Editing mode. Programming help files for OEM and global subroutines.
Editing mode. Help file with the list of available subroutines.
• PLC mark: NEXTMPGAXIS.
•
• Machine parameter: FUNPLC.
• Machine parameters:
THREADOVR, OVRFILTER.
• Field: MPLC.
• Field: COMMENT.
CNC 8070
(REF. 1309)
·15·
Programming manual
Software V03.10
Editing mode. Improved contextual assistance.
Editing mode. New softkey for deactivating the contextual assistance.
Editing mode. Improvements in the looks of the softkeys.
The automatic mode offers a softkey for selecting the program that is being
edited.
In automatic and jog modes, the CNC shows the status of the _FEEDHOL
mark.
In automatic and jog modes, the CNC shows the status of the INHIBIT mark
of the axes and spindle.
Automatic mode. It shows information on all the spindles.
Jog mode. It shows information on all the spindles.
"Retrace" function.
Tangential control.
Tool table. New softkey for initializing the positions; T1 in position 1, T2 in
position 2, etc.
Tool table. New softkeys for copying and pasting the data of a tool offset.
The CNC checks whether the programmed turning direction (M3/M4) matches
the one preset in the tool table.
Generating the warranty registration report.
Hiding the window for errors and warnings.
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.)[ch].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.
Improved block search.
Tool calibration.
• Manual calibration. When calibration is done, pressing [START] assumes
the new values.
• Semi-automatic calibration. Calibration of lathe tools.
• Semi-automatic calibration. When calibration is done, pressing [START]
assumes the new values.
• Automatic calibration. When calibration is done, the CNC assumes the
new values.
• PLC mark: _FEEDHOL.
• PLC mark: INHIBIT.
CNC 8070
(REF. 1309)
Ref. 0608
Software V03.11
Simulator Possibility to use the dongle (hardware key) in a network.
Line graphics. Improved resizing of the graphics on the screen.
"Retrace" function. Several improvements to the retrace function.
HSC. New command CORNER.• #HSC instruction.
The default value of some machine parameters is different for the CNC and
for the simulator installed on a PC.
G33. The override limitation is maintained while returning to the beginning of
the thread.
RTCP. Home search is now possible on the axes that are not involved in
RTCP.
Abort the execution of the program and resume it somewhere else.• New instruction, #ABORT.
• G33 function.
Ref. 0704 / Ref. 0706
Software V03.13
Sign criteria for tool offsets (dimensions) and tool wear.• Machine parameters: TOOLOFSG.
Define the tool wear with incremental or absolute values.• Variables:
Variables V.TM.TOOLCH1[mz] / V.TM.TOOLCH2[mz] may be written from
the PLC.
MDI mode. Cancel the block being executed while keeping the machining
conditions.
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.
Define whether the spindle is homed automatically with the first movement or
not.
The application may be restarted while turning the CNC off.
The task window may be accessed by clicking on the OEM icon (top left of the
status bar).
The channels may be accessed by clicking on the icons of the status bar).
The pages of an operating mode may be accessed by clicking on the mode
name (top right of the status bar).
The turning speed limitation (G192) is also applied when the spindle is working
at constant turning speed (G97)
(V.)TM.TOOLCH1[mz] (V.)TM.TOOLCH2[mz].
• G192 function.
·16·
Programming manual
Ref. 0707
Software V03.15
Know the type of hardware.• Variable: (V.)G.HARDTYPE
Theoretical tool feedrate along the path.• Variable: (V.)[ch].G.PATHFEED
Every time the diagnosis mode is accessed, the CNC creates the files
SystemInfo.txt and SercosInfo.txt.
PLC errors may have an additional data file associated with them, same as
PLC messages.
User tables. The zero offset table shows the spindles that may be activated
as C axis.
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.
Diagnosis mode. Monitoring of the temperature of the CPU, board and
enclosure.
The CNC uses the combined feedback to calculate the velocity command, but
it uses the direct feedback to calculate the compensations, circularity test, etc.
The CNC does not assume any kinematics on power-up.• Machine parameters: KINID
Machine parameters: KINID
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%
Ref. 0712
Software V03.17
C axis maintained after executing M02, M30 or after an emergency or reset.• Machine parameter: PERCAX.
Ref. 0801
Software V03.20
The CNC has a different MTB folder for each type of software installed; MTB_T
for lathe, MTB_M for mill and MTB_MC for motion control.
By default, the feedback alarms of the analog axes are activated.
Set change.
• For the CNC to assume the new parameter set, it must wait for the PLC
to receive the confirmation of one of the marks GEAR1 to GEAR4.
• The gear change concludes when the PLC receives the confirmation
signal AUXEND.
• Sercos spindle. The set change only affects the drive when it implies a
change of gear ratio.
• 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:
PLC. The PLC program can have several mnemonic files (extension "plc").
PLC. When defining each PLC error, it is possible to select whether it opens
the emergency relay or not.
PLC. Grouping the additional information text files in a single file.
PLC. Contact (ladder) editor.
Status of the local probes.• Variables: (V.)G.PRBST1 (V.)G.PRBST2.
Axis synchronization. Managing a rotary axis as an infinite axis making it
possible to increase the feedback count of the axis indefinitely (wihout limits)
regardless of the value of the module.
Errors and warnings.
• From the errors and warnings, it is possible to access the errors solving
(troubleshooting) manual.
• CNC errors between 10000 and 20000 are reserved for the OEM so he
can create his own warning or error texts in different languages.
Show a warning and interrupt program execution.• New instruction, #WARNINGSTOP.
Electronic cam programming (theoretical coordinates).• New instruction, #TCAM.
Dynamic distribution of the machining operations between channels.• New 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.
Profile editor. Axes coordinated with auto-scale and name of the axes.
Profile editor. Zoom and movement of the graphics area via keyboard.
Profile editor. At the lathe model, the orientation of the axes is defined by
Edisimu mode. To simulate the program, when pressing the "START" softkey,
the CNC assumes the real configuration of the spindles of the channel and the
configuration of the machine parameters. The starting coordinates for
simulation will be the real coordinates that the CNC had on power-up.
Edisimu mode. New window for consulting the status of the subroutines,
canned cycles, block repetition and loops.
Edisimu mode. The "START" softkey saves the program being edited.
Automatic mode. New functions and instructions that cancel the retrace
function.
Automatic mode. New window for consulting the status of the subroutines,
canned cycles, block repetition and loops.
Automatic mode. The [START] key saves the program being edited.
Diagnosis mode. Generate the Fagor file for error diagnosis.
Tool table. When selecting an incremental wear, it is possible to define the
maximum increment possible; by default 0.5 mm (0.019685 inch).
Machine parameters tables. Import and export leadscrew compensation
tables.
Within a work mode, select the different pages in reverse order using the
[SHIFT] key.
Setup assistance. Bode.
Interface related variables.
Ref. 0809
Software V04.00 (it does not include the features of version V03.21)
Unicode.
New language (Chinese).
In the machine parameter table, an icon indicates which parameters are
involved in parameter matching.
Handwheels. There can now be up to 12 handwheels.• Machine parameter: NMPG.
The CNC applies module compensation throughout the entire revolution of the
axis.
Home search moving the axis to the reference point.• Machine parameter: POSINREF.
PLC. There can now be up to 1024 PLC messages.• PLC resources: MSG.
PLC. There can now be up to 1024 PLC errors.• PLC resources: ERR.
Handwheels. Inhibit the handwheels of the system.• PLC mark: INHIBITMPG1/INHIBITMPG12.
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 after 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.• G174 function.
There can now be up to 99 zero offsets.• G159 function.
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 infinite axis making it
possible to increase the feedback count of the axis indefinitely (wihout limits)
regardless of the value of the module.
Variables. The variable (V.)[ch].E.PROGSELECT can be written via partprogram, PLC and interface. This variable can only be written with the value
of ·0·
Variables. The following variables are valid for the spindle.• Variables: (V.)[ch].A.MEAS.sn
Profile editor.
• Programming in Polar coordinates.
• Programming in incremental coordinates.
• Best zoom, display part zero and auto-zoom from the keyboard.
• Improved softkey menu.
Jog mode. New softkey to turn the CNC off.
Jog mode. In handwheel mode, next to each axis, the CNC indicates whether
that axis has an individual handwheel associated with it or not.
Jog mode. The screen shows the tool dimensions.
Automatic mode. The screen shows the tool dimensions.
Handwheels. The general handwheels can move axes with an associated
individual handwheel.
Handwheels. Number of pulses sent by the handwheel since the system was
started up.
Feed handwheel.
Diagnosis mode. View the error and warning history issued by the CNC.
Software V04.00 (it does not include the features of version V03.21)
Edisimu mode and PLC mode.
• New hotkey to redo an operation.
• The editor shows the line number.
• The option "Find/replace" permits selecting the search direction, up or
down. New softkey to look for the text without replacing it.
• The editor adjusts the long blocks to the size of the window dividing the
block into several lines.
• The editor offers hotkeys [CTRL]+[+] and [CTRL]+[–] to increase or
decrease the size of the editor font. If the CNC has a mouse with a wheel,
the [CTRL] key combined with this wheel can also be used to increase
and decrease the size of the text font.
• In large files (more than 200 kB), the editor cancels the syntax coloring.
• In large files (more than 200 kB), the editor does not save the program
when changing blocks; the editor saves the program when the user has
not modified the program for about 5 seconds.
Edisimu mode.
• Comments having an asterisk (*) and programmed at the beginning of the
block allow to group blocks. Blocks programmed between these
comments will be grouped and may be expanded or shrunk the same way
as the cycles or profiles.
• Having the "Hide cycles/profiles" option active, when the cursor moves
over a hidden element, it expands automatically; when the cursor moves
out of the element, it shrinks again.
• The editor offers the [ALT]+[–] hotkey to expand y hide cycles, profiles and
grouped blocks. If the CNC has a mouse, click on the symbol located to
the right of the cycle, profile or group of blocks to expand them and hide
them.
• In large files (more than 200 kB), the editor does not hide the canned
cycles or the profiles.
PLC mode. New softkeys to sort the files that make up the PLC project.
Ref. 0811
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
The CNC turns the internal fan on and off as necessary. The CNC turns the
fan on when the temperature exceeds 50 ºC (122 ºF) and turns it off when it
gets under 45 ºC (113 ºF).
Communication with servos (axis and spindle) and inverters (spindle) through
the Mechatrolink bus, in Mlink-I (17 bytes) and Mlink-II (17 or 32 bytes) mode.
Define the maximum acceleration and jerk allowed on the tool path.• Machine parameters:
Variable to know the following error (lag) when feedback combination is active.• Variables:
Variable to know the position value of the first feedback when feedback
combination is active.
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.
Handwheels. Setting a negative resolution reverses the axis moving direction.• Machine parameter: MPGRESOL.
Activate the rapid traverse for the automatic mode while executing a program.• Machine parameters: RAPIDEN, FRAPIDEN.
• PLC mark: EXRAPID.
Maximum axis machining feedrate.• Machine parameter: MAXFEED.
Management of several keyboards.• Machine parameter: NKEYBD.
Configure the serial line as RS232, RS422 or RS485.• Machine parameter: RSTYPE.
Enable the HBLS handwheel.• Machine parameter: HBLS.
Selecting the type of PLC (IEC61131 or Fagor).• Machine parameter: PLCTYPE
RTCP. On tilting tables, rotate the part coordinate system when rotating the
table.
PLC. There are now 512 PLC timers.• PLC resources: Timers.
PLC. Management of spindle M functions (M3, M4 and M5) from the PLC.• PLC marks: PLCM3, PLCM4 and PLCM5.
New look for the interface.
MDI mode. The feedrate set in MDI/MDA mode will become the new feedrate
for the jog and automatic modes.
Jog mode. Set or activate a zero offset or fixture offset.
Jog mode. The screen shows an icon that represents the type of tool.
Automatic mode. The screen shows an icon that represents the type of tool.
• Kinematics TYPE9 through TYPE12.
CNC 8070
(REF. 1309)
·19·
Programming manual
Software V04.10 (it does not include the features of version V04.02)
Editing mode. Use a template for part programs.
Utilities mode. Encrypt files.
The CNC allows eliminating certain errors by pressing the [ESC] key without
having to do a reset.
M functions with an associated subroutine.
The CNC admits function G174 for axes in DRO mode and spindles.• G174 function.
Detailed CNC status in jog mode.• Variable: (V.)[ch].G.CNCMANSTATUS
Detailed CNC status in automatic mode.• Variable: (V.)[ch].G.CNCAUTSTATUS
Know the axes selected for home search, repositioning, coordinate preset or
movement to a coordinate.
Know the current position of the main rotary axes of the kinematics (third
axis).
Know the target position of the main rotary axes of the kinematics (third axis).• Variable: (V.)[ch].G.TOOLORIT1
Cancel the name change for axes and spindles (#RENAME) after executing
M02 or M30, after a reset or at the beginning of a new part-program in the same
channel.
Graphic environment. Simulate the real path, but enlarging the error with
respect to the theoretical path.
• Variable: (V.)[ch].G.SELECTEDAXIS
• Variable: (V.)[ch].G.POSROTT
(V.)[ch].G.TOOLORIT2
• #RENAME instruction.
Ref. 1010
Software V04.02 (features not included in version V04.10)
New language (Russian).• Machine parameter: LANGUAGE.
Activate the rapid traverse for the automatic mode while executing a program.• Machine parameters: RAPIDEN, FRAPIDEN.
• PLC mark: EXRAPID.
Maximum axis machining feedrate.• Machine parameter: MAXFEED.
Management of several keyboards.• Machine parameter: NKEYBD.
Configure the serial line as RS232, RS422 or RS485.• Machine parameter: RSTYPE.
Synchronize spindles without forcing a set change.• Machine parameter: SYNCSET.
Mechatrolink. Activate the drive options.• Machine parameter: OPTION.
RTCP. On tilting tables, rotate the part coordinate system when rotating the
table.
MDI mode. The feedrate set in MDI/MDA mode will become the new feedrate
for the jog and automatic modes.
Jog mode. Set or activate a zero offset or fixture offset.
The CNC admits function G174 for axes in DRO mode and spindles.• G174 function.
Detailed CNC status in jog mode.• Variable: (V.)[ch].G.CNCMANSTATUS
Detailed CNC status in automatic mode.• Variable: (V.)[ch].G.CNCAUTSTATUS
Know the axes selected for home search, repositioning, coordinate preset or
movement to a coordinate.
Know the current position of the main rotary axes of the kinematics (third
axis).
Know the target position of the main rotary axes of the kinematics (third axis).• Variable: (V.)[ch].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.)[ch].PLC.FRO
Cancel the name change for axes and spindles (#RENAME) after executing
M02 or M30, after a reset or at the beginning of a new part-program in the same
channel.
Graphic environment. Simulate the real path, but enlarging the error with
respect to the theoretical path.
Edisimu mode. The simulation assumes the origins that are active for
execution.
• Kinematics TYPE9 through TYPE12.
• Variable: (V.)[ch].G.SELECTEDAXIS
• Variable: (V.)[ch].G.POSROTT
(V.)[ch].G.TOOLORIT2
• #RENAME instruction.
CNC 8070
(REF. 1309)
·20·
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
Configure how to operate the CNC. Access work modes using hotkeys or from
the softkey menu.
Configure how to use the softkey menu, either using menus and submenus
(there are different softkey levels within a work mode) or using popup menus
(there is only 1 softkey menu, without submenus).
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).
• Machine parameter: HMITYPE.
• Machine parameter: SFTYPE.
Programming manual
Software V04.20
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.)[ch].PLC.FRO
Detailed CNC status in automatic mode. New values.• Variable: (V.)[ch].G.CNCAUTSTATUS
Active zero offset.• Variable: (V.)[ch].G.EXTORG
The CNC can execute programs of the 8055 MC and 8055 TC models made
up with conversational canned cycles including geometric assistance.
Tool table. Assign a name or text to any of the 4 "custom" parameters available
in each tool.
Operation with touch-screen model.
New tool inspection.
New HD graphics.
EDISIMU mode. Geometric help editor.
Jog mode. Tool calibration pages show the data of the tool to be calibrated.
MDI/MDA mode. The CNC can execute blocks when the execution of the
program is interrupted.
Automatic mode. Program simulation with the possibility to go into execution.
In this mode, it is possible to simulate a program, interrupt it at a point and start
execution from that point on.
Software V04.21
New model LCD-10K.• Variables:
Software V04.22
Set the zero offsets with a coarse part and a fine part.• Variables:
Cancel mirror image (G11/G12/G13/G14) after M30 and reset.
Software V04.24
Additional negative command pulse for analog axes.• Variable:
The SPDLEREV mark (reverse turning direction) affects the spindle in M19.• Variable:
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 surface speed (CSS)
function.
Software V04.25
Synchronized switching.• Variables:
Error programmed in HSC mode. • Variable:
The HSC FAST mode may be used to adjust the chordal error (parameter 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.
New model LCD-10K.
New model LCD-15.
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
using "cancel and resume".
The model LCD-10K (front mounting) is removed.
The model LCD-15 (front mounting) is removed.
The module OP-PANEL-H/E is removed.
The module JOG-PANEL is removed.
The module KB-PANEL-H is removed.
Virtual tool axis.• Statement: #VIRTAX
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 damage or
defective unit resulting from not complying with these basic safety regulations.
Before start-up, verify that the machine that integrates this CNC meets the 89/392/CEE Directive.
PRECAUTIONS BEFORE CLEANING THE UNIT
If the CNC does not turn on when actuating the start-up switch, verify the connections.
Do not get into the inside of the unit.Only personnel authorized by Fagor Automation may manipulate the
Do not handle the connectors with the unit
connected to AC power.
inside of this unit.
Before manipulating the connectors (inputs/outputs, feedback, etc.)
make sure that the unit is not connected to AC power.
PRECAUTIONS DURING REPAIR
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 manipulate the
inside of this unit.
Do not handle the connectors with the unit
connected to AC power.
Before manipulating the connectors (inputs/outputs, feedback, etc.)
make sure that the unit is not connected to AC power.
PRECAUTIONS AGAINST PERSONAL DAMAGE
Interconnection of modules.Use the connection cables provided with the unit.
Use proper cables.To prevent risks, use the proper cables for mains, Sercos and Bus
CAN recommended for this unit.
In order to avoid electrical shock at the central unit, use the proper
power (mains) cable. Use 3-wire power cables (one for ground
connection).
Avoid electrical overloads.In order to avoid electrical discharges and fire hazards, do not apply
electrical voltage outside the range selected on the rear panel of the
central unit.
Ground connection.In order to avoid electrical discharges, connect the ground terminals
of all the modules to the main ground terminal. Before connecting the
inputs and outputs of this unit, make sure that all the grounding
connections are properly made.
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 under 90% of
relative humidity (non-condensing) and 45 ºC (113 ºF).
Do not work in explosive environments.In order to avoid risks or damages, do no work in explosive
environments.
CNC 8070
(REF. 1309)
·23·
Programming manual
PRECAUTIONS AGAINST PRODUCT DAMAGE
Working environment.This unit is ready to be used in industr ial 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 or homes).
Install the unit in the right place.It is recommended, whenever possible, to install the CNC away from
coolants, chemical product, blows, etc. that could damage it.
This unit complies with the European directives on electromagnetic
compatibility. Nevertheless, it is recommended to keep it away from
sources of electromagnetic disturbance such as:
Powerful loads connected to the same AC power line as this
equipment.
Nearby portable transmitters (Radio-telephones, Ham radio
transmitters).
Nearby radio/TV transmitters.
Nearby arc welding machines.
Nearby High Voltage power lines.
Enclosures.The manufacturer is responsible of assuring that the enclosure
involving the equipment meets all the currently effective directives of
the European Community.
Avoid disturbances coming from the
machine.
Use the proper power supply.Use an external regulated 24 Vdc power supply for the keyboard and
Grounding of the power supply.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.The storage temperature must be between +5 ºC and +45 ºC (41 ºF
Central unit enclosure.Make sure that the needed gap is kept between the central unit and
Main AC 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.
the remote modules.
to the main ground point of the machine.
pin.
and 113 ºF).
The storage temperature must be between -25 ºC and 70 ºC (-13 ºF
and 158 ºF).
each wall of the enclosure.
Use a DC fan to improve enclosure ventilation.
1.7 m (2.3 and 5.6 ft) off the floor.
CNC 8070
(REF. 1309)
·24·
PROTECTIONS OF THE UNIT ITSELF
Remote modules.All the digital inputs and outputs have galvanic isolation via
optocouplers between the CNC circuitry and the outside.
Programming manual
i
SAFETY SYMBOLS
Symbols that may appear on the manual.
Danger or prohibition symbol.
It indicates actions or operations that may hurt people or damage products.
Warning symbol.
It indicates situations that certain operations could cause and the suggested actions to prevent them.
Obligation symbol.
It indicates actions and operations that must be carried out.
Information symbol.
It indicates notes, warnings and advises.
Symbols that the product may carry.
Ground protection symbol.
It indicates that that point must be under voltage.
CNC 8070
(REF. 1309)
·25·
Programming manual
WARRANTY TERMS
INITIAL WARRANTY
All products manufactured or marketed by FAGOR carry a 12-month warranty for the end user which could
be controlled by the our service network by means of the warranty control system established by FAGOR
for this purpose.
In order to prevent the possibility of having the time period from the time a product leaves our warehouse
until the end user actually receives it run against this 12-month warranty, FAGOR has set up a warranty
control system based on having the manufacturer or agent inform FAGOR of the destination, identification
and on-machine installation date, by filling out the document accompanying each FAGOR product in the
warranty envelope. This system, besides assuring a full year of warranty to the end user, enables our service
network to know about FAGOR equipment coming from other countries into their area of responsibility.
The warranty starting date will be the one appearing as the installation date on the above mentioned
document. FAGOR offers the manufacturer or agent 12 months to sell and install the product. This means
that the warranty starting date may be up to one year after the product has left our warehouse so long as
the warranty control sheet has been sent back to us. This translates into the extension of warranty period
to two years since the product left our warehouse. If this sheet has not been sent to us, the warranty period
ends 15 months from when the product left our warehouse.
This warranty covers all costs of material and labour involved in repairs at FAGOR carried out to correct
malfunctions in the equipment. FAGOR undertakes to repair or replace their products within the period from
the moment manufacture begins until 8 years after the date on which it disappears from the catalogue.
It is entirely up to FAGOR to determine whether the repair is or not under warranty.
EXCLUDING CLAUSES
Repairs will be carried out on our premises. Therefore, all expenses incurred as a result of trips made by
technical personnel to carry out equipment repairs, despite these being within the above-mentioned period
of warranty, are not covered by the warranty.
Said warranty will be applied whenever the equipment has been installed in accordance with instructions,
has not be mistreated, has not been damaged by accident or by negligence and has not been tampered
with by personnel not authorised by FAGOR. If, once servicing or repairs have been made, the cause of
the malfunction cannot be attributed to said elements, the customer is obliged to cover the expenses
incurred, in accordance with the tariffs in force.
Other warranties, implicit or explicit, are not covered and FAGOR AUTOMATION cannot be held responsible
for other damages which may occur.
CNC 8070
(REF. 1309)
·27·
Programming manual
WARRANTY ON REPAIRS
In a similar way to the initial warranty, FAGOR offers a warranty on standard repairs according to the
following conditions:
PERIOD12 months.
CONCEPTCovers parts and labor for repairs (or replacements) at the
network's own facilities.
EXCLUDING CLAUSESThe same as those applied regarding the chapter on initial
warranty. If the repair is carried out within the warranty period, the
warranty extension has no effect.
When the customer does not choose the standard repair and just the faulty material has been replaced,
the warranty will cover just the replaced parts or components within 12 months.
For sold parts the warranty is 12 moths length.
SERVICE CONTRACTS
The SERVICE CONTRACT is available for the distributor or manufacturer who buys and installs our CNC
systems.
CNC 8070
(REF. 1309)
·28·
Programming manual
MATERIAL RETURNING TERMS
When sending the central nit or the remote modules, pack them in its original package and packaging
material. If the original packaging material is not available, pack it as follows:
1 Get a cardboard box whose three inside dimensions are at least 15 cm (6 inches) larger than those
of the unit. The cardboard being used to make the box must have a resistance of 170 Kg (375 lb.).
2 Attach a label indicating the owner of the unit, person to contact, type of unit and serial number. In case
of malfunction also indicate symptom and a brief description of the problem.
3 Wrap the unit in a polyethylene roll or similar material to protect it. When sending a central unit with
monitor, protect especially the screen.
4 Pad the unit inside the cardboard box with poly-utherane foam on all sides.
5 Seal the cardboard box with packing tape or industrial staples.
CNC 8070
(REF. 1309)
·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. Do not use
highly compressed air to clean the unit because it could generate electrostatic discharges.
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 connected to AC power. Before handling these connectors
(I/O, feedback, etc.), make sure that the unit is not connected to main AC power.
• Do not get into the inside of the unit. Only personnel authorized by Fagor Automation may manipulate
the inside of this unit.
• If the CNC does not turn on when actuating the start-up switch, verify the connections.
CNC 8070
(REF. 1309)
·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 37.
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. 1309)
·33·
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. 1309)
·34·
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 of the file. The two may
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 "12 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 defined 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. 1309)
·36·
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.
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, $GOTO, #MSG, #HSC, etc. Some of the
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, arithmetic parameters, variables and arithmetic expressions may be used from
ISO blocks as well as from high level commands.
CNC 8070
(REF. 1309)
·37·
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 42.
CNC 8070
(REF. 1309)
·38·
·X..C· Coordinates of the point
These functions set the movement of the axes. See "1.4 Programming of the axes." on page
41.
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.
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.
It indicates the number of times the block will be executed. It can 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 50.
CNC 8070
(REF. 1309)
·39·
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. 1309)
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 50.
·40·
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 with 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 an empty space
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. 1309)
·41·
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. 1309)
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 traverse.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* Dwell10.1
G05*?* Controlled corner rounding (modal).9.3
G06* Arc center in absolute coordinates (not modal).8.3.5
G07*?* Square corner (modal).9.1
G08* Arc tangent to previous path.8.4
G09* Arc defined by three points.8.5
G10**Mirror image cancellation.9.8
G11** Mirror image on X.9.8
G12** Mirror image on Y.9.8
G13** Mirror image on Z.9.8
G14** Mirror image in the programmed directions.9.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.4
G33** Electronic threading with constant pitch.8.7
G36* Automatic radius blend.9.4
G37* Tangential entry.9.6
G38* Tangential exit.9.7
G39* Automatic chamfer blend.9.5
G40**Cancellation of tool radius compensation.11.1
G41** Left-hand tool radius compensation.11.1
G42** Right-hand tool radius compensation.11.1
G45Turn tangential control on and off.16.1
G50*?Semi-rounded corner.9.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
G57!* Absolute zero offset 4.5.5
·42·
Programming manual
Function M D V Meaning
G58!* Absolute zero offset 5.5.5
G59!* Absolute zero offset 6.5.5
G60* Square corner (not modal).9.1
G61* Controlled corner rounding (not modal).9.3
G63** Rigid tapping.8.8
G70*?* Programming in inches.3.1
G71*?Programming in millimeters.3.1
G72* Scaling factor.9.10
G73** Coordinate system rotation.9.9
G74* Home search2.4
G90*?Programming in absolute coordinates.3.2
G91*?* Programming in incremental coordinates.3.2
G92!* Coordinate preset.5.4
G93** 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
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.10.4
G130** Percentage of acceleration to be applied per axis or spindle.6.2.5
G131** Percentage of acceleration to be applied to all the axes.6.2.5
G132** Percentage of jerk to be applied per axis or spindle.6.2.6
G133** Percentage of jerk to be applied to all the axes.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.11.1.2
G137**Linear transition between blocks.11.1.2
G138** Direct activation/cancellation of tool compensation.11.1.2
G139**Indirect activation/cancellation of tool compensation.11.1.2
G145Freeze tangential control.16.2
G151*** Programming in diameters.3.3
G152*Programming in radius.3.3
G157** Excluding axes in the zero offset.5.5.3
G158** Incremental zero offset.5.5.2
G159!* Additional absolute zero offsets.5.5
G170*Hirth axes OFF10.3
G171**Hirth axes ON10.3
G174*Set the machine coordinate.5.2
G180
G189
G380
G399
G192** Turning speed limit.7.2.1
G193* Interpolating the feedrate.6.2.2
G196** Constant cutting point feedrate.6.2.3
G197**Constant tool center feedrate.
G198Setting of lower software travel limits10.2
G199Setting of upper software travel limits10.2
G200Exclusive manual intervention.8.9.2
G201*Activation of additive manual intervention.8.9.1
G202**Cancellation of additive manual intervention.8.9.1
G261** Arc center in absolute coordinates (modal).8.3.5
G262**Arc center referred to starting point.8.3.5
G263** Arc radius programming.8.3.2
G264** Cancel arc center correction.8.3.6
G265**Activate arc center correction.8.3.6
G266* Feedrate override at 100%6.2.4
1.
List of "G" functions.
CREATING A PROGRAM.
* OEM subroutine execution.12.5
* OEM subroutine execution.12.5
6.2.3
CNC 8070
(REF. 1309)
·43·
1.
List of "G" functions.
CREATING A PROGRAM.
Programming manual
Probing.
FunctionM D V Meaning
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.
Machining canned cycles. ·M· model (milling).
FunctionM D V Meaning
G80**Canned cycle cancellation.
G81** Drilling canned cycle.
G82** Drilling canned cycle with a variable peck.
G83** Deep-hole drilling canned cycle with constant peck.
G84** Tapping canned cycle.
G85** Reaming canned cycle.
G86** Boring canned cycle.
G87** Rectangular pocket canned cycle.
G88** Circular pocket canned cycle.
G98**Withdrawal to the starting plane.
G99** Withdrawal to the reference plane.
G160*Multiple machining in straight line.
G161*Multiple machining in rectangular pattern.
G162*Multiple machining in grid pattern.
G163*Multiple machining in a full circle.
G164*Multiple machining in arc pattern.
G165*Machining programmed with an arc-chord.
G210** Bore milling canned cycle.
G211** Inside thread milling cycle.
G212** Outside thread milling cycle.
CNC 8070
(REF. 1309)
·44·
Programming manual
Machining canned cycles. ·T· model (lathe).
FunctionM D V Meaning
G66* Pattern repeat canned cycle.
G68* Stock removal cycle along X axis.
G69* Stock removal canned cycle along Z axis.
G81* Turning canned cycle with straight sections.
G82* Facing canned cycle with straight sections.
G83* Drilling / tapping canned cycle.
G84* Turning canned cycle with arcs.
G85* Facing canned cycle with arcs.
G86* Longitudinal threading canned cycle.
G87* Face threading canned cycle.
G88* Grooving canned cycle along the X axis.
G89* Grooving canned cycle along the Z axis.
G160*Drilling / tapping canned cycle on the face of the part.
G161*Drilling / tapping canned cycle on the side of the part.
G162*Slot milling canned cycle along the side of the part.
G163 *Slot milling canned cycle along the face of the part.
1.
List of "G" functions.
CREATING A PROGRAM.
CNC 8070
(REF. 1309)
·45·
1.
1.6List of auxiliary (miscellaneous) M functions.
CREATING A PROGRAM.
List of auxiliary (miscellaneous) M functions.
Programming manual
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.12.2
M19Spindle orientation.7.5
M29End of a global or local subroutine.12.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
CNC 8070
(REF. 1309)
·46·
Programming manual
1.7List of statements and instructions.
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.
LCall to a global subroutine.12.3.2
LLCall to a local subroutine.12.3.1
#ABORTAbort the execution of the program and resume it in another block or program.13.3
#ACSFixture coordinate system.17.3
#ANGAX OFFTurn angular transformation off.15.1
#ANGAX ONTurn angular transformation on.15.1
#ANGAX SUSPFreeze angular transformation.15.2
#ASPLINE ENDTANGAkima splines. Type of final tangent.21.1.13
#ASPLINE MODEAkima splines. Selection of tangent type.21.1.13
#ASPLINE STARTTANGAkima splines. Type of starting tangent.21.1.13
#AXISAxis upon which the additive manual intervention is applied.8.9
#CALLCall to a global or local subroutine.12.3.3
#CALL AXAdd a new axis to the configuration.21.1.8
#CALL SPAdd a spindle to the configuration.21.1.9
#CAM ONActivate the electronic cam (real coordinates).21.1.20
#CAM OFFCancel the electronic cam.21.1.20
#CAX"C" axis. Activating the spindle as ·C· axis.14.1
#CD OFFCancel collision detection.21.1.12
#CD ONActivating collision detection.21.1.12
#CLEARChannels. It clears the synchronism marks of the channel.21.1.18
#CONTJOGManual intervention. Feedrate in continuous jog.8.9.3
#COMMENT BEGINBeginning of comment.1.8
#COMMENT ENDEnd of comment.1.8
#CSMachining coordinate system.17.3
#CYL"C" axis. Machining of the turning side of the part.14.3
#DEFMacros. Definition of macros.21.1.16
#DELETEIt initializes the global user variables.1.9
#DFHOLDDisable the feed-hold signal.21.1.5
#DGWZIt defines the graphic display area.21.1.4
#DSBLKEnd of the single-block treatment.21.1.5
#DSTOPDisable the cycle stop signal.21.1.5
#EFHOLDDisable the feed-hold signal.21.1.5
#ERRORDisplay an error on the screen.21.1.1
#ESBLKBeginning of the single-block treatment.21.1.5
#ESTOPEnable the cycle stop signal.21.1.5
#EXBLKIt executes a block in the indicated channel.13.2
#EXECIt executes a program in the indicated channel.13.1
#FACE"C" axis. Machining of the face of the part.14.2
#FLUSHInterrupt block preparation.21.1.21
CNC 8070
(REF. 1309)
·47·
1.
CREATING A PROGRAM.
CNC 8070
(REF. 1309)
List of statements and instructions.
Programming manual
StatementMeaning
#FOLLOW OFFIndependent axis. End the synchronization movement.21.1.19
#FOLLOW ONIndependent axis. Begin the synchronization movement (real coordinates).21.1.19
#FREE AXFree an axis from the configuration.21.1.8
#FREE SPFree a spindle from the configuration.21.1.9
#HSC OFFIt cancels the HSC mode.18.3
#HSC ONHSC mode. Optimizing the contouring error.18.1
#HSC ON [FAST]HSC mode. Optimizing the machining speed.18.2
#INCJOGManual intervention. Feedrate in incremental jog.8.9.3
#INIT MACROTABMacros. Initialize the table of macros.21.1.16
#KIN IDSelection of the kinematics.17.2
#LINKActivate the electronic coupling (slaving) of axes.21.1.6
#MASTERSelecting the master spindle of the channel.7.1.1
#MCALLModal call to a local or global subroutine initializing parameters.12.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.12.4
#MEETChannels. It activates the mark in the indicated channel.21.1.18
#MOVEIndependent axis. Positioning move.21.1.19
#MPGManual intervention. Resolution of the handwheels.8.9.3
#MSGDisplay a message on the screen.21.1.3
#PARKPark an axis.21.1.7
#PATHDefine the location of the global subroutines.12.4
#PCALLCall to a global or local subroutine initializing parameters.12.3.4
#POLYPolynomial interpolation.21.1.14
PWMOUT ONActivate the PWM.19.2.1
PWMOUT OFFCancel the PWM.19.2.2
#RENAME AXRename the axes.21.1.8
#RENAME SPRename the spindles.21.1.9
#REPOSRepositioning axes and spindles from an OEM subroutine.12.7.1
#RETEnd of a global or local subroutine.12.2
#RETDSBLKExecute subroutine as a single block.12.3.7
#ROUNDPARType of corner rounding.9.3.1
#ROTATEMZPositioning a turret magazine.6.4
#RPTBlock repetition.21.1.17
#RTCPRTCP transformation.17.6
#SCALEScaling factor.9.10
#SERVO ONActivates the closed loop mode.21.1.11
#SERVO OFFActivates the open loop mode.21.1.11
#SET AXSet axis configuration.21.1.8
#SET OFFSETManual intervention. Moving limits.8.9.3
#SET SPSet spindle configuration.21.1.9
#SIGNALChannels. It activates the mark in its own channel.21.1.18
#SLOPEAcceleration control.21.1.15
#SPLINE OFFAkima splines. It cancels spline adaptation.21.1.13
#SPLINE ONAkima splines. It activates spline adaptation.21.1.13
#SWTOUT ONActivate synchronized switching.19.1.1
#SWTOUT OFFCancel synchronized switching.
#SYNCSpindle synchronization. Synchronization of the real coordinate.21.1.10
#SYNC POSManual intervention. Coordinate synchronization.8.9.3
#TANGCTRL OFFCancel tangential control.16.1
#TANGCTRL ONActivate tangential control.16.1
#TANGCTRL SUSPFreeze tangential control.16.2
#TANGFEED RMINMinimum contouring radius for applying constant feedrate6.2.3
#TCAM ONActivate the electronic cam (theoretical coordinates).21.1.20
#TFOLLOW ONIndependent axis. Begin the synchronization movement (theoretical
coordinates).
#TIMEDwell10.1
#TLCTool length compensation.17.7
#TOOL AXLongitudinal tool axis selection.4.4
#TOOL ORITool perpendicular to the plane.17.5
#TSYNCSpindle synchronization. Synchronization of the theoretical coordinate.21.1.10
#UNLINKCancel the electronic coupling (slaving) of axes.21.1.6
#UNPARKUnpark an axis21.1.7
#UNSYNCSpindle synchronization. Decouple the spindles.21.1.10
#VIRTAX ONActivate the virtual tool axis.20.1
#VIRTAX ONCancel the virtual tool axis.20.2
19.1.2
21.1.19
·48·
Programming manual
StatementMeaning
#WAITChannels. It waits for a mark to be activated in the indicated channel.21.1.18
#WAIT FORWait for an event.21.1.21
#WARNINGDisplay a warning on the screen.21.1.2
#WARNINGSTOPDisplay a warning on the screen and interrupt the program.21.1.2
Probing.
#SELECT PROBEProbe selection.
Probing canned cycles. ·M· model (milling).
#PROBE 1Tool calibration (dimensions and wear).
#PROBE 2Probe calibration
#PROBE 3Surfacing measuring.
#PROBE 4Outside corner measuring.
#PROBE 5Inside corner measuring.
#PROBE 6Measuring the angle with the abscissa axis.
#PROBE 7Outside corner and angle measuring.
#PROBE 8Hole measuring.
#PROBE 9Circular boss measuring.
#PROBE 10Rectangular part centering.
#PROBE 11Circular part centering.
#PROBE 12Tabletop probe calibration
1.
CREATING A PROGRAM.
List of statements and instructions.
Probing canned cycles. ·T· model (lathe).
#PROBE 1Tool calibration.
#PROBE 2Tabletop probe calibration
#PROBE 3Part measuring along the ordinate axis.
#PROBE 4Part measuring along the abscissa axis.
CNC 8070
(REF. 1309)
·49·
1.
1.8Comment programming.
Comment programming.
CREATING A PROGRAM.
Programming manual
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 comment
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
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 variables 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
Decimal
74
Binary
0100 1010
1.
Variables and constants.
CREATING A PROGRAM.
V.P.mylocalvar
V.S.myglobalvar
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.
Variables 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 programs. During
execution, the CNC will replace these parameters with the values assigned to them at the
time.
Local parameters may 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 may be accessed from any program and subroutine called upon from the
program. The value of these parameters is shared by the program and the subroutines. 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.
CNC 8070
(REF. 1309)
·52·
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.
Programming manual
1.11Arithmetic 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.
+AddP1 = 3+4P1=7
-Subtract
Change sign
*MultiplyP3 = 2*3P3=6
/DivideP4 = 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:
P2 = 5-2
P2 = -[3+4]
P2=3
P2 = -7
1.
+=Compounded additionP1 += 3P1=P1+3
-=Compounded subtractionP2 -= 5P2=P2-5
*=Compounded multiplicationP3 *= 2P3=P3*2
/=Compounded divisionP4 /= 9P4=P4/9
Relational operators.
Used for doing comparisons.
==Equal toP1 == 4
!=Different from, other thanP2 != 5
>=Greater than or equal toP3 >= 10
<=Smaller than or equal toP4 <= 7
>Greater thanP5 > 5
<Smaller thanP6 < 5
Binary operators.
Used for doing binary comparisons between constants and/or arithmetic expressions.
&Binary ANDP1 = P11 & P12
|Binary ORP2 = P21 | P22
^Exclusive OR (XOR)P3 = P31 ^ P32
INV[...]InverseP4 = INV[P41]
CREATING A PROGRAM.
Arithmetic and logic operators and functions.
If the constant or the result of the arithmetic expression is a decimal number, the decimal
portion will be ignored.
Logic operators.
Used for doing logic comparisons between conditions.
*Logic AND$IF [P11 == 1] * [P12 >=5]
+Logic OR$IF [P21 != 0] + [P22 == 8]
Each condition should go between brackets, otherwise, an undesired comparison may be
done due to the priority between operators.
CNC 8070
(REF. 1309)
·53·
1.
CREATING A PROGRAM.
Programming manual
Boolean constants.
TRUETrue$IF V.S.VAR == TRUE
FALSENot true$IF V.S.VAR == FALSE
Trigonometric functions.
SIN[...]SineP1 = SIN[30]P1 = 0.5
COS[...]CosineP2 = COS[30]P2 = 0.866
TAN[...]TangentP3 = TAN[30]P3 = 0.5773
ASIN[...]Arc-sineP4 = ASIN[1]P4 = 90
ACOS[...]Arc-cosineP5 = ACOS[1]P5 = 0
ATAN[...]Arc-tangentP6 = ATAN[1]P6 = 45
ARG[...]Arctangent y/xP7=ARG[-1,1]P7=225
In these type of functions the following must be borne in mind:
• In the "TAN" function, the argument cannot take the values ...-90º, 90º, 270º...
• In the "ASIN" and "ACOS" functions, the argument must always be within ±1.
• There are two functions to calculate the arctangent:
"ATAN" It returns the result between ±90º.
"ARG"It returns the result between 0º and 360º.
Arithmetic and logic operators and functions.
Mathematical functions.
ABS[...]Absolute valueP1 = ABS[-10]P1 = 10
SQR[...]Square functionP2 = SQR[4]P2 = 16
SQRT[...]Square rootP3 = SQRT[16]P3 = 4
LOG[...]Decimal logarithmP4 = LOG[100]P4 = 2
LN[...]Neperiam logarithmP5 = LN[100]P5 = 4.6051
EXP[...]"e" functionP6 = EXP[1]P6 = 2.7182
DEXP[...]Decimal exponentP6 = DEXP[2]P7 = 100
In these type of functions the following must be borne in mind:
• In the "LN" and "LOG" functions, the argument must be grater than zero.
• In the "SQRT" function, the argument must be positive.
In the "EXIST" function, programming "$IF EXIST[P1] == TRUE" is the same as
programming "$IF EXIST[P1]".
Programming manual
1.12Arithmetic and logic expressions.
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 lowestThey are 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]
1.
CREATING A PROGRAM.
Arithmetic and logic expressions.
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. 1309)
·55·
1.
Programming manual
CREATING A PROGRAM.
Arithmetic and logic expressions.
CNC 8070
(REF. 1309)
·56·
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. 1309)
·57·
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. 1309)
·58·
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. 1309)
·59·
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. 1309)
·60·
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. 1309)
·61·
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 (home).
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. 1309)
O
M
O
W
H
X
MH YMH ZMH
XWH YWH Z
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.
Machine zero (home).
Part zero.
Machine reference point.
Coordinates referred to machine reference system.
Coordinates referred to the part reference system.
WH
·62·
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 spindles
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. 1309)
·63·
2.
Programming manual
Home search
MACHINE OVERVIEW
CNC 8070
(REF. 1309)
·64·
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
Functions G70 and G71 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 G70 or G71 as set by the machine manufacturer [G.M.P. "INCHES"].
CNC 8070
(REF. 1309)
·65·
3.
3.2Absolute (G90) or incremental (G91) coordinates
COORDINATE SYSTEM
Programming manual
The coordinates of the various points may be defined in absolute coordinates (referred 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.
Functions G90 and G91 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"].
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.
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.
3.
COORDINATE SYSTEM
Absolute (G90) or incremental (G91) coordinates
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.
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. 1309)
·67·
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. 1309)
·68·
Programming manual
i
3.3Programming 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 and 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.
3.
COORDINATE SYSTEM
Programming in radius.Programming in diameters.
When switching programming modes, the CNC changes the way it displays the coordinates
of the corresponding axes.
Properties of the function
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.
Programming in radius (G152) or in diameters (G151)
CNC 8070
(REF. 1309)
·69·
3.
3.4Coordinate programming
3.4.1Cartesian coordinates
Coordinate programming
COORDINATE SYSTEM
Programming manual
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.
CNC 8070
Numbered axes (X1...C9)
If the axis name is like X1, Y2... the "=" sign must be included between the axis name and
the coordinate.
(REF. 1309)
·70·
Programming manual
3.4.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 angle "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
3.
origin with the point.
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" may be selected from the program using function G30. If not selected, it
assumes as "polar origin" the origin of the active reference system (part zero). See chapter
"5 Origin selection".
Coordinate programming
COORDINATE SYSTEM
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.
CNC 8070
(REF. 1309)
·71·
3.
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
Coordinate programming
COORDINATE SYSTEM
Programming manual
Examples. Point definition in polar coordinates.
CNC 8070
(REF. 1309)
·72·
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. Tool 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 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.
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. 1309)
·73·
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 configuration of the axes. 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 either a "trihedron" type
or a "plane" type (parameter GEOCONFIG).
WORK PLANES.
Configuration of "plane" type axes.Configuration of "Trihedron" type axes.
Configuration of "Trihedron" type axes (lathe or mill model).
About work planes on lathe and mill models.
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. 1309)
·74·
The CNC does not display the ·G· functions associated with the work planes because it is
always the same plane.
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 (parameter "IPLANE").
Select the main new work planes.
CNC 8070
(REF. 1309)
·75·
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 and 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. 1309)
·76·
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. To 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 ordinate axes, the perpendicular
axis and the longitudinal axis of the tool. It is selected by assigning one of the following values
to the axes programmed with G20.
Val ue.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 tool 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. 1309)
·77·
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 positive, the tool is positioned in the
positive direction of the axis.
• If the parameter to select the longitudinal axis is negative, 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. 1309)
·78·
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 between 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. 1309)
·81·
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 coordinate transformations
When executing a movement referred to machine zero, the CNC ignores the active offsets
(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. 1309)
·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.
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. 1309)
·83·
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. With
this function only the machine coordinate of an axis or spindle may be set; to set the machine
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.
SMachine coordinate at the spindles.
G174 X100
G174 S180
CNC 8070
(REF. 1309)
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 sp indle is homed and verifies that it is within
the software travel limits.
The CNC does not allow setting the machine coordinate on slaved axes, grantry, tandem or
on axes that are part of the active kinematics or active transform. The CNC permits 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. This function is neither 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·
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.
Defintion
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 nor
by RESETTING the CNC.
CNC 8070
(REF. 1309)
·85·
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 a coordinate, the CNC interprets that the axis coordinates programmed
after the G92 set 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.
Properties of the function
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. 1309)
·86·
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)
Using zero offsets, it is possible to place the part zero in 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
Activation
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. 1309)
·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.
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.xnRValue of the active zero offset (coarse absolute G159 +
(V.)[ch].A.ADDORG.xnRValue of the active incremental zero offset (G158).
(V.)[ch].A.COARSEORG.xnRValue 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]; coarse part plus fine
(V.)[ch].A.COARSEORGT[nb].xnR/WOffset set in the zero offset [nb]; coarse part.
(V.)[ch].A.COARSEORGT[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. 1309)
·89·
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 offset, program
function G158 without axes in the block. To only cancel the incremental zero offset on
particular axes, program an incremental offset of "0" on each of those axes.
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. 1309)
·90·
Programming manual
Y
X
80
W
50
20
204070120
W
W
W
W
M
XY
G54 (G159=1)2020
N100 G54(It applies the first absolute zero offset)
···(Machining of profile A1)
N200 G158 Z-90(Apply incremental zero offset)
···(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 is still 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.
Properties of the function
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. 1309)
·91·
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. These 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.
Properties of the function
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. 1309)
·92·
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.
Properties of the function
Function G53 is modal and incompatible with function G92, zero offsets and probing.
CNC 8070
(REF. 1309)
·93·
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 work plane as the 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.
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)
Properties of the function
Function G30 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. 1309)
·95·
5.
Programming manual
ORIGIN SELECTION
Polar origin preset (G30)
CNC 8070
(REF. 1309)
·96·
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) interpolations.
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 feedrate via 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 selector 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. 1309)
·97·
6.
Feedrate direction on linear and circular interpolations.
Fx
F Δx⋅
Δx()
2
Δy()
2
+()
------------------------------------------- -
=
Fy
F Δy⋅
Δx()
2
Δy()
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 interpolation, the relationship 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. 1309)
·98·
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/revolution).
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. 1309)
·99·
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 and 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".