Fagor 8070 BL, 8070 OL, 8070 L Programming Manual

Page 1
CNC
8070

Programming manual.

(Ref: 1709)
Page 2
TRANSLATION OF THE ORIGINAL MANUAL
This manual is a translation of the original manual. This manual, as well as the documents derived from it, have been drafted in Spanish. In the event of any contradictions between the document in Sp anish and its translations, the wording in the Spanish version shall prevail. The original manual will be labeled with the text "ORIGINAL MANUAL".
BLANK PAGE
It is up to the machine manufacturer to make sure that the safety of the machine is enabled in order to prevent personal injury and damage to the CNC or to the products connected to it. On start-up and while validating CNC parameters, it checks the status of the following safety elements. If any of them is disabled, the CNC shows the following warning message.
• Feedback alarm for analog axes.
• Software limits for analog and sercos linear axes.
• Following error monitoring for analog and sercos axes (except the spind le) both at the CNC and at the drives.
• Tendency test on analog axes.
FAGOR AUTOMA TION sh all not be held responsible for any persona l injuries or physical damage caused or suffered by the CNC resulting from any of the safet y elements being disabled.
HARDWARE EXPANSIONS
FAGOR AUTOMA TION sh all not be held responsible for any persona l injuries or physical damage caused or suffered by the CNC resulting from any hardware manipulation by personnel unauthorized by Fagor Automation.
If the CNC hardware is modified by personnel unauthorized by Fagor Automation, it will no longer be under warranty.
COMPUTER VIRUSES
FAGOR AUTOMATION guarantees that the software installed contains no computer viruses. It is up to the user to keep the unit virus free in ord er to guarantee its proper operation. Computer viruses at the CNC may cause it to malfunction.
FAGOR AUTOMA TION sh all not be held responsible for any persona l injuries or physical damage caused or suffered by the CNC due a computer virus in the system.
If a computer virus is found in the system, the unit will no longer be under warranty .
All rights reserved. No part of this documentation may be transmitted, transcribed, stored in a backup device or translated into another language without Fagor Automation’s consent. Unauthorized copying or dist ributing of this software is prohibited.
The information described in this manual may be subject to changes due to technical modifications. Fagor Automation reserves the right to change the contents of this manual without prior notice.
All the trade marks appearing in the manual belon g to the corresponding owners. The use of these marks by third parties for their own purpose could violate the rights of the owners.
DUAL-USE PRODUCTS
Products manufactured by FAGOR AUTOMATION since April 1st 2014 will include "-MDU" in their identification if they are included on the list of dual-use products according to regulation UE 428/2009 and require an export license depending on destination.
It is possible that CNC can execute more functions than those described in its associated documentation; however , Fagor Automation does not guarantee the validity of those applications. Therefore, except under the express permission from Fagor Automation, any CNC application that is not described in the documentation must be considered as "impossible". In any case, Fagor Automation shall not be held responsible for any personal injuries or physical damage caused or suffered by the CNC if it is used in any way other th an as explained in the related documentation.
The content of this manual and its validit y for the product described here has been verified. Even so, involuntary errors are possible, hence no absolute match is guaranteed. However, the co ntents of this docume nt are regularly checked and updated implementing the necessary corrections in a later edit ion. We appreciate your suggestions for improvement.
The examples described in this manual are for learning purposes. Before using them in industrial applications, they must be properly adapted making su re that the safety regulations are fully met.
·2·
Page 3
Programming manual.

INDEX

About the product - CNC 8070 ..................................................................................................... 9
Declaration of CE conformity and warranty conditions............................................................... 13
Version history - CNC 8070........................................................................................................ 15
Safety conditions ........................................................................................................................ 23
Returning conditions................................................................................................................... 27
CNC maintenance ...................................................................................................................... 29
CHAPTER 1 CREATING A PROGRAM.
1.1 Programming languages................................................................................................31
1.2 Program structure.......................................................................................................... 32
1.2.1 Program body............................................................................................................. 33
1.2.2 The subroutines. ........................................................................................................34
1.3 Program block structure.................................................................................................35
1.3.1 Programming in ISO code..........................................................................................36
1.3.2 High-level language programming............................................................................. 38
1.4 Programming of the axes...............................................................................................39
1.5 List of "G" functions........................................................................................................40
1.6 List of auxiliary (miscellaneous) M functions.................................................................. 43
1.7 List of statements and instructions................................................................................. 44
1.8 Comment programming................................................................................................. 47
1.9 Variables and constants................................................................................................. 48
1.10 Arithmetic parameters....................................................................................................49
1.11 Arithmetic and logic operators and functions................................................................. 50
1.12 Arithmetic and logic expressions. .................................................................................. 52
CHAPTER 2 MACHINE OVERVIEW
2.1 Axis nomenclature ......................................................................................................... 53
2.2 Coordinate system......................................................................................................... 55
2.3 Reference systems........................................................................................................56
2.3.1 Origins of the reference systems ............................................................................... 57
2.4 Home search..................................................................................................................58
2.4.1 Definition of "Home search" .......................................................................................58
2.4.2 "Home search" programming..................................................................................... 59
CHAPTER 3 COORDINATE SYSTEM
3.1 Programming in millimeters (G71) or in inches (G70).................................................... 61
3.2 Absolute (G90) or incremental (G91) coordinates......................................................... 62
3.2.1 Rotary axes................................................................................................................63
3.3 Absolute and incremental coordinates in the same block (I). ........................................ 65
3.4 Programming in radius (G152) or in diameters (G151).................................................. 66
3.5 Coordinate programming...............................................................................................67
3.5.1 Cartesian coordinates................................................................................................ 67
3.5.2 Polar coordinates....................................................................................................... 68
3.5.3 Angle and Cartesian coordinate.................................................................................70
CHAPTER 4 WORK PLANES.
4.1 About work planes on lathe and mill models.................................................................. 74
4.2 Select the main new work planes. ................................................................................. 75
4.2.1 Mill model or lathe model with "trihedron" type axis configuration. ............................ 75
4.2.2 Lathe model with "plane" type axis configuration.......................................................76
4.3 Select any work plane and longitudinal axis.................................................................. 77
4.4 Select the longitudinal axis of the tool............................................................................ 79
CNC 8070
CHAPTER 5 ORIGIN SELECTION
5.1 Programming with respect to machine zero................................................................... 82
5.2 Set the machine coordinate (G174). ............................................................................. 84
5.3 Fixture offset.................................................................................................................. 85
5.4 Coordinate preset (G92)................................................................................................ 86
(REF: 1709)
·3·
Page 4
5.5 Zero offsets (G54-G59/G159)........................................................................................ 87
5.5.1 Variables for setting zero offsets................................................................................ 89
5.5.2 Incremental zero offset (G158) ..................................................................................90
5.5.3 Excluding axes in the zero offset (G157)................................................................... 92
5.6 Zero offset cancellation (G53) ....................................................................................... 93
5.7 Polar origin preset (G30) ............................................................................................... 94
CHAPTER 6 TECHNOLOGICAL FUNCTIONS
6.1 Machining feedrate (F)................................................................................................... 97
6.2 Feedrate related functions............................................................................................. 99
6.2.1 Feedrate programming units (G93/G94/G95)............................................................ 99
6.2.2 Feedrate blend (G108/G109/G193)......................................................................... 100
6.2.3 Constant feedrate mode (G197/G196) .................................................................... 102
6.2.4 Cancellation of the % of feedrate override (G266)................................................... 104
6.2.5 Acceleration control (G130/G131) ........................................................................... 105
6.2.6 Jerk control (G132/G133) ........................................................................................ 107
6.2.7 Feed-Forward control (G134) .................................................................................. 108
6.2.8 AC-Forward control (G135)......................................................................................109
6.3 Spindle speed (S) ........................................................................................................110
6.4 Tool number (T)........................................................................................................... 111
6.5 Tool offset number (D)................................................................................................. 114
6.6 Auxiliary (miscellaneous) functions (M) .......................................................................116
6.6.1 List of "M" functions ................................................................................................. 117
6.7 Auxiliary functions (H).................................................................................................. 118
Programming manual.
CHAPTER 7 THE SPINDLE. BASIC CONTROL.
7.1 The master spindle of the channel...............................................................................120
7.1.1 Manual selection of a master spindle....................................................................... 122
7.2 Spindle speed.............................................................................................................. 123
7.2.1 G192. Turning speed limitation................................................................................ 124
7.2.2 Constant surface speed........................................................................................... 125
7.3 Spindle start and stop.................................................................................................. 126
7.4 Gear change................................................................................................................ 128
7.5 Spindle orientation....................................................................................................... 130
7.5.1 The turning direction for spindle orientation............................................................. 132
7.5.2 M19 function with an associated subroutine............................................................ 134
7.5.3 Positioning speed..................................................................................................... 135
7.6 M functions with an associated subroutine.................................................................. 136
CHAPTER 8 PATH CONTROL.
8.1 Rapid traverse (G00). ..................................................................................................137
8.2 Linear interpolation (G01)............................................................................................ 139
8.3 Circular interpolation (G02/G03).................................................................................. 145
8.3.1 Cartesian coordinates (Arc center programming).................................................... 147
8.3.2 Cartesian coordinates (arc radius programming). ...................................................149
8.3.3 Cartesian coordinates (arc radius pre-programming) (G263).................................. 151
8.3.4 Polar coordinates..................................................................................................... 152
8.3.5 Programming example (M model). Polar coordinates.............................................. 154
8.3.6 Programming example (M model). Polar coordinates. ............................................ 155
8.3.7 Programming example (T model). Programming examples. ................................... 156
8.3.8 Polar coordinates. Temporary Polar origin shift to the center of arc (G31).............. 157
8.3.9 Cartesian coordinates. Arc center in absolute coordinates (no-modal) (G06)......... 158
8.3.10 Cartesian coordinates. Arc center in absolute coordinates (modal) (G261/G262). . 159
8.3.11 Arc correction (G264/G265)..................................................................................... 161
8.4 Arc tangent to previous path (G08).............................................................................. 163
8.5 Arc defined by three points (G09)................................................................................ 165
8.6 Helical interpolation (G02/G03). .................................................................................. 167
CNC 8070
(REF: 1709)
·4·
CHAPTER 9 TOOL PATH CONTROL. MANUAL INTERVENTION.
9.1 Additive manual intervention (G201/G202)..................................................................170
9.2 Exclusive manual intervention (G200)......................................................................... 171
9.3 Jogging feedrate.......................................................................................................... 172
9.3.1 Feedrate in continuous jog (#CONTJOG)................................................................ 172
9.3.2 Feedrate in incremental jog (#INCJOG). ................................................................. 173
9.3.3 Feedrate in incremental jog (#MPG)........................................................................ 174
9.3.4 Manual path movement limits (#SET OFFSET)....................................................... 175
9.3.5 Synchronization of coordinates and additive manual offset (#SYNC POS)............. 176
9.4 Variables...................................................................................................................... 177
Page 5
Programming manual.
CHAPTER 10 ELECTRONIC THREADING AND RIGID TAPPING.
10.1 Electronic threading with constant pitch (G33) ............................................................ 179
10.1.1 Programming examples (·M· model)........................................................................ 182
10.1.2 Programming examples (·T· model) ........................................................................ 183
10.2 Electronic threading with variable pitch (G34) ............................................................. 185
10.3 Rigid tapping (G63)......................................................................................................189
10.4 Withdraw the axes after interrupting an electronic threading (G233)........................... 191
10.4.1 Variables related to G233. ....................................................................................... 194
10.4.2 Programming example............................................................................................. 194
CHAPTER 11 GEOMETRY ASSISTANCE
11.1 Square corner (G07/G60)............................................................................................195
11.2 Semi-rounded corner (G50)......................................................................................... 196
11.3 Controlled corner rounding, radius blend, (G05/G61)..................................................197
11.3.1 Types of corner rounding .........................................................................................198
11.4 Corner rounding, radius blend, (G36) ..........................................................................202
11.5 Corner chamfering, (G39)............................................................................................ 204
11.6 Tangential entry (G37)................................................................................................. 206
11.7 Tangential exit (G38) ................................................................................................... 207
11.8 Mirror image (G11, G12, G13, G10, G14) ................................................................... 208
11.9 Pattern rotation (G73)........................................................................ ..........................212
11.10 General scaling factor.................................................................................................. 214
11.11 Work zones.................................................................................................................. 217
11.11.1 CNC behavior when there are active work zones.................................................... 218
11.11.2 Set the limits of the work zones (G120/G121/G123)................................................ 219
11.11.3 Enable/disable the work zones (G122). ...................................................................221
11.11.4 Summary of work zone related variables................................................................. 224
CHAPTER 12 ADDITIONAL PREPARATORY FUNCTIONS
12.1 Dwell (G04 / #TIME). ................................................................................................... 225
12.2 Software limits.............................................................................................................. 227
12.2.1 Define the first software limit (G198/G199).............................................................. 228
12.2.2 Define the first software limit via variables............................................................... 230
12.2.3 Define the second software limit via variables. ........................................................231
12.2.4 Variables associated with the software limits...........................................................232
12.3 Turn Hirth axis on and off (G170/G171)....................................................................... 233
12.4 Set and gear change.................................................................................................... 234
12.4.1 Change parameter set of an axis (G112).................................................................234
12.4.2 Change the gear and set of a Sercos drive using variables..................................... 235
12.4.3 Variables related to set and gear change. ............................................................... 236
12.5 Smooth the path and the feedrate. .............................................................................. 237
12.5.1 Smooth the path (#PATHND)................................................................................... 237
12.5.2 Smooth the path and the feedrate (#FEEDND). ...................................................... 238
CHAPTER 13 TOOL COMPENSATION
13.1 Tool radius compensation............................................................................................241
13.1.1 Location code (shape or type) of the turning tools................................................... 242
13.1.2 Functions associates with radius compensation...................................................... 245
13.1.3 Beginning of tool radius compensation.................................................................... 248
13.1.4 Sections of tool radius compensation ...................................................................... 251
13.1.5 Change of type of radius compensation while machining........................................ 255
13.1.6 Cancellation of tool radius compensation ................................................................ 257
13.2 Tool length compensation............................................................................................ 260
13.3 3D tool compensation. .................................................................................................262
13.3.1 Programming the vector in the block........................................................................ 264
CHAPTER 14 SUBROUTINES.
14.1 Executing subroutines from RAM memory. ................................................................. 267
14.2 Definition of the subroutines ........................................................................................ 268
14.3 Subroutine execution. ..................................................................................................269
14.3.1 LL. Call to a local subroutine....................................................................................270
14.3.2 L. Call to a global subroutine.................................................................................... 270
14.3.3 #CALL. Call to a global or local subroutine.............................................................. 271
14.3.4 #PCALL. Call to a global or local subroutine initializing parameters........................272
14.3.5 #MCALL. Modal call to a local or global subroutine................................................. 273
14.3.6 #MDOFF. Turning the subroutine into non-modal....................................................275
14.3.7 #RETDSBLK. Execute subroutine as a single block................................................276
14.4 #PATH. Define the location of the global subroutines. ................................................ 277
14.5 OEM subroutine execution........................................................................................... 278
CNC 8070
(REF: 1709)
·5·
Page 6
14.6 Generic user subroutines (G500-G599). ..................................................................... 280
14.7 Assistance for subroutines...........................................................................................283
14.7.1 Subroutine help files. ............................................................................................... 283
14.7.2 List of available subroutines.....................................................................................285
14.8 Interruption subroutines............................................................................................... 286
14.8.1 Repositioning axes and spindles from the subroutine (#REPOS). .......................... 287
14.9 Subroutine associated with the start............................................................................ 288
14.10 Subroutine associated with the reset........................................................................... 289
14.11 Subroutines associated with the kinematics calibration cycle. .................................... 290
CHAPTER 15 EXECUTING BLOCKS AND PROGRAMS
15.1 Executing a program in the indicated channel............................................................. 291
15.2 Executing a block in the indicated channel.................................................................. 293
15.3 Abort the execution of the program and resume it in another block or program. ........294
15.3.1 Define the execution resuming block or program. ................................................... 295
15.3.2 Canceling the execution resuming point.................................................................. 296
CHAPTER 16 C AXIS
16.1 Activating the spindle as "C" axis................................................................................. 298
16.2 Machining of the face of the part ................................................................................. 300
16.3 Machining of the turning side of the part............................................. .........................302
CHAPTER 17 ANGULAR TRANSFORMATION OF AN INCLINE AXIS.
Programming manual.
CNC 8070
(REF: 1709)
17.1 Turning angular transformation on and off...................................................................307
17.2 Freezing (suspending) the angular transformation...................................................... 308
17.3 Obtaining information on angular transformation.........................................................309
CHAPTER 18 TANGENTIAL CONTROL.
18.1 Turning tangential control on and off. ..........................................................................313
18.2 Freezing tangential control. ......................................................................................... 316
18.3 Obtaining information on tangential control. ................................................................318
CHAPTER 19 KINEMATICS AND COORDINATE TRANSFORMATION
19.1 Coordinate systems..................................................................................................... 320
19.2 Movement in an inclined plane....................................................................................321
19.3 Select a kinematics (#KIN ID)...................................................................................... 322
19.4 Coordinate systems (#CS / #ACS). .............................................................................323
19.4.1 Define a coordinate system (MODE1). ....................................................................327
19.4.2 Define a coordinate system (MODE2). ....................................................................328
19.4.3 Define a coordinate system (MODE3). ....................................................................329
19.4.4 Define a coordinate system (MODE4). ....................................................................330
19.4.5 Define a coordinate system (MODE5). ....................................................................331
19.4.6 Define a coordinate system (MODE6). ....................................................................332
19.4.7 Operation with 45º spindles (Huron type). ............................................................... 334
19.4.8 How to combine several coordinate systems........................................................... 336
19.5 Tool perpendicular to the inclined plane (#TOOL ORI). .............................................. 338
19.5.1 Programming examples........................................................................................... 339
19.6 Using RTCP (Rotating Tool Center Point)................................................................... 341
19.6.1 Programming examples........................................................................................... 343
19.7 Correct the implicit tool length compensation of the program (#TLC).......................... 345
19.8 How to withdraw the tool when losing the plane.......................................................... 346
19.9 Tool orientation in the part coordinate system............................................................. 347
19.9.1 Activate tool orientation in the part coordinate system. ........................................... 347
19.9.2 Cancel tool orientation in the part coordinate system.............................................. 348
19.9.3 How to manage the discontinuities in the orientation of rotary axes........................ 349
19.9.4 Screen for choosing the desired solution................................................................. 351
19.9.5 Execution example. Selecting a solution. ................................................................ 352
19.10 Selecting the rotary axes that position the tool in type-52 kinematics. ........................ 353
19.11 Transform the current part zero considering the position of the table kinematics........ 354
19.11.1 Process of saving a part zero with the table axes in any position............................355
19.11.2 Example to maintain the part zero without rotating the coordinate system..............356
19.12 Summary of kinematics related variables.................................................................... 357
CHAPTER 20 HSC. HIGH SPEED MACHINING.
·6·
20.1 Recommendations for machining. ...............................................................................362
20.2 User subroutines G500-G501 to turn HSC on/off........................................................ 363
20.2.1 Alternative example for functions G500-G501 supplied by Fagor. .......................... 365
Page 7
Programming manual.
20.3 HSC SURFACE mode. Optimization of surface finish................................................. 367
20.4 HSC CONTERROR mode. Optimizing the contouring error........................................ 370
20.5 HSC FAST mode. Optimizing the machining feedrate................................................. 372
20.6 Canceling the HSC mode. ........................................................................................... 374
CHAPTER 21 VIRTUAL TOOL AXIS.
21.1 Activate the virtual tool axis. ........................................................................................ 376
21.2 Cancel the virtual tool axis........................................................................................... 377
21.3 Variables associated with the virtual tool axis.............................................................. 378
CHAPTER 22 STATEMENTS AND INSTRUCTIONS
22.1 Programming statements.............................................................................................380
22.1.1 Display instructions. Display an error on the screen................................................ 380
22.1.2 Display instructions. Display a warning on the screen............................................. 382
22.1.3 Display instructions. Display a message on the screen........................................... 384
22.1.4 Display instructions. Define the size of the graphics area........................................ 385
22.1.5 Enabling and disabling instructions..........................................................................388
22.1.6 ISO generation......................................................................................................... 389
22.1.7 Electronic axis slaving..............................................................................................392
22.1.8 Axis parking.............................................................................................................. 393
22.1.9 Modifying the configuration of the axes of a channel............................................... 395
22.1.10 Modifying the configuration of the spindles of a channel ......................................... 400
22.1.11 Spindle synchronization........................................................................................... 403
22.1.12 Selecting the loop for an axis or a spindle. Open loop or closed loop ..................... 407
22.1.13 Collision detection.................................................................................................... 409
22.1.14 Spline interpolation (Akima)..................................................................................... 411
22.1.15 Polynomial interpolation........................................................................................... 414
22.1.16 Acceleration control.................................................................................................. 415
22.1.17 Definition of macros ................................................................................................. 417
22.1.18 Block repetition......................................................................................................... 419
22.1.19 Communication and synchronization between channels......................................... 421
22.1.20 Movements of independent axes............................................................................. 424
22.1.21 Electronic cams........................................................................................................428
22.1.22 Additional programming instructions........................................................................ 431
22.1.23 On line modification of the machine configuration in HD graphics (xca files). ......... 432
22.2 Flow controlling instructions.........................................................................................433
22.2.1 Jump to a block ($GOTO)........................................................................................ 433
22.2.2 Conditional execution ($IF)...................................................................................... 434
22.2.3 Conditional execution ($SWITCH) ...........................................................................436
22.2.4 Block repetition ($FOR)............................................................................................ 437
22.2.5 Conditional block repetition ($WHILE) .....................................................................438
22.2.6 Conditional block repetition ($DO)........................................................................... 439
CHAPTER 23 CNC VARIABLES.
CNC 8070
(REF: 1709)
·7·
Page 8
BLANK PAGE
·8·
Page 9
Programming manual.
ABOUT THE PRODUCT - CNC 8070
BASIC CHARACTERISTICS.
Basic characteristics. ·BL· ·OL· ·L·
Number of axes. 3 to 7 3 to 31 3 to 31 Number of spindles. 1 1 to 6 1 to 6 Number of tool magazines. 1 1 to 4 1 to 4 Number of execution channels. 1 1 to 4 1 to 4 Number of interpolated axes (maximum). 4 3 to 31 3 to 31 Number of handwheels. 1 to 12 Type of servo system. Analog / Digital Sercos
Digital Mechatrolink
Communications. RS485 / RS422 / RS232
Ethernet PCI expansion. No Option No Integrated PLC.
PLC execution time. Digital inputs / Digital outputs. Marks / Registers. Timers / Counters. Symbols.
Block processing time. < 1 ms < 1 ms
< 1ms/K
1024 / 1024 8192 / 1024
512 / 256 Unlimited
Analog
Sercos Digital
Remote modules. RIOW RIO5 RIO70 RIOR RCS-S
Valid for CNC. 8070
8065
8060 Communication with the remote modules. CANopen CANopen CANfagor CANopen Sercos Digital inputs per module. 8 24 / 48 16 48 - - ­Digital outputs per module. 8 16 / 32 16 32 - - ­Analog inputs per module. 4 4 8 - - - - - ­Analog outputs per module. 4 4 4 - - - 4 Inputs for PT100 temperature sensors. 2 2 - - - - - - - - ­Feedback inputs. - - - - - - 4 (*) - - - 4 (**)
(*) Differential TTL / Sinusoidal 1 Vpp (**) TTL / Differential TTL / Sinusoidal 1 Vpp / SSI protocol / FeeDat / EnDat
8070 8065 8060
8070 8065
- - -
8070 8065
D
I
8060
S C O N T
I N U E D
8070 8065 8060
Customizing.
PC-based open system, fully customizable.
INI configuration files. Tool for display configuration FGUIM. Visual Basic®, Visual C++®, etc. Internal databases in Microsoft® Access. OPC compatible interface
CNC 8070
(REF: 1709)
·9·
Page 10
Programming manual.
SOFTWARE OPTIONS.
Some of the features described in this manual are dependent on the acquired software options. The active software options for the CNC can be consulted in the diagnostics mode (accessible from the task window by pressing [CTRL] [A]), under software options.
CNC 8070
(REF: 1709)
Consult the ordering handbook for information on the software options available for your model.
SOFT ADDIT AXES Additional shaft.
Add axes to the default configuration.
SOFT ADDIT SPINDLES Additional spindle.
Add spindles to the default configuration.
SOFT ADDIT TOOL MAGAZ Additional tool magazine.
Add tool magazines to the default configuration.
SOFT ADDIT CHANNELS Additional channel.
Add channels to the default configuration.
SOFT 4 AXES INTERPOLATION LIMIT Limited to 4 interpolated axes.
It limits the number of axes to 4, where the CNC can also interpolate these at the same time.
SOFT OPEN SYSTEM Open system.
The CNC is a closed system that offers all the features needed to machine parts. Nevertheless, at times there are some customers who use third-party applications to take measurements, perform statistics or other tasks apart from machining a part.
This feature must be active w hen installing thi s type of application, even if they are Office file s. Once the application has been installed, it is recommended to close the CNC in order to prevent the operators from installing other kinds of applications that could slow the system down and affect the machining operations.
SOFT DIGITAL SERCOS Sercos digital bus.
Sercos digital bus.
SOFT DIGIT NO FAGOR Non-Fagor digital servo system.
Mechatrolink digital bus.
SOFT EDIT/SIMUL EDISIMU mode (editing and simulation).
It allows for the editing, modification and simulation of a part-program.
SOFT IEC 61131 LANGUAGE IEC 61131 language
IEC 61131 is a PLC programming language that is very popular in alternative markets, which is slowly entering into the machine-tool market. With this feature, the PLC may be programmed either in the usual Fagor language or in IEC 61131 format.
SOFT TOOL RADIUS COMP Compensación de radio.
T ool compensation allows programming the contour to be machined based on part dimensions of the and without taking into account the dimensions of the tool that will be used later on. This avoids having to calculate and define the tool path based on the tool radius.
SOFT PROFILE EDITOR Profile editor.
Allows for the part profiles to be edited graphically and to import dxf files.
·10·
Page 11
Programming manual.
SOFT RTCP Dynamic RTCP (Rotating Tool Center Point).
The dynamic RTCP option is required for interpolation machining with 4, 5 or 6 axis.
SOFT C AXIS C axis.
It activates the kinematics for working with the C axis and the associated canned cycles. The CNC can control several C axes. The parameters of each axis indicate if it will function as a C axis or not, where it will not be necessary to activate another axis for the machine parameters.
SOFT TANDEM AXES Tandem axes.
A tandem axis consists in two motors mechanically coupled (slaved) and making up a single transmission system (axis or spindle). A tandem axis helps provide the necessary torque to move an axis when a single motor is not capable of supplying enough torque to do it.
When activating this feature, it should be kept in mind that for each tandem axis of the machine, another axis must be added to the entire configuration. For example, on a large 3-axis lathe (X Z and tailstock), if the tailstock is a tandem axis, the final purchase order for the machine must indicate 4 axes.
SOFT SYNCHRONISM Synchronization of axes and spindles.
The axes and ballscrews may be synchronized in two ways: in terms of speed or position. The CNC configuration takes into consideration the synchronization of 2 axes or 2 spindles. Once synchronized, only the master displays and programs the element.
SOFT HSSA II MACHINING SYSTEM HSSA-II machining system.
This is the new version of algorithms for high speed machining (HSC). This new HSSA algorithm allows for high speed machining optimization, where higher cutting speeds, smoother contours, a better surface finishing and greater precision are achieved.
SOFT TANGENTIAL CONTROL Tangential control.
"T angential Control" maintains a rotary axis always in the same orientation with respect to the programmed tool path. The machining path is defined on the axes of the active plane and the CNC maintains the orientation of the rotary axis along the entire tool path.
SOFT DRILL CYCL OL Drilling ISO cycles for the OL model.
Drilling ISO cycles for the OL model (G80, G81, G82, G83).
SOFT PROBE Probing canned cycles.
The CNC may have two probes; usually a tabletop probe to calibrate tools and a measuring probe to measure the part.
This option activates the functions G100, G103 and G104 (for probe movements); probe canned cycles are not included.
SOFT THIRD PARTY CANOPEN Third-party CANopen.
Enables the use of non-Fagor CANopen modules.
SOFT FVC UP TO 10m3 SOFT FVC MORE TO 10m3 Medium and large volumetric compensation.
5-axis machines are generally used during the manufacturing of large parts. The accuracy of the parts is limited by the machine manufacturing tolerances and is effected by temperature variations during machining.
In sectors such as the aerospace industry, machining demands mean that classic compensation tools are becoming suboptimal. Volumetric compensation FVC comes in to complement the machine adjusting tools. When mapping the total work volume of the machine, the CNC knows the exact position of the tool at all times. After applying the required compensation, the resulting part is made with the desired precision and tolerance.
There are 2 choices, which depend on the size of the machine, being up to 10 m³ and over 10 m³.
SOFT 60 PWM CONTROL Pulse-Width Modulation.
This function is only available for Sercos bus controlled systems. It is mostly oriented toward laser machines for the cutting of very thick sheets, where the CNC generates a series of PWM pulses to control the power of the laser when drilling the starting point. This feature is essential for cutting very thick sheets and it requires two quick digital outputs located on the central unit. With this new feature, the OEM does not need to install or program any external device, which reduces machine costs and installation times. The end user also benefits, since the “Cutting with PWM ” feature is much easier to use and program.
SOFT 60 GAP CONTROL Gap control.
This is mostly oriented toward laser machines. Gap control makes it possible to maintain a set distance between the laser nozzle and the surface of the sheet. This distance is calculated by a sensor connected to the CNC, so that the CNC offsets the sensor variations on the distance programmed with additional movements in the axis programmed for the gap.
CNC 8070
(REF: 1709)
·11·
Page 12
BLANK PAGE
·12·
Page 13
Programming manual.
DECLARATION OF CE CONFORMITY AND
WARRANTY CONDITIONS
DECLARATION OF CONFORMITY
The declaration of conformity for the CNC is available in the downloads section of FAGOR’S corporate website. http://www.fagorautomation.com. (Type of file: Declaration of conformity).
WARRANTY TERMS
The warranty conditions for the CNC are available in the downloads section of FA GOR’s corporate website.
http://www.fagorautomation.com. (Type of file: General sales-warranty conditions.
CNC 8070
(REF: 1709)
·13·
Page 14
BLANK PAGE
·14·
Page 15
Programming manual.
VERSION HISTORY - CNC 8070
Here is a list of the features added to each manual reference.
Ref. 0201
Software V01.00
First version. Milling model.
Ref. 0212
Software V01.10
New repositioning feedrate after tool inspection. • Machine parameter: REPOSFEED. New treatment of the JOG keys. Different keys to select the axis and the
direction. Know the dimensions of the kinematics on an axis. • Variable: (V.)A.HEADOF.xn Keyboard simulation from the PLC. • Variable: (V.)G.KEY General scaling factor. • Instruction: #SCALE. Probe selection. • Instruction: #SELECT PROBE. Probing canned cycles. • Instruction: #PROBE. Programming of warnings. • Instruction: #WARNING. Block repetition. • Instruction: #RPT. Know the active general scaling factor. • Variable: (V.)G.SCALE Knowing which is the active probe. • Variable: (V.)G.ACTIVPROBE Improved programming of high speed machining. • Instruction: #HSC. Improved programming of axis swapping. • Instructions: #SET
The number of macros in a program is now limited to 50. • Macros.
• Machine parameter: JOGKEYDEF.
#CALL #FREE #RENAME
Ref. 0501
Software V02.01
Windows XP operating system. Emergency shutdown with battery (central unit PC104). Multi-channel system, up to 4 channels. Swapping of axes and spindles,
communication and synchronization between channels, common arithmetic parameters, access variables by channel, etc.
Multi-spindle system, up to 4 spindles. Tool management with up to 4 magazines. Tool radius compensation mode (G136/G137) by default • Machine parameter: IRCOMP. New behavior for rotary axes. The "(V .)TM.MZWAIT " variable is not n ecessary in the subroutine associated
with M06. Know the software version. • Variable: (V.)G.SOFTWARE
Variables related to loop adjustment. Gain setting via PLC. • Variables: (V.)A.PLCFFGAIN.xn
Variables relat ed to loop adjustment. Position increment an d sampling period. • Variables: (V. )A.POSINC.xn
Variables rel ated to loop adjustment. Fine adjustment of feedrate, acceleration and jerk.
Variables related to the feedback inputs. • Variables:
• Subroutine associated with M6.
• Variable: (V.)TM.MZWAIT
(V.)A.PLCACFGAIN.xn (V.)A.PLCPROGAIN.xn
(V.)A.TPOSINC.xn (V.)A.PREVPOSINC.xn
• Variables: (V.)A.FEED.xn (V.)A.TFEED.xn (V.)A.ACCEL.xn (V.)A.TACCEL.xn (V.)A.JERK.xn (V.)A.TJERK.xn
(V.)A.COUNTER.xn (V.)A.COUNTERST.xn (V.)A.ASINUS.xn (V.)A.BSINUS.xn
CNC 8070
(REF: 1709)
·15·
Page 16
Programming manual.
Software V02.01
Optimize the reading and writing of variables from the PLC. Only the acce ss to the following variables will be asynchronous.
• The tool variables will be read asynchronously when the tool is neither the active one nor in the magazine.
• The tool variables will be written asynchronously whether the tool is the active one or not.
• The variables referred to local arithmetic p arameters of the active levels will be read and written asynchronously.
Spindle parking and unparking. • Instructions: #PARK
Tool radius compensation.
• Behavior of the beginning and end of tool radius compensation when not programming a movement.
• Changing the type of radius compensation while machining.
Via program, loading a tool in a specific magazine position. Programming of modal subroutines. • Instruction: #MCALL. Executing a block in a channel. • Instruction: #EXBLK. Programming the number of repetitions in the block. • NR command.
• Reading and writing of variables from the PLC.
#UNPARK
Ref. 0504
Software V02.03
Electronic cam programming (real coordinates). • Instruction: #CAM. Synchronization of independent axis (real coordinates). • Instruction: #FOLLOW. Movement of the independent axis. • Instruction: #MOVE. G31. Temporary polar origin shift to the center of interpolation. • Function G31. G112. Change the drive's parameter set. • Function G112.
CNC 8070
Ref. 0509
Software V03.00
Lathe model. Machining canned cycles, lathe tool calibration, variables to consult the geometry of lathe tools, etc.
Incline axis. Permit using the G95 function in jog mode. • Machine parameter: FPRMAN. "C" axis maintained. • Machine parameter: PERCAX. Magazine-less system. Ground tools for a turret magazine. Variable to read the accumulated PLC offset. • Variable: (V.)A.ACTPLCOF.xn Variable to obtain a linear estimation of the following error. • Variable: (V.)A.FLWEST.xn Variables to read the instant value of feed-forward or AC-forward. • Variables: (V.)A.ACTFFW.xn
Variable to know the line nu mber of the file being executed. • Variable: (V.)G.LINEN Variable to know what kin d of cycle is active. • Variable: (V.)G.CYCLETYPEON Variable to know the tool orientation. • Variable: (V.)G.TOOLDIR Variable to know whether the HSC mode is active or not . • Variable: (V.)G.HSC Variable to know the theoretical feedrate on 3D path. • Variable: (V.)G.F3D Variable to know the number of the warning being displayed. • Variable: (V.)G.CNCWARNING The variable (V.)G.CNCERR is now per channel. • Variable: (V.)G.CNCERR Select the type of loop, open or closed, for the spindle. • Instruction: #SERVO. Spindle synchronization. • Instruction: #SYNC. Spindle synchronization. • Instruction: #TSYNC. Spindle synchronization. • Instruction: #UNSYNC. Select milling cycles at a lathe model. • Instruction: #MILLCY. Select turning cycles at a milling model. • Instruction: #LATHECY. Define a kinematics when activating the C axis. • #CYL instruction. Define a kinematics when activating the C axis. • #FACE instruction. Improved coordinate transformation (#CS/#ACS).
• Keep the part zero when deactivating the transformation.
• Working with 45º spindles. Select between the two choices.
• Keep the rotation of the plane axes with MODE 6.
G33. New parameter (Q1) to define the entry angle. • Function G33. G63. Tool inspection is possible during rigid tapping. • Function G63. Function G112 is not valid for the spindle. • Function G112. New criteria when assuming a new master spindle in the channel.
(V.)A.ACTACF.xn
• Instructions #CS #ACS.
(REF: 1709)
·16·
Ref. 0601
Software V03.01
Axis slaving. Configuring the default status of an axis slaving (coupling). • Machine parameters: LINKCANCEL. Tool radius compensation. The way tool radius is canceled. • Machine parameters: COMPCANCEL. Using the ":" character to program a comment in a part-program. Variables. Geometry of the lathe tools. Variables. Number of t he tool in the claws of the changer arm. • Variables: (V.)TM.TOOLCH1[mz]
(V.)TM.TOOLCH2[mz]
Page 17
Programming manual.
Software V03.01
The instruction #EXEC does not issue an error if the channel is busy; the instruction waits for the operation in progress to end.
The instruction #EXBLK does not issue an error if the channel is busy; the instruction waits for the operation in progress to end.
• #EXEC instruction.
• #EXBLK instruction.
Ref. 0606
Software V03.10
Feedrate. Maximum machining feedrate. • Machine parameter: MAXFEED. Feedrate. Default machining feedrate when none has been programmed. • Machine parameter: DEFAULTFEED. The CNC allows changing the spindle override during electronic threading
(G33) and in the threading canned cycles of the · T· model (G86, G87 and their equivalent of the cycle editor).
"Retrace" function. Tangential control. The CNC checks whether the programmed turning direction (M3/M4) matches
the one preset in the tool table. M02/M30. There is no need to program M02 or M30 to end a part program. • Functions M02/M30. Canceling the preset turning direction of a tool. • Variables: (V.)G.SPDLTURDIR Change the maximum feedrate allowed in the channel from the PLC. • Variables: (V.)PLC.PLCG00FEED Show the status of the emergency relay. • Variables: (V.)G.ERELAYST HSC. New FAST mode. • #HSC instruction. C axis. The #CYL instruction requires programming the radius. • #CYL instruction.
• Machine parameters: THREADOVR, OVRFILTER.
Ref. 0608
Software V03.11
"Retrace" function. Several improvements to the retrace functio n. HSC. New command CORNER. • #HSC instruction. G33. The override limitation is maint ained while returning to the b eginning of
the thread. RTCP . Home search is now possible on the axes that are not involved in R TCP . Abort the execution of the program and resume it somewhere else. • Instruction: #ABORT.
• Function G33.
Ref. 0704 / Ref. 0706
Software V03.13
Define the tool wear with incremental or absolute values. Variables (V .)TM.TOOLCH1[mz] / (V .)TM.TOOLCH2[mz] may be written from
the PLC.
Software V03.14
MCU and ICU central unit. battery powered RAM. Connecting handwheels to the central unit. local I/O. Local feedback inputs. Loca probes.
The turning speed limitation (G192) is also applied when the spindle is working at constant turning speed (G97)
• Variables: (V.)TM.TOOLCH1[mz] (V.)TM.TOOLCH2[mz].
• Function G192.
Ref. 0707
Software V03.15
Know the type of hardware. • Variable: (V.)G.HARDTYPE Theoretical tool feedrate along the path • Variable: (V.)G.PATHFEED Zero offsets for the C axis. The CNC shows a warning when a channel is expecting a tool that is being
used in another channel.
Ref. 0709
Software V03.16
Tandem spindles. The CNC does not assume any kinematics on power-up. The CNC allows modifying the override while threading if it detects that the
feed forward (parameter FFWTYPE) is not active in a gear or if the active feed forward is lower than 90%
CNC 8070
Ref. 0712
Software V03.17
C axis maintained after executing M02, M30 or af t er a n emergency or re se t. • Machine parameter: PERCAX.
(REF: 1709)
·17·
Page 18
Programming manual.
Ref. 0801
Software V03.20
Set change. The CNC lets change the gear of the slave axis or spindle of a tandem.
Coordinate latching with the help of a probe or a digital input. • Variables: (V.)A.LATCH1.xn
Status of the local probes. • Variables: (V.)G.PRBST1 (V.)G.PRBST2. Axis synchronization. Managing a rotary axis as an infini te axis making it
possible to increase the feedback count of the axis indefinitely (wihout limits) regardless of the value of the module.
Show a warning and interrupt program execution. • Instruction: #W ARNINGSTOP. Electronic cam programming (theoretical coordinates). • Instruction: #TCAM. Dynamic distribution of the machining operations between channels. • Instruction: #DINDIST. The CNC can park the main axes. The axes may be programmed using the "?" wild card that refers to the axis
position in the channel. Functions G130 (percentage of acceleration) and G132 (percentage of jerk)
may be applied to the spindles. Interface related variables.
(V.)A.LATCH2.xn
• Variables: (V.)A.ACCUDIST.xn
• Wild card "?".
• Functions G130 and G132.
Ref. 0809
Software V04.00 (it does not include the features of version V03.21)
Unicode. Cancel spindle synchronization after executing M02, M30 or after an error or
a reset. Positioning a turret magazine whether there is a tool in the indicated position
or not. A channel maintains its master spindle a fter executing M02, M30 or after an
emergency or a reset or restarting the CNC. Force the change of gears and/or of the parameter set of a Sercos drive • Variable: (V.)A.SETGE.xn Set a machine coordinate. • Function G174. There can now be up to 99 zero offsets. • Function G159. There can now be up to 100 synchronization marks. • Instructions #MEET, #WAIT and #SIGNAL. Select a turret position. • #ROTATEMZ instructions. Axis synchronization. Managing a rotary axis as an infini te axis making it
possible to increase the feedback count of the axis indefinitely (wihout limits) regardless of the value of the module.
Variables. The va riable (V .)E.PROGSELECT can be written via part-progra m, PLC and interface. This variable can only be written with the value of ·0·
Variables. The followin g variables are valid for the spindle. • Variables: (V.)A.MEAS.sn
Handwheels. Number of pulses sent by the handwheel since the system was started up.
Feed handwheel.
• Instructions #SYNC and #TSYNC.
• #ROTATEMZ instructions.
• #MASTERinstruction.
• Variables: (V.)A.PREVACCUDIST.xn
• Variables: (V.)E.PROGSELECT
(V.)A.ATIPMEAS.sn (V.)A.MEASOF.sn (V.)A.MEASOK.sn (V.)A.MEASIN.sn
• Variables: (V.)G.HANDP[hw]
CNC 8070
(REF: 1709)
·18·
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
Define the maximum acceleration and jerk allowed on the tool path. • Variables: (V.)G.MAXACCEL
Variable to know the following error (lag) when feedback combination is active. • Variables: (V.)A.FL WE.xn
Variable to know the position value of the first feedback when feedback combination is active.
(V.)G.MAXJERK
(V.)A.FLWACT.xn
• Variable: (V.)A.POSMOTOR.xn
Ref. 1007
Software V04.10 (it does not include the features of version V04.02)
New languages (Russian and Czech). • Machine parameter: LANGUAGE. Cancel the inclined plane on start-up. • Machine parameter: CSCANCEL. M functions with an associated subroutine. The CNC admits function G174 for axes in DRO mode and spindles. • Function G174. Detailed CNC status in jog mode. • Variable: (V.)G.CNCMANSTATUS Detailed CNC status in automatic mode. • Variable: (V.)G.CNCAUTSTATUS Know the axes selected for home search, repositioning, coordinate preset or
movement to a coordinate.
• Variable: (V.)G.SELECTEDAXIS
Page 19
Programming manual.
Software V04.10 (it does not include the features of version V04.02)
Know the current position of the main rotary axes of the kin ematics (third axis). • Variable: (V.)G .POS ROTT Know the target position of the main rotary axes of the ki nematics (third axis). • Variable: (V.)G.TOOLORIT1
Cancel the name change for axes and spindles (#RENAME) after exe cuting M02 or M30, after a reset or at the beginning of a new part-program in the same channel.
(V.)G.TOOLORIT2
• #RENAME instruction.
Ref. 1010
Software V04.02 (features not included in version V04.10)
New language (Russian). • Machine parameter: LANGUAGE. The CNC admits function G174 for axes in DRO mode and spindles. • Function G174. Detailed CNC status in jog mode. • Variable: (V.)G.CNCMANSTATUS Detailed CNC status in automatic mode. • Variable: (V.)G.CNCAUTSTATUS Know the axes selected for home search, repo sitioning, coordinate preset or
movement to a coordinate. Know the current position of the main rotary axes of the kin ematics (third axis). • Variable: (V.)G .POS ROTT Know the target position of the main rotary axes of the ki nematics (third axis). • Variable: (V.)G.TOOLORIT1
Know the status of a cam. • Variable: (V.)G.CAMST[cam] Modify the range of the slave axis when activating the cam. • Variable: (V.)G.CAM[cam][index] Set 0% feedrate override via PLC. • Variable: (V.)PLC.FRO Cancel the name change for axes and spindles (#RENAME) after exe cuting
M02 or M30, after a reset or at the beginning of a new part-program in the same channel.
• Variable: (V.)G.SELECTEDAXIS
(V.)G.TOOLORIT2
• #RENAME instruction.
Ref. 1107
Software V04.11
Synchronized switching. • Variables: (V.)G.TON
(V.)G.TOF (V.)G.PON (V.)G.POF
• Statement: #SWTOUT
Ref. 1304
Software V04.20
Maximum safety limit for feedrate. • Machine parameter: FLIMIT. Maximum safety speed limit. • Machine parameter: SLIMIT. Interruption subroutines per channel. • Programming instructions: #REPOS. There may be up to 30 OEM subroutines per channel now (G180-G189 / G380-
G399). The OEM subroutines may be executed either in a non-modal (G180, G181,
etc) or in a modal way (MG180, MG181, etc). The operation of M19 with subroutine has changed. • Function: M19. Know the status of a cam. • Variable: (V.)G.CAMST[cam] Modify the range of the slave axis when activating the cam. • Variable: (V.)G.CAM[cam][index] Set 0% feedrate override via PLC. • Variable: (V.)PLC.FRO Detailed CNC status in automatic mode. New values. • Variable: (V.)G.CNCAUTSTATUS Active zero offset. • Variable: (V.)G.EXTORG The CNC can execute programs of the 8055 MC and 8055 TC models made
up with conversational canned cycles including geometric assistance.
Software V04.21
New model LCD-10K. • Variables: (V.)MPMAN.JOGKEYDEF[jk]
Software V04.22
Set the zero offsets with a coarse part and a fine p art. • Variables: (V.)A.ADDORG.xn
Cancel mirror image (G11/G12/G13/G14) after M30 and reset.
Software V04.24
Additional negative command pulse for analog axes. • Variable: (V.)MPA.BAKANOUT[set].xn The SPDLEREV mark (reverse turning direction) affect s the spindle in M19. • Variable: (V.)MPA.M19SPDLEREV.xn Functions M02, M30 and reset do not cancel the speed limit function G192. • Function G192. Functions M02, M30 and reset do not cancel the constant surfa ce speed (CSS)
function.
(V.)MPMAN.USERKEYDEF[uk]
(V.)A.COARSEORG.xn (V.)A.FINEORG.xn (V.)A.COARSEORGT[nb].xn (V.)A.FINEORGT[nb].xn
• Function G96.
CNC 8070
(REF: 1709)
·19·
Page 20
Programming manual.
Software V04.25
Synchronized switching. • Variables: (V.)G.TON
Error programmed in HSC mode. • Variable: (V.)G.CONTERROR The HSC FAST mode may be used to adjust t he chordal error (p arameter E). • Statement: #HSC The CNC will load into RAM memory the subroutines having the extension .fst. If function G95 is active and the spindle does not have an encoder, the CNC
will use the programmed theoretical rpm to calculate the feedrate.
(V.)G.TOF (V.)G.PON (V.)G.POF
• Statement: #SWTOUT
• Function G95.
Ref. 1305
Software V04.26
New model LCD-10K. New LCD-15 model. New keyboard VERTICAL-KEYB. New keyboard HORIZONTAL-KEYB. New operator panel OP-PANEL.
Keep the longitudinal axis when changing planes (G17/G18/G19). • Function G17/G18/G19. The M3/M4/M5 functions cancel the C axis and set the spindle in open loop. Programs with ".mod" extension may be modified when they are interrupted
using "cancel and resume".
• Variables: (V.)MPMAN.JOGKEYDEF[jk] (V.)MPMAN.USERKEYDEF[uk]
Ref. 1309
Software V04.27
Virtual tool axis. • Statement: #VIRTAX
• Variable: (V.)G.VIRTAXIS (V.)G.VIRTAXST
PWM (Pulse-Width Modulation) • Statement: #PWMOUT
Modify the simulation speed via PLC. • Variable: (V.)PLC.SIMUSPEED Execute subroutine as a single block. • Statement: #RETDSBLK
(V.)A.VIRTAXOF.xn
• Variable: (V.)G.PWMON (V.)G.PWMFREQ (V.)G.PWMDUTY (V.)PLC.PWMFREQ (V.)PLC.PWMDUTY
CNC 8070
(REF: 1709)
Ref. 1405
Software V04.27.10
HSC. New SURFACE mode. • #HSC instruction. Generic user subroutines. • Functions G500-G599. Generic user subroutines pre-configured by Fagor. • G500-G501 functions. "program-start" subroutine. Override of the dynamics for HSC. • Variable: (V.)G.DYNOVR New name for the (V.)G.CONTERROR variable • Variable: (V.)G.ACTROUND Maximum frequency generated on the machining path. • Variable: (V.)MPG.MAXFREQ
Software V05.01
ModBUS server. • Variables: (V.)MPG.MODBUSSVRTCP
CANopen bus communication frequency. • Variable: (V.)MPG.CANOPENFREQ Feedback type associated with the handwheel input, • Variable: (V.)MPMAN.HWFBTYPE[hw] Detailed CNC status in jog mode. New values. • Variable: (V.)G.CNCMANSTATUS Activate the Mechatrolink drive options. • Variable: (V.)MPA.OPTION.xn Enable the hardware alarm (alarm pin) of the local feedback. • Variable: (V.)MPA.HWFBACKAL[set].xn Maximum position difference allowed to consider t hat there is no need to home
again.
(V.)MPG.MODBUSSVRRS (V.)MPG.MODSVRID (V.)MPG.MODBRATE
• Variable: (V.)MPA.MAXDIFREF[set].xn
Ref. 1408
Software V05.10
Orient the tool in the part coordinate system. • Instructions #CSROT, #DEFROT. Select onto which rotary axes of the kinematics the tool orientation is
calculated for a given direction on the work piece (part). Transform the current part zero considering the position of the table
kinematics. Type of the active kinematics. • Variable: (V.)G.KINTYPE Number of axes of the active kinematics. • Variable: (V.)G.NKINAX Current position of the fourth rotary axis of the kinematics. • Variable: (V.)G.POSROTO
• Instruction #SELECT ORI.
• Variable: (V.)G.SELECTORI
• Instruction #KINORG.
·20·
Page 21
Programming manual.
Software V05.10
Position to be occupied by the fourth rotary axis of the kinematics in order t o position the tool perpendicular to the inclined plane (solution 1 and 2).
Status of the #CSROT function. • Variable: (V.)G.CSROTST Position (machine coordinates) calculated for the rotary axis of the kinematics
at the beginning of the block, for solution 1 of the #CSROT mode.
Position (machine coordinates) calculated for the rotary axis of the kinematics at the end of the block, for solution 1 of the #CSROT mode.
Position (machine coordinates) calculated for the rotary axis of the kinematics at the beginning of the block, for solution 1 of the #CSROT mode.
Position (machine coordinates) calculated for the rotary axis of the kinematics at the end of the block, for solution 1 of the #CSROT mode.
Position (machine coordinates) to be occupied by the rotary axis of the kinematics at the beginning of the block, for the #CSROT mode.
Position (machine coordinates) to be occupied by the rotary axis of the kinematics at the end of the block, for the #CSROT mode.
Position of the part zero transformed by the i nstruction #KINORG , considering the table position, on the first three axes of the channel.
Allow the user modify the kinematics parameters. • Variable: (V.)MPK.TDATAFkin[nb]
• Variable: (V.)G.TOOLORIO1 (V.)G.TOOLORIO2
• Variables: (V.)G.CSROTF1[1] (V.)G.CSROTS1[1] (V.)G.CSROTT1[1] (V.)G.CSROTO1[1]
• Variables: (V.)G.CSROTF1[2] (V.)G.CSROTS1[2] (V.)G.CSROTT1[2] (V.)G.CSROTO1[2]
• Variables: (V.)G.CSROTF2[1] (V.)G.CSROTS2[1] (V.)G.CSROTT2[1] (V.)G.CSROTO2[1]
• Variables: (V.)G.CSROTF2[2] (V.)G.CSROTS2[2] (V.)G.CSROTT2[2] (V.)G.CSROTO2[2]
• Variables: (V.)G.CSROTF[1] (V.)G.CSROTS[1] (V.)G.CSROTT[1] (V.)G.CSROTO[1]
• Variables: (V.)G.CSROTF[2] (V.)G.CSROTS[2] (V.)G.CSROTT[2] (V.)G.CSROTO[2]
• Variable: (V.)G.KINORG1 (V.)G.KINORG2 (V.)G.KINORG3
(V.)G.OFTDATAkin[nb] (V.)G.OFTDATAFkin[nb] (V.)G.OFTDATA_Ikin[nb] (V.)MPK.MAXOFTDATAkin[nb] (V.)MPK.MAXOFTDATAFkin[nb] (V.)MPK.MAXOFTDATA_Ikin[nb]
Ref. 1501
Software V05.20
New options in graphics.
• Define whether the part is cylindrical or rectangular.
• Define up to four parts.
• Assign a part to one or more channels. On line modification of the machine configuration in HD graphics (xca files). • Statement: #DEFGRAPH. 3D tool compensation. • Statement: #COMP3D. HSC. SURFACE mode. New commands RE, SF and AXF. • #HSC instruction. HSC. FAST mode. New commands RE, SF and AXF. • #HSC instruction. HSC. CONTERROR mode. New commands RE and AXF. • #HSC instruction.
• Statement: #DGWZ.
Ref. 1505
Software V05.31
Coordinate programming. Angle and Cartesian coordinate. Electronic threading with variable pitch. • Function G34. Withdraw the axes after interrupting an electronic threading. • Function G233.
Assume IPLANE as active plane after M30/RESET or keep the active one. Detailed CNC status in automatic mode. New value $100000. • Variable: (V.)G.CNCAUTSTATUS Volts of output [n] of the RCS-S module. • Variable: (V.)G.ANASO[n] HSC. SURFACE mode. New command OS. • Statement: #HSC. HSC. If the RE command is not programmed, the amount of error all owed on
rotary axes will be the maximum between parameter MAXERROR and the E command.
If no resume point has been defined, the execution continues in the #ABORT OFF instruction; if the instruction has not been defined, the program will jump to the end of the program (M30).
ISO generation. • Statement: #ISO System spindles involved in the subroutine associated with M3, M4, M5, M19
and M41-M44. Active canned cycle. • Variable: (V.)G.ACTIVECYLE Status of probe ·1·. • Variable: (V.)G.PRBST Probing movement. Value measured at the master spindle of the channel. • Variable: (V.)G.PLMEAS4 End of axis and spindle repositioning at the starting point. • Variable: (V.)G.ENDREPINI End of axis and spindle repositioning at the interruption point. • Variable: (V.)G.ENDREPINT Time remaining to activate the laser out put. • Variable: (V.)G.LASEROTMON Time remaining to deactivate the laser out put. • Variable: (V.)G.LASEROTMOFF Amount of time that PWM stays active in burst mode. • Variable: (V.)G.PWMBTIME Final PWM status once burst mode is over. • Variable: (V.)G.PWMBEND
• Variable: (V.)G.RETREJ
• Statement: #HSC.
• Statement: #ABORT
• Variable: (V.)G.SUBMSPDL
CNC 8070
(REF: 1709)
·21·
Page 22
Programming manual.
Software V05.31
Percentage of loop time (cycle time) used by the PLC. • Variable: (V.)G.PLCTIMERATE Percentage of loop time (cycle time) used by the dyna mic preparation of the
tool path. Value of the local count-up 1 input. • Variable: (V.)G.LCOUNTER1 Value of the local count-up 2 input. • Variable: (V.)G.LCOUNTER2 Actual (real) CNC feedrate in G95. • Variable: (V.)G.FREALPR Real feedrate on the tool path. • Variable: (V.)G.ACTFEED Feedrate active in the block. • Variable: (V.)G.IPOFEED Active tool. Code of the tool offset type. • Variable: (V.)TM.TOOLTYP[ofd] Tool being prepared. Code of the tool offset type. • Variable: (V.)G.TOOLTYP Tool being prepared. Tool-holder orientation. • Variable: (V.)G.FIXORI Solution 2 is selected in instruction #CS or #ACS. • Variable: (V.)G.TORISOL2 CNC model. • Variable: (V.)G.CNCMODEL CNC sub-version number (decimal value). • Variable: (V.)G.SUBVERSIO Number of the line of the program where the cursor is. • Variable: (V.)G.CURSORLINE Orientation smoothing of the rotary axes working with RTCP. • Variable: (V.)MPG.ORISMOOTH Amount of error allowed on the axis for the HSC mode. • Variable: (V.)A.ACTROUND.xn
• Variable: (V.)G.TRAYTIMERATE
Ref. 1512
Software V05.40
Work zones. • Function: G120, G121, G122, G123.
• Variables: (V.)MPA.ZONELIMITTOL.xn (V.)G.ZONEST[k] (V.)G.ZONETOOLWATCH[k] (V.)G.ZONEWARN[k] (V.)A.ZONELIMITTOL.xn (V.)A.ZONELOWLIM[k].xn (V.)A.ZONEUPLIM[k].xn (V.)G.ZONECIR1[k] (V.)G.ZONECIR2[k] (V.)G.ZONER[k] (V.)G.ZONECIRAX1[k]
Smooth the path. • Statement: #PATHND Smooth the path and the feedrate. • Statement: #FEEDND
(V.)G.ZONECIRAX2[k]
CNC 8070
Ref. 1604
Software V05.50
The CNC permits setting the machine coordinate for gantry axes. • Function: G174. The CNC permits executing seven subroutines per block.
Ref. 1709
Software V05.60.00
Subroutine associated with the reset. • Subroutine: PROGRAM_RESET Subroutine associated with the tool calibration cycle. • Subroutine: KinCal_Begin.nc
New search criteria for help files associated with the subroutines. • File: pcall.txt
The subroutines associated with functions G500-599 may also have help files which are displayed during editing.
The subroutines associated with functions G8000-8999 may also have help files which are displayed during editing.
New radius compensation algorithm, optimized to solve stepped profiles. User subroutines (G500-G599) and modal subroutines. • Functions: G500, G501, etc.
User subroutines (G8000-G8999) and modal subroutines. • Functions: G8000, G8001, etc.
Calls to subroutines with parameter initialization allow th e programming of 32 additional parameters (P26 to P57), which can also be defined as "D0= " to "D31=", so that "D0=" is equal to P26, "D1=" to P27 and so forth.
Non-modal G02 and G03 functions. • Functions: G2, G3 Non-modal function G00. • Functions: G0
KinCal_End.nc
• File:subroutine_name.txt subroutine_name.bmp
•File: G500.txt, G501.txt, etc. G500.bmp, G501.bmp, etc.
•File: G8000.txt, G8001.txt, etc. G8000.bmp, G8001.bmp, etc.
• Instructions: #MCALL
• Instructions: #MCALL
• Functions: G500, G501, etc. G180, G181, etc. G380, G381, etc.
• Instructions: #PCALL, #MCALL
(REF: 1709)
·22·
Page 23
Programming manual.
SAFETY CONDITIONS
Read the following safety measures in order to prevent harming people or damage to this product and those products connected to it. Fagor Automation shall not be held responsible of any physical or material damage originated from not complying with these basic safety rules.
Before start-up, verify that the machine that integrates this CNC meets the 2006/42/EC Directive.
PRECAUTIONS BEFORE CLEANING THE UNIT
Do not get into the inside of the unit. Only personnel authorized by Fagor Automation may access the
Do not handle the connectors with the unit connected to AC power.
interior of this unit. Before handling these connectors (I/O, feedback, etc.), make sure
that the unit is not powered.
PRECAUTIONS DURING REPAIRS
In case of a malfunction or failure, disconnect it and call the technical service.
Do not get into the inside of the unit. Only personnel authorized by Fagor Automation may access the
interior of this unit.
Do not handle the connectors with the unit connected to AC power.
Before handling these connectors (I/O, feedback, etc.), make sure that the unit is not powered.
PRECAUTIONS AGAINST PERSONAL HARM
Interconnection of modules. Use the connection cables provided with the unit. Use proper cables. T o prevent risks, only use cables and Sercos fiber recommended for
this unit. T o prevent a risk of electrical shock at the central unit, use the proper connector (supplied by Fagor); use a three-prong power cable (one of them being ground).
Avoid electric shocks. T o prevent electrical shock and fire risk, do not apply electrical voltage
out of the indicated range.
Ground connection. In order to avoid electrical discharges, connect the ground terminals
of all the modules to the main ground terminal. Also, before connecting the inputs and outputs of this product, make sure that the ground connection has been done.
In order to avoid electrical shock, before turning the unit on verify that the ground connection is properly made.
Do not work in humid environments. In order to avoid electrical discharges, always work with a relative
Do not work in explosive environments. In order to avoid risks, harm or damages, do n ot work in explosive
humidity (non-condensing).
environments.
CNC 8070
(REF: 1709)
·23·
Page 24
Programming manual.
i
PRECAUTIONS AGAINST DAMAGE TO THE PRODUCT
Work environment. This unit is ready to be used in industrial environments complying with
the directives and regulations effective in the European Community. Fagor Automation shall not be held responsible for any damage suffered or caused by the CNC when installed in other environments (residential, homes, etc.).
Install this unit in the proper place. It is recommended, whenever possible, to install the CNC away from
coolants, chemical product, blows, etc. that could damage it. This unit meets the European directives on electr omagnetic compatibility. Nevertheless, it is recommended to keep it away from
sources of electromagnetic disturbance such as:
Powerful loads connected to the same mains as the unit. Nearby portable transmitters (radio-telephones, Ham radio transmitters). Nearby radio / TC transmitters. Nearby arc welding machines. Nearby high voltage lines.
Enclosures. It is up to the manufacturer to guarantee that the enclosure where the
unit has been installed meets all the relevant directives of the European Union.
Avoid disturbances coming from the machine.
Use the proper power supply. Use an external regulated 24 Vdc power supply for the keyboard,
Connecting the power supply to ground. The zero Volt point of the external power supply must be connected
Analog inputs and outputs connection. Use shielded cables connecting all their meshes to the corresponding
Ambient conditions. Maintain the CNC within the recommended temperature range, both
Central unit enclosure. T o maintain the right ambient conditions in the enclosure of the central
Power switch. This switch must be easy to access and at a distance between 0.7 and
The machine must have all the interference generating elements (relay coils, contactors, motors, etc.) uncoupled.
operator panel and the remote modules.
to the main ground point of the machine.
pin.
when running and not running. See the corresponding chapter in the hardware manual.
unit, it must meet the requirements indicated by Fago r. See the corresponding chapter in the hardware manual.
1.7 m (2.3 and 5.6 ft) off the floor.
CNC 8070
(REF: 1709)
·24·
SAFETY SYMBOLS
Symbols that may appear in the manual.
Danger or prohibition symbol. This symbol indicates actions or operations that may hurt people or damage products.
Warning or caution symbol. This symbol indicates situations that certain operations could cause and the suggested actions to prevent
them.
Obligation symbol. This symbol indicates actions and operations that must be carried out.
Information symbol. This symbol indicates notes, warnings and advises.
Symbol for additional documentation. This symbol indicates that there is another document with more detailed and specific information.
Page 25
Programming manual.
Symbols that the product may carry.
Ground symbol. This symbol indicates that that point must be under voltage.
ESD components. This symbol identifies the cards as ESD components (sensitive to electrostatic discharges).
CNC 8070
(REF: 1709)
·25·
Page 26
BLANK PAGE
·26·
Page 27
Programming manual.
RETURNING CONDITIONS
Pack it in its original package along with its original packaging material. If you do not have the original packaging material, pack it as follows:
1 Get a cardboard box whose 3 inside dimensions are at least 15 cm (6 inches) larger than those of the
unit itself. The cardboard being used to make the box must have a resistance of 170 Kg (375 lb.).
2 Attach a label to the device indicating the owner of the device along with contact information (address,
telephone number, email, name of the person to contact, type of device, serial number, etc.). In case of malfunction also indicate symptom and a brief description of the problem.
3 Protect the unit wrapping it up with a roll of polyethylene or with similar material. When sending a central
unit with monitor, protect especially the screen.
4 Pad the unit inside the cardboard box with polyurethane foam on all sides. 5 Seal the cardboard box with packaging tape or with industrial staples.
CNC 8070
(REF: 1709)
·27·
Page 28
BLANK PAGE
·28·
Page 29
Programming manual.
CNC MAINTENANCE
CLEANING
The accumulated dirt inside the unit may act as a screen preventing the proper dissipation of the heat generated by the internal circuitry which could result in a harmful overheating of the unit and, consequently, possible malfunctions. Accumulated dirt can sometimes act as an electrical conductor and short-circuit the internal circuitry, especially under high humidity conditions.
To clean the operator panel and the monitor, a smooth cloth should be used which has been dipped into de-ionized water and /or non abrasive dish-washer soap (liquid, never powder) or 75º alcohol. Never use air compressed at high pressure to clean the unit because it could cause the accumulation of electrostatic charges that could result in electrostatic shocks.
The plastics used on the front panel are resistant to grease and mineral oils, bases and bleach, dissolved detergents and alcohol. Avoid the action of solvents such as chlorine hydrocarbons, venzole, esters and ether which can damage the plastics used to make the unit’s front panel.
PRECAUTIONS BEFORE CLEANING THE UNIT
Fagor Automation shall not be held responsible for any material or physical damage derived from the violation of these basic safety requirements.
• Do not handle the connectors with the unit supplied with power. Before handling these connectors (I/O, feedback, etc.), make sure that the unit is not powered.
• Do not get into the inside of the unit. Only personnel authorized by Fagor Automation may access the interior of this unit.
CNC 8070
(REF: 1709)
·29·
Page 30
BLANK PAGE
·30·
Page 31

CREATING A PROGRAM.

1.1 Programming languages.

The CNC has its own programming language described in this manual. The program is edited block by block and each one may be written in ISO language or in High level language. See
"1.3 Program block structure." on page 35.
When editing high level commands, the editor offers a list of available commands.
8055 language.
Programs can also be edited in the 8055 CNC language. Programming in 8055 CNC language is enabled from the part-program editor. Refer to the operating manual to enable this option.
This manual does not describe the 8055 language; refer to the specific documentation for this product. Obviously, since this CNC and the 8055 are two functionally different products, some concepts may be different.
1
CNC 8070
(REF: 1709)
·31·
Page 32
1.
N10
N20
N30
N40
CNC Program
Block
· · · Block
Subroutine
Block
· · · Block
Program body
Block
Programming manual.

1.2 Program structure.

A CNC program consists of a set of blocks or instructions that properly organized, in subroutines or in the program body, provide the CNC with the necessary data to machine the desired part.
Each block contains all the functions or command necessary to execute an operation that may be machining, preparing the cutting conditions, controlling the elements of the machine, etc.
Program structure.
CREATING A PROGRAM.
%example
(Name of the program)
N5 F550 S1000 M3 M8 T1 D1
(Sets the machining conditions)
N6 G0 X0 Y0
(Positioning)
N10 G1 G90 X100 N20 Y50 N30 X0 N40 Y0
(Machining)
N50 M30
(End of program)
The CNC program may consist of several local subroutines and the body of the program. The local subroutines must be defined at the beginning of the program.
CNC 8070
(REF: 1709)
·32·
Page 33
Programming manual.
1.2.1 Program body.
The body of the program has the following structure. Header The header indicates the beginning of the body of the program.
Program blocks It is the main part of the program, the one containing
End of program
Program header.
The header of the program is a block consisting of the "%" character followed by the name of the program. The name of the program may be up to 14 characters long and may consist of uppercase and lowercase characters as well as numbers (no blank spaces are allowed).
The header must be programmed when the program has local subroutines.
movements, operations, etc.
1.
%0123 %PROGRAM %PART923R
The header must be programmed when the program contains local subroutines; otherwise, programming the header is optional.
The name defined in the header has nothing to do with the name o f the file. T he two ma y be different.
Program body.
The body of the program consists of blocks in charge of executing operations, movements, etc.
End of the program.
The end of the program body is defined by functions "M02" or "M30" and they are equivalent. There is no need to program these functions; when reaching the end of the program without executing any of them, the CNC ends the execution and shows a warning indicating that they are missing.
M30 M02
Program structure.
CREATING A PROGRAM.
The CNC behaves differently when reaching the end of the program depending on whether the M02 / M30 has been programmed or not
With M02/M30 Without
M02/M30
The CNC selects the first block of the program. Yes Yes The CNC stops the spindle. Yes No The CNC assumes the initial conditions. Yes (*) No The CNC initializes the cutting conditions. Yes No
(*) Stopping the spindle depends on the setting of machine parameter SPDLSTOP.
CNC 8070
(REF: 1709)
·33·
Page 34
1.2.2 The subroutines.
1
3
2
4
%L POINTS G01 X·· Y·· (Point 2) G01 X·· Y·· (Point 3) G01 X·· Y·· (Point 4) M17
%PROGRAM G81 X·· Y·· (Point 1. Center punching definition) LL POINTS (call to a subroutine) G81 X·· Y·· (Point 1. Center punching definition) LL POINTS (call to a subroutine) G84 X·· Y·· (Point 1. Center punching definition) LL POINTS (call to a subroutine) G80 M30
A subroutine is a set of blocks that, once properly identified, may be called upon several times from another subroutine or from the program. Subroutines are normally used for defining a bunch of operations or movements that are repeated several times throughout the program. See chapter "14 Subroutines.".
Types of subroutines.
Programming manual.
1.
Program structure.
CREATING A PROGRAM.
The CNC has two types of subroutines, namely local and global. There is also a third type available, OEM subroutines, that are a special case of a global subroutine de fined by the OEM.
Global subroutines.
The global subroutine is stored in CNC memory as an independent program. This subroutine may be called upon from any program or subroutine being executed.
Local subroutines.
The local subroutine is defined as part of a program. This subroutine may only be called upon from the program where it has been defined.
A program can have several local subroutines; but they all must be defined before the body of the program. A local subroutine can call a second local subroutine with the condition that the calling subroutine be defined after the one being called.
CNC 8070
(REF: 1709)
·34·
Page 35
Programming manual.

1.3 Program block structure.

The blocks comprising the subroutines or the program body may be defined by commands in ISO code or in high-level language. Each block must be written in either language but not mixed; a program may combine blocks written in both languages. Empty blocks (empty lines) are also allowed.
In either language, it is also possible to use any type of arithmetic, relational or logic expression.
Programming in ISO code.
It is especially designed to control the movement of the axes because it provides movement data and conditions as well as feedrate and speed. Some of the available commands are:
• Preparatory functions for movement establishing the geometry and work conditions such as linear and circular interpolations, threading, canned cycles, etc.
• Functions to control cutting conditions such as feedrate of the axes, spindle speed and accelerations.
• Functions to control the tools.
• Complementary functions, with technological instructions.
• Definition of position values.
High-level language programming.
This language provides the user with a set of control commands with a terminology similar to the one used by other languages, such as $IF, $GOT O, #MSG , #HSC, etc. Some available commands are:
• Programming instructions.
• Flow controlling instructions to make loops and jumps within the program.
• To define and call upon subroutines with local parameters where a local variable is the one only known to the subroutine where it has been defined.
It is also possible to use any type of arithmetic, relational or logic expression.
1.
Program block structure.
CREATING A PROGRAM.
Arithmetic parameters, variables, constants and arithmetic expressions.
Constants, ar ithmetic p arameters, variable s and ar ithmet ic expr essions may be us ed from ISO blocks as well as from high level commands.
CNC 8070
(REF: 1709)
·35·
Page 36
1.
1.3.1 Programming in ISO code.
Program block structure.
CREATING A PROGRAM.
Programming manual.
ISO-coded functions consist of letters and numbers. The letters are "N", "G", "F", "S", "T", "D", "M", "H", "NR" plus those identifying the axes.
The numbers include digits "0" through "9", the "+" and "-" signs and the decimal point ".". Likewise, the numerical format may be replaced by a parameter, variable or arithmetic expression whose result is a number.
Programming allows blank spaces between letters, numbers and a sign as well as not using the sign with positive values.
Block structure.
A block may have the following functions, but needs not contain all of them. The data has no set order, it may be programmed anywhere in the block. The only exception being the block-skip condition and the block identification which must always be programmed at the beginning.
/N—G—G—X..C—F—S—T—D—M—H—NR—
·/· Block skip condition.
If the block-skip mark is active, the CNC will skip the blocks having this character (not executing them) and will go on to the next block.
The CNC reads several blocks ahead of the one in execution, in order to calculate in advance the path to travel. The block-skip condition is examined at the time when the block is read.
·N· Block identification.
The block identification must be programmed when the block is used as the destination of references or jumps. In this case, it is recommended to program it alone in the block. It may be represented in two ways:
• The letter "N" followed by the block number (0-4294967295) and the ":" character (only when the label is used as the destination of a block jump); they need not follow a particular order or be consecutive.
If the label is not a jump target and is programmed without ":", it may go in any position of the block, not necessarily at the beginning.
• "[<name>]" type labels, where <name> may be up to 14 characters long and may consist of uppercase and lowercase characters as well as numbers (no blank spaces are allowed).
Both types of data may be programmed in the same block.
N10: X12 T1 D1 [CYCLE] G81 I67 X34 N10 S100 M3
·G· Preparatory functions.
G functions set the geometry and work conditions such as linear and circular interpolations, chamfers, canned cycles, etc. See "1.5 List of "G" functions." on page 40.
CNC 8070
(REF: 1709)
·36·
·X..C· Coordinates of the point.
These functions set the movement of the axes. See "1.4 Programming of the axes." on page
39. Depending on the units, the programming format will be:
• In millimeters, format ±5.4 (5 integers and 4 decimals).
• In inches, format ±4.5 (4 integers and 5 decimals).
·F· Axis feedrate.
The feedrate is represented by the letter "F" followed by the desired feedrate value.
Page 37
Programming manual.
·S· Spindle speed.
This function sets the spindle speed. The spindle name is defined by 1 or 2 characters. The first character is the letter S and the
second character is optional, it must be a numerical suffix between 1 and 9. This way, the name of the spindles may be within the range S, S1 ... S9.
The feedrate is represented by the axis letter followed by the target position for the axis. For spindles like S1, S2, etc. the "=" sign must be included between the axis name and the speed.
S1000 S1=334
·T· Tool number.
This function selects the tool to be used to carry out the programmed machining operation. The tool is represented by the letter "T" followed by the tool number (0-4294967295).
·D· Tool offset number.
This function selects the tool offset. The tool offset is represented by the letter "D" followed by the tool offset number. The number of offsets available for each tool is defined in the tool table.
·M H· Auxiliary functions.
1.
Program block structure.
CREATING A PROGRAM.
With the auxiliary functions, it is possible to control machine elements such as spindle turning direction, coolant, etc. These functions are represented by the letters "M" or "H" followed by the function number (0-65535)
·NR· Number of block repetitions.
This indicates the number of times the block will be executed. It ca n only be programmed in blocks containing a movement.
If the block is under the influence of a modal canned cycle, the latter will be repeated as many times as the block repetition has been programmed. When programming NR0, the movements will be executed, but the modal canned cycle is not executed at the end of each one.
G91 G01 X34.678 F150 NR4
Block comment .
Any comment may be associated with the blocks. When executing the program, the CNC ignores this information.
The CNC offers various methods to include comments in the program. See "1.8 Comment
programming." on page 47.
CNC 8070
(REF: 1709)
·37·
Page 38
1.3.2 High-level language programming.
The commands of high level language are made up of control instructions "#" and flow control instructions "$".
Block structure.
A block may have the following commands, but needs not contain all of them.
Programming manual.
1.
Program block structure.
CREATING A PROGRAM.
/ N— <rest of commands>
·/· Block skip condition.
If the block-skip mark is active, the CNC will skip the blocks having this character (not executing them) and will go on to the next block.
The CNC reads several blocks ahead of the one in execution, in order to calculate in advance the path to travel. The block-skip condition is examined at the time when the block is read.
·N· Block identification.
The block identification must be programmed when the block is used as the destination of references or jumps. In this case, it is recommended to program it alone in the block. It may be represented in two ways:
• The letter "N" followed by the block number (0-4294967295) and the ":" character (only when the label is used as the destination of a block jump); they need not follow a particular order or be consecutive.
If the label is not a jump target and is programmed without ":", it may go in any position of the block, not necessarily at the beginning.
• "[<name>]" type labels, where <name> may be up to 14 characters long and may consist of uppercase and lowercase characters as well as numbers (no blank spaces are allowed).
Both types of data may be programmed in the same block.
·# $· High-level language commands.
CNC 8070
(REF: 1709)
The high-level commands comprise the instructions and flow control instructions.
• Instructions are programmed preceded by the "#" sign and they can only be programmed one per block. They are used to carry out various functions.
• Flow control instructions are programmed preceded by the "$" sign and can only be programmed one per block. They are used to make loops and program jumps.
Assigning values to parameters and variables can also be considered as high-level commands.
Block comment .
Any comment may be associated with the blocks. When executing the program, the CNC ignores this information.
The CNC offers various methods to include comments in the program. See "1.8 Comment
programming." on page 47.
·38·
Page 39
Programming manual.
Y X ? Z
00000.0000
00000.0000 * * * * .* * * *
00000.0000

1.4 Programming of the axes.

Programming using the name of the axis.
The axis name is defined by 1 or 2 characters. The first character must be one of the letters X - Y - Z - U - V - W - A - B - C. The second character is optional and will be a numerical suffix between 1 and 9. This way, the name of the spindles may be within the range X, X1…X9,...C, C1…C9.
The movements are represented by the axis letter followed by the target position for the axis. For axes like X1, Y2, etc. the "=" sign must be included between the axis name and the coordinate.
X100 Z34.54 X2=123.4 A5=78.532
Programming using wild cards.
The axes can also be programmed using wild cards. The wild cards may be used to program and refer to the axes of the channel using their position in it, including the empty spaces. The wild card is represented by the "?" character followed by the position number of the axis, ?1 for the first axis, ?2 for the second one, and so forth. If the position of a gap is programmed, the CNC will display an error message.
In a channel with the following distribution of axes, the wild cards refer to the following axes.
• The ?1 wild card corresponds to the Y axis.
• The ?2 wild card corresponds to the X axis.
• The ?3 wild card issues an error, there is no axis in that position.
• The ?4 wild card corresponds to the Z axis.
1.
Programming of the axes.
CREATING A PROGRAM.
Using these wild cards, the user can program a movement as follows.
?1 = 12345.1234 ?2 = 50.34
Besides for programming movements, the wild cards can also be used to refer to the axes in the following G functions and instructions.
G functions. Instructions.
G14 G45 G74 G92 G100 G101 G112 G130 G132
G134 G135 G145 G158 G170 G171 G198 G199
#MOVE ABS #MOVE ADD #MOVE INF #CAM ON #CAM OFF #FOLLOW ON #FOLLOW OFF #TOOL AX
#LINK #UNLINK #PARK #UNPARK #SERVO ON #SERVO OFF
CNC 8070
(REF: 1709)
·39·
Page 40

1.5 List of "G" functions.

The following tables show a list of "G" functions available at the CNC. The meaning of the "M", "D" and "V" fields of the table is the following:
·M· Modal function. ·D· Default function.
·V· Displayed function. Next to each function, it indicates which chapter of this manual describes it; if no chapter
is indicated, the function is described in another manual.
Programming manual.
1.
CREATING A PROGRAM.
CNC 8070
(REF: 1709)
List of "G" functions.
·M· Modal function.
A modal function, once programmed, remains active until an incompatible "G" code is programmed or an M02 or an M30 or until an EMERGENCY or a RESET is carried out or the CNC is turned off and back on.
Those cases indicated with "!", mean the function remains active even after an M02, M30 or a reset and after the CNC is powered off and back on.
·D· Default function.
It is the function that is activated by default; in other words, the function assumed by the CNC on power-up, after executing an M02 or M30 and after an EMERGENCY or a RESET.
Those cases indicated with "?" mean that the default quality of the function depends on the settings of the CNC machine parameters.
·V· Displayed function.
The function is displayed in automatic and jog modes next to the current machining conditions.
Function M D V Meaning
G00 * ? * Rapid positioning. 8.1 G01 * ? * Linear interpolation. 8.2 G02 * * Clockwise circular (helical) interpolation. 8.3 / 8.6 G03 * * Counterclockwise circular (helical) interpolation. 8.3 / 8.6 G04 * Dwell. 12.1 G05 * ? * Controlled corner rounding (modal). 11.3 G06 * Arc center in absolute coordinates (not modal). 8.3.9 G07 * ? * Square corner (modal). 11.1 G08 * Arc tangent to previous path. 8.4 G09 * Arc defined by three points. 8.5 G10 * * Mirror image cancellation. 11.8 G11 * * Mirror image on X. 11.8 G12 * * Mirror image on Y. 11.8 G13 * * Mirror image on Z. 11.8 G14 * * Mirror image in the programmed directions. 11.8 G17 * ? * Main plane X-Y, and longitudinal axis Z. 4.2 G18 * ? * Main plane Z-X, and longitudinal axis Y. 4.2 G19 * * Main plane Y-Z, and longitudinal axis X. 4.2 G20 * * Main plane by two directions and longitudinal axis. 4.3 G30 * Polar origin preset. 5.7 G31 * Temporary polar origin shift to the center of arc. 8.3.8 G33 * * Electronic threading with constant pitch. 10.1 G34 * * Electronic threading with variable pitch. 10.2 G36 * Automatic radius blend. 11.4 G37 * Tangential entry. 11.6 G38 * Tangential exit. 11.7 G39 * Automatic chamfer blend. 11.5 G40 * * Cancellation of tool radius compensation. 13.1 G41 * * Left-hand tool radius compensation. 13.1 G42 * * Right-hand tool radius compensation. 13.1 G45 Turn tangential control on and off. 18.1 G50 * ? Semi-rounded corner. 11.2 G53 * Zero offset cancellation. 5.6 G54 ! * Absolute zero offset 1. 5.5 G55 ! * Absolute zero offset 2. 5.5 G56 ! * Absolute zero offset 3. 5.5
·40·
Page 41
Programming manual.
Function M D V Meaning
G57 ! * Absolute zero offset 4. 5.5 G58 ! * Absolute zero offset 5. 5.5 G59 ! * Absolute zero offset 6. 5.5 G60 * Square corner (not modal). 11.1 G61 * Controlled corner rounding (not modal). 11.3 G63 * * Rigid tapping. 10.3 G66 * (·T· model). Pattern repeat canned cycle. - - ­G68 * (·T· model). Stock removal cycle along X axis. - - ­G69 * (·T· model). Stock removal canned cycle along Z axis. - - ­G70 * ? * Programming in inches. 3.1 G71 * ? Programming in millimeters. 3.1 G72 * Scaling factor. 11.10 G73 * * Rotation of the coordinate system. 11.9 G74 * Machine reference zero (home) search. 2.4 G80 * * (·M· model). Canned cycle cancellation. - - ­G81 * * (·M· model). Drilling canned cycle. - - ­G81 * (·T· model). Turning canned cycle for straight sections. - - ­G82 * * (·M· model). Drilling canned cycle with a variable peck. - - ­G82 * (·T· model). Facing canned cycle for straight sections. - - ­G83 * * (·M· model). Deep-hole drilling canned cycle with constant peck. - - ­G83 * (·T· model). Drilling / tapping canned cycle. - - ­G84 * * (·M· model). Tapping canned cycle. - - ­G84 * (·T· model). Turning canned cycle for curved sections. - - ­G85 * * (·M· model). Reaming canned cycle. - - ­G85 * (·T· model). Facing canned cycle for curved sections. - - ­G86 * * (·M· model). Boring canned cycle. - - ­G86 * (·T· model). Longitudinal threading canned cycle. - - ­G87 * * (·M· model). Rectangular pocket canned cycle. - - ­G87 * (·T· model). Face threading canned cycle. - - ­G88 * * (·M· model). Circular pocket canned cycle. - - ­G88 * (·T· model). Grooving canned cycle along the X axis. - - ­G89 * (·T· model). Z axis grooving canned cycle. - - ­G90 * ? Programming in absolute coordinates. 3.2 G91 * ? * Programming in incremental coordinates. 3.2 G92 ! * Coordinate preset. 5.4 G93 * * Setting machining time in seconds. 6.2.1 G94 * ? Feedrate in millimeters/minute (inches/minute). 6.2.1 G95 * ? * Feedrate in millimeters/revolution (inches/revolution). 6.2.1 G96 * * Constant surface speed. 7.2.2 G97 * * Constant turning speed. 7.2.2 G98 * * (·M· model). Withdrawal to the starting plane. - - ­G99 * * (·M· model). Withdrawal to the reference plane at the end of the
G100 * Probing until making contact. - - ­G101 * Include probe offset. - - ­G102 * Exclude probe offset. - - ­G103 * Probing until not making contact. - - ­G104 Probe movement up to the programmed position. - - ­G108 * * Feedrate blending at the beginning of the block. 6.2.2 G109 * Feedrate blending at the end of the block. 6.2.2 G112 * Changing of parameter range of an axis. 12.4 G120 ! Set lower linear limits of the work zone. 11.11.2 G121 ! Set upper linear limits of the work zone. 11.11.2 G122 * Enable/disable the work zones. 11.11.3 G123 ! Set circular limits of the work zone. 11.11.2 G130 * * Percentage of acceleration to be applied per axis or spindle. 6.2.5 G131 * * Percentage of acceleration to be applied, global. 6.2.5 G132 * * Percentage of jerk to be applied per axis or spindle. 6.2.6 G133 * * Percentage of jerk to be applied, global. 6.2.6 G134 * * Percentage of Feed-Forward to be applied. 6.2.7 G135 * * Percentage of AC-Forward to be applied. 6.2.8 G136 * * Circular transition between blocks. 13.1.2 G137 * * Linear transition between blocks. 13.1.2 G138 * * Direct activation/cancellation of tool compensation. 13.1.2 G139 * * Indirect activation/cancellation of tool compensation. G145 Freeze tangential control. 18.2 G151 * * * Programming in diameters. 3.1
canned cycle.
- - -
13.1.2
1.
List of "G" functions.
CREATING A PROGRAM.
CNC 8070
(REF: 1709)
·41·
Page 42
1.
List of "G" functions.
CREATING A PROGRAM.
Programming manual.
Function M D V Meaning
G152 * Programming in radius. 3.1 G157 * * Excluding axes in the zero offset. 5.5.3 G158 * * Incremental zero offset. 5.5.2 G159 ! * Additional absolute zero offsets. 5.5 G160 * (·M· model). Multiple machining in a straight line. - - ­G160 * (·T· model). Drilling / tapping canned cycle on the face of the part. - - ­G161 * (·M· model). Multiple machining in rectangular pattern. - - ­G161 * (·T· model). Drilling / tapping canned cycle on the side of the part. - - ­G162 * (·M· model). Multiple machining in a grid pattern. - - ­G162 * (·T· model). Slot milling canned cycle along the side of the part. - - ­G163 * (·M· model). Multiple machining in a circular pattern. - - ­G163 * (·T· model). Slot milling canned cycle along the face of the part. - - ­G164 * (·M· model). Multiple machining in an arc. - - ­G165 * (·M· model). Machining programmed with an arc-chord. - - ­G170 * Hirth axes OFF. 12.3 G171 * * Hirth axes ON. 12.3 G174 * Set the machine coordinate. 5.2 G180 G189 G380 G399 G192 * * Turning speed limitation. 7.2.1 G193 * Interpolating the feedrate. 6.2.2 G196 * * Constant surface speed (feedrate at the cutting point). 6.2.3 G197 * * Constant feedrate of the tool center. 6.2.3 G198 Setting of lower software travel limits. 12.2 G199 Setting of upper software travel limits. 12.2 G200 Exclusive manual inte rvention. 9.2 G201 * Activate additive manual intervention. 9.1 G202 * * Cancel additive manual intervention. 9.1 G210 * * (·M· model). Bore milling canned cycle. - - ­G211 * * (·M· model). Inside thread milling cycle. - - ­G212 * * (·M· model). Outside thread milling cycle. - - ­G233 * * Withdraw the axes after interrupting an electronic threading. 10.4 G261 * * Arc center in absolute coordinates (modal). 8.3.9 G262 * * Arc center referred to starting point. 8.3.9 G263 * * Arc radius programming. 8.3.2 G264 * * Cancel arc center correction. 8.3.11 G265 * * Activate arc center correction. 8.3.11 G266 * Feedrate override at 100%. 6.2.4 G500 G599
* OEM subroutine execution. 14.5
* OEM subroutine execution. 14.5
* Generic user subroutines. 14.6
CNC 8070
(REF: 1709)
·42·
Page 43
Programming manual.

1.6 List of auxiliary (miscellaneous) M functions.

The following table shows a list of "M" functions available at the CNC. Next to each function, it indicates which chapter of this manual describes it; if no chapter is indicated, the function is described in another manual.
Function Meaning
M00 Program stop. 6.6.1 M01 Conditional program stop. 6.6.1 M02 End of program. 1.2.1 M03 Start the spindle clockwise. 7.3 M04 Start the spindle counterclockwise. 7.3 M05 Stop the spindle. 7.3 M06 Tool change. 6.6.1 M17 End of a global or local subroutine. 14.2 M19 Spindle orientation. 7.5 M29 End of a global or local subroutine. 14.2 M30 End of program. 1.2.1 M41 Selects gear ·1·. 7.4 M42 Selects gear ·2·. 7.4 M43 Selects gear ·3·. 7.4 M44 Selects gear ·4·. 7.4
1.
CREATING A PROGRAM.
List of auxiliary (miscellaneous) M functions.
CNC 8070
(REF: 1709)
·43·
Page 44
1.

1.7 List of statements and instructions.

Instruction Meaning
$GOTO Block skip. 22.2.1 $IF $ELSEIF
$ELSE $ENDIF $SWITCH $CASE $BREAK $DEFAULT $ENDSWITCH
$FOR $BREAK $CONTINUE $ENDFOR
$WHILE
CREATING A PROGRAM.
List of statements and instructions.
$BREAK $CONTINUE $ENDWHILE
$DO $BREAK $CONTINUE $ENDDO
Programming manual.
The following tables show a list of statements and instructions functions available at the CNC. Next to each of them, it indicates which chapter of this manual describes it; if no chapter is indicated, the function is described in another manual.
Conditional execution. 22.2.2
Conditional execution. 22.2.3
Block repetition. 22.2.4
Conditional block repetition. 22.2.5
Conditional block repetition. 22.2.6
CNC 8070
(REF: 1709)
Instruction Meaning
L Call to a global subroutine. 14.3.2 LL Call to a local subroutine. 14.3.1 #ABORT Abort the execution of the program and resume it in another block or program. 15.3 #ACS Fixture coordinate system. 19.4 #ANGAX OFF Turn angular transformation off. 17.1 #ANGAX ON Turn angular transformation on. 17.1 #ANGAX SUSP Freeze angular transformation. 17.2 #ASPLINE ENDTANG Akima splines. Type of final tangent. 22.1.14 #ASPLINE MODE Akima splines. Selection of tangent type. 22.1.14 #ASPLINE STARTTANG Akima splines. Type of starting tangent. 22.1.14 #AXIS Axis upon which the manual intervention is applied. 9.1 #CALL Call to a global or local subroutine. 14.3.3 #CALL AX Add a new axis to the configuration. 22.1.9 #CALL SP Add a spindle to the configuration. 22.1.10 #CAM ON Activate the electronic cam (real coordinates). 22.1.21 #CAM OFF Cancel the electronic cam. 22.1.21 #CAX Axis C. Activating the spindle as C axis. 16.1 #CD OFF Cancel collision detection. 22.1.13 #CD ON Activating collision detection. 22.1.13 #CLEAR Channels. It clears the synchronism marks of the channel. 22.1.19 #CONTJOG Manual intervention. Feedrate in continuous jog. 9.3.1 #COMMENT BEGIN Beginning of comment. 1.8 #COMMENT END End of comment. 1.8 #CS Machining coordinate system. 19.4 #CSROT ON Activate tool orientation in the part coordinate system. 19.9.1 #CSROT OFF Cancel tool orientation in the part coordinate system. 19.9.2 #CYL "C" axis. Machining of the turning side of the part. 16.3 #DEF Macros. Define Macros. 22.1.17 #DEFROT How to manage the discontinuities in the orientation of rotary axes. 19.9.3 #DELETE It initializes the global user variables. 1.9 #DFHOLD Disable the feed-hold signal. 22.1.5 #DGWZ It defines the graphic display area. 22.1.4 #DSBLK End of the single-block treatment. 22.1.5 #DSTOP Disable the cycle stop signal. 22.1.5 #EFHOLD Disable the feed-hold signal. 22.1.5 #ERROR Display an error on the screen. 22.1.1 #ESBLK Beginning of the single-block treatment. 22.1.5 #ESTOP Enable the cycle stop signal. 22.1.5 #EXBLK It executes a block in the indicated channel. 15.2
·44·
Page 45
Programming manual.
Instruction Meaning
#EXEC It executes a program in the indicated channel. 15.1 #FACE "C" axis. Machining on the face of the part. 16.2 #FEEDND Smooth the path and the feedrate. 12.5 #FLUSH Interrupt block preparation. 22.1.22 #FOLLOW OFF Independent axis. End the synchronization movement. 22.1.20 #FOLLOW ON Independent axis. Begin the synchronization movement (real coordinates). 22.1.20 #FREE AX Free an axis from the configuration. 22.1.9 #FREE SP Free a spindle from the configuration. 22.1.10 #HSC OFF It cancels the HSC mode. 20.6 #HSC ON HSC mode. Optimizing the contouring error. 20.4 #HSC ON [FAST] HSC mode. Optimizing the machining speed. 20.5 #INCJOG Manual intervention. Feedrate in incremental jog. 9.3.2 #INIT MACROTAB Macros. Initialize the table of macros. 22.1.17 #ISO ISO generation. 22.1.6 #KIN ID Select a kinematics. 19.3 #KINORG Transform the current part zero considering the position of the table
kinematics. #LINK Activate the electronic coupling (slaving) of axes. 22.1.7 #MASTER Selecting the master spindle of the channel. 7.1.1 #MCALL Modal call to a local or global subroutine initializing parameters. 14.3.5 #MCS Program a movement referred to machine zero. 5.1 #MCS OFF Cancel the machine coordinate system. 5.1 #MCS ON Activate the machine coordinate system. 5.1 #MDOFF Turning the subroutine into non-modal. 14.4 #MEET Channels. It activates the mark in the indicated channel. 22.1.19 #MOVE Independent axis. Positioning move. 22.1.20 #MPG Manual intervention. Resolution of the handwheels. 9.3.3 #MSG Display a message on the screen. 22.1.3 #PARK Park an axis. 22.1.8 #PATH Define the location of the global subroutines. 14.4 #PATHND Smooth the path. 12.5 #PCALL Call to a global or local subroutine initializing parameters. 14.3.4 #POLY Polynomial interpolation. 22.1.15 #RENAME AX Rename the axes. 22.1.9 #RENAME SP Rename the spindles. 22.1.10 #REPOS Repositioning axes and spindles from an OEM subroutine. 14.8.1 #RET End of a global or local subroutine. 14.2 #RETDSBLK Execute subroutine as a single block. 14.3.7 #ROUNDPAR Type of corner rounding. 11.3.1 #ROTATEMZ Positioning a turret magazine. 6.4 #RPT Block repetition. 22.1.18 #RTCP RTCP transformation. 19.6 #SCALE Scaling factor. 11.10 #SELECT ORI Select onto which rotary axes of the kinematics the tool orientation is
calculated for a given direction on the work piece (part). #SERVO ON Activates the closed loop mode. 22.1.12 #SERVO OFF Activates the open loop mode. 22.1.12 #SET AX Set axis configuration. 22.1.9 #SET OFFSET Manual intervention. Manual path movement limits. #SET SP Set spindle configuration. 22.1.10 #SIGNAL Channels. It activates the mark in its own channel. 22.1.19 #SLOPE Acceleration control. 22.1.16 #SPLINE OFF Akima splines. It cancels spline adaptation. 22.1.14 #SPLINE ON Akima splines. It activates spline adaptation. 22.1.14 #SYNC Spindle synchronization. Synchronization of the real coordinate. 22.1.11 #SYNC POS Manual intervention. Synchronization of coordinates and additive manual
offset. #TANGCTRL OFF Cancel tangential control. 18.1 #TANGCTRL ON Activate tangential control. 18.1 #TANGCTRL SUSP Freeze tangential control. 18.2 #TANGFEED RMIN Minimum contouring radius for applying constant feedrate 6.2.3 #TCAM ON Activate the electronic cam (theoretical coordinates). 22.1.21 #TFOLLOW ON Independent axis. Begin the synchronization movement (theoretical
coordinates). #TIME Dwell 12.1 #TLC Correct the implicit tool length compensation of the program. 19.7 #TOOL AX Longitudinal tool axis selection. 4.4 #TOOL ORI Tool perpendicular to the inclined plane. 19.5
19.11
19.9
9.3.4
9.3.5
22.1.20
1.
CREATING A PROGRAM.
List of statements and instructions.
CNC 8070
(REF: 1709)
·45·
Page 46
1.
Programming manual.
Instruction Meaning
#TSYNC Spindle synchronization. Synchronization of the theoretical coordinate. 22.1.11 #UNLINK Cancel the electronic coupling (slaving) of axes. 22.1.7 #UNPARK Unpark an axis 22.1.8 #UNSYNC Spindle synchronization. Decouple the spindles. 22.1.11 #VIRTAX ON Activate the virtual tool axis. 21.1 #VIRTAX OFF Cancel the virtual tool axis. 21.2 #WAIT Channels. It waits for a mark to be activated in the indicated channel. 22.1.19 #WAIT FOR Wait for an event. 22.1.22 #WARNING Display a warning on the screen. 22.1.2 #WARNINGSTOP Display a warning on the screen and interrupt the program. 22.1.2
Probing.
#SELECT PROBE Probe selection.
Probing canned cycles. ·M· model (milling).
CREATING A PROGRAM.
List of statements and instructions.
#PROBE 1 Tool calibration (dimensions and wear). #PROBE 2 Probe calibration. #PROBE 3 Surfacing measuring. #PROBE 4 Outside corner measuring. #PROBE 5 Inside corner measuring. #PROBE 6 Angle measurement on the abscissa axis. #PROBE 7 Outside corner and angle measurement. #PROBE 8 Hole measuring. #PROBE 9 Circular boss measuring. #PROBE 10 Rectangular part centering. #PROBE 11 Circular part centering. #PROBE 12 Tabletop probe calibration.
Probing canned cycles. ·T· model (lathe).
#PROBE 1 Tool calibration. #PROBE 2 Tabletop probe calibration. #PROBE 3 Part measurement along the ordinate axis. #PROBE 4 Part measurement along the abscissa axis.
CNC 8070
(REF: 1709)
·46·
Page 47
Programming manual.

1.8 Comment programming.

Any comment may be associated with the blocks. When executing the program, the CNC ignores this information.
The CNC offers various methods to include comments in the program.
Programming comments in parenthesis "(" and ")".
The comment must go in parenthesis "(" and ")". Comments programmed this way need not go at the end of the block; it may go in the middle and there may be more than one comment in the same block.
N10 G90 X23.45 F100 (comment) S200 M3 (comment)
Programming comments with the ";" character.
The information to be considered as comment must go after the ";" character . The commen t may be programmed alone in the block or may be added at the end of a block.
N10 G90 X23.45 T1; comment
Programming comments with the #COMMENT instruction.
The instructions #COMMENT BEGIN and #COMMENT END indicate the beginning and end of a comment. The blocks programmed between them are considered by the CNC as a single comment and are ignored when executing the program.
1.
Comment programming.
CREATING A PROGRAM.
#COMMENT BEGIN
P1: Machining width. P2: Machining length. P3: Machining depth.
#COMMENT END
CNC 8070
(REF: 1709)
·47·
Page 48
1.

1.9 Variables and constants.

Variables and constants.
CREATING A PROGRAM.
Programming manual.
Constants.
They are fixed values that cannot be modified by program; constants are numbers in decimal, binary and hexadecimal system and read-only tables and variables because their value cannot be changed within a program.
Hexadecimal values are represented preceded by the $ symbol.
Hexadecimal
$4A
Decimal
74
Binary
0100 1010
Variables.
The CNC has a number of internal variables that may be accessed from the user program, from the PLC or from the interface.
User variables.
The user can create his own variables. These are read-write variab les and are evaluated during block preparation.
The mnemonics of the variables are the following. Replace the suffix name with the name of the variable.
V.P .name - Local user variable. V.S.name - Global user variable.
V.P.myloc alvar V.S.myg lobalvar
Local user variables may only be accessed from the program or subroutine where they have been programmed. Global user variables will be shared by the program and the subroutines of the channel.
Global user variables maintain their value after a reset.
Initialize the user variables.
V ariables are deleted when the CNC is turned off and they can also be deleted from the part­program 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.
#DELETE V.P.localvar1 #DELETE V.S.globalvar1 V.S.globalvar2
CNC 8070
(REF: 1709)
·48·
Page 49
Programming manual.

1.10 Arithmetic parameters.

Arithmetic parameters are general purpose variables that the user may utilize to create his/her own programs. The CNC has global, local and common arithmetic parameters. The range of available parameters of each type is defined in the machine parameters.
Arithmetic parameters are programmed with the "P" code followed by the parameter number. The has some tables for consulting the value of these parameters; refer to the operating manual to learn how to handle these tables.
The user may use the arithmetic parameters when editing its own prog rams. During execution, the CNC will replace these parameters with the values assigned to them at the time.
P0=0 P1=1 P2=20 P3=50 P4=3 P10=1500 P100=800 P101=30
··· GP0 XP0 YP0 SP10 MP4 ==> G0 X0 Y0 S1500 M3 GP1 XP2 YP3 FP100 ==> G1 X20 Y50 F800 MP101 ==> M30
1.
Arithmetic parameters.
Local arithmetic parameters.
Local parameters can only be accessed from the program or subroutine where they have been programmed. There are seven groups of local parameters in each channel.
The maximum range of local parameters is P0 to P99, the typical range being P0 to P25. When the parameters are used in the block calling a subroutine may also be referred to by
the letters A-Z (except Ñ and Ç) so "A" is the same as P0 and "Z" the same as P25.
Global arithmetic parameters.
Global parameters can be accessed from any program and subroutine called from a program. The value of these parameters is shared by the program and the subroutin es. There is a group of global parameters in each channel.
The maximum range of global parameters is P100 to P9999, the typical range being P100 to P299.
Common arithmetic parameters.
The common parameters may be accessed from any channel. The value of these parameters is shared by all the channels. Reading and writing these parameters interrupts block preparation.
The maximum range of common parameters is P10000 to P19999, the typical range being P10000 to P10999.
CREATING A PROGRAM.
Programming the arithmetic parameters.
In blocks programmed in ISO code, it is possible to define the values of all the fields "N", "G", "F", "S", "T", "D", "M", "H", "NR" and axis coordinates using parameters. Using indirect addressing, it is also possible to define the number of a parameter with another parameter; "P[P1]", "P[P2+3]".
In blocks having statements, the values of any expression may be defined with parameters.
CNC 8070
(REF: 1709)
·49·
Page 50
1.

1.1 1 Arithmetic and logic operators and functions.

An operator is a symbol that indicates the mathematical or logic operations to carry out. The CNC offers the following types of operators.
Arithmetic operators.
To perform arithmetic operations.
+ A dd P1 = 3+4 P1=7
- Subtract Change sign
* Multiply P3 = 2*3 P3=6 / Division P4 = 9/2 P4=4.5
MOD Module or remainder of a division P5 = 5 MOD 2 P5=1
** Exponent P6 = 2**3 P6=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]
Programming manual.
P2=3 P2=-7
CREATING A PROGRAM.
Arithmetic and logic operators and functions.
+= Compounded addition P1 += 3 P1=P1+3
-= Compounded subtraction P2 -= 5 P2=P2-5 *= Compounded multiplication P3 *= 2 P3=P3*2 /= Compounded division P4 /= 9 P4=P4/9
Relational operators.
Used for doing comparisons.
== Equal to P1 == 4
!= Different from, other than P2 != 5 >= Greater than or equal to P3 >= 10 <= Smaller than or equal to P4 <= 7
> Greater than P5 > 5 < Smaller than P6 < 5
Binary operators.
Used for doing binary comparis on s be tw e e n co nstants and/or arithmetic expressions.
& Binary AND P1 = P11 & P12
| Binary OR P2 = P21 | P22
^ Exclusive OR (XOR) P3 = P31 ^ P32
INV[...] Inverse P4 = INV[P41]
CNC 8070
(REF: 1709)
·50·
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.
Page 51
Programming manual.
Boolean constants.
TRUE True $IF V.S.VAR == TRUE
FALSE Not true $IF V.S.VAR == FALSE
Trigonometric functions.
SIN[...] Sine P1 = SIN[30] P1 = 0.5
COS[...] Cosine P2 = COS[30] P2 = 0.866
TAN[...] Tangent P3 = TAN[30] P3 = 0.5773
ASIN[...] Arc-sine P4 = ASIN[1] P4 = 90
ACOS[...] Arc-cosine P5 = ACOS[1] P5 = 0
ATAN[...] Arc-tangent P6 = ATAN[1] P6 = 45
ARG[...] Arctangent y/x P7=ARG[-1,1] P7=315
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º.
1.
CREATING A PROGRAM.
Mathematical functions.
ABS[...] Absolute value P1 = ABS[-10] P1 = 10 SQR[...] Square function P2 = SQR[4] P2 = 16
SQRT[...] Square root P3 = SQRT[16] P3 = 4
LOG[...] Decimal logarithm P4 = LOG[100] P4 = 2
LN[...] Neperian logarithm P5 = LN[100] P5 = 4.6051
EXP[...] "e" function P6 = EXP[1] P6 = 2.7182
DEXP[...] Decimal exponent P6 = 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.
Other functions.
INT[...] Returns the integer P1 = INT[4.92] P1 = 4
FRACT[...] Returns decimal portion P2 = FRACT[1.56] P2 = 0.56
ROUND[...] Rounds up or down to the nearest
integer
FUP[...] Returns the integer plus one. (If the
number is an integer, it returns it)
EXIST[...] I t ch e cks whether the selected
variable or parameter exists or not
P3 = ROUND[3.12] P4 = ROUND[4.89]
P5 = FUP[3.12] P6 = FUP[9]
$IF EXIST[P1] $IF EXIST[P3] == FALSE
P3 = 3 P4 = 5
P5 = 4 P6 = 9
Arithmetic and logic operators and functions.
In the "EXIST" function, programming "$IF EXIST[P1] == TRUE" is the same as programming "$IF EXIST[P1]".
CNC 8070
(REF: 1709)
·51·
Page 52
1.

1.12 Arithmetic and logic expressions.

CREATING A PROGRAM.
Arithmetic and logic expressions.
Programming manual.
An expression is any valid combination of operators, constants, parameters and variables. Expressions may be used to program the numerical portion of any function, statement, etc.
The priorities of the operators and the way they can be associated determine how these expressions are calculated:
Priority from highest to lowest To be associated
Functions, - (change sign) from right to left. ** (exponent), MOD (remainder) from left to right. * (multiplication, logic AND), / (division) from left to right. + (suma, OR lógico), - (resta) from left to right. Relational operators from left to right. & (AND),^ (XOR) from left to right. | (OR) from left to right.
Brackets should be used in order to clarify the order in which the expression is to be evaluated. Using redundant or additional brackets will neither cause errors nor slow down the execution.
P3 = P4/P5 - P6 * P7 - P8/P9
P3 = [P4/P5] - [P6 * P7] - [P8/P9]
Arithmetic expressions.
Their result is a numerical value. They consist of a combination of arithmetic and binary operators with constants, parameters and variables.
This type of expressions may also be used to assign values to parameters and variables:
P100 = P9 P101 = P[P7] P102 = P[P8 + SIN[P8*20]] P103 = V.G.TOOL V.G.FIXT[1].X=20 V.G.FIXT[1].Y=40 V.G.FIXT[1].Z=35
Relational expressions.
Their result is a TRUE or a FALSE. They combine relational and logic operators with arithmetic expressions, constants, parameters and variables.
... [P8==12.6] ... It compares if the value of P8 is equal to 12.6. ... ABS[SIN[P4]] > 0.8 ... It compares if the absolute value of the sine of P4 is greater than 0.8. ... [[P8<=12] + [ABS[SIN[P4]] >=0.8] * [V.G.TOOL==1]] ...
CNC 8070
(REF: 1709)
·52·
Page 53

MACHINE OVERVIEW

2.1 Axis 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 -Z Main 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-W Auxiliary axes, parallel to X-Y-Z respectively. A-B-C Rotary axes, on X-Y-Z respectively.
However, the machine manufacturer may call the axes differently.
2
As an option, the name of the axes may be followed by a number between 1 and 9 (X1, X3, Y5, A8...).
Axis nomenclature on different machines.
CNC 8070
(REF: 1709)
·53·
Page 54
2.
Programming manual.
Right-hand rule
The direction of the X-Y-Z axes can easily be remembered using the right-hand rule (see
the drawing below).
On rotary axes, the positive turning direction is determined by the direction pointed by your
fingers when holding the rotary axis with your hand while your thumb points in the positive
direction of the linear axis.
Axis nomenclature
MACHINE OVERVIEW
CNC 8070
(REF: 1709)
·54·
Page 55
Programming manual.
P (X,Y,Z)
(1,2,5) (3,4,0) (5,7,-2)

2.2 Coordinate system

Since one of the CNC's purposes is to control the movement and positioning of the axes, a coordinate system is required that permits defining the position of the various target (destination) points in the plane (2D) or in space (3D).
The main coordinate system is formed by the X-Y-Z axes. These axes are perpendicular to each other and they meet at the origin point used as reference for the various points.
2.
Coordinate system
MACHINE OVERVIEW
The position of a point "P" in the plane or in space is defined by its coordinates on the various axes.
Other types of axes such as auxiliary and rotary axes may also be part of the coordinate system.
CNC 8070
(REF: 1709)
·55·
Page 56
2.
Example of the various coordinate systems on a milling machines.
XM YM ZM Machine reference system. XF YF ZF Fixture reference system. XW YW ZW Part reference system (datum point).
Programming manual.

2.3 Reference systems

A machine may use the following reference systems.
• Machine reference system. It is the coordinate system of the machine and it is set by the manufacturer of the machine.
• Fixture reference system. It establishes a coordinate system associated with the fixtures being used. It is activated
by program and may be set by the operator in any position of the machine. When the machine has several fixtures, each one may have its own reference system
associated with it.
• Part reference system (datum point). It establishes a coordinate system associated with the part being machined. It is activated
by program and may be set by the operator anywhere on the part.
Reference systems
MACHINE OVERVIEW
CNC 8070
(REF: 1709)
·56·
Page 57
Programming manual.
2.3.1 Origins of the reference systems
The position of the different reference systems is determined by their respective origin points.
O
M
Machine zero.
It is the origin point of the machine reference system, set by the machine manufacturer.
O
F
Fixture zero
It is the origin point of the fixture reference system being used. Its position is defined by the operator by using the "fixture offset" and is referred to machine zero.
The "fixture offset" may be set by program or from the CNC's front panel, as described in the Operating Manual.
O
W
Part zero
It is the origin point of the reference system of the part (workpiece). Its position is set by the operator using the "zero offset" and is referred:
• To the fixture offset, if the fixture reference system is active. When changing the fixture reference system, the CNC updates the part zero position by referring to the new fixture zero point.
• To the machine zero point (home), if the fixture reference system is NOT active. When activating the fixture reference system, the CNC updates the part zero position by referring it to the fixture zero point.
The "zero offset" may be set from the program or from the CNC front panel as described in the Operating Manual.
2.
Reference systems
MACHINE OVERVIEW
Zero offset when:
(A)The fixture reference system is activated. (B)The fixture reference system is deactivated.
CNC 8070
(REF: 1709)
·57·
Page 58
2.
Z
X
O
M
O
W
X
MH
X
MW
Z
MW
Z
MH
H
X
Z
H
O
M
O
W
Z
MH
Z
MW
X
MH
i

2.4 Home search

2.4.1 Definition of "Home search"
Home search
MACHINE OVERVIEW
Programming manual.
It is the operation used to synchronize the system. This operation must be carried out when the CNC loses the position of the origin point (e.g. by turning the machine off).
In order to perform the "Home search", the machine manufacturer has set particular points of the machine; the machine zero and the machine reference point.
• Machine zero. It is the origin point of the machine reference system.
• Machine reference point. It is the physical point where the system is synchronized (except when the machine uses
distance-coded reference marks or absolute feedback). It may be located anywhere
I
0
on the machine.
When "searching home", the axes move to the machine reference point and the CNC assumes the coordinate values assigned to that point by the machine manufacturer , referred to machine zero. When using I
distance-coded reference marks or absolute feedback, the
0
axes will only move the distance necessary to verify their position.
CNC 8070
(REF: 1709)
O
M
O
W
H
X
MH YMH ZMH
XWH YWH Z
Machine zero. Part zero. Machine reference point. Coordinates referred to machine reference system. Coordinates referred to the part reference system.
WH
When programming a "Home search", neither the fixture offsets nor the zero offsets are canceled; therefore, the coordinates are displayed in the active reference system. On the other hand, if "Home search" is carried out one axis at a time in JOG mode (not in MDI), the active offsets are canceled and the coordinates being displayed are referred to machine zero.
·58·
Page 59
Programming manual.
G74 X1 Y2
G74 X2 Z1 A3
G74 Z1 Y2 X3 U2
G74 X1=1 X2=2
G74 X1=2 X2=1 A4 Z1=3
2.4.2 "Home search" programming
When programming a "Home search", the axes are homed sequentially in the order set by the operator. All the axes need not be included in the "Home search", only those being homed.
The "Home search" is programmed using the G74 function followed by the axes to be homed and the number indicating their homing order. If the same order number is assigned to several axes, those axes start homing at the same time and the CNC waits for all of them to end before homing the next one.
When having numbered axes, they may be defined together with the other ones by assigning them the order number as follows.
2.
Home search
MACHINE OVERVIEW
Spindle home search
The spindle home search is always carried out together with the first axis regardless of the order in which it has been defined.
Home search and loop status.
Axes usually work in closed loop, although rotary axes can also work in open loop so they can be controlled as if they were spindles.
The home search is carried out with the axes and spindles controlled in position; i.e. in closed position loop. The CNC will close the position loop automatically on all axes and spi ndles for which a home search has been programmed using function G74.
Using an associated subroutine
If the machine manufacturer has associated a home-search subroutine to the G74 function, this function may be programmed alone in the block and the CNC will automatically execute the associated subroutine [G.M.P. "REFPSUB (G74)"].
When using a subroutine, the "Home search" is carried out exactly as described earlier.
CNC 8070
(REF: 1709)
·59·
Page 60
2.
Programming manual.
Home search
MACHINE OVERVIEW
CNC 8070
(REF: 1709)
·60·
Page 61

COORDINATE SYSTEM

3.1 Programming 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:
G70 Programming in inches. G71 Programming in millimeters.
Both functions may be programmed anywhere in the program; they do not have to go alone in the block.
Operation
After executing one of these functions, the CNC assumes that unit system for the following blocks. If none of these functions is programmed, the CNC uses the unit system set by machine manufacturer [G.M.P. "INCHES"].
3
When changing the unit system, the CNC converts the currently active feedrate into the new unit system.
... G01 G71 X100 Y100 F508 (Programming in millimeters.)
(Feedrate: 508 mm/minute)
... G70 (It changes the units.)
(Feedrate: 20 inches/minute)
...
Properties of the functions
The G70 and G71 functions are modal and are incompatible. On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC
assumes function G70 or G71 as set by the machine manufacturer [G.M.P. "INCHES"].
CNC 8070
(REF: 1709)
·61·
Page 62
3.

3.2 Absolute (G90) or incremental (G91) coordinates.

COORDINATE SYSTEM
Programming manual.
The coordinates of the various points may be defined in absolute coo rdina te s (re fe rred to the active origin point) or incremental coordinates (referred to the current position). The type of coordinates may be selected by program using the following functions:
G90 Programming in absolute coordinates. G91 Programming 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.
Absolute (G90) or incremental (G91) coordinates.
N10 G00 G71 G90 X0 Y0 N20 G01 X35 Y55 F450 N30 X75 Y25 N40 X0 Y0 N50 M30
Programming in absolute coordinates.
• 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.
N10 G00 G71 G90 X0 Y0 N20 G01 G91 X35 Y55 F450 N30 X40 Y-30 N40 X-75 Y-25 N50 M30
Programming in incremental coordinates.
Function properties
CNC 8070
(REF: 1709)
·62·
The G90 and G91 functions are modal and incompatible with each other. On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC
assumes function G90 or G91 as set by the machine manufacturer [G.M.P. "ISYSTEM"].
Page 63
Programming manual.
3.2.1 Rotary axes.
The CNC admits different ways to configure a rotary axis depending on how it is going to move. Hence, the CNC can have rotary axes with travel limits, for example between 0º and 180º (linearlike rotary axis); axes that always move in the same direction (unidirectional rotary axis); axes that choose the shortest path (positioning-only rotary axis).
All rotary axes must be programmed in degrees; therefore, they will not be affected by the mm-inch conversion. The number of revolutions the axis will turn when programming a distance greater than the module depends on the type of axis. The limits to display the position values (coordinates) also depend on the type of axis.
Linearlike rotary axis.
The axis behaves like a linear axis, but it is programmed in degrees. The CNC displays the position values between the travel limits.
Normal rotary axis.
This type of rotary axis can turn in both directions. The CNC displays the position values between the limits of the module.
3.
COORDINATE SYSTEM
G90 movements. G91 movements.
The sign of the position value indicates the moving direction; the absolute position value indicates the target position.
Even if the programmed distance is greater than the module, the axis never turns more than one revolution.
Normal incremental movement. The sign of the position value indicates the moving direction; the absolute position value indicates the position increment.
If the programmed distance is greater than the module, the axis turns more than one revolution.
Unidirectional rotary axis.
This type of rotary axis only moves in one direction, the one that has been preset for it. The CNC displays the position values between the limits of the module.
Absolute (G90) or incremental (G91) coordinates.
G90 movements. G91 movements.
The axis moves in the preset direction up to the programmed position.
Even if the programmed distance is greater than the module, the axis never turns more than one revolution.
The axis only admits movements in the preset direction. The sign of the position value indicates the moving direction; the absolute position value indicates the position increment.
If the programmed distance is greater than the module, the axis turns more than one revolution.
CNC 8070
(REF: 1709)
·63·
Page 64
3.
COORDINATE SYSTEM
Programming manual.
Positioning-only rotary axis.
This type of rotary axis can move in both directions; but in absolute movements, it only moves via the shortest path. The CNC displays the position values between the limits of the module.
G90 movements. G91 movements.
The axis moves via the shortest path up to the programmed position.
Even if the programmed distance is greater than the module, the axis never turns more than one revolution.
Normal incremental movement. The sign of the position value indicates the moving direction; the absolute position value indicates the position increment.
If the programmed distance is greater than the module, the axis turns more than one revolution.
Absolute (G90) or incremental (G91) coordinates.
CNC 8070
(REF: 1709)
·64·
Page 65
Programming manual.

3.3 Absolute and incremental coordinates in the same block (I).

The "I" command may be added to the programmed coordinate and it may be used to make it incremental. This command is non-modal and indicates that the coordinate is programmed incrementally , regardless of the rest of the block and of the G90/G91 function that is currently active. This way, it is possible to program absolute and incremental movements in the same block without having to use the G90/G91 functions. This kind of incremental programming is the same as G91 regardless of the scope of the applica tio n and of the result.
Programming.
This kind of incremental programming is only allowed when programming Cartesian or Polar coordinates. Add the "I" command after the numeric value of the coordinate to be programmed incrementally.
G01 X12.4 Y-0.2 Z10I
X and Y axis movement in absolute coordinates. Incremental Z axis movement.
G02 X100 Y10I I20 J0
The X coordinate of the end point is programmed in absolute (X100) and the Y coordinate in incremental (Y10I).
G01 R100I Q45
Polar coordinates. Incremental radius programming.
G01 R150 Q15I
Polar coordinates. Incremental angle programming.
G09 X35 Y20 I-15I J25
The first point (X35 Y20) is in absolute coordinates. The X coordinate of the second point is programmed in incremental (I-15I) and the Y coordinate is absolute (J25).
Axis programming.
Regarding the axes, the CNC admits incremental programming when they represent coordinates (position values), blocks like G00, G01, G02, etc and G198, G199 (software limits). The incremental format is not allowed when the axes have a different meaning (G112, G74, G14, etc).
3.
COORDINATE SYSTEM
Absolute and incremental coordinates in the same block (I).
Axis programming using wild cards .
The CNC allows incremental programming in the wild-cards for the axes; for @1, @2, @3 and for all the ?n.
@1=12I @2=-34I @3=12.6I ?1=24I ?5=-23I
Parametric programming.
The CNC allows incremental programming the parameters are used as coordinates (position values).
XP1I X-P10I Z [P10+P20]I Z2=P14I
Canned cycles.
In the canned cycles, incremental programming is only allowed in the prior movement; it is not allowed in their entry parameters.
X100I G81 I-25
CNC 8070
(REF: 1709)
·65·
Page 66
3.
i
Programming manual.

3.4 Programming 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:
G151 Programming in diameters. G152 Programming in radius.
These functions may be programmed anywhere in the program an d they don't have to go alone in the block.
Operation
After executing one of these functions, the CNC assumes that programming mode for the following blocks.
COORDINATE SYSTEM
CNC 8070
Programming in radius (G152) or in diameters (G151).
Programming in radius. Programming in diameters.
When switching programming modes, the CNC changes the way it displays the coordinates of the corresponding axes.
Function properties
Functions G151 and G152 are modal and incompatible with each other. On power-up, after executing an M02 or M30, and after an EMERGENCY or RESET, the
CNC assumes function G151 if machine parameter DIAMPROG of any of the axes is set to YES.
(REF: 1709)
·66·
Page 67
Programming manual.

3.5 Coordinate programming

3.5.1 Cartesian coordinates
Coordinates are programmed according to a Cartesian coordinate system. This system consists of two axes in the plane and three or more in space.
Definition of position values
The position of a point in this system is given by its coordinates in the different axes. The coordinates are programmed in absolute or incremental coordinates and in millimeters or inches.
Standard axes (X...C)
The coordinates are programmed with the axis name followed by the coordinate value.
3.
Coordinate programming
COORDINATE SYSTEM
Numbered axes (X1...C9)
If the axis name is like X1, Y2... the "=" sign must be included between the axis name and the coordinate.
CNC 8070
(REF: 1709)
·67·
Page 68
3.
Programming manual.
3.5.2 Polar coordinates
When having circular elements or angular dimensions, polar coordinates may be more convenient to express the coordinates of the various points in the plane.
This type of coordinates requires a reference point referred to as "polar origin" that will be the origin of the polar coordinate system.
Definition of position values
The position of the various points is given by defining the radius "R" and the angl e "Q" as follows:
Radius It will be the distance between the polar origin and the point. Angle It will be the one formed by the abscissa axis and the line joining the polar
origin with the point.
Coordinate programming
COORDINATE SYSTEM
R Radius Q Angle
OP Polar origin
The radius may be given in mm or in inches whereas the angle is given in degrees. Both values may be given in either absolute (G90) or incremental (G91) coordinates.
• When working in G90, the "R" and "Q" values will be absolute. The value assigned to the radius must always be positive or zero.
• When working in G91, the "R" and "Q" values will be incremental. Although negative "R" values may be programmed, when programming in incremental coordinates, the resulting value assigned to the radius must always be positive or zero.
When programming a "Q" value greater than 360º, the module will be assumed after dividing it by 360. Thus, Q420 is the same as Q60 and Q-420 is the same as Q-60.
Polar origin preset
The "polar origin" ma y be sele cted from the pr ogra m usi ng funct ion G30 . If not sele ct ed, it assumes as "polar origin" the origin of the active reference system (part zero). See chapter
"5 Origin selection".
CNC 8070
(REF: 1709)
·68·
The selected "polar origin" is modified in the following instances:
• When changing the work plane, the CNC assumes the part zero as the new "polar origin".
• On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC assumes the part zero as the new polar origin.
Page 69
Programming manual.
P1
P2
P3
P4
P5
P6
50
30
o
60
o
P0
Y
X
RQ P0 0 P1 10000 P2 P3 P4
100
50 50
30 30
60 P5 100 60 P6 100 90
10
6
10
10
25
25
15
15
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
Ow
R P1 46 P2 P3 P4
31 16
16 P5 10 P6 10 P7 16 P8 P9
P10
31 31
46
Q 65 80 80 65 65
115 100 100 115 115
Y
X
P0
P1
P2
P3
P4
P5
P6
63.4
o
45
o
33.7
o
RQ P0 430 P1 430033.7 P2 P3 P4
340 290 230
45
33.7 45
P5 360 63.4 P6 360 90
X
Z
Examples. Point definition in polar coordinates.
3.
Coordinate programming
COORDINATE SYSTEM
CNC 8070
(REF: 1709)
·69·
Page 70
3.
3.5.3 Angle and Cartesian coordinate.
Coordinate programming
COORDINATE SYSTEM
Programming manual.
In the main plane, a point may be defined using one of its Cartesian coordinates (X..Z) and the angle (Q) formed by the abscissa axis and the line joining the starting point and the final point. To represent a point in space, the rest of the coordinates may be programmed in Cartesian coordinates.
Both values, coordinate and angle, must always be programmed; otherwise, compatibility is maintained with Polar/Cartesian programming. This type of programming is valid for linear and circular interpolations.
• The coordinates may be absolute (G90) or increment (G91) and may be given in mm or inches.
• The angle will always be an absolute value (regardless of the active G90/G91 function) and it must be given in degrees.
G90 G00 X35 Y15 G01 Y40 Q120 F500
Like in Polar programming, coordinate-angle programming is not possible whi le the MCS function is active.
G90 G00 X35 Y15 G03 Y30 Q135 R15 F500
Programming example (·M· model)
CNC 8070
(REF: 1709)
·70·
G00 G90 X0 Y20 ; Point P0 G01 X30 Q45 ; Point P1 G01 Y60 Q90 ; Point P2 G01 X50 Q-45 ; Point P3 G01 Y20 Q-135 ; Point P4 G01 X10 Q180 ; Point P0
Page 71
Programming manual.
Programming example (·T· model)
G00 G90 X0 Z160 ; Point P0 G01 X30 Q90 ; Point P1 G01 Z110 Q150 ; Point P2 G01 Z80 Q180 ; Point P3 G01 Z50 Q145 ; Point P4 G01 X100 Q90 ; Point P5
3.
Coordinate programming
COORDINATE SYSTEM
CNC 8070
(REF: 1709)
·71·
Page 72
3.
Coordinate programming
COORDINATE SYSTEM
Programming manual.
CNC 8070
(REF: 1709)
·72·
Page 73

WORK PLANES.

The work planes determine which axes define the work plane/trihedron and which axis corresponds to the longitudinal axis of the tool. Plane selection is required to execute operations like:
• Circular and helical interpolations.
• Corner chamfering and rounding.
• Tangential entries and exits.
• Machining canned cycles.
• Tool radius and length compensation.
These operations, except tool length compensation, can only be executed in the active work plane. T ool length compensation, on the other hand, can only be applied on the longitudinal axis.
4
Commands for changing the work planes.
Mill model or lathe model with "trihedron" type axis configuration.
Function. Meaning.
G17 Main plane formed by the first a xis (abscissa), second (ordinate) and third axis
(perpendicular) of the channel.
G18 Main plane formed by the third axis (abscissa), first axis (ordinate) and second axis
(perpendicular) of the channel.
G19 Main plane formed by the second axis (abscissa), third axis (ordinate) and first axis
(perpendicular) of the channel.
G20 Select any work plane formed by the first three axes of the channel.
Instruction. Meaning.
#TOOL AX Select the longitudinal axis of the tool.
Lathe model with "plane" type axis configuration.
Function. Meaning.
G18 Main plane formed by the second axis (abscissa) and first axis (ordinate) of the
channel.
G20 Select the longitudinal axis of the tool.
Instruction. Meaning.
#TOOL AX Select the longitudinal axis of the tool.
CNC 8070
(REF: 1709)
·73·
Page 74
4.
X+
Z+
X+
Z+
Y+
Programming manual.

4.1 About work planes on lathe and mill models.

The operation of the work planes depends on the geometric configura tion of the a xes. At a mill model, the geometric configuration of the axes is always of the "trihedron" type whereas at a lathe model, the geometric configuration of the axes may be eith er a "trih edron" type or a "plane" type (parameter GEOCONFIG).
WORK PLANES.
Configuration of "plane" type axes. Configuration of "Trihedron" type axes.
About work planes on lathe and mill models.
Configuration of "Trihedron" type axes (lathe or mill model).
This configuration has three axes forming a trihedron Cartesian XYZ type . There may be more axes, besides those forming the trihedron; that may be part of the thihedron or be auxiliary axes, rotary axes, etc.
The order of the axes in the channel sets the main work planes, those selected with functions G17, G18 and G19. Function G20 may be used to form any work plane with the first three axes of the channel. The work plane by default is set by the manufacturer (parameter IPLANE), the usual plane being G17 at a mill model and G18 at a lathe model.
The CNC displays the ·G· functions associated with the work planes.
Configuration of "plane" type axes (lathe model).
This configuration has two axes forming the usual work plane on a lathe. There may be more axes, but they cannot be part of the trihedron; there must be auxiliary, rotary, etc.
With this configuration, the work plane is always G18 and will be formed by the first two axes defined in the channel, the second axis as abscissa and the first axis as ordinate. The ·G· functions associated with the work planes have the following effects.
Function. Meaning.
G17 It does not change planes and shows a warning about it. G18 It has no effect (except when function G20 is active). G19 It does not change planes and shows a warning about it. G20 It is permitted if it does not change the main plane; i.e. it can only be used to change
the longitudinal axis.
CNC 8070
(REF: 1709)
·74·
The CNC does not display the ·G· functions associated with the work planes because it is always the same plane.
Page 75
Programming manual.

4.2 Select the main new work planes.

4.2.1 Mill 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.
G17 Main plane formed by the first axis (abscissa), second (ordinate) and third axis
(perpendicular) of the channel.
G18 Main plane formed by the third axis (abscissa), first axis (ordinate) and second
axis (perpendicular) of the channel.
G19 Main 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 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 (par ame t er " IPL ANE" ).
Select the main new work planes.
CNC 8070
(REF: 1709)
·75·
Page 76
4.2.2 Lathe 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.
G18 Main plane formed by the second axis (abscissa) and first axis (ordinate) of the
channel.
In the case of lathe tools, tool length compensation is applied on all the axes where a tool offset has been defined.
Programming manual.
4.
WORK PLANES.
Select the main new work planes.
On milling tools, tool length compensation is applied on the second axis of the channel. If the X (first axis of the channel) and Z (second axis of the channel) axes have been defined, the work plane will be the ZX and Z will be the longitudinal axis. Function G20 and the instruction #TOOL AX can change the longitudinal axis of the tool.
Programming.
These functions may be programmed anywhere in the program an d they don't have to go alone in the block.
Programming format.
The programming format is:
G18
G18
Properties of the function and Influence of the reset, turning the CNC off and of the M30 function.
Functions G18 and G20 are modal and incompatible with each other. On power-up, after executing an M02 or M30, and after an emergency or reset, the CNC assumes function G18.
CNC 8070
(REF: 1709)
·76·
Page 77
Programming manual.

4.3 Select any work plane and longitudinal axis.

The meaning of function G20 depends on the type of configuration of the machines axes; "plane" type for lathe or "trihedron" type for lathe or mill.
• When the axis configuration is of trihedron type, function G20 allows defining any work plane formed by the first three axes of the channel. T o build a plane with other axes, first include them in the main trihedron (instruction #SET AX).
• When the axis configuration is of plane type, the work plane is always G18 and function G20 allows changing the longitudinal axis of the tool.
Programming.
When programming this instruction, you must define the new abscissa and ordinate axes of the plane and the longitudinal axis of the tool. If the longitudinal axis coincides with one of the axes of the plane, you must also define which axis is perpendicular to the plane.
4.
Programming format.
The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets.
G20 X~C{axistype} X~C{axistype} X~C{axistype} <X~C{axistype}>
{axistype}
Values for setting the location of the axis in the plane.
The work plane is defined by selecting the abscissa and o rdinate axes, th e perpend icula r axis and the longitudinal axis of the tool. It is selected by assigning one of the following values to the axes programmed with G20.
Value. Type of axis within the work plane.
1 Abscissa axis. 2 Ordinate axis. ±3 Longitudinal axis of the tool. The sign indicates tool orientation. 4 Reserved. 5 Axis perpendicular to the work plane, only required when the longitudinal axis of the tool
G20 X1 Z2 Y3
The X axis is the abscissa axis. The Z axis is the ordinate axis. The Y axis is the longitudinal axis of the t ool and the axis perpendicular to the plane.
Value that sets the location of the axis in the plane.
is the same as the abscissa or ordinate axis. Otherwise, the longitudinal axis of the tool will be the perpendicular axis.
WORK PLANES.
Select any work plane and longitudinal axis.
G20 X1 Y2 X3 Z5
The X axis is the abscissa axis and the longitudinal axis of the tool.
The Y axis is the ordinate axis. The Z axis is the axis perpendicular to the plane.
CNC 8070
(REF: 1709)
·77·
Page 78
4.
Programming manual.
Select the longitudinal axis of the tool.
When selecting the longitudinal axis with G20, tool orientation may be established according to the programmed sign.
• If the parameter to select the longitudinal axis is positi ve, the tool is positi oned in the positive direction of the axis.
• If the parameter to select the longitudinal axis is ne gative, the tool is positioned in the negative direction of the axis.
WORK PLANES.
Select any work plane and longitudinal axis.
G20 X1 Y2 Z3 G20 X1 Y2 Z-3 G20 X1 Y2 X-3 Z5
Properties of the function and Influence of the reset, turning the CNC off and of the M30 function.
Function G20 is modal and incompatible with G17, G18 and G19. On power-up, after an M02 or M30 and after an emergency or a reset, the CNC assumes function G17 or G18 as set by the machine manufacturer (parameter "IPLANE").
CNC 8070
(REF: 1709)
·78·
Page 79
Programming manual.

4.4 Select the longitudinal axis of the tool.

The instruction #TOOL AX allows changing the longitudinal axis of the tool except on those for turning. This instruction allows to select any machine axis as the new longitudinal axis.
Programming.
When programming this instruction, you must define the new axis and the orientation of the tool.
Programming format.
The programming format is the following; the list of arguments appears inside the curly brackets.
#TOOL AX [X~C{+|-}]
{+|-}
#TOOL AX [Z+] #TOOL AX [V2-]
Define the orientation of the tool.
Tool orientation.
4.
WORK PLANES.
Tool orientation is set as follows.
+ sign
- sign
Positive tool orientation.
#TOOL AX [X+] #TOOL AX [Y+] #TOOL AX [Z+]
Negative tool orientation.
#TOOL AX [X-] #TOOL AX [Y-] #TOOL AX [Z-]
Positive tool orientation. Negative tool orientation.
Select the longitudinal axis of the tool.
CNC 8070
(REF: 1709)
·79·
Page 80
4.
Programming manual.
WORK PLANES.
Select the longitudinal axis of the tool.
CNC 8070
(REF: 1709)
·80·
Page 81

ORIGIN SELECTION

With this CNC, it is possible to program movements in the machine reference system or apply offsets in order to use reference systems referred to the fixtures or the part without having to change the coordinates of the different points of the part in the program.
There are three different offset types; fixture offset, zero offsets and PLC offsets. The CNC may have several of these offsets active at the same time, in that case, the system coordinate origin being used will be defined by the sum of the active offsets.
Type of offset. Description.
Fixture offset. Distance between the machine reference zero and the fixture's
Zero offset. Distance between the fixture's zero point and the part zero. If the
PLC offset. Special offset handled by the PLC that is used to correct the
5
zero point. On machines using several fixtures, this offsets allows selecting
the particular fixture to be used.
fixture zero is not active (no fixture offset), the zero offset is measured from machine zero.
The zero offset may be set by presetting a coordinate or a zero offset.
deviations due to dilatations, etc. The PLC always applies this offset, even when programming with respect to machine zero.
CNC 8070
(REF: 1709)
·81·
Page 82
5.
ORIGIN SELECTION
Programming manual.

5.1 Programming 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.
G00 X30 Y30 G92 X0 Y0 (Coordinate preset) G01 X20 Y20 #MCS X30 Y30 (Movement referred to machine zero. Offsets canceled) G01 X40 Y40 (Offsets restored) G01 X60 Y60 M30
Machine coordinate system.
The #MCS ON and #MCS OFF instructions activate and deactivate the machine reference system; therefore, the movements programmed between them are executed in the machine
Programming with respect to machine zero
reference system. Both instructions must be programmed alone in the block.
G92 X0 Y0 (Coordinate preset) G01 X50 Y50 #MCS ON (Beginning of programming referred to machine zero) G01 ... G02 ... G00 ... #MCS OFF (End of programming referred to machine zero. Offsets restored)
Considerations for movements referred to machine zero.
Zero offsets and co or dinate transformations
When executing a movement referred to machine zero, the CNC ignores the active offset s (except the PLC offset), the kinematics and cartesian transformations; therefore, the movement is carried out in the machine reference system. Once the movement has ended, the CNC restores the offsets, kinematics and cartesian transformations that were active.
The programmed movements do not admit polar coordinates, nor other kinds of transformations such as mirror image, coordinate (pattern) rotation or scaling factor. While the #MCS function is active, functions for setting a new origin such as G92, G54-G59, G158, G30, etc. are not admitted either.
CNC 8070
(REF: 1709)
·82·
Tool radius and length compensation
Tool radius and length compensation is also canceled during the movements referred to machine zero. The CNC assumes that the coordinates have been programmed with respect to the tool base, not to the tool tip.
Page 83
Programming manual.
System units; millimeters or inches
When moving with respect to machine reference zero, the G70 or G71 units (inches/millimeters) selected by the user are ignored. It assumes the units predefined at the CNC (INCHES parameter); assumed by the CNC on power-up. These units are assumed for defining the coordinates, for the feedrate and for the speed.
5.
ORIGIN SELECTION
Programming with respect to machine zero
CNC 8070
(REF: 1709)
·83·
Page 84

5.2 Set the machine coordinate (G174).

i
Use this function with caution. Changing the machine coordinate can cause the axes to exceed the travel limits during the movement.
Function G174 may be used to set the machine coordinate of an axis or spindle; in other words, temporarily set a new machine zero. The new machine coordinate stays active until the axis or spindle is homed; then, the CNC restores the original machine reference zero (set in the machine parameters).
Programming manual.
5.
ORIGIN SELECTION
Set the machine coordinate (G174).
After executing function G174, the CNC assumes that the programmed coordinate defines the current position referred to machine reference zero (home). The zero offsets, movements with respect to machine zero, etc. will be referred to the coordinate programmed in G174.
Programming the function.
Program function G174, and then the machine coordinate of a single axis or spindle. For gantry axes, program the machine coordinate of the master axis. With this function only the machine coordinate of an axis or spindle may be set; to set the mach ine coordinates of several, program one G174 for each one of them.
When setting the machine coordinate, the CNC ignores the G70/G71 units (inches/millimeters) selected by the user and uses the unit system pre-defined at the CNC (parameter INCHES). The CNC also ignores all the other options, radius/diameter, mirror image, scaling factor, etc.
Programming format.
The programming format is:
G174 X..C G174 S
X..C Machine coordinate at the axes. S Mach ine coordinate at the spindles.
G174 X100 G174 S180
CNC 8070
(REF: 1709)
Considerations and limitations.
Function G174, by itself, does not cause any axis or spindle movement. After executing function G174, the CNC considers that the axis or spindle is homed and verifies that it is within the software travel limits.
On gantry axes, the CNC applies the coordinate defined in G174 to both axes, master and slave.
The CNC does not allow setting the machine coordinate on slaved axes, tandem or on axes that are part of the active kinematics or active transform. The CNC p ermits setting the machine coordinate for tandem axes. Before setting the new machine coordinate, the CNC checks that the axis or spindle is in position and it is not synchronized, if that's not the case, it issues an error message.
On Sercos axes, function G174 also resets the coordinate of the drive. Setting the machine coordinates on position-Sercos axes requires drive version V6.20 or newer.
Properties of the function and Influence of the reset, turning the CNC off and of the M30 function.
Function G174 is modal. Th is function is n either affected by functions M02 and M30 nor by a reset, by an emergency or by turning the CNC off. On power-up, the CNC assumes the machine coordinates that were active when the CNC was turned off.
·84·
Page 85
Programming manual.
X Y
V.G.FIX=1
30 50
V.G.FIX=2
120 50
Fixture offset value on milling machine.

5.3 Fixture offset

With fixture offsets, it is possible to select the fixture system to be used (when having more than one fixture). When applying a new fixture offset, the CNC assumes the point set by the new selected fixture as the new fixture zero.
Definition
In order to apply a fixture offset, it must have been previously set. To do that, the CNC has a table where the operator may define up to 10 different fixture offsets. The table data may be defined:
• Manually from the CNC's front panel (as described in the Operating Manual).
• By program, assigning the corresponding value (of the "n" offset and of the "Xn" axis) to the "V.A.FIXT[n].Xn" variable.
5.
Fixture offset
Activation
Once the fixture offsets have been defined in the table, they may be activated via program by assigning to the "V.G.FIX" variable, the offset number to be applied.
Only one fixture offset may be active at a time; therefore, when applying a fixture offset, it will cancel the previous one. Assigning a value of "V.G.FIX=0" will cancel the active fixture offset.
N100 V.A.FIXT[1].X=30 V.A.FIXT[1].Y=50 N110 V.A.FIXT[2].X=120 V.A.FIXT[2].Y=50 ... N200 V.G.FIX=1 (It applies the first fixture offset) N210 ... (Programming at fixture 1) N300 V.G.FIX=2 (It applies the first fixture offset) N310 ... (Programming at fixture 2) N400 V.G.FIX=0 (Cancel fixture offset. No fixture system is active)
ORIGIN SELECTION
Considerations
A fixture offset, by itself, does not cause any axis movement.
Properties
On power-up, the CNC assumes the fixture offset that was active when the CNC was turned off. On the other hand, the fixture offset is neither affected by functions M02 and M30 no r by RESETTING the CNC.
CNC 8070
(REF: 1709)
·85·
Page 86
5.
Programming manual.

5.4 Coordinate preset (G92)

Coordinate presetting is done with function G92 and it may be applied onto any axis of the machine.
When presetting coordinates, the CNC interprets that the axis coordinates programmed after function G92 define the current position of the axes. The rest of the axes that have not been defined with G92 are not affected by the preset.
ORIGIN SELECTION
Coordinate preset (G92)
N100 G90 G01 X40 Y30 (Positioning at P0) N110 G92 X0 Y0 (Presetting P0 as part zero) ... (Machining of profile 1) N200 G90 G01 X80 Y0 (Positioning at P1) N210 G92 X0 Y0 (Presetting P1 as part zero) ... (Machining of profile 2) N300 G92 X120 Y30 (Recovering OW as part zero)
CNC 8070
Considerations
A coordinate preset, by itself, does not cause any axis movement. When homing an axis in JOG mode, the preset for that axis is canceled.
Function properties
G92 is modal, the preset values remain active until the preset is canceled (with another preset, a zero offset or with G53).
On power-up, the CNC assumes the coordinate preset that was active when the CNC was turned off. On the other hand, the coordinate preset is neither affected by functions M02 and M30 nor by RESETTING the CNC.
(REF: 1709)
·86·
Page 87
Programming manual.
Y
X
70
10
30
20
50
120
Ow
Ow
Ow
G54
G55
G56
P1
O
M
X Y
G54 (G159=1)
20 70
G55 (G159=2)
50 30
G56 (G159=3)
120 10

5.5 Zero offsets (G54-G59/G159)

The zero offsets may be used to set the part zero at different positions of the machine. When applying a zero offset, the CNC assumes as the new part zero the point defined by the selected zero offset.
Defining zero offsets.
In order to apply a zero offset, it must have been previously defined. To do that, the CNC has a table where the operator may define up to 99 different zero offsets. The table data may be defined manually (as described in the operating manual) or via program (using variables).
The OEM may have configured the zero offset table in one of the following ways (machine parameter FINEORG).
• Each zero offset has a single value. When executing function G159, the CNC assumes this value as the new zero offset.
• Each zero offset has a coarse (or absolute) value and a fine (or incremental) value. When executing function G159, the CNC assumes as new zero offset the sum of both parts.
5.
ORIGIN SELECTION
Activating a zero offset.
Once the zero offsets have been defined in the table, they may be activated via program by programming function G59 followed by the offset number to be activated.
G159=2 The CNC applies the second zero offset. G159=11 The 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.
G54 The CNC applies the first zero offset (G159=1). G59 The CNC applies the sixth zero offset (G159=6).
Zero offsets (G54-G59/G159)
N100 V.A.ORGT[1].X=20 V.A.ORGT[1].Y=70 N110 V.A.ORGT[2].X=50 V.A.ORGT[2].Y=30 N100 V.A.ORGT[3].X=120 V.A.ORGT[3].Y=10
... N100 G54
(It applies the first zero offset)
N200 G159=2
(It applies the second zero offset)
N300 G56 X20 Y30
(It applies the third zero offset) (The axes move to point X20 Y30 (point P1) referred to the third origin)
CNC 8070
(REF: 1709)
·87·
Page 88
5.
X Z G54 (G159=1) 0 420 G55 (G159=2) 0 330 G56 (G159=3) 0 240 G57 (G159=4) 0 150
X
Z
90 9090
150 240 330
A2A3A4
90
A1
420
G54G55G56G57
Programming manual.
ORIGIN SELECTION
Zero offsets (G54-G59/G159)
N100 V.A.ORGT[1].X=0 V.A.ORGT[1].Z=420 N110 V.A.ORGT[2].X=0 V.A.ORGT[2].Z=330 N100 V.A.ORGT[3].X=0 V.A.ORGT[3].Z=240 N100 V.A.ORGT[4].X=0 V.A.ORGT[3].Z=150
N100 G54 (It applies the first absolute zero offset)
··· (Machining of profile A1) N200 G55 (It applies the second absolute zero offset)
··· (Machining of profile A2) N300 G56 (It applies the third absolute zero offset)
··· (Machining of profile A3) N200 G56 (It applies the fourth absolute zero offset)
··· (Machining of profile A4)
Only one zero offset may be active at a time; therefore, when applying a zero offset, the previous one will be canceled. When programming G53, the zero offset currently active will be canceled.
The function corresponding to the selected zero offset may be programmed in any block of the program. When added to a block with path information, the zero offset will be applied before executing the programmed movement.
Considerations
CNC 8070
(REF: 1709)
·88·
A zero offset, by itself, does not cause any axis movement. When homing an axis in JOG mode, the absolute zero offset for that axis is canceled.
Properties of the functions
Functions G54, G55, G56, G57, G58, G59 and G159 are modal and incompatible with each other and with G53 and G92.
On power-up, the CNC assumes the zero offset that was active when the CNC was turned off. On the other hand, the zero offset is neither affected by functions M02 and M30 nor by RESETTING the CNC.
Page 89
Programming manual.
5.5.1 Variables 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/W Meaning.
(V.)[ch].A.ORG.xn R Value of the active zero offset (absolute G159 +
(V.)[ch].A.ADDORG.xn R Value of the active incremental zero offset (G158). (V.)[ch].A.ORGT[nb].xn R/W Offset 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/W Meaning.
(V .)[ch].A.ORG .xn R V alue of the active zero offset (coarse absolute G159 +
(V.)[ch].A.ADDORG.xn R Value of the active incremental zero offset (G158). (V .)[ch].A.COARSEORG.xn R V alue of the active absolute zero offset (G159), coarse
(V .)[ch].A.FINEORG.xn R Value of the active absolute zero offset (G159), fine part. (V.)[ch].A.ORGT[nb].xn R/W Offset set in the zero offset [nb]; co arse part plus fine
(V.)[ch].A.COARSEORGT[nb].xn R/W Offset set in the zero offset [nb]; coarse part. (V.)[ch].A.FINEORGT[nb].xn R/W Offset 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.Z Z axis. V.A.ADDORG.3 Axis with logic number ·3·. V.[2].A.COARSEORG.3 Axis with index ·3· in the channel ·2·. V.[2].A.FINEORG.3 Axis with index ·3· in the channel ·2·. V.A.ORGT[1].Z Zero offset G54 (G159=1). Z axis. V.A.ORGT[1].Z Zero offset G54 (G159=1). Z axis. V.A.COARSEORGT[4].3 Zero offset G57 (G159=4). Axis with logic number ·3·. V.[2].A.FINEORGT[9].3 Zero offset G159=9. Axis with index ·3· in the channel ·2·.
CNC 8070
(REF: 1709)
·89·
Page 90
5.
X Y G54 (G159=1) 30 20 G55 (G159=2) 120 20
Y
X
65
W
WW
W
50
20
20 40 60 120
1
2 3
4
X Z G54 (G159=1) 0 420 G55 (G159=2) 0 330
X
Z
90 9090
150 240 330
A2A3A4
90 A1
420
G54
G158
G158
G55
G158
Programming manual.
5.5.2 Incremental zero offset (G158)
When applying an incremental zero offset, the CNC adds it to the absolute zero offset active at a time.
Programming
Incremental zero offset are defined by program using function G158 followed by the values of the zero offset to be applied on each axis. To cancel the incremental zero of fset, program function G158 without axes in the block. To cancel the incremental zero offset only on particular axes, program a 0 (zero) incremental offset for each one of them.
ORIGIN SELECTION
Zero offsets (G54-G59/G159)
CNC 8070
N100 G54 (It applies the first zero offset)
··· (Machining of profile 1) N200 G158 X20 Y45 (Apply incremental zero offset)
··· (Machining of profile 2) N300 G55 (It applies the second zero offset. G158 stays active)
··· (Machining of profile 3) N400 G158 (Cancel incremental zero offset. G55 stays active)
··· (Machining of profile 4)
(REF: 1709)
·90·
N100 G54 (It applies the first absolute zero offset)
··· (Machining of profile A1) N200 G158 Z-90 (Apply incremental zero offset)
Page 91
Programming manual.
Y
X
80
W
50
20
20 40 70 120
W
W
W
W
M
X Y
G54 (G159=1) 20 20
··· (Machining of profile A2) N300 G55 (It applies the second absolute zero offset)
··· (Machining of profile A3) N200 G158 Z-180 (It applies the second incremental zero offset)
··· (Machining of profile A4)
Only one incremental zero may be active at a time for each axis; therefore, applying an incremental zero offset on an axis cancels the one that was active on that axis. The offsets on the rest of the axes are not affected.
(The incremental zero offset stays active)
5.
ORIGIN SELECTION
Zero offsets (G54-G59/G159)
N100 G54 (Apply absolute zero offset) N200 G158 X20 Y60 (It applies the first incremental zero offset) N300 G158 X50 Y30 (It applies the second incremental zero offset) N400 G158 X100 (It applies the third incremental zero offset) N500 G158 Y0 (It applies the fourth incremental zero offset) N600 G158 X0 (Cancel incremental zero offset)
The incremental zero offset is not canceled after applying a new absolute zero offset (G54­G59 or G159).
Considerations
An incremental zero offset, by itself, does not cause any axis movement. When homing an axis in JOG mode, the incremental zero offset for that axis is canceled.
Function properties
Function G158 is modal. On power-up, the CNC assumes the incremental zero offset that was active when the CNC
was turned off. On the other hand, the incremental zero offset is neither affected by functions M02 and M30 nor by RESETTING the CNC.
CNC 8070
(REF: 1709)
·91·
Page 92
5.
ORIGIN SELECTION
Zero offsets (G54-G59/G159)
Programming manual.
5.5.3 Excluding axes in the zero offset (G157)
Excluding axes allows to select on to which axes the next absolute zero offset will not be applied. After applying the zero offset, the programmed axis exclusion is canceled and it has to be programmed again in order to apply it again.
Activation
Axis exclusion must be programmed using function G157 followed by the axes and the value indicating whether that axis is excluded (<axis>=1) or not (<axis>=0).
The exclusion may also be activated by programming only the axes affected by the exclusion after function G157.
The exclusion and the zero offset may be programmed in the same block. In that case, the exclusion will be activated before applying the zero offset.
G55
(It applies the second zero offset on all the axes)
G157 X Z
(Activation of the exclusion on the X-Z axes)
G57
(It applies the fourth zero offset, except on the X-Z axes. Those axes keep the previous zero offset)
··· G159=8
(It applies the eighth zero offset on all the axes)
G59 G157 Y
(It applies the sixth zero offset, except on the Y axis. That axis keeps the previous zero offset)
··· G54
(It applies the first zero offset on all the axes)
Excluding axes does not affect the active zero offsets. If an axis is excluded, when applying a new zero offset, the CNC maintains the one that was active for that axis.
Considerations
Excluding axes does not affect the coordinate preset or the incremental zero offsets which are always applied on to all the axes. Likewise, neither fixture offsets nor PLC offsets are affected.
Function properties
Function G157 is modal and it remains active until an absolute zero offset is applied. On power-up or after an EMERGENCY, the CNC does not assume any axis exclusion.
CNC 8070
(REF: 1709)
·92·
Page 93
Programming manual.
Y
X
Ow
O
M
O
F
Y
X

5.6 Zero offset cancellation (G53)

Executing function G53 cancels the active zero offset resulting either from a preset (G92) or from a zero offset, including the incremental offset and the defined axis exclusion. It also cancels the zero offset due to a probing operation.
Fixture offsets and PLC offsets are not affected by this function. Contrary to the #MCS and #MCS ON/OFF instructions that always execute movements
referred to machine zero, function G53 allows to execute movements referred to the fixture zero (if it is active).
N10 V.G.FIX=1 (Activate fixture offset. Program with respect to OF) N20 G54 (Apply the zero offset. Program with respect to OW) N30 #MCS X20 Y20 (Activate machine coordinate system. Program with respect to OM) N40 G01 X60 Y0 (Program with respect to OW) N50 G53 (Cancel zero offset G54. Program with respect to OF)
5.
ORIGIN SELECTION
Zero offset cancellation (G53)
Function G53 may be programmed in any block of the program. When added to a block with path information, the offset or preset is canceled before executing the programmed movement.
Considerations
Function G53, by itself, does not cause any axis movement.
Function properties
Function G53 is modal and incompatible with function G92, zero offsets and probing.
CNC 8070
(REF: 1709)
·93·
Page 94
5.
Y
X
30
35
P3
P1
P2
P0
ORIGIN SELECTION
Programming manual.

5.7 Polar origin preset (G30)

Function G30 may be used to preset any point of the wo rk plane as th e new polar origin . If not selected, it assumes as polar origin the origin of the active reference system (part zero).
Programming
The polar origin preset must be programmed alone in the block. The programming format is "G30 I J", where:
They define the abscissa and ordinate of the new polar origin. They must be defined in absolute
I, J
coordinates referred to part zero. When programmed, both parameters must be programmed. If not programmed, it will assume the current tool position as the polar origin.
Therefore, function G30 may be programmed as follows:
G30 I J It assumes as the new polar origin the point whose abscissa is "I" and ordinate "J" referred
to part zero.
G30 The current tool position is assumed as the new polar origin.
Polar origin preset (G30)
CNC 8070
Assuming that the starting point is X0 Y0, you get:
G30 I35 J30 (Preset P3 as the polar origin) G90 G01 R25 Q0 (Point P1) G03 Q90 (Point P2) G01 X0 Y0 (Point P0) M30
(REF: 1709)
·94·
Page 95
Programming manual.
X
Z
P0
50
80
90
130
170
P1
P2
P3
P5
P4P6
90
40
G18 G151 ; Main plane Z-X, and programming in diameters. G90 X180 Z50 ; Point P0, programming in diameters. G01 X160 ; Point P1, in a straight line (G01). G30 I90 J160 ; Presets P5 as polar origin. G03 Q270 ; Point P2, in arc (G03). G01 Z130 ; Point P3, in a straight line (G01). G30 I130 J0 ; Presets P6 as polar origin. G02 Q0 ; Point P4, in arc (G02).
5.
ORIGIN SELECTION
Polar origin preset (G30)
Function properties
The G30 function is modal. The polar origin stays active until another value is preset or the work plane is changed. When changing the work plane, it assumes the part zero of that plane as the new polar origin.
On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC assumes the currently selected part zero as the new polar origin.
CNC 8070
(REF: 1709)
·95·
Page 96
5.
Programming manual.
ORIGIN SELECTION
Polar origin preset (G30)
CNC 8070
(REF: 1709)
·96·
Page 97

TECHNOLOGICAL FUNCTIONS

6.1 Machining feedrate (F)

The machining feedrate may be selected by programmed using the "F" code which remains active until another value is programmed. The programming units depend on the active work mode (G93, G94 or G95) and the type of axis being moved (linear or rotary).
G94 - Feedrate in millimeters/minute (inches/minute). G95 - Feedrate in millimeters/revolution (inches/revolution). G93 - Machining time in seconds.
The programmed "F" is effective in linear (G01) or circular (G02, G03) interpola tions. Movements in G00 (rapid traverse) are executed in rapid regardless of the programmed "F" value.
6
Movement without programmed feedrate.
In principle, the CNC will show the corresponding error when programming a movement in G01/G02/G03 without having set a feedrate.
Optionally, the manufacturer may have configured the CNC to make the movements at the maximum machining feedrate, set by machine parameter MAXFEED.
Feedrate limitation.
The manufacturer may have limited the maximum feedrate with machine parameter MAXFEED. When trying to exceed the maximum feedrate via part-program, via PLC or from the operator panel, the CNC limits the feedrate to the maximum value set without showing any error message or warning.
If this parameter is set to zero, the machining feedrate is not limited and the CNC assumes the one set for G00 as the maximum feedrate.
Variable to limit the feed r ate vi a PLC .
(V.)[n].PLC.G00FEED is a variable that may be written from the PLC to set, at a particular moment and in real time, the maximum feedrate of the channel for any type of movement.
Feedrate regulation.
The programmed feedrate "F" may be varied between 0% and 200% using the sel ector switch on the CNC's operator panel or it may be selected by program or by PLC. However, the maximum override is limited by the machine manufacturer [G.M.P. "MAXOVR"].
CNC 8070
When making movements in G00 (rapid traverse), the feedrate override percentage will be fixed at 100% or it may be varied between 0% and 100% depending on how the machine manufacturer has set [G.M.P. "RAPIDOVR"].
When carrying out threading operations, the feedrate percentage will be fixed at 100% of the programmed feedrate.
(REF: 1709)
·97·
Page 98
6.
Feedrate direction on linear and circular interpolations.
Fx
F x
x
2
y
2
+
------------------------------------------- -
=
Fy
F y
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 inte rpolation, the relatio nship between the components of the feedrate on each axis and the programmed "F" is the same as between the displacement of each axis and the resulting programmed displacement.
Machining feedrate (F)
TECHNOLOGICAL FUNCTIONS
CNC 8070
When rotary axes are involved in the interpolations, the feedrate of these axes is calculated so the beginning and the end of their movement coincides with the beginning and the end of the main axes. If the feedrate calculated for the rotary axis is greater than the maximum allowed, the CNC will adapt the programmed "F" so the rotary axis can turn at its maximum speed.
(REF: 1709)
·98·
Page 99
Programming manual.

6.2 Feedrate related functions

6.2.1 Feedrate 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:
G94 Feedrate in millimeters/minute (inches/minute ). G95 Feedrate in millimeters/revolution (inches/revol ution). G93 Machining 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:
Linear axes Rotary axes
G94 millimeters (inches)/minute degrees/minute G95 millimeters (inches)/revolution degrees/revolution G93 seconds seconds
G94 Feedrate in millimeters/minute (inches/minute).
After executing G94, the CNC interprets that the feedrates programmed with the "F" code are in millimeters/minute (inches/minute). If the moving axis is rotary, the CNC interprets that the programmed feedrate is in degrees/minute.
6.
Feedrate related functions
TECHNOLOGICAL FUNCTIONS
G95 Feedrate in millimeters/revolution (inches/revolution)
After executing G95, the CNC interprets that the feedrates programmed with the "F" code are in mm/rev (inches/rev) of the master spindle of the channel. If the moving axis is rotary, the CNC interprets that the programmed feedrate is in degrees/revolution.
If the spindle does not have an encoder, the CNC will use the programmed theoretical rpm to calculate the feedrate. This function does not affect the movements in G00 which are always executed in millimeters/minute (inches/minute).
G93 Machining time in seconds
After executing G93, the CNC interprets that the movements must be carried out in the time period (seconds) indicated by the "F" code.
This function does not affect the movements in G00 which are always executed in millimeters/minute (inches/minute).
Properties of the functions
Functions G93, G94 and G95 are modal and incompatible with each other. On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC
assumes function G94 or G95 as set by the machine manufacturer [G.M.P. "IFEED"].
CNC 8070
(REF: 1709)
·99·
Page 100
6.
Programming manual.
6.2.2 Feedrate 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:
G108 Feedrate blending at the beginning of the block. G109 Feedrate blending at the end of the block. G193 Interpolating the feedrate.
These functions may be programmed anywhere in the program an d they don't have to go alone in the block.
G108 Feedrate blending at the beginning of the block
Feedrate related functions
TECHNOLOGICAL FUNCTIONS
When G108 is active, the adaptation to the new feedrate (by accelerating or decelerating) takes place at the beginning of the next block and the current block ends at the programmed feedrate "F".
N10 G01 G108 X100 F300 N10 G01 G108 X100 F100 N20 X250 F100 N20 X250 F300
G109 Feedrate blending at the end of the block
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".
CNC 8070
(REF: 1709)
·100·
N10 G01 G109 X100 F300 N10 G01 G109 X100 F100 N20 X250 F100 N20 X250 F300
G193 Interpolating the feedrate
When programming G193, the adaptation to the new feedrate is interpolated linearly during the movement programmed in the block.
N10 G01 X150 F400 N20 G193 X250 F200 N30 X350
Loading...