Fagor CNC 8060 Manual

Add to My manuals
488 Pages

advertisement

Fagor CNC 8060 Manual | Manualzz

CNC 8060

8065

Programming manual.

(Ref: 1901)

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 Spanish and its translations, the wording in the Spanish version shall prevail. The original manual will be labeled with the text "ORIGINAL MANUAL".

MACHINE SAFETY

It is up to the machine manufacturer to make sure that the safety of the machine is enabled in order to prevent personal injury and damage to the CNC or to the products connected to it. On start-up and while validating CNC parameters, it checks the status of the following safety elements. If any of them is disabled, the

CNC shows the following warning message.

• Feedback alarm for analog axes.

• Software limits for analog and sercos linear axes.

• Following error monitoring for analog and sercos axes (except the spindle) both at the CNC and at the drives.

• Tendency test on analog axes.

FAGOR AUTOMATION shall not be held responsible for any personal injuries or physical damage caused or suffered by the CNC resulting from any of the safety elements being disabled.

HARDWARE EXPANSIONS

FAGOR AUTOMATION shall not be held responsible for any personal injuries or physical damage caused or suffered by the CNC resulting from any hardware manipulation by personnel unauthorized by Fagor Automation.

If the CNC hardware is modified by personnel unauthorized by Fagor

Automation, it will no longer be under warranty.

BLANK PAGE

COMPUTER VIRUSES

FAGOR AUTOMATION guarantees that the software installed contains no computer viruses. It is up to the user to keep the unit virus free in order to guarantee its proper operation. Computer viruses at the CNC may cause it to malfunction.

FAGOR AUTOMATION shall not be held responsible for any personal injuries or physical damage caused or suffered by the CNC due a computer virus in the system.

If a computer virus is found in the system, the unit will no longer be under warranty.

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.

All rights reserved. No part of this documentation may be transmitted, transcribed, stored in a backup device or translated into another language without Fagor Automation’s consent. Unauthorized copying or distributing of this software is prohibited.

The information described in this manual may be 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 belong to the corresponding owners.

The use of these marks by third parties for their own purpose could violate the rights of the owners.

It is possible that CNC can execute more functions than those described in its associated documentation; however, Fagor Automation does not guarantee the validity of those applications. Therefore, except under the express permission from Fagor Automation, any CNC application that is not described in the documentation must be considered as "impossible". In any case, Fagor

Automation shall not be held responsible for any personal injuries or physical damage caused or suffered by the CNC if it is used in any way other than as explained in the related documentation.

The content of this manual and its validity for the product described here has been verified. Even so, involuntary errors are possible, hence no absolute match is guaranteed. However, the contents of this document are regularly checked and updated implementing the necessary corrections in a later edition. We appreciate your suggestions for improvement.

The examples described in this manual are for learning purposes. Before using them in industrial applications, they must be properly adapted making sure that the safety regulations are fully met.

·2·

Programming manual.

I N D E X

CHAPTER 1

CHAPTER 2

CHAPTER 3

CHAPTER 4

CHAPTER 5

About the product - CNC 8060 ..................................................................................................... 9

About the product - CNC 8065 ................................................................................................... 13

Declaration of CE conformity and warranty conditions ............................................................... 19

Version history - CNC 8060 ........................................................................................................ 21

Version history - CNC 8065 ........................................................................................................ 25

Safety conditions ........................................................................................................................ 31

Returning conditions ................................................................................................................... 35

CNC maintenance ...................................................................................................................... 37

CREATING A PROGRAM.

1.1

1.2

1.2.1

1.2.2

1.3

1.3.1

1.3.2

1.4

Programming languages................................................................................................ 39

Program structure. ......................................................................................................... 40

Program body............................................................................................................. 41

The subroutines. ........................................................................................................ 42

Program block structure................................................................................................. 43

Programming in ISO code.......................................................................................... 44

High-level language programming. ............................................................................ 46

Programming of the axes............................................................................................... 47

1.5

1.6

1.7

1.8

List of "G" functions........................................................................................................ 48

List of auxiliary (miscellaneous) M functions.................................................................. 51

List of statements and instructions................................................................................. 52

Programming the block labels........................................................................................ 55

1.9

Comment programming. ................................................................................................ 56

1.10

Variables and constants................................................................................................. 57

1.11

Arithmetic parameters.................................................................................................... 58

1.12

Arithmetic and logic operators and functions. ................................................................ 59

1.13

Arithmetic and logic expressions. .................................................................................. 61

MACHINE OVERVIEW

2.1

2.2

2.3

2.3.1

2.4

2.4.1

2.4.2

Axis nomenclature ......................................................................................................... 63

Coordinate system ......................................................................................................... 65

Reference systems ........................................................................................................ 66

Origins of the reference systems ............................................................................... 67

Home search.................................................................................................................. 68

Definition of "Home search" ....................................................................................... 68

"Home search" programming ..................................................................................... 69

COORDINATE SYSTEM

3.1

3.2

3.2.1

3.3

3.4

3.5

3.5.1

3.5.2

3.5.3

Programming in millimeters (G71) or in inches (G70).................................................... 71

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

Rotary axes. ............................................................................................................... 73

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

Programming in radius (G152) or in diameters (G151).................................................. 76

Coordinate programming ............................................................................................... 77

Cartesian coordinates ................................................................................................ 77

Polar coordinates ....................................................................................................... 78

Angle and Cartesian coordinate................................................................................. 80

WORK PLANES.

4.1

4.2

4.2.1

4.2.2

4.3

4.4

About work planes on lathe and mill models.................................................................. 84

Select the main new work planes. ................................................................................. 85

Mill model or lathe model with "trihedron" type axis configuration. ............................ 85

Lathe model with "plane" type axis configuration....................................................... 86

Select any work plane and longitudinal axis. ................................................................. 87

Select the longitudinal axis of the tool............................................................................ 89

ORIGIN SELECTION

5.1

5.2

5.3

Programming with respect to machine zero................................................................... 92

Set the machine coordinate (G174). ............................................................................. 94

Fixture offset .................................................................................................................. 95

CNC 8060

CNC 8065

(R EF : 1901)

·3·

CNC 8060

CNC 8065

(R EF : 1901)

CHAPTER 6

CHAPTER 7

CHAPTER 8

CHAPTER 9

Programming manual.

5.4

5.5

5.5.1

5.5.2

5.5.3

5.6

5.7

Coordinate preset (G92) ................................................................................................ 96

Zero offsets (G54-G59/G159)........................................................................................ 97

Variables for setting zero offsets................................................................................ 99

Incremental zero offset (G158) ................................................................................ 100

Excluding axes in the zero offset (G157) ................................................................. 102

Zero offset cancellation (G53) ..................................................................................... 103

Polar origin preset (G30) ............................................................................................. 104

TECHNOLOGICAL FUNCTIONS

6.2.7

6.2.8

6.3

6.4

6.5

6.6

6.6.1

6.7

6.1

6.2

6.2.1

6.2.2

6.2.3

6.2.4

6.2.5

6.2.6

Machining feedrate (F)................................................................................................. 107

Feedrate related functions ........................................................................................... 109

Feedrate programming units (G93/G94/G95) .......................................................... 109

Feedrate blend (G108/G109/G193) ......................................................................... 110

Constant feedrate mode (G197/G196) .................................................................... 112

Cancellation of the % of feedrate override (G266)................................................... 114

Acceleration control (G130/G131) ........................................................................... 115

Jerk control (G132/G133) ........................................................................................ 117

Feed-Forward control (G134) .................................................................................. 118

AC-Forward control (G135)...................................................................................... 119

Spindle speed (S) ........................................................................................................ 120

Tool number (T) ........................................................................................................... 121

Tool offset number (D)................................................................................................. 124

Auxiliary (miscellaneous) functions (M) ....................................................................... 126

List of "M" functions ................................................................................................. 127

Auxiliary functions (H).................................................................................................. 128

THE SPINDLE. BASIC CONTROL.

7.1

7.1.1

7.2

7.2.1

7.2.2

7.3

7.4

7.5

7.5.1

7.5.2

7.5.3

7.6

The master spindle of the channel............................................................................... 130

Manual selection of a master spindle....................................................................... 132

Spindle speed .............................................................................................................. 133

G192. Turning speed limitation ................................................................................ 134

Constant surface speed ........................................................................................... 135

Spindle start and stop .................................................................................................. 136

Gear change. ............................................................................................................... 138

Spindle orientation. ...................................................................................................... 140

The turning direction for spindle orientation............................................................. 142

M19 function with an associated subroutine. ........................................................... 144

Positioning speed..................................................................................................... 145

M functions with an associated subroutine. ................................................................. 146

PATH CONTROL.

8.3.6

8.3.7

8.3.8

8.3.9

8.3.10

8.3.11

8.4

8.5

8.6

8.1

8.2

8.3

8.3.1

8.3.2

8.3.3

8.3.4

8.3.5

Rapid traverse (G00). .................................................................................................. 147

Linear interpolation (G01). ........................................................................................... 149

Circular interpolation (G02/G03).................................................................................. 155

Cartesian coordinates (Arc center programming). ................................................... 157

Cartesian coordinates (arc radius programming). ................................................... 159

Cartesian coordinates (arc radius pre-programming) (G263). ................................. 161

Polar coordinates. .................................................................................................... 162

Programming example (M model). Polar coordinates.............................................. 164

Programming example (M model). Polar coordinates. ............................................ 165

Programming example (T model). Programming examples. ................................... 166

Polar coordinates. Temporary Polar origin shift to the center of arc (G31).............. 167

Cartesian coordinates. Arc center in absolute coordinates (no-modal) (G06). ........ 168

Cartesian coordinates. Arc center in absolute coordinates (modal) (G261/G262). . 169

Arc correction (G264/G265)..................................................................................... 171

Arc tangent to previous path (G08).............................................................................. 173

Arc defined by three points (G09)................................................................................ 175

Helical interpolation (G02/G03). .................................................................................. 177

TOOL PATH CONTROL. MANUAL INTERVENTION.

9.1

9.2

9.3

9.3.1

9.3.2

9.3.3

9.3.4

9.3.5

9.4

Additive manual intervention (G201/G202).................................................................. 180

Exclusive manual intervention (G200). ........................................................................ 181

Jogging feedrate. ......................................................................................................... 182

Feedrate in continuous jog (#CONTJOG)................................................................ 182

Feedrate in incremental jog (#INCJOG). ................................................................. 183

Feedrate in incremental jog (#MPG)........................................................................ 184

Manual path movement limits (#SET OFFSET)....................................................... 185

Synchronization of coordinates and additive manual offset (#SYNC POS). ............ 186

Variables...................................................................................................................... 187

·4·

Programming manual.

CHAPTER 10 ELECTRONIC THREADING AND RIGID TAPPING.

10.1

Electronic threading with constant pitch (G33) ............................................................ 189

10.1.1

Programming examples (·M· model)........................................................................ 192

10.1.2

Programming examples (·T· model) ........................................................................ 193

10.2

Electronic threading with variable pitch (G34) ............................................................. 195

10.3

Rigid tapping (G63)...................................................................................................... 199

10.4

Withdraw the axes after interrupting an electronic threading (G233)........................... 201

10.4.1

10.4.2

Variables related to G233. ....................................................................................... 204

Programming example. ............................................................................................ 204

CHAPTER 11 GEOMETRY ASSISTANCE

11.1

Square corner (G07/G60) ............................................................................................ 205

11.2

Semi-rounded corner (G50) ......................................................................................... 206

11.3

Controlled corner rounding, radius blend, (G05/G61).................................................. 207

11.3.1

Types of corner rounding ......................................................................................... 208

11.4

Corner rounding, radius blend, (G36) .......................................................................... 212

11.5

Corner chamfering, (G39) ............................................................................................ 214

11.6

Tangential entry (G37) ................................................................................................. 216

11.7

Tangential exit (G38) ................................................................................................... 217

11.8

Mirror image (G11, G12, G13, G10, G14) ................................................................... 218

11.9

Pattern rotation (G73) .................................................................................................. 222

11.10 General scaling factor .................................................................................................. 224

11.11 Work zones. ................................................................................................................. 227

11.11.1

CNC behavior when there are active work zones. ................................................... 228

11.11.2

Set the limits of the work zones (G120/G121/G123)................................................ 229

11.11.3

Enable/disable the work zones (G122). ................................................................... 231

11.11.4

Summary of work zone related variables. ................................................................ 234

CHAPTER 12

CHAPTER 13

CHAPTER 14

ADDITIONAL PREPARATORY FUNCTIONS

12.1

Dwell (G04 / #TIME). ................................................................................................... 235

12.2

Software limits.............................................................................................................. 237

12.2.1

12.2.2

Define the first software limit (G198/G199). ............................................................. 238

Define the first software limit via variables. .............................................................. 240

12.2.3

12.2.4

Define the second software limit via variables. ........................................................ 241

Variables associated with the software limits........................................................... 242

12.3

Turn Hirth axis on and off (G170/G171)....................................................................... 243

12.4

Set and gear change.................................................................................................... 244

12.4.1

12.4.2

Change parameter set of an axis (G112)................................................................. 244

Change the gear and set of a Sercos drive using variables..................................... 245

12.4.3

Variables related to set and gear change. ............................................................... 246

12.5

Smooth the path and the feedrate. .............................................................................. 247

12.5.1

12.5.2

Smooth the path (#PATHND)................................................................................... 247

Smooth the path and the feedrate (#FEEDND). ...................................................... 248

TOOL COMPENSATION

13.1

Tool radius compensation............................................................................................ 251

13.1.1

Location code (shape or type) of the turning tools ................................................... 252

13.1.2

13.1.3

Functions associates with radius compensation ...................................................... 255

Beginning of tool radius compensation .................................................................... 258

13.1.4

13.1.5

Sections of tool radius compensation ...................................................................... 261

Change of type of radius compensation while machining ........................................ 265

13.1.6

Cancellation of tool radius compensation ................................................................ 267

13.2

Tool length compensation............................................................................................ 270

13.3

3D tool compensation. ................................................................................................. 272

13.3.1

Programming the vector in the block........................................................................ 274

CONTROLLING THE EXECUTION AND DISPLAYING THE PROGRAM.

14.1

Conditional block skip (/) ............................................................................................. 275

14.2

Abort the execution of the program and resume it in another block or program. ........ 276

14.2.1

14.2.2

Define the execution resuming block or program (#ABORT)................................... 277

Default point to continue the execution (#ABORT OFF). ......................................... 278

14.3

Block repetition (NR).................................................................................................... 279

14.3.1

Movement block repetition n times (NR/NR0).......................................................... 279

14.3.2

Prepare a subroutine without executing it (NR0). .................................................... 280

14.4

Block group repetition (#RPT)...................................................................................... 281

14.4.1

Programming example. ............................................................................................ 283

14.5

Interrupt block preparation until an event is caused (#WAIT FOR). ............................ 284

14.6

Interrupt block preparation (#FLUSH).......................................................................... 285

14.7

Enable/disable the single-block treatment (#ESBLK/ #DSBLK). ................................. 286

CNC 8060

CNC 8065

(R EF : 1901)

·5·

CNC 8060

CNC 8065

(R EF : 1901)

CHAPTER 15

CHAPTER 16

CHAPTER 17

CHAPTER 18

CHAPTER 19

CHAPTER 20

Programming manual.

14.8

Enable/disable the stop signal (#DSTOP/#ESTOP). ................................................... 287

14.9

Enable/disable the feed-hold signal (#DFHOLD/#EFHOLD). ...................................... 288

14.10 Block skip ($GOTO)..................................................................................................... 289

14.11 Conditional execution ($IF).......................................................................................... 290

14.11.1

Conditional execution ($IF). ..................................................................................... 290

14.11.2

Conditional execution ($IF - $ELSE)........................................................................ 291

14.11.3

Conditional execution ($IF - $ELSEIF). ................................................................... 292

14.12 Conditional execution ($SWITCH)............................................................................... 293

14.13 Block repetition ($FOR) ............................................................................................... 294

14.14 Conditional block repetition ($WHILE)......................................................................... 296

14.15 Conditional block repetition ($DO)............................................................................... 297

SUBROUTINES.

15.1

Executing subroutines from RAM memory. ................................................................. 301

15.2

Definition of the subroutines ........................................................................................ 302

15.3

Subroutine execution. .................................................................................................. 303

15.3.1

LL. Call to a local subroutine.................................................................................... 304

15.3.2

15.3.3

15.3.4

15.3.5

L. Call to a global subroutine. .................................................................................. 304

#CALL. Call to a global or local subroutine.............................................................. 305

#PCALL. Call to a global or local subroutine initializing parameters........................ 306

#MCALL. Modal call to a local or global subroutine................................................. 307

15.3.6

15.3.7

#MDOFF. Turning the subroutine into non-modal. .................................................. 309

#RETDSBLK. Execute subroutine as a single block................................................ 310

15.4

#PATH. Define the location of the global subroutines. ................................................ 311

15.5

OEM subroutine execution. ......................................................................................... 312

15.6

Generic user subroutines (G500-G599). ..................................................................... 314

15.7

Assistance for subroutines........................................................................................... 317

15.7.1

15.7.2

Subroutine help files. ............................................................................................... 317

List of available subroutines..................................................................................... 319

15.8

Interruption subroutines. .............................................................................................. 320

15.8.1

Repositioning axes and spindles from the subroutine (#REPOS). .......................... 321

15.9

Subroutine associated with the start............................................................................ 322

15.10 Subroutine associated with the reset........................................................................... 323

15.11 Subroutines associated with the kinematics calibration cycle. .................................... 324

EXECUTING BLOCKS AND PROGRAMS

16.1

Executing a program in the indicated channel............................................................. 325

16.2

Executing a block in the indicated channel.................................................................. 327

C AXIS

17.1

Activating the spindle as "C" axis................................................................................. 330

17.2

Machining of the face of the part ................................................................................. 332

17.3

Machining of the turning side of the part...................................................................... 334

ANGULAR TRANSFORMATION OF AN INCLINE AXIS.

18.1

Turning angular transformation on and off................................................................... 339

18.2

Freezing (suspending) the angular transformation. ..................................................... 340

18.3

Obtaining information on angular transformation......................................................... 341

TANGENTIAL CONTROL.

19.1

Turning tangential control on and off. .......................................................................... 345

19.2

Freezing tangential control. ......................................................................................... 348

19.3

Obtaining information on tangential control. ................................................................ 350

KINEMATICS AND COORDINATE TRANSFORMATION

20.1

Coordinate systems. .................................................................................................... 352

20.2

Movement in an inclined plane. ................................................................................... 353

20.3

Select a kinematics (#KIN ID)...................................................................................... 354

20.4

Coordinate systems (#CS / #ACS). ............................................................................. 355

20.4.1

20.4.2

20.4.3

20.4.4

Define a coordinate system (MODE1). .................................................................... 359

Define a coordinate system (MODE2). .................................................................... 360

Define a coordinate system (MODE3). .................................................................... 361

Define a coordinate system (MODE4). .................................................................... 362

20.4.5

20.4.6

20.4.7

20.4.8

Define a coordinate system (MODE5). .................................................................... 363

Define a coordinate system (MODE6). .................................................................... 364

Operation with 45º spindles (Huron type). ............................................................... 366

How to combine several coordinate systems........................................................... 368

·6·

Programming manual.

20.5

Tool perpendicular to the inclined plane (#TOOL ORI)................................................ 370

20.5.1

Programming examples. .......................................................................................... 371

20.6

Using RTCP (Rotating Tool Center Point). .................................................................. 373

20.6.1

Programming examples. .......................................................................................... 375

20.7

Correct the implicit tool length compensation of the program (#TLC).......................... 377

20.8

How to withdraw the tool when losing the plane. ......................................................... 378

20.9

Tool orientation in the part coordinate system. ............................................................ 379

20.9.1

Activate tool orientation in the part coordinate system............................................. 379

20.9.2

20.9.3

20.9.4

20.9.5

Cancel tool orientation in the part coordinate system. ............................................. 380

How to manage the discontinuities in the orientation of rotary axes. ....................... 381

Screen for choosing the desired solution. ................................................................ 383

Execution example. Selecting a solution.................................................................. 384

20.10 Selecting the rotary axes that position the tool in type-52 kinematics. ........................ 385

20.11 Transform the current part zero considering the position of the table kinematics........ 386

20.11.1

Process of saving a part zero with the table axes in any position............................ 387

20.11.2

Example to maintain the part zero without rotating the coordinate system.............. 388

20.12 Summary of kinematics related variables. ................................................................... 389

CHAPTER 21 HSC. HIGH SPEED MACHINING.

21.1

Recommendations for machining. ............................................................................... 394

21.2

User subroutines G500-G501 to turn HSC on/off. ....................................................... 395

21.2.1

Alternative example for functions G500-G501 supplied by Fagor............................ 397

21.3

HSC SURFACE mode. Optimization of surface finish. ................................................ 399

21.4

HSC CONTERROR mode. Optimizing the contouring error........................................ 402

21.5

HSC FAST mode. Optimizing the machining feedrate................................................. 404

21.6

Canceling the HSC mode. ........................................................................................... 406

CHAPTER 22

CHAPTER 23

CHAPTER 24

VIRTUAL TOOL AXIS.

22.1

Activate the virtual tool axis. ........................................................................................ 408

22.2

Cancel the virtual tool axis. .......................................................................................... 409

22.3

Variables associated with the virtual tool axis.............................................................. 410

DISPLAYING MESSAGES, WARNINGS AND ERRORS.

23.1

#ERROR. Display an error on the screen.................................................................... 412

23.2

#WARNING / #WARNINGSTOP. Displaying a warning on the screen. ...................... 414

23.3

#MSG. Display a message on the screen.................................................................... 416

23.4

Format identifiers and special characters. ................................................................... 418

23.5

cncError.txt file. List of OEM and user errors and warnings. ....................................... 419

23.6

cncMsg.txt file. List of OEM and user messages. ........................................................ 420

23.7

Summary of the variables. ........................................................................................... 421

DMC (DYNAMIC MACHINING CONTROL).

24.1

Activating the DMC. ..................................................................................................... 424

24.2

Deactivating the DMC. ................................................................................................. 426

24.3

Summary of the variables. ........................................................................................... 427

24.4

Operating with DMC..................................................................................................... 429

24.4.1

24.4.2

24.4.3

DMC operation. ........................................................................................................ 429

DMC status and progress. Automatic mode. ........................................................... 431

Percentage of feedrate (feedrate override). ............................................................. 431

CHAPTER 25

CHAPTER 26

OPENING AND WRITING FILES.

25.1

#OPEN. Open file for writing........................................................................................ 433

25.2

#WRITE. Writing in a file.............................................................................................. 435

25.3

#CLOSE. Close a file. .................................................................................................. 437

25.4

cncWrite.txt file. List of OEM and user messages. ...................................................... 438

PROGRAMMING STATEMENTS.

26.1

Display instructions. Define the size of the graphics area ........................................... 439

26.2

ISO generation............................................................................................................. 442

26.3

Electronic axis slaving.................................................................................................. 445

26.4

Axis parking ................................................................................................................. 446

26.5

Modifying the configuration of the axes of a channel................................................... 448

26.6

Modifying the configuration of the spindles of a channel ............................................. 453

26.7

Spindle synchronization ............................................................................................... 456

26.8

Selecting the loop for an axis or a spindle. Open loop or closed loop ......................... 460

26.9

Collision detection........................................................................................................ 462

26.10 Spline interpolation (Akima) ......................................................................................... 464

CNC 8060

CNC 8065

(R EF : 1901)

·7·

CNC 8060

CNC 8065

(R EF : 1901)

·8·

CHAPTER 27

Programming manual.

26.11 Polynomial interpolation............................................................................................... 467

26.12 Acceleration control ..................................................................................................... 468

26.13 Definition of macros ..................................................................................................... 470

26.14 Communication and synchronization between channels............................................. 472

26.15 Movements of independent axes................................................................................. 475

26.16 Electronic cams. .......................................................................................................... 479

26.17 On line modification of the machine configuration in HD graphics (xca files). ............. 482

CNC VARIABLES.

Programming manual.

ABOUT THE PRODUCT - CNC 8060

BASIC CHARACTERISTICS.

Basic characteristics.

Number of axes.

Number of spindles.

Maximum number of axes and spindles.

Interpolated axes.

Number of tool magazines.

Number of execution channels.

Number of handwheels.

Type of servo system.

Communications.

Integrated PLC.

PLC execution time.

Digital inputs / Digital outputs.

Marks / Registers.

Timers / Counters.

Symbols.

Block processing time.

8060

M FL

3 to 4

1

1

1

5

4

8060

M Power

3 to 6

1 to 2

1

1

7

4

8060

T FL

3 to 4

1 to 2

5

4

1

1

1 to 3

Analog / Sercos Digital

RS485 / RS422 / RS232

Ethernet

8060

T Power

3 to 6

1 to 3

7

4

1 to 2

1 to 2

8060

L

3 to 6

1

1

1

7

4

< 2.0 ms < 1.5 ms

< 1ms/K

1024 / 1024

8192 / 1024

512 / 256

Unlimited

< 2.0 ms < 1.5 ms < 1 ms

Remote modules.

Valid for CNC.

Communication with the remote modules.

Digital inputs per module.

Digital outputs per module.

Analog inputs per module.

Analog outputs per module.

Inputs for PT100 temperature sensors.

Feedback inputs.

(*) Differential TTL / Sinusoidal 1 Vpp

RIOW

8070

8065

8060

CANopen

8

8

4

4

2

RIO5

8070

8065

8060

CANopen

24 / 48

16 / 32

4

4

2

RIO70

8070

8065

- - -

CANfagor

16

16

8

4

- - -

T

I

O

N

D

I

S

C

N

U

E

D

RIOR

8070

8065

8060

CANopen

48

32

- - -

- - -

- - -

RCS-S

8070

8065

8060

Sercos

- - -

- - -

- - -

4

- - -

- - - - 4 (*) - - 4 (**)

(**) TTL / Differential TTL / Sinusoidal 1 Vpp / SSI protocol / FeeDat / EnDat

CNC 8060

CNC 8065

(R EF : 1901)

·9·

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 8060

CNC 8065

(R EF : 1901)

Consult the ordering handbook for information on the software options available for your model.

SOFT 8060 ADDIT AXES

Additional shaft.

Add axes to the default configuration.

SOFT 8060 ADDIT SPINDLES

Additional spindle.

Add spindles to the default configuration.

SOFT 8060 ADDIT TOOL MAGAZ

Additional tool magazine.

Add tool magazines to the default configuration.

SOFT 8060 ADDIT CHANNELS

Additional channel.

Add channels to the default configuration.

SOFT DIGITAL SERCOS

Sercos digital bus.

Sercos digital bus.

SOFT i4.0 CONNECTIVITY PACK

Industry 4.0.

This option allows for the use and capture of data using the

FSYS.

SOFT EDIT/SIMUL

EDISIMU mode (editing and simulation).

It allows for the editing, modification and simulation of a part-program.

SOFT TOOL RADIUS COMP

Radius compensation.

Tool 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.

SOFT 60 F3D GRAPHICS

F3D graphics.

High definition solid 3D graphics for the execution and simulation of part-programs and canned cycles of the editor.

During machining, the F3D graphics display the tool removing the material from the part in real time, allowing for the condition of the part to be seen at all times. F3D graphics can display up to 4 views of the part, where each can be rotated, zoomed in or zoomed out. Measurements can also be made on the part and even sections on the piece from any angle.

SOFT 60 IIP CONVERSATIONAL

Interactive Icon-based Pages (conversational mode).

IIP or conversational mode is specifically designed for people without any prior programming knowledge or for those that are not familiarized with Fagor CNC's.

Working in conversational mode is easier than in ISO mode, as it ensures proper data entry and minimizes the number of operations to be defined. There is no need to work with part-programs.

SOFT 60 RTCP

Dynamic RTCP (Rotating Tool Center Point).

The dynamic RTCP option is required for interpolation machining with 4, 5 or 6 axis.

SOFT 60 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 60 Y AXIS

Y axis for lathe.

It activates the kinematics for working with the Y axis and the associated canned cycles.

·10·

Programming manual.

SOFT 60 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 60 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 60 HSSA I MACHINING SYSTEM

High Speed Surface Accuracy.

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 60 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 60 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) and probe canned cycles (which help to measure part surfaces and to calibrate tools).

For the laser model, it only activates the non-cycle function

G100.

SOFT 60 CONV USER CYCLES

Conversational user cycles.

Incorporation of user cycles in conversational mode.

SOFT 60 PROGTL3

ProGTL3 programming language.

Another language apart from ISO for the programming of profiles using a geometric language without the need to use external CAD systems. This language allows for program functions to define lines and circles which define the points of intersection on a profile, in addition to macros for the creation of solids defined by a flat profile and one or more section profiles.

SOFT 60 PPTRANS

Part-program translator.

The program translator may be used to convert programs written in other languages into Fagor ISO codes.

SOFT THIRD PARTY CANOPEN

Third-party CANopen.

Enables the use of non-Fagor CANopen modules.

SOFT MAB SYSTEM.

MAB drives.

Sercos connection with MAB drives.

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.

SOFT DMC

Dynamic Machining Control.

DMC adapts the feedrate during machining to maintain the cutting power as close as possible to ideal machining conditions.

SOFT FMC

Fagor Machining Calculator.

The FMC application consists of a database of materials to be machined and machining operations (milling and turning) with an interface to choose suitable cutting conditions for these operations.

SOFT FFC

Fagor Feed Control.

During the execution of a canned cycle of the editor, the

FFC function makes it possible to replace the feedrate and speed programmed in the cycle with the active values of the execution, which are acted upon by the feed override and speed override.

SOFT 60/65/70 OPERATING TERMS

Temporary user license.

The "Operating Terms" option activates a temporary user license for the CNC, which is valid until the date determined by the OEM.

SOFT MANUAL NESTING

Manual nesting

Nesting consists of creating a pattern on the sheet material using previously defined figures (in dxf, dwg or parametric files), so as to use most of the sheet as possible. Once the pattern has been defined, the CNC creates a program.

During manual nesting, the operator distributes the parts on top of the sheet material.

CNC 8060

CNC 8065

(R EF : 1901)

·11·

CNC 8060

CNC 8065

(R EF : 1901)

·12·

SOFT AUTO NESTING

Automatic nesting

Nesting consists of creating a pattern on the sheet material using previously defined figures (in dxf, dwg or parametric files), so as to use most of the sheet as possible. Once the pattern has been defined, the CNC creates a program.

During automatic nesting, the application distributes the figures on the sheet material and optimizes the spaces.

Programming manual.

Programming manual.

ABOUT THE PRODUCT - CNC 8065

BASIC CHARACTERISTICS.

Basic characteristics.

Number of execution channels.

Number of axes.

Number of spindles.

Maximum number of axes and spindles.

Number of tool magazines.

Limited to 4 interpolated axes.

Basic characteristics.

Number of execution channels.

Number of axes.

Number of spindles.

Maximum number of axes and spindles.

Number of tool magazines.

Limited to 4 interpolated axes.

Basic characteristics.

Number of handwheels.

Type of servo system.

Communications.

Integrated PLC.

PLC execution time.

Digital inputs / Digital outputs.

Marks / Registers.

Timers / Counters.

Symbols.

Block processing time.

8065 M

Basic

1

3 to 6

1

7

1

Option

8065 T

Basic

1

3 to 5

2

7

1

Option

Pack 1

1

5 to 8

1 to 2

10

1

Option

Pack 1

1 to 2

5 to 7

2

9

1 to 2

Option

8065 M Power

Basic

1

5 to 12

1 to 4

16

1 to 2

Option

Pack 1

1 to 4

8 to 28

1 to 4

32

1 to 4

Option

8065 T Power

Basic

1 to 2

5 to 12

3 to 4

16

1 to 2

Option

Pack 1

1 to 4

8 to 28

3 to 4

32

1 to 4

Option

8065 M 8065 M Power 8065 T

1 to 12

8065 T Power

Analog / Digital Sercos / Digital Mechatrolink

RS485 / RS422 / RS232

Ethernet

< 1ms/K

1024 / 1024

8192 / 1024

512 / 256

Unlimited

< 1 ms

CNC 8060

CNC 8065

(R EF : 1901)

·13·

CNC 8060

CNC 8065

(R EF : 1901)

·14·

Programming manual.

Remote modules.

Valid for CNC.

Communication with the remote modules.

Digital inputs per module.

Digital outputs per module.

Analog inputs per module.

Analog outputs per module.

Inputs for PT100 temperature sensors.

Feedback inputs.

(*) Differential TTL / Sinusoidal 1 Vpp

RIOW

8070

8065

8060

8

8

4

4

2

- - -

RIO5

8070

8065

8060

24 / 48

16 / 32

4

4

2

- - -

RIO70

8070

8065

- - -

CANopen CANopen CANfagor

16

16

8

4

- - -

4 (*)

T

I

O

N

D

I

S

C

N

U

E

D

RIOR

8070

8065

8060

CANopen

48

32

- - -

- - -

- - -

- - -

RCS-S

8070

8065

8060

Sercos

- - -

- - -

- - -

4

- - -

4 (**)

(**) TTL / Differential TTL / Sinusoidal 1 Vpp / SSI protocol / FeeDat / EnDat

Customizing (on an open system only).

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

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.

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 i4.0 CONNECTIVITY PACK

Industry 4.0.

This option allows for the use and capture of data using the

FSYS.

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 when installing this type of application, even if they are Office files. 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 EDIT/SIMUL

EDISIMU mode (editing and simulation).

It allows for the editing, modification and simulation of a part-program.

SOFT DUAL-PURPOSE (M-T)

Dual-purpose machine.

A dual-purpose machine allows for both milling and turning cycles. On lathes with a Y axis, it allows making pockets, bosses and even irregular pockets with islands during milling cycles. Turning cycles can be used by milling machines which have a rotary axis that functions as a C axis.

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.

This feature requires the MP-PLUS (83700201) processor.

SOFT TOOL RADIUS COMP

Compensación de radio.

Tool 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 IIP CONVERSATIONAL

Interactive Icon-based Pages (conversational mode).

IIP or conversational mode is specifically designed for people without any prior programming knowledge or for those that are not familiarized with Fagor CNC's.

Working in conversational mode is easier than in ISO mode, as it ensures proper data entry and minimizes the number of operations to be defined. There is no need to work with part-programs.

CNC 8060

CNC 8065

(R EF : 1901)

·15·

CNC 8060

CNC 8065

(R EF : 1901)

SOFT PROFILE EDITOR

Profile editor.

Allows for the part profiles to be edited graphically and to import dxf files.

SOFT HD GRAPHICS

HD graphics.

High definition solid 3D graphics for the execution and simulation of part-programs and canned cycles of the editor.

During machining, the HD graphics display, in real time, the tool removing the material from the part, allowing the condition of the part to be seen at all times. HD graphics can display up to 4 views of the part, where each can be rotated, zoomed in or zoomed out. Measurements can also be made on the part and even sections on the piece from any angle.

In a multi-channel system, this feature requires the MP-

PLUS (83700201) processor.

SOFT RTCP

Dynamic RTCP (Rotating Tool Center Point).

The dynamic RTCP option is required for interpolation machining with 4, 5 or 6 axis.

This feature requires the MP-PLUS (83700201) processor.

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 Y AXIS

Y axis for lathe.

It activates the kinematics for working with the Y axis and the associated canned cycles.

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 CN C configuration takes into consideration the synchronization of 2 axes or 2 spindles. Once synchronized, only the master displays and programs the element.

SOFT KINEMATIC CALIBRATION

Kinematics calibration.

This work mode may be used to calibrate kinematics for the first time and to re-calibrate it every so often to correct any possible deviations originated by the day-to-day machine work.

Programming manual.

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.

"Tangential 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 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) and probe canned cycles (which help to measure part surfaces and to calibrate tools).

SOFT CONV USER CYCLES

Conversational user cycles.

Incorporation of user cycles in conversational mode.

SOFT 70 PROGTL3

ProGTL3 programming language

Another language apart from ISO for the programming of profiles using a geometric language without the need to use external CAD systems. This language allows for program functions to define lines and circles which define the points of intersection on a profile, in addition to macros for the creation of solids defined by a flat profile and one or more section profiles.

SOFT PPTRANS

Part-program translator.

The program translator may be used to convert programs written in other languages into Fagor ISO codes.

SOFT THIRD PARTY CANOPEN

Third-party CANopen.

Enables the use of non-Fagor CANopen modules.

SOFT FVC BASIC

SOFT FVC UP TO 10m3

SOFT FVC MORE TO 10m3

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 3 options, which depend on the size of the machine.

• FVC BASIC: 25-point compensation on each axis.

Quick calibration (time), but less precise than the other two, but sufficient for the desired tolerances.

• FVC UP TO 10m3: Volume compensation up to 10 m³.

More accurate than FVC BASIC, but requires a more accurate calibration using a Tracer or Tracker laser).

• FVC MORE TO 10m3: Volume compensation greater than 10 m³. More accurate than FVC BASIC, but

·16·

Programming manual. requires a more accurate calibration using a Tracer or

Tracker laser.

This feature is not available for the “Power” model.

SOFT DMC

Dynamic Machining Control.

DMC adapts the feedrate during machining to maintain the cutting power as close as possible to ideal machining conditions.

SOFT FMC

Fagor Machining Calculator.

The FMC application consists of a database of materials to be machined and machining operations (milling and turning) with an interface to choose suitable cutting conditions for these operations.

SOFT FFC

Fagor Feed Control.

During the execution of a canned cycle of the editor, the

FFC function makes it possible to replace the feedrate and speed programmed in the cycle with the active values of the execution, which are acted upon by the feed override and speed override.

SOFT 60/65/70 OPERATING TERMS

Temporary user license.

The "Operating Terms" option activates a temporary user license for the CNC, which is valid until the date determined by the OEM.

CNC 8060

CNC 8065

(R EF : 1901)

·17·

·18·

BLANK PAGE

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 FAGOR’s corporate website.

http://www.fagorautomation.com

. (Type of file: General sales-warranty conditions.

CNC 8060

CNC 8065

(R EF : 1901)

·19·

·20·

BLANK PAGE

Programming manual.

VERSION HISTORY - CNC 8060

Here is a list of the features added to each manual reference.

Ref. 1402

Software V01.00

First version.

Ref. 1405

Software V01.00

HSC. New SURFACE mode.

Generic user subroutines.

Generic user subroutines pre-configured by Fagor.

"program-start" subroutine.

Override of the dynamics for HSC.

New name for the (V.)G.CONTERROR variable

Maximum frequency generated on the machining path.

ModBUS server.

CANopen bus communication frequency.

Feedback type associated with the handwheel input,

Detailed CNC status in jog mode. New values.

Activate the Mechatrolink drive options.

Enable the hardware alarm (alarm pin) of the local feedback.

Maximum position difference allowed to consider that there is no need to home again.

• #HSC instruction.

• Functions G500-G599.

• G500-G501 functions.

• Variable: (V.)G.DYNOVR

• Variable: (V.)G.ACTROUND

• Variable: (V.)MPG.MAXFREQ

• Variables: (V.)MPG.MODBUSSVRTCP

(V.)MPG.MODBUSSVRRS

(V.)MPG.MODSVRID

(V.)MPG.MODBRATE

• Variable: (V.)MPG.CANOPENFREQ

• Variable: (V.)MPMAN.HWFBTYPE[hw]

• Variable: (V.)G.CNCMANSTATUS

• Variable: (V.)MPA.OPTION.xn

• Variable: (V.)MPA.HWFBACKAL[set].xn

• Variable: (V.)MPA.MAXDIFREF[set].xn

Ref. 1412

Software V01.10

Orient the tool in the part coordinate system.

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.

Number of axes of the active kinematics.

Current position of the fourth rotary axis of the kinematics.

Position to be occupied by the fourth rotary axis of the kinematics in order to position the tool perpendicular to the inclined plane (solution 1 and 2).

Status of the #CSROT function.

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.

• Instructions #CSROT, #DEFROT.

• Instruction #SELECT ORI.

• Variable: (V.)G.SELECTORI

• Instruction #KINORG.

• Variable: (V.)G.KINTYPE

• Variable: (V.)G.NKINAX

• Variable: (V.)G.POSROTO

• Variable: (V.)G.TOOLORIO1

(V.)G.TOOLORIO2

• Variable: (V.)G.CSROTST

• 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]

CNC 8060

CNC 8065

(R EF : 1901)

·21·

CNC 8060

CNC 8065

Programming manual.

Software V01.10

Position of the part zero transformed by the instruction #KINORG, considering the table position, on the first three axes of the channel.

Allow the user modify the kinematics parameters.

• Variables: (V.)G.KINORG1

(V.)G.KINORG2

(V.)G.KINORG3

• Variables: (V.)MPK.TDATAFkin[nb]

(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]

Software V01.10.03

Coordinate programming. Angle and Cartesian coordinate.

Electronic threading with variable pitch.

Withdraw the axes after interrupting an electronic threading.

Assume IPLANE as active plane after M30/RESET or keep the active one.

Detailed CNC status in automatic mode. New value $100000.

Volts of the local analog output [n] (only at the 8060).

Volts of output [n] of the RCS-S module.

• Function G34.

• Function G233.

• Variable: (V.)G.RETREJ

• Variable: (V.)G.CNCAUTSTATUS

• Variable: (V.)G.ANALO[n]

• Variable: (V.)G.ANASO[n]

Ref. 1505

Software V01.30

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).

3D tool compensation.

HSC. SURFACE mode. New commands RE, SF and AXF.

HSC. FAST mode. New commands RE, SF and AXF.

HSC. CONTERROR mode. New commands RE and AXF.

HSC. SURFACE mode. New command OS.

HSC. If the RE command is not programmed, the amount of error allowed 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.

System spindles involved in the subroutine associated with M3, M4, M5, M19 and M41-M44.

Active canned cycle.

Status of probe ·1·.

Probing movement. Value measured at the master spindle of the channel.

End of axis and spindle repositioning at the starting point.

End of axis and spindle repositioning at the interruption point.

Time remaining to activate the laser output.

Time remaining to deactivate the laser output.

Amount of time that PWM stays active in burst mode.

Final PWM status once burst mode is over.

Percentage of loop time (cycle time) used by the PLC.

Percentage of loop time (cycle time) used by the dynamic preparation of the tool path.

Value of the local count-up 1 input.

Value of the local count-up 2 input.

Actual (real) CNC feedrate in G95.

Real feedrate on the tool path.

Feedrate active in the block.

Active tool. Code of the tool offset type.

Tool being prepared. Code of the tool offset type.

Tool being prepared. Tool-holder orientation.

Solution 2 is selected in instruction #CS or #ACS.

CNC model.

CNC sub-version number (decimal value).

Number of the line of the program where the cursor is.

Orientation smoothing of the rotary axes working with RTCP.

Amount of error allowed on the axis for the HSC mode.

• Statement: #DGWZ.

• Statement: #DEFGRAPH.

• Statement: #COMP3D.

• Statement: #HSC.

• Statement: #HSC.

• Statement: #HSC.

• Statement: #HSC.

• Statement: #HSC.

• Statement: #ABORT

• Statement: #ISO

• Variable: (V.)G.SUBMSPDL

• Variable: (V.)G.ACTIVECYLE

• Variable: (V.)G.PRBST

• Variable: (V.)G.PLMEAS4

• Variable: (V.)G.ENDREPINI

• Variable: (V.)G.ENDREPINT

• Variable: (V.)G.LASEROTMON

• Variable: (V.)G.LASEROTMOFF

• Variable: (V.)G.PWMBTIME

• Variable: (V.)G.PWMBEND

• Variable: (V.)G.PLCTIMERATE

• Variable: (V.)G.TRAYTIMERATE

• Variable: (V.)G.LCOUNTER1

• Variable: (V.)G.LCOUNTER2

• Variable: (V.)G.FREALPR

• Variable: (V.)G.ACTFEED

• Variable: (V.)G.IPOFEED

• Variable: (V.)TM.TOOLTYP[ofd]

• Variable: (V.)G.TOOLTYP

• Variable: (V.)G.FIXORI

• Variable: (V.)G.TORISOL2

• Variable: (V.)G.CNCMODEL

• Variable: (V.)G.SUBVERSIO

• Variable: (V.)G.CURSORLINE

• Variable: (V.)MPG.ORISMOOTH

• Variable: (V.)A.ACTROUND.xn

(R EF : 1901)

·22·

Programming manual.

Ref. 1512

Software V01.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]

(V.)G.ZONECIRAX2[k]

• Statement: #PATHND

• Statement: #FEEDND

Smooth the path.

Smooth the path and the feedrate.

Ref. 1604

Software V01.50

The CNC permits setting the machine coordinate for gantry axes.

The CNC permits executing seven subroutines per block.

• Function: G174.

Ref. 1709

Software V01.60.00

Subroutine associated with the reset.

Subroutine associated with the tool calibration cycle.

New search criteria for help files associated with the subroutines.

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.

User subroutines (G8000-G8999) and modal subroutines.

Calls to subroutines with parameter initialization allow the 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.

Non-modal function G00.

Being the CNC in SETUP mode, the OEM subroutines with an fst extension will be loaded into RAM memory during the preparation of the blocks.

• Subroutine: PROGRAM_RESET

• Subroutine: KinCal_Begin.nc

KinCal_End.nc

• File: pcall.txt

• 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.

• Functions: G500, G501, etc.

• Instructions: #MCALL

• Functions: G8000, G8001, etc.

• Instructions: #MCALL

• Functions: G500, G501, etc.

G180, G181, etc.

G380, G381, etc.

• Instructions: #PCALL, #MCALL

• Functions: G2, G3

• Functions: G0

Ref. 1807

Software V01.70

DMC function.

Opening and writing files.

• Open file for writing.

• Writing in a file.

• Close a file.

• The OEM or the user can define a text group for the cncWrite.txt file.

CNC messages.

• Format identifiers (%D, %i, %u, etc).

• Define messages using a number.

• The OEM or the user can define a text group for the cncMsg.txt file.

Errors and warnings.

• Format identifiers (%D, %i, %u, etc).

• Change location of cncError.txt file.

• Programming a warning with value 0 clears all displayed warnings

Work zones. The command "E" must always be placed after the function G122; otherwise the CNC will interpret it as the name of an axis.

• Instructions: #DMC ON, #DMC OFF

• Instructions: #OPEN, #WRITE, #CLOSE

• Statement: #MSG

• Instructions: #ERROR

#WARNING

#WARNINGSTOP

• Function G122.

CNC 8060

CNC 8065

(R EF : 1901)

·23·

CNC 8060

CNC 8065

(R EF : 1901)

·24·

Ref. 1901

Software V06.00

New command to select the file type (TYPE command).

Programming manual.

• Statement: #OPEN

Programming manual.

VERSION HISTORY - CNC 8065

Here is a list of the features added to each manual reference.

Ref. 1103

First version.

Ref. 1201

Software V04.21

New model LCD-10K.

Software V04.22

Set the zero offsets with a coarse part and a fine part.

• Variables: (V.)MPMAN.JOGKEYDEF[jk]

(V.)MPMAN.USERKEYDEF[uk]

• Variables: (V.)A.ADDORG.xn

(V.)A.COARSEORG.xn

(V.)A.FINEORG.xn

(V.)A.COARSEORGT[nb].xn

(V.)A.FINEORGT[nb].xn

Cancel mirror image (G11/G12/G13/G14) after M30 and reset.

Ref. 1209

Software V04.24

Additional negative command pulse for analog axes.

The SPDLEREV mark (reverse turning direction) affects the spindle in M19.

Functions M02, M30 and reset do not cancel the speed limit function G192.

Functions M02, M30 and reset do not cancel the constant surface speed

(CSS) function.

• Variable: (V.)MPA.BAKANOUT[set].xn

• Variable: (V.)MPA.M19SPDLEREV.xn

• Function G192.

• Function G96.

Ref. 1301

Software V04.25

Synchronized switching.

Error programmed in HSC mode.

The HSC FAST mode may be used to adjust the chordal error (parameter E).

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.

• Variables:(V.)G.TON

(V.)G.TOF

(V.)G.PON

(V.)G.POF

• Statement: #SWTOUT

• Variable: (V.)G.CONTERROR

• Statement: #HSC

• Function G95.

Ref. 1305

Software V04.26

Keep the longitudinal axis when changing planes (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".

• Function G17/G18/G19.

CNC 8060

CNC 8065

(R EF : 1901)

·25·

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

Ref. 1309

Software V04.27

Virtual tool axis.

PWM (Pulse-Width Modulation)

Modify the simulation speed via PLC.

Execute subroutine as a single block.

• Statement: #VIRTAX

• Variable: (V.)G.VIRTAXIS

(V.)G.VIRTAXST

(V.)A.VIRTAXOF.xn

• Statement: #PWMOUT

• Variable: (V.)G.PWMON

(V.)G.PWMFREQ

(V.)G.PWMDUTY

(V.)PLC.PWMFREQ

(V.)PLC.PWMDUTY

• Variable: (V.)PLC.SIMUSPEED

• Statement: #RETDSBLK

Ref. 1405

Software V04.27.10

HSC. New SURFACE mode.

Generic user subroutines.

Generic user subroutines pre-configured by Fagor.

"program-start" subroutine.

Override of the dynamics for HSC.

New name for the (V.)G.CONTERROR variable

Maximum frequency generated on the machining path.

Software V05.01

ModBUS server.

• #HSC instruction.

• Functions G500-G599.

• G500-G501 functions.

• Variable: (V.)G.DYNOVR

• Variable: (V.)G.ACTROUND

• Variable: (V.)MPG.MAXFREQ

CANopen bus communication frequency.

Feedback type associated with the handwheel input,

Detailed CNC status in jog mode. New values.

Activate the Mechatrolink drive options.

Enable the hardware alarm (alarm pin) of the local feedback.

Maximum position difference allowed to consider that there is no need to home again.

• Variables: (V.)MPG.MODBUSSVRTCP

(V.)MPG.MODBUSSVRRS

(V.)MPG.MODSVRID

(V.)MPG.MODBRATE

• Variable: (V.)MPG.CANOPENFREQ

• Variable: (V.)MPMAN.HWFBTYPE[hw]

• Variable: (V.)G.CNCMANSTATUS

• Variable: (V.)MPA.OPTION.xn

• Variable: (V.)MPA.HWFBACKAL[set].xn

• Variable: (V.)MPA.MAXDIFREF[set].xn

Ref. 1408

Software V05.10

Orient the tool in the part coordinate system.

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.

Number of axes of the active kinematics.

Current position of the fourth rotary axis of the kinematics.

Position to be occupied by the fourth rotary axis of the kinematics in order to position the tool perpendicular to the inclined plane (solution 1 and 2).

Status of the #CSROT function.

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.

• Instructions #CSROT, #DEFROT.

• Instruction #SELECT ORI.

• Variable: (V.)G.SELECTORI

• Instruction #KINORG.

• Variable: (V.)G.KINTYPE

• Variable: (V.)G.NKINAX

• Variable: (V.)G.POSROTO

• Variable: (V.)G.TOOLORIO1

(V.)G.TOOLORIO2

• Variable: (V.)G.CSROTST

• 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]

·26·

Programming manual.

Software V05.10

Position of the part zero transformed by the instruction #KINORG, considering the table position, on the first three axes of the channel.

Allow the user modify the kinematics parameters.

• Variable: (V.)G.KINORG1

(V.)G.KINORG2

(V.)G.KINORG3

• Variable: (V.)MPK.TDATAFkin[nb]

(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).

3D tool compensation.

HSC. SURFACE mode. New commands RE, SF and AXF.

HSC. FAST mode. New commands RE, SF and AXF.

HSC. CONTERROR mode. New commands RE and AXF.

• Statement: #DGWZ.

• Statement: #DEFGRAPH.

• Statement: #COMP3D.

• #HSC instruction.

• #HSC instruction.

• #HSC instruction.

Ref. 1505

Software V05.31

Coordinate programming. Angle and Cartesian coordinate.

Electronic threading with variable pitch.

Withdraw the axes after interrupting an electronic threading.

Assume IPLANE as active plane after M30/RESET or keep the active one.

Detailed CNC status in automatic mode. New value $100000.

Volts of output [n] of the RCS-S module.

HSC. SURFACE mode. New command OS.

HSC. If the RE command is not programmed, the amount of error allowed 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.

System spindles involved in the subroutine associated with M3, M4, M5, M19 and M41-M44.

Active canned cycle.

Status of probe ·1·.

Probing movement. Value measured at the master spindle of the channel.

End of axis and spindle repositioning at the starting point.

End of axis and spindle repositioning at the interruption point.

Time remaining to activate the laser output.

Time remaining to deactivate the laser output.

Amount of time that PWM stays active in burst mode.

Final PWM status once burst mode is over.

Percentage of loop time (cycle time) used by the PLC.

Percentage of loop time (cycle time) used by the dynamic preparation of the tool path.

Value of the local count-up 1 input.

Value of the local count-up 2 input.

Actual (real) CNC feedrate in G95.

Real feedrate on the tool path.

Feedrate active in the block.

Active tool. Code of the tool offset type.

Tool being prepared. Code of the tool offset type.

Tool being prepared. Tool-holder orientation.

Solution 2 is selected in instruction #CS or #ACS.

CNC model.

CNC sub-version number (decimal value).

Number of the line of the program where the cursor is.

Orientation smoothing of the rotary axes working with RTCP.

Amount of error allowed on the axis for the HSC mode.

• Function G34.

• Function G233.

• Variable: (V.)G.RETREJ

• Variable: (V.)G.CNCAUTSTATUS

• Variable: (V.)G.ANASO[n]

• Statement: #HSC.

• Statement: #HSC.

• Statement: #ABORT

• Statement: #ISO

• Variable: (V.)G.SUBMSPDL

• Variable: (V.)G.ACTIVECYLE

• Variable: (V.)G.PRBST

• Variable: (V.)G.PLMEAS4

• Variable: (V.)G.ENDREPINI

• Variable: (V.)G.ENDREPINT

• Variable: (V.)G.LASEROTMON

• Variable: (V.)G.LASEROTMOFF

• Variable: (V.)G.PWMBTIME

• Variable: (V.)G.PWMBEND

• Variable: (V.)G.PLCTIMERATE

• Variable: (V.)G.TRAYTIMERATE

• Variable: (V.)G.LCOUNTER1

• Variable: (V.)G.LCOUNTER2

• Variable: (V.)G.FREALPR

• Variable: (V.)G.ACTFEED

• Variable: (V.)G.IPOFEED

• Variable: (V.)TM.TOOLTYP[ofd]

• Variable: (V.)G.TOOLTYP

• Variable: (V.)G.FIXORI

• Variable: (V.)G.TORISOL2

• Variable: (V.)G.CNCMODEL

• Variable: (V.)G.SUBVERSIO

• Variable: (V.)G.CURSORLINE

• Variable: (V.)MPG.ORISMOOTH

• Variable: (V.)A.ACTROUND.xn

CNC 8060

CNC 8065

(R EF : 1901)

·27·

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

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]

(V.)G.ZONECIRAX2[k]

• Statement: #PATHND

• Statement: #FEEDND

Smooth the path.

Smooth the path and the feedrate.

Ref. 1604

Software V05.50

The CNC permits setting the machine coordinate for gantry axes.

The CNC permits executing seven subroutines per block.

• Function: G174.

Ref. 1709

Software V05.60.00

Subroutine associated with the reset.

Subroutine associated with the tool calibration cycle.

New search criteria for help files associated with the subroutines.

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.

User subroutines (G8000-G8999) and modal subroutines.

Calls to subroutines with parameter initialization allow the 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.

Non-modal function G00.

Being the CNC in SETUP mode, the OEM subroutines with an fst extension will be loaded into RAM memory during the preparation of the blocks.

• Subroutine: PROGRAM_RESET

• Subroutine: KinCal_Begin.nc

KinCal_End.nc

• File: pcall.txt

• 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.

• Functions: G500, G501, etc.

• Instructions: #MCALL

• Functions: G8000, G8001, etc.

• Instructions: #MCALL

• Functions: G500, G501, etc.

G180, G181, etc.

G380, G381, etc.

• Instructions: #PCALL, #MCALL

• Functions: G2, G3

• Functions: G0

Ref. 1807

Software V01.70

DMC function.

Opening and writing files.

• Open file for writing.

• Writing in a file.

• Close a file.

• The OEM or the user can define a text group for the cncWrite.txt file.

CNC messages.

• Format identifiers (%D, %i, %u, etc).

• Define messages using a number.

• The OEM or the user can define a text group for the cncMsg.txt file.

Errors and warnings.

• Format identifiers (%D, %i, %u, etc).

• Change location of cncError.txt file.

• Programming a warning with value 0 clears all displayed warnings

Work zones. The command "E" must always be placed after the function G122; otherwise the CNC will interpret it as the name of an axis.

• Instructions: #DMC ON, #DMC OFF

• Instructions: #OPEN, #WRITE, #CLOSE

• Statement: #MSG

• Instructions: #ERROR

#WARNING

#WARNINGSTOP

• Function G122.

·28·

Programming manual.

Ref. 1901

Software V06.00

New command to select the file type (TYPE command).

• Statement: #OPEN

CNC 8060

CNC 8065

(R EF : 1901)

·29·

·30·

BLANK PAGE

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 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 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 proper cables.

Avoid electric shocks.

Ground connection.

Do not work in humid environments.

Do not work in explosive environments.

Use the connection cables provided with the unit.

To prevent risks, only use cables and Sercos fiber recommended for this unit.

To 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).

To prevent electrical shock and fire risk, do not apply electrical voltage out of the indicated range.

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.

In order to avoid electrical discharges, always work with a relative humidity (non-condensing).

In order to avoid risks, harm or damages, do not work in explosive environments.

CNC 8060

CNC 8065

(R EF : 1901)

·31·

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

PRECAUTIONS AGAINST DAMAGE TO THE PRODUCT

Work environment.

Install this unit in the proper place.

Enclosures.

Avoid disturbances coming from the machine.

The machine must have all the interference generating elements

(relay coils, contactors, motors, etc.) uncoupled.

Use the proper power supply.

Connecting the power supply to ground.

Use an external regulated 24 Vdc power supply for the keyboard, operator panel and the remote modules.

The zero Volt point of the external power supply must be connected to the main ground point of the machine.

Analog inputs and outputs connection.

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.).

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 electromagnetic 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.

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.

Ambient conditions.

Central unit enclosure.

Power switch.

Use shielded cables connecting all their meshes to the corresponding pin.

Maintain the CNC within the recommended temperature range, both when running and not running. See the corresponding chapter in the hardware manual.

To maintain the right ambient conditions in the enclosure of the central unit, it must meet the requirements indicated by Fagor. See the corresponding chapter in the hardware manual.

This switch must be easy to access and at a distance between 0.7 and

1.7 m (2.3 and 5.6 ft) off the floor.

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.

i

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.

·32·

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 8060

CNC 8065

(R EF : 1901)

·33·

·34·

BLANK PAGE

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 8060

CNC 8065

(R EF : 1901)

·35·

·36·

BLANK PAGE

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 8060

CNC 8065

(R EF : 1901)

·37·

·38·

BLANK PAGE

1.

CREATING A PROGRAM.

1

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 43.

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.

CNC 8060

CNC 8065

(R EF : 1901)

·39·

1.

CNC 8060

CNC 8065

(R EF : 1901)

1.2

Programming manual.

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.

N20

N30

N40

N10

%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 Program

Subroutine

Block

· · ·

Block

Program body

Block

· · ·

Block

Block

·40·

Programming manual.

1.2.1

Program body.

The body of the program has the following structure.

Header

Program blocks

The header indicates the beginning of the body of the program.

The header must be programmed when the program has local subroutines.

It is the main part of the program, the one containing movements, operations, etc.

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).

%0123

%PROGRAM

%PART923R

The header must be programmed when the program contains local subroutines; otherwise, programming the header is optional.

The name defined in the header has nothing to do with the name of the file. The two may be different.

Program body.

The body of the program consists of blocks in charge of executing operations, movements, etc.

End of the program.

The end of the program body is defined by functions "M02" or "M30" and they are equivalent.

There is no need to program these functions; when reaching the end of the program without executing any of them, the CNC ends the execution and shows a warning indicating that they are missing.

M30

M02

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

The CNC selects the first block of the program.

The CNC stops the spindle.

The CNC assumes the initial conditions.

The CNC initializes the cutting conditions.

Yes

Yes

Yes (*)

Yes

W i t h o u t

M02/M30

Yes

No

No

No

(*) Stopping the spindle depends on the setting of machine parameter SPDLSTOP.

1.

CNC 8060

CNC 8065

(R EF : 1901)

·41·

1.

Programming manual.

1.2.2

The subroutines.

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 "15 Subroutines." .

Types of subroutines.

The CNC has two types of subroutines, namely local and global. There is also a third type available, OEM subroutines, that are a special case of a global subroutine defined by the

OEM.

Global subroutines.

The global subroutine is stored in CNC memory as an independent program. This subroutine may be called upon from any program or subroutine being executed.

Local subroutines.

The local subroutine is defined as part of a program. This subroutine may only be called upon from the program where it has been defined.

A program can have several local subroutines; but they all must be defined before the body of the program. A local subroutine can call a second local subroutine with the condition that the calling subroutine be defined after the one being called.

1

2

3

4

%L POINTS

G01 X·· Y·· (Point 2)

G01 X·· Y·· (Point 3)

G01 X·· Y·· (Point 4)

M17

%PROGRAM

G81 X·· Y··

LL POINTS

G81 X·· Y··

LL POINTS

G84 X·· Y··

LL POINTS

G80

M30

(Point 1. Center punching definition)

(call to a subroutine)

(Point 1. Center punching definition)

(call to a subroutine)

(Point 1. Center punching definition)

(call to a subroutine)

CNC 8060

CNC 8065

(R EF : 1901)

·42·

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, $GOTO, #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.

Arithmetic parameters, variables, constants and arithmetic expressions.

Constants, arithmetic parameters, variables and arithmetic expressions may be used from

ISO blocks as well as from high level commands.

1.

CNC 8060

CNC 8065

(R EF : 1901)

·43·

1.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

1.3.1

Programming in ISO code.

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.

The block skip condition is governed by the BLKSKIP1 mark of the PLC. If the mark is active, the CNC will skip the blocks where it is programmed (not executing them) and will go on to the next block.

The control reads various blocks ahead of the one being executed in order to calculate the tool path in advance. The block skip condition will be analyzed at the time when the block is read, i.e. various blocks before execution. If the block skip needs to be analyzed at the time of execution, it is necessary to interrupt the block preparation, by programming the instruction #FLUSH in the previous block.

[LABEL] ·N· Block label.

The labels allow the blocks to be identified. The programming of labels assists in the monitoring of the program and allows block skips and repetitions to be programmed. In this

last case, it is recommended to program the labels alone in the block. See "1.8 Programming the block labels." on page 55.

·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 48.

·X..C· Coordinates of the point.

These functions set the movement of the axes. See "1.4 Programming of the axes." on page

47.

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.

·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.

·44·

Programming manual.

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.

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.

The NR command indicates the number of times a block is to be executed, and it can only be added to blocks when a movement, a canned cycle or a modal subroutine has been

programmed. See "14.3 Block repetition (NR)." on page 279.

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.9 Comment programming." on page 56.

1.

CNC 8060

CNC 8065

(R EF : 1901)

·45·

1.

Programming manual.

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.

/ N— <rest of commands>

·/· Block skip condition.

The block skip condition is governed by the BLKSKIP1 mark of the PLC. If the mark is active, the CNC will skip the blocks where it is programmed (not executing them) and will go on to the next block.

The control reads various blocks ahead of the one being executed in order to calculate the tool path in advance. The block skip condition will be analyzed at the time when the block is read, i.e. various blocks before execution. If the block skip needs to be analyzed at the time of execution, it is necessary to interrupt the block preparation, by programming the instruction #FLUSH in the previous block.

[LABEL] ·N· Block label.

The labels allow the blocks to be identified. The programming of labels assists in the monitoring of the program and allows block skips and repetitions to be programmed. In this

last case, it is recommended to program the labels alone in the block. See "1.8 Programming the block labels." on page 55.

·# $· High-level language commands.

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.9 Comment programming." on page 56.

CNC 8060

CNC 8065

(R EF : 1901)

·46·

Programming manual.

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 - E. 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, E, E1...E9.

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.

Y

X

?

Z

00000.0000

00000.0000

* * * * .* * * *

00000.0000

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.

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.

G14

G45

G74

G92

G100

G101

G112

G130

G132

G134

G135

G145

G158

G170

G171

G198

G199

Instructions.

#MOVE ABS

#MOVE ADD

#MOVE INF

#CAM ON

#CAM OFF

#FOLLOW ON

#FOLLOW OFF

#TOOL AX

#LINK

#UNLINK

#PARK

#UNPARK

#SERVO ON

#SERVO OFF

1.

CNC 8060

CNC 8065

(R EF : 1901)

·47·

1.

CNC 8060

CNC 8065

(R EF : 1901)

1.5

Programming manual.

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.

·V· Displayed function.

·D· Default 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.

·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.

G45

G50

G53

G54

G55

G56

G12

G13

G14

G17

G18

G19

G06

G07

G08

G09

G10

G11

G37

G38

G39

G40

G41

G42

G20

G30

G31

G33

G34

G36

Function M D V Meaning

G00 * ?

* Rapid positioning.

G01

G02

G03

G04

G05

*

*

*

?

* Linear interpolation.

* Clockwise circular (helical) interpolation.

* Counterclockwise circular (helical) interpolation.

* Dwell.

* ?

* Controlled corner rounding (modal).

*

*

* Arc center in absolute coordinates (not modal).

* ?

* Square corner (modal).

* Arc tangent to previous path.

* *

*

*

* Arc defined by three points.

Mirror image cancellation.

* Mirror image on X.

*

*

* Mirror image on Y.

* Mirror image on Z.

* Mirror image in the programmed directions.

* ?

* Main plane X-Y, and longitudinal axis Z.

* ?

* Main plane Z-X, and longitudinal axis Y.

* * Main plane Y-Z, and longitudinal axis X.

* * Main plane by two directions and longitudinal axis.

* Polar origin preset.

* Temporary polar origin shift to the center of arc.

*

*

*

*

* Electronic threading with constant pitch.

* Electronic threading with variable pitch.

* Automatic radius blend.

* Tangential entry.

* Tangential exit.

* Automatic chamfer blend.

Cancellation of tool radius compensation.

* Left-hand tool radius compensation.

* Right-hand tool radius compensation.

*

*

!

!

!

?

Turn tangential control on and off.

Semi-rounded corner.

Zero offset cancellation.

* Absolute zero offset 1.

* Absolute zero offset 2.

* Absolute zero offset 3.

4.3

5.7

8.3.8

10.1

10.2

11.4

11.8

11.8

11.8

4.2

4.2

4.2

8.1

8.2

8.3

/

8.6

8.3

/

8.6

12.1

11.3

8.3.9

11.1

8.4

8.5

11.8

11.8

19.1

11.2

5.6

5.5

5.5

5.5

11.6

11.7

11.5

13.1

13.1

13.1

·48·

Programming manual.

G133

G134

G135

G136

G137

G138

G139

G145

G151

G100

G101

G102

G103

G104

G108

G109

G112

G120

G121

G122

G123

G130

G131

G132

G88

G88

G89

G90

G91

G92

G85

G85

G86

G86

G87

G87

G93

G94

G95

G96

G97

G98

G99

G81

G81

G82

G82

G83

G83

G84

G84

G70

G71

G72

G73

G74

G80

Function M D V Meaning

G57

G58

G59

!

!

!

* Absolute zero offset 4.

* Absolute zero offset 5.

* Absolute zero offset 6.

G60

G61

G63

G66

G68

G69

*

* Square corner (not modal).

* Controlled corner rounding (not modal).

* Rigid tapping.

* (·T· model). Pattern repeat canned cycle.

* (·T· model). Stock removal cycle along X axis.

* (·T· model). Stock removal canned cycle along Z axis.

* ?

* Programming in inches.

* ?

Programming in millimeters.

* Scaling factor.

*

*

*

*

* Rotation of the coordinate system.

* Machine reference zero (home) search.

(·M· model). Canned cycle cancellation.

*

* (·M· model). Drilling canned cycle.

* (·T· model). Turning canned cycle for straight sections.

* (·M· model). Drilling canned cycle with a variable peck.

*

*

* (·T· model). Facing canned cycle for straight sections.

* (·M· model). Deep-hole drilling canned cycle with constant peck.

* (·T· model). Drilling / tapping canned cycle.

* (·M· model). Tapping canned cycle.

* (·T· model). Turning canned cycle for curved sections.

*

*

*

* (·M· model). Reaming canned cycle.

* (·T· model). Facing canned cycle for curved sections.

* (·M· model). Boring canned cycle.

* (·T· model). Longitudinal threading canned cycle.

* (·M· model). Rectangular pocket canned cycle.

* (·T· model). Face threading canned cycle.

* * (·M· model). Circular pocket canned cycle.

* (·T· model). Grooving canned cycle along the X axis.

* (·T· model). Z axis grooving canned cycle.

* ?

Programming in absolute coordinates.

* ?

* Programming in incremental coordinates.

!

* Coordinate preset.

* * Setting machining time in seconds.

* ?

Feedrate in millimeters/minute (inches/minute).

* ?

* Feedrate in millimeters/revolution (inches/revolution).

*

* *

* *

*

* Constant surface speed.

Constant turning speed.

(·M· model). Withdrawal to the starting plane.

* (·M· model). Withdrawal to the reference plane at the end of the canned cycle.

*

*

*

!

!

* *

* Probing until making contact.

Include probe offset.

Exclude probe offset.

* Probing until not making contact.

Probe movement up to the programmed position.

Feedrate blending at the beginning of the block.

* Feedrate blending at the end of the block.

Changing of parameter range of an axis.

Set lower linear limits of the work zone.

Set upper linear limits of the work zone.

* Enable/disable the work zones.

Set circular limits of the work zone.

* Percentage of acceleration to be applied per axis or spindle.

* Percentage of acceleration to be applied, global.

* Percentage of jerk to be applied per axis or spindle.

!

*

*

*

*

*

*

*

* *

*

* Percentage of jerk to be applied, global.

* Percentage of Feed-Forward to be applied.

* Percentage of AC-Forward to be applied.

* Circular transition between blocks.

Linear transition between blocks.

* Direct activation/cancellation of tool compensation.

* * Indirect activation/cancellation of tool compensation.

Freeze tangential control.

* * * Programming in diameters.

6.2.6

6.2.7

6.2.8

13.1.2

13.1.2

13.1.2

13.1.2

19.2

3.1

- - -

- - -

- - -

- - -

- - -

6.2.2

6.2.2

12.4

11.11.2

11.11.2

11.11.3

11.11.2

6.2.5

6.2.5

6.2.6

- - -

- - -

- - -

3.2

3.2

5.4

- - -

- - -

- - -

- - -

- - -

- - -

6.2.1

6.2.1

6.2.1

7.2.2

7.2.2

- - -

- - -

3.1

3.1

11.10

11.9

2.4

- - -

5.5

5.5

5.5

11.1

11.3

10.3

- - -

- - -

- - -

- - -

- - -

- - -

- - -

- - -

- - -

- - -

- - -

1.

CNC 8060

CNC 8065

(R EF : 1901)

·49·

1.

Programming manual.

G262

G263

G264

G265

G266

G500

G599

G196

G197

G198

G199

G200

G201

G202

G210

G211

G212

G233

G261

G171

G174

G180

G189

G380

G399

G192

G193

Function M D V Meaning

G152

G157

G158

*

*

*

Programming in radius.

* Excluding axes in the zero offset.

* Incremental zero offset.

!

G159

G160

G160

G161

G161

G162

* Additional absolute zero offsets.

* (·M· model). Multiple machining in a straight line.

* (·T· model). Drilling / tapping canned cycle on the face of the part.

* (·M· model). Multiple machining in rectangular pattern.

* (·T· model). Drilling / tapping canned cycle on the side of the part.

* (·M· model). Multiple machining in a grid pattern.

G162

G163

G163

G164

G165

G170 *

* *

*

* (·T· model). Slot milling canned cycle along the side of the part.

* (·M· model). Multiple machining in a circular pattern.

* (·T· model). Slot milling canned cycle along the face of the part.

* (·M· model). Multiple machining in an arc.

* (·M· model). Machining programmed with an arc-chord.

Hirth axes OFF.

Hirth axes ON.

Set the machine coordinate.

* OEM subroutine execution.

*

* OEM subroutine execution.

*

* *

* Turning speed limitation.

* Interpolating the feedrate.

* Constant surface speed (feedrate at the cutting point).

Constant feedrate of the tool center.

Setting of lower software travel limits.

Setting of upper software travel limits.

Exclusive manual intervention.

Activate additive manual intervention.

*

*

*

*

*

*

* *

* *

*

*

* *

Cancel additive manual intervention.

* (·M· model). Bore milling canned cycle.

* (·M· model). Inside thread milling cycle.

* (·M· model). Outside thread milling cycle.

* Withdraw the axes after interrupting an electronic threading.

* Arc center in absolute coordinates (modal).

Arc center referred to starting point.

* Arc radius programming.

* Cancel arc center correction.

Activate arc center correction.

* Feedrate override at 100%.

* Generic user subroutines.

15.5

9.1

- - -

- - -

- - -

10.4

8.3.9

8.3.9

8.3.2

8.3.11

8.3.11

6.2.4

15.6

7.2.1

6.2.2

6.2.3

6.2.3

12.2

12.2

9.2

9.1

- - -

- - -

- - -

- - -

- - -

12.3

3.1

5.5.3

5.5.2

5.5

- - -

- - -

- - -

- - -

- - -

12.3

5.2

15.5

CNC 8060

CNC 8065

(R EF : 1901)

·50·

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.

M41

M42

M43

M44

M17

M19

M29

M30

M03

M04

M05

M06

Function

M00

M01

M02

Meaning

Program stop.

Conditional program stop.

End of program.

Start the spindle clockwise.

Start the spindle counterclockwise.

Stop the spindle.

Tool change.

End of a global or local subroutine.

Spindle orientation.

End of a global or local subroutine.

End of program.

Selects gear ·1·.

Selects gear ·2·.

Selects gear ·3·.

Selects gear ·4·.

7.5

15.2

1.2.1

7.4

7.4

7.4

7.4

6.6.1

6.6.1

1.2.1

7.3

7.3

7.3

6.6.1

15.2

1.

CNC 8060

CNC 8065

(R EF : 1901)

·51·

1.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

1.7

List of statements and instructions.

Instruction

$GOTO

$IF

$ELSEIF

$ELSE

$ENDIF

$SWITCH

$CASE

$BREAK

$DEFAULT

$ENDSWITCH

$FOR

$BREAK

$CONTINUE

$ENDFOR

$WHILE

$BREAK

$CONTINUE

$ENDWHILE

$DO

$BREAK

$CONTINUE

$ENDDO

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.

Meaning

Block skip.

Conditional execution.

14.10

14.11

Conditional execution.

Block repetition.

Conditional block repetition.

Conditional block repetition.

14.12

14.13

14.14

14.15

Instruction

L

LL

#ABORT

#ACS

#ANGAX OFF

#ANGAX ON

#ANGAX SUSP

#ASPLINE ENDTANG

#ASPLINE MODE

Meaning

Call to a global subroutine.

Call to a local subroutine.

Abort the execution of the program and resume it in another block or program.

Fixture coordinate system.

Turn angular transformation off.

Turn angular transformation on.

Freeze angular transformation.

Akima splines. Type of final tangent.

Akima splines. Selection of tangent type.

#ASPLINE STARTTANG Akima splines. Type of starting tangent.

#AXIS

#CALL

Axis upon which the manual intervention is applied.

Call to a global or local subroutine.

#CALL AX

#CALL SP

#CAM ON

Add a new axis to the configuration.

Add a spindle to the configuration.

Activate the electronic cam (real coordinates).

#CAM OFF

#CAX

#CD OFF

#CD ON

#CLEAR

#CLOSE

Cancel the electronic cam.

Axis C. Activating the spindle as C axis.

Cancel collision detection.

Activating collision detection.

Channels. It clears the synchronism marks of the channel.

Close a file.

#CONTJOG

#COMMENT BEGIN

#COMMENT END

#CS

#CSROT ON

#CSROT OFF

#CYL

#DEF

#DEFROT

#DELETE

#DFHOLD

#DGWZ

#DMC ON

#DMC OFF

#DSBLK

#DSTOP

#EFHOLD

#ERROR

Manual intervention. Feedrate in continuous jog.

Beginning of comment.

End of comment.

Machining coordinate system.

Activate tool orientation in the part coordinate system.

Cancel tool orientation in the part coordinate system.

"C" axis. Machining of the turning side of the part.

Macros. Define Macros.

How to manage the discontinuities in the orientation of rotary axes.

It initializes the global user variables.

Disable the feed-hold signal.

It defines the graphic display area.

Activating the DMC.

Deactivating the DMC.

End of the single-block treatment.

Disable the cycle stop signal.

Disable the feed-hold signal.

Display an error on the screen.

26.16

17.1

26.9

26.9

26.14

25.3

9.3.1

1.9

1.9

20.4

20.9.1

20.9.2

15.3.2

15.3.1

14.2

20.4

18.1

18.1

18.2

26.10

26.10

26.10

9.1

15.3.3

26.5

26.6

26.16

24.1

24.2

14.7

14.8

14.9

23.1

17.3

26.13

20.9.3

1.10

14.9

26.1

·52·

Programming manual.

#PROBE 2

#PROBE 3

#PROBE 3

#PROBE 4

#PROBE 4

#PROBE 5

#PROBE 6

#PROBE 7

#PROBE 8

#PROBE 9

#PROBE 10

#PROBE 11

#PROBE 12

#RENAME AX

#RENAME SP

#REPOS

#RET

#RETDSBLK

#ROUNDPAR

#ROTATEMZ

#RPT

#RTCP

#SCALE

#SELECT ORI

#LINK

#MASTER

#MCALL

#MCS

#MCS OFF

#MCS ON

#MDOFF

#MEET

#MOVE

#MPG

#MSG

#OPEN

#PARK

#PATH

#PATHND

#PCALL

#POLY

#PROBE 1

#PROBE 1

#PROBE 2

Instruction

#ESBLK

#ESTOP

#EXBLK

#EXEC

#FACE

#FEEDND

#FLUSH

#FOLLOW OFF

#FOLLOW ON

#FREE AX

#FREE SP

#HSC OFF

#HSC ON

#HSC ON [FAST]

#INCJOG

#INIT MACROTAB

#ISO

#KIN ID

#KINORG

#SELECT PROBE

#SERVO ON

Meaning

Beginning of the single-block treatment.

Enable the cycle stop signal.

It executes a block in the indicated channel.

It executes a program in the indicated channel.

"C" axis. Machining on the face of the part.

Smooth the path and the feedrate.

Interrupt block preparation.

Independent axis. End the synchronization movement.

Independent axis. Begin the synchronization movement (real coordinates).

Free an axis from the configuration.

Free a spindle from the configuration.

It cancels the HSC mode.

HSC mode. Optimizing the contouring error.

HSC mode. Optimizing the machining speed.

Manual intervention. Feedrate in incremental jog.

Macros. Initialize the table of macros.

ISO generation.

Select a kinematics.

Transform the current part zero considering the position of the table kinematics.

Activate the electronic coupling (slaving) of axes.

Selecting the master spindle of the channel.

Modal call to a local or global subroutine initializing parameters.

Program a movement referred to machine zero.

Cancel the machine coordinate system.

Activate the machine coordinate system.

Turning the subroutine into non-modal.

Channels. It activates the mark in the indicated channel.

Independent axis. Positioning move.

Manual intervention. Resolution of the handwheels.

Display a message on the screen.

Open file for writing.

Park an axis.

Define the location of the global subroutines.

Smooth the path.

Call to a global or local subroutine initializing parameters.

Polynomial interpolation.

(·M· model). Tool calibration (dimensions and wear).

(·T· model). Tool calibration.

(·M· model). Probe calibration.

(·T· model). Tabletop probe calibration.

(·M· model). Surfacing measuring.

(·T· model). Part measurement along the ordinate axis.

(·M· model). Outside corner measuring.

(·T· model). Part measurement along the abscissa axis.

(·M· model). Inside corner measuring.

(·M· model). Angle measurement on the abscissa axis.

(·M· model). Outside corner and angle measurement.

(·M· model). Hole measuring.

(·M· model). Circular boss measuring.

(·M· model). Rectangular part centering.

(·M· model). Circular part centering.

(·M· model). Tabletop probe calibration.

Rename the axes.

Rename the spindles.

Repositioning axes and spindles from an OEM subroutine.

End of a global or local subroutine.

Execute subroutine as a single block.

Type of corner rounding.

Positioning a turret magazine.

Block repetition.

RTCP transformation.

Scaling factor.

Select onto which rotary axes of the kinematics the tool orientation is calculated for a given direction on the work piece (part).

Probe selection.

Activates the closed loop mode.

*

26.5

26.6

15.8.1

15.2

15.3.7

11.3.1

6.4

14.4

20.6

11.10

20.9

*

*

*

*

*

*

*

*

*

*

*

*

26.15

9.3.3

23.3

25.1

26.4

15.4

12.5

15.3.4

26.11

*

*

*

26.3

7.1.1

15.3.5

5.1

5.1

5.1

15.4

26.14

26.5

26.6

21.6

21.4

21.5

9.3.2

26.13

26.2

20.3

20.11

14.7

14.8

16.2

16.1

17.2

12.5

14.6

26.15

26.15

*

26.8

1.

CNC 8060

CNC 8065

(R EF : 1901)

·53·

1.

Programming manual.

Instruction

#SERVO OFF

#SET AX

#SET OFFSET

#SET SP

#SIGNAL

#SLOPE

#SPLINE OFF

#SPLINE ON

#SYNC

#SYNC POS

#TANGCTRL OFF

#TANGCTRL ON

#TANGCTRL SUSP

#TANGFEED RMIN

#TCAM ON

#TFOLLOW ON

#TIME

#TLC

#TOOL AX

#TOOL ORI

#TSYNC

#UNLINK

#UNPARK

#UNSYNC

#VIRTAX ON

#VIRTAX OFF

#WAIT

#WAIT FOR

#WARNING

#WARNINGSTOP

#WRITE

Meaning

Activates the open loop mode.

Set axis configuration.

Manual intervention. Manual path movement limits.

Set spindle configuration.

Channels. It activates the mark in its own channel.

Acceleration control.

Akima splines. It cancels spline adaptation.

Akima splines. It activates spline adaptation.

Spindle synchronization. Synchronization of the real coordinate.

Manual intervention. Synchronization of coordinates and additive manual offset.

Cancel tangential control.

Activate tangential control.

Freeze tangential control.

Minimum contouring radius for applying constant feedrate

Activate the electronic cam (theoretical coordinates).

Independent axis. Begin the synchronization movement (theoretical coordinates).

Dwell

Correct the implicit tool length compensation of the program.

Longitudinal tool axis selection.

Tool perpendicular to the inclined plane.

Spindle synchronization. Synchronization of the theoretical coordinate.

Cancel the electronic coupling (slaving) of axes.

Unpark an axis

Spindle synchronization. Decouple the spindles.

Activate the virtual tool axis.

Cancel the virtual tool axis.

Channels. It waits for a mark to be activated in the indicated channel.

Wait for an event.

Display a warning on the screen.

Display a warning on the screen and interrupt the program.

Writing in a file.

(*) Refer to the probe manual.

26.8

26.5

9.3.4

26.6

26.14

26.12

26.10

26.10

26.7

9.3.5

19.1

19.1

19.2

6.2.3

26.16

26.15

22.2

26.14

14.5

23.2

23.2

25.2

12.1

20.7

4.4

20.5

26.7

26.3

26.4

26.7

22.1

CNC 8060

CNC 8065

(R EF : 1901)

·54·

Programming manual.

1.8

Programming the block labels.

The labels allow the blocks to be identified. The programming of labels assists in the monitoring of the program and allows block skips and repetitions to be programmed. In this last case, it is recommended to program the labels alone in the block. The CNC has two types of labels, one is based on numbers and the other on names. Both types of labels can be programmed in the same block.

Number labels.

Number labels are defined with the letter "N" followed by the block number (0-4294967295), where the order is irrelevant and the numbers need not be sequential. When the label is used as the destination of a block skip; the character “:” needs to be added after the number.

If the label is not used in block skips or repetitions (programmed without “:”), it may go in any block position, not necessarily at the beginning. If the label is not used in block skips or repetitions, it must go at the beginning of the block.

N10: X12 T1 D1

X34 N10 S100 M3

Name labels.

Name labels are programmed between angle brackets. The name of the label may be up to 14 characters long and may consist of uppercase and lowercase characters as well as numbers (no blank spaces are allowed). This type of label is not be defined at the beginning of the block.

[CYCLE] G81 I67

1.

CNC 8060

CNC 8065

(R EF : 1901)

·55·

1.

1.9

Programming manual.

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 comment may be programmed alone in the block or may be added at the end of a block.

N10 G90 X23.45 T1; comment

Programming comments with the #COMMENT instruction.

The instructions

#COMMENT BEGIN

and

#COMMENT END

indicate the beginning and end of a comment. The blocks programmed between them are considered by the CNC as a single comment and are ignored when executing the program.

#COMMENT BEGIN

P1: Machining width.

P2: Machining length.

P3: Machining depth.

#COMMENT END

CNC 8060

CNC 8065

(R EF : 1901)

·56·

Programming manual.

1.10

Variables and constants.

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

CNC variables.

The CNC has a number of internal variables that may be accessed from the user program, from the PLC or from the interface. All information regarding CNC variables can found in the manual on “CNC Variables".

User variables.

The user can create his own variables. These are read-write variables and are evaluated during block preparation.

Variable.

(V.)P.name

(V.)P.name[nb]

(V.)S.name

(V.)S.name[nb]

Meaning.

These variables maintain their value in local and global subroutines called upon from the program. The variables are deleted after executing M30 or a reset.

These variables maintain their value between programs and after a reset. Variables are deleted when the CNC is turned off and they can also be deleted from the part-program using the #DELETE instruction.

Replace the suffix name with the name of the variable. Substitute the sufix nb for the number of array elements (first time) or element number within the array (subsequent times).

V.P.myvar

V.S.myvar

V.P.myvar[4]

V.S.myvar[4]

Variable with the name of "myvar".

V.P.myvar[4]=100

V.S.myvar[4]=100

Define the variable (first time it is used).

• Variable with the name of "myvar".

• Four-element array variable.

Once the variable is defined.

• Variable with the name of "myvar".

• Assign the value 100 to the fourth element of the array.

Initialize the user variables.

Variables can be deleted from the part-program using the instruction #DELETE. This 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

1.

CNC 8060

CNC 8065

(R EF : 1901)

·57·

1.

CNC 8060

CNC 8065

Programming manual.

1.11

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 programs. 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

GP1 XP2 YP3 FP100

MP101

==>

==>

==>

G0 X0 Y0 S1500 M3

G1 X20 Y50 F800

M30

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 subroutines.

There is a group of global parameters in each channel.

The maximum range of global parameters is P100 to P9999, the typical range being P100 to P299.

Common arithmetic parameters.

The common parameters may be accessed from any channel. The value of these parameters is shared by all the channels. Reading and writing these parameters interrupts block preparation.

The maximum range of common parameters is P10000 to P19999, the typical range being

P10000 to P10999.

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.

(R EF : 1901)

·58·

Programming manual.

1.12

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.

Operator.

+

-

/

*

MOD

**

Operation.

Add.

Subtract.

Change sign.

Multiply.

Divide.

Module or remainder of a division.

Exponential.

Example.

P1 = 3+4

P2 = 5-2

P2 = -[3+4]

P3 = 2*3

P4 = 9/2

P5 = 5 MOD 2

P6 = 2**3

Result.

P1=7

P2=3

P2=-7

P3=6

P4=4.5

P5=1

P6=8

Operator.

+=

-=

*=

/=

Operation.

Compounded addition.

Compounded subtraction.

Compounded multiplication.

Compounded division.

Example.

P1 += 3

P2 -= 5

P3 *= 2

P4 /= 9

Result.

P1=P1+3

P2=P2-5

P3=P3*2

P4=P4/9

Relational operators.

Used for doing comparisons.

<=

>

<

Operator.

==

!=

>=

Operation.

Equal to.

Different from, other than.

Greater than or equal to.

Less than or equal to.

Greater than.

Less than.

Example.

P1 == 4

P2 != 5

P3 >= 10

P4 <= 7

P5 > 5

P6 < 5

Result.

True of false.

Binary operators.

Used for doing binary comparisons between constants and/or arithmetic expressions. If the constant or the result of the arithmetic expression is a decimal number, the decimal portion will be ignored.

|

^

Operator.

&

INV[...]

Operation.

Binary AND.

Binary OR.

Exclusive OR (XOR).

Complement.

Example.

1010 & 1100

1010 | 1100

1010 ^ 1100

INV[0]

INV[1]

1

0

Result.

1000

1110

0110

Logic operators.

Used for doing logic comparisons between conditions. Each condition should go between brackets, otherwise, an undesired comparison may be done due to the priority between operators.

Operator.

*

+

Operation.

Logic AND.

Logic OR.

Example.

$IF [P11 == 1] * [P12 >=5]

$IF [P21 != 0] + [P22 == 8]

1.

CNC 8060

CNC 8065

(R EF : 1901)

·59·

1.

CNC 8060

CNC 8065

(R EF : 1901)

·60·

Programming manual.

Boolean constants.

Constant.

TRUE

FALSE

Operation.

True.

Not true.

Example.

$IF V.S.VAR == TRUE

$IF V.S.VAR == FALSE

Trigonometric functions.

Operator.

SIN[...]

COS[...]

TAN[...]

ASIN[...]

ACOS[...]

ATAN[...]

ARG[..., ...]

Operation.

Sine.

Cosine.

Tangent.

Arc-sine.

Arc-cosine.

Arc-tangent.

(result between ±90º).

Arctangent y/x.

(result between 0 and 360º).

Example.

P1 = SIN[30]

P2 = COS[30]

P3 = TAN[30]

P4 = ASIN[1]

P5 = ACOS[1]

P6 = ATAN[1]

P7=ARG[-1,1]

Result.

P1 = 0.5

P2 = 0.866

P3 = 0.5773

P4 = 90

P5 = 0

P6 = 45

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.

Mathematical functions.

Operator.

ABS[...]

SQR[...]

SQRT[...]

LOG[...]

LN[...]

EXP[...]

DEXP[...]

Operation.

Absolute value.

Square function.

Square root.

Decimal logarithm.

Neperian logarithm.

"e" function.

Decimal exponent.

Example.

P1 = ABS[-10]

P2 = SQR[4]

P3 = SQRT[16]

P4 = LOG[100]

P5 = LN[100]

P6 = EXP[1]

P6 = DEXP[2]

Result.

P1 = 10

P2 = 16

P3 = 4

P4 = 2

P5 = 4.6051

P6 = 2.7182

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.

Operator.

INT[...]

FRACT[...]

ROUND[...]

FUP[...]

EXIST[...]

Operation.

Returns the integer.

Example.

P1 = INT[4.92]

Returns decimal portion.

P2 = FRACT[1.56]

Rounds up or down to the nearest integer P3 = ROUND[3.12]

P4 = ROUND[4.89]

Result.

P1 = 4

P2 = 0.56

P3 = 3

P4 = 5

Due to excess, round to an integer.

It checks whether the selected variable or parameter exists or not

P5 = FUP[3.12]

P6 = FUP[9]

$IF EXIST[P1]

$IF EXIST[P3] == TRUE

$IF EXIST[P3] == FALSE

P5 = 4

P6 = 9

In the "EXIST" function, programming "$IF EXIST[P1] == TRUE" is the same as programming "$IF EXIST[P1]".

Programming manual.

1.13

Arithmetic and logic expressions.

An expression is any valid combination of operators, constants, parameters and variables.

Expressions may be used to program the numerical portion of any function, statement, etc.

The priorities of the operators and the way they can be associated determine how these expressions are calculated:

Priority from highest to lowest

Functions, - (change sign)

** (exponent), MOD (remainder)

* (multiplication, logic AND), / (division)

+ (suma, OR lógico), - (resta)

Relational operators

& (AND),^ (XOR)

| (OR)

To be associated from right to left.

from left to right.

from left to right.

from left to right.

from left to right.

from left to right.

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]] ...

1.

CNC 8060

CNC 8065

(R EF : 1901)

·61·

1.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·62·

2.

MACHINE OVERVIEW

2

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.

E Extrusion axis for additive manufacturing machines or 3D printing.

However, the machine manufacturer may call the axes differently.

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 8060

CNC 8065

(R EF : 1901)

·63·

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.

CNC 8060

CNC 8065

(R EF : 1901)

·64·

Programming manual.

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.

P (X,Y,Z)

(1,2,5)

(3,4,0)

(5,7,-2)

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 8060

CNC 8065

(R EF : 1901)

·65·

2.

2.3

Programming manual.

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.

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).

CNC 8060

CNC 8065

(R EF : 1901)

·66·

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.

Zero offset when:

(A)The fixture reference system is activated.

(B)The fixture reference system is deactivated.

CNC 8060

CNC 8065

(R EF : 1901)

·67·

2.

Programming manual.

2.4

Home search

2.4.1

Definition of "Home search"

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

I

0

distance-coded reference marks or absolute feedback). It may be located anywhere 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

0

distance-coded reference marks or absolute feedback, the axes will only move the distance necessary to verify their position.

Z X

H H

Z

MH

X

MH

Z

MW

Z

MW

O

M

O

W

X

O

M

O

W

X

MW

O

M

O

W

H

X

MH

X

WH

Y

MH

Z

MH

Y

WH

Z

WH

X

MH

Z

MH

Machine zero.

Part zero.

Machine reference point.

Coordinates referred to machine reference system.

Coordinates referred to the part reference system.

Z

i 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.

CNC 8060

CNC 8065

(R EF : 1901)

·68·

Programming manual.

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.

G74 X1 Y2

G74 X2 Z1 A3

G74 Z1 Y2 X3 U2

When having numbered axes, they may be defined together with the other ones by assigning them the order number as follows.

G74 X1=1 X2=2

G74 X1=2 X2=1 A4 Z1=3

Spindle home search

The spindle home search is always carried out together with the first axis regardless of the order in which it has been defined.

Home search and loop status.

Axes usually work in closed loop, although rotary axes can also work in open loop so they can be controlled as if they were spindles.

The home search is carried out with the axes and spindles controlled in position; i.e. in closed position loop. The CNC will close the position loop automatically on all axes and spindles for which a home search has been programmed using function G74.

Using an associated subroutine

If the machine manufacturer has associated a home-search subroutine to the G74 function, this function may be programmed alone in the block and the CNC will automatically execute the associated subroutine [G.M.P. "REFPSUB (G74)"].

When using a subroutine, the "Home search" is carried out exactly as described earlier.

2.

CNC 8060

CNC 8065

(R EF : 1901)

·69·

2.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·70·

3.

COORDINATE SYSTEM

3

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

G71

Programming in inches.

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"].

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 8060

CNC 8065

(R EF : 1901)

·71·

3.

CNC 8060

CNC 8065

3.2

Programming manual.

Absolute (G90) or incremental (G91) coordinates.

The coordinates of the various points may be defined in absolute coordinates (referred to the active origin point) or incremental coordinates (referred to the current position). The type of coordinates may be selected by program using the following functions:

G90

G91

Programming in absolute coordinates.

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.

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

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"].

(R EF : 1901)

·72·

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.

G90 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.

G91 movements.

Normal incremental movement. The sign of the position value indicates the moving direction; the absolute position value indicates the position increment.

If the programmed distance is greater than the module, the axis turns more than one revolution.

3.

Unidirectional rotary axis.

This type of rotary axis only moves in one direction, the one that has been preset for it. The

CNC displays the position values between the limits of the module.

G90 movements.

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.

G91 movements.

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 8060

CNC 8065

(R EF : 1901)

·73·

Programming manual.

3.

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.

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.

G91 movements.

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.

CNC 8060

CNC 8065

(R EF : 1901)

·74·

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 application 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).

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

3.

CNC 8060

CNC 8065

(R EF : 1901)

·75·

3.

3.4

Programming manual.

Programming in radius (G152) or in diameters (G151).

i 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 and they don't have to go alone in the block.

Operation

After executing one of these functions, the CNC assumes that programming mode for the following blocks.

CNC 8060

CNC 8065

(R EF : 1901)

·76·

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.

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.

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 8060

CNC 8065

(R EF : 1901)

·77·

3.

CNC 8060

CNC 8065

(R EF : 1901)

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 angle "Q" as follows:

Radius

Angle

It will be the distance between the polar origin and the point.

It will be the one formed by the abscissa axis and the line joining the polar origin with the point.

R

Q

OP

Radius

Angle

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" may be selected from the program using function G30. If not selected, it

assumes as "polar origin" the origin of the active reference system (part zero). See chapter

"5 Origin selection" .

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.

·78·

Programming manual.

Examples. Point definition in polar coordinates.

P0

R

0

P1 100

P2

P3

P4

100

50

50

P5 100 60

P6 100 90

Q

0

0

30

30

60

Y

P6

P4

50

P3

P5

P0

P2

60 o

P1

30 o

X

R

P1 46

P2

P3

31

16

P4 16

P5 10

P6 10

P7 16

P8

P9

P10

31

31

46

65

65

115

100

Q

65

80

80

100

115

115

P10

25

Y

10 10

25

P1

P9 P8 P2

15

P7

P6

P5

P3

P4

6

10

15

Ow

X

R

P0 430

P1 430

P2 340

P3 290

Q

0

33.7

45

33.7

P4 230 45

P5 360 63.4

P6 360 90

X

P6

63.4

o

P5

P2

P4

P3

P1

45

33.7

o o

P0

Z

3.

CNC 8060

CNC 8065

(R EF : 1901)

·79·

3.

Programming manual.

3.5.3

Angle and Cartesian coordinate.

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

G90 G00 X35 Y15

G03 Y30 Q135 R15 F500

Like in Polar programming, coordinate-angle programming is not possible while the MCS function is active.

Programming example (·M· model)

CNC 8060

CNC 8065

(R EF : 1901)

·80·

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

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.

CNC 8060

CNC 8065

(R EF : 1901)

·81·

3.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·82·

4.

WORK PLANES.

4

The work planes determine which axes define the work plane/trihedron and which axis corresponds to the longitudinal axis of the tool. Plane selection is required to execute operations like:

• Circular and helical interpolations.

• Corner chamfering and rounding.

• Tangential entries and exits.

• Machining canned cycles.

• Tool radius and length compensation.

These operations, except tool length compensation, can only be executed in the active work plane. Tool length compensation, on the other hand, can only be applied on the longitudinal axis.

Commands for changing the work planes.

Mill model or lathe model with "trihedron" type axis configuration.

Function.

G17

G18

G19

G20

Meaning.

Main plane formed by the first axis (abscissa), second (ordinate) and third axis

(perpendicular) of the channel.

Main plane formed by the third axis (abscissa), first axis (ordinate) and second axis

(perpendicular) of the channel.

Main plane formed by the second axis (abscissa), third axis (ordinate) and first axis

(perpendicular) of the channel.

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.

G18

G20

Meaning.

Main plane formed by the second axis (abscissa) and first axis (ordinate) of the channel.

Select the longitudinal axis of the tool.

Instruction.

Meaning.

#TOOL AX Select the longitudinal axis of the tool.

CNC 8060

CNC 8065

(R EF : 1901)

·83·

4.

CNC 8060

CNC 8065

(R EF : 1901)

4.1

About work planes on lathe and mill models.

Programming manual.

The operation of the work planes depends on the geometric configuration of the axes. At a mill model, the geometric configuration of the axes is always of the "trihedron" type whereas at a lathe model, the geometric configuration of the axes may be either a "trihedron" type or a "plane" type (parameter GEOCONFIG).

X+

Y+

X+

Z+

Z+

Configuration of "plane" type axes.

Configuration of "Trihedron" type axes.

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.

G17

G18

G19

G20

Meaning.

It does not change planes and shows a warning about it.

It has no effect (except when function G20 is active).

It does not change planes and shows a warning about it.

It is permitted if it does not change the main plane; i.e. it can only be used to change the longitudinal axis.

The CNC does not display the ·G· functions associated with the work planes because it is always the same plane.

·84·

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

G18

G19

Main plane formed by the first axis (abscissa), second (ordinate) and third axis

(perpendicular) of the channel.

Main plane formed by the third axis (abscissa), first axis (ordinate) and second axis (perpendicular) of the channel.

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.

Programming.

These functions may be programmed anywhere in the program and they don't have to go alone in the block.

Programming format.

The programming format is:

G17

G18

G19

G17

G18

G19

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Functions G17, G18, G19 and G20 are modal and incompatible with each other. On powerup, after an M02 or M30 and after an emergency or a reset, the CNC assumes function G17 or G18 as set by the machine manufacturer (parameter "IPLANE").

4.

CNC 8060

CNC 8065

(R EF : 1901)

·85·

4.

4.2.2

Lathe model with "plane" type axis configuration.

Programming manual.

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.

On milling tools, tool length compensation is applied on the second axis of the channel. If the X (first axis of the channel) and Z (second axis of the channel) axes have been defined, the work plane will be the ZX and Z will be the longitudinal axis. Function G20 and the instruction #TOOL AX can change the longitudinal axis of the tool.

Programming.

These functions may be programmed anywhere in the program and they don't have to go alone in the block.

Programming format.

The programming format is:

G18

G18

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Functions G18 and G20 are modal and incompatible with each other. On power-up, after executing an M02 or M30, and after an emergency or reset, the CNC assumes function G18.

CNC 8060

CNC 8065

(R EF : 1901)

·86·

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. To build a plane with other axes, first include them in the main trihedron (instruction #SET AX).

• When the axis configuration is of plane type, the work plane is always G18 and function

G20 allows changing the longitudinal axis of the tool.

Programming.

When programming this instruction, you must define the new abscissa and ordinate axes of the plane and the longitudinal axis of the tool. If the longitudinal axis coincides with one of the axes of the plane, you must also define which axis is perpendicular to the plane.

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} Value that sets the location of the axis in the plane.

Values for setting the location of the axis in the plane.

The work plane is defined by selecting the abscissa and ordinate axes, the perpendicular axis and the longitudinal axis of the tool. It is selected by assigning one of the following values to the axes programmed with G20.

Value.

4

5

1

2

±3

Type of axis within the work plane.

Abscissa axis.

Ordinate axis.

Longitudinal axis of the tool. The sign indicates tool orientation.

Reserved.

Axis perpendicular to the work plane, only required when the longitudinal axis of the tool is the same as the abscissa or ordinate axis. Otherwise, the longitudinal axis of the tool will be the perpendicular axis.

G20 X1 Z2 Y3

The X axis is the abscissa axis.

The Z axis is the ordinate axis.

The Y axis is the longitudinal axis of the tool and the axis perpendicular to the plane.

4.

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 8060

CNC 8065

(R EF : 1901)

·87·

4.

Programming manual.

Select the longitudinal axis of the tool.

When selecting the longitudinal axis with G20, tool orientation may be established according to the programmed sign.

• If the parameter to select the longitudinal axis is positive, the tool is positioned in the positive direction of the axis.

• If the parameter to select the longitudinal axis is negative, the tool is positioned in the negative direction of the axis.

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 8060

CNC 8065

(R EF : 1901)

·88·

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 orientation.

#TOOL AX [Z+]

#TOOL AX [V2-]

Define the orientation of the tool.

Tool orientation is set as follows.

+ sign

- sign

Positive tool orientation.

Negative tool orientation.

Positive tool orientation.

#TOOL AX [X+]

#TOOL AX [Y+]

#TOOL AX [Z+]

4.

Negative tool orientation.

#TOOL AX [X-]

#TOOL AX [Y-]

#TOOL AX [Z-]

CNC 8060

CNC 8065

(R EF : 1901)

·89·

4.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·90·

5.

ORIGIN SELECTION

5

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.

Fixture offset.

Zero offset.

PLC offset.

Description.

Distance between the machine reference zero and the fixture's zero point.

On machines using several fixtures, this offsets allows selecting the particular fixture to be used.

Distance between the fixture's zero point and the part zero. If the 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.

Special offset handled by the PLC that is used to correct the deviations due to dilatations, etc.

The PLC always applies this offset, even when programming with respect to machine zero.

CNC 8060

CNC 8065

(R EF : 1901)

·91·

5.

CNC 8060

CNC 8065

5.1

Programming manual.

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

G01 X20 Y20

#MCS X30 Y30

G01 X40 Y40

G01 X60 Y60

M30

(Coordinate preset)

(Movement referred to machine zero. Offsets canceled)

(Offsets restored)

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 reference system. Both instructions must be programmed alone in the block.

G92 X0 Y0

G01 X50 Y50

#MCS ON

G01 ...

G02 ...

G00 ...

#MCS OFF

(Coordinate preset)

(Beginning of programming referred to machine zero)

(End of programming referred to machine zero. Offsets restored)

Considerations for movements referred to machine zero.

Zero offsets and coordinate transformations

When executing a movement referred to machine zero, the CNC ignores the active offsets

(except the PLC offset), the kinematics and cartesian transformations; therefore, the movement is carried out in the machine reference system. Once the movement has ended, the CNC restores the offsets, kinematics and cartesian transformations that were active.

The programmed movements do not admit polar coordinates, nor other kinds of transformations such as mirror image, coordinate (pattern) rotation or scaling factor. While the #MCS function is active, functions for setting a new origin such as G92, G54-G59, G158,

G30, etc. are not admitted either.

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.

(R EF : 1901)

·92·

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.

CNC 8060

CNC 8065

(R EF : 1901)

·93·

5.

CNC 8060

CNC 8065

(R EF : 1901)

5.2

Programming manual.

Set the machine coordinate (G174).

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).

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 machine coordinates of several, program one G174 for each one of them.

When setting the machine coordinate, the CNC ignores the G70/G71 units

(inches/millimeters) selected by the user and uses the unit system pre-defined at the CNC

(parameter INCHES). The CNC also ignores all the other options, radius/diameter, mirror image, scaling factor, etc.

Programming format.

The programming format is:

G174 X..C

G174 S

X..C

S

Machine coordinate at the axes.

Machine coordinate at the spindles.

G174 X100

G174 S180 i

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.

• 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 permits setting the machine coordinate for tandem axes. Before setting the new machine coordinate, the CNC checks that the axis or spindle is in position and it is not synchronized, if that's not the case, it issues an error message.

On Sercos axes, function G174 also resets the coordinate of the drive. Setting the machine coordinates on position-Sercos axes requires drive version V6.20 or newer.

• On gantry axes, the CNC applies the coordinate defined in G174 to both axes, master and slave.

• A G174 can be executed in a deactivated multi-axis group.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G174 is modal. This function is neither affected by functions M02 and M30 nor by a reset, by an emergency or by turning the CNC off. On power-up, the CNC assumes the machine coordinates that were active when the CNC was turned off.

·94·

Programming manual.

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.

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.

Fixture offset value on milling machine.

V.G.FIX=1

V.G.FIX=2

X

30

120

Y

50

50

5.

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 ...

N300 V.G.FIX=2

N310 ...

N400 V.G.FIX=0

(Programming at fixture 1)

(It applies the first fixture offset)

(Programming at fixture 2)

(Cancel fixture offset. No fixture system is active)

Considerations

A fixture offset, by itself, does not cause any axis movement.

Properties

On power-up, the CNC assumes the fixture offset that was active when the CNC was turned off. On the other hand, the fixture offset is neither affected by functions M02 and M30 nor by RESETTING the CNC.

CNC 8060

CNC 8065

(R EF : 1901)

·95·

5.

5.4

Programming manual.

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.

N100 G90 G01 X40 Y30

N110 G92 X0 Y0

...

N200 G90 G01 X80 Y0

N210 G92 X0 Y0

...

N300 G92 X120 Y30

(Positioning at P0)

(Presetting P0 as part zero)

(Machining of profile 1)

(Positioning at P1)

(Presetting P1 as part zero)

(Machining of profile 2)

(Recovering OW as part zero)

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.

CNC 8060

CNC 8065

(R EF : 1901)

·96·

Programming manual.

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.

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

G159=11

The CNC applies the second zero offset.

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

G59

The CNC applies the first zero offset (G159=1).

The CNC applies the sixth zero offset (G159=6).

30

10

O

M

Y

70

Ow

G54

Ow

G55

20 50

G54 (G159=1)

G55 (G159=2)

P1

G56 (G159=3)

Ow G56

120

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)

X

20

50

120

X

Y

70

30

10

5.

CNC 8060

CNC 8065

(R EF : 1901)

·97·

5.

CNC 8060

CNC 8065

(R EF : 1901)

·98·

X 90

A4

150

G57

90

A3

240

G56

90

A2

Programming manual.

90

A1

330

G55

420

G54

Z

G54 (G159=1)

G55 (G159=2)

G56 (G159=3)

G57 (G159=4)

0

0

X

0

0

Z

420

330

240

150

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[4].Z=150

N100 G54

···

(It applies the first absolute zero offset)

(Machining of profile A1)

N200 G55

···

N300 G56

···

N200 G57

···

(It applies the second absolute zero offset)

(Machining of profile A2)

(It applies the third absolute zero offset)

(Machining of profile A3)

(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

A zero offset, by itself, does not cause any axis movement.

When homing an axis in JOG mode, the absolute zero offset for that axis is canceled.

Properties of the functions

Functions G54, G55, G56, G57, G58, G59 and G159 are modal and incompatible with each other and with G53 and G92.

On power-up, the CNC assumes the zero offset that was active when the CNC was turned off. On the other hand, the zero offset is neither affected by functions M02 and M30 nor by

RESETTING the CNC.

Programming manual.

5.5.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.

(V.)[ch].A.ORG.xn

(V.)[ch].A.ADDORG.xn

(V.)[ch].A.ORGT[nb].xn

R/W Meaning.

R

R

Value of the active zero offset (absolute G159 + incremental G158).

Value of the active incremental zero offset (G158).

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.

(V.)[ch].A.ORG.xn

(V.)[ch].A.ADDORG.xn

(V.)[ch].A.COARSEORG.xn

(V.)[ch].A.FINEORG.xn

(V.)[ch].A.ORGT[nb].xn

R/W Meaning.

R Value of the active zero offset (coarse absolute G159 + fine absolute G159 + incremental G158).

R

R

Value of the active incremental zero offset (G158).

Value of the active absolute zero offset (G159), coarse part.

Value of the active absolute zero offset (G159), fine part.

R

R/W Offset set in the zero offset [nb]; coarse part plus fine part. When writing this variable, the value is assigned to the coarse part deleting the fine part.

(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.

Syntax of the variables.

·ch· Channel number.

·nb· Zero offset number.

·xn· Name, logic number or index of the axis.

V.A.ORG.Z

V.A.ADDORG.3

V.[2].A.COARSEORG.3

V.[2].A.FINEORG.3

V.A.ORGT[1].Z

V.A.ORGT[1].Z

V.A.COARSEORGT[4].3

V.[2].A.FINEORGT[9].3

Z axis.

Axis with logic number ·3·.

Axis with index ·3· in the channel ·2·.

Axis with index ·3· in the channel ·2·.

Zero offset G54 (G159=1). Z axis.

Zero offset G54 (G159=1). Z axis.

Zero offset G57 (G159=4). Axis with logic number ·3·.

Zero offset G159=9. Axis with index ·3· in the channel ·2·.

5.

CNC 8060

CNC 8065

(R EF : 1901)

·99·

5.

CNC 8060

CNC 8065

(R EF : 1901)

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 offset, program function G158 without axes in the block. To cancel the incremental zero offset only on particular axes, program a 0 (zero) incremental offset for each one of them.

Y

2

65

50

W

1

20

W

20 40 60

G54 (G159=1)

X

20

G55 (G159=2) 120

Y

20

20

W

120

W

4

3

X

N100 G54

···

N200 G158 X20 Y45

···

N300 G55

···

N400 G158

···

(It applies the first zero offset)

(Machining of profile 1)

(Apply incremental zero offset)

(Machining of profile 2)

(It applies the second zero offset. G158 stays active)

(Machining of profile 3)

(Cancel incremental zero offset. G55 stays active)

(Machining of profile 4)

X 90

A4

90

A3

90

A2

90

A1

150 240 330

G55

G158

G54 (G159=1)

G55 (G159=2)

N100 G54

···

N200 G158 Z-90

G158

X

0

0

Z

420

330

(It applies the first absolute zero offset)

(Machining of profile A1)

(Apply incremental zero offset)

420

G54

Z

G158

·100·

Programming manual.

···

N300 G55

···

N200 G158 Z-180

···

(Machining of profile A2)

(It applies the second absolute zero offset)

(The incremental zero offset stays active)

(Machining of profile A3)

(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.

Y

80

W

50

W W

20

W

M 20 40

G54 (G159=1)

X

20

70

Y

20

W

120

X

N100 G54

N200 G158 X20 Y60

N300 G158 X50 Y30

N400 G158 X100

N500 G158 Y0

N600 G158 X0

(Apply absolute zero offset)

(It applies the first incremental zero offset)

(It applies the second incremental zero offset)

(It applies the third incremental zero offset)

(It applies the fourth incremental zero offset)

(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.

5.

CNC 8060

CNC 8065

(R EF : 1901)

·101·

5.

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 8060

CNC 8065

(R EF : 1901)

·102·

Programming manual.

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).

Y Y

Ow

O M

O F X

X

N10 V.G.FIX=1

N20 G54

N30 #MCS X20 Y20

N40 G01 X60 Y0

N50 G53

(Activate fixture offset. Program with respect to OF)

(Apply the zero offset. Program with respect to OW)

(Activate machine coordinate system. Program with respect to OM)

(Program with respect to OW)

(Cancel zero offset G54. Program with respect to OF)

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.

5.

CNC 8060

CNC 8065

(R EF : 1901)

·103·

5.

5.7

Programming manual.

Polar origin preset (G30)

Function G30 may be used to preset any point of the work plane as the new polar origin.

If not selected, it assumes as polar origin the origin of the active reference system (part zero).

Programming

The polar origin preset must be programmed alone in the block. The programming format is "G30 I J", where:

I, J They define the abscissa and ordinate of the new polar origin. They must be defined in absolute 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

G30

It assumes as the new polar origin the point whose abscissa is "I" and ordinate "J" referred to part zero.

The current tool position is assumed as the new polar origin.

Y

P2

P3

30

P1

X

P0

35

Assuming that the starting point is X0 Y0, you get:

G30 I35 J30

G90 G01 R25 Q0

G03 Q90

G01 X0 Y0

M30

(Preset P3 as the polar origin)

(Point P1)

(Point P2)

(Point P0)

CNC 8060

CNC 8065

(R EF : 1901)

·104·

Programming manual.

90

80

X

40

P0

P1

P5

P2 P3

50

P6 P4

90 130 170

Z

G18 G151

G90 X180 Z50

G01 X160

G30 I90 J160

G03 Q270

G01 Z130

G30 I130 J0

G02 Q0

; Main plane Z-X, and programming in diameters.

; Point P0, programming in diameters.

; Point P1, in a straight line (G01).

; Presets P5 as polar origin.

; Point P2, in arc (G03).

; Point P3, in a straight line (G01).

; Presets P6 as polar origin.

; Point P4, in arc (G02).

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.

5.

CNC 8060

CNC 8065

(R EF : 1901)

·105·

5.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·106·

6.

TECHNOLOGICAL FUNCTIONS

6

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) interpolations.

Movements in G00 (rapid traverse) are executed in rapid regardless of the programmed "F" value.

Movement without programmed feedrate.

In principle, the CNC will show the corresponding error when programming a movement in

G01/G02/G03 without having set a feedrate.

Optionally, the manufacturer may have configured the CNC to make the movements at the maximum machining feedrate, set by machine parameter MAXFEED.

Feedrate limitation.

The manufacturer may have limited the maximum feedrate with machine parameter

MAXFEED. When trying to exceed the maximum feedrate via part-program, via PLC or from the operator panel, the CNC limits the feedrate to the maximum value set without showing any error message or warning.

If this parameter is set to zero, the machining feedrate is not limited and the CNC assumes the one set for G00 as the maximum feedrate.

Variable to limit the feedrate via PLC.

(V.)[n].PLC.G00FEED

is a variable that may be written from the PLC to set, at a particular moment and in real time, the maximum feedrate of the channel for any type of movement.

Feedrate regulation.

The programmed feedrate "F" may be varied between 0% and 200% using the selector switch on the CNC's operator panel or it may be selected by program or by PLC. However, the maximum override is limited by the machine manufacturer [G.M.P. "MAXOVR"].

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.

CNC 8060

CNC 8065

(R EF : 1901)

·107·

6.

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).

Feedrate direction on linear and circular interpolations.

When only the main axes are involved in the interpolation, the relationship between the components of the feedrate on each axis and the programmed "F" is the same as between the displacement of each axis and the resulting programmed displacement.

Fx =

   x

 2

+

  y

 2 

Fy =

   x

 2

+

  y

 2 

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.

CNC 8060

CNC 8065

(R EF : 1901)

·108·

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

G93

Feedrate in millimeters/revolution (inches/revolution).

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:

G94

G95

G93

Linear axes millimeters (inches)/minute millimeters (inches)/revolution seconds

Rotary axes degrees/minute degrees/revolution 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.

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"].

6.

CNC 8060

CNC 8065

(R EF : 1901)

·109·

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

G193

Feedrate blending at the end of the block.

Interpolating the feedrate.

These functions may be programmed anywhere in the program and they don't have to go alone in the block.

G108

Feedrate blending at the beginning of the block

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".

CNC 8060

CNC 8065

(R EF : 1901)

·110·

N10 G01 G108 X100 F300

N20 X250 F100

N10 G01 G108 X100 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".

N10 G01 G109 X100 F300

N20 X250 F100

N10 G01 G109 X100 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

Programming manual.

Considerations

Adapting the feedrate (G108 and G109) is only available when the manufacturer has set the

CNC to operate with either trapezoidal or square-sine (bell shaped) acceleration. Feedrate interpolation (G193) is only available when the manufacturer has set the CNC to operate with linear acceleration. The type of acceleration active at the CNC may be consulted in general machine parameter SLOPETYPE.

By default, the CNC applies the most restrictive feedrate adaptation in each situation without exceed the feedrate defined for each block. In other words, the CNC applies G108 to raise the feedrate and G109 to lower it.

Raise the feedrate, G108.

Lower the feedrate, G109.

6.

i

N10 G01 X100 F100

N20 X250 F300

N10 G01 X100 F300

N20 X250 F100

The CNC will not interpolate the feedrate for the mirror image with a reduced feedrate. In this situation, as the axis reaches F0 at the end of the block before G193 (mirror image point), it performs the next movement at the programmed feedrate along with to G193.

N10 G0 X1100

N20 G01 X1000 F120

N30 G01 G193 X2000 F100 ; Mirror image of movement with a reduced feedrate.

Properties of the functions

Functions G108, G109 andG193 are not modal.

On power-up, after executing an M02 or M30, and after an EMERGENCY or RESET, the

CNC applies function G108 to accelerate and G109 to decelerate.

CNC 8060

CNC 8065

(R EF : 1901)

·111·

6.

CNC 8060

CNC 8065

Programming manual.

6.2.3

Constant feedrate mode (G197/G196)

With these functions, it is possible to choose whether the feedrate at the tool center is maintained constant while machining or the feedrate at the cutting edge so when working with tool radius compensation, the programmed "F" corresponds to the contact point between the part and the tool.

Programming

The functions related to the feedrate type are:

G197 Constant tool center feedrate.

G196 Constant cutting point feedrate.

These functions may be programmed anywhere in the program and they don't have to go alone in the block.

G197

Constant tool center feedrate

After executing G197, the CNC interprets that the programmed "F" corresponds to the tool center. This means that the feedrate at the cutting point increases on inside arcs and decreases on outside arcs.

Constant cutting point feedrate:

F

R

=

R + r

P

Where:

F

P

R r

Programmed feedrate.

Path radius.

Tool radius.

G196

Constant cutting point feedrate

After executing G196, the CNC interprets that the programmed "F" corresponds to the contact point between the tool and the part. This results in a uniform part surface even on arcs.

Minimum radius for applying constant feedrate

Using the instruction "#TANGFEED RMIN [<radius>]" a minimum radius may be set so that constant tangential feedrate is only applied on those arcs whose radius is bigger than the minimum set. If it is not programmed or it is set to zero, the CNC will apply constant tangential feedrate on all the arcs.

The minimum radius is applied from the next motion block on and it keeps its value after executing G197.

Properties of the functions

Functions G197 and G196 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 G197.

(R EF : 1901)

·112·

Programming manual.

N10 G01 G196 G41 X12 Y10 F600

N20 G01 X12 Y30

N30 G02 X20 Y30 R4

N40 G03 X30 Y20 R10

N50 #TANGFEED RMIN [5]

N60 G01 X40 Y20

N70 G03 X50 Y30 R10

N80 G02 X58 Y30 R4

N90 G01 X58 Y20

N100 #TANGFEED RMIN [15]

N110 G03 X68 Y10 R10

N120 G01 X80 Y10

N130 G01 G40 X100

N140 M30

(Tool radius compensation and constant tangential feedrate)

(Constant tangential feedrate)

(Constant tangential feedrate)

(Minimum radius = 5)

(Constant tangential feedrate)

(No constant tangential feedrate.

R

PROGRAMMED

< R

MINIMUM

)

(Minimum radius = 15)

(No constant tangential feedrate.

R

PROGRAMMED

< R

MINIMUM

)

6.

CNC 8060

CNC 8065

(R EF : 1901)

·113·

6.

6.2.4

Cancellation of the % of feedrate override (G266)

Programming manual.

G266

Feedrate override at 100%

This function sets the feedrate override at 100%, which can neither be changed by selector switch on the operator panel nor via PLC.

Function G266 only affects the block where it has been programmed, therefore, it only makes sense to add it to a block that defines a movement (motion block).

CNC 8060

CNC 8065

(R EF : 1901)

·114·

Programming manual.

6.2.5

Acceleration control (G130/G131)

These functions allow to change the acceleration and deceleration of the axes and spindles.

Programming

The functions related to acceleration control are:

G130 Percentage of acceleration to be applied per axis or spindle.

G131 Percentage of acceleration to be applied, global.

6.

a

0

: Nominal acceleration, set by the machine manufacturer.

a

P

: Acceleration to be applied, set by the operator.

G130

Percentage of acceleration to be applied per axis or spindle.

The percentage of acceleration to be applied per axis or spindle is set by G130 followed by the axes and spindles together with the percentage to be applied to each of them.

The acceleration values to be applied must be integers (not decimals).

...

G00 X0 Y0

G01 X100 Y100 F600

G130 X50 Y20 (Acceleration on the X axis = 50%)

(Acceleration on the Y axis = 20%)

G01 X0

G01 Y0

G131 100 X50 Y80 (Restore 100% of acceleration on all the axes)

(Movement to point X=50 Y=80)

...

G131

Percentage of acceleration to be applied, global

The percentage of acceleration to be applied to all the axes and spindles is set by G131 followed by the new acceleration value to be applied.

The acceleration values to be applied must be integers (not decimals).

When added to a motion block, the new values will be assumed before executing the move.

Considerations

The #SLOPE instruction determines the influence of the values defined with these values.

• In rapid positioning (G00)

• In the acceleration or deceleration stage.

• In the jerk of the acceleration or deceleration stages.

The programmed percentages are absolute, in other words, programming a 50% twice means that 50% will be applied, not 25%.

CNC 8060

CNC 8065

(R EF : 1901)

·115·

6.

Programming manual.

Properties of the functions

Functions G130 and G131 are modal and incompatible with each other.

On power-up, after an M02, M30, EMERGENCY or a RESET, the CNC restores 100% of acceleration for all the axes and spindles.

CNC 8060

CNC 8065

(R EF : 1901)

·116·

Programming manual.

6.2.6

Jerk control (G132/G133)

The jerk of axes and spindles may be modified with these functions.

Programming

The functions associated with jerk control are:

G132 Percentage of jerk to be applied per axis or spindle.

G133 Percentage of jerk to be applied, global.

G132

Percentage of jerk to be applied per axis or spindle.

The percentage of jerk to be applied per axis or spindle is set by G132 followed by the axes and spindles together with the new jerk to be applied to each of them.

The jerk values to be applied must be integers (not decimals).

G00 X0 Y0

G01 X100 Y100 F600

G132 X20 Y50 (Jerk on the X axis = 20%)

(Jerk on the Y axis = 50%)

G01 X0

G01 Y0

G133 100 X50 Y80 (Restore 100% of jerk on all the axes. Movement to point X=50 Y=80)

G133

Percentage of jerk to be applied, global

The percentage of jerk to be applied to all the axes and spindles is set by G133 followed by the new jerk value to be applied.

The jerk values to be applied must be integers (not decimals).

When added to a motion block, the new jerk values will be assumed before executing the move.

Considerations

The #SLOPE instruction determines whether the new percentages are to be applied or not on to rapid traverse movements (G00).

The programmed percentages are absolute, in other words, programming a 50% twice means that 50% will be applied, not 25%.

Properties of the functions

Functions G132 and G133 are modal and incompatible with each other.

On power-up, after an M02, M30, EMERGENCY or a RESET, the CNC restores 100% of jerk for all the axes and spindles.

6.

CNC 8060

CNC 8065

(R EF : 1901)

·117·

6.

Programming manual.

6.2.7

Feed-Forward control (G134)

Feed-Forward control may be used to reduce the amount of following error (axis lag).

Feed-forward may be applied via machine parameters and via PLC as well as by program.

The value defined by PLC will be the one with the highest priority and the one defined by the machine parameters will have the lowest priority.

Programming

G134

Percentage of Feed-Forward to be applied

The Feed-Forward percentaje is set by G134 followed by the axes and the new percentage of Feed-Forward to be applied to each axis.

The Feed-forward values to be applied may be defined with up to two decimals.

G134 X50.75 Y80 Z10 (Percentage of Feed-Forward to be applied:)

(On the X axis = 50.75%)

(On the Y axis = 80%)

(On the Z axis = 10%)

Considerations

The maximum Feed-Forward value to be applied is 120%.

The programmed percentages are absolute, in other words, programming a 50% twice means that 50% will be applied, not 25%.

The value defined with G134 prevails over those defined in the machine parameters, but not over the one defined by PLC.

Properties of the functions

Function G134 is modal.

On power-up, after an M02 or M30, EMERGENCY or a RESET, the CNC restores the Feed-

Forward set by the machine manufacturer for each axis.

Variable to define the feed-forward from the PLC

The write variable

(V.)A.PLCFFGAIN.Xn

may be used to set the feed-forward for each axis from the PLC. The value defined by this variable prevails over the ones defined by machine parameters or by program.

Setting this variable with a negative value cancels its effect (a zero value is also valid). This variable is initialized neither by a reset nor when validating the parameters.

CNC 8060

CNC 8065

(R EF : 1901)

·118·

Programming manual.

6.2.8

AC-Forward control (G135)

AC-Forward control may be used to improve system response in acceleration changes and reduce the amount of following error (axis lag) on the acceleration and deceleration stages.

AC-forward may be applied via machine parameters and via PLC as well as by program.

The value defined by PLC will be the one with the highest priority and the one defined by the machine parameters will have the lowest priority.

Programming

G135

Percentage of AC-Forward to be applied

The AC-Forward percentaje is set by G135 followed by the axes and the new percentage of AC-Forward to be applied to each axis.

The AC-forward values to be applied may be defined with up to one decimal.

G135 X55.8 Y75 Z110 (Percentage of AC-Forward to be applied:)

(On the X axis = 55.8%)

(On the Y axis = 75%)

(On the Z axis = 110%)

Considerations

The maximum AC-Forward value to be applied is 120%.

The programmed percentages are absolute, in other words, programming a 50% twice means that 50% will be applied, not 25%.

The value defined with G135 prevails over those defined in the machine parameters, but not over the one defined by PLC.

Properties of the functions

The G135 function is modal.

On power-up, after an M02 or M30, EMERGENCY or a RESET, the CNC restores the AC-

Forward set by the machine manufacturer for each axis.

Variable to define the AC-forward from the PLC

The write variable

(V.)A.PLCACGAIN.Xn

may be used to set the AC-forward for each axis from the PLC. The value defined by this variable prevails over the ones defined by machine parameters or by program.

Setting this variable with a negative value cancels its effect (a zero value is also valid). This variable is initialized neither by a reset nor when validating the parameters.

6.

CNC 8060

CNC 8065

(R EF : 1901)

·119·

6.

6.3

Programming manual.

Spindle speed (S)

The spindle speed is selected by program using the spindle name followed by the desired speed. The speeds of all the spindles of the channel may be programmed in the same block.

See chapter "7 The spindle. Basic control." .

S1000

S1=500

S1100 S1=2000 S4=2345

The programmed speed stays active until another value is programmed. On power-up, after executing an M02 or M30, and after an emergency or reset, the spindles assume a ·0· speed.

The speed may be programmed in rpm or in m/min (feet/min), depending on whether G197 or G196 is active. The default units are rpm.

Spindle start and stop

Defining a speed does not imply starting the spindle. The startup is defined using the following auxiliary functions.

M03 - Starts the spindle clockwise.

M04 - Starts the spindle counterclockwise.

M05 - Stops the spindle.

Maximum speed

The maximum turning speed in each range (gear) is limited by the machine manufacturer.

When programming a higher turning speed, the CNC limits its value to the maximum allowed by the active range (gear). The same thing occurs when trying to exceed the maximum limits using the "+" and "-" keys of the operator panel or doing it via PLC or by program.

Speed override

The programmed "S" speed may be varied between 50% and 120% using the "+" and "-" of the operator panel or via PLC. However the maximum and minimum variation may be different depending on how the machine manufacturer has set [A.M.P. "MINOVR" y

"MAXOVR"].

Likewise, the incremental step associated with the "+" and "-" keys of the Operator Panel to change the programmed spindle speed "S" will be 10; but this value may be different depending on the setting of axis machine parameter [P.P.E. "STEPOVR"].

During threading operations, the programmed speed cannot be overridden and it will be set at 100% of the programmed "S" speed.

CNC 8060

CNC 8065

(R EF : 1901)

·120·

Programming manual.

6.4

Tool number (T)

The "T" code identifies the tool to be selected. The tools may be in a magazine managed by the CNC or in a manual magazine (referred to as ground tools).

The programming format is T<0-4294967294> and it can be programmed using parameters and arithmetic expressions. In these cases, by default, the value calculated is rounded up to an integer. If the result is negative, the CNC will issue the pertinent error message.

Definition

To select a tool, it must be previously defined. To do that, the CNC offers a table where the user may define the data for each tool. On the other hand, when having a magazine managed by the CNC, one must define the magazine position occupied by each tool. To do that, the

CNC offers a table where the user may define the position of each tool. The table data may be defined:

• Manually from the CNC's front panel (as described in the Operating Manual).

• Via program, using the associated variables (as described in the relevant chapter of this manual).

Select a tool

The tool required for machining may be selected by program using the "T<n>" code where

<n> is the tool number.

• On a lathe, the "T" code selects the tool in the tool holder.

Example on a lathe model.

N10 ...

N20 T1

N30 ...

N40 ...

N50 T2

(The CNC selects tool T1 in the turret)

(The CNC loads tool T1 into the spindle)

(The CNC selects tool T2 in the turret)

• On a milling machine, The "T" code only selects the tool. After selecting a tool, function

M06 must be programmed to load it into the spindle. Loading/unloading is carried out depending on the subroutine associated with the M06 (if so defined by the machine manufacturer).

Example on a mill model.

N10 ...

N20 T1

N30 M06

(The CNC selects tool T1 in the tool magazine)

(The CNC loads tool T1 into the spindle)

N40 ...

N50 T2

N60 ...

N70 ...

(The CNC selects tool T2)

N80 ...

N90 M06

N100 ...

N110 M30

(The CNC loads tool T2 into the spindle)

6.

CNC 8060

CNC 8065

(R EF : 1901)

·121·

6.

CNC 8060

CNC 8065

(R EF : 1901)

·122·

Programming manual.

Loading and unloading a tool in the magazine

To load the tools into the magazine, the magazine must be in load mode. To unload the tools from the magazine, the magazine must be in unload mode. The tools are loaded from ground to the magazine going through the spindle and are unloaded to ground going through the spindle.

The magazine's work mode is set by variable

V.[n].TM.MZMODE

where n

is the channel number. Depending on the value of the variable, the manager will assume one of the following work modes.

1

2

Value

0

Meaning

Normal mode (by default and after Reset).

Magazine loading mode.

Magazine unloading mode.

Once the magazine is load or unload mode, the operation is carried out from the program using the code

T n where n

is the tool number. Once the tools have been loaded or unloaded, the magazine must be set to normal mode (value of ·0·).

V.[1].TM.MZMODE = 1

T1 M6

T2 M6

···

V.[1].TM.MZMODE = 0

Loading a tool in a specific magazine position

Some tools, due to their characteristics (size, weight, etc.) must be placed in a specific magazine position.

The command

POS n

defines the magazine position for the tool. It must always be programmed in the same block as

T n

.

V.[1].TM.MZMODE = 1

T3 M6 POS24

(Places tool 3 in magazine position 24)

···

V.[1].TM.MZMODE = 0

The magazine position can only selected when the magazine is in load mode. Otherwise, it issues the relevant error message.

Loading a tool in a system with several magazines

When using more than one tool magazine, one must indicate in which one of them the tool is to be loaded using the code

MZ n

, where n

indicates the magazine number. It must always be programmed in the same block as

T n

.

T1 MZ1 M6

(Place tool 1 in the first magazine)

T8 MZ2 POS17 M6

(Place tool 8 in position 17 of the second magazine)

Considerations. The tool and the M06 function.

The machine manufacturer may have associated a subroutine with the "T" code, that will be executed automatically when selecting the tool. If the M06 has been included in this subroutine, the tool will be loaded into the spindle when executing the "T" code.

Programming manual.

Positioning a turret magazine.

The CNC allows positioning the turret in a particular position whether there is a tool in the indicated position or not. If the selected position contains a tool, the CNC assumes it as programmed tool; otherwise, the CNC assumes T0.

Programming.

When programming this instruction, you must define the magazine number and the position to be selected on the turret. The new position of the turret may be defined either incrementally, defining the number of positions to rotate and the rotating direction, or absolutely, defining the position to reached.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets

#ROTATEMZ{mz} P{pos}

#ROTATEMZ{mz} {±n}

{mz}

{pos}

{±n}

Magazine number.

Absolute turret position.

Number of positions to rotate; the sign indicates the rotating direction, positive or negative. If only the sign is programmed, the turret rotates one position.

#ROTATEMZ1 P5

(Absolute position; select position 5).

#ROTATEMZ2 +3

(Incremental positioning; rotate the turret 3 positions in positive direction).

#ROTATEMZ1 -7

(Incremental positioning; rotate the turret 7 positions in negative direction).

#ROTATEMZ2 +

(Incremental positioning; rotate the turret 1 position in positive direction).

#ROTATEMZ1 -

(Incremental positioning; rotate the turret 1 position in negative direction).

6.

CNC 8060

CNC 8065

(R EF : 1901)

·123·

6.5

Programming manual.

Tool offset number (D)

The tool offset contains the tool dimensions. Each tool may have several offsets associated with it in such a way that when using combined tools having parts with different dimensions, a different offset number will be used for each of those parts.

6.

CNC 8060

CNC 8065

(R EF : 1901)

·124·

When activating a tool offset, the CNC assumes the tool dimensions defined for that offset, therefore when working with tool radius or length compensation, the CNC will apply those dimensions for compensating the path.

Definition

To activate an offset, it must be previously defined. To do that, the CNC offers a portion of the tool table where the user may define several offsets. The table data may be defined:

• Manually from the CNC's front panel (as described in the Operating Manual).

• Via program, using the associated variables (as described in the relevant chapter of this manual).

The offsets are only associated with the tool for which they have been defined. This means that when activating a tool offset, the offset of the corresponding active tool will be activated.

Activation

Once the tool offsets have been defined in the table, they may be selected by program using the "D<n>" code where <n> is the number of the offset to be applied. The offset number may also be defined using a parameter or an arithmetic expression.

If no tool offset is programmed, the CNC assumes tool offset D1.

N10 ...

N20 T7 D1

N30 M06

N40 F500 S1000 M03

N50 ...

N60 D2

N70 F300 S800

N80 ...

N90 ...

(Select tool T7 and tool offset D1)

(Load tool T7 into the spindle)

(Operation 1)

(Select tool offset D2 of T7)

(Operation 2)

Only one tool offset may be active at a time; therefore, activating a tool offset will cancel the previous one. Programming "D0" will cancel the active offset.

Programming manual.

N10 ...

N20 T1 M06

N30 F500 S1000 M03

N40 ...

N50 T2

N60 D2

N70 F300 S800

N80 ...

N90 M6

N100 F800 S1200 M03

N110 ...

N120 ...

(Select and load tool T1. Offset D1 is activated by default)

(Operation 1)

(Prepare tool T2)

(Select tool offset D2 for tool T1)

(Operation 2)

(loading tool T2 with its offset D1)

(Operation 3)

Considerations

Activating the tool offset also activates tool length compensation. This compensation is also activated after a tool change because it "D1" is assumed after the change (if another one has not been programmed).

Canceling the tool offset with "D0" also cancels tool length and radius compensation.

6.

G01 Z0 D1 G01 Z0 D0

CNC 8060

CNC 8065

(R EF : 1901)

·125·

6.

6.6

Programming manual.

Auxiliary (miscellaneous) functions (M)

Auxiliary "M" functions are related to the overall CNC program execution and the control of the various devices of the machine such as spindle gear change, coolant, tool changes and so on.

Programming

Up to 7 "M" functions may be programmed in a block. The programming format is M<0 -

65535>, and it can be programmed using parameters and arithmetic expressions. In these cases, by default, the value calculated is rounded up to an integer. If the result is negative, the CNC will issue the pertinent error message.

Execution

Depending on how they have been set by the machine manufacturer ("M" function table):

• The "M" functions will be executed before or after the movement of the block where they were programmed.

When setting an "M" to be executed after the move of the block, depending on the active function G05 or G07:

G05

G07

The "M" function is executed with the theoretical end of the movement (when the axes have not reached position).

The "M" function is executed with the real end of the movement (when the axes are already in position).

• The CNC will wait or not for the confirmation that the "M" function has been executed before resuming program execution. If it has to wait for confirmation, it will have to be received before or after executing the movement of the block where it has been programmed.

• The "M" functions that have not been set in the table will be executed before the movement of the block where they have been programmed and the CNC will wait for the

"M-done" confirmation before executing the movement of the block.

Certain "M" functions have a particular internal meaning in the CNC. The section on

"6.6.1 List of "M" functions" in this chapter shows a list of these functions with their internal

meaning for the CNC.

Associated subroutine

The "M" functions may have an associated subroutine that will be executed instead of the function.

If, within a subroutine associated with an "M" function, the same "M" function is programmed, this function will be executed, but not its associated subroutine.

CNC 8060

CNC 8065

(R EF : 1901)

·126·

Programming manual.

6.6.1

List of "M" functions

Program Interruption (M00/M01)

M00

Program stop.

Function M00 interrupts the execution of the program. It does not stop the spindle or initialize the cutting conditions.

The [CYCLE START] key of the operator panel must be pressed again in order to resume program execution.

This function should be set in the "M" function table so it is executed at the end of the block where it is programmed.

M01

Conditional program stop.

When the external conditional stop switch is active (PLC signal "M01 STOP"), it interrupts program execution. It does not stop the spindle or initialize the cutting conditions.

The [CYCLE START] key of the operator panel must be pressed again in order to resume program execution.

This function should be set in the "M" function table so it is executed at the end of the block where it is programmed.

Tool change (M06)

M06

Tool change.

The M06 function executes the tool change. The CNC will manage the tool change and update the table for the tool magazine.

This function should be set in the "M" table so it executes the subroutine corresponding to the tool changer installed on the machine.

6.

CNC 8060

CNC 8065

(R EF : 1901)

·127·

6.

6.7

Programming manual.

Auxiliary functions (H)

Auxiliary "H" functions are used to send information out to the PLC. They differ from the "M" functions in that the "H" functions do not wait for confirmation that the function has been executed in order to go on executing the program.

Programming

Up to 7 "H" functions may be programmed in the same block. The programming format is

H<0 - 65535>, and it can be programmed using parameters and arithmetic expressions. In these cases, by default, the value calculated is rounded up to an integer. If the result is negative, the CNC will issue the pertinent error message.

Execution

The auxiliary "H" functions are executed at the beginning of the block where they have been programmed.

CNC 8060

CNC 8065

(R EF : 1901)

·128·

7.

THE SPINDLE. BASIC CONTROL.

7

The CNC can have up to four spindles distributed between the various channels of the system. A channel may have one, several or no spindles associated with it.

Each channel can only control its spindles; it is not possible to start up or stop the spindles of another channel directly. Indirectly, the CNC can control the spindles of another channel using the instruction #EXBLK.

Multi-spindle channel

A multi-spindle channel is one that has two or more spindles. Via part-program or MDI, it is possible to indicate which spindle the commands are directed to; when not indicated, the commands are directed to the master spindle of the channel.

All the spindles of the channel may be running at the same time. Also, each of them may be in a different mode; turn in different directions, be in positioning mode, etc.

Master spindle of the channel

The master spindle is the main spindle of the channel. In general, whenever a channel has a single spindle, it will be its master spindle. When a channel has several spindles, the CNC

will choose the master spindle according to the established criteria. See "7.1 The master spindle of the channel" on page 130.

CNC 8060

CNC 8065

(R EF : 1901)

·129·

7.

CNC 8060

CNC 8065

(R EF : 1901)

7.1

Programming manual.

The master spindle of the channel

The master spindle is the main spindle of the channel. It is the spindle that receives the commands when no specific spindle is mentioned. In general, whenever a channel has a single spindle, it will be its master spindle.

CNC criterion for selecting the master spindle after executing

M02, M30 or after an emergency or a reset or restarting the CNC.

The selection of the master spindle in the channel depends on machine parameter

MASTERSPDL. This parameter indicates whether the channel keeps the current master spindle or recovers its original master spindle after executing M02, M30 or after an emergency or reset or restarting the CNC.

MASTERSPDL

Temporary.

Maintained.

Meaning.

The channel recovers its original master spindle if it is free; otherwise, it selects as master the firs spindle available in the original configuration.

The channel keeps the active master spindle.

When a channel does not keep its master spindle, on CNC power-up and after a reset, the channel assumes as master spindle the first spindle defined by the machine parameters of the channel (original master). If this spindle is parked or "handed out" to another channel, the channel assumes as master spindle the next spindle defined by the machine parameters and so on. If the channel does not have spindles of the original configuration (the one defined by the machine parameters) because they are parked or "handed out", it assumes as master spindle the first one of the current configuration that is not parked.

Exchanging spindles between channels.

When spindles are being exchanged between channels, the behavior of this parameter also depends on parameter AXISEXCH that sets whether the channel change of a spindle is temporary or permanent. If the current master spindle of the channel is a spindle "loaned" by another channel and its permission to change channels is temporary (AXISEXCH =

Temporary), the spindle returns to its original channel.

Which one is the master spindle after executing M30?

When executing an M30, it follows the same criteria, but considering that after executing this function, the temporary spindle swaps are not undone; they are undone at the beginning of the next program. This means that the original master might not be available after executing an M30, but it will be at the beginning of the next program. In this situation, after an M30, the channel will temporarily assume a master spindle that will change at the beginning of the next program.

W h i c h o n e i s t h e m a s t e r s p i n d l e a f t e r m o d i f y i n g t h e configuration of the channel?.

If no master spindle is indicated, after parking or swapping spindles, it assumes one according to the following criteria. In general, whenever a channel has a single spindle, it will be its master spindle.

• If the whole system only has one spindle, it will be the master spindle of the current channel.

• If a spindle is added to a channel that does not have one, it will be the master spindle.

• If a channel releases its master spindle and it has only one spindle left, this one will be its new master spindle.

• If a channel having two spindles but no master spindle releases one of them, the remaining one will be its master spindle.

• At first, in a channel with several spindles, the master spindle will be the one configured by machine parameters.

·130·

Programming manual.

• If two or more spindles remain in a channel and none of the previous rules can be applied, it applies the following criteria.

If any of the spindles is the original master, it is assumed as master spindle. If it is parked, it selects the next spindle from the original configuration (those defined by the machine parameters) and so on.

If no spindles from the original configuration are available in the channel, it assumes as master spindle the first one of its current configuration. If it is parked, it selects the next spindle and so on.

Which one is the master spindle after parking or unparking spindles?

The same treatment is applied as when modifying the configuration of the channel.

7.

CNC 8060

CNC 8065

(R EF : 1901)

·131·

7.

Programming manual.

7.1.1

Manual selection of a master spindle

Selecting a new master spindle

Whenever a channel has a single spindle, it will be its master spindle. When a channel has several spindles, the CNC will choose the master spindle according to the criteria described earlier. However, a different master spindle may be selected via MDI or via part-program using the #MASTER instruction.

Programming format.

#MASTER sp sp Spindle name.

#MASTER S

#MASTER S2

Canceling the master spindle

The master spindle may be selected at any time. If the master spindle changes channels, the channel will select a new master spindle according to the criterion described earlier.

On power-up, after executing an M02 or M30, and after an emergency or reset, the CNC acts as defined by the OEM (parameter MASTERSPDL).

CNC 8060

CNC 8065

(R EF : 1901)

·132·

Programming manual.

7.2

Spindle speed

The spindle speed is selected by program using the spindle name followed by the desired speed. The speeds of all the spindles of the channel may be programmed in the same block.

It is not possible to program the speed of a spindle that is not in the channel.

The programmed speed stays active until another value is programmed. On power-up, after executing an M02 or M30, and after an emergency or reset, the spindles assume a ·0· speed.

Programming format

The spindle may have any name in the S, S1...S9 range. There is no need to program the

"=" sign for the "S" spindle.

Sn={vel}

S{vel}

Sn Spindle name.

S

{vel}

Spindle "S".

Turning speed.

S1000

S1=500

S1100 S1=2000 S4=2345

The speed may be programmed in rpm or in m/min (feet/min), depending on whether G97 or G96 is active. The default units are rpm.

Spindle start and stop

Defining a speed does not imply starting the spindle. The startup is defined using the

following auxiliary functions. See "7.3 Spindle start and stop" on page 136.

M03 - Starts the spindle clockwise.

M04 - Starts the spindle counterclockwise.

M05 - Stops the spindle.

Speed ranges (gears)

Each spindle may have up to 4 different ranges (gears). Each gear means a speed range for the CNC work in. The programmed speed must be within the active gear; otherwise, a gear change will be required. The CNC does not admit speeds higher than the one defined for the last gear.

The gear change may be automatic or manual. When the change is manual, the gear is selected with auxiliary functions M41 through M44. When the change is automatic, the CNC

itself generates these functions according to the programmed speed. See "7.4 Gear change." on page 138.

7.

CNC 8060

CNC 8065

(R EF : 1901)

·133·

7.

Programming manual.

7.2.1

G192. Turning speed limitation

Function G192 limits the spindle turning speed in both work modes; G96 and G97. This function is especially useful when working at constant cutting speed while machining large parts or when doing spindle maintenance work.

If function G192 is not programmed, the turning speed is limited by machine parameter

G00FEED of the gear.

G192. Programming the turning speed limit

The turning speed limit is set by programming function G192 and then the maximum speed for each spindle. This function may be programmed while the spindle is running; in this case, the CNC will limit the speed to the new programmed value.

Programming format

The spindle may have any name in the S, S1...S9 range. There is no need to program the

"=" sign for the "S" spindle.

G192 Sn={vel}

G192 S{vel}

{vel} Maximum spindle speed.

G192 S1000

G192 S1=500

The maximum turning speed is always set in RPM. It is possible to program using arithmetic parameters, variables or expressions.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G192 is modal.

The CNC cancels function G192 on power-up. After executing an M02 or M30, and after an emergency or a reset, the CNC maintains function G192.

CNC 8060

CNC 8065

(R EF : 1901)

·134·

Programming manual.

7.2.2

Constant surface speed

i The following functions are oriented to lathe type machines. In order for Constant Surface Speed mode to be available, the machine manufacturer must have set one of the axis -face axis- (usually axis perpendicular to the shaft of the part).

The functions related to spindle speed programming may be used to select either Constant

Surface Speed mode or Constant turning speed mode. Constant Surface Speed is only available at the master spindle of the channel.

G96 - Constant surface speed.

G97 - Constant turning speed.

At constant surface speed, the CNC changes the spindle speed as the perpendicular axis moves in order to maintain the cutting speed constant between the tool and the part, thus optimizing the machining conditions. When working at constant surface speed, it is recommended to limit by program the maximum turning speed that the spindle can reach.

See "7.2.1 G192. Turning speed limitation" on page 134.

G96. Constant surface speed.

The G96 function only affects the master spindle of the channel.

After executing G96, the CNC interprets that the spindle speeds programmed for the master spindle of the channel are in meters/minute (feet/minute). This work mode is activated when programming a new speed while G96 is active.

This function may be programmed anywhere in the program and it doesn't have to go alone in the block. It is recommended to program the speed in the same block as the G96 function.

The spindle gear (range) must be selected in the same block or in a previous one.

G97. Constant turning speed

The G97 function affects all the spindles of the channel.

After executing G97, the CNC interprets that the spindle speeds programmed are in rpm and starts working at constant turning speed.

This function may be programmed anywhere in the program and it doesn't have to go alone in the block. It is recommended to program the speed in the same block as the G97 function; if not programmed, the CNC assumes as programmed speed the one the spindle is currently turning at. The gear may be selected at any time.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Functions G96 and G97 are modal and incompatible with each other. The CNC assumes function G97 on power-up or after an emergency. After executing an M02 or M30, and after a reset, the behavior of the function G96 depends on the parameter SPDLSTOP.

SPDLSTOP

Yes

No

Meaning.

After an M2, M30 or reset, the CNC cancels the function G96 (active G97).

After an M2, M30 or reset, the CNC keeps the function G96 active.

7.

CNC 8060

CNC 8065

(R EF : 1901)

·135·

7.

CNC 8060

CNC 8065

(R EF : 1901)

7.3

Programming manual.

Spindle start and stop

A speed must be set in order to start up a spindle. The spindle start-up and stop are defined using the following auxiliary functions.

M03 - Start the spindle clockwise.

M04 - Start the spindle counterclockwise.

M05 - Stop the spindle.

These functions are modal and incompatible with each other and with function M19.

M03/M04. Start the spindle clockwise/counterclockwise.

Function M03 starts the spindle clockwise and function M04 counterclockwise. These functions should be set in the "M functions" table so they are executed at the end of the block where it is programmed.

These functions may be defined together with the programmed speed or in a separate block.

If the block where they are programmed does not mention any spindle, they will be applied to the master spindle of the channel.

S1000 M3

(The spindle "S" starts clockwise at 1000 rpm)

S1=500 M4

(The spindle "S1" starts counterclockwise at 500 rpm)

M4

(The master spindle starts counterclockwise)

If several spindles are programmed in a single block, functions M3 and M4 apply to all of them. To start the spindles in different directions, define next to each M function the spindle it is associated with, as follows.

M3.S / M4.S

M3 or M4 associated with the spindle S.

S1000 S2=456 M3

(Spindle "S" turning at 1000 rpm and S2 at 456 rpm, both clockwise)

M3.S S1000 S2=456 M4.S2

(The spindle "S" turns clockwise at 1000 rpm)

(The spindle "S2" turns counterclockwise at 456 rpm)

M05. Stop the spindle.

Function M05 stops the spindle.

To stop a spindle, define next to the M5 the spindle it is associated with, as follows. If it does not mention any spindle, it applies to the master spindle.

M5.S

Function M5 associated with the spindle S.

S1000 S2=456 M5

(Stops the master spindle)

M5.S M5.S2 S1=1000 M3.S1

(Stops the spindles "S" and "S2")

(Spindle "S1" turns clockwise)

Turning direction preset in the tool table.

It is possible to set a preset turning direction for each tool. The value is defined in tool table.

When assigning a turning direction in the table, the CNC will verify, during execution, that the turning direction in the table is the same as the one programmed (M03/M04). If the two directions are not the same, the CNC will display the corresponding error message. The CNC verifies this every time an M03, M04 or M06.is programmed.

·136·

Programming manual.

Knowing which is the preset turning direction.

The turning direction preset for each tool may be consulted in the tool table; the one for the active tool can also be consulted with a variable.

(V.)G.SPDLTURDIR

This variable returns the preset turning speed of the active tool. ·0· value if there is no preset turning direction, ·1· if it is M03, and ·2· if it is M04.

Canceling the preset turning direction temporarily.

The preset turning speed of the active tool may be temporarily canceled from the partprogram. This is done by setting the variable V.G.SPDLTURDIR = 0.

When changing a tool, this variable will take the corresponding value according to what has been set in the tool table.

7.

CNC 8060

CNC 8065

(R EF : 1901)

·137·

7.

CNC 8060

CNC 8065

(R EF : 1901)

7.4

Programming manual.

Gear change.

Each spindle may have up to 4 different ranges (gears). Each gear means a speed range for the CNC work in. The programmed speed must be within the active gear; otherwise, a gear change will be required.

The gear change may be automatic or manual. When the change is manual, the gear is selected with auxiliary functions M41 (gear 1) through M44 (gear 4). When the change is automatic, the CNC itself generates these functions according to the programmed speed.

M41 M42 M43

S1 S2 S3 rpm

The graphic shows a spindle with three speed ranges (gears). The first gear goes from 0 to S1 rpm; the second one from S1 to S2; the third one from S2 to S3.

The configuration of the speed ranges or gears (automatic or manual change, maximum speed for each gear, etc.) is defined by the machine manufacturer. See "How to know the gear configuration of a spindle." on page 139.

Manual gear change

When the change is manual, the gear is selected with auxiliary functions M41 through M44.

M41 - Selects gear ·1·.

M42 - Selects gear ·2·.

M43 - Selects gear ·3·.

M44 - Selects gear ·4·.

These functions may be defined together with the programmed spindles or in a separate block. If the block where they are programmed does not mention any spindle, they will be applied to the master spindle of the channel.

S1000 M41

S1=500 M42

M44

If several spindles are programmed in a single block, the functions apply to all of them. To apply different gears to the spindles, define next to each M function the spindle it is associated with, as follows.

M41.S

Function M41 associated with the spindle S.

S1000 S2=456 M41

(Gear 1 for spindle "S" and S2)

M41.S M42.S3

(Gear 1 for spindle "S")

(Gear 2 for spindle "S3")

Influence of the reset, turning the CNC off and of the M30.

Gears (speed ranges) are modal. On power-up, the CNC assumes the gear defined by the machine manufacturer. After executing an M02 or M30 and after an emergency or a reset, the CNC maintains the active gear.

Knowing which is the active gear.

The window for the M functions in the jog and automatic modes shows which is the active gear; if none is shown, it means that gear ·1· is the active one.

The active gear may be consulted using the following variable.

·138·

Programming manual.

(V.)[n].G.MS[i]

Variable that can only be read from the PRG and PLC.

The variable indicates the status of the auxiliary Mi function This variable returns a ·1· if it is active and a ·0· if not.

Gear change on Sercos spindles.

When using Sercos spindles, functions M41-M44 also involve changing the drive's velocity set.

How to know the gear configuration of a spindle.

Both the type of gear change (automatic or manual) and the maximum speed for each gear are defined by the machine manufacturer. The configuration may be checked directly in the machine parameter table or using the following variables.

How to know whether the spindle has an automatic tool changer or not.

(V.)SP.AUTOGEAR.Sn

Variable that can only be read from the PRG and PLC.

This variable indicates whether the spindle Sn has an automatic gear change or not. This variable returns a ·1· if the gear changer is automatic and a ·0· if it is manual.

Number of gears available

(V.)SP.NPARSETS.Sn

Variable that can only be read from the PRG and PLC.

This variable indicates the number of gears defined for the spindle Sn.

Maximum speed for each gear

(V.)SP.G00FEED[g].Sn

Variable that can only be read from the PRG and PLC.

This variable indicates the maximum speed of the spindle Snin the gear g.

Gear active by default.

(V.)SP.DEFAULTSET.Sn

Variable that can only be read from the PRG and PLC.

This variable indicates which is the gear assumed by the CNC on power-up for the spindle

Sn.

7.

CNC 8060

CNC 8065

(R EF : 1901)

·139·

7.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

7.5

Spindle orientation.

i This work mode is only available on machines having a rotary encoder installed on the spindle.

The spindle orientation is defined with function M19. This function stops the spindle and it positions it at an angle defined by parameter "S". See "How is positioning carried out" on page 141.

After executing function M19, the spindle no longer works in speed mode and it switches to positioning mode. This mode stays active until the spindle is started up again in speed mode with M3/M4.

Programming a spindle orientation

Every spindle positioning move requires an M19 and the positioning angle. If no angle is defined, the CNC orients the master spindle at 0º.

Even if function M19 is active, if an "S" value is defined without an M19, the CNC assumes it as the new turning speed for the next time the spindle is turned on in speed mode using functions M03/M04.

Programming format (1).

When executing function M19, the CNC interprets that the value entered with the "Sn" code indicates the angular position of the spindle. If several spindles are programmed in a single block, function M19 applies to all of them.

M19 S{pos}

S{pos} Spindle to be oriented and positioning angle.

The angle is defined in degrees.

M19 S0

(Positioning of spindle S at 0º)

M19 S2=120.78

(Positioning of spindle S2 at 120.78º)

M19 S1=10 S2=34

(Positioning of spindle S1 at 10º and S2 at 34º)

This angular position is programmed in degrees and it is always assumed in absolute coordinates, thus not being affected by functions G90/G91. To do the positioning, the CNC calculates the module (between 0 and 360º) of the programmed value.

Programming format (2). Positioning of the spindle at 0º

To orient the spindle to the ·0· position, it may also be programmed by defining, next to the

M19, the spindle to be oriented. If no spindle is defined, the CNC assumes that the master spindle is the one to be oriented.

M19.S

S Spindle to be oriented at 0º.

M19.S4

(Positioning of spindle S4 at 0º)

M19

(Positioning of the master spindle at 0º)

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

M19 is modal and incompatible with M03, M04 and M05.

On power-up, after executing an M02 or M30, and after an emergency or reset, the CNC sets the spindle in speed mode with function M05.

·140·

Programming manual.

How is positioning carried out

When executing function M19, the CNC behaves as follows.

1 The CNC stops the spindle (if it was turning).

2 The spindle no longer works in speed mode and it switches to positioning mode.

3 If it is the first time the M19 is executed, the CNC homes the spindle (home search).

4 It positions the spindle at 0º or at the angular position defined by the "S" code (if it has been programmed). To do that, it will calculate the module (between 0 and 360º) of the programmed value and the spindle will reach that position.

N10 G97 S2500 M03

(The spindle turns at 2500 RPM)

N20 M19 S50

(Spindle in positioning mode. The spindle orients at 50º)

N30 M19 S150

(Positioning at 150º)

N40 S1000

(New spindle speed. The spindle stays in positioning mode)

N50 M19 S-100

(Positioning at -100º)

N60 M03

(Spindle controlled in speed. The spindle turns at 1000 RPM)

N70 M30

It executes the M19 for the first time

When executing the M19 function for the first time, it homes the spindle. The M19 functions programmed afterwards only orient the spindle. To home the spindle again, use function G74.

7.

CNC 8060

CNC 8065

(R EF : 1901)

·141·

7.

CNC 8060

CNC 8065

Programming manual.

7.5.1

The turning direction for spindle orientation

The turning direction for positioning may be set with function M19; if not defined, the CNC applies a turning direction by default. Each spindle may have a different turning direction by default.

Turning direction by default

If no turning direction has been defined, the CNC behaves as follows. If when executing function M19, there was an M3 or M4 active, even if the speed is zero, this function will set the spindle orienting direction. If no M3 or M4 is active, the turning direction is set depending on machine parameter

SHORTESTWAY

.

• If it is a

SHORTESTWAY

spindle, it positions via the shortest way.

• If it is not a

SHORTESTWAY

type spindle, it positions in the same direction as the last spindle movement.

Turning direction defined set by the user.

The positioning direction programmed next to the M19 is applied to all the spindles programmed in the block. If the turning direction has not been programmed, each spindle will turn in the direction set earlier; if none has been defined, it will assume the turning direction by default.

The programmed turning direction is maintained until another one is programmed.

Programming format (1). Turning direction for all the spindles programmed.

M19.POS S{pos}

M19.NEG S{pos}

POS

NEG

S{pos}

Positioning in the positive direction

Positioning in the negative direction

Spindle to be oriented and positioning angle.

M19.NEG S120 S1=50

(The negative direction is applied to spindle "S" and "S1")

M19.POS S120 S1=50

(The positive direction is applied to spindle "S" and "S1")

If no spindle is defined, the CNC orients the master spindle at 0º in the indicated direction.

When programming the orienting direction for a

SHORTESTWAY type spindle, the programmed direction will be ignored.

Programming format (2). Turning direction for one spindle only.

Since several spindles may be programmed in a block, it is possible to apply the turning direction just to one of them. The rest of the spindles will turn in their active direction.

M19.POS.S S{pos} S{pos}

M19.NEG.S S{pos} S{pos}

POS.S

NEG.S

S{pos}

Spindle that orients in the positive direction.

Spindle that orients in the negative direction.

Spindle to be oriented and positioning angle.

M19.NEG.S1 S1=100 S34.75

(The negative direction is applied to spindle "S1")

(R EF : 1901)

·142·

Programming manual.

How to know the type of spindle.

The type of spindle may be checked directly in the machine parameter table or using the following variables.

(V.)SP.SHORTESTWAY.Sn

Variable that can only be read from the PRG and PLC.

This variable indicates whether the spindle Sn orients via the shortest way. This variable returns a ·1· if so.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

On power-up, after executing an M02 or M30, and after an emergency or reset, the CNC cancels the turning direction set by the user.

7.

CNC 8060

CNC 8065

(R EF : 1901)

·143·

7.

Programming manual.

7.5.2

M19 function with an associated subroutine.

Function M19 may have a subroutine associated with them that the CNC executes instead of the function. If, within a subroutine associated with an "M" function, the same "M" function is programmed, The CNC will executed it; but not its associated subroutine.

Although the function may affect more than one spindle in the same block, the CNC only executes the subroutine once. The following behavior is applicable to all positioning movements programmed in the block.

When programming function M19 and a positioning (M19 S), the CNC executes the subroutine associated with the function and ignores the positioning movement. The CNC executes the positioning when executing the M19 function from the subroutine.

• If inside the subroutine, the M19 function is not accompanied by a positioning move (S), the CNC executes the positioning programmed in the calling block.

• If inside the subroutine, the M19 function is accompanied by a positioning move (S), the

CNC executes this positioning.

The same criterion applies to the moving direction. If the turning direction is programmed with the M19 function that calls the subroutine, the turning direction is applied in the M19 programmed inside the subroutine if it another one has not been specified.

CNC 8060

CNC 8065

(R EF : 1901)

·144·

Programming manual.

7.5.3

Positioning speed

It is possible to set the spindle positioning (orienting) speed; if it is not set, the CNC assumes the one set by machine parameter

REFEED1 as the positioning speed. Each spindle may have a different positioning speed.

Programming format.

The positioning speed is set as follows.

S.POS={vel}

S

{vel}

Spindle name.

Positioning speed.

M19 S.POS=120 S1.POS=50

(Positioning of spindle "S" at 120 rpm and S1 at 50 rpm)

The positioning speed is given in rpm.

Knowing the active positioning speed.

The active positioning speed for the CNC may be consulted using the following variable.

(V.)SP.SPOS.Sn

Variable that can only be read from the PRG and PLC.

This variable indicates the active positioning speed for the spindle Sn.

7.

CNC 8060

CNC 8065

(R EF : 1901)

·145·

7.

7.6

Programming manual.

M functions with an associated subroutine.

M3, M4, M5, M19 and M41 to M44 may have a subroutine associated with them that the CNC executes instead of the function. Although a function may affect more than one spindle in the same block, the CNC only executes the subroutine once per block.

If, within a subroutine associated with an "M" function, the same "M" function is programmed,

The CNC will executed it; but not its associated subroutine. When a spindle M function is programmed inside the subroutine, it will be applied to the spindles programmed in the subroutine block itself. If the subroutine block does not indicate which spindles the function is for, the CNC will assume that it is for the spindles programmed in the subroutine calling block.

The CNC relates the functions with the spindles according to the following criterion, whether it is in the calling block or inside the subroutine.

• If the M function is assigned to a spindle (for example, M3, S), the CNC only applies the function to the indicated spindle.

• If functions M3 and M4 are not assigned to any spindle, the CNC applies them to all the spindles whose speed has been programmed in the block and have not been assigned to another M function. If there are no spindles with programmed speed, the CNC applies them to the master spindle.

• If function M19 is not assigned to any spindle, the CNC applies them to all the spindles whose speed has been programmed in the block and have not been assigned to another

M function.

• If functions M5 and M41 to M44 are not assigned to any spindle, the CNC applies them to the master spindle.

Inside the subroutine, the CNC applies this criterion to all the programmed spindle M functions, not only to the M functions that correspond to the calling block.

CNC 8060

CNC 8065

(R EF : 1901)

·146·

8.

PATH CONTROL.

8

8.1

Rapid traverse (G00).

Function G00 executes a rapid positioning, according to a straight line and to the rapid traverse determined by the OEM, from the current position to the programmed point.

Regardless of the number of axes involved, the resulting path is always a straight line. If auxiliary or rotary axes are programmed in the linear interpolation block, the CNC will calculate the feedrate for those axes so their movement begins and ends simultaneously with the main axes.

Y

X,Y

G00

X

Programming.

The G00 function can be modal or non-modal, depending on how it has been configured by the OEM (parameter G0MODAL).

• When function G00 is modal, after it has been programmed, it remains active until an incompatible function is programmed (G01, G02, G03, G33 or G63). The function G00 may be programmed alone in the block or it may be added to a movement block.

• If the G00 function is non-modal, it must be programmed for each rapid traverse block; if it is not programmed, the CNC uses G01.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G00 <X..C{position}>

X..C{position} Optional. End point of the movement.

Units: Millimeters, inches or degrees.

G00

(Activate function G00 without moving).

G00 X50.87 Y38.45

(Movement in cartesian coordinates).

G00 R50.23 Q45

(Movement in polar coordinates).

End point of the movement.

• For cartesian coordinates, defining the coordinates of the end point (X..C) on the various axes. All the axes need not be programmed, only the ones to move.

CNC 8060

CNC 8065

(R EF : 1901)

·147·

8.

Programming manual.

• For polar coordinates, define the radius (R) and the angle (Q) of the end point relative to the polar origin. The "R" radius will be the distance between the polar origin and the point. The "Q" angle will be formed by the abscissa axis and the line joining the polar origin with the point. If the angle or the radius is not programmed, it keeps the value programmed for the last move.

Considerations.

Feedrate behavior.

• A movement in G00 temporarily cancels the programmed "F" feedrate and the CNC executes the movement based according to the rapid traverse specified by the OEM

(parameter G00FEED). The CNC recovers the "F" feedrate when programming a movement function G01, G02, G03, etc.

• When several axes are involved, the resulting feedrate is calculated so at least one of the axis moves at its maximum speed.

• When defining an "F" value and G00 in the same block, the CNC will store the value assigned to "F" and it will apply it next time a G01, G02 or G03 type function is programmed.

Feedrate override.

The override percentage is set at 100% or it may be varied between 0% and 100% using the switch on the operator panel, depending on how it was set by the OEM (parameter

RAPIDOVR).

Canned cycles.

Within the range of influence of a canned cycle or modal subroute (#MCALL), the last programmed G will be maintain active, G0 or G1, meaning G0 remains as modal.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G00 may be programmed as G0.

The G00 function can be modal or non-modal, depending on how it has been configured by the OEM (parameter G0MODAL). Function G00 is modal and incompatible with G01, G02,

G03, G33 and G63. For the following program block, if there is no programmed movement function in a non-modal G00 function (G0, G1, G2, G3, G33 or G63), the CNC uses G1.

On power-up, after an M02 or M30 and after an emergency or a reset, the CNC assumes function G00 or G01 as set by the OEM (parameter IMOVE). If the CNC assumes the function

G00, and this function is defined as non-modal (parameter G0MODAL), after programming

G1, G2 or G3, the CNC assumes G1 as a modal function.

CNC 8060

CNC 8065

(R EF : 1901)

·148·

Programming manual.

8.2

Linear interpolation (G01).

Function G01 activates the linear movement, according to the active "F" feedrate, for the following programmed movements. If auxiliary or rotary axes are programmed in the linear interpolation block, the CNC will calculate the feedrate for those axes so their movement begins and ends simultaneously with the main axes.

Y

X,Y

G01

8.

X

Programming.

The function G01 may be programmed alone in the block or it may be added to a movement block. The function G01 is modal; after it has been programmed, it remains active until an incompatible function is programmed (G00, G02, G03, G33 or G63).

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G01 <X..C{postion}> <F{feedrate}>

X..C{position} Optional. End point of the movement.

Units: Millimeters, inches or degrees.

F{feedrate} Optional. Feedrate.

Units: Units are dependent on the active function.

- If G93, seconds.

- If G94, Millimeters/minute, inches/minute or degrees/minute.

- If G95, Millimeters/minute, inches/minute or degrees/turn.

G01

(Activate function G01 without moving).

G01 X600 Y400 F150

(Movement in cartesian coordinates, using feedrate programming).

G01 R600 Q20 F200

(Movement in polar coordinates, using feedrate programming).

End point of the movement.

• For cartesian coordinates, defining the coordinates of the end point (X..C) on the various axes. All the axes need not be programmed, only the ones to move.

G00 G90 X20 Y20

G01 X-20 F350

G01 Y-20

G01 X20

G01 Y20

M30

CNC 8060

CNC 8065

(R EF : 1901)

·149·

8.

CNC 8060

CNC 8065

(R EF : 1901)

·150·

Programming manual.

• For polar coordinates, define the radius (R) and the angle (Q) of the end point relative to the polar origin. The "R" radius will be the distance between the polar origin and the point. The "Q" angle will be formed by the abscissa axis and the line joining the polar origin with the point. If the angle or the radius is not programmed, it keeps the value programmed for the last move.

G00 G90 X20 Y0

G01 R20 Q72 F350

G01 Q144

G01 Q216

G01 Q288

G01 Q360

M30

Feedrate.

The programmed feedrate "F" stays active until a new value is programmed, thus not being necessary to program it in every block.

Considerations for the feedrate.

• When several axes are involved, the CNC calculates the feedrate for each axis so the resulting path is executed at the programmed feedrate "F" .

• The programmed feedrate "F" may be varied between 0% and 200% using the selector switch on the CNC's operator panel or it may be selected by the program or by the PLC.

However, the maximum override is limited by the OEM (parameter MAXOVR).

• The behavior of the auxiliary axes is determined by general machine parameter

FEEDND.

Parameter.

FEEDND

Yes

No

Meaning.

The programmed feedrate will be the result of composing the movements onto all the axes of the channel. (main and auxiliary). No axis will surpass the programmed feedrate.

If a movement has been programmed on any of the main axes, the programmed feedrate will be the result of composing the movement only onto these axes. The rest of the axes move at their corresponding feedrate to end the movement of them all at the same time. Auxiliary axes can exceed the programmed feedrate, but they may not exceed their maximum working feed rate (parameter

MAXFEED). If an axis were to exceed the MAXFEED, the programmed feedrate of the main axes would be limited by the CNC.

If none of the main axes are programmed, the programmed feedrate will be reached on the axis moving the farthest so they can all reach their destination at the same time.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

• Function G01 may also be programmed as G1.

• Function G01 is modal and incompatible with G00, G02, G03, G33 and G63.

• On power-up, after an M02 or M30 and after an emergency or a reset, the CNC assumes function G00 or G01 as set by the OEM (parameter IMOVE). If the CNC assumes the function G00, and this function is defined as non-modal (parameter G0MODAL), after programming G1, G2 or G3, the CNC assumes G1 as a modal function.

Programming manual.

Programming example (M model).

Absolute and incremental cartesian coordinates.

P1

P2

P3

P4

P5

X

20

70

70

45

20

Y

15

15

30

45

45

Absolute coordinates.

N10 G00 G90 X20 Y15

N20 G01 X70 Y15 F450

N30 Y30

N40 X45 Y45

N50 X20

N60 Y15

N70 G00 X0 Y0

N80 M30

Incremental coordinates.

N10 G00 G90 X20 Y15

N20 G01 G91 X50 Y0 F450

N30 Y15

N40 X-25 Y15

N50 X-25

N60 Y-30

N70 G00 G90 X0 Y0

N80 M30

8.

CNC 8060

CNC 8065

(R EF : 1901)

·151·

Programming example (M model).

Cartesian and Polar coordinates.

Programming manual.

8.

CNC 8060

CNC 8065

(R EF : 1901)

·152·

N10 T1 D1

N20 M06

N30 G71 G90 F450 S1500 M03(Initial conditions)

N40 G00 G90 X-40 Y15 Z10(Approaching profile 1)

N50 G01 Z-5

N60 X-40 Y30(Machining of profile 1)

N70 X-65 Y45

N80 X-90

N90 Y15

N100 X-40(End of profile 1)

N110 Z10

N120 G00 X20 Y45 F300 S1200(Approaching profile 2)

N130 G92 X0 Y0(Preselect part zero)

N140 G01 Z-5

N150 G91 X30(Machining of profile 2)

N160 X20 Y20

N170 X-20 Y20

N180 X-30

N190 Y-40(End of profile 2)

N200 G90 Z10

N210 G92 X20 Y45(Recuperate part zero)

N220 G30 I-10 J-60(Preselect polar origin)

N230 G00 R30 Q60 F350 S1200(Approaching profile 3)

N240 G01 Z-5

N250 Q120(Machining of profile 3)

N260 Q180

N270 Q240

N280 Q300

N290 Q360

N300 Q60(End of profile 3)

N310 Z10

N320 G00 X0 Y0

N330 M30

Programming manual.

Programming example (T model).

Programming in radius.

Absolute coordinates.

G90 G95 G96 F0.15 S180 T2 D1 M4 M41

G0 X50 Z100

G1 X0 Z80; Point A

G1 X15 Z65; A-B section

Z55; B-C section

X40 Z30; C-D section

Z0; D-E section

G0 X50 Z100

M30

Incremental coordinates.

G90 G95 G96 F0.15 S180 T2 D1 M4 M41

G0 X50 Z100

G1 X0 Z80; Point A

G1 G91 X15 Z-15; A-B section

Z-10; B-C section

X25 Z-25; C-D section

Z-30; D-E section

G0 G90 X50 Z100

M30

8.

CNC 8060

CNC 8065

(R EF : 1901)

·153·

8.

Programming example (T model).

Programming in diameters.

Programming manual.

Absolute coordinates.

G90 G95 G96 F0.15 S180 T2 D1 M4 M41

G0 X100 Z100

G1 X0 Z80; Point A

G1 X30 Z65; A-B section

Z55; B-C section

X80 Z30; C-D section

Z0; D-E section

G0 X100 Z100

M30

Incremental coordinates.

G90 G95 G96 F0.15 S180 T2 D1 M4 M41

G0 X100 Z100

G1 X0 Z80; Point A

G1 G91 X30 Z-15; A-B section

Z-10; B-C section

X50 Z-25; C-D section

Z-30; D-E section

G0 G90 X100 Z100

M30

CNC 8060

CNC 8065

(R EF : 1901)

·154·

Programming manual.

8.3

Circular interpolation (G02/G03).

Movements programmed for G02 and G03 are executed along a circular tool path at the programmed feedrate "F" from the current position to the indicated target point. A circular interpolation can only be executed in the active plane.

G02

G03

Clockwise circular interpolation.

Counterclockwise circular interpolation.

Clockwise (G02) and counterclockwise (G03) moving directions have been established according to the following coordinate system.

8.

The coordinate system is referred to the movement of the tool on the part.

Programming.

Cartesian coordinates (Arc center programming).

The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point and those of its center (referred to the starting point of the arc) according to the axes of the active work plane.

G02/G03 X Y I J

Cartesian coordinates (arc radius programming).

The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point and its radius.

G02/G03 X Y R

G02/G03 R Q I J

Polar coordinates.

The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point (radius and angle) and those of its center (relative to the starting point of the arc) according to the axes of the active work plane.

CNC 8060

CNC 8065

(R EF : 1901)

·155·

8.

Programming manual.

Considerations for the feedrate.

• The programmed feedrate "F" stays active until a new value is programmed, thus not being necessary to program it in every block.

• The programmed feedrate "F" may be varied between 0% and 200% using the selector switch on the CNC's operator panel or it may be selected by the program or by the PLC.

However, the maximum override is limited by the OEM (parameter MAXOVR).

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

• Functions G02 and G03 may also be programmed as G2 and G3.

• Functions G02 and G03 are modal and incompatible with each other and with G00, G01,

G33 and G63. Function G74 (Home search) also cancels functions G02 and G03.

• On power-up, after an M02 or M30 and after an emergency or a reset, the CNC assumes function G00 or G01 as set by the OEM (parameter IMOVE). If the CNC assumes the function G00, and this function is defined as non-modal (parameter G0MODAL), after programming G1, G2 or G3, the CNC assumes G1 as a modal function.

CNC 8060

CNC 8065

(R EF : 1901)

·156·

Programming manual.

8.3.1

Cartesian coordinates (Arc center programming).

The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point and those of its center (referred to the starting point of the arc) according to the axes of the active work plane.

G02

Y

8.

I,J

X,Y

X

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G02/G03 <X..C{end_point}> <I..K{center}>

X..C{end_point}

I..K{center}

Optional. End point of the arc.

Units: Millimeters, inches or degrees.

Optional. Arc center referred to starting point.

Units: mm or inches.

G02 X50 Y0 I28 J13

End point of the arc.

The end point is defined with its coordinates along the axes of the active work plane and may be given in either absolute (G90) or incremental (G91) coordinates. If they are not programmed or are the same as the starting point, a full circle will be executed.

Arc center referred to starting point.

The coordinates of the center are measured according to the starting point. The arc center must be defined in cartesian coordinates by the letters "I", "J" or "K" depending on the active plane. When one of the center coordinates is zero, it does not have to be programmed. These coordinates are not affected by functions G90 and G91.

Plane.

G17 G18 G19

G20

#FACE [X, C, Z]

#CYL [Z, C, X, R]

Programming the center.

Letters "I", "J" and "K" are associated with the first, second and third axis of the channel respectively.

G17 (XY plane) G02/G03 X... Y... I... J...

G18 (ZX plane) G02/G03 X... Z... I... K...

G19 (YZ plane) G02/G03 R... Z... J... K...

Letters "I", "J" and "K" are associated with the abscissa, ordinate and perpendicular axes of the defined plane.

The active trihedron is formed by the axes defined in the activation instruction of the C axis. The "I", "J", and "K" centers are associated with the axes in the same order that they were defined when activating the C axis.

CNC 8060

CNC 8065

(R EF : 1901)

·157·

8.

Programming examples.

XY plane (G17) XY plane (G17)

XY

Programming manual.

XY

YZ plane (G19)

YZ

...

G02 X60 Y15 I0 J-40

...

N10 G17 G71 G94

N20 G01 X30 Y30 F400

N30 G03 X30 Y30 I20 J20

N40 M30

N10 G19 G71 G94

N20 G00 Y55 Z0

N30 G01 Y55 Z25 F400

N40 G03 Z55 J20 K15

N50 Z25 J-20 K-15

N60 M30

CNC 8060

CNC 8065

(R EF : 1901)

·158·

Programming manual.

8.3.2

Cartesian coordinates (arc radius programming).

i When programming an arc using the radius, it is not possible to program full circles because there are infinite solutions.

The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point and its radius.

G02

Y

R

8.

X,Y

X

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G02/G03 X..C{end_point} <R{radius}>

X..C{end_point} End point of the arc.

Units: Millimeters, inches or degrees.

R{radius} Optional. Radius of the arc.

Units: mm or inches.

G02 X50 Y0 R25

G02 X50 Y0 R-25

End point of the arc.

The end point is defined with its coordinates along the axes of the active work plane and may be given in either absolute (G90) or incremental (G91) coordinates.

The programming format depends on the active work plane.

G17 (XY plane) G02/G03 X... Y... R...

G18 (ZX plane) G02/G03 X... Z... R...

G19 (YZ plane) G02/G03 R... Z... R...

Arc radius.

The arc radius is defined using the letter "R". If the arc is smaller than 180º, the radius will be programmed with a positive sign and with a negative sign if it is greater than 180º. This way and depending on the selected circular interpolation (G02 or G03), the desired arc will be defined. The radius value stays active until a new value is assigned or an arc is programmed using the center coordinates or a movement is programmed in polar coordinates.

Arc 1

G02 X... Y... R-...

Arc 2

G02 X... Y... R+...

Arc 3

G03 X... Y... R+...

Arc 4

G03 X... Y... R-...

CNC 8060

CNC 8065

(R EF : 1901)

·159·

8.

Programming manual.

Programming examples.

XY plane (G17) ZX plane (G18)

XY ZX

YZ plane (G19)

YZ

G03 G17 X20 Y45 R30 G03 G18 Z20 X40 R-30 G02 G19 Y80 Z30 R30

CNC 8060

CNC 8065

(R EF : 1901)

·160·

Programming manual.

8.3.3

Cartesian coordinates (arc radius pre-programming) (G263).

The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point. The arc radius is programmed in an earlier block, using function G263 or the command "R1".

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G263={radius}

R1={radius}

G02/G03 X..C{end_point}

X..C{end_point} End point of the arc.

Units: Millimeters, inches or degrees.

{radius} Optional. Radius of the arc.

Units: mm or inches.

G263=25

G02 X50 Y0

R1=-33

G03 X88.32 Y12.34

Arc radius.

The radius value is programmed in the same block or in one before the definition of the circular interpolation. Both ways of defining the radius (G263 or R1) are equivalent. The CNC keeps the radius value until a circular interpolation is programmed by defining the center coordinates or a movement is programmed in polar coordinates.

The following examples will make semicircles with a radius of 50.

N10 G01 G90 X0 Y0 F500

N20 G263=50

N30 G02 X100

;------------------------------------------

N10 G01 G90 X0 Y0

N20 G02 G263=50

N30 X100

;------------------------------------------

N10 G01 G90 X0 Y0 F450

N20 G01 R1=50

N30 G02 X100

;------------------------------------------

N10 G01 G90 X0 Y0

N20 G02 R1=50

N30 X100

Programming examples.

8.

G01 G90 G94 X30 Y20 F350

G263=25

G02 X60

G263=-25

G03 X30

M30

G17 G71 G94

G00 X55 Y0

G01 X55 Y25 F400

G263=-25

G03 Y55

Y25

M30

G17 G71 G94

G01 X30 Y20 F400

G03 Y60 R1=30

G02 X75

G03 Y20

G02 X30

M30

CNC 8060

CNC 8065

(R EF : 1901)

·161·

8.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

8.3.4

Polar coordinates.

The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point (radius and angle) and those of its center (relative to the starting point of the arc) according to the axes of the active work plane.

G02

Y

I,J

X,Y

R

Q

X

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G02/G03 <R{final_radius}> <Q{final_angle}> <I..K{center}>

R{final_radius}

Q{final_angle}

I..K{center}

Optional. Radius of the end point of the arc.

Units: Millimeters, inches or degrees.

Optional. Angle of the end point of the arc.

Units: Millimeters, inches or degrees.

Optional. Arc center referred to starting point.

Units: mm or inches.

G02 R50 Q25 I28 J13

End point of the arc.

The end point is defined by its polar coordinates, radius (R) and the angle (Q) of the end point relative to the polar origin. The "R" radius will be the distance between the polar origin and the point. The "Q" angle will be formed by the abscissa axis and the line joining the polar origin with the point. If the angle or the radius is not programmed, it keeps the value programmed for the last move.

If the angle or the radius is not programmed, it keeps the value programmed for the last move.

The radius and the angle may be defined both in absolute (G90) and incremental coordinates

(G91). When programming the angle in G91, it is incremented with respect to the polar origin of the previous point; if programmed in G90, It indicates the angle formed with the horizontal going through the polar origin.

Programming a 360º angle in G91 means programming a whole circle. Programming a 360º angle in G90 means programming an arc where the target point forms a 360º angle with the horizontal going through the polar origin.

Arc center referred to starting point.

The coordinates of the center are measured according to the starting point. The arc center must be defined in cartesian coordinates by the letters "I", "J" or "K" depending on the active plane. When one of the center coordinates is zero, it does not have to be programmed; if neither of them are programmed, it will assume the polar origin as the arc center. These coordinates are not affected by functions G90 and G91.

·162·

Programming manual.

Plane.

G17 G18 G19

G20

#FACE [X, C, Z]

#CYL [Z, C, X, R]

Programming the center.

Letters "I", "J" and "K" are associated with the first, second and third axis of the channel respectively.

G17 (XY plane) G02/G03 R... Q... I... J...

G18 (ZX plane) G02/G03 R... Q... I... K...

G19 (YZ plane) G02/G03 R... Q... J... K...

Letters "I", "J" and "K" are associated with the abscissa, ordinate and perpendicular axes of the defined plane.

The active trihedron is formed by the axes defined in the activation instruction of the C axis. The "I", "J", and "K" centers are associated with the axes in the same order that they were defined when activating the C axis.

Programming examples.

N10 G0 G90 X20 Y30 F350

N20 G30

N30 G02 R60 Q0 I30

N40 M30

8.

N10 G0 G90 X0 Y0 F350

N20 G30 I45 J0

N30 G01 R20 Q110

N40 G02 Q70

N50 G03 Q110 I-6.8404 J18.7938

N60 M30

CNC 8060

CNC 8065

(R EF : 1901)

·163·

8.

Programming manual.

8.3.5

Programming example (M model). Polar coordinates.

P0

R

0

P1 100

P2

P3

P4

100

50

50

P5 100 60

P6 100 90

Q

0

0

30

30

60

Y

P6

P4

50

P3

P5

P0

P2

60 o

P1

30 o

X

Absolute coordinates.

I n c r e m e n ta l coordinates.

G00 G90 X0 Y0 F350

G01 R100 Q0

G00 G90 X0 Y0 F350

G91 G01 R100 Q0

G03 Q30

G01 R50 Q30

G03 Q60

G01 R100 Q60

G03 Q30

G01 R-50

G03 Q30

G01 R50

G03 Q90

G01 R0 Q90

M30

G03 Q30

G01 R-100

M30

; Point P0.

; Point P1. Straight line.

; Point P2. Counterclockwise arc.

; Point P3. Straight line.

; Point P2. Counterclockwise arc.

; Point P5. Straight line.

; Point P6. Counterclockwise arc.

; Point P0, in a straight line.

CNC 8060

CNC 8065

(R EF : 1901)

·164·

Programming manual.

8.3.6

Programming example (M model). Polar coordinates.

25

Y

10 10

25 R

P1 46

P2

P3

31

16

P4 16

P5 10

P6 10

P7 16

P8

P9

P10

31

31

46

65

65

115

100

Q

65

80

80

100

115

115

P10

P9 P8 P2

P7

P6

P5

P3

P4

6

10

15

Ow

P1

15

X

Absolute coordinates.

G90 R46 Q65 F350; Point P1.

G01 R31 Q80; Point P2. Straight line.

G01 R16; Point P3. Straight line.

G02 Q65; Point P4. Clockwise arc.

G01 R10; Point P5. Straight line.

G02 Q115; Point P6. Clockwise arc.

G01 R16 Q100; Point P7. Straight line.

G01 R31; Point P8. Straight line.

G03 Q115; Point P9. Counterclockwise arc.

G01 R46; Point P10. Straight line.

G02 Q65; Point P1. Clockwise arc.

M30

Incremental coordinates.

G90 R46 Q65 F350; Point P1.

G91 G01 R-15 Q15; Point P2. Straight line.

G01 R-15; Point P3. Straight line.

G02 Q-15; Point P4. Clockwise arc.

G01 R-6; Point P5. Straight line.

G02 Q-310; Point P6. Clockwise arc.

G01 R6 Q-15; Point P7. Straight line.

G01 R15; Point P8. Straight line.

G03 Q15; Point P9. Counterclockwise arc.

G01 R15; Point P10. Straight line.

G02 Q-50; Point P1. Clockwise arc.

M30

8.

CNC 8060

CNC 8065

(R EF : 1901)

·165·

8.

Programming manual.

8.3.7

Programming example (T model). Programming examples.

R

P0 430

P1 430

P2 340

Q

0

33.7

45

P3

P4

290

230

33.7

45

P5 360 63.4

P6 360 90

X

P6

63.4

o

P5

P2

P4

P3

P1

45

33.7

o o

P0

Z

Absolute coordinates.

I n c r e m e n ta l coordinates.

G18

G152

G18

G152

G90 R430 Q0 F350

G03 Q33.7

G01 R340 Q45

G01 R290 Q33.7

G90 R430 Q0 F350

G91 G03 Q33.7

G01 R-90 Q11.3

G01 R-50 Q-11.3

G01 R230 Q45

G01 R360 Q63.4

G03 Q90

M30

G01 R-60 Q11.3

G01 R130 Q18.4

G03 Q26.6

M30

; Z-X plane,

; Programming in radius.

; Point P0.

; Point P1. Counterclockwise arc.

; Point P2. Straight line.

; Point P3. Straight line.

; Point P4. Straight line.

; Point P5. Straight line.

; Point P6. Counterclockwise arc.

CNC 8060

CNC 8065

(R EF : 1901)

·166·

Programming manual.

8.3.8

Polar coordinates. Temporary Polar origin shift to the center of arc (G31).

Function G31 shifts temporarily the polar origin to the center of the programmed arc. This function only acts in the block that contains it; once the block has been executed, it restores the previous polar.

Programming.

This function is added to the programmed circular interpolation G2/G3. Function G31 does not allow for the programming of the polar radius; it may only program the angle and one or both center coordinates.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G02/G03 G31 Q{end_angle} <I..K{center}>

Q{final_angle} Optional. Angle of the end point of the arc.

Units: Millimeters, inches or degrees.

I..K{center} Optional. Arc center referred to starting point.

Units: mm or inches.

G02 G31 Q25 I28 J13

G00 G90 X0 Y-40 F350

G01 X60

G03 G31 Q90 J10

G02 G31 Q180 J20

G03 X-40 I-40 J-20

G02 G31 Q270 I-20

G03 G31 Q270 J-10

G01 X0

M30

8.

CNC 8060

CNC 8065

(R EF : 1901)

·167·

8.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

8.3.9

Cartesian coordinates. Arc center in absolute coordinates (no-modal)

(G06).

Function G06 indicates that the absolute coordinates are defined by the center of the arc, relative to the origin of the active reference system (part zero, polar origin, etc.).

G02 G06

Y

I,J

R

X,Y

X

Programming.

Add function G06 to a block where a circular interpolation has been defined. Function G06 is not modal, it only acts in the block where it is programmed.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G02/G03 G06 <X..C{end_point}> <I..K{center}>

X..C{end_point}

I..K{center}

Optional. End point of the arc.

Units: Millimeters, inches or degrees.

Optional. Arc center in absolute coordinates.

Units: mm or inches.

G02 G06 X50 Y0 I38 J5

The example shows 2 different ways to define an arc using absolute center coordinates.

G90 G06 G02 X50 Y10 I20 J30

;----------------------------------------------

G91 G06 G02 X0 Y-40 I20 J30

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

• Function G06 may also be programmed as G6.

• Function G06 is not modal.

·168·

Programming manual.

8.3.10 Cartesian coordinates. Arc center in absolute coordinates (modal)

(G261/G262).

Function G261 indicates that the absolute coordinates are defined by the center of the arc, relative to the origin of the active reference system (part zero, polar origin, etc.). Function

G262 cancels function G261 and the arc center is then defined according to the starting point of the arc.

Y

G02 G261

R

I,J

Y

G02 G262

R

I,J

X,Y

X

X,Y

Programming. Arc center in absolute coordinates (G261).

The function G261 may be programmed alone in the block or it may be added to a movement block. The function G261 is modal; after it has been programmed, it remains active until an incompatible function is programmed (G262).

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G02/G03 G261 <X..C{end_point}> <I..K{center}>

X..C{end_point} Optional. End point of the arc.

Units: Millimeters, inches or degrees.

I..K{center} Optional. Arc center in absolute coordinates.

Units: mm or inches.

G02 G261 X50 Y0 I38 J5

G261

G02 X50 Y0 I38 J5

Programming. Arc center referred to starting point (G262).

The function G262 may be programmed alone in the block or it may be added to a movement block. The function G262 is modal; after it has been programmed, it remains active until an incompatible function is programmed (G261).

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G02/G03 G261 <X..C{end_point}> <I..K{center}>

X..C{end_point} Optional. End point of the arc.

Units: Millimeters, inches or degrees.

I..K{center} Optional. Arc center in absolute coordinates.

Units: mm or inches.

G02 G261 X50 Y0 I38 J5

G261

G02 X50 Y0 I38 J5

8.

CNC 8060

CNC 8065

(R EF : 1901)

·169·

8.

Programming manual.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

• Functions G261 and G262 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 G262.

Programming example.

The example shows 2 different ways to define an arc using absolute center coordinates.

G261

G90 G02 X50 Y10 I20 J30

;----------------------------------------------

G261

G91 G06 G02 X0 Y-40 I20 J30

CNC 8060

CNC 8065

(R EF : 1901)

·170·

Programming manual.

8.3.11

Arc correction (G264/G265).

In order to execute the programmed arc, the CNC calculates the initial and end radii, which must be the same. When this is not the case, the CNC attempts to execute the arc by correcting its center along the tool path. The tolerance allowed for the difference between both radii or for locating the corrected arc center is set by the OEM (parameters CIRINERR and CIRINFACT). Arc center correction may be turned on and off using the following functions:

G264

G265

Cancel arc correction.

Activate arc correction.

Programming. Activate arc correction (G265).

The function G265 may be programmed alone in the block or it may be added to a movement block. This function is modal; after it has been programmed, it remains active until an incompatible function is programmed (G264).

Programming format.

The programming format is:

G265

G02 G265 X50 Y0 I38 J5

G265

G02 X50 Y0 I38 J5

Arc correction using G265.

If the initial and final arc radii are not the same, the CNC tries to calculate a new center within the set tolerance so as to be able to execute and arc between the programmed points as close as possible to the defined arc. To calculate whether the margin of error is within the tolerance, the CNC takes into account the absolute error (difference between radii) and the relative error (% of radius). If any of these values is within the tolerance set by the OEM, the

CNC corrects the center position.

If the CNC cannot the center within those limits, it will issue the pertinent error message.

Programming. Cancel arc correction (G264).

The function G264 may be programmed alone in the block or it may be added to a movement block. This function is modal; after it has been programmed, it remains active until an incompatible function is programmed (G265).

Programming format.

The programming format is:

G264

G02 G264 X50 Y0 I38 J5

G264

G02 X50 Y0 I38 J5

Arc correction using G264.

When the difference between the initial and final radii is within the allowed tolerance, the CNC executes the arc with the radius calculated using the initial point, maintaining the position of the center.

If the difference between both radii exceeds the allowed tolerance, the relevant error message will be issued.

8.

CNC 8060

CNC 8065

(R EF : 1901)

·171·

8.

Programming manual.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

• Functions G264 and G265 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 G265.

CNC 8060

CNC 8065

(R EF : 1901)

·172·

Programming manual.

8.4

Arc tangent to previous path (G08).

i

Function G08 may program a circular tool path tangent to the previous path without having to program the center coordinates (I, J or K). The previous path may be either linear or circular.

Function G08 cannot be used to program full circles because there are infinite solutions.

Y

X,Y

G08

G01

X

Programming.

Program, along with function G08, the coordinates of the end point of the arc.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G08 X..C{end_point}

X..C{end_point} End point of the arc.

Units: Millimeters, inches or degrees.

G08 G17 X50.87 Y38.45

Movement in cartesian coordinates.

G08 R20.23 Q45

Movement in polar coordinates.

Coordinates of the end point of the arc

The end point may defined in cartesian or polar coordinates, both absolute and incremental.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

• Function G08 may also be programmed as G8.

• Function G08 is not modal, so it should always be programmed if you wish to execute an arc tangential to the previous path. After executing the function, the CNC restores the

G00, G01, G02 or G03 function that was active before.

8.

CNC 8060

CNC 8065

(R EF : 1901)

·173·

8.

Programming manual.

Programming examples.

If you wish to program a straight line, then an arc tangential to the line and finally an arc tangential to the previous one.

Y

60

40

G90 G01 X70

G08 X90 Y60

G08 X110

70 90 110

X

X

60

50

40 100 130 180 250 270

Z

G18 ; ZX plane

G152 ; Programming in radius.

G90 G01 X0 Z270

X50 Z250

G08 X60 Z180

G08 X50 Z130

G08 X60 Z100

G01 X60 Z40

M30

CNC 8060

CNC 8065

(R EF : 1901)

·174·

Programming manual.

8.5

Arc defined by three points (G09).

i

Function G09 allows a circular tool path (arc) to be defined, by programming the end point and an intermediate point; this means, instead of programming the coordinates of the center, it programs any intermediate point. The starting point of the arc is the starting point of the movement.

Function G09 may not be used to programmed a full circle because all three points must be different.

Y

I,J

G09

X,Y

8.

X

Programming.

Program, along with function G09, the end point and an intermediate point of the arc. When

G09 is programmed it is not necessary to program the direction of movement (G02 or G03).

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

G09 X..C{end_point} I..K{intermediate_point}

X..C{end_point} End point of the arc.

Units: Millimeters, inches or degrees.

I..K{intermediate_point} Intermediate point of the arc.

Units: Millimeters, inches or degrees.

G09 G17 X50.87 Y38.45 I28.34 J34.58

Movement in cartesian coordinates.

G09 R20.23 Q45 I8 J-13.7

Movement in polar coordinates.

Coordinates of the end point of the arc

The end point may defined in cartesian or polar coordinates, both absolute and incremental.

Coordinates of the intermediate point of the arc.

The intermediate point must be defined in cartesian coordinates, using the letters "I", "J" or

"K”, depending on the active plane. These coordinates are affected by functions G90 and

G91.

G17 G18 G19 Letters "I", "J" and "K" are associated with the first, second and third axis of the channel respectively.

G20 Letters "I" and "J" are associated with the abscissa and ordinate axes of the defined plane.

CNC 8060

CNC 8065

(R EF : 1901)

·175·

8.

Programming manual.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

• Function G09 may also be programmed as G9.

• Function G09 is not modal, so it should always be programmed if you wish to execute an arc defined by three points. After executing the function, the CNC restores the G00,

G01, G02 or G03 function that was active before.

Programming example.

G09 X35 Y20 I-15 J25

CNC 8060

CNC 8065

(R EF : 1901)

·176·

Programming manual.

8.6

Helical interpolation (G02/G03).

Helical interpolation consists of a circular interpolation in the work plane and a linear movement of the rest of the axes programmed. If the helical interpolation is supposed to make more than one turn, the helical pitch must be defined.

8.

(A) (B)

(A) Simple helical interpolation.

(B) Multi-turn helical interpolation.

Programming.

Program along with the circular interpolation using the functions G02, G03, G08 or G09 and then the linear movement for the other axes. If the helical interpolation is supposed to make more than one turn, the helical pitch must be defined.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets. The format for the circular interpolation is explained in the corresponding chapters.

G02/G03 (circular interpolation) X..C{linear_movement} <I..K{pitch}>

G08 (circular interpolation) X..C{linear_movement} <I..K{pitch}>

G09 (circular interpolation) X..C{linear_movement} <I..K{pitch}>

X..C{linear_movement} Linear movement of the helical interpolation for one or several axes.

Units: mm or inches.

I..K{pitch} Helical pitch.

Units: mm or inches.

G01 G90 X-50 Y0 Z0

G02 G17 I50 J0 Z100 K37

G01 G90 X-50 Y0 Z0

G02 G17 X50 Y0 R50 Z110 K25

G01 G90 X-50 Y0 Z0

G02 R50 Q90 I50 J0 Z-90 K17

G01 G90 X-50 Y50 Z0

G01 Y0

G08 X50 Y0 Z58.45 K10.25

G01 G90 X-50 Y50 Z0

G01 Y0

G08 R50 Q65 Z69.45 K15.25

G01 G90 X-50 Y0 Z0

G09 G17 X65 Y-12.9 I32 J56.78 Z-88 K12

G01 G90 X-50 Y0 Z0

G09 G17 R45 Q-33 I32 J56.78 Z88 K11

End point on the work plane.

For helical interpolation in various turns, it is not necessary to define the coordinates for the end point in the work plane. This point will be calculated by the CNC depending on the height and pitch of the helix.

CNC 8060

CNC 8065

(R EF : 1901)

·177·

8.

Programming manual.

Helical pitch.

The helical pitch is defined using the letter "I", "J" or "K" associated with the axis perpendicular to the work plane. The pitch will not be affected by functions G90 and G91.

Plane.

G17 G18 G19

G20

Programming the center.

The pitch is defined with the letter "K" (G17), "J" (G18) or "I" (G19).

The pitch is defined with the letter "K".

Programming example.

Helical interpolation.

Various ways of defining a helical interpolation, where the starting point is X20 Y0 Z0.

G03 X40 Y20 I20 J0 Z50

; -------------------------------------------

G03 X40 Y20 R-20 Z50

; -------------------------------------------

G03 R44.7213 Q26.565 I20 J0 Z50

; -------------------------------------------

G09 X40 Y20 I60 J0 Z50

Programming example.

Multi-turn helical interpolation.

Various ways of defining a helical interpolation with serval turns, where the starting point is X0 Y0 Z0.

G03 X0 Y0 I15 J0 Z50 K5

; -------------------------------------------

G03 R0 Q0 I15 J0 Z50 K5

CNC 8060

CNC 8065

(R EF : 1901)

·178·

9.

TOOL PATH CONTROL. MANUAL

INTERVENTION.

9

Manual intervention makes it possible to activate the JOG mode by program; in other words, the axes may be jogged even while executing a program. The movement may be made using handwheels or the jog keys (incremental or continuous jog). The functions related to manual intervention are:

G200

G201

G202

Exclusive manual intervention.

Activation of additive manual intervention.

Cancellation of additive manual intervention.

The difference between exclusive and additive interventions is that the exclusive one (G200) interrupts the execution of the program to activate the jog mode whereas the additive one

(G201) lets you jog an axis while executing the programmed movements.

Feedrate behavior.

The feedrate of the jogging movements during manual intervention is independent from the active "F" and may be defined by the operator using instructions in high-level language; a different feedrate may be set for each work mode (incremental or continuous jog). If not defined, the movements are carried out at the feedrate set by the OEM.

The feedrate may be varied between 0% and 200% using the selector switch on the CNC's operator panel which affects the same way the programmed "F" and the feedrate of manual intervention.

CNC 8060

CNC 8065

(R EF : 1901)

·179·

9.

CNC 8060

CNC 8065

(R EF : 1901)

9.1

Programming manual.

Additive manual intervention (G201/G202).

The additive manual intervention makes it possible to jog the axes using handwheels or the jog keys (continuous or incremental) while executing the program. This function can be applied on any axis of the machine; however, it cannot be applied on the spindle, although this can work in positioning mode.

Programming. Activate additive manual intervention.

To activate the additive manual intervention, the function G201 must be programmed in the same block, followed by the #AXIS statement with the applicable axes. This statement must define at least one axis.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

G201 #AXIS[{axis}, .. , {axis}]

{axis} Axis name.

Units: -.

G201 #AXIS [X, Z]

(Activate additive manual intervention on the X Z axes)

Programming. Cancel additive manual intervention.

To cancel the additive manual intervention, the function G202 must be programmed in the same block, followed by the #AXIS statement with the axes to be cancelled. Programming

G202 alone cancels manual intervention on all the axes.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

G202

G202 #AXIS[{axis}, .. , {axis}]

{axis} Axis name.

Units: -.

G202 #AXIS [X, Z]

(Cancel additive manual intervention on the X Z axes)

G202

(Cancel additive manual intervention on all axes)

Considerations

Axis parameters MANFEEDP, IPOFEEDP, MANACCP, IPOACCP limit the feedrate and maximum acceleration permitted for each type of movement (jog or automatic). If the addition of the two exceeds 100%, it will be up to the user to ensure that the two movements are not simultaneous on the same axis because it may cause the dynamics to overshoot.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Functions G201 and G202 are modal and incompatible with each other and with function

G200. On power-up, after executing an M02 or M30, and after an emergency or reset, the

CNC assumes function G202.

·180·

Programming manual.

9.2

Exclusive manual intervention (G200).

With exclusive manual intervention, the axes may be jogged using handwheels or jog keys

(continuous or incremental) by interrupting the execution of the program. This function can be applied on any axis of the machine; however, it cannot be applied on the spindle, although this can work in positioning mode.

To cancel manual intervention and resume program execution, press the [CYCLE START] key.

Programming.

To activate the additive manual intervention, the function G200 must be programmed in the same block, followed by the #AXIS statement with the applicable axes. Programming G200 alone applies the manual intervention on all the axes.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

G200

G200 #AXIS[{axis}, .. , {axis}]

{axis} Axis name.

Units: -.

G200 #AXIS [X, Z]

(Interrupt the execution and activate additive manual intervention on XZ axes)

G200

(Interrupt the execution and activate additive manual intervention on all axes)

Considerations

If a manual intervention is executed before a circular interpolation and one of the axes involved in the circular interpolation is jogged, it could issue an error message indicating that a circle has been programmed wrong or it may execute a circle other than the one programmed.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G200 is non-modal and is incompatible with functions G201 and G202. On powerup, after executing an M02 or M30, and after an emergency or reset, the CNC assumes function G202.

9.

CNC 8060

CNC 8065

(R EF : 1901)

·181·

9.

Programming manual.

9.3

Jogging feedrate.

9.3.1

Feedrate in continuous jog (#CONTJOG).

This statement allows the feedrate to be configured in continuous jog mode for the specified axis. These values may be defined before or after activating manual intervention and stay active until the end of the program or a reset.

Programming.

Program the #CONTJOG statement, followed by the feedrate and the axis.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#CONTJOG [{feed}] {axis}

{feed} Axis feedrate.

Units: Millimeters/minute, inches/minute or degrees/minute.

{axis} Axis name.

Units: -.

#CONTJOG [400] X

(Manual intervention; feedrate in continuous jog for X)

#CONTJOG [600] Y

(Manual intervention; feedrate in continuous jog for Y)

CNC 8060

CNC 8065

(R EF : 1901)

·182·

Programming manual.

9.3.2

Feedrate in incremental jog (#INCJOG).

This instruction configures the indicated incremental movement and axis feedrate for each incremental jog position of the selector switch. These values may be defined before or after activating manual intervention and stay active until the end of the program or a reset.

Programming.

Program the #INCJOG statement, followed by the increment and feedrate at each jog position for the axis.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#INCJOG [[{increment_1},{feed_1}] [{increment_10},{feed_10}] ... [...]] <axis>

{feed_1}

··

{feed_10000}

{increment_1}

··

{increment_10000}

{axis}

Feedrate position, 1 to 10000 for the incremental jog switch.

Units: Millimeters/minute, inches/minute or degrees/minute.

Increment position, 1 to 10000 for the incremental jog switch.

Units: Millimeters, inches or degrees.

Axis name.

Units: -.

#INCJOG [[0.1,100][0.5,200][1,300][5,400][10,500]] X

(The movement and feedrate of the X axis for each incremental jog switch position is as follows)

(Position 1 on the switch; 0.1 mm to 100 mm/min)

(Position 10 on the switch; 0.5 mm to 200 mm/min)

(Position 100 on the switch; 1 mm to 300 mm/min)

(Position 1000 on the switch; 5 mm to 400 mm/min)

(Position 10000 on the switch; 10 mm to 500 mm/min)

9.

CNC 8060

CNC 8065

(R EF : 1901)

·183·

9.

Programming manual.

9.3.3

Feedrate in incremental jog (#MPG).

This instruction allows for the configuration, for each position on the handwheel, of the resolution of the handwheel on the specified axis. These values may be defined before or after activating manual intervention and stay active until the end of the program or a reset.

i

Programming.

Program the #INCJOG statement, followed by the resolution at each jog position for the axis.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#MPG [{resolution_1},{resolution_10},{resolution_100}] {axis}

{resolution_1}

··

{resolution_100}

{axis}

Resolution position, 1 to 100 for the handwheel switch.

Units: Millimeters/pulse, inches/pulse or degrees/pulse.

Axis name.

Units: -.

#MPG [0.1, 1, 10] X

(The resolution at each handwheel switch position is as follows)

(Position 1 on the switch; 0.1 mm/turn)

(Position 10 on the switch; 1.0 mm/turn)

(Position 100 on the switch; 10 mm/turn)

This instruction sets the distance per handwheel pulse in a time period equal to the CNC’s cycle time.

If the feedrate required for this movement exceeds the maximum set by the machine manufacturer, the feedrate will be limited to this value and the axis moving distance will be less than what has been programmed in the instruction.

Example: If a 5 mm move is programmed and the cycle time is 4 msec, the resulting feedrate is 1250 mm/sec. If the maximum feedrate is limited to 1000 mm/s, the actual distance moved will be 4 mm.

CNC 8060

CNC 8065

(R EF : 1901)

·184·

Programming manual.

9.3.4

Manual path movement limits (#SET OFFSET).

This statement allows for the configuration of the movement limits made under additive manual intervention. These limits are ignored when executing the movements by program.

The limits may be defined after activating manual intervention and stay active until it is deactivated.

Programming.

Program the #SET OFFSET statement, followed by the lower and upper movement limits for the axis.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#SET OFFSET [{lower_limit},{upper_limit}] {axis}

{lower_limit}

{upper_limit}

{axis}

Upper and lower movement limit.

Units: Millimeters, inches or degrees.

Axis name.

Units: -.

#SET OFFSET [-20,35] Y

(Movement limit less than 20 mm and greater than 35 mm on the Y axis)

Upper and lower movement limit.

The limits are referred to the axis position. The lower limit must be less than or equal to zero and the upper limit must be zero or greater than zero.

9.

CNC 8060

CNC 8065

(R EF : 1901)

·185·

9.

Programming manual.

9.3.5

Synchronization of coordinates and additive manual offset (#SYNC

POS).

This instruction synchronizes the preparation coordinate with the execution one and assumes the additive manual offset.

Programming.

Program the instruction #SYNC POS alone in the block.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#SYNC POS

#SYNC POS

CNC 8060

CNC 8065

(R EF : 1901)

·186·

Programming manual.

9.4

Variables.

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). Reading these variables interrupts block preparation.

Variable.

(V.)[ch].A.MANOF.xn

(V.)[ch].A.ADDMANOF.xn

PRG

R

R

Meaning.

Distance moved in manual mode or tool inspection mode.

Units: Millimeters, inches or degrees.

Distance moved with G200 or G201. The value of this variable is maintained during the execution of the program even when canceling manual intervention.

Units: Millimeters, inches or degrees.

Syntax of the variables.

·ch· Channel number.

·xn· Name, logic number or index of the axis.

V.A.ADDMANOF.Z

V.A.ADDMANOF.4

V.[2].A.ADDMANOF.1

Z axis.

Axis with logic number ·4·.

Axis with index ·1· in the channel ·2·.

9.

CNC 8060

CNC 8065

(R EF : 1901)

·187·

9.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·188·

10.

ELECTRONIC THREADING AND

RIGID TAPPING.

10

10.1

Electronic threading with constant pitch (G33)

i For electronic threading, the machine must have a rotary encoder installed on the spindle.

The electronic threading executes the programmed thread in a single pass. In the electronic threading, the CNC does NOT interpolate the movement of the axes with the spindle.

Although, this type of threads are carried out along an axis, the CNC permits interpolating several axes. Besides, with electronic threading, it is possible to make threads with several entries (starts) and to blend threads.

Electronic threading may be carried out with any spindle, but when not using the master spindle, the spindle being used must be synchronized with it. The spindles may be synchronized via program using the instruction #SYNC or #TSYNC.

Programming.

Program G33 followed by the coordinates of the end point of the thread and the thread pitch.

Optionally, the entry angle may be defined which allows multi-entry (starts) thread.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets.

G33 X..Z{pos} I/J/K{pitch} <Q1={angle}>

X..Z{pos} Coordinates of the end point.

Units: millimeters/inches.

I/J/K{pitch} Thread pitch.

Units: millimeters/inches.

Q1={angle} Optional. Spindle angular position for the starting point of the thread. If not programmed, the function assumes a value of 0.

Units: ±359.9999 degrees.

G33 Z-50 K3 Q1=0

(3 mm pitch thread)

G33 Z-40 K1 Q1=30

G33 Z-80 K1 Q1=210

(Two-start thread, at 30º and 210º)

Coordinates of the end point.

Although, this type of threads are carried out along an axis, the CNC permits interpolating several axes. The coordinates of the end point may be defined either in Cartesian or Polar coordinates as well as in absolute and incremental coordinates.

CNC 8060

CNC 8065

(R EF : 1901)

·189·

10.

Programming manual.

Thread pitch.

• The pitch is defined by the letters "I", "J" or "K" depending on the active plane.

G17 G18 G19 Letters "I", "J" and "K" are associated with the first, second and third axis of the channel respectively.

G20 Letters "I", "J" and "K" are associated with the abscissa, ordinate and perpendicular axes of the defined plane.

Example:

Electronic threading on the Z axis and in different planes (configuration of XYZ axes in the channel).

G17 (XY plane)

G33 Z40 K2

G18 (ZX plane)

G33 Z40 K2

G19 (YZ plane)

G33 Z40 K2

G20 Z1 Y2 X3

G33 Z40 I2

G20 Y1 Z2 X3

G33 Z40 J2

G20 Y1 Z3 X2

G33 Z40 K2

• When interpolating several axes in the electronic threading, the pitch is not defined on the path, it is defined on one of the axes.

CNC 8060

CNC 8065

(R EF : 1901)

·190·

• If the pitch of the thread is not programmed, the CNC acts as follows.

1 If no G33 or G34 has been programmed earlier, the CNC will issue an error message.

2 If a G33 has been programmed earlier, the pitch will be the pitch of the last G33 programmed.

3 If there is no G33, but a G34 has been programmed earlier, the pitch will be the final pitch of the last G34 programmed.

Spindle angular position.

Spindle angular position (within ±359.9999º) for the starting point of the thread. With this parameter, it is possible to make multi-entry threads. Programming it is optional; if not programmed, the function executes the thread at 0º (same as programming Q1=0).

Considerations about execution.

Interrupt execution ([STOP] key or PLC mark _FEEDHOL).

The behavior of the CNC when interrupting a threading ([STOP] key or PLC mark

_FEEDHOL) depends on function G233. See "10.4 Withdraw the axes after interrupting an electronic threading (G233)." on page 201.

• If G233 is active, when interrupting the thread, the axes withdraw the distance programmed in that function. If when interrupting the threading the pass is near the end, the CNC ignores G233 and stops the axes at the end of the pass.

• If G233 is not active, when interrupting the threading the axes stop at the end of the pass.

Spindle home search.

If the spindle has not been homed (referenced), the first G33 will be done automatically when using the master spindle. If the spindle is the master and it has not been homed, it will issue a warning.

Programming manual.

Feedrate behavior.

The threading feedrate depends on the programmed spindle speed and thread pitch

(Feedrate = Spindle speed x Pitch). The electronic threading is carried out at 100% of the calculated feedrate and these values cannot be modified from the CNC's operator panel or via PLC.

Behavior of the spindle speed and of the spindle speed override

If the OEM allows it, (parameter THREADOVR), the user can modify the speed override from the operator panel and, in that case, the CNC will adapt the feedrate automatically respecting the thread pitch. In order to be able to modify the override, the feed forward active on the axes involved in threading must be higher than 90%.

If more than one G33 have been programmed for the same thread, all the threading operations must start at the same speed; otherwise, the entry point (start) to the thread will not be the same in all the threads. The CNC permits changing the spindle override during the thread cutting pass.

If more than one G33 have been programmed for a multi-start (multi-entry) thread, all the threading operations must start at the same speed; otherwise, the angle between the starts

(entry points) to the thread will not be the same as the one programmed. The CNC permits changing the spindle override during the thread cutting pass.

Considerations about thread blending.

When working in round corner (G05), the CNC lets blend different threads seamlessly in a single part. When thread blending, the CNC only takes into consideration the angular position of the spindle (Q1) in the first thread, after activating G33 or G34. The CNC ignores parameter

Q1until this function is canceled and activated back and it is synchronized when going through that angle.

Blending a thread of fixed pitch (G33) with a thread of variable pitch (G34).

The starting pitch of the variable thread (G34) must be the same as the pitch of the fixedpitch thread (G33). The pitch increment of the variable thread will be half the increment

("K1"/2) in the first turn and a full increment "K1" in the following turns.

G33 Z-40 K2.5

G34 Z-80 K2.5 K1=1

Blending a thread of variable pitch (G34) with a thread of fixed pitch (G33).

This combination is used to end a variable-pitch thread (G34) with a portion of the thread that maintains the final pitch of the previous thread. In this case, the pitch is not programmed in the fixed-pitch thread G33 and the CNC will use the last pitch of the previous thread.

G34 Z-50 K2 K1=3

G33 Z-100

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G33 is modal and incompatible with G00, G01, G02, G03, G34, G63 and G100.

On power-up, after an M02 or M30 and after an emergency or a reset, the CNC assumes function G00 or G01 as set by the machine manufacturer (parameter IMOVE).

10.

CNC 8060

CNC 8065

(R EF : 1901)

·191·

10.

Programming manual.

10.1.1 Programming examples (·M· model)

Single-entry electronic threading

To make the following electronic thread in a single pass.

Position: X30 Y30 Z0

Depth: 30mm

Pitch: 1.5mm

S100 M03

G01 G90 X30 Y30 Z0

G33 Z-30 K1.5

M19 S0

G91 G00 X3

G90 Z10

(Spindle orientation)

(Tool withdrawal)

(Withdrawal and exit the hole)

Since a spindle speed of 100 rpm an a pitch of 1.5 mm have been programmed, the resulting feedrate will be 150 mm/min (pitch feedrate).

Multi-entry electronic threading

To make a thread similar to the previous one but with three entries (starts), the first one being at 20º.

S100 M03

G01 G90 X30 Y30 Z0

G33 Z-30 K1.5 Q1=20

M19 S0

G91 G00 X3

G90 Z10

S100 M03

G33 Z-30 K1.5 Q1=140

M19 S0

G91 G00 X3

G90 Z10

S100 M03

G33 Z-30 K1.5 Q1=260

M19 S0

G91 G00 X3

G90 Z10

S100 M03

M30

(First thread)

(Second thread)

(Third thread)

CNC 8060

CNC 8065

(R EF : 1901)

·192·

Programming manual.

10.1.2 Programming examples (·T· model)

Example programming the X axis in radius.

Longitudinal electronic threading

To make a cylindrical thread in a single pass, 2 mm deep and with a 5 mm pitch.

10.

S100 M03

G00 G90 X200 Z190

X116 Z180

G33 Z40 K5

G00 X200

Z190

Since a spindle speed of 100 rpm an a pitch of 5mm have been programmed, the resulting feedrate will be 500 mm/min (pitch feedrate).

Multi-entry longitudinal electronic threading

To make a thread similar to the previous one, but with two entries shifted 180º from each other.

S100 M03

G00 G90 X200 Z190

X116 Z180

G33 Z40 K5 Q1=0

G00 X200

Z190

X116 Z180

G33 Z40 K5 Q1=180

G00 X200

Z190

CNC 8060

CNC 8065

(R EF : 1901)

·193·

10.

Programming manual.

Electronic taper threading

To make a taper thread in a single pass, 2 mm deep and with a 5 mm pitch.

S100 M03

G00 G90 X200 Z190

X84

G33 X140 Z50 K5

G00 X200

Z190

Thread blending (joining)

We would like to a blend a longitudinal thread with a taper thread with a depth of 2mm and a pitch of 5 mm.

CNC 8060

CNC 8065

(R EF : 1901)

·194·

S100 M03

G00 G90 G05 X220 Z230

X96

G33 Z120 X96 K5

G33 Z60 X160 K5

G00 X220

Z230

Programming manual.

10.2

Electronic threading with variable pitch (G34)

i For electronic threading, the machine must have a rotary encoder installed on the spindle.

The electronic threading executes the programmed thread in a single pass. In the electronic threading, the CNC does NOT interpolate the movement of the axes with the spindle.

Although, this type of threads are carried out along an axis, the CNC permits interpolating several axes. Besides, with electronic threading, it is possible to make threads with several entries (starts) and to blend threads.

Electronic threading may be carried out with any spindle, but when not using the master spindle, the spindle being used must be synchronized with it. The spindles may be synchronized via program using the instruction #SYNC or #TSYNC.

Programming.

Program function G34 followed by the coordinates of the end point of the thread and the starting thread pitch and the pitch increment or decrement of the thread pitch. Optionally, the entry angle may be defined which allows multi-entry (starts) thread.

10.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets.

G34 X..Z{pos} I/J/K{pitch} K1={pitchvar} <Q1={angle}>

X..Z{pos} Coordinates of the end point.

Units: millimeters/inches.

I/J/K{pitch} Optional. Starting thread pitch.

Units: millimeters/inches.

Q1={angle} Optional. Spindle angular position for the starting point of the thread. If not programmed, the function assumes a value of 0.

Units: ±359.9999 degrees.

K1={pitchvar} Optional. Increment (K1>0) or decrement (K1<0) of the thread pitch per spindle turn.

Units: millimeters/inches.

G34 Z-50 K3 K1=2 Q1=0

(Thread pitch 3 mm and 2 mm increment per turn)

G34 Z-40 K1 K1=1.5 Q1=30

G34 Z-80 K1 K1=1.5 Q1=210

(Two-start thread, at 30º and 210º)

Coordinates of the end point.

Although, this type of threads are carried out along an axis, the CNC permits interpolating several axes. The coordinates of the end point may be defined either in Cartesian or Polar coordinates as well as in absolute and incremental coordinates.

CNC 8060

CNC 8065

(R EF : 1901)

·195·

10.

Programming manual.

Starting thread pitch.

• The pitch is defined by the letters "I", "J" or "K" depending on the active plane.

G17 G18 G19 Letters "I", "J" and "K" are associated with the first, second and third axis of the channel respectively.

G20 Letters "I", "J" and "K" are associated with the abscissa, ordinate and perpendicular axes of the defined plane.

Example:

Electronic threading on the Z axis and in different planes (configuration of XYZ axes in the channel).

G17 (XY plane)

G34 Z40 K2 K1=1

G18 (ZX plane)

G34 Z40 K2 K1=1

G19 (YZ plane)

G34 Z40 K2 K1=1

G20 Z1 Y2 X3

G34 Z40 I2 K1=1

G20 Y1 Z2 X3

G34 Z40 J2 K1=1

G20 Y1 Z3 X2

G34 Z40 K2 K1=1

• When interpolating several axes in the electronic threading, the pitch is defined on one of the axes; not on the path.

CNC 8060

CNC 8065

(R EF : 1901)

·196·

• If the starting pitch of the thread is not programmed, the CNC acts as follows.

1 If no G33 or G34 has been programmed earlier, the CNC will issue an error message.

2 If a G33 has been programmed earlier, the starting pitch of G34 will be the pitch of the last G33 programmed.

3 If there is no G33, but a G34 has been programmed earlier, the starting pitch of G34 will be the final pitch of the last G34 programmed.

Spindle angular position.

Spindle angular position (within ±359.9999º) for the starting point of the thread. With this parameter, it is possible to make multi-entry threads. Programming it is optional; if not programmed, the function executes the thread at 0º (same as programming Q1=0).

Increment (K1>0) or decrement (K1<0) of the thread pitch per spindle turn.

The function executes a thread with an I/J/K pitch in the first turn, I/J/K+K1 in the second one, I/J/K+2*K1 in the third one and so on. Parameter K1 may be positive (pitch increment) or negative (pitch decrement) with the following limitations.

• If K1 is positive, it cannot be greater than or equal to twice the starting pitch.

• If K1 is positive, when incrementing the pitch while machining, none of the threading axes can exceed its maximum feedrate (parameter MAXFEED).

• If K1 is negative, the pitch while machining cannot reach zero or be negative, otherwise, the CNC will issue the corresponding error message.

The pitch increment depending on the starting pitch, final pitch and distance may be calculated as follows.

K1 = ( (final pitch)² – (starting pitch)² ) / 2 * (distance)

Programming manual.

Considerations about execution.

Beginning of threading.

If threading begins in square (sharp) corner, the pitch increase in the first turn will be half the increment ("K1"/2) and it will be a full increment "K1" in the following turns.

Interrupt execution ([STOP] key or PLC mark _FEEDHOL).

The behavior of the CNC when interrupting a threading ([STOP] key or PLC mark

_FEEDHOL) depends on function G233. See "10.4 Withdraw the axes after interrupting an electronic threading (G233)." on page 201.

• If G233 is active, when interrupting the thread, the axes withdraw the distance programmed in that function. If when interrupting the threading the pass is near the end, the CNC ignores G233 and stops the axes at the end of the pass.

• If G233 is not active, when interrupting the threading the axes stop at the end of the pass.

Spindle home search.

If the spindle has not been homed (referenced), the first G34 will be done automatically when using the master spindle. If the spindle is the master and it has not been homed, it will issue a warning.

Feedrate behavior.

The threading feedrate depends on the programmed spindle speed and thread pitch

(Feedrate = Spindle speed x Pitch). The electronic threading is carried out at 100% of the calculated feedrate and these values cannot be modified from the CNC's operator panel or via PLC.

Behavior of the spindle speed and of the spindle speed override

If the OEM allows it, (parameter THREADOVR), the user can modify the speed override from the operator panel and, in that case, the CNC will adapt the feedrate automatically respecting the thread pitch. In order to be able to modify the override, the feed forward active on the axes involved in threading must be higher than 90%.

If more than one G34 have been programmed for the same thread, all the threading operations must start at the same speed; otherwise, the entry point (start) to the thread will not be the same in all the threads. The CNC permits changing the spindle override during the thread cutting pass.

If more than one G34 have been programmed for a multi-start (multi-entry) thread, all the threading operations must start at the same speed; otherwise, the angle between the starts

(entry points) to the thread will not be the same as the one programmed. The CNC permits changing the spindle override during the thread cutting pass.

Considerations about thread blending.

When working in round corner (G05), the CNC lets blend different threads seamlessly in a single part. When thread blending, the CNC only takes into consideration the angular position of the spindle (Q1) in the first thread, after activating G33 or G34. The CNC ignores parameter

Q1until this function is canceled and activated back and it is synchronized when going through that angle.

Blending a thread of fixed pitch (G33) with a thread of variable pitch (G34).

The starting pitch of the variable thread (G34) must be the same as the pitch of the fixedpitch thread (G33). The pitch increment of the variable thread will be half the increment

("K1"/2) in the first turn and a full increment "K1" in the following turns.

G33 Z-40 K2.5

G34 Z-80 K2.5 K1=1

10.

CNC 8060

CNC 8065

(R EF : 1901)

·197·

10.

Programming manual.

Blending a thread of variable pitch (G34) with a thread of fixed pitch (G33).

This combination is used to end a variable-pitch thread (G34) with a portion of the thread that maintains the final pitch of the previous thread. In this case, the pitch is not programmed in the fixed-pitch thread G33 and the CNC will use the last pitch of the previous thread.

G34 Z-50 K2 K1=3

G33 Z-100

Blending two variable-pitch threads (G34).

The starting pitch of the second thread must be the same as the final pitch of the first one.

In this case, the pitch is not programmed in the second thread and the CNC will use the last pitch of the previous thread. The pitch increment of the variable thread will be half the increment ("K1"/2) in the first turn and a full increment "K1" in the following turns.

G34 Z-50 K2 K1=3

G34 Z-100 K1=-2

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G34 is modal and incompatible with G00, G01, G02, G03, G33, G63 and G100.

On power-up, after an M02 or M30 and after an emergency or a reset, the CNC assumes function G00 or G01 as set by the machine manufacturer (parameter IMOVE).

CNC 8060

CNC 8065

(R EF : 1901)

·198·

Programming manual.

10.3

Rigid tapping (G63)

i For rigid tapping, the machine must have a rotary encoder installed on the spindle.

When rigid tapping, the CNC interpolates the movement of the longitudinal axis with the spindle.

Programming

To define a rigid tapping, program function G63 and then the coordinates of the end point of the thread which may be defined in Cartesian or polar coordinates. The thread pitch will be calculated by the CNC depending on the active feedrate "F" and spindle speed "S" (Pitch

= Feedrate / Spindle speed).

Function G63 starts the spindle in the direction indicated by the programmed speed "S" ignoring the active M3, M4, M5 or M19 functions. A negative turning speed can only be programmed if function G63 is active.

...

G94 F300

G01 G90 X30 Y30 Z50

G63 Z20 S200

...

The thread pitch will be:

S

=

300

200

= 1 5mm

Since G63 does not withdraw the tool automatically after the tap, an inverted tap must be programmed in order to withdraw the tool by inverting the turning direction of the spindle (by changing the sign of the "S" speed). If the thread is made with a cutter tip, the tool may be also be withdrawn by orienting the spindle (M19) and separating the tool tip away from the thread.

To make a 4 mm pitch thread in X30 Y30 Z0 in a single pass with a depth of 30mm.

10.

G94 F400

G01 G90 X30 Y30 Z0

G63 Z-30 S100

M19 S0

G91 G01 X3

G90 Z10

G94 F400

G01 G90 X30 Y30 Z0

G63 Z-30 S100

G63 Z0 S-100

G01 Z10

Multiple-entry threads

With this type of threading, it is possible to make threads with several entry points. The positioning for each entry must be defined before each threading operation.

...

G90 G01 X0 Y0 Z0 F150

M19 S0

G63 Z-50 S150

G63 Z0 S-150

M19 S120

G63 Z-50 S150

(First entry at 0º)

(Tapping)

(Withdrawal)

(Second entry at 120º)

CNC 8060

CNC 8065

(R EF : 1901)

·199·

10.

Programming manual.

G63 Z0 S-150

M19 S240

G63 Z-50 S150

G63 Z0 S-150

...

(Third entry at 240º)

3-entry thread, 50mm deep and 1mm pitch.

Considerations for the execution

Spindle speed behavior

Threading is carried out a the speed defined with function G63. If no particular threading speed is defined, threading will be executed at the speed active at the time. If a speed is programmed with function G63, it will be the active spindle speed at the end of the threading operation.

The spindle turning direction is determined by the sign of the programmed "S" speed ignoring the active M3, M4, M5 or M19 functions. Programming any of these functions will cancel G63.

Feedrate behavior

While rigid tapping, the feedrate may be varied between 0% and 200% using the feedrate override switch on the CNC's operator panel of via PLC. The CNC will adapt the spindle speed in order to keep the interpolation between the axis and the spindle.

Rigid tapping and tool inspection mode

When interrupting the rigid tapping and accessing the tool inspection mode, it is possible to jog the axes (only in jog mode) that are involved in threading. When moving the axis, the interpolated spindle will also move; the spindle used to make the thread. If several axes are involved in the rigid tapping, when moving one of the axes all the axes involved in the thread will also move with it.

This way, the axis may be moved into or out of the thread as often as desired until the repositioning softkey is pressed. The axes move at the programmed F except when an axis or spindle exceeds its maximum feedrate allowed (parameter

MAXMANFEED

), in which case, the feedrate will be limited to that value.

The spindle jogging keys are disabled during tool inspection. It is only possible to get out of the thread by jogging one of the axes involved in rigid tapping. Functions M3, M4, M5 and

M19 cannot be programmed at the spindle either; these functions are ignored.

During repositioning, selecting one of the axes of the thread on the softkey menu will move all the axes and the spindle involved in the thread.

Properties of the functions

Function G63 is modal and incompatible with G00, G01, G02, G03 and G33.

On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the CNC assumes function G00 or G01 as set by the machine manufacturer [G.M.P. "IMOVE"].

CNC 8060

CNC 8065

(R EF : 1901)

·200·

Programming manual.

10.4

Withdraw the axes after interrupting an electronic threading

(G233).

i This feature must be enabled by the OEM in the machine parameters (parameter RETRACTTHREAD); otherwise, when interrupting the execution while threading (using the [STOP] key or the PLC mark

_FEEDHOL) the axes always stop at the end of the pass.

Function G233 may be used to program the safety distance that the axes will withdraw when interrupting a threading operation (G33/G34) either with the [STOP] key or from the PLC

(mark _FEEDHOL). In the threading canned cycles (G86/G87 of the -T- model) this function is ignored because it is implicit when programming the cycle.

This feature is particularly interesting in very long threads where it may be necessary to interrupt the threading operation either because the tool broke or because the machining is not right; for example due to vibrations on the work piece.

Programming. Defining and canceling the safety distance for thread exit.

• To define a safety distance, program function G233 and then the distance on each axis.

• To cancel the safety distance on an axis, define a safety distance of zero on the axis.

• To cancel the function, program it alone in the block or define a zero distance on all axes where it is active. In either case, function G233 disappears from the history.

Programming format. Defining a safety distance.

The programming format is the following; the list of arguments appears between curly brackets.

G233 X..Z{distance}

X..Z{distance} Thread exit distance on the axis perpendicular to the threading operation.

Units: millimeters/inches.

G233 X5

(The tool separates 5 mm from the thread on the X axis)

Programming format. Canceling the safety distance on an axis.

The programming format is:

G233 X0..Z0

G233 X0

(cancel the safety distance on an axis)

Programming format. Deactivate the function.

The programming format is:

G233

G233 X0..Z0

G233

G233 X0 Z0

Function G233 alone in the block also indicates the point where execution will resume after pressing [START].

Thread exit distance on the axis perpendicular to the threading operation.

The safety distance is only defined on the axis perpendicular to the threading operation; it is ignored on the rest of the axes. On outside longitudinal threads will be a positive distance and on inside ones it will be a negative distance.

On taper threading, the threading axis will be the one on which the pitch has been defined.

10.

CNC 8060

CNC 8065

(R EF : 1901)

·201·

10.

CNC 8060

CNC 8065

(R EF : 1901)

·202·

Programming manual.

Programming. Define the block to resume the block to resume execution after pressing [START].

To resume execution, press the [START] key; execution resumes at the next block where function G233 is programmed alone.

Operation.

The option to withdraw the axes when interrupting a threading operation depends on the configuration of the machine (parameter RETRACTTHREAD).

RETRACTTHREAD

ON

OFF

Meaning.

The CNC behavior depends on function G233.

The CNC ignores function G233 and stops the axes at the end of the threading operation.

When the feature is enabled (parameter RETRACTTHREAD), the CNC behaves as follows when interrupting a threading operation ([STOP] key or PLC mark _FEEDHOL).

• If G233 is active, the axis perpendicular to threading withdraws the programmed distance from the part. The threading axis withdraws the necessary distance as not to damage the thread while maintaining the pitch.

• If G233 is active, and when interrupting the threading the pass is near the end, the CNC ignores G233 and stops the axes at the end of the pass.

• If G233 is not active, the axes stop at the end of the pass.

Feedrate of the axes.

The axis perpendicular to threading withdraws from the part at the feedrate set in parameter

MAXFEED of the active set. The threading axis maintains the pitch.

Considerations and limitations.

G233 with several G33/G34 functions in a row.

Function G233 sets the thread exit distance for all G33/G34 threads programmed after it.

If there are several G33/G34 functions in a row and a different thread exit is desired for each one of them, the corresponding G233 function must be programmed betore each one of them.

Thread blending.

If there are several threads in a row (thread blending), function G233 considers all of them completed.

Threading canned cycles, ISO and conversational (-T- model).

Function G233 is only applied in electronic threading G33/G34; it is ignored in threading canned cycles, both ISO and conversational, because it is implicit in the cycles, programmed as thread exit.

• In canned cycles where a thread exit has been programmed, the withdrawal distance for the axis perpendicular to the threading is calculated automatically and corresponds to the value of that thread exit of each pass.

• In cycles where the thread exit has not been programmed, the behavior depends on parameter RETRACTTHREAD.

RETRACTTHREAD

ON

OFF

Meaning.

The tool withdraws to the safety coordinate, perpendicularly to the threading axis (just the same as when having a thread exit).

The axes stop at the end of the pass.

Once the tool has withdrawn the programmed distance, it returns to the starting point of the cycle. The machine waits for the CYCLE START command to repeat the aborted pass.

Programming manual.

Threading canned cycles, ISO and conversational (-T- model).

The option to withdraw the axes when interrupting a threading operation depends on the configuration of the machine (parameter RETRACTTHREAD).

RETRACTTHREAD

ON

OFF

Meaning.

The CNC interrupts the threading and withdraws the axes.

The CNC stops the axes at the end of the pass.

The CNC ignores function G233 in threading canned cycles, both ISO and conversational, because it is implicit in the cycles, programmed as thread exit. When the feature is enabled

(parameter RETRACTTHREAD), the CNC behaves as follows when interrupting a threading operation ([STOP] key or PLC mark _FEEDHOL).

• In canned cycles where a thread exit has been programmed, the withdrawal distance for the axis perpendicular to the threading is calculated automatically and corresponds to the value of that thread exit of each pass.

• In cycles where the thread exit has not been programmed, the axes withdraw to the safety coordinate, perpendicularly to the threading axis (just the same as when having a thread exit).

Once the tool has withdrawn the programmed distance, it returns to the starting point of the cycle. The machine waits for the CYCLE START command to repeat the aborted pass.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G233 is modal. On power-up, after executing an M02 or M30, and after an emergency or reset, the CNC cancels this function.

10.

CNC 8060

CNC 8065

(R EF : 1901)

·203·

10.

Programming manual.

10.4.1 Variables related to G233.

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.

V.[ch].G.RETREJ

PRG Meaning.

R The user has interrupted a thread and the CNC has withdrawn the axes from the thread.

(0 = The CNC has resumed execution, or M30 or reset)

(1 = The axes have reached the programmed distance)

Syntax of the variables.

V.G.RETREJ

10.4.2 Programming example.

Threading example with G33 and G233 where a thread exit has been programmed so that when interrupting execution, the axes stop at the starting point and repeat the threading operation.

N10 G90 G18 S500 M3

N20: G0 X20

N30 Z5

N50 X10

N60 G233 X5

(Withdrawal from the thread)

N70 G33 Z30 K5

(Threading block that may be interrupted with [STOP])

N80 G33 Z50 X15 K5

(Thread exit block)

N90 G233

N100 $IF V.G.RETREJ == 0 $GOTO N120

N110 $GOTO N20

N120 ...

If a [STOP] occurs in block N70, the CNC interrupts the threading and withdraws the axes according to block N60. After withdrawing the axes, the CNC considers blocks N70 and N80 completed and goes on to execute block N90.

CNC 8060

CNC 8065

(R EF : 1901)

·204·

11.

GEOMETRY ASSISTANCE

11

11.1

Square corner (G07/G60)

When working in square corner mode, the CNC does not begin executing the next movement until the axis reaches the programmed position. The CNC considers that the programmed position has been reached when the axis is located within the "in position" zone set by the machine manufacturer (OEM) [A.M.P. "INPOSW"].

Programming

The square corner machining mode may be activated by program using two different functions:

G07

G60

Square corner (modal).

Square corner (not modal).

Function G07 remains active throughout the program whereas function G60 only affects the block that contains it; therefore, it can only be added to a block containing a movement.

...

G01 G91 G60 Y70 F500

G01 X70

...

...

G07

G01 G91 Y70 F500

G01 X70

...

The theoretical and real profiles are the same, thus resulting in square corners as shown in the figure.

Properties of the functions

Function G07 is modal and incompatible with G05, G50, G60, G61 and the HSC mode.

Function G60 is not modal. After it is executed, the CNC restores the function G05, G07,

G50 or HSC that was previously active.

On power-up, after executing M02 or M30 and after an EMERGENCY or a RESET, the CNC assumes function G05, G07 or G50 as set by the OEM [G.M.P. "ICORNER"].

CNC 8060

CNC 8065

(R EF : 1901)

·205·

11.

Programming manual.

11.2

Semi-rounded corner (G50)

When working in semi-rounded corner, the CNC starts executing the next movement once the theoretical interpolation of the current move is completed without waiting for the axes to be in position. The distance from the programmed position to the position where the next move begins depends on the feedrate of the axis.

Programming

The semi-rounded corner machining mode may be activated by program using function G50.

...

G50

G01 G91 Y70 F500

G01 X70

...

This function provides rounded corners as shown in the figure.

Function properties

Function G50 is modal and incompatible with G05, G07, G60, G61 and the HSC mode.

On power-up, after executing M02 or M30 and after an EMERGENCY or a RESET, the CNC assumes function G05, G07, G50 or HSC as set by the OEM [G.M.P. "ICORNER"].

CNC 8060

CNC 8065

(R EF : 1901)

·206·

Programming manual.

11.3

Controlled corner rounding, radius blend, (G05/G61)

When working in round corner, it is possible to control the corners of the programmed profile.

How this machining is carried out depends on the type of corner rounding selected.

Programming

The type of corner rounding is selected with the "#ROUNDPAR" instruction and stays active

until a different one is selected. Section "11.3.1 Types of corner rounding" of this chapter

shows a description of the different types of corner rounding available.

After selecting the type of corner rounding, it may be activated by program using functions:

G05 Control corner rounding, radius blend (modal).

G61 Control corner rounding, radius blend (not modal).

Function G05 remains active throughout the program whereas function G61 only affects the block that contains it; therefore, it can only be added to a block containing a movement.

Considerations

This operation may be applied to any corner, regardless of whether it is defined between straight and/or circular paths.

11.

The corner is machined along a curved path, not with arcs. The shape of the curve depends on the type of corner rounding selected and on the dynamic conditions (feedrate and acceleration) of the axes involved.

Properties of the functions

Function G05 is modal and incompatible with G07, G50, G60, G61 and the HSC mode.

Function G61 is not modal. After it is executed, the CNC restores the function G05, G07,

G50 or HSC that was previously active.

On power-up, after executing M02 or M30 and after an EMERGENCY or a RESET, the CNC assumes function G05, G07 or G50 as set by the OEM [G.M.P. "ICORNER"].

CNC 8060

CNC 8065

(R EF : 1901)

·207·

11.

Programming manual.

11.3.1

Types of corner rounding

There are 5 different corner contouring types. The first 4 execute the different corner rounding types whereas the last one executes a square corner. The last one is aimed at special machines (Laser, water jet, etc.), that use it to avoid "burning" the corner, thus not being recommended for a milling machine.

Corner rounding is selected and defined through the parameters associated with the

"#ROUNDPAR" instruction. This instruction may have associated up to 6 parameters whose meaning will depend on the type of corner rounding selected.

Type 1

#ROUNDPAR [1,e]

Set the maximum deviation allowed between the programmed point and the profile resulting from rounding the corner.

The corner is rounded by giving priority to the machining dynamic conditions (feedrate and acceleration). It executes the machining operation that is closer to the programmed point without exceeding the programmed deviation and that does not require decreasing the programmed feedrate "F".

···

N70 #ROUNDPAR [1,3]

N80 G01 G91 G61 X50 F850

N90 G01 Y30

···

···

N70 #ROUNDPAR [1,3]

N75 G05

N80 G01 G91 X50 F850

N90 G01 Y30

···

N80

(X50 Y30)

?

N90 e ?

#ROUNDPAR [1,e] e: Distance between programmed point and real profile.

The distances from the programmed point to the points where the corner rounding begins and ends are calculated automatically and they cannot be greater than half the path programmed in the block. Both distances will be the same, except when one of them is limited to half the programmed path.

For this type of corner rounding, only the values of the first two parameters of the

"#ROUNDPAR" instructions are used, therefore, all parameters need not be included.

Type 2

#ROUNDPAR [2,f]

Set the percentage of the active feedrate "F" to be used to carry out the corner rounding.

It executes the corner rounding closer to the programmed point and that may be machined at the set feedrate percentage.

CNC 8060

CNC 8065

(R EF : 1901)

·208·

Programming manual.

···

N70 #ROUNDPAR [2,40]

N80 G01 G91 G61 X50 F850

N90 G01 Y30

···

···

N70 #ROUNDPAR [2,40]

N75 G05

N80 G01 G91 X50 F850

N90 G01 Y30

···

N80

(X50 Y30)

?

N90

?

#ROUNDPAR [2,f] f: Porcentage of feedrate "F" for corner rounding.

The distances from the programmed point to the points where the corner rounding begins and ends are calculated automatically and they cannot be greater than half the path programmed in the block. Both distances will be the same, except when one of them is limited to half the programmed path.

For this type of corner rounding, only the values of the first two parameters of the

"#ROUNDPAR" instructions are used, therefore, all parameters need not be included.

Type 3

#ROUNDPAR [3,a,b]

It defines the distance from the programmed point to the points where corner rounding begins and ends.

···

N20 #ROUNDPAR [3,10,3]

N30 G00 G90 X0 Y0

N40 G01 X50 F850

N50 Y30

···

(X50 Y30)

N50 b

N40 a

#ROUNDPAR [3,a,b] a: Distance to the starting point of corner rounding.

b: Distance to the end point of the corner rounding.

Depending on parameters "a" and "b", a deviation may occur at the programmed profile (as shown in the example).

For this type of corner rounding, only the values of the first three parameters of the

"#ROUNDPAR" instructions are used, therefore, all parameters need not be included.

Type 4

#ROUNDPAR [4,e]

Set the maximum deviation allowed between the programmed point and the profile resulting from rounding the corner.

The corner is rounded by giving priority to the machining geometrical conditions. The programmed machining operation is executed by decreasing the programmed feedrate "F" if necessary.

11.

CNC 8060

CNC 8065

(R EF : 1901)

·209·

11.

CNC 8060

CNC 8065

(R EF : 1901)

·210·

Programming manual.

···

N70 #ROUNDPAR [4,3]

N80 G01 G91 G61 X50 F850

N90 G01 Y30

···

···

N70 #ROUNDPAR [4,3]

N75 G05

N80 G01 G91 X50 F850

N90 G01 Y30

···

N80

(X50 Y30)

N90

?

e ?

#ROUNDPAR [4,e] e : Distance between programmed point and real profile.

The distances from the programmed point to the points where the corner rounding begins and ends are calculated automatically and they cannot be greater than half the path programmed in the block. Both distances will be the same, except when one of them is limited to half the programmed path.

For this type of corner rounding, only the values of the first two parameters of the

"#ROUNDPAR" instructions are used, therefore, all parameters need not be included.

Type 5

#ROUNDPAR [5,a,b,Px,Py,Pz]

It defines the distance from the programmed point to the points where corner rounding begins and ends. Also set the coordinates of an intermediate point of the corner rounding.

···

N70 #ROUNDPAR [5,7,4,55,-15,0]

N80 G01 G91 G61 X40 F850

N90 G01 Y20

···

···

N70 #ROUNDPAR [5,7,4,55,-15,0]

N75 G05

N80 G01 G91 X40 F850

N90 G01 Y20

···

N80

(X50 Y30) a

N90 b

(Px, Py, Pz)

#ROUNDPAR [5,a,b,Px,Py,Pz] a : Distance to the starting point of corner rounding.

b : Distance to the end point of the corner rounding.

Px : X coordinate of the intermediate point.

Py : Y coordinate of the intermediate point.

Pz : Z coordinate of the intermediate point.

This type of corner rounding only uses the values of the first six parameters of the

"#ROUNDPAR" instruction.

In this type of corner rounding, the shape of the curve depends on the position of the intermediate point and on the distance from the programmed point to the starting and ending points of the corner rounding.

Programming manual. b a

(Px, Py, Pz)

...

G92 X0 Y0

G71 G90

#ROUNDPAR [5,-30,-30,55,-5,0] a b (Px, Py, Pz)

G01 G61 X50 F850

N90 G01 Y40

...

"a" and "b" distances negative and greater (in absolute value) than the distance from the programmed point to the intermediate point on each axis (about 4 times).

...

G92 X0 Y0

G71 G90

#ROUNDPAR [5,-5,-5,65,-15,0] a b

G01 G61 X50 F850

G01 Y40

(Px, Py, Pz)

...

"a" and "b" distances, negative and smaller (in absolute value) than the distance from the programmed point to the intermediate point on each axis.

...

G92 X0 Y0

G71 G90

#ROUNDPAR [5,5,5,65,-15,0]

G01 G61 X50 F850

G01 Y40

...

Positive "a" and "b" distances.

a b

(Px, Py, Pz)

11.

CNC 8060

CNC 8065

(R EF : 1901)

·211·

11.

Programming manual.

11.4

Corner rounding, radius blend, (G36)

G36 may be used to round a corner with a particular radius without having to calculate either the center or the starting and ending points of the arc.

Programming

The rounding definition must be programmed between the two paths that define the corner to be rounded. These paths may be linear and/or circular.

The programming format is "G36 I<radius>", where the radius value is programmed in millimeters or in inches, depending on which are the active units.

CNC 8060

CNC 8065

(R EF : 1901)

·212·

G01 G90 X25 Y60

G36 I5

G01 X40 Y0

G03 G90 X40 Y50 I0 J30

G36 I5

G01 X40 Y0

Considerations

The "I" value of the rounding radius remains active until another value is programmed, therefore, it won't be necessary to program it in successive rounding operations with the same radius.

The "I" value of the rounding radius is also used by functions:

G37 (Tangential entry) as entry radius.

G38 (Tangential exit) as exit radius.

G39 (corner chamfering) as size of the chamfer.

This means that the rounding radius set in G36 will be the new value of the entry radius, exit radius or chamfer size when programming one of these functions or vice versa.

N10 G01 X10 Y10 F600

N20 G01 X10 Y50

N30 G36 I5

N40 G01 X50 Y50

N50 G36

N60 G01 X50 Y10

N70 G39

N80 G01 X90 Y10

N90 G39 I10

N100 G01 X90 Y50

N110 G36

N120 G01 X70 Y50

N130 M30

(Rounding. Radius=5)

(Rounding. Radius=5)

(Chamfer. Size=5)

(Chamfer. Size=10)

(Rounding. Radius=10)

Programming manual.

The programmed rounding feedrate depends on the type of movement programmed afterwards:

• If the next movement is in G00, the rounding will be carried out in G00.

• If the next movement is in G01, G02 or G03, the rounding will be carried out at the feedrate programmed in rounding definition block. If no feedrate has been programmed, the rounding will be carried out at the active feedrate.

N10 G01 G94 X10 Y10 F600

N20 G01 X10 Y50

N30 G36 I5

N40 G00 X50 Y50

N50 G36

N60 G01 X50 Y10

N70 G36 F300

N80 G01 X90 Y10 F600

N90 M30

(Rounding. G00)

(Rounding. F=600mm/min.)

(Rounding. F=300mm/min.)

When defining a plane change between the two paths that define a rounding, it is carried out in the plane where the second path is defined.

N10 G01 G17 X10 Y10 Z-10 F600

N20 X10 Y50 Z0

N30 G36 I10

N40 G18

N50 X10 Z30

N60 M30

(X-Y plane)

(Z-X plane. The rounding is carried out in this plane)

Function properties

Function G36 is not modal, therefore, it must be programmed every time a corner is to be rounded.

11.

CNC 8060

CNC 8065

(R EF : 1901)

·213·

11.

Programming manual.

11.5

Corner chamfering, (G39)

Function G39 may be used to insert a chamfer of a particular size without having to calculate the intersection points.

Programming

The chamfer definition must be programmed between the two paths that define the corner to be chamfered. These paths may be linear and/or circular.

The programming format is "G39 I<size>", where the size value is programmed in millimeters or in inches, depending on which are the active units.

CNC 8060

CNC 8065

(R EF : 1901)

·214·

G01 G90 X25 Y60

G39 I5

G01 X40 Y0

G03 G90 X40 Y50 I0 J30

G39 I5

G01 X40 Y0

Considerations

The "I" value of the chamfer size remains active until another value is programmed, therefore, it won't be necessary to program it in successive chamfering operations of the same size.

The "I" value of the chamfer size is also used by functions:

G36 (Corner rounding) as rounding radius.

G37 (Tangential entry) as entry radius.

G38 (Tangential exit) as exit radius.

This means that the chamfer size set in G39 will be the new value of the entry radius, exit radius or rounding radius when programming one of these functions or vice versa.

N10 G01 X10 Y10 F600

N20 G01 X10 Y50

N30 G36 I5

N40 G01 X50 Y50

N50 G36

N60 G01 X50 Y10

N70 G39

N80 G01 X90 Y10

N90 G39 I10

N100 G01 X90 Y50

N110 G36

N120 G01 X70 Y50

N130 M30

(Rounding. Radius=5)

(Rounding. Radius=5)

(Chamfer. Size=5)

(Chamfer. Size=10)

(Rounding. Radius=10)

Programming manual.

The programmed chamfering feedrate depends on the type of movement programmed afterwards:

• If the next movement is in G00, the chamfer will be carried out in G00.

• If the next movement is in G01, G02 or G03, the chamfer will be carried out at the feedrate programmed in chamfer definition block. If no feedrate has been programmed, the chamfer will be carried out at the active feedrate.

N10 G01 G94 X10 Y10 F600

N20 G01 X10 Y50

N30 G39 I5

N40 G00 X50 Y50

N50 G39

N60 G01 X50 Y10

N70 G39 F300

N80 G01 X90 Y10 F600

N90 M30

(Chamfering in G00)

(Chamfer. F=600mm/min.)

(Chamfer. F=300mm/min.)

When defining a plane change between the two paths that define a chamfer, it is carried out in the plane where the second path is defined.

N10 G01 G17 X10 Y10 Z-10 F600

N20 X10 Y50 Z0

N30 G39 I10

N40 G18

N50 X10 Z30

N60 M30

(X-Y plane)

(Z-X plane. The chamfer is carried out in this plane)

Function properties

Function G39 is not modal, therefore, it must be programmed every time a corner is to be chamfered.

11.

CNC 8060

CNC 8065

(R EF : 1901)

·215·

11.

Programming manual.

11.6

Tangential entry (G37)

Function G37 may be used to begin machining with a tangential entry of the tool without having to calculate the intersection points.

Programming

Tangential entry must be programmed alone in the block and after the block whose path is to be modified; this path must be a straight line (G00 or G01).

The programming format is "G37I<radius>", where the radius value is given in millimeters or inches depending on the active units.

The linear path before the tangential entry must have a length equal to or greater than twice the entry radius. Likewise, the radius must be positive and when working with tool radius compensation, it must be greater than the tool radius.

CNC 8060

CNC 8065

(R EF : 1901)

·216·

G01 G90 X40 Y50 F800

G02 X70 Y20 I30 J0

G01 G90 X40 Y50 F800

G37 I10

G02 X70 Y20 I30 J0

Considerations

The "I" value of the tangential entry radius remains active until another value is programmed, therefore, it won't be necessary to program it in successive tangential entries with the same radius.

The "I" value of the entry radius is also used by functions:

G36 (Corner rounding) as rounding radius.

G38 (Tangential exit) as exit radius.

G39 (corner chamfering) as size of the chamfer.

This means that the entry radius set in G37 will be the new value of the exit radius, rounding radius or chamfer size when programming these functions or vice versa.

Function properties

Function G37 is not modal, therefore, it must be programmed every time a tangential entry is to be carried out.

Programming manual.

11.7

Tangential exit (G38)

Function G38 may be used to end machining with a tangential exit of the tool without having to calculate the intersection points.

Programming

Tangential exit must be programmed alone in the block and before the block whose path is to be modified; this path must be a straight line (G00 or G01).

The programming format is "G38 I<radius>", where the radius value is programmed in millimeters or in inches, depending on which are the active units.

The linear path after the tangential exit must have a length equal to or greater than twice the exit radius. Likewise, the radius must be positive and when working with tool radius compensation, it must be greater than the tool radius.

11.

G02 X60 Y40 I20 J0 F800

G01 X100

G02 X60 Y40 I20 J0 F800

G38 I10

G01 X100

Considerations

The "I" value of the tangential exit radius remains active until another value is programmed, therefore, it won't be necessary to program it in successive tangential exits with the same radius.

The "I" value of the exit radius is also used by functions:

G36 (Corner rounding) as rounding radius.

G37 (Tangential entry) as entry radius.

G39 (corner chamfering) as size of the chamfer.

This means that the exit radius set in G38 will be the new value of the entry radius, rounding radius or chamfer size when programming these functions or vice versa.

Function properties

Function G38 is not modal, therefore, it must be programmed every time a tangential exit is to be carried out.

CNC 8060

CNC 8065

(R EF : 1901)

·217·

11.

CNC 8060

CNC 8065

Programming manual.

11.8

Mirror image (G11, G12, G13, G10, G14)

Mirror image may be used to repeat the programmed machining operation in a symmetrical position with respect one or more axes. When using with mirror image, the movements of the axes where mirror image is applied are executed with the opposite sign.

Programming

Mirror image may be applied by program using these functions:

G10 Mirror image cancellation.

G11

G12

Mirror image in X.

Mirror image in Y.

G13

G14

Mirror image in Z.

Mirror image in the programmed directions.

G10

Mirror image cancellation

It cancels mirror image on all axes, including the mirror image activated with G14.

If it is added to a path defining block, the mirror image will be canceled before the movement.

G11 to G13

Mirror image on X, on Y or on Z

Functions G11, G12 and G13 activate mirror image on the X, Y and Z axis respectively. These functions do not cancel each other, thus being possible to keep mirror image active on several axes at the same time.

If they are added to a path defining block, the mirror image will be activated before the movement.

G11

(Mirror image on the X axis)

G12

(Mirror image on the Y axis. It maintains the one of the X axis)

···

G10

(Mirror image cancellation on all the axes)

G14

Mirror image in the programmed directions

It may be used to activate or cancel mirror image on any axis. The activation or cancellation is defined by programming function G14 and then, the axes next to the value that determines whether to activate (<axis>=-1) or to cancel (<axis>=1) mirror image on that axis.

G14 X-1 V-1

(Mirror image on the X and V axes)

G14 X1

(Mirror image cancellation on the X axis. The one on the V axis remains active)

···

G14 V1

(Mirror image cancellation on the V axis)

(R EF : 1901)

·218·

Programming manual.

Considerations

When machining a profile with a mirror image, the machining direction is opposite to that of the programmed profile. If this profile has been defined with tool radius compensation, when activating the mirror image, the CNC will change the type of compensation (G41 or G42) to obtain the programmed profile.

11.

%PROGRAM

G00 G90 X0 Y0 Z20

...

G11

...

G10

M30

(Main program)

(Machining of profile 1)

(Mirror image on X).

(Machining of profile 2)

(Mirror image cancellation on all the axes)

Properties of the functions

Functions G11, G12, G13 and G14 are modal. Once mirror image is active on an axis, it stays active until canceled with G10 or G14.

Functions G10 and G14 are incompatible with each other as well as with G11, G12 and G13.

On power-up and after an emergency, the CNC cancels mirror image (it assumes function

G10). The behavior of the mirror image function after executing an M02 or M30 and after a reset depends on the setting of machine parameter MIRRORCANCEL.

MIRRORCANCEL

Yes

No

Behavior of the mirror image function.

Functions M02, M30 and reset cancel the mirror image function.

Functions M02, M30 and reset do not affect the mirror image function.

CNC 8060

CNC 8065

(R EF : 1901)

·219·

Programming examples.

Programming manual.

11.

CNC 8060

CNC 8065

(R EF : 1901)

·220·

%L PROFILE

N10 G00 X10 Y10

N20 G01 Z0 F400

N30 G01 X20 Y20 F850

N40 X50

N50 G03 X50 Y50 R15

N60 G01 X30

N70 X20 Y40

N80 Y20

N90 X10 Y10

N100 Z10 F400

M29

%PROGRAM

N10 G0 X0 Y0 Z10

N20 LL PROFILE

N30 G11

N40 LL PROFILE

N50 G12

N60 LL PROFILE

N70 G14 X1

N80 LL PROFILE

N90 G10

N100 G00 X0 Y0 Z50

M30

("PROFILE" subroutine definition)

(End of subroutine)

(Main program)

(Call to a subroutine. Profile 1)

(Mirror image on X).

(Call to a subroutine. Profile 2)

(Mirror image on X and Y).

(Call to a subroutine. Profile 3)

(Mirror image cancellation on the X axis)

(Call to a subroutine. Profile 4)

(Mirror image cancellation on all the axes)

Programming manual.

B

-150 -110 -60

X

60

40

20

A

60 110 150

Z

11.

%L PROFILE

G90 G00 X40 Z150

G02 X80 Z110 R60

G01 Z60

G01 X124 Z-6

M17

%PROGRAM

G18 G151

V.A.ORGT[1].Z=160

G54

LL PROFILE

G0 Z-150

G13

LL PROFILE

G0 Z-200

G10

M30

(Subroutine that defines the "A" zone of the part)

(Main program)

(Main plane ZX and programming in diameters)

(Definition of the first zero offset, G54)

(Application of the zero offset)

(Call to a subroutine. Machining of the "A" zone)

(Movement to avoid colliding with the part)

(Mirror image on Z)

(Call to a subroutine. Machining of the "B" zone)

(Return to the starting point)

(Cancel mirror image on all the axes)

CNC 8060

CNC 8065

(R EF : 1901)

·221·

11.

Programming manual.

11.9

Pattern rotation (G73)

Function G73 may be used to rotate the coordinate system taking as rotation center the active reference system (part zero) or the programmed rotation center.

Programming

The coordinate system rotation must be programmed alone in the block. The programming format is "G73 Q I J", where:

Q

I, J

Indicates the rotation angle in degrees.

They define the abscissa and ordinate of the rotation center. They must be defined in absolute coordinates referred to part zero.

When programmed, both parameters must be programmed.

If not programmed, the part zero will be assume as the rotation center.

To cancel the coordinate (pattern) rotation, program function G73 alone, with no additional data.

G73 Q90 G73 Q90 I20 J30

Therefore, function G73 may be programmed as follows:

G73 Q I J

G73 Q

G73

Rotate "Q" degrees with the center at abscissa "I" and ordinate "J" referred to part zero.

Rotate "Q" degrees with the center at part zero.

Cancellation of coordinate (pattern) rotation.

Considerations

Function G73 is incremental; i.e. the various "Q" values programmed are added up.

CNC 8060

CNC 8065

(R EF : 1901)

·222·

The "I" and "J" values are affected by the active mirror images. If any mirror image function is active, the CNC applies first the mirror image and then the coordinate system rotation.

Function properties

Function G73 is modal. The coordinate rotation stays active until it is canceled by function

G73 or until the work plane is changed.

Programming manual.

On power-up, after executing an M02 or M30, and after an EMERGENCY or RESET, the

CNC cancels the active coordinate system (pattern) rotation.

Programming example

Assuming that the starting point is X0 Y0, you get:

11.

%L PROFILE

G01 X21 Y0 F300

G02 G31 Q0 I5 J0

G03 G31 Q0 I5 J0

G03 G31 Q180 I-10 J0

M29

%PROGRAM

$FOR P0=1, 8, 1

LL PROFILE

G73 Q45

$ENDFOR

M30

(Subroutine with the profile)

(End of subroutine)

(Program)

(Repeats the profile and the pattern rotation 8 times)

(Machining of the profile)

(Coordinate rotation)

CNC 8060

CNC 8065

(R EF : 1901)

·223·

11.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

11.10 General scaling factor

It may be used to enlarge or reduce the scale of the programmed paths and contours. This permits using a single program to make sets of similar profiles of different dimensions.

The general scaling factor is applied to all the axes of the channel. After activating the scaling factor, all the programmed coordinates will be multiplied by the defined scaling factor until it is canceled or a new scaling factor is programmed.

Activate the scaling factor

The general scaling factor may be activated using the commands

G72

or

#SCALE

. Either command may be used.

Although there are two different commands, the scaling factor is the same; i.e. the scaling factor programmed with

G72 modifies the one programmed with

#SCALE and vice versa.

Programming with

G72

.

Program function

G72

and then the scaling factor set by parameter

S as follows.

G72 S<scale>

Programming function G72 alone or a scaling factor of ·0· or ·1· cancels the active scaling factor.

Parameter "S" that sets the scaling factor must be programmed after function G72. If programmed before, it will be interpreted as spindle speed.

Programming with

#SCALE

.

Program the instruction

#SCALE and then the scaling factor as follows. The brackets must be programmed.

#SCALE [<scale>]

Programming a scaling factor of ·0· or ·1· cancels the active scaling factor.

G72 S2

#SCALE [2]

G72

#SCALE [1]

Cancel the scaling factor

The general scaling factor is canceled using the same commands

G72

or

#SCALE

, setting a scaling factor of ·0· or ·1·. When using function

G72

, the scaling factor is also canceled by programming it alone in the block.

Considerations

Activating the machine coordinate system (#MCS ON) cancels the scaling factor temporarily until the machine coordinate system is canceled (#MCS OFF).

While the machine coordinate system is active, the scaling factor can neither be activated nor modified.

Properties

The scaling factor stays active until canceled with another scaling factor.

On power-up, after executing an M02 or M30, and after an EMERGENCY or RESET, the

CNC cancels the active scaling factor.

·224·

Programming manual.

Programming example

%L PROFILE

G90 X-19 Y0

G01 X0 Y10 F150

G02 X0 Y-10 I0 J-10

G01 X-19 Y0

M29

%PROGRAM

G00 X-30 Y10

#CALL PROFILE

G92 X-79 Y-30

#SCALE [2]

#CALL PROFILE

#SCALE [1]

M30

(Profile to be machined)

(Machining of profile "a")

(Coordinate preset)

(Applies a scaling factor of 2)

(Machining of profile "b")

(Cancels the scaling factor)

11.

CNC 8060

CNC 8065

(R EF : 1901)

·225·

11.

Programming manual.

X

100

50

A1

40

30 60

80 120

100

A2

Z

%L PROFILE

G90 G01 X200 Z0

G01 X200 Z30 F150

G01 X160 Z40

G03 X160 Z60 R10

G02 X160 Z80 R10

G03 X160 Z100 R10

G02 X160 Z120 R10

M29

%PROGRAM

G18 G151

G00 X206 Z0

LL PROFILE

G92 Z0

G72 S0.5

LL PROFILE

G72 S1

G01 X0

G0 X250 Z200

G53

M30

(Subroutine that defines the "A1" zone of the part)

(Main program)

(Main plane ZX and programming in diameters)

(Approach)

(Call to a subroutine. Machining of the "A1" zone)

(Coordinate preset)

(Application of the scaling factor)

(Call to a subroutine. Machining of the "A2" zone)

(Cancellation of the scaling factor)

(Return to the starting point)

(Cancellation of coordinate preset)

CNC 8060

CNC 8065

(R EF : 1901)

·226·

Programming manual.

11.11

Work zones.

The work zones define a restricted area for tool movement, either forbidding it to exit the programmed zone (no-exit zone) or forbidding it to enter it (no-entry zone). The CNC lets set five of these work zones that may be active at the same time.

During the movement of the axes, either in jog or automatic mode, the CNC monitors the theoretical position values (coordinates) to check whether the tool gets into a no-entry zone or gets out of a no-exit zone. If so, the CNC stops the movement of the axes and issues the corresponding error message.

During the movement, the CNC can either monitor the tool tip or the tool base or both. This vigilance (monitoring) works with and without tool radius and length compensation. When the CNC monitors the tool tip, it takes into account its dimensions.

Work zone in milling, defined in three linear axes.

11.

Work zone in lathe, defined in two linear axes.

The limits of the work zones are defined in machine coordinates. Basically, a work zone is defined by programming the lower limit coordinate and the upper limit coordinate in one or several axes of the channel. It is also possible to combine a circular area in two of the axes with lower limits and upper limits in other axes of the channel.

CNC 8060

CNC 8065

(R EF : 1901)

·227·

11.

11.11.1 CNC behavior when there are active work zones.

Programming manual.

Some general points to consider.

• On power-up, the CNC will not monitor the zones whose limits are defined by axes that have non-absolute feedback and have not been homed.

• The CNC will not monitor the work zones during home search.

• The CNC takes into account the tool dimensions in the axes of the main trihedron. If there is an active kinematics, the CNC will take into account the direction of the tool.

• The CNC also applies the work zones to the axes that work as DRO, monitoring in this case the limit in the direction of the real position increment for no-exit zones.

• The CNC monitors the machine coordinates of the axes of the channel; i.e. it takes into account the programmed movements and those coming from the independent interpolator of the manual intervention as well as of the PLCOFFSET.

Safety distance.

• The work zone limits have a safety distance set in machine parameters (parameter

ZONELIMITTOL) or from the variables. The CNC stops the axis when it reaches the safety distance of the zone; i.e. if the safety distance is 0.1 mm, the programmed coordinate can be, at the most, 0.1 mm before the limit.

Multi-channel system.

• When an axis changes channels, the CNC clears the limits of the axis in those zones.

• A channel axis cannot be changed while a zone that that axis belongs to is active.

Movements in automatic mode.

• Before starting the execution of a block, the CNC checks whether the end coordinates are inside a forbidden zone or the path crosses a forbidden zone.. If so, the CNC stops the movement of the axes and issues the corresponding error message. This check at the beginning of the block will also be done in the simulation modes.

• If manual intervention on an axis is enabled during the execution, from then on the CNC only checks the real position for the zones with limits on that axis. During block preparation, the CNC does not check the position for the zones with limits set on that axis.

Movements in jog mode (continuous, incremental jog or handwheels).

• When an axis reaches the limit of a zone, it stops and the CNC issues the corresponding warning message.

• The axis stops at the most restrictive limit of all the work zones in the moving direction respecting the safety distance (parameter ZONELIMITTOL). The CNC will look for the most restrictive limits from all the no-exit zones. From all the no-entry zones, the CNC will only consider the ones relevant to the position of the moving axis. The no-entry zone is considered relevant if the rest of the axes defined in the zone are in it, but not the moving axis.

• For no-exit zones, the CNC only checks the limit in the moving direction, thus allowing the axis to return to the valid zone.

CNC 8060

CNC 8065

(R EF : 1901)

·228·

Programming manual.

11.11.2 Set the limits of the work zones (G120/G121/G123).

The CNC lets set the work zones using the following functions. A work zone may be limited in all the axes of the channel.

G120

G121

G123

Set lower linear limits of the work zone.

Set upper linear limits of the work zone.

Set circular limits of the work zone.

The limits of the work zones are defined in machine coordinates. Basically, a work zone is defined by programming the lower limit coordinate and the upper limit coordinate in one or several axes of the channel. It is also possible to combine a circular area in two of the axes with lower limits and upper limits in other axes of the channel.

Programming. Set linear limits of a zone.

Program function G120 (lower limits) or G121 (upper limits) and then the zone number and the limits on each axis, in machine coordinates.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

G120 K{zone} X..C{limit}

G121 K{zone} X..C{limit}

K{zone}

X..C{limit}

Zone number (between 1 and 5).

Lower limit (G120) or the upper limit (G121) of the zone, in machine coordinates.

Units: Millimeters, inches or degrees.

G120 K1 X20 Y20

(Set the lower limits of zone 1 in the X Y axes)

G121 K1 X100 Y50

(Set the upper limits of zone 1 in the X Y axes)

Y

50

20

X

20 100

Name of the axis and zone limit.

The limits of the work zone may be defined in all the axes of the channel, in machine coordinates. Both limits of a zone (lower and upper) may be positive or negative; but the lower limits must be smaller than the upper ones.

The work zone limits on the cross axis of a lathe type machine are always defined in radius, regardless of the setting of parameter DIAMPROG and the active function G151/G152.

11.

CNC 8060

CNC 8065

(R EF : 1901)

·229·

11.

CNC 8060

CNC 8065

(R EF : 1901)

·230·

Programming manual.

Programming. Set circular limits of a zone.

Program function G123 and then the zone number and its dimensions.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

G123 K{zone} X..C{center} X..C{center} R{radius}

K{zone}

X..C{center}

Zone number (between 1 and 5).

Center coordinates in the two axes that define the circle, in machine coordinates.

Units: Millimeters, inches or degrees.

R{radius} Work zone radius.

Units: mm or inches.

G123 K2 X50 Y30 R20

(Set a circular zone with a 20 radius in the X Y plane)

Y

R20

30

X

50

Name of the axis and zone limit.

The zone limit may be defined in any two axes of the channel, in machine coordinates.

Considerations.

• Setting the limits of a zone cancels the limits set before in that zone. The circular limits cancel the linear or circular limits set before in the 2 axes involved. The linear limits (G120 or G121) on an axis cancel the existing linear limits on that axis or the existing circular limits on that axis or on the other axis that defined the circular zone.

• It is possible to combine in a zone circular limits on 2 axes with linear limits on other two axes.

• The changes programmed in the limits or in the status of the zones interrupt block preparations.

• For no-entry zones, when repositioning the axes after a tool inspection, the user must decide the right repositioning order (sequence) of the axes so as not to invade the zone.

In any case, during repositioning, the CNC will issue an error message before entering the forbidden zone.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Functions G120, G121 and G123 are modal. On power-up, after executing an M02 or M30, and after a reset, the CNC keeps the set limits.

Programming manual.

11.11.3 Enable/disable the work zones (G122).

Once the zones have been defined, function G122 allows enabling them either as a no-exit or no-entry zone. When a zone is enabled, the CNC, by default, watches the tool tip, but, it also offer the option monitor the tool base or both (tip and base). All zones may be enabled at the same time.

i

Programming.

Program function G122 and then the zone number and the action to carry out

(enable/disable). As an option, it is possible to define whether the CNC monitors the tool tip or the tool base.

Programming format.

The command "E" must always be placed after the function G122; otherwise the CNC will interpret it as the name of an axis.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

G122 K{zone} E{enable/disable} <I{tip/base}>

K{zone}

E{action}

Zone number (between 1 and 5).

Disable the zone or enable it as a no-entry or no-exit zone.

E0: Disable the zone.

E1: Enable the work zone as no-entry.

E2: Enable the work zone as no-exit.

I{vigilance} Optional (by default I0). Tool to monitor.

I0: Monitor the tool tip.

I1: Monitor the tool base.

I2: Monitor the tool tip and the tool base.

G122 K1 E1

(Enable zone 1 as no-entry zone)

(Monitor the tool tip)

K1

11.

G122 K2 E2 I2

(Enable zone 2 as no-exit zone)

(Monitor the tool tip and the tool base)

K2

Monitor the tool tip or the tool base.

The CNC can monitor the tool tip and/or the tool base. When the CNC monitors the tool tip, it takes into account its dimensions. The vigilance (monitoring) works with and without tool radius and length compensation.

CNC 8060

CNC 8065

(R EF : 1901)

·231·

11.

CNC 8060

CNC 8065

(R EF : 1901)

·232·

Programming manual.

Considerations.

CNC behavior when an axis invades the forbidden zone.

When one or several axes get into a no-entry zone or get out of a no-exit zone, the CNC interrupts the execution and issues the corresponding error message. To move the tool to a permitted zone, access the JOG mode and move the axes that overran the limits. These axes can only move in the direction that places them within the limits.

The CNC offers the following variable to indicate that one of the axes has reached the limit of a work zone.

(V.)[ch].G.ZONEWARN[k] Some axis has reached the limit of work zone [k].

Cancel the zone limits via PLC. PLC mark LIM(axis)OFF.

If the PLC mark LIM(axis)OFF of an axis is active, the CNC ignores the zone limits set for that axis (besides the software limits). This makes it easier to take the tool back to the permitted zone if it has invaded a forbidden zone.

Activate several zones simultaneously.

When activating several zones at the same time (that either overlap or they don't) on one or several axes, the CNC follows these criteria:

• If there are several no-exit zones active, it considers it an error to try to move the tool to a point located outside all of them.

• If there are several no-entry zones active, it considers it an error to try to move the tool to a point located inside any of them.

• If there are several no-entry and no-exit zones active, it considers it an error to try to move the tool to a point located inside any of the no-entry zones or outside all of the no-exit zones.

Examples:

To allow movement only in the shaded zones, combine 2 no-exit zones, a rectangular one and a circular one.

G122 K1 E2

G122 K2 E2

K1

K2

To allow movement only in the shaded zone, combine 2 zones, one into the other; the outside no-exit zone and the inside no-entry zone.

G122 K1 E2

G122 K2 E1

K1

K2

Programming manual.

If there are 2 circular or rectangular no-exit zones one inside the other, the CNC will only take into account the outside one. The entire shaded area is the permitted zone.

G122 K1 E2

G122 K2 E2

K1

K2 11.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G122 is modal. On power-up, after executing an M02 or M30, and after a reset, the CNC keeps active the zones that were active.

CNC 8060

CNC 8065

(R EF : 1901)

·233·

11.

Programming manual.

11.11.4 Summary of work zone related variables.

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].MPA.ZONELIMITTOL.xn

R Value set in parameter ZONELIMITTOL. Safety distance applied by the CNC to the limits of the work zones.

V.[ch].G.ZONEST[k]

V.[ch].G.ZONETOOLWATCH[k]

V.[ch].G.ZONEWARN[k]

R

R

R

Status of work zone [K].

(0=Disabled zone).

(1=Work zone enabled as no-entry).

(2=Work zone enabled as no-exit).

Monitor the tool tip or the tool base.

(0=Monitor the tool tip).

(1=Monitor the tool base).

(2=Monitor the tool tip and the tool base).

Some axis has reached the limit of work zone [k].

V.[ch].A.ZONELIMITTOL.xn

V.[ch].A.ZONELOWLIM[k].xn

R/W Safety distance of the limits of the work zones.

R Lower limit of zone [k].

V.[ch].A.ZONEUPLIM[k].xn

R Upper limit of zone [k].

V.[ch].G.ZONECIR1[k]

V.[ch].G.ZONECIR2[k]

V.[ch].G.ZONER[k]

R

R

R

Center coordinate of zone [k] along the first axis that defines the circular zone.

Center coordinate of zone [k] along the second axis that defines the circular zone.

Radius of zone [k] (circular zone).

V.[ch].G.ZONECIRAX1[k]

V.[ch].G.ZONECIRAX2[k]

R

R

Logic axis corresponding to the first coordinate of the center of zone [k].

Logic axis corresponding to the second coordinate of the center of zone [k].

Syntax of the variables.

·ch· Channel number.

·k· Zone number.

·xn· Name, logic number or index of the axis.

V.[2].G.ZONEST[1]

V.A.ZONEUPLIM[1].Z

V.A.ZONEUPLIM[1].4

V.[2].A.ZONEUPLIM[1].1

Channel ·2·. Zone 1.

Z axis. Zone 1.

Axis with logic number ·4·. Zone 1.

Axis with index ·1· in the channel ·2·. Zone 1.

CNC 8060

CNC 8065

(R EF : 1901)

·234·

12.

ADDITIONAL PREPARATORY

FUNCTIONS

12

12.1

Dwell (G04 / #TIME).

The F04 function and the #TIME instruction may be used to interrupt the execution of the program for the specified period of time. Both commands are equivalent and either one may be used.

Programming (1). G04.

Program function G04 and then the dwell time.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets. The K command may be left out when the dwell is programmed with a constant.

G04 K{time}

G04 {time}

K{time}

{time}

Dwell.

Units: Seconds.

Dwell (programmed with a constant).

Units: Seconds.

G04 K0.5

(0.5 second dwel)

G04 8.5

(8.5 second dwel)

P1=3

G04 KP1

(3 second dwel)

P1=3

G04 K[P1+7]

(10 second dwel)

Programming (2). #TIME.

The dwell must be programmed with programming this instruction.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets. If the time is programmed with a constant or a parameter, the brackets [] may be left out .

#TIME [{time}]

#TIME {time}

{time} Dwell.

Units: Seconds.

CNC 8060

CNC 8065

(R EF : 1901)

·235·

12.

Programming manual.

#TIME [5]

#TIME 5

(5 second dwel)

P1=2

#TIME [P1]

#TIME P1

(2 second dwel)

P1=2

#TIME [P1+3]

(5 second dwel)

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G04 is not modal, therefore, it must be programmed every time a dwell is desired.

Function G04 may also be programmed as G4.

CNC 8060

CNC 8065

(R EF : 1901)

·236·

Programming manual.

12.2

Software limits.

The CNC lets set the software limits on linear axes and on linearlike rotary axes. The software limits set the travel limits for the axes to prevent the carriages from reaching the mechanical hard stops. The carriages reach the hard stops when the reference point of the tool holder is placed at the physical limits.

X

FL

SL

T

OM

T

FL

SL

FL

SL

T O

M

X

Z

Y

O

M

Machine zero.

Reference point of the tool holder.

Physical limits.

Software limits applied by the CNC.

Programmable positions of the axes (they depend on the active tool).

Z

CNC behavior when an axis reaches the software limits.

In automatic mode, when programming a position where the reference point of the tool holder is beyond the software limits, the CNC interrupts the execution and shows the pertinent error message. The programmable positions of the axes depend on the dimensions of each tool.

In jog mode, when an axis reaches the software limits, the CNC interrupts the execution and shows the pertinent error message. To take the axis to the work zone, access the JOG mode and move the axis that overran the travel limit. The axis can only move in the direction that places it within the limits.

Software limits applied by the CNC (first and second limits).

Each axis can have two active software limits, called first and second limit. Since each software limit is defined by an upper and lower limit, each axis can have a total of two upper limits and two lower limits. Of the each limit pair, (lower and upper), the CNC applies the most restrictive one regardless of whether they belong to the first or to the second limit.

Y

SL2

SL1

SL

X

SL1

SL2

SL

First software limit.

Second software limit.

Valid moving zone.

12.

CNC 8060

CNC 8065

(R EF : 1901)

·237·

12.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

12.2.1 Define the first software limit (G198/G199).

The CNC lets set the software limits on linear axes and on linearlike rotary axes. The first software limits of the axes are pre-defined in the machine parameters (parameters LIMIT+

/ LIMIT-). These limits may be changed by program using the following functions and variables.

G198

G199

Set lower software travel limits (first limit).

Set upper software travel limits (first limit).

The CNC also offers the following variables equivalent to functions G198/G199. See

"12.2.2 Define the first software limit via variables." on page 240.

V.A.NEGLIMIT.xn

Set lower software travel limits (first limit). Variable equivalent to G198.

V.A.POSLIMIT.xn

Set upper software travel limits (first limit). Variable equivalent to G199.

Programming.

Program one of the functions G198/G199, and then, the axes and their new software limits.

These functions may be used to program several axes.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

G198 X..C{soft_limit}

G199 X..C{soft_limit}

X..C{soft_limit} Name of the axis and software limit.

Units: millimeters/inches.

G198 X-1000 Y-1000

(New lower limits X=-1000 Y=-1000)

G199 X1000 Y1000

(New upper limits X=1000 Y=1000)

Name of the axis and software limit.

Both limits of an axis (lower and upper) may be positive or negative; but the lower limits must be smaller than the upper ones. Otherwise, the might not move in any direction.

When setting both upper and lower limits of an axis to ·0·, the CNC cancels the first software limit of that axis and applies the second one (if it has been defined). To restore the first limit, it must be programmed again.

Considerations.

Absolute (G90) or incremental (G91) programming.

Depending on the active work mode G90 or G91, the position of the new limits will be defined in absolute coordinates (G90) in the machine reference system or in incremental coordinates

(G91) referred to the current active limits.

G90

G198 X-800

(New lower limit X=-800)

G199 X500

(New upper limit X=500)

G91

·

G198 X-700

(New incremental lower limit X=-1500)

·238·

Programming manual.

Axes out of position.

If after setting the new limits, an axis positions beyond them, it will be possible to move that axis towards the work zone (between those limits).

Programming on a lathe (radius/diameter).

The software limits are always defined in radius, regardless of the setting of parameter

DIAMPROG and the active function G151/G152.

Restore the software limits set in the machine parameters.

The software limits set in the machine parameters may be restored by program using their variables.

G198 X[V.MPA.NEGLIMIT.X] Y[V.MPA.NEGLIMIT.Y]

G199 X[V.MPA.POSLIMIT.X] Y[V.MPA.POSLIMIT.Y]

(The CNC restores the limits set in the machine parameters)

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

On power-up or after validating the axis machine parameters the CNC assumes the software limits set by the machine parameters. After an M02 or M30 and after an emergency or a reset, the CNC maintains the software limits set by G198 and G199 or their equivalent variables.

12.

CNC 8060

CNC 8065

(R EF : 1901)

·239·

12.

Programming manual.

12.2.2 Define the first software limit via variables.

The first software limits can also be defined by the variables equivalent to G198/G199. The functions and the variables modify the same software limits; therefore, either ones may be used.

V.A.NEGLIMIT.xn

V.A.POSLIMIT.xn

Set lower software travel limits (first limit). Variable equivalent to

G198.

Set upper software travel limits (first limit). Variable equivalent to

G199.

On power-up, these variables assume the values of the machine parameters (LIMIT+ /

LIMIT-).

Programming of software limits.

Programming is equivalent to G198/G199. Both limits of an axis (lower and upper) may be positive or negative; but the lower limits must be smaller than the upper ones. When setting both upper and lower limits of an axis to ·0·, the CNC cancels the first software limit of that axis and applies the second one (if it has been defined).

Considerations.

Absolute (G90) or incremental (G91) programming.

Unlike functions G198/G199, the limits defined with variables do not depend on functions

G90/G91, they are always in absolute coordinates and in the machine reference system.

Axes out of position.

If after setting the new limits, an axis positions beyond them, it will be possible to move that axis towards the work zone (between those limits).

Programming on a lathe (radius/diameter).

The software limits are always defined in radius, regardless of the setting of parameter

DIAMPROG and the active function G151/G152.

Influence of the reset, turning the CNC off and of the M30.

After an M02 or M30 and after an emergency or a reset, the CNC maintains the software limits set by these variables.

CNC 8060

CNC 8065

(R EF : 1901)

·240·

Programming manual.

12.2.3 Define the second software limit via variables.

The second software limits can only be defined by variables.

V.A.RTNEGLIMIT.xn

V.A.RTPOSLIMIT.xn

Set lower software travel limits (second limit).

Set upper software travel limits (second limit).

On power-up, these variables assume the values of the first software limits. As long as these variables are not defined with their own value, they copy the values of the first software limits.

Programming of software limits.

Both limits of an axis (lower and upper) may be positive or negative; but the lower limits must be smaller than the upper ones. When setting both upper and lower limits of an axis to ·0·, the CNC cancels the second software limit of that axis.

Considerations.

Absolute (G90) or incremental (G91) programming.

The limits defined with variables do not depend on functions G90/G91, they are always in absolute coordinates and in the machine reference system.

Axes out of position.

If after setting the new limits, an axis positions beyond them, it will be possible to move that axis towards the work zone (between those limits).

Programming on a lathe (radius/diameter).

The software limits are always defined in radius, regardless of the setting of parameter

DIAMPROG and the active function G151/G152.

Influence of the reset, turning the CNC off and of the M30.

After an M02 or M30 and after an emergency or a reset, the CNC maintains the software limits set by these variables.

12.

CNC 8060

CNC 8065

(R EF : 1901)

·241·

12.

Programming manual.

12.2.4 Variables associated with the software limits.

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.

V.[ch].MPA.NEGLIMIT.xn

V.[ch].MPA.POSLIMIT.xn

V.[ch].A.NEGLIMIT.xn

V.[ch].A.POSLIMIT.xn

V.[ch].A.RTNEGLIMIT.xn

R/W Meaning.

R Lower software limit (first limit) set in the machine parameters.

R Upper software limit (first limit) set in the machine parameters.

R/W Lower software limit (first limit).

Equivalent to G198.

R/W Upper software limit (first limit).

Equivalent to G199.

R/W Lower software limit (second limit).

V.[ch].A.RTPOSLIMIT.xn

R/W Upper software limit (second limit).

V.[ch].G.SOFTLIMIT

R Software limit reached on some axis.

(0=No 1=Yes)

Syntax of the variables.

·ch· Channel number.

·xn· Name, logic number or index of the axis.

V.A.POSLIMIT.Z

V.A.POSLIMIT.4

V.[2].A.POSLIMIT.1

V.[2].G.SOFTLIMIT

Z axis.

Axis with logic number ·4·.

Axis with index ·1· in the channel ·2·.

Channel ·2·.

CNC 8060

CNC 8065

(R EF : 1901)

·242·

Programming manual.

12.3

Turn Hirth axis on and off (G170/G171).

A Hirth axis is the one that can only be positioned at particular positions, multiple of its pitch

(parameter HPITCH). When a Hirth axis is not active, it behaves like a normal rotary or linear axis and can reach any position. Hirth axes may be canceled and activated by program using the following functions.

G170

G171

Hirth axes OFF.

Hirth axes ON.

Programming. Activate a Hirth axis.

Program function G171, and then, the axes to be activated as Hirth and the order in which they will be activated. Several axes may be programmed with this function.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

G171 X..C{n_order}

X..C{n_order} Name of the axis and order number.

G171 B1 C2

(Activate B first and then C, as Hirth axis)

Programming. Cancel a Hirth axis.

Program function G170, and then the Hirth axes to be deactivated and the order in which they will be deactivated. Several axes may be programmed with this function.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

G170 X..C{n_order}

X..C{n_order} Name of the axis and order number.

G170 B2 C1

(Deactivate the C axis first and then B)

Considerations.

• If when activating a Hirth axis, it is located in the wrong position, the CNC will issue a warning so the operator can turn it to a correct position.

• A Hirth axis must always be positioned at positions multiple of its pitch. For these positioning movements, the CNC takes into account the active zero offset (preset or zero offset).

• Both linear and rotary axes may be Hirth. Only those axes defined as Hirth axes by the

OEM (parameter HIRTH) may be activated as Hirth axes.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Functions G170 and G171 are modal and incompatible with each other. On power-up, after an M02 or M30 and after an emergency or a reset, the CNC activates all the Hirth axes.

12.

CNC 8060

CNC 8065

(R EF : 1901)

·243·

12.

Programming manual.

12.4

Set and gear change.

12.4.1 Change parameter set of an axis (G112)

The CNC may have up to 4 sets of parameters for each axis defined by the OEM in the machine parameter table. The parameter set may be selected by program using function

G112. This function does not carry out any physical change on the machine (gear change), it only assumes the parameters of the selected set. When using Sercos axes, function G112 also involves changing the drive's velocity gear.

Programming.

Program G112 and then the axes and the new parameter set to be activated for each one of them. Several axes may be programmed with this function.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

G112 X..C{set}

X..C{set} Name of the axis and parameter set (between 1 and 4).

G112 X2 Y3

(The CNC selects the second set of parameters for the X axis, and the third one for the Y axis)

Change of the drive's parameter set.

The CNC only allows the set of the spindle parameters to be modified when working as a

C axis. In this case, a change to the set is programmed using the name of the axis, not the name of the spindle.

#CAX[S,C]

G112 C2

(It selects the second set of parameters for the C axis)

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Function G112 is modal. After validating the machine parameters, every time a program is executed from the automatic mode, on power-up, after executing an M02 or M30, after an emergency or a reset, the CNC acts as follows depending on how the OEM has set it

(parameter DEFAULTSET).

DEFAULTSET

0

1..4

Meaning.

The CNC maintains the parameter set.

Set number assumed by the CNC.

CNC 8060

CNC 8065

(R EF : 1901)

·244·

Programming manual.

12.4.2 Change the gear and set of a Sercos drive using variables.

The following variables may be used to change the gear and set of a Sercos drive for axes and for spindles. This variable does not affect the parameter set of the CNC.

(V.)[ch].A.SETGE.xn

(V.)[ch].A.SETGE.sn

(V.)[ch].SP.SETGE.sn

Select the set and the gear at the Sercos drive.

Programming.

The drive can have 8 work ranges or gears identified from 0 through 7 (drive parameter GP6) and 8 sets of parameters (drive parameter GP4) identified from 0 through 7.

The 4 least significant bits indicate the work range and the 4 most significant bits indicate the set of parameters. If the value of any 4-bit set is ·0·, the CNC does not change the active gear or set at the drive. Example of some values of the variable.

Value.

$21

$40

$07

Meaning.

First range or gear (gear ·0·).

Second set of parameters (set ·1·).

The drive maintains the active gear.

Fourth set of parameters (set ·3·).

Seventh range or gear (gear ·6·).

The drive maintains the active parameter set.

Considerations.

Only one change can be taking place at a time. If other gear or set changes are programmed during this process, even if they are at different drives, the CNC only keeps the one programmed last and ignores the rest of the intermediate changes.

12.

CNC 8060

CNC 8065

(R EF : 1901)

·245·

12.

Programming manual.

12.4.3 Variables related to set and gear change.

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.

(V.)[ch].A.ACTIVSET.xn

(V.)[ch].A.ACTIVSET.sn

(V.)[ch].SP.ACTIVSET.sn

(V.)[ch].A.SETGE.xn

(V.)[ch].A.SETGE.sn

(V.)[ch].SP.SETGE.sn

R/W Meaning.

R Parameter set active at the axis or spindle.

The variable returns the value of execution or preparation as follows. If the spindle belongs to the channel requesting the variable, it returns the preparation value; if the axis or spindle belongs to a different channel, the variable returns the execution value and interrupts block preparation.

R/W Select the set and the gear at the Sercos drive.

The 4 least significant bits indicate the work range and the

4 most significant bits indicate the set of parameters. If the value of any 4-bit set is ·0·, the CNC does not change the active gear or set at the drive.

Syntax of the variables.

·ch· Channel number.

·xn· Name, logic number or index of the axis.

·sn· Name, logic number or index of the spindle.

V.A.ACTIVSET.Z

V.A.ACTIVSET.S

V.SP.ACTIVSET.S

V.SP.ACTIVSET

V.A.ACTIVSET.4

V.[2].A.ACTIVSET.1

V.SP.ACTIVSET.2

V.[2].SP.ACTIVSET.1

Z axis.

Spindle S.

Spindle S.

Master spindle.

Axis or spindle with logic number ·4·.

Axis with index ·1· in the channel ·2·.

Spindle with index ·2· in the system.

Spindle with index ·1· in the channel ·2·.

CNC 8060

CNC 8065

(R EF : 1901)

·246·

Programming manual.

12.5

Smooth the path and the feedrate.

By default, the CNC calculates the space and the feedrate on the main three axes and the rest of the axes follow their corresponding feedrate. This way, on a machine that moves more than tree axes and has the kinematics and RTCP active, the tool tip moves at the programmed feedrate. However, when these machining operations show discontinued movements on the main axes, this process can generate irregularities on the velocity profile and, therefore, the resulting movement might not always be continuous.

To solve both situations, the CNC offers several instructions that make the movement a lot more continuous, thus improving part finish quality and reduce machining time considerably.

These instructions are incompatible with each other.

#PATHND Smooth the path.

#FEEDND Smooth the path and the feedrate.

12.

12.5.1 Smooth the path (#PATHND).

This instruction being active (#PATHND ON), the CNC calculates the space between all the axes and obtains a smoother movement. If this instruction is not active (#PATHND OFF), the CNC calculates the space on the three main axes.

In either case, the CNC applies the programmed feedrate to the three main axes; the rest of the axes move at their corresponding feedrate to end the movement of them all at the same time.

Programming. Activate path smoothing.

Program the instruction alone in the block.

Programming format.

The programming format is:

#PATHND ON

#PATHND ON

Programming. Cancel path smoothing.

Program the instruction alone in the block.

Programming format.

The programming format is:

#PATHND OFF

#PATHND OFF

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Instructions #PATHND and #FEEDND are incompatible with each other. On power-up, after an M02 or M30 and after an emergency or a reset, the CNC assumes the behavior set by the machine manufacturer (parameter FEEDND].

CNC 8060

CNC 8065

(R EF : 1901)

·247·

12.

Programming manual.

12.5.2 Smooth the path and the feedrate (#FEEDND).

This instruction being active (#FEEDND ON), the CNC considers all the axes when calculating the space. The programmed feedrate will be the result of composing the movements onto all the axes of the channel. The CNC applies the programmed feedrate to all the axes.

If the instruction is not active (#FEEDND OFF) the programmed feedrate will be the result of composing the movement only onto the main axes. The rest of the axes move at their corresponding feedrate to end the movement of them all at the same time.

Programming. Activate path and feedrate smoothing.

Program the instruction alone in the block.

Programming format.

The programming format is:

#FEEDND ON

#FEEDND ON

Programming. Cancel path and feedrate smoothing.

Program the instruction alone in the block.

Programming format.

The programming format is:

#FEEDND OFF

#FEEDND OFF

Considerations.

• The CNC only limits the programmed feedrate if an axis exceeds its maximum feedrate

(parameter MAXFEED).

• If none of the main axes are programmed, the programmed feedrate will be reached on the axis moving the farthest so they can all reach their destination at the same time.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Instructions #PATHND and #FEEDND are incompatible with each other. On power-up, after an M02 or M30 and after an emergency or a reset, the CNC assumes the behavior set by the machine manufacturer (parameter FEEDND].

CNC 8060

CNC 8065

(R EF : 1901)

·248·

13.

TOOL COMPENSATION

13

Tool compensation allows programming the contour to be machined based on part dimensions and without taking into account the dimensions of the tool that will be used later on. This way, there is no need to calculate and redefine the tool path depending on the radius and length of each tool.

Types of compensation

Tool radius compensation (milling).

When working with tool radius compensation, the tool center follows the programmed path at a distance equal to the tool radius. Thus obtaining the right dimensions of the programmed part.

Tool radius compensation (lathe).

The CNC assumes as theoretical tool tip (P) the result of the sides used when calibrating the tool. Without tool radius compensation, the theoretical tool tip (P) travels the programmed path leaving machining ridges in incline and curved sections. With tool radius compensation, it takes into account the tool tip radius and the location code (shape) or type of tool obtaining the dimensions of the programmed part.

Tool length compensation.

When working with tool length compensation, the CNC compensates for the length difference between the different programmed tools.

R

A

Rp

B

(A)Compensación de radio.

(B)Tool length compensation.

CNC 8060

CNC 8065

(R EF : 1901)

·249·

13.

Programming manual.

Compensation values

The compensation values applied in each case is calculated from the tool dimensions.

• In tool radius compensation, the applied value is the sum of the radius and radius wear of the selected tool.

• In tool length compensation, the applied value is the sum of the length and length wear of the selected tool.

The tool "T" and the tool offset "D", containing the tool dimensions, may be selected anywhere in the program, even while tool compensation is active. If no tool offset is selected, the CNC assumes tool offset "D1".

CNC 8060

CNC 8065

(R EF : 1901)

·250·

Programming manual.

13.1

Tool radius compensation

Radius compensation is applied in the active work plane, previously selected using functions

G17 (XY plane), G18 (ZX plane), G19 (YZ plane) or G20 (user defined plane).

Programming

The functions for selecting tool radius compensation are:

G41 Left-hand tool radius compensation.

G42

G40

Right-hand tool radius compensation.

Cancellation of tool radius compensation.

Tool radius compensation on a milling machine.

13.

G40 G41 G42

Tool radius compensation on a horizontal lathe.

X

G42

G41

G41

G42

Z Z

G41

G42

G41

G42

G41

G41

Z Z

G42

G41

G41

X G42

Tool radius compensation on a vertical lathe.

Z G42 G41

G42

G42

G41 G42 Z

X

X

G41 G42

X

G42 G41

Depending on the type of compensation selected (G41/G42), the CNC will place the tool will be placed to the left or to the right of the programmed path along the machining direction and will apply the compensation value. If no tool compensation is selected (G40), on a milling machine the CNC will place the tool center right on the programmed tool path; on a lathe, the CNC will place the theoretical tool tip on the programmed path.

When the radius compensation is active, the CNC analyzes the blocks to be executed beforehand, in order to detect any compensation errors related to steps, null arcs, etc. If any are detected, the blocks in which they originate will not be executed and a warning will appear on screen to warn the user that the programmed profile has been modified. A warning will come up for every profile correction made.

Properties of the functions

Functions G40,G41 and G42 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

G40.

CNC 8060

CNC 8065

(R EF : 1901)

·251·

13.

13.1.1 Location code (shape or type) of the turning tools

Programming manual.

The location code indicates the type of tool and the sides used to calibrate it. The location code depends on the position of the tools and on the orientation of the machine axes.

The next example shows the location code F3 on different machines. Observe how the CNC keeps the relative position of the tool with respect to the axes.

Location code F3 on a horizontal lathe.

Location code F3 on a vertical lathe.

Here are the location codes available on most common horizontal lathes.

CNC 8060

CNC 8065

(R EF : 1901)

·252·

Programming manual.

X+

Z+

F1 F2

F8

F7 F6

F3

F4

F5

F0

F1

F9 F8

F7

F2 F3

F6

F4

F5

F1 F2

F8

F7 F6

F3

F4

F5

F0

F9 F8

F2

F6

F4

13.

CNC 8060

CNC 8065

(R EF : 1901)

·253·

13.

Programming manual.

X+

Z+

F7

F8

F1

F6 F5

F2

F4

F3

F0

F7

F9 F8

F1

F6

F2

F5

F4

F3

F7

F8

F1

F6 F5

F2

F4

F3

F0

F9 F8

F6

F2

F4

CNC 8060

CNC 8065

(R EF : 1901)

·254·

Programming manual.

13.1.2 Functions associates with radius compensation

The functions associated with tool compensation may be programmed anywhere in the program, even while tool radius compensation is active.

SELECTING THE TYPE OF TRANSITION BETWEEN BLOCKS

The transition between blocks determines how the compensated paths are joined together.

Programming

The type of transition may be selected from the program by means of the following functions:

G136 Circular transition between blocks.

G137 Linear transition between blocks.

G136

Circular transition between blocks.

Being function G136 active, the CNC joins the compensated paths using circular paths.

G137

Linear transition between blocks.

Being function G137 active, the CNC joins the compensated paths using linear paths.

13.

(A)

(A)Circular transition between blocks (G136).

(B)Linear transition between blocks (G137).

(B)

Remarks

Later sections of this chapter offer graphic descriptions of how different paths are joined, depending on the type of transition selected (G136/G137).

Properties of the functions

Functions G136 and G137 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 G136 or G137 depending on the value of machine parameter

IRCOMP.

CNC 8060

CNC 8065

(R EF : 1901)

·255·

13.

CNC 8060

CNC 8065

(R EF : 1901)

·256·

Programming manual.

HOW TOOL RADIUS IS ACTIVATED AND CANCELED

The functions associated with the strategy for activating and canceling establish how tool radius compensation starts and ends.

Programming

The type of strategy may be selected from the program by means of the following functions:

G138 Direct activation/cancellation of tool compensation.

G139 Indirect activation/cancellation of tool compensation.

G138

Direct activation/cancellation of tool compensation.

When compensation is turned on, the tool moves directly to the perpendicular of the next path (without contouring the corner).

When compensation is turned off, the tool moves directly to the programmed end point

(without counting the corner).

(A) (B)

(A)Beginning of compensation.

(B)End of compensation.

G139

Indirect activation/cancellation of tool compensation.

When compensation is turned on, the tool moves to the perpendicular of the next path contouring the corner.

When compensation is turned off, the tool moves to the end point contouring the corner.

(A) (B)

(A)Beginning of compensation.

(B)End of compensation.

The way the tool goes around the corner depends on the type of transition selected

(G136/G37).

Remarks

Later sections of this chapter offer a graphic description of how tool radius compensation begins and ends depending on the selected type of compensation ON/OFF (G138/G139).

Properties of the functions

Functions G138 and G139 are modal and incompatible with each other.

Programming manual.

On power-up, after executing an M02 or M30, and after an EMERGENCY or RESET, the

CNC assumes function G139.

13.

CNC 8060

CNC 8065

(R EF : 1901)

·257·

13.

Programming manual.

13.1.3 Beginning of tool radius compensation

Tool radius compensation is selected with these functions:

G41 Left-hand tool radius compensation.

G42 Right-hand tool radius compensation.

X

G42

G41

G41

G42

Z G41 G42

After executing one of these functions, radius compensation will be active for the next movement in the work plane, that must be a linear movement.

The way radius compensation will begin depends on how it is activated G138/G139 and on the type of transition G136/G137 selected:

• G139/G136

The tool moves to the perpendicular of the next path contouring the corner along a circular path.

• G139/G137

The tool moves to the perpendicular of the next path contouring the corner along linear paths.

• G138

The tool moves directly to the perpendicular of the next path. Regardless of the type of transition (G136/G137) programmed.

The following tables show the different ways tool compensation may begin, depending on the selected functions. The programmed path is shown with solid line and the compensated path with dashed line.

Beginning of the compensation without programmed movement

After activating the compensation, it may occur that the axes of the plane will not be involved in the first motion block. For example, because they have not been programmed, or the current tool position has been programmed or an incremental movement has been programmed.

In this case, the compensation is applied at the tool position as follows. Depending on the first movement programmed in the plane, the tool moves perpendicular to the path to its starting point.

The first movement programmed in the plane may be either linear or circular.

CNC 8060

CNC 8065

(R EF : 1901)

·258·

Y

X

(X0 Y0)

· · ·

G90

G01 X-30 Y30

G01 G41 X-30 Y30 Z10

G01 X25

· · ·

(X0 Y0)

Y

X

· · ·

G90

G01 Y40

G91 G40 Y0 Z10

G02 X20 Y20 I20 J0

· · ·

Programming manual.

STRAIGHT-TO-STRAIGHT PATH

When the angle between paths is smaller than or equal to 180º, the way radius compensation is activated is independent from the functions G136/G137 or G138/G139 selected.

0º <  < 90º  = 90º

G139/G136

90º <  < 180º  = 180º

When the angle between paths is greater than 180º, the way radius compensation is activated depends on the functions selected for type of beginning (G138/G139) and type of transition (G136/G137).

G139/G137 G138

13.

180º <  < 270º

 = 270º

270º <  < 360º

180º <  < 270º

 = 270º

270º <  < 360º

180º <  < 270º

 = 270º

270º <  < 360º

CNC 8060

CNC 8065

(R EF : 1901)

·259·

Programming manual.

STRAIGHT - ARC PATH

When the angle between the straight path and the tangent of the arc is smaller than or equal to 180º, the way radius compensation is activated is independent from the functions

G136/G137 and G138/G139 selected.

13.

0º <  < 90º  = 90º

G139/G136

90º <  < 180º  = 180º

When the angle between the straight path and the tangent of the arc is greater than 180º the way radius compensation is activated depends on the type of beginning (G138/G139) and type of transition (G136/G137) selected.

G139/G137 G138

180º <  < 270º

 = 270º

270º <  < 360º

180º <  < 270º

 = 270º

270º <  < 360º

180º <  < 270º

 = 270º

270º <  < 360º

CNC 8060

CNC 8065

(R EF : 1901)

·260·

Programming manual.

13.1.4 Sections of tool radius compensation

The way the compensated paths are joined depends on the type of transition selected

(G136/G137).

The following tables show the different transition possibilities between various paths depending on the selected function G136 or G137. The programmed path is shown with solid line and the compensated path with dashed line.

STRAIGHT-TO-STRAIGHT PATH

When the angle between paths is smaller than or equal to 180º, the transition between paths is independent from the G136/G137 function selected.

13.

0º <  < 90º  = 90º

90º <  < 180º

When the angle between paths is greater than 180º, the way the compensated paths are joined depends on the type of transition selected (G136/G137).

G136 G137

180º <  < 270º

 = 270º

270º <  < 360º

180º <

270º <

 < 270º

= 270º

 < 360º

CNC 8060

CNC 8065

(R EF : 1901)

·261·

13.

Programming manual.

STRAIGHT - ARC PATH

When the angle between the straight line and the tangent of the arc is smaller than or equal to 180º, the transition between the paths is independent from the selected G136/G137 function.

0º <  < 90º  = 90º

90º <  < 180º  = 180º

When the angle between the straight path and the tangent of the arc is greater than 180º, the way the compensated paths are joined depends on the type of transition selected

(G136/G137).

G136 G137

180º <  < 270º

 = 270º

270º <  < 360º

180º <

270º <

 < 270º

= 270º

 < 360º

CNC 8060

CNC 8065

(R EF : 1901)

·262·

Programming manual.

ARC-TO-STRAIGHT PATH

When the angle between the tangent of the arc and the straight line is smaller than or equal to 180º, the transition between the paths is independent from the selected G136/G137 function.

0º <  < 90º  = 90º

90º <  < 180º  = 180º

When the angle between the tangent of the arc and the straight line is greater than 180º, the way the compensated paths are joined depends on the type of transition selected

(G136/G137).

G136 G137

13.

180º <  < 270º

 = 270º

270º <  < 360º

180º <  < 270º

 = 270º

270º <  < 360º

CNC 8060

CNC 8065

(R EF : 1901)

·263·

13.

Programming manual.

ARC-TO-ARC PATH

When the angle between the tangents of the arcs is smaller than or equal to 180º, the transition between the paths is independent from the selected G136/G137 function.

0º <  < 90º  = 90º

90º <  < 180º  = 180º

When the angle between the tangents of the arcs is greater than 180º, the way the compensated paths are joined depends on the type of transition selected (G136/G137).

G136 G137

180º <  < 270º

 = 270º

270º <  < 360º

180º <

270º <

 < 270º

= 270º

 < 360º

CNC 8060

CNC 8065

(R EF : 1901)

·264·

Programming manual.

13.1.5 Change of type of radius compensation while machining

The compensation may be changed from G41 to G42 or vice versa without having to cancel it with G40. It may be changed in any motion block or even in a motionless one; i.e. without moving the axis of the plane or by programming the same point twice.

It compensates independently the last movement before the change and the first one after the change. To change the type of compensation, the different cases are solved according to the following criteria:

A The compensated paths cut each other.

The programmed paths are compensated each on its corresponding side. The side change takes place in the intersection point between both paths.

B The compensated paths do not cut each other.

An additional section is inserted between the two paths. From the point perpendicular to the first path at the end point up to the point perpendicular to the second path at the starting point. Both points are located at a distance R from the programmed path.

Here is a summary of the different cases:

• Straight - straight path:

13.

B

• Straight - circle path:

A

• Circle - straight path:

A

• Circle - circle path:

A

B

B

A B

CNC 8060

CNC 8065

(R EF : 1901)

·265·

13.

• Back-and-forth path along the same way.

A

• Intermediate path as long as the tool radius:

B

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·266·

Programming manual.

13.1.6 Cancellation of tool radius compensation

Tool radius compensation is canceled with function G40.

After executing one of this function, radius compensation will be canceled during the next movement in the work plane, that must be a linear movement.

The way this compensation is canceled depends on the type of cancellation end

(G138/G139) and the type of transition G136/G137 selected:

• G139/G136

The tool goes to the endpoint, contouring the corner along a circular path.

• G139/G137

The tool goes to the endpoint, contouring the corner along linear paths.

• G138

The tool goes straight to the endpoint. Regardless of the type of transition (G136/G137) programmed.

The following tables show the different possibilities of canceling tool radius compensation depending on the selected functions. The programmed path is shown with solid line and the compensated path with dashed line.

End of the compensation without programmed movement

After canceling the compensation, it may occur that the axes of the plane will not be involved in the first motion block. For example, because they have not been programmed, or the current tool position has been programmed or an incremental movement has been programmed.

In this case, the compensation is canceled at the same point where the tool is, as follows.

Depending on the last movement made in the plane, the tool moves to the end point

(uncompensated) of the programmed path.

13.

Y

X

· · ·

G90

G01 X-30

G01 G40 X-30

G01 X25 Y-25

· · ·

(X0 Y0)

(X0 Y0)

Y

X

· · ·

G90

G03 X-20 Y-20 I0 J-20

G91 G40 Y0

G01 X-20

· · ·

CNC 8060

CNC 8065

(R EF : 1901)

·267·

Programming manual.

STRAIGHT-TO-STRAIGHT PATH

When the angle between the paths is smaller or equal to 180º, the way radius compensation is canceled is independent from the G136/G137 and G138/G139 functions selected.

13.

0º <  < 90º  = 90º

G139/G136

90º <  < 180º  = 180º

When the angle between paths is greater than 180º, the way radius compensation is canceled depends on the functions selected for type of ending (G138/G139) and type of transition (G136/G137).

G139/G137 G138

180º <  < 270º

 = 270º

270º <  < 360º

180º <  < 270º

 = 270º

270º <  < 360º

180º <  < 270º

 = 270º

270º <  < 360º

CNC 8060

CNC 8065

(R EF : 1901)

·268·

Programming manual.

TOOL PATH ARC-STRAIGHT

When the angle between the tangent of the arc and the straight path is smaller or equal to

180º, the way radius compensation is canceled is independent from the G136/G137 and

G138/G139 functions selected.

0º <  < 90º  = 90º

G139/G136

90º <  < 180º  = 180º

When the angle between the tangent of the arc and the straight line is greater than 180º, the way radius compensation is canceled depends on the type of ending (G138/G139) and type of transition selected (G136/G137).

G139/G137 G138

13.

180º <  < 270º

 = 270º

270º <  < 360º

180º <  < 270º

 = 270º

270º <  < 360º

180º <  < 270º

 = 270º

270º <  < 360º

CNC 8060

CNC 8065

(R EF : 1901)

·269·

13.

Programming manual.

13.2

Tool length compensation

Tool length compensation on a milling machine.

On a milling machine, tool length compensation is applied to the longitudinal axis; i.e. on the axis indicated by the instruction "#TOOL AX", or when missing, to the longitudinal axis designated by selecting the plane.

If G17, tool lengh compensation is aplied to Z axis.

If G18, tool lengh compensation is aplied to Y axis.

If G19, tool lengh compensation is aplied to X axis.

Whenever any of functions G17, G18 or G19 is executed, the CNC assumes the axis perpendicular to the selected plane as the new longitudinal axis. If, then, "#TOOL AX" is executed, the new selected longitudinal axis replaces the previous one.

O W

Z=0

Positioning of several tools at position "0", with tool length compensation off.

CNC 8060

CNC 8065

(R EF : 1901)

·270·

O W

Positioning of several tools at position "0", with tool length compensation on.

Z=0

Tool length compensation on a lathe.

In a turning operation, the CNC takes into account the dimensions of the new tool, defined in the corresponding tool offset, and moves the tool holding turret so the tip of the new tool occupies the same position as the previous one.

Off. X Off. X´

Off. Z

Programming

Tool length compensation is activated when selecting a tool offset.

Off. Z´

Programming manual.

• To activate this compensation, program "D<n>", where <n> is the tool offset number that contains the tool dimensions that will be used as compensation values.

• To cancel this compensation, program "D0".

Once one of these codes has been executed, tool length compensation will be activated or cancel during the next movement of the longitudinal axis.

13.

CNC 8060

CNC 8065

(R EF : 1901)

·271·

13.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

13.3

3D tool compensation.

In tool radius compensation (G41/G42) tool orientation is constant. 3D tool compensation allows changing the tool orientation during the path considering the dimensions and the shape of the tool.

There are two kinds of 3D compensation; paraxial compensation (or compensation factors) or the compensation calculated from the normal vector. In the first case, the CAM generates the program with the necessary blocks to generate the tool paths. In the second case, the

CAM generates the blocks with a vector normal (perpendicular) to the surface and the CNC runs the relevant calculations to generate the paths. Both kinds of 3D compensation are incompatible with tool radius compensation (G41/G42).

Programming. Activating 3D compensation.

This instruction must be programmed alone in the block. When programming this instruction, you must define the type of 3D compensation to activate.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets.

#COMP3D <ON>

#COMP3D <ON> [<{mode}>]

{mode} Optional. Type of compensation. Program one of the following commands.

• PARAX; paraxial 3D compensation (by default).

• NORMAL; 3D compensation with normal vector.

#COMP3D

#COMP3D ON

#COMP3D [PARAX]

#COMP3D ON [PARAX]

#COMP3D [NORMAL]

#COMP3D ON [NORMAL]

The paraxial mode is the default mode; however, inside a program, it keeps the mode selected last.

Type of compensation. Paraxial 3D compensation.

The CAM calculates the paths and gives the CNC a program with the necessary information to generate the paths at the corners. The CAM takes into account the tool shape and consequently the program may be executed with any type of tool.

The CAM adds to the motion blocks a vector (unnormalized) like N[P,Q,R]. The vector generated by the CAM is a compensation vector (paraxial vector) on the programmed coordinate, an offset vector. This vector is the equivalent to the one that the CNC would generate taking into account the vector normal to the surface, the type of tool and the intersection with the next tool path. Based on this vector, the CNC calculates the offset to be added to the programmed coordinate depending on the tool radius.

X offset = Tool radius * P

Y offset = Tool radius * Q

Z offset = Tool radius * R

Paraxial compensation is a full 3D compensation for 5-axis machines, and it is applied for small movements and 3D surfaces. When working with rotary axes, we recommend activating the RTCP.

With this mode, the CNC can compensate profiles formed by segments, by segments and arcs tangents to each other and also by arcs as long they still are after being compensated for.

·272·

Programming manual.

Type of compensation. 3D compensation with normal vector.

The CAM generates a program with the necessary information for the CNC to generate the paths at the corners, depending on the type of tool, if necessary. This type of compensation can only be executed with cylindrical, toric or spherical tools.

The CAM adds to the motion blocks a unit vector normal to the surface like N[P,Q,R]. Based on this vector, the CNC calculates the offset to be added to the programmed coordinate depending on the type of tool and the intersection with the next path.

Programming. Canceling 3D compensation.

This instruction must be programmed alone in the block.

Programming format.

The programming format is:

#COMP3D OFF

#COMP3D OFF

Considerations.

• 3D compensation are incompatible with tool radius compensation (G41/G42).

• 3D compensation affects linear movements (G00, G01), circular movements (G02, G03,

G08, G09) and threading (G33, G63).

• 3D compensation does not affect probing movements (G100, G103), home search (G74) or polynomials (#POLY).

• During tool inspection, the CNC temporarily cancels 3D compensation; in other words, it does not apply the normal vector to jog or MDI movements. The CNC restores 3D compensation when resuming the program after tool inspection.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function

On power-up, after executing an M02 or M30, and after an emergency or reset, the CNC cancels 3D compensation and initializes it to the paraxial compensation mode. When 3D compensation is active, the window for active G codes shows "C3D".

13.

CNC 8060

CNC 8065

(R EF : 1901)

·273·

13.

Programming manual.

13.3.1 Programming the vector in the block.

The vector MUST BE programmed in all linear and circular motion blocks; if not programmed and 3D compensation is active, the CNC will issue an error message. If the vector is programmed but 3D compensation is not active, the CNC ignores that the vector has been programmed. This way, the same blocks may be used to generate compensated surfaces or not depending on whether #COMP3D is active or not.

Programming.

The vector may be programmed anywhere in the block. For paraxial compensation, the vector may be unnormalized whereas for compensation with normal vector, the vector must be a unit vector.

Programming format.

The vector may be programmed anywhere in the block. The programming format is:

N[{p,q,r}]

{p,q,r} Components of the vector.

N[1,0,1]

N[-1,0,-1]

N[-1.4,-0.4,1.333]

N[P1,-P10,10]

N[P1+3,-P10-P2,10*P100]

Programming the vector.

The vector (paraxial or normal) is programmed like N[P,Q,R], where the three components of the vector MUST BE programmed. Vector components may be numerical values, parametric or the result of math expressions.

Considerations about the vector (paraxial or normal).

Vector programming is not affected by the following coordinate transformations; but it is affected by mirror images.

• Programming in mm/inches (G70/G71).

• Programming in radius/diameters (G150/G151).

• Absolute/incremental coordinates (G90/G91).

• Scaling factor (G72).

• Zero offsets (G159).

• Coordinate rotation in the plane (G73).

The components of the vector N[p,q,r] are applied to the first three axes of the main trihedron of the channel regardless of the active plane (G17, G18, G19 or G20). If the first three axes of the channel are XYZ and the vector is N[A,B,C], the A component is always applied to the X axis; B to the Y axis; C to the Z axis.

CNC 8060

CNC 8065

(R EF : 1901)

·274·

14.

CONTROLLING THE EXECUTION

AND DISPLAYING THE PROGRAM.

14

14.1

Conditional block skip (/)

In order to use this feature, the machine manufacturer must have defined the corresponding PLC operation. Refer to the machine’s documentation for further information.

The block skip condition (/) is governed by the mark BLKSKIP1 of the PLC; the user may do so using the keypad if the OEM has been provided a button or key for this purpose. If the mark is active, the CNC will skip the blocks where it is programmed (not executing them) and will go on to the next block.

Programming.

The block skip condition must always be programmed at the beginning of the block.

Programming format.

The programming format is:

/

/N10 X10 Y20 F1000

Considerations.

The CNC analyzes the block skip condition during the block preparation. If the block skip needs to be analyzed at the time of execution, it is necessary to interrupt the block

preparation, by programming the instruction #FLUSH in the previous block. See

"14.6 Interrupt block preparation (#FLUSH)." on page 285.

#FLUSH

/N10 X10 Y20 F1000

CNC 8060

CNC 8065

(R EF : 1901)

·275·

14.

Programming manual.

14.2

Abort the execution of the program and resume it in another block or program.

In order to use this feature, the machine manufacturer must have defined the corresponding PLC operation. Refer to the machine’s documentation for further information.

The CNC offers a special interruption mode, handled via PLC, that allows aborting the execution of the program and resuming it either from a particular previously defined block or in another program. If the execution resumes in a different program, it will be executed from the beginning; it will not be possible to select the starting block.

The point where the execution is resumed is defined and canceled with the #ABORT instruction.

#ABORT

#ABORT OFF

Define the execution resuming block or program.

Canceling the execution resuming point.

Within the same program, it is possible to define several resume points; when interrupting the program, the CNC will use the one that is active at the time; in other words, the one executed last.

Considerations.

Abort the program.

Usually, this feature is turned on and off using an external push button or key configured for that purpose. This interruption mode is not applied when pressing the [CYCLE STOP] key.

When interrupting the program from the PLC, the CNC channel aborts the execution of the program but without affecting the spindle, initializes the program history and resumes the execution in the point indicated by the active #ABORT instruction.

Abort a threading process and other machining operations that cannot be interrupted.

If the CNC aborts the program during a threading operation that cannot be interrupted, the

CNC behaves like when doing a reset. After receiving the command to abort the execution, the CNC interrupts the execution once the operation has been properly completed. While the program is interrupted, it will be necessary to repeat the command to abort the program in order for the CNC to do so.

Considerations when resuming the program.

When the program is interrupted, the history is initialized. Thus, it is recommended to define the minimum machining conditions such as feedrate, ·M· functions, etc in the block where the execution will be resumed.

CNC 8060

CNC 8065

(R EF : 1901)

·276·

Programming manual.

14.2.1 Define the execution resuming block or program (#ABORT).

The point where the execution is resumed is defined with the #ABORT instruction. Within the same program, it is possible to define several resume points; when interrupting the program, the CNC will use the one that is active at the time; in other words, the one executed last. 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).

Programming.

Program the instruction alone in the block. When defining this instruction, there is an option to define a block or program where it will resume execution.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

#ABORT

#ABORT {label}

#ABORT ["{path\name}"]

{label}

{path\name}

Block label.

Program name and location (path).

#ABORT

(Cancels the active point).

(Execution continues at #ABORT OFF; if there isn't one, resumes at M30).

#ABORT N120

(The execution continues in block N120).

#ABORT [LABEL]

(The execution continues in block [LABEL]).

#ABORT ["PRG.NC"]

(The execution continues in program PRG.NC).

#ABORT ["C:\FAGORCNC\USERS\PRG\EXAMPLE.NC"]

(The execution continues in program EXAMPLE.NC).

Label programming.

The labels that identify the blocks may be of a number type or a name type. In the program, the ":" character must be added to the number type labels after the block number.

#ABORT N50

·

·

N50: G01 G91 X15 F800

#ABORT [LABEL]

·

·

[LABEL] G01 G91 F800

Program name and location (path).

The program to be executed may be defined by either writing the full path or without it. When indicating the whole path, the CNC only looks for the program in the indicated folder. If the path has not been indicated, the CNC looks for the program in the following folders and in this order.

1 Directory selected with the #PATH instruction.

2 Directory of the program that executes the #ABORT instruction.

3 Directory defined by machine parameter SUBPATH.

14.

CNC 8060

CNC 8065

(R EF : 1901)

·277·

14.

Programming manual.

Considerations.

It is recommended to program the target labels at the beginning of the program, outside the main program. Otherwise, and depending on the length of the program, if the jump labels are defined at the end of it, the #ABORT instruction may take longer to find them.

14.2.2 Default point to continue the execution (#ABORT OFF).

If no resume point has been defined or it has been canceled, 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).

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#ABORT OFF

#ABORT OFF

CNC 8060

CNC 8065

(R EF : 1901)

·278·

Programming manual.

14.3

Block repetition (NR).

14.3.1 Movement block repetition n times (NR/NR0).

The command NR indicates the number of times that programmed block movement is to be executed. If NR0 is programmed, the CNC executes the block only once.

Programming.

This command must be added to a movement block. When programming this command, the number of repetitions must be defined.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

NR{repetitions}

NR0

{repetitions} Number of repetitions.

G91 G01 X34.678 F150 NR4

(The CNC repeats the block 4 times).

G91 G01 X34.678 F150 NR0

(The CNC executes the block once, without any repetitions).

Considerations.

Movement blocks under the influence of a canned cycle or modal subroutine.

If inside the influence zone of a canned cycle or modal subroutine, a movement block is program containing an NR command, the CNC executes the programmed movement and the canned cycle or subroutine the programmed number of times.

Do not execute the canned cycle or modal subroutine after the movement.

If the number of repetitions is zero (NR0), the CNC will only execute the programmed movement.

T11 M6

(Tool change).

F100 S800 M3

(Initial conditions).

G0 G90 X0 Y0 Z20

(Positioning).

G81 I-20 Z1

(Execution of the canned cycle for X0 Y0).

G91 X15 NR3

(Repeat the movement and canned cycle 3 times).

G90 X30 Y30 NR0

G80

(Movement without executing the canned cycle).

(End of canned cycle).

M30.

14.

CNC 8060

CNC 8065

(R EF : 1901)

·279·

14.

Programming manual.

14.3.2 Prepare a subroutine without executing it (NR0).

The command NR0 (always with a value set to 0) prevents the execution of the modal subroutines or modal cycle programmed in the block, but leaves it ready to execute during the following motion blocks. Movements can be defined in the following blocks or a subroutine.

Programming.

Add the NR0 command (always with a value set to 0) to a block with a modal subroutine or modal cycle.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

NR0

T11 M6

(Tool change).

F100 S800 M3

(Initial conditions).

G0 G90 Z100

G81 Z5 I-20 NR0

(Canned cycle definition; without execution).

Y0 X20

(Movement and execution of the canned cycle).

X40 NR0

(Movement and execution of the canned cycle).

X60 NR0

(Movement without executing the canned cycle).

X80

X100 NR0

Y50

X80 NR0

X60

X40

X20 NR0

G80

G0 G90 Z100

M30

CNC 8060

CNC 8065

(R EF : 1901)

·280·

Programming manual.

14.4

Block group repetition (#RPT).

This instruction #RPT may be used to execute a portion of the program defined between two blocks must will be identified with labels. The number of times for the blocks to be repeated can be configured; if it is not programmed, the CNC repeats the block group only once. Once the repetition is done, the execution resumes at the block after the one containing the instruction #RPT.

The block group to be repeated must be defined in the same program or subroutine executing this instruction. They may also be after the program (after function M30)

For the block group to be repeated, where a second block repetition may have been defined and within this a third could have also been and so forth, the CNC limits this type of calls to a maximum of 20 nesting levels.

Programming.

Program the instruction alone in the block. When programming this instruction, the start and end block repetition must be defined. Optionally, the number of times the blocks are to be repeated can be defined.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

#RPT [{label_begin}, {label_end}, <{repetitions}>]

{label_begin}

{label_end}

{repetitions}

First block label.

Last block label.

Number of repetitions.

Optional (by default, 1).

#RPT [N100, N200]

(The CNC repeats the blocks N100 through N200 once).

#RPT [N18, N19, 7]

(The CNC repeats the blocks N18 through N19 seven times).

#RPT [[BEGIN], [END]]

(The CNC repeats the blocks [BEGIN] through [END] once).

Label programming.

The labels that identify the blocks may be of a number type or a name type. The label of the first block may be part of the block being repeated, but the label of the last block must be alone in the block. The labels of the first and last blocks must be different.

• Programming with number labels. In the program, for the begin and end block labels, the character “:” must be added after the block number.

#RPT [N50,N70]

·

·

N50: G01 G91 X15 F800

X-10 Y-10

X20

X-10 Y10

N70: (last block)

(first block)

14.

CNC 8060

CNC 8065

(R EF : 1901)

·281·

14.

Programming manual.

• Programming with name labels.

#RPT [[BEGIN],[END]]

·

·

[BEGIN] G01 G91 F800

X-10 Y-10

X20

X-10 Y10

G90

[END] (last block)

(first block)

Considerations.

Repeating the execution of a single block.

The execution of a single block repetition, program as follows: Movement blocks can also

be repeated using the "NR" command. See "14.3.1 Movement block repetition n times

(NR/NR0)." on page 279.

N10 #RPT [N10,N20,4]

N10: G01 G91 F800

N20: (last block)

(first block)

Block repetitions and execution loops ($IF, $WHILE, etc).

The block group to be repeated can include execution loops, such as $IF, $WHILE, etc. In this case, a loop closing instruction must always be accompanied with the corresponding opening instruction. If within the block group to be repeated there is only the loop closing instruction, the CNC will display the corresponding error.

Correct. Incorrect.

#RPT [N10,N20]

·

N10: $FOR P1=1,10,1

·

·

$ENDFOR

·

N20:

#RPT [N10,N20]

·

$FOR P1=1,10,1

·

N10:

·

$ENDFOR

N20:

CNC 8060

CNC 8065

(R EF : 1901)

·282·

Programming manual.

14.4.1 Programming example.

%PROGRAM

G00 X-25 Y-5

N10: G91 G01 F800

X10

Y10

X-10

Y-10

(Profile "a")

G90

N20:

G00 X15

#RPT [N10, N20]

#RPT [[INIT], [END], 2]

M30

(Profile "b")

(Profiles "c" and "d")

[INIT]

G1 G90 X0 Y10

G1 G91 X10 Y10

X-20

X10 Y-10

G73 Q180

[END]

14.

CNC 8060

CNC 8065

(R EF : 1901)

·283·

14.

Programming manual.

14.5

Interrupt block preparation until an event is caused (#WAIT FOR).

The instruction #WAIT FOR interrupts block preparation until the programmed condition is met.

Programming.

Program the instruction alone in the block. When programming this instruction, the condition to resume the block preparation must be defined.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

#WAIT FOR [{condition}]

{condition} True or false comparison.

#WAIT FOR [V.PLC.O[1] == 1]

(The CNC waits until the variable is set to ·1· to resume the block preparation).

Considerations.

This instruction does not synchronize block preparation and execution; for synchronizing,

use function #FLUSH. See "14.6 Interrupt block preparation (#FLUSH)." on page 285.

P100=1

#FLUSH

#WAIT FOR [P100==0]

CNC 8060

CNC 8065

(R EF : 1901)

·284·

Programming manual.

14.6

Interrupt block preparation (#FLUSH).

The CNC reads several blocks ahead of the one being executed in order to calculate in advance the path to follow. This prior reading is known as "block preparation". The instruction

#FLUSH interrupts block preparation, executes up to the last prepared block, synchronizes the preparation and execution of blocks and then goes on with the execution of the program and block preparation.

The blocks have data that is analyzed by the CNC when it is read; to analyze it when it is executed, then use the #FLUSH instruction.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#FLUSH

#FLUSH

Influence of the block preparation during the execution of some functions.

Radius compensation.

Careful must be taken with the programming of the instruction #FLUSH, since when they are inserted between machining blocks with compensation it may cause undesired profiles.

It must be borne in mind that interrupting block preparation may result in compensated paths different from the one programmed, undesired joints when working with very short moves, jerky axis movements, etc.

Block skip condition.

The CNC analyzes the block skip condition during the block preparation. The instruction

#FLUSH is used to evaluate a block skip condition at the time of the execution.

N110 #FLUSH

/N120 G01 X100

Variables.

The CNC checks certain variables during block preparation and others during execution.

• Variables that use the execution value. These variables the block preparation temporarily and the CNC resumes it when it is done reading/writing the variable.

• Variables that use the preparation value. Program the instruction #FLUSH from the previous block to force the evaluation of a variable when it is being executed.

14.

CNC 8060

CNC 8065

(R EF : 1901)

·285·

14.

Programming manual.

14.7

Enable/disable the single-block treatment (#ESBLK/ #DSBLK).

The #ESBLK and #DSBLK instructions activate and deactivate the single block treatment.

#ESBLK

#DSBLK

Activate the single-block treatment.

Cancel the single-block treatment.

When the program is executed in “block-by-block” mode, the block group between both instructions is executed in a continuous cycle; that is, the execution does not stop at the end of the block, but rather continues onto the following block until the instruction #DSBLK has been reached.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#ESBLK

#DSBLK

G01 X20 Y0 F850

G01 X20 Y20

#ESBLK (Beginning of single block)

G01 X30 Y30

G02 X20 Y40 I-5 J5

G01 X10 Y30

G01 X20 Y20

#DSBLK

G01 X20 Y0

(End of single block)

M30

CNC 8060

CNC 8065

(R EF : 1901)

·286·

Programming manual.

14.8

Enable/disable the stop signal (#DSTOP/#ESTOP).

The instruction #DSTOP disables the stop signal whether it comes from the operator panel

([STOP] key) or from the PLC. The instruction #ESTOP re-enables the stop signal.

#ESTOP

#DSTOP

Enable the cycle stop signal.

Disable the cycle stop signal.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#ESTOP

#DSTOP

#DSTOP

#ESTOP

14.

CNC 8060

CNC 8065

(R EF : 1901)

·287·

14.

Programming manual.

14.9

Enable/disable the feed-hold signal (#DFHOLD/#EFHOLD).

The instruction #DFHOLD disables the feed-hold signal coming from the PLC. The instruction #EFHOLD re-enables the free-hold signal.

#EFHOLD Disable the feed-hold signal.

#DFHOLD Disable the feed-hold signal.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#EFHOLD

#DFHOLD

#EFHOLD

#DFHOLD

Operating the feed-hold signal of the PLC.

If the PLC activates the feed-hold input, the CNC channel interrupts momentarily the feedrate of the axes (keeps the spindle turning). If the PLC enables the feed-hold signal in a motionless block, the CNC continues executing the program until it detects a motion block.

If the PLC deactivates the feed-hold, the movement of the axes continues. All the stops and starts of the axes are carried out with the corresponding acceleration and deceleration.

On Fagor supplied screens, the text "Freal" on the screens during automatic and jog modes appears in red when the feed-hold is active.

CNC 8060

CNC 8065

(R EF : 1901)

·288·

Programming manual.

14.10 Block skip ($GOTO).

The $GOTO instruction continues the execution of the program for the defined block, which can be at a previous or later point of the program. The instruction $GOTO and the destination block must be in the same program or subroutine; programming jumps to subroutines are permitted, nor between subroutines.

Programming.

Program the instruction alone in the block or with the statement $IF.

Programming format.

The programming format is:

$GOTO {label}

{label} Block label.

Block label.

The labels that identify the blocks may be of a number type or a name type. In the program, the ":" character must be added to the number type labels after the block number.

$GOTO N50 (o $GOTO N50:)

·

·

N50: G01 G91 X15 F800

$GOTO [LABEL]

·

·

[LABEL] G01 G91 F800

Considerations.

• There cannot be jumps to blocks contained in another instruction ($IF, $FOR, $WHILE, etc).

• Although the flow controlling instructions must be programmed alone in the block, the

$GOTO instruction may added to an $IF instruction in the same block. This way, it is possible to exit the blocks contained in an instruction ($IF, $FOR, $WHILE, etc) without having to end the loop.

N10 P0=10

N20 $WHILE P0<=10

N30 G01 X[P0*10] F400

N40 P0=P0-1

N50 $IF P0==1 $GOTO N100

N60 $ENDWHILE

N100: G00 Y30

M30

14.

CNC 8060

CNC 8065

(R EF : 1901)

·289·

14.

Programming manual.

14.11 Conditional execution ($IF).

14.11.1 Conditional execution ($IF).

The instruction $IF analyzes the programmed condition and, if it is true, it executes the blocks contained between the instructions $IF and $ENDIF. If the condition is false, the execution continues in the block after $ENDIF.

Programming.

Program the instruction alone in the block. The $IF instruction always ends with a $ENDIF.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

$IF {condition}

$ENDIF

{condition} True or false comparison.

N20 $IF P1==1

N30 ...

N40 ...

N50 $ENDIF

N60 ...

(Si P1=1, the CNC executes blocks N30 to N40; if not, the execution continues at N60).

Considerations.

The $IF instruction always ends with $ENDIF, except when a $GOTO instruction has been added, then it is not needed.

N20 $IF P1==1 $GOTO N40

N30...

N40: ...

N50...

(If P1=1, the execution will continue at block N40; if not, the execution continues at N30).

CNC 8060

CNC 8065

(R EF : 1901)

·290·

Programming manual.

14.11.2 Conditional execution ($IF - $ELSE).

The instruction $IF analyzes the programmed condition and, if it is true, it executes the blocks contained between the instructions $IF and $ELSE. If the condition is false, the instruction

$IF executes the blocks contained between $ELSE and $ENDIF. The execution continues in the block after $ENDIF.

Programming.

Program the instruction alone in the block. The $IF instruction always ends with a $ENDIF.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

$IF {condition}

$ELSE

$ENDIF

{condition} True or false comparison.

N20 $IF P1==1

N30...

N40...

N50 $ELSE

N60...

N70...

N80 $ENDIF

N90 ...

(Si P1=1, the CNC executes blocks N30 to N40; if not, it executes blocks N60 to N70).

14.

CNC 8060

CNC 8065

(R EF : 1901)

·291·

14.

Programming manual.

14.11.3 Conditional execution ($IF - $ELSEIF).

The instruction $IF analyzes the programmed condition and, if it is true, it executes the blocks contained between the instructions $IF and $ELSEIF. The execution continues in the block after $ENDIF.

If the condition $IF is false, the instruction $ELSEIF analyzes the programmed condition and, if it is true, it executes the blocks contained between the instructions $ELSEIF and $ENDIF

(or the next $ELSEIF if any). As many $ELSEIF instructions as necessary may be programmed. The execution continues in the block after $ENDIF.

The instruction $ELSE is optional. In this case, if all the conditions are false, it will execute the blocks contained between $ELSE and $ENDIF.

Programming.

Program the instruction alone in the block. The $IF instruction always ends with a $ENDIF.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

$IF {condition}

$ELSEIF {condition}

$ELSE

$ENDIF

{condition} True or false comparison.

N20 $IF P1==1

N30...

N40...

N50 $ELSEIF P2==[-5]

N60...

N70 $ELSE

N80...

N90 $ENDIF

N100 ...

(If P1 = 1, it will execute blocks N30 through N40; the execution continues at N100)

(If P1 ≠ 1 and P2 = -5, it executes block N60; the execution continues at N100).

(If P1 ≠ 1 and P2 = -5, it executes block N80; the execution continues at N100).

CNC 8060

CNC 8065

(R EF : 1901)

·292·

Programming manual.

14.12 Conditional execution ($SWITCH).

The instruction $SWITCH calculates the value of an expression, and executes the block group associated with this value (blocks contained between $CASE and $BREAK). This instruction can have several groups of nested blocks ($CASE), each associated with a value.

The instruction $DEFAULT is optional. If the expression calculated for $SWITCH does not coincide with any $CASE, the CNC executes the group of blocks contained between the instructions $DEFAULT and $ENDSWITCH.

Programming.

Program the instructions alone in the block. The $SWITCH instruction always ends with a

$ENDSWITCH. The $CASE instruction always ends with a $BREAK.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

$SWITCH {expression}

$CASE {value}

$BREAK

$DEFAULT

$ENDSWITCH

{expression}

{value}

Parameter, variable, arithmetic expression or rational expression.

Number, parameter, variable, arithmetic expression or rational expression.

N20 $SWITCH [P1+P2/P4]

N30 $CASE 10

·

·

N60 $BREAK

N70 $CASE [P5+P6]

·

·

N100 $BREAK

N110 $DEFAULT

·

·

N140 $ENDSWITCH

N150 ...

The instruction $SWITCH calculates the expression [P1+P2/P4].

• If the result is 10, the CNC executes blocks N40 to N50.

• If the result is [P5+P6], the CNC executes blocks N80 to N90.

• If the result does not coincide with any option, the CNC executes blocks N120 to N130.

The execution continues at N150.

14.

CNC 8060

CNC 8065

(R EF : 1901)

·293·

14.

CNC 8060

CNC 8065

Programming manual.

14.13 Block repetition ($FOR)

The CNC repeats the execution of the blocks contained between $FOR and $ENDFOR for the number de times it is programmed. When $FOR is executed, a counter takes the initial value and either increases or decreases this value according to what has been defined, until reaching the final value.

The $BREAK instruction is optional, and ends the loop even if it has not finished the number of repetitions. The execution continues in the block after $ENDFOR.

The instruction $CONTINUE is optional, and starts the next repetition even when the current one has not finished. The blocks programmed after the instruction $CONTINUE up to

$ENDFOR will be ignored.

Programming.

Program the instructions alone in the block. The $FOR instruction always ends with a

$ENDFOR.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

$FOR {counter} = {value_begin},{value_end},{increment}

$ENDFOR

{counter} Arithmetic parameter or write variable.

{value_begin} Number, parameter, variable or arithmetic expression.

{value_end}

{increment}

Number, parameter, variable or arithmetic expression.

Number, parameter, variable or arithmetic expression.

N30 $FOR P1=0,10,2

·

·

N50 $ENDFOR

(The CNC repeats blocks N30 through N50, from P1=0 until P1=10, in increments of 2 (6 times)).

N12 $FOR V.P.VAR_NAME=20,15,-1

·

·

N42 $ENDFOR

(The CNC repeats blocks N22 through N32, from V.P.VAR_NAME=20 until V.P.VAR_NAME=15, in increments of -1 (5 times)).

Programming format.

The programming format is:

$BREAK

$FOR P1= 1,10,1

·

·

$IF P2==2

$BREAK

$ENDIF

·

·

$ENDFOR

(The loop stops when P1 is greater than 10, or if P2 is equal to 2).

(R EF : 1901)

·294·

Programming manual.

Programming format.

The programming format is:

$CONTINUE

$FOR P1= 1,10,1

·

·

$IF P0==2

$CONTINUE

$ENDIF

·

·

$ENDFOR

(If P0=2, another repetition begins).

14.

CNC 8060

CNC 8065

(R EF : 1901)

·295·

14.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

14.14 Conditional block repetition ($WHILE).

The CNC repeats the execution for the blocks contained between $WHILE and $ENDWHILE for as long as the defined condition is valid. The condition is analyzed at the beginning of each new loop.

The instruction $BREAK is optional, and ends the loop even if the stop condition is not met.

The execution continues in the block after $ENDWHILE.

The instruction $CONTINUE is optional, and starts the next loop even when the current one has not finished. The blocks programmed after the instruction $CONTINUE up to

$ENDWHILE will be ignored.

Programming.

Program the instructions alone in the block. The $WHILE instruction always ends with a

$ENDWHILE.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

$WHILE {condition}

$ENDWHILE

{condition} True or false comparison.

$WHILE P1<= 10

P1=P1+1

·

·

·

$ENDWHILE

(The loop repeats for as long as P1 is less than or equal to 10).

Programming format.

The programming format is:

$BREAK

$WHILE P1<= 10

·

·

$IF P2==2

$BREAK

$ENDIF

·

·

$ENDWHILE

(The loop stops when P1 is greater than 10, or if P2 is equal to 2).

Programming format.

The programming format is:

$CONTINUE

$WHILE P1<= 10

·

·

$IF P0==2

$CONTINUE

$ENDIF

·

·

$ENDWHILE

(If P0=2, a new loop begins).

·296·

Programming manual.

14.15 Conditional block repetition ($DO).

The CNC repeats the execution of the blocks contained between $DO and $ENDDO for as long as the defined condition is valid. The condition is analyzed at the end of each loop, therefore the block group is executed at least once.

The instruction $BREAK is optional, and ends the loop even if the stop condition is not met.

The execution continues in the block after $ENDDO.

The instruction $CONTINUE is optional, and starts the next loop even when the current one has not finished. The blocks programmed after the instruction $CONTINUE up to $ENDDO will be ignored.

Programming.

Program the instructions alone in the block. The $DO instruction always ends with a

$ENDDO.

Programming format.

The programming format is the following; the arguments appear between curly brackets.

$DO

$ENDDO {condition}

{condition} True or false comparison.

$DO

P1=P1+1

·

·

·

$ENDDO P1<=10

(The loop repeats for as long as P1 is less than or equal to 10).

Programming format.

The programming format is:

$BREAK

$DO

·

·

$IF P2==2

$BREAK

$ENDIF

·

·

$ENDDO P1<= 10

(The loop stops when P1 is greater than 10, or if P2 is equal to 2).

Programming format.

The programming format is:

$CONTINUE

$DO

·

·

$IF P0==2

$CONTINUE

$ENDIF

·

·

$ENDDO P1<= 10

(If P0=2, a new loop begins).

14.

CNC 8060

CNC 8065

(R EF : 1901)

·297·

14.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·298·

15.

SUBROUTINES.

15

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.

The CNC allows up to a total of seven subroutines to be executed per block (G180, G380,

G500, functions M with subroutine, etc.).

Types of subroutines.

The CNC has two types of subroutines, namely local and global. There is also a third type available, OEM subroutines, that are a special case of a global subroutine defined by the

OEM. See "15.5 OEM subroutine execution." on page 312.

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.

Subroutine nesting levels and parameters.

Since a subroutine may be called upon from the main program (or a subroutine) and another subroutine from this one and so on. The CNC limits the number of these calls to a maximum of 20 nesting levels.

Arithmetic parameters in the subroutines

Local parameters.

The CNC has global parameters (accessible from the program or any subroutine) and local parameters (accessible only from the program or subroutine where they have been programmed).

Local parameters may be assigned to more than one subroutine up to 7 parameter nesting levels within the 20 subroutine nesting levels. Not all the subroutine call types change the nesting level; only the #PCALL, #MCALL calls and functions G180 to G189 and G380 to

G399.

Global parameters.

Global parameters will be shared by the program and the subroutines of the channel. They may be used in any block of the program and of the subroutine regardless of the nesting level they may be at.

CNC 8060

CNC 8065

(R EF : 1901)

·299·

15.

Programming manual.

Common parameters.

Common parameters will be shared by the program and the subroutines of any channel.

They may be used in any block of the program and of the subroutine regardless of the nesting level they may be at.

CNC 8060

CNC 8065

(R EF : 1901)

·300·

Programming manual.

15.1

Executing subroutines from RAM memory.

If the same subroutines are executed repeatedly during execution, it is more efficient to load them into the RAM memory of the CNC because this way, they may be accessed faster and execution time may be consequently optimized. This option is valid for OEM as well as for user subroutines. To load a subroutine into RAM, it must have the extension fst. The reserved

RAM space for subroutines is 5 Mb.

fst user subroutines.

Subroutines with the fst extension that are not saved in the folder..\MTB\Sub. User routines having a fst extension are loaded into RAM memory during block preparation. The CNC checks whether or not it is loaded into RAM memory; if it is not and there is room for it, it loads it.

At the end of the program (M02/M30) or after a reset, if no other channel is executing subroutines, the CNC deletes them from its RAM memory. This way, if a user subroutine having a fst extension is edited or modified, the CNC assumes the changes the next time it executes it.

OEM (manufacturer's) subroutines.

Subroutines with the fst extension saved in the folder..\MTB\Sub.

• Being the CNC in USER mode, the OEM routines having a fst extension are loaded into

RAM memory when starting up the CNC application.

When the OEM is debugging his subroutines, they must have another extension so the changes are assumed without having to restart the application. Once they are debugged, the OEM must change the extension of the subroutines to fst so they are loaded into RAM memory.

• Being the CNC in SETUP mode, the OEM subroutines with an fst extension will be loaded into RAM memory during the preparation of the blocks. The CNC checks whether or not it is loaded into RAM memory; if it is not and there is room for it, it loads it. At the end of the program (M02/M30) or after a reset, if no other channel is executing subroutines, the CNC deletes them from its RAM memory. This way, the changes made in the subroutine will be taken into account the next time the program is executed.

15.

CNC 8060

CNC 8065

(R EF : 1901)

·301·

15.

Programming manual.

15.2

Definition of the subroutines

Like the body of the program, a subroutine has a header, a body and an end-of-subroutine function.

Header of a local subroutine.

The header of the subroutine is a block consisting of the "%L" characters followed by a blank space and the name of the subroutine. The name of the subroutine may be up to 14 characters long and may consist of uppercase and lowercase characters as well as numbers

(no blank spaces are allowed).

%L 0123456789

%L SUBROUTINE

%L SUB234S

The header must be programmed. The name of the header is used when calling a subroutine.

Header of a global subroutine.

The header of a global subroutine is the same as that of a program; in other words, it is a block consisting of the "%" character followed by the name of the subroutine. The 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).

%0123

%GLOBSUBROUTINE

%PART923R

It is optional to program the header. The header name must not be used when calling a global subroutine, use the name of the file as it is stored at the CNC, instead.

The name defined in the header has nothing to do with the name of the file. The two may be different.

End of a global or local subroutine.

The end of the subroutine is defined with M17, M29 or the #RET instruction and they all are equivalent. The #RETDSBLK instruction ends the subroutine and cancels the single block treatment. One of them must be programmed to end the subroutine.

M17

M29

#RET

#RETDSBLK

CNC 8060

CNC 8065

(R EF : 1901)

·302·

Programming manual.

15.3

Subroutine execution.

The CNC offers the following types of commands to call the subroutines.

Command.

L

LL

#CALL

#PCALL

#MCALL

#MDOFF

Call type.

Call to a global subroutine.

Parameters cannot be initialized with this command.

Call to a local subroutine.

Parameters cannot be initialized with this command.

Call to a global or local subroutine.

Parameters cannot be initialized with this command.

Call to a global or local subroutine.

Local parameters can be initialized with this command.

Modal call to a local or global subroutine.

Local parameters can be initialized with this command.

It makes a function non-modal.

When executing one of these commands, the CNC executes the selected subroutine. When the subroutine has ended, the program execution resumes at the calling statement.

Location (path) of the global subroutines.

When calling a global subroutine its path (location) may be defined. When indicating the whole path, the CNC only looks for the subroutine in the indicated directory. If the path has not been indicated, the CNC looks for the subroutine in the following directories and in this order.

1 Directory selected with the #PATH instruction.

2 Directory of the program being executed.

3 Directory defined by machine parameter SUBPATH.

15.

CNC 8060

CNC 8065

(R EF : 1901)

·303·

15.

Programming manual.

15.3.1 LL. Call to a local subroutine.

The command LL calls a local subroutine. This type of call allows initializing local parameters of the subroutine.

Programming format.

The programming format is:

LL sub sub Name of the subroutine

LL sub2.nc

15.3.2 L. Call to a global subroutine.

The command L calls a global subroutine. This type of call allows initializing local parameters of the subroutine. When it is a global subroutine, its whole path may be defined.

Programming format.

The programming format is:

L <path> sub path Optional. Subroutine location.

sub Name of the subroutine

L C:\Cnc8070\Users\Prg\sub1.nc

L C:\Cnc8070\Users\sub2.nc

L Sub3.nc

CNC 8060

CNC 8065

(R EF : 1901)

·304·

Programming manual.

15.3.3 #CALL. Call to a global or local subroutine.

The #CALL instruction calls a local or global subroutine. This type of call allows initializing local parameters of the subroutine. When it is a global subroutine, its whole path may be defined.

When there are two subroutines, one local and the other one global, with the same name, the following criteria is applied. If the path has been defined in the call, the CNC will execute the global subroutine, otherwise, it will execute the local one.

Programming format.

The programming format is:

#CALL <path> sub path sub

Optional. Subroutine location.

Name of the subroutine

#CALL C:\Cnc8070\Users\Prg\sub1.nc

#CALL C:\Cnc8070\Users\sub2.nc

#CALL Sub3.nc

Path definition.

Defining the path is optional. If defined, the CNC only looks for the subroutine in that folder; if not defined, the CNC looks for the subroutine in the default folders. See "Location (path) of the global subroutines." on page 303.

15.

CNC 8060

CNC 8065

(R EF : 1901)

·305·

15.

Programming manual.

15.3.4 #PCALL. Call to a global or local subroutine initializing parameters.

The #PCALL instruction calls a local or global subroutine. This type of call allows initializing local parameters of the subroutine. When it is a global subroutine, its whole path may be defined.

When there are two subroutines, one local and the other one global, with the same name, the following criteria is applied. If the path has been defined in the call, the CNC will execute the global subroutine, otherwise, it will execute the local one.

Programming format.

The programming format is:

#PCALL <path> sub <P0..Pn> path sub

P0..Pn

Optional. Subroutine location.

Name of the subroutine

Optional. Initializing parameters.

#PCALL C:\Cnc8070\Users\Prg\sub1.nc

#PCALL C:\Cnc8070\Users\sub2.nc A12.3 P10=6

#PCALL Sub3.nc A12.3 F45.3 P10=6

How to set local parameters.

Calling a subroutine allows for the 57 local parameters (P0 to P57) to be initializes. The values of the parameters must be defined following the call statement and may be defined in two ways. Both ways of setting local parameters are equivalent and may be combined in the same block.

• The parameters P0 to P25 can also be defined using the letters from A to Z, so that "A" is equal to P0, "B" to P1 and so forth and where "Z" is equal to P25.

• The parameters P26 to P52 can also be defined using the letters from "D0= " a "D31=", so that "D0=" is equal to P26, "D1=" to P27 and so forth and where "D31=" is equal to P57.

Programming example.

#PCALL subroutine.nc A12.3 F45.3 P10=6 D0=34.12 D1=5 P28=0

Path definition.

Defining the path is optional. If defined, the CNC only looks for the subroutine in that folder; if not defined, the CNC looks for the subroutine in the default folders. See "Location (path) of the global subroutines." on page 303.

Local parameter nesting levels.

If local parameters are initialized in the #PCALL instruction, this instruction generates a new nesting level for the local parameters. Remember that up to 7 parameter nesting levels are possible within 20 subroutine nesting levels.

CNC 8060

CNC 8065

(R EF : 1901)

·306·

Programming manual.

15.3.5 #MCALL. Modal call to a local or global subroutine.

The #MCALL instruction calls a local or global subroutine. This type of call allows initializing local parameters of the subroutine. When it is a global subroutine, its whole path may be defined.

When there are two subroutines, one local and the other one global, with the same name, the following criteria is applied. If the path has been defined in the call, the CNC will execute the global subroutine, otherwise, it will execute the local one.

With this type of call, the subroutine becomes modal; i.e. the subroutine remains active in successive movements and it is repeated at the end of each move. See "Considerations about the modal character of the subroutine." on page 308.

Programming format.

The programming format is:

#MCALL <path> sub <P0..Pn> path sub

P0..Pn

Optional. Subroutine location.

Name of the subroutine

Optional. Initializing parameters.

#MCALL C:\Cnc8070\Users\Prg\sub1.nc

#MCALL C:\Cnc8070\Users\sub2.nc A12.3 P10=6

#MCALL Sub3.nc A12.3 F45.3 P10=6

How to set local parameters.

Calling a subroutine allows for the 57 local parameters (P0 to P57) to be initializes. The values of the parameters must be defined following the call statement and may be defined in two ways. Both ways of setting local parameters are equivalent and may be combined in the same block.

• The parameters P0 to P25 can also be defined using the letters from A to Z, so that "A" is equal to P0, "B" to P1 and so forth and where "Z" is equal to P25.

• The parameters P26 to P52 can also be defined using the letters from "D0= " a "D31=", so that "D0=" is equal to P26, "D1=" to P27 and so forth and where "D31=" is equal to P57.

Programming example.

#MCALL subroutine.nc A12.3 F45.3 P10=6 D0=34.12 D1=5 P28=0

Path definition.

Defining the path is optional. If defined, the CNC only looks for the subroutine in that folder; if not defined, the CNC looks for the subroutine in the default folders. See "Location (path) of the global subroutines." on page 303.

Turning the subroutine into non-modal.

A subroutine stops being modal with the instruction #MDOFF and in the following cases: See

"15.4 #PATH. Define the location of the global subroutines." on page 311.

• After executing an M02 or an M30 and after a RESET.

• When changing the work plane.

• When programming a probing move (G100).

• When changing the configuration of the axes (#FREE AX, #CALL AX and #SET AX).

• When calling another subroutine (#PCALL, #CALL, L, LL, G180-G189).

• When activating a canned cycle.

15.

CNC 8060

CNC 8065

(R EF : 1901)

·307·

15.

Programming manual.

Local parameter nesting levels.

If local parameters are initialized in the #MCALL instruction, this instruction generates a new nesting level for the local parameters. Remember that up to 7 parameter nesting levels are possible within 20 subroutine nesting levels.

Considerations about the modal character of the subroutine.

The modal subroutine will not be executed in the motion blocks programmed inside the subroutine itself or in the subroutines associated with T or M6. It will not be executed either, when programming a number of block repetitions using a NR value of ·0·.

If a motion block contains a number of repetitions NR other than 0 while a modal subroutine is active, both the movement and the subroutine will be repeated NR times.

If, when a subroutine is selected as modal, a block containing the #MCALL mnemonic is executed, the present subroutine will lose its modal quality and the new subroutine selected will be changed to modal.

CNC 8060

CNC 8065

(R EF : 1901)

·308·

Programming manual.

15.3.6 #MDOFF. Turning the subroutine into non-modal.

The subroutine stops being modal with the instruction #MDOFF. .

Programming format.

The programming format is:

#MDOFF

#MDOFF

15.

CNC 8060

CNC 8065

(R EF : 1901)

·309·

15.

Programming manual.

15.3.7 #RETDSBLK. Execute subroutine as a single block.

The #RETDSBLK instruction ends the subroutine and cancels the single block treatment.

Programming format.

Program the instruction alone in the block and at the end of the subroutine.

#RETDSBLK

#RETDSBLK

How to create the subroutine.

For a subroutine to be executed as a single block, it usually has the following structure.

%Sub.nc

#ESBLK; Beginning of the single-block treatment.

·

·

#DSBLK; End of the single-block treatment.

#RET; End of subroutine.

When executing this subroutine in single-block mode, the [START] key must be pressed twice because the execution stops in the #RET block. To prevent this so the subroutine is executed with a single [START], the subroutine must begin with #ESBLK and end with

#RETDSBLK.

%Sub.nc

#ESBLK; Beginning of the single-block treatment.

·

·

#RETDSBLK; End of subroutine and end of the single-block treatment.

CNC 8060

CNC 8065

(R EF : 1901)

·310·

Programming manual.

15.4

#PATH. Define the location of the global subroutines.

The instruction #PATH defines the pre-determined location of the global subroutines If no path is defined in the global subroutine call, the CNC will look for the subroutine in the path defined using the instruction #PATH.

If the path is defined when calling a global subroutine, the CNC looks for the subroutine in that location, it ignores the location defined in the #PATH statement.

Programming format.

The programming format is:

#PATH ["path"] path Pre-determined subroutine location.

#PATH ["C:\Cnc8070\Users\Prg\"]

#PATH ["C:\Cnc8070\Users\"]

15.

CNC 8060

CNC 8065

(R EF : 1901)

·311·

15.

CNC 8060

CNC 8065

Programming manual.

15.5

OEM subroutine execution.

The machine manufacturer may define up to 30 subroutines per channel and associate them with functions G180 through G189 and G380 through G399 in such a way that when a channel executes one of these functions, it will execute the subroutine associated with that function for that channel. These OEM subroutines may be executed either in a non-modal or modal way and it also allows resetting the local parameters of the subroutine.

Programming format.

These functions may be programmed anywhere in the program and they don't have to go alone in the block and allow resetting the local parameters of the subroutine.

Programming format. Executing the subroutine in a non-modal way.

The programming format is the following; the list of arguments appears inside the curly brackets. To execute the subroutine in a non-modal way, call it using the G code (G180,G181, etc).

G180

G380

G180 {P0..Pn}

G380 {P0..Pn}

P0..Pn

Optional. Local parameters of the subroutine.

G180

G183 P1=12.3 P2=6

G388 A12.3 B45.3 P10=6

Programming format. Executing the subroutine in a modal way.

The programming format is the following; the list of arguments appears inside the curly brackets. To execute the subroutine in a modal way, call it using the MG code (MG180,

MG181, etc).

MG180

MG380

MG180 {P0..Pn}

MG380 {P0..Pn}

P0..Pn

Optional. Local parameters of the subroutine.

G180

G183 P1=12.3 P2=6

G388 A12.3 B45.3 P10=6

How to set local parameters.

Calling a subroutine allows for the 57 local parameters (P0 to P57) to be initializes. The values of the parameters must be defined following the call statement and may be defined in two ways. Both ways of setting local parameters are equivalent and may be combined in the same block.

• The parameters P0 to P25 can also be defined using the letters from A to Z, so that "A" is equal to P0, "B" to P1 and so forth and where "Z" is equal to P25.

• The parameters P26 to P52 can also be defined using the letters from "D0= " a "D31=", so that "D0=" is equal to P26, "D1=" to P27 and so forth and where "D31=" is equal to P57.

Programming example.

G180 A12.3 F45.3 P10=6 D0=34.12 D1=5 P28=0

(R EF : 1901)

·312·

Programming manual.

Additional data in the block.

Besides initializing the parameters, any other type of additional information may be added to these functions, even movements. This information must be programmed before the subroutine calling function; otherwise, the data will considered as for initializing the parameters. The associated subroutine is executed once the execution of the rest of the information programmed in the block has ended.

G01 X50 F450 G180 P0=15 P1=20

It first executes the programmed movement to point X50 and then the subroutine associated with G180 initializing parameters P0 and P1.

G180 P0=15 P1=20 G01 X50 F450

All the data is interpreted as parameter setting, where P6(G)=1, P23(X)=50 and

P5(F)=450.

Cancelling a modal subroutine.

A subroutine stops being modal and in the following cases.

• When programming G80 or #MDOFF.

• When changing the work plane.

• When programming a probing move (G100).

• When executing another subroutine (#PCALL, #CALL, #MCALL, L, LL, G180-G189,

G380-G399).

• When executing a canned cycle.

• After executing an M02 or an M30 and after a RESET.

• When changing the configuration of the axes (#FREE AX, #CALL AX and #SET AX).

Local parameter nesting levels.

If these functions initialize local parameters, this instruction generates a new nesting level for the local parameters. Remember that up to 7 parameter nesting levels are possible within

20 subroutine nesting levels.

Considerations about the modal character of the subroutine.

The modal subroutine will not be executed in the motion blocks programmed inside the subroutine itself or in the subroutines associated with T or M6. It will not be executed either, when programming a number of block repetitions using a NR value of ·0·.

If a motion block contains a number of repetitions NR other than 0 while a modal subroutine is active, both the movement and the subroutine will be repeated NR times.

If while a subroutine is selected as modal, another modal OEM subroutine is executed, the current subroutine will stop being modal and the new selected subroutine will become modal.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Functions G180-G189 and G380-G399 are not modal. Functions MG180-MG189 and

MG380-MG399 are modal.

15.

CNC 8060

CNC 8065

(R EF : 1901)

·313·

15.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

15.6

Generic user subroutines (G500-G599).

The CNC lets the uses define up to 100 subroutines, common to all channels and that will be associated with functions G500 through G599, so when the CNC executes one of these functions, it will execute its associated subroutine. These OEM subroutines may be executed either in a non-modal or modal way and it also allows resetting the local parameters of the subroutine.

These subroutines are loaded into RAM memory when they are executed for the first time.

If there is no room in RAM, the CNC will issue a warning and it will execute the subroutine from the disk. At the end of the program (M30), if no other channel is executing subroutines, the CNC deletes them from its RAM memory. This way, if a user subroutine is edited or modified, the CNC assumes the changes the next time it executes it.

When updating the version, only the subroutines supplied by Fagor will be updated when choosing the third installation level "rename previous version and install completely".

Programming format.

These functions may be programmed anywhere in the program and they don't have to go alone in the block and allow resetting the local parameters of the subroutine.

Programming format. Executing the subroutine in a non-modal way.

The programming format is the following; the list of arguments appears inside the curly brackets. To execute the subroutine in a non-modal way, call it using the G code (G500,G501, etc).

G500

G500 {P0..Pn}

P0..Pn

Optional. Local parameters of the subroutine.

G500

G583 P1=12.3 P2=6

G588 A12.3 B45.3 P10=6

Programming format. Executing the subroutine in a modal way.

The programming format is the following; the list of arguments appears inside the curly brackets. To execute the subroutine in a modal way, call it using the MG code (MG500,

MG501, etc).

MG500

MG500 {P0..Pn}

P0..Pn

Optional. Local parameters of the subroutine.

G500

G583 P1=12.3 P2=6

G588 A12.3 B45.3 P10=6

How to set local parameters.

Calling a subroutine allows for the 57 local parameters (P0 to P57) to be initializes. The values of the parameters must be defined following the call statement and may be defined in two ways. Both ways of setting local parameters are equivalent and may be combined in the same block.

• The parameters P0 to P25 can also be defined using the letters from A to Z, so that "A" is equal to P0, "B" to P1 and so forth and where "Z" is equal to P25.

• The parameters P26 to P52 can also be defined using the letters from "D0= " a "D31=", so that "D0=" is equal to P26, "D1=" to P27 and so forth and where "D31=" is equal to P57.

Programming example.

G588 P0=12.3 P5=45.3 K6 P26=34.12 P27=5 D2=0

·314·

Programming manual.

Additional data in the block.

Besides initializing the parameters, any other type of additional information may be added to these functions, even movements. This information must be programmed before the subroutine calling function; otherwise, the data will considered as for initializing the parameters. The associated subroutine is executed once the execution of the rest of the information programmed in the block has ended.

G01 X50 F450 G500 P0=15 P1=20

It first executes the programmed movement to point X50 and then the subroutine associated with G500 initializing parameters P0 and P1.

G500 P0=15 P1=20 G01 X50 F450

All the data is interpreted as parameter setting, where P6(G)=1, P23(X)=50 and

P5(F)=450.

User subroutines (G500-G599) and modal subroutines.

User routines do not alter the modal/non-modal status of other possible active subroutines, this means should there be an active subroutine with #MCALL among the user subroutines, it will remain modal.

For this case, if the program activates a local subroutine as a modal subroutine and within the user subroutine there are motion blocks, the CNC will display a subroutine not found error.

Modal subroutines must be global, so they may be used outside the range of influence of the program.

Cancelling a modal subroutine.

A subroutine stops being modal and in the following cases.

• When programming G80 or #MDOFF.

• After executing an M02 or an M30 and after a RESET.

Define the subroutines.

The subroutines associated with these functions will be global and will have the same name as the function, without extension. The subroutines must be defined in the folder

..\Users\Sub. If the CNC executes a function and there is no subroutine, the CNC will issue an error message.

G500

G501 will have subroutine G500 associated with it.

will have subroutine G501 associated with it.

· · ·

G599 will have subroutine G599 associated with it.

Subroutines supplied by Fagor.

Subroutine.

G500

G501

Meaning.

HSC cancellation.

HSC activation for roughing operations.

Execute the subroutines.

The CNC executes the subroutine after executing the function with which they are associated. To execute the subroutine as a single block, program the instructions #ESBLK and # RETDSBLK . After executing the instruction #ESBLK, the CNC executes the blocks programmed next as a single block until it reaches the end of the subroutine (# RETDSBLK ).

If the file that contains the subroutine has the "hidden" attribute, the CNC does not display the contents of the subroutine while it is executed. The attributes of the files may be modified from the utilities mode (see the operating manual).

15.

CNC 8060

CNC 8065

(R EF : 1901)

·315·

15.

Programming manual.

Local parameter nesting levels.

If these functions initialize local parameters, this instruction generates a new nesting level for the local parameters. Remember that up to 7 parameter nesting levels are possible within

20 subroutine nesting levels.

Properties of the function and Influence of the reset, turning the

CNC off and of the M30 function.

Functions G500 - G599 are not modal. Functions MG500 - MG599 are modal.

CNC 8060

CNC 8065

(R EF : 1901)

·316·

Programming manual.

15.7

Assistance for subroutines.

15.7.1 Subroutine help files.

Help files may be associated with each OEM subroutine (G180, G380, etc), user subroutine

(G500, G800, etc) and each global subroutine called upon using #MCALL or #PCALL and they will be displayed while editing.

The help window is displayed while editing, after a blank space or tab following a G function or following the name of the subroutine. The help window is only informative, it cannot be accessed with the cursor nor browse through it. The help window closes with [ESC], deleting the key word or going on to another line of the program.

The help window of the subroutines is only available when the editor uses the CNC language; when the editor is enabled for the 8055 CNC, these helps are not available. The help window of the subroutines is available even when the contextual helps of the editor are disabled.

When the help file is displayed, its text may be inserted into the part-program using the [INS] key.

Edit the help files.

Each subroutine may have two help files; a text file (txt) and an image file (bmp). There's no need to define both files; either one may be defined alone.

When the help window is only informative, it cannot be accessed with the cursor nor browse through it with the page-up-down keys. This is why it is recommended to use short help files; for example, that only contain the description of the parameters of the subroutine. Also, since the text of the help file can be inserted into the program ([INS] key), the following is recommended.

• That the help file contains the line calling the subroutine. Since the user must have written part of the call to display the help window, the editor deletes the call before inserting the help text.

• That all the lines of the help file follow the format of a CNC comment, except the line containing the call to the subroutine.

Help file example for a subroutine.

G180 P0= P1= P2= P3= P4= P5=

#COMMENT BEGIN

---------------- G180 ----------------

P1 = Movement in X

P2 = Movement in Y

P3 = Movement in Z

P4 = Feedrate F

P5 = Speed S

--------------------------------------

#COMMENT END

Name and location of files.

Name of the help files.

The name of the files must follow the following rule:

Subroutine.

G180-G189

G380-G399

G500-G599

G800-G899

G8000-G8999

#MCALL

#PCALL

Name of the help files.

The name of the files must be the function it is associated with.

For example G180.txt

y G180.bmp

.

The name of the files must be the name of the subroutine.

For example subroutine.txt

and subroutine.bmp

.

15.

CNC 8060

CNC 8065

(R EF : 1901)

·317·

15.

i i

Programming manual.

Where to save the help files.

The machine manufacturer can save the help files in the folders ..\Mtb\Sub\Help and

..\Mtb\Sub\Help\{language}. Since the modifications to the MTB directory in the "User" work mode disappear when turning the unit off, the user must save his help files in the folder

..\Users\Sub\Help and ..\Users\Sub\Help\{language}.

The CNC looks for the files in the following order and displays the first that it finds, this is the reason why it is recommended that the user does not define subroutines and/or help files with the same name as those of the OEM. If there are no help files, the CNC will not show any help and it will not display an error.

..\Users\Sub\Help\{idioma}

..\Users\Sub\Help

..\Mtb\Sub\Help\{idioma}

..\Mtb\Sub\Help\

For versions V1.60 (8060) y V5.60 (8065), the CNC no longer searches for help files in the following folders.

..\Users\Session\Help\{idioma}

..\Mtb\Sub\Help\{idioma}.

..\Users\Help\{idioma}.

For versions prior to V1.60 (8060) and V5.60 (8065), the CNC first searched for the help files in the manufacturer folders and then in the user folders. For these and later versions, it does so in the opposite order.

CNC 8060

CNC 8065

(R EF : 1901)

·318·

Programming manual.

15.7.2 List of available subroutines.

The editor allows having in a text file (txt) a list that is displayed while editing the part-program, every time a #PCALL or an #MCALL instruction is edited.

The editor shows the list of subroutines while editing, after a blank space or tab following a G180-G189 or following a #PCALL or #MCALL instruction. This list works the same way as the lists of variables, it is possible to use the arrow keys to scroll through the various elements. Pressing [ENTER], the editor inserts the selected line in the current position of the cursor. The list of subroutines disappears with [ESC], deleting the key word or going on to another line of the program.

This help is always active, regardless of the editing help softkey, "Prog. help".

List of subroutines.

The list of subroutines must be in a text (txt) file. The file must be edited so each line is the name of a possible subroutine to be called.

Example of a file with a list of subroutines.

C:\CNC8070\USERS\SUB\FAGOR.NC

SUBROUTINE.NC

EXAMPLE.NC

POSITIONING.NC

i

Name and location of files.

The name of the file should be pcall.txt

.

Where to save the list of subroutines.

The machine manufacturer must save the pcall.txt

file in the folder ..\Mtb\Sub\Help. Since the modifications to the MTB directory in the "User" work mode disappear when turning the unit off, the user must save his pcall.txt

file in the folder ..\Users\Sub\Help.

The CNC looks for the help files in both files; if the files are not there, the CNC will not show any help. If there is a pcall.txt

file in both directories, the list will show the names of the subroutines contained in both of them.

For versions V1.60 (8060) y V5.60 (8065), the CNC no longer searches for help files in the following folders.

..\Users\Session\Help\{idioma}

..\Mtb\Sub\Help\{idioma}.

..\Users\Help\{idioma}.

15.

CNC 8060

CNC 8065

(R EF : 1901)

·319·

15.

Programming manual.

15.8

Interruption subroutines.

The interruption subroutines are defined by the machine manufacturer and will be executed from the PLC. When the PLC commands the execution of one of these subroutines, the channel interrupts the execution of the program and executes the corresponding interruption subroutine.

If the program is already interrupted (STOP) or no program is in execution (channel in

READY state), the execution of the subroutine depends on parameter SUBINTSTOP. Also, in order to execute the subroutine when no program is in execution, the channel must be in automatic mode; the subroutine cannot be executed from jog mode.

The CNC executes the subroutine with the current history of the interrupted program (G functions, feedrate, etc.). Once the subroutine is executed, the CNC resumes the execution of the program from the interruption point and maintaining the changes made to the history by the subroutine (G functions, etc.).

The execution of an interruption subroutine may be interrupted with a STOP, but not by another interruption subroutine. When a subroutine is interrupted, it is not possible to get into tool inspection mode.

CNC 8060

CNC 8065

(R EF : 1901)

·320·

Programming manual.

15.8.1 Repositioning axes and spindles from the subroutine (#REPOS).

The #REPOS can only be used inside the interruption subroutines and allows repositioning axes and spindles before ending that subroutine. The CNC does not reposition the axes when the instruction is executed, it does when returning from the subroutine to the program as the last action associated with the subroutine.

An interruption subroutine may contain several #REPOS instructions, but they all must be programmed at the end of the subroutine, in the blocks before the end of the subroutine

(#RET, M17, M29). Blocks programmed between the last #REPOS instruction and the endof-subroutine block will cause an error.

Programming.

This instruction must be programmed at the end of the subroutine, before the end-ofsubroutine block. When programming this instruction, you must define the axes to be repositioned. Optionally, it is possible to indicate whether the reposition point for the axes is the point where the program was interrupted or the starting point of the interrupted block.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets.

#REPOS <{point}> X~C <X~C>

{point}

X~C

Optional. Reposition point. This parameter is set with one of the INT/INI values.

Sequence of axes and spindles to be repositioned.

#REPOS A1 A2 S1

The reposition point is the point where the program was interrupted.

#REPOS INT X A1 U Z S

The reposition point is the point where the program was interrupted.

#REPOS INI X Y Z

The reposition point is the starting point of the interrupted block.

Sequence of axes and spindles to be repositioned.

The CNC repositions the axes in the program sequence, except the axes of the active plane that reposition simultaneously when the first of them repositions. Since there may be several

#REPOS instructions in the same subroutine, axes or spindles repeated (duplicated) in the same instruction or in a previous one are ignored.

Reposition point.

This parameter is defined with one of the following commands; if not programmed, the instruction assumes the INT value.

Value.

INT

INI

Meaning.

The reposition point for the axes is the point where the program was interrupted when activating the subroutine.

The reposition point for the axes is the starting point of the interrupted block.

The same subroutine may have several #REPOS instructions, but all of them must have the same INT/INI reposition point.

15.

CNC 8060

CNC 8065

(R EF : 1901)

·321·

15.

Programming manual.

15.9

Subroutine associated with the start.

For each channel, a subroutine can be associated with the execution start, which can be executed by pressing the [START] key, in automatic mode, to start the execution of the entire program; that is if no program start point has been selected. The CNC does not call upon the subroutine either when executing a cycle from the conversational mode. This subroutine may be used, for example, to have certain machining conditions defined to determine the execution of user programs.

If the subroutine exists, the CNC will execute it immediately after pressing the [START] key, before starting the program execution. If that subroutine is missing, the CNC executes the program directly.

Execution of subroutine

During execution, the CNC displays the name of the subroutine on the general status bar.

The CNC does not display the blocks under execution, however, it executes the subroutine as a single block, this means that the block-by-block execution is not affected.

Name and location of the subroutine.

The name of the subroutine must be PROGRAM_START (without an extension) and it will be saved in the folder ..\Users\Sub. If there are several channels, there may be a different subroutine for each channel, whose name must be PROGRAM_START_Cn, where n is the channel number (between 1 and 4).

Name.

PROGRAM_START

PROGRAM_START_C1

PROGRAM_START_C2

PROGRAM_START_C3

PROGRAM_START_C4

Channel.

Channel 1. The CNC accepts both names for the subroutine associated with the first channel and where both subroutines exist, the CNC will execute the PROGRAM_START.

Channel 2.

Channel 3.

Channel 4.

CNC 8060

CNC 8065

(R EF : 1901)

·322·

Programming manual.

15.10 Subroutine associated with the reset.

For each channel, the reset may have an associated subroutine, which will be executed after pressing the [RESET] key on the operator panel or when the PLC activates the RESETIN mark. This subroutine, for example, establishes any initial conditions that are different from those set by the reset or conditioned to the configuration of the machine, activates operations/modes that disable the reset, etc.

If this subroutine exists, the CNC will execute it immediately after the reset. If this subroutine is missing, the CNC executes the reset directly.

Execution of subroutine

During execution, the CNC displays the name of the subroutine on the general status bar.

The CNC does not display the blocks under execution, however, it executes the subroutine as a single block, this means that the block-by-block execution is not affected.

15.

Name and location of the subroutine.

The name of the subroutine must be PROGRAM_RESET (without an extension) and it will be saved in the folder ..\Users\Sub. If there are several channels, there may be a different subroutine for each channel, whose name must be PROGRAM_RESET_Cn, where n is the channel number (between 1 and 4).

Name.

PROGRAM_RESET

PROGRAM_RESET_C1

PROGRAM_RESET_C2

PROGRAM_RESET_C3

PROGRAM_RESET_C4

Channel.

Channel 1. The CNC accepts both names for the subroutine associated with the first channel and where both subroutines exist, the CNC will execute the PROGRAM_RESET.

Channel 2.

Channel 3.

Channel 4.

CNC 8060

CNC 8065

(R EF : 1901)

·323·

15.

Programming manual.

15.11 Subroutines associated with the kinematics calibration cycle.

The kinematics calibration cycle has two associated subroutines (KinCal_Begin.nc and

KinCal_End.nc), which the CNC executes before and after the cycle.

Name.

KinCal_Begin.nc

KinCal_End.nc

Meaning.

Subroutine associated with the beginning of the kinematics calibration cycle.

Subroutine associated with the end of the kinematics calibration cycle.

Fagor supplies both subroutines as incomplete and it is the manufacturer's responsibility to define both subroutines. Software updates do not modify any existing subroutines.

Name and location of the subroutine.

The names of the subroutines are KinCal_Begin.nc and KinCal_End.nc. Both subroutines must be saved in the folder ..\Mtb\Sub. All channels use the same subroutines.

CNC 8060

CNC 8065

(R EF : 1901)

·324·

16.

EXECUTING BLOCKS AND

PROGRAMS

16

16.1

Executing a program in the indicated channel.

With the #EXEC instruction, it is possible, from a program in execution, to begin the execution of a second program in another channel. The execution of the program starts in the indicated channel in parallel (at the same time) with the block following the

#EXEC

instruction. If the channel where the program to be executed is busy, the CNC waits for the operation in progress to end.

Channel ·1·

%PRG1

G00 X0 Y0 Z20

G01 G90 X23 F100

G81 Z5 I-20

#EXEC ["PRG2.NC", 2]

G91 Y15 NR4

G80

G90 Z20

M30

Channel ·2·

Beginning of the execution.

%PRG2

···

M30

Programming format.

The programming format is: Optional parameters are indicated between angle brackets.

#EXEC ["{prg}"<,{channel}>]

{prg}

{channel}

Part-program location.

Optional. Channel where the block is to be executed.

#EXEC ["PRG1.NC",2]

(It executes in channel 2 the indicated program)

#EXEC ["MYPRG.NC"]

(It executes the program as a subroutine).

#EXEC ["C:\CNC8070\USERS\PRG\EXAMPLE.NC",3]

(It executes in channel 3 the indicated program)

Program location (path).

The program to be executed may be defined by either writing the full path or without it. When indicating the whole path, the CNC only looks for the program in the indicated folder. If the path has not been indicated, the CNC looks for the program in the following folders and in this order.

1 Directory selected with the #PATH instruction.

2 Directory of the program that executes the #EXEC instruction.

3 Directory defined by machine parameter SUBPATH.

CNC 8060

CNC 8065

(R EF : 1901)

·325·

16.

Programming manual.

Channel where the block is to be executed.

Programming the channel is optional. If the channel is not indicated or it coincides with the channel where the

#EXEC

instruction is executed, the second program will be executed as a subroutine. In this case, functions M02 and M30 will carry out all the associated actions

(initialization, sending to the PLC, etc.) except the one for finishing the program. After executing function M02 or M30, it goes on executing the blocks programmed after the

#EXEC instruction.

Considerations.

A program containing the

#EXEC

instruction may be executed, simulated, syntax checked or searched for a particular block. In all the cases, programs called upon using the

#EXEC instruction are executed in the same conditions as the original program

CNC 8060

CNC 8065

(R EF : 1901)

·326·

Programming manual.

16.2

Executing a block in the indicated channel.

With the #EXBLK instruction, it is possible, from a program in execution or via MDI, to execute a block in another channel.

If the channel where the block to be executed is busy, the CNC waits for the operation in progress to end. After executing the block, the channel goes back to the previous work mode.

Programming format.

The programming format is: Optional parameters are indicated between angle brackets.

#EXBLK [{block}<,{channel}>]

{block}

{channel}

Block to be executed.

Optional. Channel where the block is to be executed.

#EXBLK [G01 X100 F550, 2]

(The block is executed in channel ·2·)

#EXBLK [T1 M6]

(The block is executed in the current channel)

Channel where the block is to be executed.

Programming the channel is optional. If the channel is not indicated and the instruction is executed from the program, the block is executed in its own channel. If the instruction is executed in MDI and the channel is not indicated, the block is executed in the active channel.

16.

CNC 8060

CNC 8065

(R EF : 1901)

·327·

16.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·328·

17.

C AXIS

17

The CNC allows activating axes and spindles as C axis, that interpolated with a linear axis makes it possible to mill the cylindrical surface or the face of a turning part. Although the machine may have several axes or spindle defined as "C" axis, only one of them may be active.

·C· axis on a lathe.

On a lathe, it is most common to activate the spindle as ·C· axis and use a live tool to machine the part.

·C· axis on a milling machine.

On a milling machine, it is most common to activate a rotary axis as ·C· axis and use the spindle to machine the part.

Configuration of a ·C· axis.

To activate an axis or spindle as "C" axis, it must have been defined as such by the machine manufacturer. To know whether an axis or spindle may be activated as a ·C· axis, refer to parameter CAXIS in the machine parameter table or to its variable.

(V.)MPA.CAXIS.Xn

Variable indicating whether the axis or spindle can be enabled as the C axis; a value of

·1· is yes and a value ·0· is no.

In the machine parameter table, parameter CAXNAME indicates the default name of the ·C· axis of the channel. This is the name that a spindle enabled as ·C· axis will take if not indicated otherwise via part-program.

The zero offsets on the C axis.

Once the zero offsets have been defined in the table, they may be activated by program using functions G54 to G59 and G159. The zero offsets on the C axis have the following peculiarities.

• If there is an active zero offset and, then, a C axis is activated, the zero offset for the C axis is not assumed.

• When the spindle works as C axis (#CAX instruction) the zero offset is applied in degrees.

• When face machining is active (#FACE instruction) or cylinder machining (#CYL instruction) is active, the zero offset is applied in the active units, millimeters or inches.

CNC 8060

CNC 8065

(R EF : 1901)

·329·

17.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

17.1

Activating the spindle as "C" axis.

To use a spindle as ·C· axis, it must be enabled as such first. Once this is done, it will be possible to program machining operation on the face or on the side using the instructions

#FACE or #CYL respectively.

Activating the spindle as ·C· axis.

The #CAX instruction activates a spindle as ·C· axis.

The programming format is: Optional parameters are indicated between angle brackets.

#CAX [<{spdl}><,{name}>]

{spdl}

{name}

Optional. Spindle to be activated as C axis.

Optional. Name of the C axis.

#CAX

#CAX [S1]

#CAX [S,C]

The spindle needs only be indicated when a spindle other than the master is to be activated as a C axis. Otherwise, there is no need to program it.

The {name} parameter sets the name that will identify the C axis. This name will be used in the part program to define the movements. If the name is not defined, the CNC assigns a name by default. See "Configuration of a ·C· axis." on page 329.

Programming

#CAX

#CAX [S1]

#CAX [S,C]

#CAX [S3,B2]

Spindle that is activated as ·C· axis.

Master spindle.

Spindle S1 (it may be the master).

Spindle S (it may be the master).

Spindle S3 (it may be the master).

Axis name.

By default.

By default.

C

B2

Considerations about working with the C axis

Activating a running spindle as C axis stops the spindle. While being a spindle active as "C" axis, no speed may be programmed for it.

When activating the spindle as "C" axis, the CNC carries out a home search of the "C" axis.

Accessing the variables of a spindle activated as C axis.

After activating a spindle as C axis, the new name of the spindle must be used to access its variables from the part-program or MDI. The access to the variables from the PLCA or from an interface does not change; the original name of the spindle remains unchanged.

Influence of the M3/M4/M5 functions.

If the spindle is working as C axis, executing an M3, M4 or M5 function will automatically set the spindle in open loop (same as programming #CAX OFF).

Deactivating the spindle as C axis.

The C axis is deactivated with the #CAX instruction and the spindle goes back to working as a normal spindle.

#CAX OFF

#CAX OFF

Programming the spindle as ·C· axis.

When the spindle works as ·C· axis, it will be programmed as if it were a rotary axis (in degrees).

·330·

Programming manual.

Programming the master spindle as ·C· axis.

#CAX

G01 Z50 C100 F100

G01 X20 C20 A50

#CAX OFF

Programming any spindle as ·C· axis.

#CAX [S1,C1]

(The spindle "S1" is activated as "C" axis under the name of "C1")

G01 Z50 C1=100 F100

G01 X20 C1=20 A50 S1000

#CAX OFF

17.

CNC 8060

CNC 8065

(R EF : 1901)

·331·

17.

Programming manual.

17.2

Machining of the face of the part

Either a rotary axis or a spindle may be used as C axis for this type of machining operation.

When using a spindle, it must be activated as "C" axis in advance using the #CAX instruction.

See "17.1 Activating the spindle as "C" axis." on page 330.

Activating the machining of the face of the part.

The #FACE instruction activates the machining of the face and it also defines the work plane.

The axis to be activated as "C" axis will be determined by the work plane defined.

The programming format is: Optional parameters are indicated between angle brackets.

#FACE [{abs},{ord}<,{long}>]<[{kin}]>

{abs}

{ord}

{long}

{kin}

Abscissa axis of the work plane.

Ordinate axis of the work plane.

Optional. Longitudinal axis of the tool.

Optional. Number of the kinematics.

#FACE [X,C]

#FACE [X,C][1]

#FACE [X,C,Z]

#FACE [X,C,Z][1]

Programming the kinematics is optional; if not programmed, the CNC applies the first kinematics that has been defined in the machine parameters and is valid for this type of machining.

Cancel the machining of the face of the part.

Machining is canceled with the #FACE instruction as follows.

#FACE OFF

#FACE OFF

C axis programming.

The "C" axis will be programmed as if it were a linear axis (in millimeters or inches) and the

CNC will calculate the corresponding angular movement depending on the selected radius.

When the machining is activated, the CNC switches to operate in radius and G94 (mm/min).

#FACE [X, C] #FACE [C, X]

CNC 8060

CNC 8065

(R EF : 1901)

·332·

Programming manual.

#FACE [X,C]

G90 X0 C-90

G01 G42 C-40 F600

G37 I10

X37.5

G36 I10

C0

G36 I15

X12.56 C38.2

G03 X-12.58 C38.2 R15

G01 X-37.5 C0

G36 I15

C-40

G36 I10

X0

G38 I10

G40 C-90

#FACE OFF

M30

17.

CNC 8060

CNC 8065

(R EF : 1901)

·333·

17.

Programming manual.

17.3

Machining of the turning side of the part

Either a rotary axis or a spindle may be used as C axis for this type of machining operation.

When using a spindle, it must be activated as "C" axis in advance using the #CAX instruction.

See "17.1 Activating the spindle as "C" axis." on page 330.

i

Activating the machining of the side of the part.

The #CYL instruction activates the machining of the side and it also defines the work plane.

The axis to be activated as "C" axis will be determined by the work plane defined.

The programming format is: Optional parameters are indicated between angle brackets.

#CYL [{abs},{ord},{long}{radius}]<[{kin}]>

{abs}

{ord}

{long}

{radius}

{kin}

Abscissa axis of the work plane.

Ordinate axis of the work plane.

Longitudinal axis of the tool.

Radius of the cylinder that will be machined.

Optional. Number of the kinematics.

#CYL [X,C,Z45]

#CYL [C,Y,Z30]

#CYL [X,C,Z45][3]

If the radius is programmed with a value of ·0·, it assumes as the cylinder radius the distance between the rotation center and the tool tip. This makes it possible to develop the surface on cylinders with variable radius without having to indicate the radius.

In versions older than V3.10, programming the radius was optional. If the software is updated from an older version, the programs will have to be corrected.

Programming the kinematics is optional; if not programmed, the CNC applies the first kinematics that has been defined in the machine parameters and is valid for this type of machining.

Cancel the machining of the side of the part.

Machining is canceled with the #CYL instruction as follows.

#CYL OFF

#CYL OFF

C axis programming.

The "C" axis will be programmed as if it were a linear axis (in millimeters or inches) and the

CNC will calculate the corresponding angular movement depending on the selected radius.

When the machining is activated, the CNC switches to operate in radius and G94 (mm/min).

CNC 8060

CNC 8065

(R EF : 1901)

#CYL [B, Y, Z45] #CYL [Y, B, Z45]

·334·

Programming manual.

#CYL [Y,B,Z20]

G90 G42 G01 Y70 B0

G91 Z-4

G90 B15.708

G36 I3

Y130 B31.416

G36 I3

B39.270

G36 I3

Y190 B54.978

G36 I3

B70.686

G36 I3

Y130 B86.394

G36 I3

B94.248

G36 I3

Y70 B109.956

G36 I3

B125.664

G91 Z4

#CYL OFF

M30

17.

CNC 8060

CNC 8065

(R EF : 1901)

·335·

17.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·336·

18.

ANGULAR TRANSFORMATION OF

AN INCLINE AXIS.

18

With the angular transformation of an incline axis, it is possible to make movements along an axis that is not perpendicular to another. The movements are programmed in the

Cartesian system and to make the movements, they are transformed into movements on the real axes.

On certain machines, the axes are configured in a Cartesian way, they are not perpendicular to each other. A typical case is the X axis of a lathe that for sturdiness reasons is not perpendicular to the Z axis.

X

X'

X

X'

Z

Cartesian axis.

Angular axis.

Orthogonal axis.

Z

Programming in the Cartesian system (Z-X) requires activating an angular transformation of an inclined plane that converts the movements of the real (non-perpendicular) axes (Z-

X'). This way, a movement programmed on the X axis is transformed into movements on the

Z-X' axes; i.e. it then moves along the Z axis and the angular X' axis.

Turning angular transformation on and off.

The CNC assumes no transformation on power-up; the angular transformations are activated via part-program. Several angular transformations may be active at the same time.

The angular transformations are turned off via part-program. Optionally, a transformation may be "frozen" (suspended) to move angular axis by programming in Cartesian coordinates.

Influence of the reset, turning the CNC off and of the M30.

The angular transformation of an incline axis is kept active after a RESET or an M30. Turning the CNC off turns the active angular transformation off.

CNC 8060

CNC 8065

(R EF : 1901)

·337·

18.

Programming manual.

Considerations for the angular transformation of an incline axis.

The axes that make up the angular transformation must meet the following requirements:

• Both axes must belong to the same channel.

• Both axes must be linear.

• Both axes may be masters in a pair of slaved (coupled) axes or gantry axes.

Home search is not possible when the angular transformation is active.

If the angular transformation is active, the coordinates displayed will be those of the

Cartesian system. Otherwise, it will display the coordinates of the real axes.

CNC 8060

CNC 8065

(R EF : 1901)

·338·

Programming manual.

18.1

Turning angular transformation on and off

Turn angular transformation on.

When the transformation is on, the movements are programmed in the Cartesian system and to make the movements, the CNC transforms them into movements on the real axes.

The coordinates displayed on the screen will be those of the Cartesian system.

The angular transformation is turned on with the instruction

#ANGAX

. This instruction may be used to activate the transformation in one or several axes.

#ANGAX ON [1,...,n]

1,...,n Angular transformation to be activated.

At least one transformation must be programmed in the activating instruction, otherwise the relevant error message will be issued. The number of the angular transformation is determined by the order in which they have been defined in the machine parameter table.

#ANGAX ON [1]

#ANGAX ON [5.7]

Angular transformations may be activated either all of them at the same time or one by one.

Activating one transformation does not cancel the previous ones.

This instruction turns a "frozen" (suspended) transformation on again. See "18.2 Freezing

(suspending) the angular transformation." on page 340.

Turn angular transformation off.

If the transformation is off, the movements are programmed and executed in the system of the real axes. The coordinates displayed on the screen will be those of the real axes.

The angular transformation is turned on with the instruction

#ANGAX

. The programming format is: Optional parameters are indicated between angle brackets.

#ANGAX OFF <[1,...,n]>

1,...,n Optional. Angular transformation to be activated.

If no transformation has been defined, all the transformations of the channel are turned off.

#ANGAX OFF

#ANGAX OFF [1]

#ANGAX OFF [5.7]

The angular transformation of an incline axis is kept active after a RESET or an M30. Turning the CNC off turns the active angular transformation off.

18.

CNC 8060

CNC 8065

(R EF : 1901)

·339·

18.

Programming manual.

18.2

Freezing (suspending) the angular transformation.

Freezing the angular transformation is a special way to make movements along the angular axis, but programming it in the Cartesian system. The angular transformation cannot be

"frozen" (suspended) while jogging.

The angular transformation is "frozen" (suspended) using the instruction

#ANGAX SUSP whose programming format is.

#ANGAX SUSP [1,...,n]

1,...,n Angular transformation to be activated.

If no angular transformation has been programmed, all the transformations of the channel are "frozen" (suspended). The number of the angular transformation is determined by the order in which they have been defined in the machine parameter table.

#ANGAX SUSP

#ANGAX SUSP [1]

#ANGAX SUSP [5.7]

Freezing all the transformations of the channel.

Freezing transformation ·1·.

Freezing transformations ·5· and ·7·.

P r o g r a m m i n g m o v e m e n ts a ft e r " f r e e z i n g " t h e a n g u l a r transformation.

If an angular transformation is "frozen" (suspended), only the coordinate of the angular axis must be programmed in the motion block. If the coordinate of the orthogonal axis is programmed, the movement is carried out according to the normal angular transformation.

Canceling the freezing of a transformation.

The "freezing" of an angular transformation is canceled after a reset or an M30.

Programming

#ANGAX ON on the frozen transformation turns it back on.

CNC 8060

CNC 8065

(R EF : 1901)

·340·

Programming manual.

18.3

Obtaining information on angular transformation.

Checking the configuration of the angular transformation.

The configuration data of the angular transformation may be checked directly in the machine parameter table or using the following variables.

Number of angular transformations defined.

(V.)MPK.NANG

Variable that can only be read from the PRG, PLC and INT.

It returns the number of angular transformations defined in the machine parameter table.

Axes that make up the angular transformation.

These variables refer to the angular transformation n. Programming using the curly brackets is mandatory.

(V.)MPK.ANGAXNA[n]

(V.)MPK.ORTGAXNA[n]

Variable that can only be read from the PRG, PLC and INT.

The first one returns the name of the angular axis. The second one returns the name of the orthogonal axis.

Geometry of the angular transformation.

These variables refer to the angular transformation n. Programming using the curly brackets is mandatory.

(V.)MPK.ANGANTR[n]

Variable that can only be read from the PRG, PLC and INT.

Angle between the Cartesian angle and the angular axis it is associated with. Positive angle when the angular axis has been rotated clockwise and negative if counterclockwise.

(V.)MPK.OFFANGAX[n]

Variable that can only be read from the PRG, PLC and INT.

Offset of the origin of the angular transformation. Distance between machine zero and the origin of the coordinate system of the incline axis.

Checking the status of the angular transformation.

Status of the angular transformation.

(V.)[n].G.ANGAXST

Variable that can only be read from the PRG, PLC and INT.

It returns the status of angular transformation defined in the channel.

(V.)[n].G.ANGIDST

Variable that can only be read from the PRG, PLC and INT.

It returns the status of angular transformation defined in the [i] position in the machine parameters.

Both variables return the following values:

Value

0

1

2

Meaning

The transformation is deactivated.

The transformation is activated.

The transformation is frozen (suspended).

18.

CNC 8060

CNC 8065

(R EF : 1901)

·341·

18.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·342·

19.

TANGENTIAL CONTROL.

19

"Tangential Control" Keeps a rotary axis always in the same orientation with respect to the programmed path. The machining path is defined in the axes of the active plane and the CNC keeps the orientation of the rotary axis along the whole path.

Orientation parallel to the path.

Orientation perpendicular to the path.

Turning tangential control on and off.

The CNC does not activate tangential control on power-up; it is activated via part-program.

Tangential control may be active on several axes. Once tangential control is active, the tangential axis cannot be moved in jog or by program; the CNC is in charge of orienting this axis.

Optionally, tangential control can also be "frozen" so it can be re-activated in the same conditions later on.

There are two ways to program tangential control; using either ISO-coded functions or high level commands. Both modes are equivalent and may be combined in the same partprogram.

Influence of the reset, turning the CNC off and of the M30.

Tangential control is modal. Tangential control is canceled on power-up, after executing an

M02 or M30 and after an emergency or reset.

Considerations about tangential control.

Tangential control is compatible with tool radius and length compensation. Mirror image may also be applied while tangential control is active.

Axes allowed in tangential control.

Tangential control can only be activated on module type rotary axes. An axis of the plane or the longitudinal axis cannot be set as tangential axis. Likewise, a tangential axis can also be a gantry axis, including the gantry axis associated with the rotary axis.

Tool inspection.

Tool inspection is possible while tangential control is active. When going into tool inspection, the CNC cancels tangential control so the axes can move. After quitting tool inspection, the

CNC re-activates tangential control in the same conditions as before.

Jogging the axes.

The tangential axis cannot be moved while tangential control is active. The axes not affected by tangential control may be moved freely.

CNC 8060

CNC 8065

(R EF : 1901)

·343·

19.

Programming manual.

When jogging the axes, the CNC cancels tangential control Once the movement has ended, the CNC re-activates tangential control in the same conditions as before.

MDI mode.

The MDI mode may be accessed from jog mode to activate tangential control and move the axes using blocks programmed in MDI. The tangential axis cannot be moved while tangential control is active.

CNC 8060

CNC 8065

(R EF : 1901)

·344·

Programming manual.

19.1

Turning tangential control on and off.

There are two ways to manage tangential control; using either ISO-coded functions or high level commands. Both modes are equivalent and may be combined in the same partprogram.

Activating tangential control.

While tangential control is active, the movements are programmed for the axes of the active work plane. It is not possible to program movements of the tangential axis; it is up to the CNC to orient this axis.

Tangential control is activated with function

G45

or with the instruction

#TANGCTRL

. These commands also restore a "frozen" tangential control, but the angle must be programmed

again. See "19.2 Freezing tangential control." on page 348.

Programming format (1).

This function may be used to activate tangential control on one or several axes; it does not allow to set the positioning feedrate of the tangential axis. At least one tangential axis must be defined in this function.

G45 X~C

X~C Axis upon which tangential control is applied and angular position with respect to the path.

The angle is defined in degrees (±359.9999).

G45 A90

G45 B45 W15.123 B2=-34.5

Programming format (2).

This statement may be used to activate tangential control on one or several axes and to set the positioning feedrate of the tangential axis. There is no need to activate any axis in order to set the feedrate.

The programming format is: Optional parameters are indicated between angle brackets.

#TANGCTRL ON [<X~C>, <F>]

X~C

F

Optional. Axis upon which tangential control is applied and angular position with respect to the path. The angle is defined in degrees (±359.9999).

Optional. Tangential axis orienting feedrate.

Although both parameters are optional, at least one of them must be programmed.

#TANGCTRL ON [A34.35]

#TANGCTRL ON [A90, F300]

#TANGCTRL ON [B-45, W15.123, F300]

#TANGCTRL ON [F300]

Combining both programming formats.

The two programming formats may be combined in the same part-program. For example, the instruction may be used to set the positioning feedrate and function G45 to active tangential control.

#TANGCTRL ON [F1000]

G45 W45

Programming the positioning angle.

The positioning angle is defined in degrees (±359.9999). The angle is defined with respect to the path to follow, positive angle for counterclockwise positioning and negative angle for clockwise positioning.

19.

CNC 8060

CNC 8065

(R EF : 1901)

·345·

Programming manual.

19.

The positioning angle in only maintained when tangential control is "frozen"; in the rest of

the cases, it must be programmed every time tangential control is activated. See

"19.2 Freezing tangential control." on page 348.

Positioning feedrate for the tangential axis.

The feedrate for the tangential axes is set with the instruction

#TANGCTRL

. This feedrate is only applied to the movements of the tangential axes; not to the axes of the plane whose feedrate is

F

.

#TANGCTRL ON [F1000]

The tangential feedrate stays active even when tangential control is canceled. This means that the feedrate will be applied the next time tangential control is activated.

If no feedrate has been defined for the tangential axis, it behaves as follows. In any case, the maximum feedrate for each tangential axis will be limited by its machine parameter

MAXFEED

.

• If the tangential axis must move alone, it moves at the feedrate set by machine parameter

MAXFEED

.

• If the tangential axis moves with the axes of the plane, its feedrate is the same as the one for those axes.

Operation of the tangential control.

Every time tangential control is activated, the CNC acts as follows:

1 The CNC orients the tangential axis with respect to the first section and it puts it in the programmed position.

2 The interpolation of the plane axes starts once the tangential axis has been positioned.

The orientation of the tangential axis is maintained in linear sections whereas in circular interpolations the programmed orientation is maintained throughout the whole travel.

CNC 8060

CNC 8065

(R EF : 1901)

·346·

3 Blending two sections requires a new orientation of the tangential axis, the CNC ends the section in progress, then orients the tangential axis with respect to the next section and goes on with the execution.

Programming manual.

Cancel tangential control.

Tangential control is canceled with function

G45

or with the instruction

#TANGCTRL

.

Programming format (1).

This function cancels tangential control in all the axes of the channel.

G45

G45

Programming format (2).

This instruction cancels tangential control in one or several axes. If no axis is programmed, it cancels tangential control in all the axes of the channel.

The programming format is: Optional parameters are indicated between angle brackets.

#TANGCTRL OFF <[X~C]>

X~C Optional. Axis where tangential control is canceled.

#TANGCTRL OFF

#TANGCTRL OFF [A]

#TANGCTRL OFF [B, W, V]

Cancellation of tangential control during tool radius compensation.

Tangential control may be canceled even if tool radius compensation is active. However, it is recommended to freeze tangential control instead of canceling it. This is because the instruction

#TANGCTRL OFF

, besides canceling tangential control, it generates some additional blocks at the beginning and end of the tool compensation.

19.

CNC 8060

CNC 8065

(R EF : 1901)

·347·

19.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

19.2

Freezing tangential control.

Freezing tangential control is a special cancellation where the CNC remembers the programmed angle. When restoring tangential control, the CNC orients the axis with the same angle it had when tangential control was frozen. Freezing tangential control does not cancel tool radius compensation.

Turning tangential control on.

While tangential control is frozen, the movements are programmed for the axes of the active work plane. No movement of the tangential axis can be programmed.

Tangential control is frozen with function

G145

or with the instruction

#TANGCTRL

.

Programming format (1).

This instruction freezes tangential control in one or several axes. If no axis is programmed, it freezes tangential control in all the axes of the channel.

The programming format is: Optional parameters are indicated between angle brackets.

G145 <K0> <X~C>

K0

X~C

Optional. Freeze tangential control.

Optional. Axis where tangential control is frozen.

Parameter

K

may take the values ·0· and ·1·. When set to ·1·, it means that a previously frozen tangential axis is to be resumed. If the parameter

K is not programmed, the CNC assumes

K0

.

G145 K0

G145 K0 A

G145 K0 B W C

G145 B A

Programming format (2).

This statement freezes tangential control in one or several axes. If no axis is programmed, it freezes tangential control in all the axes of the channel.

The programming format is: Optional parameters are indicated between angle brackets.

#TANGCTRL SUSP <[X~C]>

X~C Optional. Axis where tangential control is frozen.

#TANGCTRL SUSP

#TANGCTRL SUSP [A]

#TANGCTRL SUSP [B, W]

Canceling tangential control.

Tangential control is resumed with function

G145

or with the instruction

#TANGCTRL

.

Programming format (1).

This function resumes tangential control in one or several axes. If no axis is programmed, it resumes tangential control in all the axes of the channel.

The programming format is: Optional parameters are indicated between angle brackets.

G145 K1 <X~C>

K1

X~C

Restoring tangential control.

Optional. Axis where tangential control is resumed.

Parameter

K

may take the values ·0· and ·1·. When set to ·0·, it means that tangential control is to be frozen.

G145 K1

G145 K1 A

G145 K1 B W C

·348·

Programming manual.

Programming format (2).

This instruction resumes tangential control in one or several axes. If no axis is programmed, it resumes tangential control in all the axes of the channel.

The programming format is: Optional parameters are indicated between angle brackets.

#TANGCTRL RESUME <[X~C]>

X~C Optional. Axis where tangential control is resumed.

#TANGCTRL RESUME

#TANGCTRL RESUME [A]

#TANGCTRL RESUME [B, W, C]

19.

CNC 8060

CNC 8065

(R EF : 1901)

·349·

19.

19.3

Obtaining information on tangential control.

Programming manual.

Checking the configuration of the angular transformation.

The configuration data of the tangential control may be checked directly in the machine parameter table or using the following variables.

Is it a module type of rotary axis?

(V.)[n].MPA.AXISMODE.Xn

The variable indicates the type of rotary axis; if it is a module type, the variable must return the value of ·0·.

Consulting the tangential control data.

(V.)A.TANGAN.Xn

This variable returns the angle programmed in the Xn axis.

(V.)G.TANGFEED

This variable returns the positioning feedrate programmed for tangential control.

Consulting the tangential control status.

(V.)PLC.TANGACTIVCn

This variable indicates whether tangential control is active in channel n nor not. A ·1· if the tangential control is active and a ·0· if otherwise.

(V.)PLC.TANGACTx

This variable indicates whether tangential control is active in the x axis or not. A ·1· if the tangential control is active and a ·0· if otherwise.

(V.)[n].G.TGCTRLST

It returns the status of tangential control in the channel. A value of ·0· if tangential control is off, a ·1· if it is on and a ·2· if frozen (suspended).

(V.)[n].A.TGCTRLST.Xn

It returns the status of tangential control in the axis. A value of ·0· if tangential control is off, a ·1· if it is on and a ·2· if frozen (suspended).

Initialization of the variables.

Canceling tangential control initializes all the variables except

(V.)A.TANGFEED

, because the programmed feedrate is maintained for a possible future tangential control.

When freezing (suspending) tangential control, the variables act as follows.

(V.)A.TANGAN.Xn

(V.)G.TANGFEED

(V.)PLC.TANGACTIVCn

(V.)PLC.TANGACTx

It maintains the value of the programmed angle.

It is not initialized.

It is not initialized.

It is initialized.

CNC 8060

CNC 8065

(R EF : 1901)

·350·

20.

KINEMATICS AND COORDINATE

TRANSFORMATION

20

The description of the general coordinate transformation is divided into these basic functions:

Instruction.

#KIN ID.

#CS.

#ACS.

#RTCP.

#TLC.

#CSROT ON

#CSROT OFF

#DEFROT

#SELECT ORI

#KINORG

#TOOL ORI

Meaning.

Select a kinematics.

Define a machining coordinate system (Inclined plane).

Define a fixture coordinate system.

RTCP (Rotating Tool Center Point) transformation.

Correct the implicit tool length compensation of the program.

Activate tool orientation in the part coordinate system.

Cancel tool orientation in the part coordinate system and, therefore, activate tool orientation in the machine coordinate system.

How to manage the discontinuities in the orientation of rotary axes.

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.

Tool perpendicular to the inclined plane.

CNC 8060

CNC 8065

(R EF : 1901)

·351·

20.

Programming manual.

20.1

Coordinate systems.

For clarity's sake, the following examples show three coordinate systems:

X Y Z

X' Y' Z'

X" Y" Z"

Machine coordinate system.

Part coordinate system.

Tool coordinate system.

When no transformation has been made and the spindle is in the starting position, the three coordinate systems coincide.

When turning the spindle, the tool coordinate system (X" Y" Z") changes.

CNC 8060

CNC 8065

(R EF : 1901)

·352·

If besides this, a new machining coordinate system is selected (#CS instruction) or fixture coordinate system (#ACS instruction) the part coordinate system will also change (X' Y' Z').

Programming manual.

20.2

Movement in an inclined plane.

An inclined plane is any plane resulting form a coordinate transformation of the first three axes of the channel (XYZ in the following examples). Any plane in space may be selected to carry out machining operations in it. To define the inclined plane corresponding to the machining operations, use the #CS and #ACS instructions that are described later on in this chapter.

20.

To orient the tool perpendicular to the inclined plane, use the #TOOL ORI instruction or the kynetics related variables that indicate the position that each rotary axis of the spindle head must occupy. The new coordinates (right figure) are referred to the new part zero assuming that the tool is positioned perpendicular to the new plane.

From this moment on, the programming and the X, Y movements are carried out along the selected plane and those of the Z axis will be perpendicular to it.

CNC 8060

CNC 8065

(R EF : 1901)

·353·

20.

Programming manual.

20.3

Select a kinematics (#KIN ID).

The manufacturer can set up to 6 kinematics for the machine each one indicating the type of spindle or table, its characteristics and dimensions. Usually, the OEM defines the kinematics number being used by default by means of general machine parameter KINID.

To work with coordinate transformation, the kinematics being used must be indicated. If several kinematics have been defined, it is possible to activate the desired one via partprogram using the instruction #KIN ID. If there is only one and it has been set as the default kinematics, there is no need to program this instruction.

Programming.

When defining this instruction, define the number of the kinematics to activate out of the possible 6.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets.

#KIN ID [{kin}]

{kin} Kinematics number (between 0 and 6). A value of 0 deactivates the kinematics.

#KIN ID [2]

(Activate kinematics number 2)

Deactivating the kinematics.

Programming the #KIN ID instruction with a 0 value deactivates the active kinematics.

#KIN ID [0]

(Deactivate active kinematics)

Considerations.

• Functions #RTCP, #TLC and #TOOL ORI must always be activated after selecting a kinematics.

N50 #KIN ID [2]

(Activate kinematics number 2)

N60 #RTCP ON

(Activate RTCP transformation with kinematics 2)

.

.

N70 #RTCP OFF

(Turn RTCP off)

N80 M30

• The kinematics cannot be changed while function #RTCP or #TLC is active.

CNC 8060

CNC 8065

(R EF : 1901)

·354·

Programming manual.

20.4

Coordinate systems (#CS / #ACS).

There are two different types of coordinate systems, namely the machining coordinate system and the fixture coordinate system. Each one is handled with its associated instruction.

#CS

#ACS

With the #CS instruction, up to 5 machining coordinate systems may be defined, stored, activated and deactivated.

With the #ACS instruction, up to 5 fixture coordinate systems may be defined, stored, activated and deactivated. This system is used to compensate for workpiece inclination due to the fixtures used to secure them.

Both instructions use the same programming format and may be used independently or combined as indicated in the following sections.

Several #ACS and #CS coordinate systems may be combined. When activating a new one,

it is added to the current coordinate system. See "20.4.8 How to combine several coordinate systems." on page 368.

It is recommended to start the program with #CS NEW or #ACS NEW to avoid undesired planes. This happens, for example, after interrupting the program and resuming execution.

Programming.

Both instructions (#CS and #ACS) use the same programming format. There are various programming formats depending on the operations to carry out with the coordinate systems; define, activate, save, cancel and delete.

In EDISIMU mode, the user can access an editor that makes programming inclined planes easier using the instructions #CS and #ACS. See the operating manual for further information on the editor of inclined planes.

Programming format.

The general programming format is the following; later on in this chapter, there is a more detailed description of the different formats for each operation. See "Detailed programing." on page 356.

#CS <DEF/ON/NEW/OFF> <ALL> <ACT> [{nb}] [MODE {mode}, {V1}, {V2}, {V3},

{  1}, {  2}, {  3}, <{align}>, <FIRST/SECOND>]

#ACS <DEF/ON/NEW/OFF> <ALL> <ACT> [{nb}] [MODE {mode}, {V1}, {V2}, {V3},

{  1}, {  2}, {  3}, <{align}>, <FIRST/SECOND> <SOL2>]

DEF/ON/

NEW/OFF

Operation to be carried out.

DEF: Define and save a coordinate system.

ON: Define, save and activate a coordinate system.

NEW: Cancel and delete all coordinate systems.

OFF: Cancel a coordinate system.

ACT Together with the DEF command, it assumes and saves the current coordinate system.

ALL

{nb}

Together with the ALL command, cancels all coordinate systems.

Number of the coordinate system (from 1 to 5).

MODE {mode} Definition mode (from 1 to 6).

{V1}...{V3}

{  1}...{  3}

{align}

KEEP

Components of the translation vector.

Rotation angles.

Optional. Plane alignment (value 0/1). Only in modes 3, 4 and 5.

Optional. Command to maintain the part zero when canceling the coordinate system.

FIRST/SECOND Optional. Command to define the orientation of the axes. Only in mode 6.

<SOL2> Optional. On Huron type spindles, use the second solution to orient the spindle; if not programmed, use the first one.

20.

CNC 8060

CNC 8065

(R EF : 1901)

·355·

20.

CNC 8060

CNC 8065

(R EF : 1901)

·356·

Programming manual.

Definition mode.

The MODE definition mode sets the order in which the axes rotate to reach the desired plane.

In some cases, the resolution of the plane presents two solutions; the selection is carried out defining which axis of the coordinate system stays aligned with the plane.

Maintain the part zero when canceling the coordinate system.

Turning a transformation off, if not defined otherwise, restores the part zero that was defined before activating the inclined plane. To maintain the current part zero, the one defined with the coordinate system, program the command KEEP. This command is only admitted in instructions that deactivate a coordinate system.

45º spindles (Huron type).

Huron type spindles have two solutions for orienting the tool perpendicular to the new work plane. For this type of spindles, it is possible to select which one of the two solutions is to

be applied (SOL2 command). See "20.4.7 Operation with 45º spindles (Huron type)." on page 366.

Detailed programing.

Here are all the possible programming formats; the list of arguments appears between curly brackets and the optional ones between angle brackets.

Format to define and save (without activating) a coordinate system.

If the coordinate system has already been defined earlier, these instructions will redefine it.

#CS DEF [{nb}] [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>,

<FIRST/SECOND>]

#ACS DEF [{nb}] [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>,

<FIRST/SECOND>]

{nb} Number of the coordinate system (from 1 to 5).

MODE {mode} Definition mode (from 1 to 6).

{V1}...{V3}

{  1}...{  3}

Components of the translation vector.

Rotation angles.

{align} Optional. Plane alignment (value 0/1). Only in modes 3, 4 and 5.

FIRST/SECOND Optional. Command to define the orientation of the axes. Only in mode 6.

#CS DEF [2] [MODE 1,0,15,5,30,15,4.5]

(Defines and saves a new coordinate system as CS2)

#CS DEF [3] [MODE 3,0,15,5,30,15,4.5,1]

(Defines and saves a new coordinate system as CS3)

#CS DEF [4] [MODE 6,20,105,50,30,FIRST]

(Defines and saves a new coordinate system as CS4)

Format to define, save and activate a coordinate system.

#CS ON [{nb}] [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>,

<FIRST/SECOND>]

#ACS ON [{nb}] [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>,

<FIRST/SECOND>]

{nb} Number of the coordinate system (from 1 to 5).

MODE {mode} Definition mode (from 1 to 6).

{V1}...{V3}

{  1}...{  3}

{align}

Components of the translation vector.

Rotation angles.

Optional. Plane alignment (value 0/1). Only in modes 3, 4 and 5.

FIRST/SECOND Optional. Command to define the orientation of the axes. Only in mode 6.

#CS ON [2] [MODE 1,0,15,5,30,15,4.5]

(Defines, saves and activates a new coordinate system as CS2)

Programming manual.

Format to define and activate (without saving) a coordinate system.

Only one of them may be defined; to define another one, the previous one must be canceled.

The coordinate system may be used, until canceled, as any other coordinate system saved in memory.

#CS ON [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>,

<FIRST/SECOND>]

#ACS ON [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>,

<FIRST/SECOND>]

MODE {mode} Definition mode (from 1 to 6).

{V1}...{V3}

{  1}...{  3}

{align}

Components of the translation vector.

Rotation angles.

Optional. Plane alignment (value 0/1). Only in modes 3, 4 and 5.

FIRST/SECOND Optional. Command to define the orientation of the axes. Only in mode 6.

#CS ON [MODE 1,0,15,5,30,15,4.5]

(Defines and activates a new coordinate system)

Format to deactivate and delete all current coordinate systems and define, save and activate a new one.

#CS NEW <KEEP> [{nb}] [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3},

<{align}>, <FIRST/SECOND>]

#ACS NEW <KEEP> [{nb}] [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3},

<{align}>, <FIRST/SECOND>]

{nb} Number of the coordinate system (from 1 to 5).

MODE {mode} Definition mode (from 1 to 6).

{V1}...{V3}

{  1}...{  3}

{align}

Components of the translation vector.

Rotation angles.

Optional. Plane alignment (value 0/1). Only in modes 3, 4 and 5.

KEEP Optional. Command to define whether the part zero defined in the coordinate system will be maintained (kept) or not when canceling the coordinate system.

FIRST/SECOND Optional. Command to define the orientation of the axes. Only in mode 6.

#CS NEW KEEP [2] [MODE 1,0,15,5,30,15,4.5]

(Cancels and deletes all coordinate systems)

(Defines, saves and activates a new coordinate system as CS2)

(Keeps the part zero)

Format to cancel and delete all current coordinate systems and define and activate a new one (without saving).

#CS NEW <KEEP> [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>,

<FIRST/SECOND>]

#ACS NEW <KEEP> [MODE {mode}, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>,

<FIRST/SECOND>]

MODE {mode}

{V1}...{V3}

{  1}...{  3}

{align}

KEEP

FIRST/SECOND

Definition mode (from 1 to 6).

Components of the translation vector.

Rotation angles.

Optional. Plane alignment (value 0/1). Only in modes 3, 4 and 5.

Optional. Command to define whether the part zero defined in the coordinate system will be maintained (kept) or not when canceling the coordinate system.

Optional. Command to define the orientation of the axes. Only in mode 6.

#CS NEW [2] [MODE 1,0,15,5,30,15,4.5]

(Cancels and deletes all coordinate systems)

(Defines and activates a new coordinate system)

20.

CNC 8060

CNC 8065

(R EF : 1901)

·357·

20.

CNC 8060

CNC 8065

(R EF : 1901)

·358·

Programming manual.

Format to assume and save the current coordinate system.

#CS DEF ACT [{nb}]

#ACS DEF ACT [{nb}]

{nb} Number of the coordinate system (from 1 to 5).

#CS DEF ACT [2]

(Assumes and saves a new coordinate system as CS2)

Format to activate a saved coordinate system.

#CS ON [{nb}]

#ACS ON [{nb}]

{nb} Number of the coordinate system (from 1 to 5).

#CS ON [2]

(Activates the CS2 coordinate system)

Format to activate the coordinate system saved last.

#CS ON

#ACS ON

#CS ON

(Activates the coordinate system saved last)

Format to cancel the coordinate system activated last.

#CS OFF <KEEP>

#ACS OFF <KEEP>

KEEP Optional. Command to define whether the part zero defined in the coordinate system will be maintained (kept) or not when canceling the coordinate system.

#CS OFF

(Cancels the coordinate system activated last)

#CS OFF KEEP

(Cancels the coordinate system activated last)

(Keeps the part zero)

Format to cancel all the active coordinate systems.

#CS OFF ALL

#ACS OFF ALL

#CS OFF ALL

(Cancels all active coordinate systems)

The coordinate systems and part zero.

The origin of the coordinate system is referred to the current part zero. While a CS or ACS coordinate system is active, new part zeros may be preset in the inclined plane.

Deactivating a inclined plane, if not defined otherwise, restores the part zero that was defined before activating the inclined plane. Optionally, it is possible to define whether to keep or not the current part zero.

Sometimes, it could happen that when activating a CS or a ACS coordinate system saved earlier, the coordinate origin of the plane may not be desired one. This happens if the part zero is modified between the definition and the application of the coordinate system.

Considerations for the two functions.

Both coordinate systems, (#CS and #ACS) are kept active after a Reset or after executing an M02 or M30. On power-up, the CNC either keeps or cancels the coordinate system according to the setting of machine parameter CSCANCEL.

Programming manual.

20.4.1 Define a coordinate system (MODE1).

Both instructions use the same programming format and may be used together or separately.

#CS DEF [{n}] [MODE 1, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}]

#ACS DEF [{n}] [MODE 1, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}]

This mode defines an inclined plane as a result from rotating the amounts indicated in  1,

 2,  3 first around the first axis, then around the second axis and finally around the third axis respectively.

V1, V2, V3 Components of the translation vector.

Coordinate origin of the inclined plane with respect to the current part zero.

20.

 1,  2,  3 Rotation angles to build the inclined plane.

First, rotate around the (X) axis the amount indicated by  1. In the figure, the new coordinate system resulting from this transformation is called X Y' Z' because the Y, Z axes have been rotated.

Then, rotate around the 2nd axis (Y'), the amount indicated by  2. In the figure, the new coordinate system resulting from this transformation is called X' Y' Z'' because the X, Z axes have been rotated.

And last, rotate around the third axis (Z''), the amount indicated by  3.

CNC 8060

CNC 8065

(R EF : 1901)

·359·

20.

Programming manual.

20.4.2 Define a coordinate system (MODE2).

Both instructions use the same programming format and may be used together or separately.

#CS DEF [{n}] [MODE 2, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}]

#ACS DEF [{n}] [MODE 2, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}]

This mode defines, in spherical coordinates, an inclined plane as a result from rotating the amounts indicated in  1,  2,  3 respectively first around the third axis, then around the second axis and then again around the third axis respectively.

V1, V2, V3 Components of the translation vector.

Coordinate origin of the inclined plane with respect to the current part zero.

 1,  2,  3 Rotation angles to build the inclined plane.

First rotate around the third axis (Z), the amount indicated by  1. In the figure, the new coordinate system resulting from this transformation is called X' Y' Z because the X, Y axes have been rotated.

Then, rotate around the 2nd axis (Y'), the amount indicated by  2. In the figure, the new coordinate system resulting from this transformation is called X'' Y' Z' because the X, Z axes have been rotated.

CNC 8060

CNC 8065

(R EF : 1901)

·360·

And last, rotate around the third axis (Z'), the amount indicated by  3.

Programming manual.

20.4.3 Define a coordinate system (MODE3).

Both instructions use the same programming format and may be used together or separately.

#CS DEF [{n}] [MODE 3, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>]

#ACS DEF [{n}] [MODE 3, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>]

In this mode, the inclined plane is defined by the angles formed by the plane with respect to the first and second axes (X Y) of the machine coordinate system.

V1, V2, V3 Components of the translation vector.

Coordinate origin of the inclined plane with respect to the current part zero.

20.

 1,  2 Angles of the plane.

Angles that the inclined plane forms with the 1st and 2nd axes (X Y) of the machine coordinate system.

 1

 2

Angle of the plane with the first axis (X).

Angle of the plane with the second axis (Y).

{align} Plane alignment (value 0/1).

This argument defines which of the axes of the new plane (X' Y') is aligned with the edge.

If not programmed, it assumes 0.

{align} = 0

{align} = 1

Alignment of the X' axis.

Alignment of the Y' axis.

 3 Coordinate (pattern) rotation.

This argument permits defining and applying a coordinate rotation in the new Cartesian plane

X' Y'.

CNC 8060

CNC 8065

(R EF : 1901)

·361·

20.

Programming manual.

20.4.4 Define a coordinate system (MODE4).

Both instructions use the same programming format and may be used together or separately.

#CS DEF [{n}] [MODE 4, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>]

#ACS DEF [{n}] [MODE 4, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>]

In this mode, the inclined plane is defined by the angles formed by the plane with respect to the first and third axes (X Z) of the machine coordinate system.

V1, V2, V3 Components of the translation vector.

Coordinate origin of the inclined plane with respect to the current part zero.

 1,  2 Angles of the plane.

Angles that the inclined plane forms with the 1st and 3rd axes (X Z) of the machine coordinate system.

 1

 2

Angle of the plane with the first axis (X).

Angle of the plane with the third axis (Z).

{align} Plane alignment (value 0/1).

This argument defines which of the axes of the new plane (X' Y') is aligned with the edge.

If not programmed, it assumes 0.

{align} = 0

{align} = 1

Alignment of the X' axis.

Alignment of the Y' axis.

CNC 8060

CNC 8065

(R EF : 1901)

·362·

 3 Coordinate (pattern) rotation.

This argument permits defining and applying a coordinate rotation in the new Cartesian plane

X' Y'.

Programming manual.

20.4.5 Define a coordinate system (MODE5).

Both instructions use the same programming format and may be used together or separately.

#CS DEF [{n}] [MODE 5, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>]

#ACS DEF [{n}] [MODE 5, {V1}, {V2}, {V3}, {  1}, {  2}, {  3}, <{align}>]

In this mode, the inclined plane is defined by the angles formed by the plane with respect to the second and third axes (Y Z) of the machine coordinate system.

V1, V2, V3 Components of the translation vector.

Coordinate origin of the inclined plane with respect to the current part zero.

20.

 1,  2 Angles of the plane.

Angles that the inclined plane forms with the 2nd and 3rd axes (Y Z) of the machine coordinate system.

 1

 2

Angle of the plane with the second axis (Y).

Angle of the plane with the second axis (Y).

{align} Plane alignment (value 0/1).

This argument defines which of the axes of the new plane (X' Y') is aligned with the edge.

If not programmed, it assumes 0.

{align} = 0

{align} = 1

Alignment of the X' axis.

Alignment of the Y' axis.

 3 Coordinate (pattern) rotation.

This argument permits defining and applying a coordinate rotation in the new Cartesian plane

X' Y'.

CNC 8060

CNC 8065

(R EF : 1901)

·363·

20.

Programming manual.

20.4.6 Define a coordinate system (MODE6).

i In order to use this definition, while setting up the machine, the tool position when it is parallel to the

Z axis of the machine must be set as the spindle's rest position.

Both instructions use the same programming format and may be used together or separately.

#CS DEF [{n}] [MODE 6, {V1}, {V2}, {V3}, {  1}, <FIRST/SECOND>]

#ACS DEF [{n}] [MODE 6, {V1}, {V2}, {V3}, {  1}, <FIRST/SECOND>]

This mode defines a new work plane (inclined plane) perpendicular to the direction of the tool. The new work plane assumes the orientation of the tool's coordinate system.

On this machine, only the main rotary axis has rotated. See the rest position of the spindle at the top right side.

CNC 8060

CNC 8065

(R EF : 1901)

·364·

On the contrary, on this machine, to achieve the same tool orientation, both the main and secondary rotary axes have rotated. See the rest position of the spindle at the top right side.

The main axis has rotated 90º and, therefore, the X' Y' axes of the plane are rotated 90º.

If on the machine, we wanted to orient the X', Y' axes like in the previous case, we would have to program the following:

#CS DEF [{n}] [MODE 6, {V1}, {V2}, {V3}, -90]

Programming manual.

V1, V2, V3 Components of the translation vector.

Coordinate origin of the inclined plane with respect to the current part zero.

 1 Coordinate (pattern) rotation.

This argument permits defining and applying a coordinate rotation in the new Cartesian plane

X' Y'.

<FIRST/SECOND> Plane alignment.

When defining the inclined plane perpendicular to the tool, the third axis of the plane is fully defined with the tool orientation. On the other hand, the location of the first and second axes of the new plane depends on the type of spindle; being 45º spindles, it is hard to predict.

Depending on the programmed option, it behaves as follow.

• When programming the FIRST command, the projection of the new first axis of the inclined plane is oriented with the first axis of the machine.

• When programming the SECOND command, the projection of the new second axis of the inclined plane is oriented with the second axis of the machine.

• If none of them is programmed, it is impossible to determine the orientation of the axes in advance, it will depend on the type of spindle.

20.

CNC 8060

CNC 8065

(R EF : 1901)

·365·

20.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

20.4.7 Operation with 45º spindles (Huron type).

Huron type spindles have two solutions for orienting the tool perpendicular to the new work plane.

• The first solution is the one that involves the smallest movement of the main rotary axis

(the articulation closest to the ram or furthest away from the tool) referred to the zero position.

• The second solution is the one that involves the largest movement of the main rotary axis referred to the zero position.

The selected solution will be applied to calculate the offsets of the spindle and for the instruction #

TOOL ORI

, placing the tool perpendicular to the work plane. See "20.5 Tool perpendicular to the inclined plane (#TOOL ORI)." on page 370.

Selecting one of the solutions to orient the spindle.

When defining a new coordinate system, it is possible to select which one of the two solutions to be applied. For this type of spindles, if the command SOL2 is programmed together with the instruction #CS or #ACS, the CNC applies the second solution; otherwise, if nothing is programmed, the CNC applies the first solution.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets.

#CS DEF [{n}] [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

#CS ON [{n}] [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

#CS ON [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

#CS NEW [{n}] [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

#CS NEW [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

#ACS DEF [{n}] [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

#ACS ON [{n}] [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

#ACS ON [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

#ACS NEW [{n}] [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

#ACS NEW [MODE {mode},{V1},{V2},{V3},{  1},{  2},{  3},<{align}>,<SOL2>]

Consulting the position for each axis to occupy.

The position for each rotary axis to be perpendicular to the inclined plane may be consulted in the following variables. The CNC updates these variables every time a new plane is selected, using the instruction #CS or #ACS.

Variables for the first solution.

Variables.

V.G.TOOLORIF1

V.G.TOOLORIS1

V.G.TOOLORIT1

V.G.TOOLORIO1

Meaning.

Position (machine coordinates) of the first rotary axis.

Position (machine coordinates) of the second rotary axis.

Position (machine coordinates) of the third rotary axis.

Position (machine coordinates) of the fourth rotary axis.

Variables for the second solution.

Variables.

V.G.TOOLORIF2

V.G.TOOLORIS2

V.G.TOOLORIT2

V.G.TOOLORIO2

Meaning.

Position (machine coordinates) of the first rotary axis.

Position (machine coordinates) of the second rotary axis.

Position (machine coordinates) of the third rotary axis.

Position (machine coordinates) of the fourth rotary axis.

·366·

Programming manual.

In order that the tool is perpendicular to the defined plane, the positioning must be performed using machine coordinates (#MCS), since the CNC provides the solution in machine coordinates, or by using the instruction #TOOL ORI and the movement of an axis.

Option 1.

Option 2.

Movement in machine dimensions with the given solution.

#MCS ON

G01B[V.G.TOOLORIF1] C[V.G.TOOLORIS1] F1720

#MCS OFF

Orientate the work plane so that it is perpendicular to the tool for the next movement after #TOOL ORI.

#TOOL ORI

G01 X0 Y0 Z40

20.

CNC 8060

CNC 8065

(R EF : 1901)

·367·

20.

Programming manual.

20.4.8 How to combine several coordinate systems.

Up to 10 ACS and CS coordinate systems may be combined to build new coordinate systems. For example, the ACS coordinate system generated by a fixture on the part may be combined with the #CS coordinate system that defines the inclined plane of the part to be machined. When combining several coordinate systems, the CNC acts as follows.

1 First, the CNC checks the ACS and applies them sequentially in the programmed order, resulting in an ACS transformation.

2 Then, the CNC checks the CS and applies them sequentially in the programmed order, resulting in a CS transformation.

3 And last, the CNC applies the resulting CS onto the ACS to obtain the new coordinate system.

The result of the combination depends on the order they are activated as may be observed in the figure below.

CNC 8060

CNC 8065

(R EF : 1901)

·368·

Every time a #ACS or #CS is activated, the resulting coordinate system is recalculated as can be observed in the figure below.

Programming manual.

The #ACS OFF and #CS OFF instructions deactivate the last #ACS or #CS activated, respectively.

N100 #CS ON [1]

(CS[1])

N110 #ACS ON [2]

(ACS[2] + CS[1])

N120 #ACS ON [1]

(ACS[2] + ACS[1] + CS[1])

N130 #CS ON [2]

(ACS[2] + ACS[1] + CS[1] + CS[2])

N140 #ACS OFF

(ACS[2] + CS[1] + CS[2])

N140 #CS OFF

(ACS[2] + CS[1])

N150 #CS ON [3]

(ACS[2] + CS[1] + CS[3])

N160 #ACS OFF ALL

(CS[1] + CS[3])

N170 #CS OFF ALL

M30

A #ACS or #CS coordinate system may be activated several time.

20.

The figure below shows an example of the instruction #CS DEF ACT [n] to assume and store the current coordinate system as a #CS.

CNC 8060

CNC 8065

(R EF : 1901)

·369·

20.

Programming manual.

20.5

Tool perpendicular to the inclined plane (#TOOL ORI).

The #TOOL ORI instruction is used to position the tool perpendicular to the active inclined plane. After executing this instruction, the tool is positioned perpendicular to the inclined plane, parallel to the third axis of the active coordinate system at the first motion programmed next.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#TOOL ORI

#TOOL ORI

(Tool perpendicular to the inclined plane; request)

G1 X_ Y_ Z_

(Position at the defined point, with the tool perpendicular to the inclined plane)

CNC 8060

CNC 8065

(R EF : 1901)

·370·

Programming manual.

20.5.1 Programming examples.

#CS ON [1] [MODE 1, 0, 0, 20, 30, 0, 0]

(Define the inclined plane)

#TOOL ORI

(Tool perpendicular to the inclined plane; request)

G90 G90 G0 X60 Y20 Z3

(Position at point P1)

(The spindle orients perpendicular to the plane during this positioning move)

G1 G91 Z-13 F1000 M3

(Drilling)

G0 Z13

(Withdrawal)

G0 G90 X120 Y20

(Position at point P2)

G1 G91 Z-13 F1000

(Drilling)

G0 Z13

(Withdrawal)

G0 G90 X120 Y120

(Position at point P3)

G1 G91 Z-13 F1000

(Drilling)

G0 Z13

(Withdrawal)

G0 G90 X60 Y120

(Position at point P4)

G1 G91 Z-13 F1000

(Drilling)

G0 Z13

(Withdrawal)

M30

20.

CNC 8060

CNC 8065

(R EF : 1901)

·371·

Programming manual.

The following example shows how to drill three holes with different inclination in the same plane:

20.

CNC 8060

CNC 8065

(R EF : 1901)

·372·

#CS ON [1] [MODE .....]

(Define the inclined plane)

#TOOL ORI

(Tool perpendicular to the inclined plane; request)

G1 G90 X{P1} Y{P1} Z{P1+5}

(Movement to point P1)

(The spindle orients perpendicular to the plane during this positioning move)

G1 G91 Z-13 F1000 M3

(Drilling)

G1 Z13

(Withdrawal)

G1 X{P2} Y{P2}

(Movement to point P2)

G90 B0

(Orient to the tool in the machine coordinate system)

#MCS ON

(Programming in machine coordinates)

G1 G91 Z-13 F1000

(Drilling)

G1 Z13

(Withdrawal)

#MCS OFF

(End of programming in machine coordinates)

(Restore the coordinate system of the plane)

G1 X{P3} Y{P3}

(Movement to point P3)

G90 B-100

(Positions the tool at 100º)

#CS OFF

#CS ON [2] [MODE6 .....]

(Define the inclined plane perpendicular to the tool)

G1 G91 Z-13 F1000

(Drilling)

G1 Z30

(Withdrawal)

#CS OFF

M30

Programming manual.

20.6

Using RTCP (Rotating Tool Center Point).

The RTCP represents a length compensation in space. The RTCP orientation of the tool may be changed without modifying the position occupied by its tip on the part. Obviously, the CNC must move several axes in order to maintain the tool tip position at all times.

20.

This figure shows what happens when turning the spindle while RTCP is active.

The figure below shows what happens when turning the spindle while RTCP is not active.

Once RTCP transformation is active, spindle positioning may be combined with linear and circular interpolations.

Programming. Turn RTCP on.

'This instruction must be programmed alone in the block'

Programming format.

The programming format is:

#RTCP ON

#RTCP ON

Programming. Turn RTCP transformation off.

'This instruction must be programmed alone in the block'

Programming format.

The programming format is:

#RTCP OFF

#RTCP OFF

Function properties.

The RTCP transformation is kept active even after executing M02 or M30, after an emergency or a reset and after turning the CNC off.

CNC 8060

CNC 8065

(R EF : 1901)

·373·

20.

Programming manual.

Considerations about the RTCP transformation.

• In order to work with RTCP transformation, the first three axes of the channel (for example

X, Y, Z) must be defined, they must form a trihedron and be linear. These axes may be

GANTRY axes.

• Being RTCP transformation active, it is possible to apply zero offsets (G54-G59, G159) and preset coordinates (G92).

• Being RTCP transformation active, it is possible to carry out movements in continuous job, incremental jog and handwheel mode.

• RTCP transformation being active, the CNC only allows home search (G74) on the axes not involved in RTCP .

• The RTCP transformation cannot be selected while the TLC compensation is active.

• RTCP transformation being active, the CNC does not allow modifying the active kinematics (#KIN ID).

• RTCP transformation being active, the CNC does not allow modifying the software limits

(G198/G199).

Recommended programming order.

When working with inclined planes and RTCP transformation, it is recommended to follow this programming order (sequence). RTCP should be turned on first because it allows orienting the tool without modifying the tool tip position.

#RTCP ON

(Turn RTCP on)

#CS ON

(Activate the inclined plane)

#TOOL ORI

(Position the tool perpendicular to the plane)

G_ X_ Y_ Z_

·

·

·

(Machine on the inclined plane)

#CS OFF

(Cancel the inclined plane)

#RTCP OFF

(Turn RTCP off)

M30

(End of part-program)

CNC 8060

CNC 8065

(R EF : 1901)

·374·

Programming manual.

20.6.1 Programming examples.

Example 1. Circular interpolation maintaining tool orientation.

• Block N20 selects the ZX plane (G18) and positions the tool at the starting point (30,90).

• Block N21 turns RTCP on.

• Block N22 contains a movement to point (100,20) and a tool orientation from 0º to -60º.

The CNC interpolates the X, Z and B axes in such a way that the tool is being oriented along the movement.

• Block N23 makes a circular interpolation to point (170,90) maintaining the same tool orientation along the whole path.

• Block N24 contains a movement to point (170,120) and a tool orientation from -60º to

0º. The CNC interpolates the X, Z and B axes in such a way that the tool is being oriented along the movement.

• Block N25 turns RTCP off.

Example 2. Circular interpolation with tool perpendicular to its path.

20.

• Block N30 selects the ZX plane (G18) and positions the tool at the starting point (30,90).

• Block N31 turns RTCP on.

• Block N32 contains a movement to point (100,20) and a tool orientation from 0º to -90º.

The CNC interpolates the X, Z and B axes in such a way that the tool is being oriented along the movement.

• Block N33 contains a circular interpolation to point (170,90) maintaining the tool perpendicular to the path at all times.

• At the starting point, it is oriented to -90º and at the endpoint, it must end be 0º. The CNC interpolates the X, Z and B axes maintaining the tool perpendicular to its path at all times.

• Block N34 moves the tool to point (170,120) maintaining the orientation of 0º.

• Block N35 cancels RTCP.

CNC 8060

CNC 8065

(R EF : 1901)

·375·

Example 3. Machining a profile.

Programming manual.

20.

G18 G90

(Selects the ZX plane (G18))

#RTCP ON

(Turn RTCP on)

G01 X40 Z0 B0 F1000

(Position the tool at X40 Z0, oriented at 0º)

X100

(Movement to X100 with tool oriented at 0º)

B-35

(Orient the tool at -35º)

X200 Z70

B90

(Movement to X200 Z70 with tool oriented at -35º)

(Orient the tool to 90º)

G02 X270 Z0 R70 B0

Circular interpolation to X270 Z0) maintaining the tool perpendicular to the path)

G01 X340

(Movement to X340 with tool oriented at 0º)

#RTCP OFF

(Turn RTCP off)

CNC 8060

CNC 8065

(R EF : 1901)

·376·

Programming manual.

20.7

Correct the implicit tool length compensation of the program

(#TLC).

CAD-CAM programs take the tool length into consideration and generate the coordinates for the tool base. The instruction #TLC must be used with CAD-CAM generated programs and the CNC does not have a tool with the same dimensions. When using the #TLC function

(Tool Length Compensation) the CNC compensates the length difference between both tools, the actual (real) one and the theoretical (calculated) one. The #TLC compensates for the length difference; but it does not compensate for the radius difference.

Programming. Turn tool length compensation (TLC) on.

When defining this instruction, one must define the length difference between the real tool and the theoretical one used to write the program.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets.

#TLC ON [{long}]

{long} Tool length difference (real - theoretical).

#TLC ON [1.5]

(Turn on with a tool that is 1.5 mm longer)

#TLC ON [-2]

(Turn on with a tool that is 2 mm shorter)

Programming. Cancel tool length compensation (TLC off).

'This instruction must be programmed alone in the block'

Programming format.

The programming format is:

#TLC OFF

#TLC OFF

Considerations about the TLC.

• TLC compensation being active, the CNC only allows home search (G74) on the axes not involved in TLC.

• TLC cannot be selected while the RTCP transformation is active.

• TLC compensation being active, the CNC does not allow modifying the active kinematics

(#KIN ID).

• TLC compensation being active, the CNC does not allow modifying the software limits

(G198/G199).

20.

CNC 8060

CNC 8065

(R EF : 1901)

·377·

20.

Programming manual.

20.8

How to withdraw the tool when losing the plane.

If the CNC is turned off and back on while working with kinematics, the work plane that was selected gets lost. If the tool is inside the part, proceed as follows to withdraw it:

1 Use the #KIN ID [n] instruction to select the kinematics that was being used.

2 Use the coordinate system definition MODE6 so the CNC selects a plane perpendicular to the direction of the tool as the work plane.

#CS ON [n] [MODE 6, 0, 0, 0, 0]

3 Move the tool along the longitudinal axis until it is away from the part. This movement may be made in jog mode or by program, for example, G0 G91 Z20.

CNC 8060

CNC 8065

(R EF : 1901)

·378·

Programming manual.

20.9

Tool orientation in the part coordinate system.

20.9.1

Activate tool orientation in the part coordinate system.

Currently at the CNC, in order to orient the tool considering an active kinematics, one has to program the angles of the rotary axes (the position that those axes take). With this instruction, it is possible to add the defined orientation due to the inclined plane to the tool orientation defined in the program; in other words, to refer the tool orientation to either the machine coordinate system or to the part coordinate system (#CS/#ACS) defined with the inclined plane.

Usually, the axis orienting process provides two possible solution in the positioning of the rotary axes for a particular tool orientation. The CNC applies the one resulting in the shortest distance with respect to the current position. If a little change in the programmed angle results in a huge change of angle due to the inclined plane, it is possible to define different actions depending on the angle (instruction #DEFROT).

Programming.

When defining this instruction, there is an option to set when the CNC orients the tool.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets. Programming the ON command is optional.

#CSROT <ON>

#CSROT <ON> [ROTATE]

#CSROT

#CSROT ON

#CSROT [ROTATE]

#CSROT ON [ROTATE]

ROTATE command.

Using the ROTATE command, the CNC orients the tool in the new coordinate system together with the first motion block, even if the rotary axes have not been programmed. If the ROTATE option is not programmed, the CNC orients the tool together with the first motion block where the rotary axes have been programmed.

Considerations.

Once activated, this instruction stays active until an M02 or M30 is executed, after a reset or it is canceled (#CSROT OFF).

20.

CNC 8060

CNC 8065

(R EF : 1901)

·379·

20.

Programming manual.

20.9.2 Cancel tool orientation in the part coordinate system.

The instruction #CSROT OFF cancels the programming of the rotary axes in the active

ACS/CS coordinate system and, therefore, activates the programming of those axes in the machine coordinate system.

After executing an M30 and after a reset, it also cancels the programming of the rotary axes of the kinematics in the part coordinate system.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#CSROT OFF

#CSROT OFF

CNC 8060

CNC 8065

(R EF : 1901)

·380·

Programming manual.

20.9.3 How to manage the discontinuities in the orientation of rotary axes.

Usually, the axis orienting process provides two possible solution in the positioning of the rotary axes for a particular tool orientation. The CNC applies the one resulting in the shortest distance with respect to the current position.

A discontinuity means that a little change in the programmed angle results in a huge change of angle on the rotary axes due to the inclined plane. When the CNC detects a discontinuity, the instruction #DEFROT defines what the CNC must do depending on the angle difference between the one programmed and the one calculated.

Programming.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets.

#DEFROT [<{action},><{criterion},><Q{angle}>]

{action} Optional. CNC action when it detects a discontinuity.

{criterion}

Q{angle}

Optional. Criterion to solve the discontinuity.

Optional. Comparison angle.

#DEFROT

#DEFROT [ERROR, Q5]

#DEFROT [WARNING, DNEGF, Q10]

#DEFROT [NONE, LOWF]

The CNC admits programing any combination of the three parameters (a minimum of one and a maximum of three), maintaining the order.

CNC action when it detects a discontinuity.

These values define what the CNC must do when it detects a discontinuity.

Command.

ERROR

WARNING

NONE

Meaning.

Show an error and interrupt the execution.

Show a warning and interrupt the execution.

The CNC displays a screen for the user to choose the solution to be applied, either the solution programmed in the instruction (the {criterion} argument) or the second solution.

Ignore the discontinuity and resume program execution.

The CNC applies the solution programmed in the instruction (argument

{criterion}), without showing to the user the screen to choose a solution. If no criterion has been programmed, the CNC applies the last one active.

If not programmed, the CNC assumes the last value programmed. After executing an M30 and after a reset, the CNC assumes the WARNING value (show a warning and interrupt the execution).

20.

CNC 8060

CNC 8065

(R EF : 1901)

·381·

20.

Programming manual.

Criterion to solve the discontinuity.

The possible criteria are:

Command.

LOWF

LOWS

DPOSF

DPOSS

DNEGF

DNEGS

VPOSF

VPOSS

VNEGF

VNEGS

Meaning.

The shortest way for the main rotary axis, then the secondary axis.

The shortest way for the secondary rotary axis, then the main axis.

Positive direction of the main rotary axis.

Positive direction of the secondary rotary axis.

Negative direction of the main rotary axis.

Negative direction of the secondary rotary axis.

Positive value of the main rotary axis.

Positive value of the secondary rotary axis.

Negative value of the main rotary axis.

Negative value of the secondary rotary axis.

If not programmed, the CNC assumes the last value programmed. After executing an M30 and after a reset, the CNC assumes the LOWF value (the shortest distance for the main rotary axis and then secondary axis).

Comparison angle.

This value indicates the maximum travel difference between the programmed angle and the calculated angle, from which the actions and criteria are applied to choose the solution.

If not programmed, the CNC assumes the last value programmed. After executing an M30 and after a reset, the assumes the value of 5º.

CNC 8060

CNC 8065

(R EF : 1901)

·382·

Programming manual.

20.9.4 Screen for choosing the desired solution.

When the instruction #CSROT is programmed with the WARNING option (show a warning and interrupt the execution) the CNC shows the following screen for the user to choose the solution to be applied, both for the beginning of the block and for the end. The screen offers the two solution calculated by the CNC, plus a third one that lets program the posiion of the rotary axes on the screen itself. The position of the axes is given in machine coordinates.

20.

A

B

(A)Solution for the position of the axes at the beginning of the block.

(B)Solution for the position of the axes at the end of the block.

By default, the CNC suggests one solution. If the user chooses the solution suggested by the CNC, it resumes execution. If the user chooses a solution other than the one suggested by the CNC, it goes into tool inspection to reposition the axes.

Once in tool inspection, the process will be as follows.

1 Move the tool away from the part by moving the linear axes or the virtual tool axis if it is active.

2 Orient the rotary axes of the kinematics.

3 Reposition the tool by moving the linear axes or the virtual tool axis if it is active.

CNC 8060

CNC 8065

(R EF : 1901)

·383·

20.

CNC 8060

CNC 8065

Programming manual.

20.9.5 Execution example. Selecting a solution.

The example assumes a CB spindle type kinematics. The starting program will be a circle in the XZ plane.

N1 X.. Y.. Z.. C0 B0

N2 X.. Y.. Z.. C0 B10

N3 X.. Y.. Z.. C0 B20

N4 X.. Y.. Z.. C0 B30

N5 X.. Y.. Z.. C0 B20

N6 X.. Y.. Z.. C0 B10

N7 X.. Y.. Z.. C0 B0

N8 X.. Y.. Z.. C0 B-10

N9 X.. Y.. Z.. C0 B-20

N10 X.. Y.. Z.. C0 B-30

And specifically for a circle with a radius of 10.

N1 X0 Z10 C0 B0

N2 X1.736 Z9.8480 C0 B10

N3 X3.420 Z9.3969 C0 B20

N4 X5 Z8.660 C0 B30

...

If the part rotates 90º with respect to the C axis, the result will be a circle in the YZ plane.

10

9

8

7

1

Z

2

6

10º

3

5

4

#CS NEW[MODE1,0,0,0,0,0,90]

; 90º rotation on the C axis.

#CSROT ON

N1 X0 Z10 C0 B0

N2 X1.736 Z9.8480 C0 B10

Discontinuity point.

; Solution 1: C90 B10.

; Solution 2: C-90 B-10.

N3 X3.420 Z9.3969 C0 B20

N4 X5 Z8.660 C0 B30

M30

Y

In block N2 there is a path discontinuity greater than 5º between what has been programmed and what has been calculated which is the default value for the angle that may be programmed in the instruction DEFROT. Depending on the criterion chosen, one may select solution 1 or 2 and from there on keep positioning in the rest of the blocks.

• With #DEFROT [DPOSF] (positive direction of the main axis), solution 1 is chosen and the resulting positioning of the rotary axes will be the following.

N2 C90 B10

N3 C90 B20

N4 C90 B30

• With #DEFROT [DNEF] (negative direction of the main axis), solution 2 is chosen and the resulting positioning of the rotary axes will be the following.

N2 C-90 B-10

N3 C-90 B-20

N4 C-90 B-30

If WARNING (issue a warning and generate a stop) is chosen when defining the criterion in #DEFROT, the CNC will select the solution according to the chosen criterion. The CNC will also display an interactive screen offering the option to change from one solution to another in that motion block, both in its starting orientation and in the final one.

(R EF : 1901)

·384·

Programming manual.

20.10 Selecting the rotary axes that position the tool in type-52 kinematics.

The instruction #SELECT ORI may be used to choose onto which rotary axes of the kinematics the tool orientation is calculated for a given direction on the work piece (part).

Kinematics 52 has at the most 2 rotary axes on the spindle and two rotary axes on the table, which means that there may be up to 4 rotary axes to orient the tool on the work piece.

Therefore, there are always several solutions when calculating the position of the rotary axes to orient the tool. The tool orientation on the work piece is calculated in the following instructions:

• #CS.

Define and select the machining coordinate system (Inclined plane).

• #ACS.

Define and select the fixture coordinate system.

• #TOOL ORI. Orient the tool perpendicular to the work plane.

• #CSROT.

Tool orientation in the part coordinate system.

Programming.

When defining this instruction, you must define the rotary axes involved in the position calculation.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets.

#SELECT ORI [{ROT1}, {ROT2}]

{ROT1} Rotary axis of the kinematics.

{ROT2} Rotary axis of the kinematics.

Both arguments are defined using the following commands; HEAD1 (first axis of the spindle),

HEAD2 (second axis of the spindle), TABLE1 (first axis of the table), TABLE2 (second axis of the table). Any programming sequence (order) is permitted.

#SELECT ORI [HEAD1, HEAD2]

Default value.

The tool orientation instructions work on the first and second axes of the spindle, leaving the table axis in their current position.

#SELECT ORI [HEAD1, TABLE1]

The tool orientation instructions work on the first axis of the spindle and the first axis of the table, leaving the other two rotary axes of the kinematics in their current position.

#SELECT ORI [HEAD2, TABLE1]

The tool orientation instructions work on the second axis of the spindle and the first axis of the table, leaving the other two rotary axes of the kinematics in their current position.

Considerations.

This instruction is modal. On power-up, after an M02 or M30 and after an EMERGENCY or a RESET, the instruction assumes its default value; #SELECT ORI [HEAD1, HEAD2].

20.

CNC 8060

CNC 8065

(R EF : 1901)

·385·

20.

Programming manual.

20.11 Transform the current part zero considering the position of the table kinematics.

On 7-axis kinematics (spindle-table) or 5-axis table kinematics, without coordinate system rotation, it may be necessary to get a part zero with the axes of the table in any position, to use it later on when activating the RTCP of the kinematics with the option to keep the part zero without coordinate system rotation.

The instruction #KINORG may be used to transform the active part zero into a new part zero that considers the position of the table. After executing this instruction, the following variables offer the values of the transformed part zero considering the position of the table.

Variable.

(V.)[ch.]G.KINORG1

(V.)[ch.]G.KINORG2

(V.)[ch.]G.KINORG3

Meaning.

Position of the part zero transformed by the instruction #KINORG, considering the table position, on the first axis of the channel.

Position of the part zero transformed by the instruction #KINORG, considering the table position, on the second axis of the channel.

Position of the part zero transformed by the instruction #KINORG, considering the table position, on the third axis of the channel.

Save the value of these variables in the zero offset table for later in order to have that part zero available and be able to activate it at any time.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#KINORG

#KINORG

CNC 8060

CNC 8065

(R EF : 1901)

·386·

Programming manual.

20.11.1 Process of saving a part zero with the table axes in any position.

The following steps are valid for the type-51 table kinematics, type-52 spindle-table kinematics and the standard tables with parameter TDATA17=1.

1 Activate the kinematics (#KIN ID [ ]).

2 If it is easier for measuring, in type-52 kinematics (table-spindle) it is possible to activate only the RTCP of the spindle side.

3 Position the rotary axes of the spindle in the desired position for measuring the part zero.

Make the measurement and activate the part zero at the desired point on X-Y-Z (G92).

4 From the current part zero and without moving the rotary axes of the table, calculate the variables referred to the part zero that consider the current position of the spindle and of the table (#KINORG).

5 At any time after executing #KINORG, save the calculated new part zero in the zero offset table.

V.A.ORGT[n].X = V.G.KINORG1

V.A.ORGT[n].Y = V.G.KINORG2

V.A.ORGT[n].Z = V.G.KINORG3

The necessary steps to activate and work with that part zero, with the spindle-table or table kinematics, without coordinate system rotation keeping the part zero are the following.

1 Activate the part zero where the values have been saved (G159 =n).

2 Activate the kinematics.

3 Activate the RTCP.

• Type-52 kinematics: Activate the full RTCP (TDATA52=0) and without coordinate system rotation (TDATA51=1).

• Type-51 kinematics: Activate the RTCP without coordinate system rotation

(TDATA31=1).

i The variable of the kinematics that are applied for each TDATA are the result of adding the value and the offset, defined in the machine parameter tables. The value is defined by the OEM and the offset is a value that may be modified by the user.

20.

CNC 8060

CNC 8065

(R EF : 1901)

·387·

20.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

20.11.2 Example to maintain the part zero without rotating the coordinate system.

The following example shows a possible sequence of steps so the measured part zero may be saved and restored after activating the RTCP with the option to maintain the part zero without rotating the coordinate system. The part zero may be activated with the rotary axes in any position, those of the spindle as well as those of the table.

The example uses a vectorial spindle-table type-52 kinematics on the third kinematics table.

The rotary axes of the spindle are A-B and the rotary axes of the table U-V.

1 Activate the kinematics.

#KIN ID [3]

2 Activate the RTCP only on the spindle side (optional). This option may be used to work easily considering the tool tip and moving the X-Y-Z axes aligned with respect to the machine axes.

V.G.OFTDATA3[52]=1

(Apply RTCP only to the spindle side)

#RTCP ON

3 Measure the reference point. Position the rotary axes of the spindle and table in the desired position for measuring the part zero on X-Y-Z.

A_ B_ U_ V_

X_ Y_ Z_

4 Activate the part zero at the desired point on X-Y-Z.

G92 X_ Y_ Z_

5 Transform the current part zero, without moving the rotary axes of the table into a new set of values that consider the table position.

#KINORG

6 Save the calculated values in to the zero offset table; for example, in G55 (G159=2).

V.A.ORGT[2].X = V.G.KINORG1

V.A.ORGT[2].Y = V.G.KINORG2

V.A.ORGT[2].Z = V.G.KINORG3

7 Move the axes to any position and keep doing all the desired processes .

To activate the RTCP maintaining the measured part zero and without rotating the coordinate system, with the rotary and linear axes in any position, follow these steps.

1 Cancel the RTCP, if it is active.

#RTCP OFF

2 Activate the kinematics if there is another one active.

#KIN ID [3]

3 Activate the part zero where the KINORG has been saved; in this case, G55.

G55

4 Activate the full RTCP, considering the spindle and the table and without rotating the coordinate system.

V.G.OFTDATA3[52]=0

(Apply full RTCP; table and spindle)

V.G.OFTDATA3[51]=1

(RTCP without rotation of the coordinate system)

#RTCP ON

·388·

Programming manual.

20.12 Summary of kinematics related variables.

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).

Variables related to the active kinematics.

Variables.

V.G.KINTYPE

V.G.NKINAX

V.G.SELECTORI

V.G.CSROTST

R/W Meaning.

R

R

R

R

Type of the active kinematics.

Number of axes of the active kinematics.

Rotary axes selected for positioning the tool (instruction #SELECT

ORI)

Status of the #CSROT function.

Variables related to the position of the rotary axes of kinematics (1).

These variables indicate the current position of the rotary axes of the kinematics.

Variables.

V.G.POSROTF

V.G.POSROTS

V.G.POSROTT

V.G.POSROTO

R/W Meaning.

R/W Current position of the first rotary axis of the kinematics.

R/W Current position of the second rotary axis of the kinematics.

R/W Current position of the third rotary axis of the kinematics.

R/W Current position of the fourth rotary axis of the kinematics.

Variables related to the position of the rotary axes of kinematics (2).

These variables that indicate the position the rotary axes of the kinematics must occupy in order for the tool to be perpendicular to the define inclined plane. These variables are very useful when the spindle is not fully motorized (mono-rotary or manual spindles). The CNC updates these variables every time a new plane is selected, using the instruction #CS or

#ACS.

Since there isn't a single solution for angular spindle, it offers two possible solutions; the one involving the smallest movement of the main rotary axis with respect to the zero position

(solution 1) and the one involving the greater movement of the main rotary axis with respect to the zero position (solution 2).

Variables.

V.G.TOOLORIF1

V.G.TOOLORIF2

V.G.TOOLORIS1

V.G.TOOLORIS2

V.G.TOOLORIT1

V.G.TOOLORIT2

V.G.TOOLORIO1

V.G.TOOLORIO2

R/W Meaning.

R Position (machine coordinates) to be occupied by the first rotary axis in order to position the tool perpendicular to the inclined plane, according to solution 1.

R

R

Position (machine coordinates) to be occupied by the first rotary axis in order to position the tool perpendicular to the inclined plane, according to solution 2.

Position (machine coordinates) to be occupied by the second rotary axis in order to position the tool perpendicular to the inclined plane, according to solution 1.

R

R

R

R

R

Position (machine coordinates) to be occupied by the second rotary axis in order to position the tool perpendicular to the inclined plane, according to solution 2.

Position (machine coordinates) to be occupied by the third rotary axis in order to position the tool perpendicular to the inclined plane, according to solution 1.

Position (machine coordinates) to be occupied by the third rotary axis in order to position the tool perpendicular to the inclined plane, according to solution 2.

Position (machine coordinates) to be occupied by the fourth rotary axis in order to position the tool perpendicular to the inclined plane, according to solution 1.

Position (machine coordinates) to be occupied by the fourth rotary axis in order to position the tool perpendicular to the inclined plane, according to solution 2.

20.

CNC 8060

CNC 8065

(R EF : 1901)

·389·

20.

CNC 8060

CNC 8065

(R EF : 1901)

·390·

Programming manual.

In order that the tool is perpendicular to the defined plane, the positioning must be performed using machine coordinates, since the CNC provides the solution in machine coordinates, or by using the instruction #TOOL ORI and the movement of an axis.

Option 1.

Option 2.

Movement in machine dimensions with the given solution.

#MCS ON

G01B[V.G.TOOLORIF1] C[V.G.TOOLORIS1] F1720

#MCS OFF

Orientate the work plane so that it is perpendicular to the tool for the next movement after #TOOL ORI.

#TOOL ORI

G01 X0 Y0 Z40

Variables related to the CSROT option (tool orientation in the part coordinate system).

Variables.

V.G.CSROTST

V.G.CSROTF1[1]

V.G.CSROTF1[2]

V.G.CSROTS1[1]

V.G.CSROTS1[2]

V.G.CSROTT1[1]

V.G.CSROTT1[2]

V.G.CSROTO1[1]

V.G.CSROTO1[2]

V.G.CSROTF2[1]

V.G.CSROTF2[2]

V.G.CSROTS2[1]

V.G.CSROTS2[2]

V.G.CSROTT2[1]

V.G.CSROTT2[2]

V.G.CSROTO2[1]

R/W Meaning.

R Status of the #CSROT function.

R

R

Position (machine coordinates) calculated for the first rotary axis of the kinematics at the beginning of the block, for solution 1 of the

#CSROT mode.

Position (machine coordinates) calculated for the first rotary axis of the kinematics at the end of the block, for solution 1 of the #CSROT mode.

R

R

R

R

Position (machine coordinates) calculated for the second rotary axis of the kinematics at the beginning of the block, for solution 1 of the

#CSROT mode.

Position (machine coordinates) calculated for the second rotary axis of the kinematics at the end of the block, for solution 1 of the #CSROT mode.

Position (machine coordinates) calculated for the third rotary axis of the kinematics at the beginning of the block, for solution 1 of the

#CSROT mode.

Position (machine coordinates) calculated for the third rotary axis of the kinematics at the end of the block, for solution 1 of the #CSROT mode.

R

R

R

R

R

R

R

R

R

Position (machine coordinates) calculated for the fourth rotary axis of the kinematics at the beginning of the block, for solution 1 of the

#CSROT mode.

Position (machine coordinates) calculated for the fourth rotary axis of the kinematics at the end of the block, for solution 1 of the #CSROT mode.

Position (machine coordinates) calculated for the first rotary axis of the kinematics at the beginning of the block, for solution 2 of the

#CSROT mode.

Position (machine coordinates) calculated for the first rotary axis of the kinematics at the end of the block, for solution 2 of the #CSROT mode.

Position (machine coordinates) calculated for the second rotary axis of the kinematics at the beginning of the block, for solution 2 of the

#CSROT mode.

Position (machine coordinates) calculated for the second rotary axis of the kinematics at the end of the block, for solution 2 of the #CSROT mode.

Position (machine coordinates) calculated for the third rotary axis of the kinematics at the beginning of the block, for solution 2 of the

#CSROT mode.

Position (machine coordinates) calculated for the third rotary axis of the kinematics at the end of the block, for solution 2 of the #CSROT mode.

Position (machine coordinates) calculated for the fourth rotary axis of the kinematics at the beginning of the block, for solution 2 of the

#CSROT mode.

Programming manual.

Variables.

V.G.CSROTO2[2]

V.G.CSROTF[1]

V.G.CSROTF[2]

V.G.CSROTS[1]

R/W Meaning.

R Position (machine coordinates) calculated for the fourth rotary axis of the kinematics at the end of the block, for solution 2 of the #CSROT mode.

R/W Position (machine coordinates) to be occupied by the first rotary axis of the kinematics at the beginning of the block, for the #CSROT mode.

R/W Position (machine coordinates) to be occupied by the first rotary axis of the kinematics at the end of the block, for the #CSROT mode.

R/W Position (machine coordinates) of the second rotary axis at the beginning of the block, for the #CSROT mode.

V.G.CSROTS[2]

V.G.CSROTT[1]

V.G.CSROTT[2]

R/W Position (machine coordinates) to be occupied by the second rotary axis at the end of the block, for the #CSROT mode.

R/W Position (machine coordinates) to be occupied by the third rotary axis at the beginning of the block, for the #CSROT mode.

R/W Position (machine coordinates) to be occupied by the third rotary axis at the end of the block, for the #CSROT mode.

V.G.CSROTO[1] R/W Position (machine coordinates) to be occupied by the fourth rotary axis at the beginning of the block, for the #CSROT mode.

V.G.CSROTO[2] R/W Position (machine coordinates) to be occupied by the fourth rotary axis at the end of the block, for the #CSROT mode.

Variables related to the KINORG option (position of the current transformed part zero, considering the position of the table kinematics).

Variable.

(V.)[ch.]G.KINORG1

(V.)[ch.]G.KINORG2

(V.)[ch.]G.KINORG3

R/W Meaning.

R

R

R

Position of the part zero transformed by the instruction #KINORG, considering the table position, on the first axis of the channel.

Position of the part zero transformed by the instruction #KINORG, considering the table position, on the second axis of the channel.

Position of the part zero transformed by the instruction #KINORG, considering the table position, on the third axis of the channel.

20.

CNC 8060

CNC 8065

(R EF : 1901)

·391·

20.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·392·

21.

HSC. HIGH SPEED MACHINING.

21

Nowadays, lots of parts are designed using CAD-CAM systems. This type of information is later post-processed to generate a CNC program, usually made up of a large number of very short blocks of several mm or just a few tenths of a micron.

In this type of parts, the CNC must be capable to analyze a large number of points in advance so it can generate a continuous path that goes through (or near) the points of the program while keeping (the best way possible) the programmed feedrate and the restrictions of maximum acceleration, jerk, etc of each axis and of the path.

Default HSC mode.

The command to execute programs made up of lots of small blocks, typical of high speed machining, is carried out with a single instruction #HSC. This function offers several ways to work; optimizing part surface finish (SURFACE mode) optimizing the contour error

(CONTERROR mode) or the machining feedrate (FAST mode).

The default machining mode is defined by parameter HSCDEFAULTMODE, where Fagor offers the SURFACE mode as default. The more sophisticated algorithms of the SURFACE mode obtain more accurate machining. In parallel, the CNC controls machine movements more smoothly reducing considerably the vibrations due to part geometry or machine dynamics. Reducing machine vibrations results in higher surface quality of the machined parts.

CNC 8060

CNC 8065

(R EF : 1901)

·393·

21.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

21.1

Recommendations for machining.

Sel ecting the cho rd al erro r at th e CNC and at the pos tprocessed CAM.

As mentioned earlier, the error caused by the CNC between the programmed part and the resulting part is never greater than the programmed value. On the other hand, the CAM system also generates an error when processing the original part and converting the paths into a CNC program. The resulting error may be the sum of the two; therefore, the desired maximum error must be spread between both processes.

Selecting a large chordal error when generating the program and a small chordal error when executing it, the execution is slower and of lower quality. In this case ridges will appear because the CNC perfectly follows the CAM generated polyhedron. It is recommended to post-process at the CAM with a smaller error than the desired one for high speed cutting

HSC (between 10% and 20%). For example, for a maximum error of 50 microns, we should post-process with an error of 5 or 10 microns and program the 50 microns in the HSC command (#HSC ON [CONTERROR E0.050]). This way of programming lets CNC modify the profile while respecting the dynamics of each axis without causing undesired effects like ridges. If CAM post-processing is done with the desired error and a very small error is programmed in HSC CONTERROR, as a result, the CNC will follow faithfully the facets generated by the CAM.

Post-.processing in CAM with an error smaller than the desired one for machining with HSC.

Desired tool path.

e

Tool path generated by the CAM.

e = Error generated by the CAM.

Tool path machined (followed) by the CNC.

Post- processing in CAM with the desired error and HSC machining with a very small programmed error (CONTERROR).

Desired tool path.

e

Tool path generated by the CAM.

e = Error generated by the CAM.

Tool path machined (followed) by the CNC.

The part-program.

Since the CNC works with an accuracy of nanometers, better results may be obtained if the coordinate have 4 or 5 decimals than if they only have 2 or 3.

·394·

Programming manual.

21.2

User subroutines G500-G501 to turn HSC on/off.

The CNC lets the uses define up to 100 subroutines, common to all channels and that will be associated with functions G500 through G599, so when the CNC executes one of these functions, it will execute its associated subroutine.

Subroutines G500 and G501 are pre-configured by Fagor to turn HSC on and off in

SURFACE mode (mode recommended by Fagor). Both subroutines may be modified by the user.

Subroutine.

G500

G501

Meaning.

HSC cancellation.

Turning HSC on in SURFACE mode.

Subroutines supplied by Fagor.

The subroutines associated with these functions will be global and will have the same name as the function, without extension. The subroutines must be defined in the folder

..\Users\Sub. If the CNC executes a function and there is no subroutine, the CNC will issue an error message.

G500

G501 will have subroutine G500 associated with it.

will have subroutine G501 associated with it.

These functions may be programmed anywhere in the program and allow resetting the local parameters of the subroutine.

Programming the subroutines.

J

M

A

E

The programming format is the following; the list of arguments is shown between curly brackets, they will be the parameters to be initialized by the local parameters of the subroutine. The angular brackets indicate that all the arguments are optional.

G501 <A{%acceleration}> <E{error}> <J{%jerk}> <M{mode}>

Optional. Percentage of acceleration.

Optional. Maximum chordal error allowed (millimeters or inches).

Optional. Percentage of jerk.

Optional. HSC mode (1=SURFACE; 2=FAST; 3=CONTERROR).

G501

(Acceleration = 100%)

(Chordal error = machine parameter HSCROUND)

(Jerk = 100%)

(Mode = machine parameter HSCDEFAULTMODE)

G501 A97.5 E0.01 M1

(Acceleration = 97.5%)

(Chordal error = 0.01)

(Jerk = 100%)

(Mode = SURFACE)

Subroutine G500 supplied by Fagor (may be modified by the user).

; HSC off

#ESBLK

G131 100 ; % of global acceleration.

G133 100 ; % of global jerk.

#HSC OFF

#RETDSBLK

21.

CNC 8060

CNC 8065

(R EF : 1901)

·395·

21.

Programming manual.

Subroutine G501 supplied by Fagor (may be modified by the user).

; -----------------------------------------

; -----------------------------------------

; HSC ACTIVATION

;

; OPTIONAL PARAMETERS

;

; E - CONTOUR TOLERANCE

; A - % ACCELERATION

; J - % JERK

; M - HSCMODE

; 1 SURFACE

;

;

2 FAST

3 CONTERROR

;

; -----------------------------------------

; -----------------------------------------

#ESBLK

#HSC OFF

#PATHND ON

; --------------------HSC MODE ------------

$IF V.C.PCALLP_M

$IF [P12 == 1]

#HSC ON [SURFACE]

$ELSEIF [P12 == 2]

#HSC ON [FAST]

$ELSEIF [P12 == 3]

#HSC ON [CONTERROR]

$ENDIF

$ELSE

#HSC ON

$ENDIF

; --------------------CONTOUR TOLERANCE----

$IF V.C.PCALLP_E

#HSC ON [EP4]

$ENDIF

; --------------------ACCELERATION --------

$IF V.C.PCALLP_A

G131 P0

$ELSE

G131 100

$ENDIF

; --------------------JERK-----------------

$IF V.C.PCALLP_J

G133 P9

$ELSE

G133 100

$ENDIF

#RETDSBLK

CNC 8060

CNC 8065

(R EF : 1901)

·396·

Programming manual.

21.2.1 Alternative example for functions G500-G501 supplied by Fagor.

G500 subroutines supplied by Fagor may be modified by the user. Here is another example for turning HSC ON/OFF using three subroutines.

Subroutine.

G500

G501

G502

Meaning.

Turn HSC off.

Turn HSC on in FAST mode.

Turn HSC on in SURFACE mode.

Programming the subroutines.

A

E

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets. In these subroutines, all the arguments are optional.

G501 <A{%acceleration}> <E{error}>

G502 <A{%acceleration}> <E{error}>

Optional. Percentage of acceleration.

Optional. Maximum chordal error allowed (millimeters or inches).

G501

(Acceleration = 100%)

(Chordal error = twice the value set in machine parameter HSCROUND)

G501 A97.5 E0.01

(Acceleration = 97.5%)

(Chordal error = 0.01)

G502

(Acceleration = 100%)

(Chordal error = machine parameter HSCROUND)

Example of a G500 subroutine. Turn HSC off.

;-------------------------------------------------------------------------

;-------------------------------------------------------------------------

; HSC DEACTIVATION

;-------------------------------------------------------------------------

;-------------------------------------------------------------------------

#ESBLK

G131 100 ;% acceleration

G133 100 ;% deceleration

V.G.DYNOVR = 100 ;%Dynamic override

#PATHND OFF

#HSC OFF

#RETDSBLK

21.

CNC 8060

CNC 8065

(R EF : 1901)

·397·

21.

Programming manual.

Example of a G501 subroutine. Turn HSC on in FAST mode.

;-------------------------------------------------------------------------

;-------------------------------------------------------------------------

; HSC ROUGHING ACTIVATION

; E - Contour Tolerance

; A - % Acceleration

;-------------------------------------------------------------------------

;-------------------------------------------------------------------------

#ESBLK

#HSC OFF

#PATHND ON

$IF V.C.PCALLP_A

G131 P0

$ELSE

G131 100

$ENDIF

$IF V.C.PCALLP_E == 0

P4 = 2 * V.MPG.HSCROUND

$ENDIF

#HSC ON [FAST, EP4]

V.G.DYNOVR = 120

#RETDSBLK

Example of a G502 subroutine. Turn HSC on in SURFACE mode.

;-------------------------------------------------------------------------

;-------------------------------------------------------------------------

; HSC FINISHING ACTIVATION

; E - Contour Tolerance

; A - % Acceleration

;-------------------------------------------------------------------------

;-------------------------------------------------------------------------

#ESBLK

#HSC OFF

V.G.DYNOVR = 100

#PATHND ON

$IF V.C.PCALLP_E == 0

P4 = V.MPG.HSCROUND

$ENDIF

$IF V.C.PCALLP_A

G131 P0

$ELSE

G131 100

$ENDIF

#HSC ON [SURFACE, EP4]

#RETDSBLK

CNC 8060

CNC 8065

(R EF : 1901)

·398·

Programming manual.

21.3

HSC SURFACE mode. Optimization of surface finish.

It is the recommended way (mode) to work. This mode optimizes the velocity profile through intelligent algorithms that detect curvature changes.

This mode offers excellent results in time and surface quality solving jerk problems that may appear depending on the profile to be machined. This is the best mode for roughing and semifinishing operations besides finishing operations where surface quality is most important.

Activating the HSC mode.

Program the instruction alone in the block. This mode is turned on with the instruction #HSC

ON and the SURFACE command.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#HSC ON [<SURFACE> <,E{error}> <,CORNER{angle}> <,RE{error}>

<,SF{frequency}> <,AXF{frequency}> <,OS{frequency}>]

SURFACE

E{error}

Optional. HSC mode.

Optional. Maximum chordal error allowed.

Units: mm or inches.

CORNER{angle}

RE{error}

Optional. Maximum angle for square corner.

Units: from 0 to 180º.

Optional. Maximum error on rotary axes.

Units: Degrees

SF{frequency} Optional. Path filter frequency for linear slope.

Units: Herz.

AXF{frequency} Optional. Axis filter frequency.

Units: Herz.

OS{frequency} Optional. Orientation smoothing of the rotary axes working with RTCP.

Units: ms.

#HSC ON

(SURFACE mode, if it is the default mode)

(Chordal error = machine parameter HSCROUND)

(Angle = machine parameter CORNER)

(RE error = machine parameter MAXERROR)

(SF filter = machine parameter SOFTFREQ)

(AXF filter = machine parameter SURFFILTFREQ)

(OS filter = machine parameter ORISMOOTH)

#HSC ON [SURFACE]

(Chordal error = machine parameter HSCROUND)

(Angle = machine parameter CORNER)

#HSC ON [SURFACE, E0.01]

(Chordal error = 0.01)

(Angle = machine parameter CORNER)

#HSC ON [SURFACE, E0.01, CORNER150]

(Chordal error = 0.01)

(Angle = 150º)

#HSC ON [SURFACE, CORNER150]

(Chordal error = machine parameter HSCROUND)

(Angle = 150º)

HSC mode.

The work mode must only be selected when it is not the default mode (parameter

HSCDEFAULTMODE).

21.

CNC 8060

CNC 8065

(R EF : 1901)

·399·

21.

CNC 8060

CNC 8065

(R EF : 1901)

·400·

Programming manual.

Maximum chordal error allowed.

The E command sets the maximum contouring error allowed between the programmed path and the resulting path (mm or inches). This command is applied to the first three linear axes of the channel. Programming it is optional; if not programmed, the CNC assumes as maximum contouring error the value set in machine parameter HSCROUND.

Maximum angle for square corner.

The CORNER command sets the maximum angle between two paths (between 0º and 180º), under which the CNC machines in square corner mode. Programming it is optional; if not programed, the CNC assumes the angle set in machine parameter CORNER.

Maximum error on rotary axes.

The RE command defines the error in all the rotary axes and linear axes (except the first three axes of the channel). Programming it is optional; if not programmed, the CNC assumes as maximum error the highest value between machine parameter MAXERROR and the E command.

Path filter frequency for linear slope.

The SF command allows applying different filters to those set in the machine parameters.

Lower the value of this command to obtain a smoother movement and slightly slower without losing accuracy.

Programming the SF command is optional; if not programmed, the CNC assumes as frequency of the filter the one defined in machine parameter SOFTFREQ.

Axis filter frequency in HSC mode.

The AXF command allows applying different filters to those set in the machine parameters.

Lower the value of this command to obtain a smoother path and faster but with lower accuracy.

Programming the AXF command is optional; if not programmed, the CNC assumes as frequency of the filter the one defined in machine parameter SURFFILTFREQ.

Orientation smoothing of the rotary axes working with RTCP.

The OS command may be used to smooth the orientation of the rotary axes, without tool tip error, when working with RTCP in HSC SURFACE mode. Increase the value of this command to obtain smoother RTCP movements.

Programming the OS command is optional; if not programmed, the CNC assumes the value set in machine parameter ORISMOOTH.

Considerations.

Commands E and CORNER.

The CNC maintains the value of the commands programmed until a different one is programmed, the HSC mode is canceled, a reset is done or the program ends.

When switching HSC modes, the CNC keeps the values programmed in the previous mode for the commands that are not programmed (for example, the contouring error). If no HSC mode has been programmed earlier, the CNC takes the default values for the commands that are not programmed.

Example 1.

#HSC ON [CONTERROR, E0.050]

·

#HSC ON [SURFACE]

(Chordal error = 0,050)

Commands RE, SF and AXF.

The CNC maintains the value of the commands programmed until a different one is programmed, the HSC mode is changed or canceled, a reset is done or the program ends.

Programming manual.

When changing HSC modes, the CNC assumes the default values set in the machine parameters.

Execute an HSC mode starting with initial conditions.

To execute in HSC mode starting with initial conditions, first cancel the previous mode. See

"21.6 Canceling the HSC mode." on page 406.

Example 2.

#HSC ON [CONTERROR, E0.050]

·

#HSC OFF

·

#HSC ON [SURFACE]

(Chordal error = machine parameter HSCROUND)

21.

CNC 8060

CNC 8065

(R EF : 1901)

·401·

21.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

21.4

HSC CONTERROR mode. Optimizing the contouring error.

From this instruction on, the CNC modifies the geometry through intelligent algorithms for eliminating unnecessary points and automatically generating polynomials. . This way, the contour is traveled at a variable feedrate according to the curvature and the programmed parameters (acceleration and feedrate) but respecting the set error limits.

Programming.

Program the instruction alone in the block. This mode is turned on with the instruction #HSC

ON and the CONTERROR command.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#HSC ON [<CONTERROR> <,E{error}> <,CORNER{angle}> <,RE{error}>

<,AXF{frequency}>]

CONTERROR

E{error}

Optional. HSC mode.

Optional. Maximum chordal error allowed.

Units: mm or inches.

CORNER{angle}

RE{error}

Optional. Maximum angle for square corner.

Units: from 0 to 180º.

Optional. Maximum error on rotary axes.

Units: Degrees

AXF{frequency} Optional. Axis filter frequency.

Units: Herz.

#HSC ON [CONTERROR]

(Chordal error = machine parameter HSCROUND)

(Angle = machine parameter CORNER)

(RE error = machine parameter MAXERROR)

(AXF filter = machine parameter HSCFILTFREQ)

#HSC ON [CONTERROR, E0.01]

(Chordal error = 0.01)

(Angle = machine parameter CORNER)

#HSC ON [CONTERROR, E0.01, CORNER150]

(Chordal error = 0.01)

(Angle = 150º)

#HSC ON [CONTERROR, CORNER150]

(Chordal error = machine parameter HSCROUND)

(Angle = 150º)

HSC mode.

The work mode must only be selected when it is not the default mode (parameter

HSCDEFAULTMODE).

Maximum chordal error allowed.

The E command sets the maximum contouring error allowed between the programmed path and the resulting path (mm or inches). This command is applied to the first three linear axes of the channel. Programming it is optional; if not programmed, the CNC assumes as maximum contouring error the value set in machine parameter HSCROUND.

Maximum angle for square corner.

The CORNER command sets the maximum angle between two paths (between 0º and 180º), under which the CNC machines in square corner mode. Programming it is optional; if not programed, the CNC assumes the angle set in machine parameter CORNER.

·402·

Programming manual.

Maximum error on rotary axes.

The RE command defines the error in all the rotary axes and linear axes (except the first three axes of the channel). Programming it is optional; if not programmed, the CNC assumes as maximum error the highest value between machine parameter MAXERROR and the E command.

Axis filter frequency in HSC mode.

The AXF command allows applying different filters to those set in the machine parameters.

Programming it is optional; if not programmed, the CNC assumes as maximum contouring error the value set in machine parameter HSCFILTFREQ.

Considerations.

Commands E and CORNER.

The CNC maintains the value of the commands programmed until a different one is programmed, the HSC mode is canceled, a reset is done or the program ends.

When switching HSC modes, the CNC keeps the values programmed in the previous mode for the commands that are not programmed (for example, the contouring error). If no HSC mode has been programmed earlier, the CNC takes the default values for the commands that are not programmed.

Example 1.

#HSC ON [CONTERROR, E0.050]

·

#HSC ON [SURFACE]

(Chordal error = 0,050)

Commands RE, SF and AXF.

The CNC maintains the value of the commands programmed until a different one is programmed, the HSC mode is changed or canceled, a reset is done or the program ends.

When changing HSC modes, the CNC assumes the default values set in the machine parameters.

Execute an HSC mode starting with initial conditions.

To execute in HSC mode starting with initial conditions, first cancel the previous mode. See

"21.6 Canceling the HSC mode." on page 406.

Example 2.

#HSC ON [CONTERROR, E0.050]

·

#HSC OFF

·

#HSC ON [SURFACE]

(Chordal error = machine parameter HSCROUND)

21.

CNC 8060

CNC 8065

(R EF : 1901)

·403·

21.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

21.5

HSC FAST mode. Optimizing the machining feedrate.

In spite of the recommendations for generating CAM programs, it is possible to have programs already generated that do not show a continuity between the error generated by the CAM, the block size and the error required by the HSC. For this type of programs, the

HSC mode has a fast mode where the CNC generates paths trying to restore this continuity and thus be able to work on a smoother surface and obtain a more continuous feedrate.

Programming.

Program the instruction alone in the block. This mode is turned on with the instruction #HSC

ON and the FAST command.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#HSC ON [<FAST> <,E{error}> <,CORNER{angle}> <,RE{error}> <,SF{frequency}>

<,AXF{frequency}>]

FAST

E{error}

CORNER{angle}

RE{error}

SF{frequency}

AXF{frequency}

Optional. HSC mode.

Optional. Maximum chordal error allowed.

Units: mm or inches.

Optional. Maximum angle for square corner.

Units: from 0 to 180º.

Optional. Maximum error on rotary axes.

Units: Degrees

Optional. Path filter frequency for linear slope.

Units: Herz.

Optional. Axis filter frequency.

Units: Herz.

#HSC ON [FAST]

(Chordal error = machine parameter HSCROUND)

(Angle = machine parameter CORNER)

(RE error = machine parameter MAXERROR)

(SF filter = machine parameter SOFTFREQ)

(AXF filter = machine parameter FASTFILTFREQ)

#HSC ON [FAST, E0.05]

(Chordal error = 0.05)

(Angle = machine parameter CORNER)

#HSC ON [FAST, E0.01, CORNER130]

(Chordal error = 0.01)

(Angle = 130º)

HSC mode.

The work mode must only be selected when it is not the default mode (parameter

HSCDEFAULTMODE).

Maximum chordal error allowed.

The E command sets the maximum contouring error allowed between the programmed path and the resulting path (mm or inches). This command is applied to the first three linear axes of the channel. Programming it is optional; if not programmed, the CNC assumes as maximum contouring error the value set in machine parameter HSCROUND.

Programming the chordal error improves the accuracy in curved segments or circles; however, and considering the peculiarities of executing in FAST mode, the contour error at the corners is not ensured.

·404·

Programming manual.

Maximum angle for square corner.

The CORNER command sets the maximum angle between two paths (between 0º and 180º), under which the CNC machines in square corner mode. Programming it is optional; if not programed, the CNC assumes the angle set in machine parameter CORNER.

Maximum error on rotary axes.

The RE command defines the error in all the rotary axes and linear axes (except the first three axes of the channel). Programming it is optional; if not programmed, the CNC assumes as maximum error the highest value between machine parameter MAXERROR and the E command.

Path filter frequency for linear slope.

The SF command allows applying different filters to those set in the machine parameters.

Programming it is optional; if not programmed, the CNC assumes as frequency of the filter the one defined in machine parameter SOFTFREQ.

Axis filter frequency in HSC mode.

The AXF command allows applying different filters to those set in the machine parameters.

Programming it is optional; if not programmed, the CNC assumes as maximum contouring error the value set in machine parameter FASTFILTFREQ.

i

Considerations.

Percentage of acceleration in the transition between blocks.

From versions V1.30 (8060) and V5.30 (8065/8070), the #HSC instruction does not let program the percentage of acceleration for transition between blocks.

The percentage of acceleration in the transition between blocks may be modified using functions G130/G131. The CNC assumes by default the value of machine parameter

ACCEL.

Commands E and CORNER.

The CNC maintains the value of the commands programmed until a different one is programmed, the HSC mode is canceled, a reset is done or the program ends.

When switching HSC modes, the CNC keeps the values programmed in the previous mode for the commands that are not programmed (for example, the contouring error). If no HSC mode has been programmed earlier, the CNC takes the default values for the commands that are not programmed.

Example 1.

#HSC ON [CONTERROR, E0.050]

·

#HSC ON [SURFACE]

(Chordal error = 0,050)

Commands RE, SF and AXF.

The CNC maintains the value of the commands programmed until a different one is programmed, the HSC mode is changed or canceled, a reset is done or the program ends.

When changing HSC modes, the CNC assumes the default values set in the machine parameters.

Execute an HSC mode starting with initial conditions.

To execute in HSC mode starting with initial conditions, first cancel the previous mode. See

"21.6 Canceling the HSC mode." on page 406.

21.

CNC 8060

CNC 8065

(R EF : 1901)

·405·

21.

Programming manual.

21.6

Canceling the HSC mode.

The HSC mode is canceled with the instruction #HSC OFF. HSC is also canceled when programming any of the functions G05, G07 or G50. Functions G60 and G61 do not cancel the HSC mode. Activating a second HSC mode does not cancel the previous HSC mode.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#HSC OFF

#HSC OFF

Influence of the reset, turning the CNC off and of the M30.

The HSC mode is canceled on power-up, after executing an M02 or M30 and after an emergency or reset.

CNC 8060

CNC 8065

(R EF : 1901)

·406·

22.

VIRTUAL TOOL AXIS.

22

A virtual axis of the tool is a fictitious axis that always moves in the direction in which the tool is oriented. This virtual tool axis facilitates the movement in the tool direction when it is not aligned with the axes of the machine, but it is oriented in any other direction depending on the position of the bi-rotary or tri-rotary spindle.

This way and depending on the applied kinematics, it will move the corresponding X Y Z axes so the tool moves along its axis. This function facilitates drilling operations, withdrawing the tool in its direction as well as increasing or decreasing the depth of the pass while machining a part.

Virtual tool axis.

Z

Y

Considerations about the virtual tool axis.

• There can be one virtual tool axis per channel.

• The virtual axis of the tool must be linear and it must belong to the channel. The virtual tool axis cannot be part of the main trihedron when it is active.

• The virtual tool axis, since it is an axis of the channel, may be moved like any other axis in the various work modes, automatic, jog, tool inspection, axis repositioning, etc.

• The virtual tool axis has travel limits that may be set by machine parameter and by program.

CNC 8060

CNC 8065

(R EF : 1901)

·407·

22.

Programming manual.

22.1

Activate the virtual tool axis.

The instruction #VIRTAX is used to activate the transformation of the virtual tool axis.

Programming.

When defining this instruction, it is also possible to define the position value (coordinate) where the axis is located.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets.

#VIRTAX ON

#VIRTAX ON <[{pos}]>

{pos} Optional. Axis position.

#VIRTAX

Activate the transformation of the virtual tool axis, in its current position.

#VIRTAX ON

Activate the transformation of the virtual tool axis, in its current position.

#VIRTAX ON [15]

Activate the transformation of the virtual tool axis considering that it is positioned in position 15.

#VIRTAX [0]

Activate the transformation of the virtual tool axis considering that it is positioned in position 0.

Programming the ON command is optional.

Axis position.

This parameter may be used to activate the transformation of the virtual tool axis considering that it is positioned in a specific position. If 0 is programmed, the CNC considers that the virtual tool axis is positioned in the 0 position.

If the axis position is not programmed, the CNC activates the virtual axis taking its current position into account.

Example 1. Increase or decrease the machining pass depth while machining

Functions #VIRTAX and G201 are active in the program being executed. In this case, the virtual tool axis may be moved while the program is running.

CNC 8060

CNC 8065

(R EF : 1901)

·408·

Machining tool path.

Programmed tool path.

Having the virtual axis active on the tool axis, the tool axis has moved the W distance by means of additive interpolation (G201).

Programming manual.

Example 2. Increase or decrease the machining pass depth while machining

Functions #VIRTAX and G201 are not active in the program being executed. The steps to change the machining pass are the following.

(1) Interrupt program execution with the [STOP] key.

(2) Go into tool inspection mode.

(3) From MDI mode, execute #VIRTAX[0].

(4) Move the axis the desired distance via MDI, jog, etc.

(5) Resume execution without repositioning the axes.

22.2

Cancel the virtual tool axis.

The instruction #VIRTAX OFF cancels the transformation of the virtual tool axis. The way the virtual tool axis will behave after executing an M30 or after a reset depends on the setting of parameter VIRTAXCANCEL.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is:

#VIRTAX OFF

#VIRTAX OFF

22.

CNC 8060

CNC 8065

(R EF : 1901)

·409·

22.

22.3

Variables associated with the virtual tool axis.

Programming manual.

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.

(V.)[ch].G.VIRTAXIS

(V.)[ch].G.VIRTAXST

(V.)[ch].A.VIRTAXOF.xn

R/W Meaning.

R Logic number of the virtual tool axis.

R

R

Status of the virtual tool axis:

(0) inactive / (1) active.

Distance traveled by the axis due to the movement of the virtual axis of the tool.

Syntax of the variables.

·ch· Channel number.

·xn· Name, logic number or index of the axis.

V.[2].G.VIRTAXS

V.A.VIRTAXOF.Z

V.A.VIRTAXOF.4

V.[2].A.VIRTAXOF.1

Channel ·2·.

Z axis.

Axis with logic number ·4·.

Axis with index ·1· in the channel ·2·.

CNC 8060

CNC 8065

(R EF : 1901)

·410·

23.

DISPLAYING MESSAGES,

WARNINGS AND ERRORS.

23

The display of messages provides a simple way to follow the execution of a program, by showing messages at certain times during the program that the operator considers important, such as at the beginning of each operation, etc. The CNC only shows the last executed message. Messages, in combination with the function M0 (program interruption), are also useful when requesting the intervention of the operator.

The warning and error windows are a CNC resource for informing of undesired situations during program execution. All warnings and errors remain active, visible or minimized on the status bar until they are removed by the operator. Warning windows offer the possibility to continue program execution, whereas an error window stops the execution of the program.

Programming messages, warnings and errors.

The CNC provides the following instructions to display messages, warning windows or error windows. The table below shows a summary of the properties of each of the instructions.

Instruction.

#MSG

#WARNING

#WARNINGSTOP

#ERROR

Meaning and properties.

Show a message on the status bar.

• The CNC only displays the last executed message.

• The CNC does not interrupt program execution.

• An empty message, a CNC reset or when starting the execution of a program will remove the message.

Shows a warning window.

• The CNC displays all executed warning windows.

• The CNC does not interrupt program execution.

• The [ESC] key closes the window.

Shows a warning window and interrupts the execution.

• The CNC displays all executed warning windows.

• The CNC interrupts program execution. The user can continue executing the program or stop it.

• The [ESC] key closes the window.

Shows a message in a warning window.

• The CNC displays all executed error windows.

• The CNC interrupts program execution and enters an error state.

• The [ESC] key closes the window and CNC reset will remove the error status.

CNC 8060

CNC 8065

(R EF : 1901)

·411·

23.

Programming manual.

23.1

#ERROR. Display an error on the screen.

The #ERROR instruction interrupts program execution and displays the indicated error message. The error can be defined either by text or by a number that corresponds to the list of CNC, OEM or user errors. Errors and warnings are found on the same list; depending on the programmed instruction, the CNC will show a warning or an error.

CNC 8060

CNC 8065

(R EF : 1901)

·412·

Error window.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#ERROR [{number}]

#ERROR ["{text}"]

{number}

{text}

Number of errors

Units: -.

Error text.

Units: -.

#ERROR [1254]

#ERROR [P100]

#ERROR [P10+34]

#ERROR ["Error text"]

Number of errors

The error number, which must be an integer, may be defined with a numerical constant, a parameter or an arithmetic expression. Local parameters must be programmed as P0, P1, etc.

The texts in the cncError.txt file, defined by the OEM or the user, can include up to 5 parameter values and variables using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined in the instruction #ERROR after the number and separated by commas. Up to five format identifiers can be defined for each message, and there must be as many variables or data parameters as identifiers.

#ERROR [10214, P20, V.G.FREAL]

(Show 10214 error, defined in cncError.txt)

(Substitute the first format identifier with the P20 value)

(Substitute the first format identifier with the V.G.REAL value)

Programming manual.

Error text.

The text must be defined between quote marks. If no text is defined, an empty window is displayed. The text can include 5 parameter values and variables in the message using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined after the text and separated by commas. Up to five format identifiers can be defined for each message, and there must be as many variables or data parameters as identifiers.

#ERROR ["The current tool is %D", V.G.TOOL]

#ERROR [10214, V.G.TOOL, V.G.FREAL, P1]

(The 10214 error must be defined in the cncError.txt file)

Considerations.

Fagor text and OEM/USER text.

Errors and warnings between 0 and 9999 and between 23000 and 23999 are reserved by

Fagor. The range of errors and warnings from 10000 to 20000 is available to the OEM and

the user, so that other text can be created. See "23.5 cncError.txt file. List of OEM and user errors and warnings." on page 419.

Format identifiers.

See "23.4 Format identifiers and special characters." on page 418.

23.

CNC 8060

CNC 8065

(R EF : 1901)

·413·

23.

Programming manual.

23.2

#WARNING / #WARNINGSTOP. Displaying a warning on the screen.

The display of warnings on the screen may be programmed using the instruction

#WARNINGSTOP or #WARNING depending on whether the program execution is to be interrupted or not. For both cases, the CNC displays the warning during block preparation, and in the case of #WARNINGSTOP, the CNC interrupts the execution when the instruction is executed. The warning can be defined either by text or by a number that corresponds to the list of CNC, OEM or user errors. Errors and warnings are found on the same list; depending on the programmed instruction, the CNC will show a warning or an error.

Instruction.

#WARNING

#WARNINGSTOP

Meaning.

Show a warning without interrupting the program execution.

Show a warning and interrupt the program execution at the point where the instruction is located. The user decides whether to resume the execution at this point, with the [START] key, or abort the program, with the [RESET] key.

CNC 8060

CNC 8065

(R EF : 1901)

·414·

Warning window.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#WARNING [{number}]

#WARNING ["{text}"]

#WARNINGSTOP [{number}]

#WARNINGSTOP ["{text}"]

{number} Warning number.

Units: -.

{text} Warning text.

Units: -.

#WARNING [1254]

#WARNINGSTOP [1254]

#WARNING [P100]

#WARNINGSTOP [P100]

#WARNING [P10+34]

#WARNINGSTOP [P10+34]

#WARNING ["Warning text"]

#WARNINGSTOP ["Warning text"]

#WARNING [0]

(Clears all warnings on the screen)

Programming manual.

Warning number.

The warning number, which must be an integer, may be defined using a numerical constant, a parameter or an arithmetic expression. Local parameters must be programmed as P0, P1, etc.

The texts in the cncError.txt file, defined by the OEM or the user, can include up to 5 parameter values and variables using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined in the call instruction (for example, #WARNING) after the number and separated by commas. Up to five format identifiers can be defined for each message, and there must be as many variables or data parameters as identifiers.

#WARNING [10214, P20, V.G.FREAL]

(Show the 10214 warning, defined in cncError.txt)

(Substitute the first format identifier with the P20 value)

(Substitute the first format identifier with the V.G.REAL value)

Warning text.

The text must be defined between quote marks. If no text is defined, an empty window is displayed. The text can include 5 parameter values and variables in the message using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined after the text and separated by commas. Up to five format identifiers can be defined for each message, and there must be as many variables or data parameters as identifiers.

#WARNING ["The current tool is %D", V.G.TOOL]

Clears all displayed warnings.

Programming a warning with a value of 0 clears all the warnings that are being displayed.

#WARNING [0]

(Clears all warnings on the screen)

Considerations.

Fagor text and OEM/USER text.

Errors and warnings between 0 and 9999 and between 23000 and 23999 are reserved by

Fagor. The range of errors and warnings from 10000 to 20000 is available to the OEM and

the user, so that other text can be created. See "23.5 cncError.txt file. List of OEM and user errors and warnings." on page 419.

Format identifiers.

See "23.4 Format identifiers and special characters." on page 418.

23.

CNC 8060

CNC 8065

(R EF : 1901)

·415·

23.

Programming manual.

23.3

#MSG. Display a message on the screen.

The instruction #MSG appears at the top of the screen and does not interrupt the execution of the program. The message will remain active until a new message is activated or it is cleared. The message can be defined either by text or by a number that corresponds to the list of OEM or user errors.

CNC message, one per channel.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#MSG [{number}]

#MSG ["{text}"]

{number}

{text}

Message number.

Units: -.

Message text.

Units: -.

#MSG ["User message"]

#MSG [100]

#MSG [P20]

#MSG [""]

(Clear message)

Message number.

The message number, which must be an integer, may be defined with a numerical constant, a parameter or an arithmetic expression. Local parameters must be programmed as P0, P1, etc.

The texts in the cncMsg.txt file, defined by the OEM or the user, can include up to 5 parameter values and variables using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined in the instruction #MSG after the number and separated by commas. Up to five format identifiers can be defined for each message, and there must be as many variables or data parameters as identifiers.

#MSG [100, V.G.TOOL]

(Show message number 100, defined in cncMsg.txt)

(Substitute the first format identifier with the V.G.TOOL value)

#MSG [P10, P20]

(Show message number P10, defined in cncMsg.txt)

(Substitute the first format identifier with the P20 value)

CNC 8060

CNC 8065

(R EF : 1901)

·416·

Programming manual.

Message text.

The text must be defined between quote marks. If no text is defined, the message is erased from the screen. The text can include 5 parameter values and variables in the message using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined after the text and separated by commas. Up to five format identifiers can be defined for each message, and there must be as many variables or data parameters as identifiers.

#MSG ["Part number %D", P2]

#MSG ["Finishing F=%D mm/min and S=%D RPM", P21, 1200]

#MSG ["Tool %u has expired", V.G.TOOL]

Clears the displayed message.

Programming an empty message clears the message on the screen. A reset or “end of program” will not clear the message on the screen)

#MSG [""]

(Clear message on the screen)

23.

CNC 8060

CNC 8065

(R EF : 1901)

·417·

23.

CNC 8060

CNC 8065

Programming manual.

23.4

Format identifiers and special characters.

Format identifiers.

Writing text with %letter that is not found in this list or the following list, the CNC will include it as %letter.

Identifier.

%d %D

%i

%u

%o

%x

%X

%f %F

%e

%E

%c

%s

Meaning.

Integer or floating point number (with or without decimals).

With this identifier, the number of integers and decimals to be displayed (default 5.5) can be defined; this format is defined between the symbol % and a letter; for example

%5.5d.

Integer in base 10 with positive or negative sign (int).

Integer in base 10 without positive or negative sign (int).

Integer in base 8 without positive or negative sign (int).

Integer in base 16 using lowercase letters (int).

Integer in base 16 using uppercase letters (int).

Simple precision floating decimal (float). With this identifier, the number of integers and decimals to be displayed (default

5.5) can be defined; this format is defined between the symbol % and a letter; for example %5.5f.

Scientific notation (coefficient / exponent), lower case

(single precision or double precision).

Scientific notation (coefficient / exponent), upper case

(single precision or double precision).

Write a character using its ASCII code (decimal number).

Write a string (string of characters) from a string. This i d e n t i f i e r c a n o n l y b e u s e d w i t h t h e v a r i a b l e s

(V.)A.AXISNAME.xn and (V.)A.SPDLNAME.sn.

Special characters.

Writing text with %letter that is not found in this list or the previous list, the CNC will include it as %letter.

Identifier.

%%

\"

Meaning.

Character %.

Quotation marks.

#WARNING ["Difference between P12 and P14 > 40%%"]

#ERROR ["Parameter \"P100\" is wrong"]

#MSG ["The tool \"T1\" is a finishing tool"]

#MSG ["80%% of feedrate"]

#WARNING ["%s", V.A.AXISNAME.1]

(Display the name of the axis).

#WARNING ["%c", 65]

(Show character A, because 65 is its ASCII code).

(R EF : 1901)

·418·

Programming manual.

23.5

cncError.txt file. List of OEM and user errors and warnings.

The range of errors and warnings from 10000 to 20000 is available to the OEM and the user, so that other text can be created. These errors and warnings are saved in the cncError.txt

file. Both the OEM and the user can create one of these files according to language.

File location.

The CNC looks for the messages in the following order and displays the one it finds first.

Therefore, it is recommended that the user does not define messages using the same number as the manufacturer.

..\Users\Data\Lang\{language}

..\Users\Data\Lang

..\Mtb\Data\Lang\{language}

..\Mtb\Data\Lang\English

..\Mtb\Data\Lang

#WARNING [10032]

(Find 10032 message in cncError.txt file)

File format.

In the folder ..\Mtb\Data\Lang\{idioma} there is an example of a cncError.txt file. The same file contains errors and warnings. The call type (#ERROR/#WARNING) determines whether the CNC displays an error or a warning.

• Any comments must start with the character ";".

• Errors follow the structure; number + space or tab key + text.

; Comment.

10000 First OEM or user error/warning.

10001 Second OEM or user error/warning.

23.

Example of a cncError.txt file

Format identifiers.

The text can include 5 parameter values and variables in the message using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined in the warning or error call.

10002 The current tool is %D.

10003 Spindle speed %u excessive.

CNC 8060

CNC 8065

(R EF : 1901)

·419·

23.

Programming manual.

23.6

cncMsg.txt file. List of OEM and user messages.

The file cncMsg.txt contains the OEM and user defined messages for the instruction #MSG.

Both the OEM and the user can create one of these files according to language.

File location.

The CNC looks for the messages in the following order and displays the one it finds first.

Therefore, it is recommended that the user does not define messages using the same number as the manufacturer. If the message is not found in any file, the CNC will not show any message.

..\Users\Data\Lang\{language}

..\Users\Data\Lang

..\Mtb\Data\Lang\{language}

..\Mtb\Data\Lang

#MSG [1234]

(Find 1234 message in cncMsg.txt file)

File format.

The file format will be:

• Any comments must start with the character ";".

• Errors follow the structure; number + space or tab key + text.

; Comment.

1 First message.

2 Second message.

3 Third message.

Format identifiers.

The text can include 5 parameter values and variables in the message using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined in the message call.

12 The current tool is %D.

13 Spindle speed %u excessive.

CNC 8060

CNC 8065

(R EF : 1901)

·420·

Programming manual.

23.7

Summary of the variables.

The following variables may be accessed from (PRG) the part-program and from the

MDI/MDA mode, PLC and (INT) from an external application. For each variable, the table indicates whether the access is reading (R) or writing (W). PLC access to the variables, for both reading and writing, will be synchronous. Access to the variables from the part program returns the value for the block preparation (it does not stop the preparation), except when indicated otherwise.

Variables.

(V.)[ch].G.CNCERR

Error number of the highest priority. If several channels are in the same group, an error in a channel causes the same error in all of them; in this case, this variable will have the same value for all the channels of the group.

Units: -.

PRG

R

PLC

R

(V.)[ch].G.CNCWARNING

Displayed warning number. If there are several warnings, the value of the variable is updated as they are eliminated. When the last warning is eliminated, this variable is initialized to zero.

Units: -.

R(*) R

(V.)[ch].A.AXISNAME.xn

Axis name. This variable can be used to include the name of the axis in the instructions #WRITE, #MSG, #WARNING, #WARNINGSTOP and

#ERROR, while using the identifier %s.

Units: -.

R - - -

(V.)[ch].A.SPDLNAME.sn

(V.)[ch].SP.SPDLNAME.sn

Spindle name. This variable can be used to include the name of the s p i n d le i n t h e in s t r u c t i o n s # W R I T E , # M S G, # WA R N I N G,

#WARNINGSTOP and #ERROR, while using the identifier %s.

Units: -.

R - - -

(*) The CNC evaluates the variable during execution (it stops the block preparation).

INT

R

R

R

R

This variable is initialized with a reset. If several channels are in the same group, the reset of a channel means resetting all of them, thus initializing the variables of all the channels of the group.

Syntax of the variables.

·ch· Channel number.

·xn· Name, logic number or index of the axis.

·sn· Name, logic number or index of the spindle.

V.[2].G.CNCERR

V.[2].G.CNCWARNING

V.A.AXISNAME.4

V.[2].A.AXISNAME.1

V.SP.SPDLNAME.1

V.[2].SP.SPDLNAME.1

V.A.SPDLNAME.1

V.[2].A.SPDLNAME.1

Axis name with logic number ·4·.

Name of first axis on channel ·2·.

Name of first spindle for spindle system.

Name of the first spindle on channel ·2·.

Name of spindle with logic number ·1·.

Name of spindle with logic number ·1·.

23.

CNC 8060

CNC 8065

(R EF : 1901)

·421·

23.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·422·

24.

DMC (DYNAMIC MACHINING

CONTROL).

24 i The DMC is only available for the master spindle using Fagor digital servo systems. The spindle must be enabled for the DMC in the machine parameter DMCSPDL.

The choice of machining feedrate depends on the material to be machined, the tool (material, number of teeth, etc.) and the depth of pass. The feedrate for machining is set at the start and remains constant until the end. If the machining conditions change (for example, due to tool wear), the programmed feedrate may no longer be appropriate, which will have a negative effect on the tool life, machining time, etc.

DMC (dynamic machining control) adapts the feedrate during machining to maintain the cutting power as close as possible to ideal machining conditions. DMC adapts the feedrate by changing the override.

DMC optimizes the use of the machine and the tool, which makes it possible to increase the material removal rate (MRR) without impairing the life of the tool, since it is operating according to its rated conditions. Optimization is based on the cutting power to be reached, which is also referred to as target power. This power not only depends on the tool, but also on the material and the cutting conditions (feedrate, spindle turning speed, depth of pass and sideways step (pass)), and therefore its value must be linked to the entire combination of the tool+material+cutting conditions.

DMC is only available for milling operations with "Milling" and "Surface milling” operations.

This function can be applied to roughing and finishing operations, but this function provides the most benefits in terms of machining time and tool life in roughing operations.

CNC 8060

CNC 8065

(R EF : 1901)

·423·

24.

CNC 8060

CNC 8065

Programming manual.

24.1

Activating the DMC.

The instruction #DMC ON activates DMC, always on the master spindle. DMC is only available for milling operations with "Milling" and "Surface milling” operations. DMC can be applied to roughing and finishing operations, but this function provides the most benefits in terms of machining time and tool life in roughing operations.

Programming.

This instruction must be programmed alone in the block. All commands are optional when defining this instruction.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones, between angle brackets.

#DMC ON [<PWRSP {power}> <, OVRMIN{%}> <, OVRMAX{%}> <, FZMIN{feed}>

<, FZMAX{feed}>]

PWRSP{power} Target power or ideal cutting power is defined as the percentage of the rated power of the spindle.

• Optional; if not programmed, it is calculated by the CNC.

• Values: 0 — 100 %.

OVRMIN{%} Minimum override permitted for DMC.

• Optional (by default, the machine parameter value MINDMCOVR).

• Values: 10 — 100 %.

OVRMAX{%} Maximum override permitted for DMC.

• Optional (by default, the machine parameter value MAXDMCOVR).

• Values: 100 — 255 %.

FZMIN{feed} Minimum feedrate per tooth permitted during DMC.

• Optional; if not programmed or FZMIN > FZMAX, the CNC does not monitor the minimum feedrate per tooth.

• Values: 0 — 99999.9999 mm/tooth

0 — 3937.00787 inches/tooth.

FZMAX{feed} Maximum feedrate per tooth permitted during DMC.

• Optional; if not programmed or FZMIN > FZMAX, the CNC does not monitor the maximum feedrate per tooth.

• Values: 0 — 99999.9999 mm/tooth

0 — 3937.00787 inches/tooth.

#DMC ON

(The CNC activates DMC with the default values.)

(DMC initiates the learning phase to calculate the target power).

#DMC ON [PWRSP 80, OVRMIN 90, OVRMAX 110, FZMIN 0.8, FZMAX 1.3]

(The CNC activates DMC with the programmed values).

#DMC ON [OVRMIN 90, OVRMAX 110, FZMIN 0.8, FZMAX 1.3]

(The CNC activates DMC with the programmed values).

(DMC initiates the learning phase to calculate the target power).

Target power or ideal cutting power.

The target power is programmed as a percentage of the rated power of the spindle. The programming of the target power is optional; if it is not programmed, the CNC conducts a

learning phase to determine it. See "24.4.1 DMC operation." on page 429.

Feed per tooth.

The feedrate modified with the override obeys the minimum and maximum feedrate per tooth set for the tool. So that the CNC can oversee the feedrate per tooth, the number of teeth on the tool must be determined from the tool table.

(R EF : 1901)

·424·

Programming manual.

Considerations and limitations.

Work modes.

• DMC can only be active when running; in a simulation, the CNC will analyze the activation and deactivation instructions, but will not start up DMC.

• DMC can only be active in automatic mode; it is not activated in manual mode. The DMC deactivates when entering into tool inspection and resumes operation after the axes have been repositioned.

• DMC is incompatible with some types of operations, such as threading, drilling, etc. In addition, DMC will be automatically deactivated if the active tool is not a "Milling" or

"Surface milling” type.

Tool change or offset.

The following tool-related actions deactivate DMC. The user is responsible for reprogramming DMC with the appropriate values for the new tool.

• Changing the tool.

• Changing the offset.

• Executing an M6.

• Changing any of the offset characteristics that affect the power consumption of the spindle (by writing the corresponding variable).

Tool inspection.

When entering the tool inspection mode, DMC is deactivated. At the end of the tool inspection, the

DMC is automatically activated and allows learning phase may be repeated by pressing the "DMC learning" softkey.

24.

DMC behavior after being deactivated.

The tool paths in G0, axis stops using [STOP] and the softkey “Set DMC off” temporally deactivate the DMC. In these cases, DMC acts as follows:

• If DMC has not begun to measure the no-load power, the process will not begin.

• If DMC is waiting for the spindle to reach the programmed speed or is measuring the noload power, DMC is deactivated when it finishes measuring the no-load power.

• During the learning phase, DMC does not consider the time that the cause of the deactivation persists as learning time.

• During the execution without a load, DMC is deactivated, but it will continue to detect entries into the part.

• If the tool is starting to enter the part, DMC will be deactivated once it has entered.

• If the tool is inside the part, DMC is deactivated, but it will continue to detect the part exits and excessive power consumption.

• If the tool is exiting from the part, DMC is deactivated once the exit is completed.

CNC 8060

CNC 8065

(R EF : 1901)

·425·

24.

Programming manual.

24.2

Deactivating the DMC.

The #DMCºOFF instruction deactivates DMC. The M02 or M30 (end of program) functions and the reset also deactivate DMC. A spindle stop, function M5, deactivates DMC.

Programming.

This instruction must be programmed alone in the block. This instruction has no commands.

Programming format.

The programming format is:

#DMC OFF

#DMC OFF

(The CNC deactivates DMC).

CNC 8060

CNC 8065

(R EF : 1901)

·426·

Programming manual.

24.3

Summary of the variables.

The following variables may be accessed from (PRG) the part-program and from the

MDI/MDA mode, PLC and (INT) from an external application. For each variable, the table indicates whether the access is reading (R) or writing (W). PLC access to the variables, for both reading and writing, will be synchronous. Access to the variables from the part program returns the value for the block preparation (it does not stop the preparation), except when indicated otherwise.

INT

R

Variables.

(V.)[ch].MPG.MINDMCOVR

Minimum DMC override of all channel axes.

Units: Percentage.

(V.)[ch].MPG.MAXDMCOVR

Maximum DMC override of all channel axes.

Units: Percentage.

(V.)[ch].MPA.DMCSPDL.sn

Spindle with enabled power control.

Units: -.

(V.)[ch].G.FRO

Active feedrate (feed override) percentage.

Units: Percentage.

PRG

R

R

R

R(*)

PLC

R

R

R

R

(V.)[ch].G.PRGFRO

Feedrate (feed override) percentage defined by the program.

Units: Percentage.

(V.)[ch].PLC.FRO

Feedrate (feed override) percentage defined by the PLC.

Units: Percentage.

(V.)[ch].G.CNCFRO

Feedrate percentage (feed override) selected on the switch of the operator panel.

Units: Percentage.

(V.)[ch].G.NCUTTERS

Tool being prepared. Number of teeth.

Units: Teeth.

R/W

R(*)

R(*)

R/W

R

R/W

R

R

(V.)[ch].TM.NCUTTERS[offset]

[Offset] of the active tool. Number of teeth.

Units: Teeth.

(V.)TM.NCUTTERST[tool][offset]

[Offset] of the [tool]. Number of teeth.

Units: Teeth.

R/W(*)

R/W(*)

R/W

R/W

(V.)[ch].G.DMCPWRSP

Target power, defined as a percentage of the rated power of the spindle.

Value programmed in the PWRSP command of the #DMC ON instruction.

Units: Percentage.

(V.)[ch].G.DMCOVRMIN

Minimum feedrate (feed override) percentage allowed for DMC. Value programmed in the OVRMIN command of the #DMC ON instruction.

Units: Percentage.

(V.)[ch].G.DMCOVRMAX

Maximum feedrate (feed override) percentage allowed for DMC. Value programmed in the OVRMAX command of the #DMC ON instruction.

Units: Percentage.

R

R

R

R

R

R

(V.)[ch].G.DMCFZMIN

Minimum feedrate per tooth permitted during DMC. Value programmed in the FZMIN command of the #DMC ON instruction.

Units: Millimeters/tooth or inches/tooth.

R R

(*) The CNC evaluates the variable during execution (it stops the block preparation).

R

R

R

R

R

R/W

R

R/W

R/W

R

R

R

R

24.

CNC 8060

CNC 8065

(R EF : 1901)

·427·

24.

Programming manual.

Variables.

(V.)[ch].G.DMCFZMAX

Maximum feedrate per tooth permitted during DMC. Value programmed in the FZMAX command of the #DMC ON instruction.

Units: Millimeters/tooth or inches/tooth.

(V.)[ch].G.DMCON

DMC status.

Units: -.

(V.)[ch].G.LEARNEDPWRSP

Target power calculated for DMC in the learning phase (percentage of rated power).

Units: Percentage.

(V.)[ch].G.DMCACTPWR

Active power on the spindle, measured by DMC (percentage of the rated power).

Units: Percentage.

(V.)[ch].G.DMCOVR

Feedrate percentage (feed override) calculated by DMC.

Units: Percentage.

PRG

R

R(*)

R(*)

R(*)

R(*)

PLC

R

R

R

R

R

(V.)[ch].G.DMCFZ

Feedrate per tooth, calculated by DMC.

Units: Millimeters/tooth or inches/tooth.

(V.)[ch].G.DMCNOLOADPWR

Spindle power without a load, measured by DMC.

Units: Kilowatts.

R(*)

R(*)

R

R

(V.)[ch].G.DMCSAVEDTIME

Time saved by the DMC action.

Units: Seconds.

R(*) R

(*) The CNC evaluates the variable during execution (it stops the block preparation).

INT

R

R

R

R

R

R

R

R

CNC 8060

CNC 8065

(R EF : 1901)

·428·

Programming manual.

24.4

Operating with DMC.

24.4.1 DMC operation.

After executing the instruction #DMC ON, the CNC will activate DMC as long as the spindle has a digital drive system, is turning in M3 or M4 and has reached the programmed turning speed (REVOK mark).

Calculating the no-load power.

The first time that this function is executed, the CNC stops the feedrate of the axes until the spindle reaches the programmed turning speed and has stabilized. Next, and with the axes stopped, the CNC measure the power consumed by the spindle without a load (without machining). The entire process to measure the no-load power can be completed in just a few seconds, during which time the CNC stops the feedrate of the axes.

Knowing the no-load power enables the CNC to detect the part entries and exits during the machining.

Learning phase.

Every time #DMC ON is programmed without target power (PWRSP command), DMC determines it through a learning phase that it initiates automatically. Once said value is obtained, the normal DMC operation will begin.

The learning phase can be repeated at any time, while the DMC is active, by pressing the "DMC learning" softkey in the automatic mode. After pressing the softkey, while the DMC is active, the next entry into the part will begin a learning phase, whether or not the target power had been programmed while activating the DMC.

With the axes in movement, the learning phase begins once DMC detects the entry into the part. DMC waits for the feedrate to reach the programmed value, and during the movement of the axes, it calculates the target power ("power consumed" – "no-load power"). The learning phase has a one minute duration, starting from when the tool enters the part at a distance equal to the radius. If the tool exits the part, it ceases counting the time until the tool re-enters the piece.

DMC will write the target power value obtained in the learning phase in the variable

(V.)G.LEARNEDPWRSP, so that it can be used on the following parts that are machined with the same part program, avoiding the repetition of the learning phase.

It is recommended to perform the learning phase with a depth of pass as close as possible to that which will be used during the machining; otherwise, if the depth of pass is shallower, the target power calculated may not be appropriate.

Deactivating the DMC.

The softkey menu allows the DMC to be deactivated.

The DMC can be activated from the same softkey menu.

24.

CNC 8060

CNC 8065

(R EF : 1901)

·429·

24.

Programming manual.

DMC operation.

Once the target power is known, and after detecting the entry into the part, DMC will begin to function as normal. During the machining, DMC adapts the feedrate so that the cutting power ("power consumed" – "no-load power") is as close as possible to the target power.

DMC adapts the feedrate by changing the override. See "24.4.3 Percentage of feedrate

(feedrate override)." on page 431.

Processing of part entries and exits.

DMC detects the part entries and exits and carries out a special feedrate override process so that said transitions are smooth and do not damage the tool. For entries into the part, DMC use a 75% feedrate until the tool enters the part along a length equal to the tool radius. The

CNC also attempts to optimize the time on the paths without a load.

The target power and the part entries and exits.

To ensure the proper operation of the DMC, the target power (programmed or obtained by learning) must be at least 20% of the no-load power. If the DMC detects this type of situation, it will display a 3103 warning.

• If the actual values of the no-load power and the target power during machining are similar, it is likely that the DMC cannot accurately distinguish the part inputs and outputs or it may detect false inputs or outputs. In this case, it is recommended to check the value of the target power.

• Programming a higher target power, which is not actually going to be achieved, can mean that the DMC never detects part inputs and performs all the machining as if the tool were working in a vacuum.

For both these reasons, if the actual target power is less than 20% of the no-load power, it is recommended to deactivate the DMC function during this machining process.

Monitoring of consumed power.

During operation, DMC continuously monitors the power consumed by the spindle to detect any problems with the tool or in the machining.

Collision detection.

If the instantaneous power exceeds the target power in a predefined range, the CNC considers that a collision has occurred. In this case, the CNC displays warning 3101, stops the feedrate of the axes, while keeping the spindle turning (this behavior is the equivalent of having pressed the [STOP] button). After verifying the cause of the warning, the user can continue the machining (pressing [START]), enter in tool inspection or terminate the execution to replace the damaged tool.

Worn tool. Excessive continuous power consumption.

If DMC detects excessive power consumption during a certain amount of time, it understands that the tool is worn or deteriorated and displays the warning 3100, without stopping the execution. The user decides if it is necessary to stop the execution.

CNC 8060

CNC 8065

(R EF : 1901)

·430·

Programming manual.

24.4.2 DMC status and progress. Automatic mode.

During the execution of a program while DMC is active, the automatic mode can display the status and progress of this function; to do this, on the “Display” softkey of the horizontal menu, select the option "DMC". To return to the standard screen in automatic mode, select the

“Standard” option on the same softkey.

Automatic mode. DMC status and progress.

24.

24.4.3 Percentage of feedrate (feedrate override).

The feedrate (feed override) percentage can be set, from highest to lowest priority, by the program (variable V.G.PRGFRO), by the PLC (variable V.PLC.FRO) or from the switch on the operator panel. The value set by the program has the highest priority, while the values set from the switch on the operator panel have the lowest priority.

• The percentage set by the program or by the PLC has a higher priority than that set by

DMC; both percentages inhibit DMC. To cancel the feedrate percentage set by program or PLC, define its variables with a value of 0 (zero).

• The percentage set by DMC affects the percentage set from the switch.

=

OverrideDMC %

  

100

• DMC can change its override within the limits set by the instruction #DMC ON

(commands OVRMIN and OVRMAX); if they are not defined, the limits will be set by the machine parameters MINDMCOVR and MAXDMCOVR. The final override

(overrideDMC + overrideJOG) may exceed these limits.

• The CNC always abides by the maximum limit set in the machine parameter MAXOVR.

• If the user selects an override with the switch on the operator panel that is lower than

MINDMCOVR, the CNC inhibits DMC (but does not deactivate it); when the override once again exceeds MINDMCOVR, DMC will once again operate as normal.

• The CNC abides by the minimum and maximum feedrate set by the tool in the instruction

#DMC ON (commands FZMIN and FZMAX).

CNC 8060

CNC 8065

(R EF : 1901)

·431·

24.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·432·

25.

OPENING AND WRITING FILES.

25

25.1

#OPEN. Open file for writing.

The instruction #OPEN opens a file so that the part-program (#WRITE) can be written. The file must have write permission, otherwise the CNC will show the corresponding error. The execution and the simulation write on the same file.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#OPEN [{“file”}, <A/D>, <F{IdOfFile}>, <KEEPLINE>, <TYPE{format}]

{“file”}

A/D

F{IdOfFile}

KEEPLINE

TYPE{format}

Name of file and its path (optional). If the path is not programmed, the CNC saves the file in the same folder as the program executing it.

Optional. Default access mode is D.

A (APPEND): Add file

D (DELETE): Clears content and write from scratch.

Optional. File identifier (F1 to F4) for multi-channel access. From one channel it is possible to write to a file from any other channel when its identifier is determined.

If no identifier is programmed, only the channel opening it can write to the file.

Optional. Does not add a line break after each sentence. If it is not programmed, each instruction will create a line break.

Optional. File format; by default UCS-2LE BOM.

1 = COD_ANSI

2 = UCS-2LE BOM

#OPEN ["FileForWrite.txt", A, F2, KEEPLINE]

#OPEN ["FileForWrite.txt", D]

#OPEN ["FileForWrite.txt"]

#OPEN ["FileForWrite.txt", A, F2, KEEPLINE, TYPE 2]

File path and name.

Programming the path is optional. The path and the file name must be defined between inverted commas. The file name cannot contain any of the following characters: \ / : * ? " < > |.

File identifier for multi-channel access.

The F1 to F4 identifier allows for a channel to write to a file opened in an other channel when the identifier is determimed. If no identifier is programmed, only the channel opening it can write to the file. If a file with a previously used identifier is opened, the CNC will show the corresponding error.

CNC 8060

CNC 8065

(R EF : 1901)

·433·

25.

Programming manual.

Access mode.

• The "D" (DELETE) option deletes the file and creates a new one in the format specified by the TYPE command (by default, UCS-2LE BOM).

• The "A" (APPEND) option adds content to an existing file. If the file does not exist, create a new one in the format specified by the command TYPE (by default, UCS-2LE BOM).

If the file already exists, the command TYPE must match the file format.

Line feed.

When the command KEEPLINE is programmed, the line break manages the text of the

#WRITE instruction using the \n identifier.

#OPEN ["FileForWrite.txt", A, KEEPLINE]

#WRITE ["Message \n"]

(The instruction #WRITE inserts a line break)

When the command KEEPLINE is not programmed, each #WRITE instruction will create a line break. If the identifier \n is appended to the text, two line breaks are inserted.

#OPEN ["FileForWrite.txt", A]

#WRITE ["Mensaje"]

(The instruction #WRITE inserts a line break)

#WRITE ["Message \n"]

(The instruction #WRITE inserts two line breaks)

File format (command TYPE).

COD_ANSI

UCS-2LE BOM

Non-Unicode format, for files that are to be used in applications that do not support Unicode format.

Unicode format (recommended).

CNC 8060

CNC 8065

(R EF : 1901)

·434·

Programming manual.

25.2

#WRITE. Writing in a file.

The instruction #WRITE inserts text into the file opened with the instruction #OPEN. From one channel it is possible to write to a file from any other channel when its identifier is determined (comando "F"). The instruction is performed during the execution, but the CNC does not wait for the instruction to finish before continuing with the execution. The instructions will be stored until an error occurs or M30 is executed.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#WRITE [<F{IdOfFile},> “{Message}”/{IdOflMessage}, <{var1},>...<{var5}>]

F{IdOfFile} Optional. File identifier (F1 to F4) for multi-channel access. If an identifier is not programmed, the program writes in the open file using an #OPEN instruction without the “F” file identifier in the channel executing the #WRITE instruction.

"{Message}"

{IdOfMessge}

{var1}...{var5}

Message or message number predefined by the cncWrite.txt file. Both messages allow format identifiers.

Optional. Variables or parameters whose value is to be inserted in the message text (replaces the format identifiers).

#WRITE ["%d value incorrect", P21]

(Write in the file that was opened in the channel using #OPEN without an "F" file identifier)

(The line break depends on the programming of #OPEN instruction, with or without KEEPLINE instruction)

(The identifier %d is resolved with the P21 value)

#WRITE [F2, “Tool %u worn down\n", V.G.TOOL]

(Write #OPEN in the open file [F2])

(The format identifier \n inserts a line break) (Depending on the #OPEN programming, with or without the KEEPLINE instruction, there may be another line break)

(The identifier %u is addressed with the V.G.TOOL value)

#WRITE [F2, 10214, V.G.TOOL]

(Write #OPEN in the open file [F2])

(The line break depends on the programming of #OPEN instruction, with or without KEEPLINE instruction)

(Write the instruction10214, defined in the cncWrite.txt file)

(The identifier %d of the 10214 text is addressed with the V.G.TOOL value)

#WRITE [F2, "%s = %d", V.A.AXISNAME.1, P100]

(Write #OPEN in the open file [F2])

(The line break depends on the programming of #OPEN instruction, with or without KEEPLINE instruction)

(The identifiers %s and %d are resolved with the values V.A.AXISNAME.1 and P100)

Message number.

The error number, which must be an integer, may be defined with a numerical constant, a parameter or an arithmetic expression. Local parameters must be programmed as P0, P1, etc.

The texts in the cncWrite.txt file, defined by the OEM or the user, can include up to 5 parameter values and variables using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined in the instruction #WRITE after the number and separated by commas. Up to five format identifiers can be defined for each message, and there must be as many variables or data parameters as identifiers.

#WRITE [123, P20, V.G.FREAL]

(Write the instruction123, defined in the cncWrite.txt file)

(Substitute the first format identifier with the P20 value)

(Substitute the first format identifier with the V.G.REAL value)

25.

CNC 8060

CNC 8065

(R EF : 1901)

·435·

25.

CNC 8060

CNC 8065

(R EF : 1901)

·436·

Programming manual.

Error text.

The text must be defined between quote marks. The text can include 5 parameter values

and variables in the message using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined after the text and separated by commas. Up to five format identifiers can be defined for each message, and there must be as many variables or data parameters as identifiers.

#WRITE ["The current tool is %D", V.G.TOOL]

Format identifiers and special characters.

Format identifiers.

Writing text with %letter that is not found in this list or the following list, the CNC will include it as %letter.

Identifier.

%d %D

%i

%u

%o

%x

%X

%f %F

%e

%E

%c

%s

Meaning.

Integer or floating point number (with or without decimals). With this identifier, the number of integers and decimals to be displayed (default 5.5) can be defined; this format is defined between the symbol % and a letter; for example %5.5d.

Integer in base 10 with positive or negative sign (int).

Integer in base 10 without positive or negative sign (int).

Integer in base 8 without positive or negative sign (int).

Integer in base 16 using lowercase letters (int).

Integer in base 16 using uppercase letters (int).

Simple precision floating decimal (float). With this identifier, the number of integers and decimals to be displayed (default 5.5) can be defined; this format is defined between the symbol % and a letter; for example %5.5f.

Scientific notation (coefficient / exponent), lower case (single precision or double precision).

Scientific notation (coefficient / exponent), upper case (single precision or double precision).

Write a character using its ASCII code (decimal number).

Write a string (string of characters) from a string. This identifier can only be used with the variables (V.)A.AXISNAME.xn and (V.)A.SPDLNAME.sn.

The identifier %s can only be used with the variables (V.)A.AXISNAME.xn and

(V.)A.SPDLNAME.sn.

Special characters.

If you write a text with %letter that is not included in this list or the previous one, the CNC will include it as %letter.

\"

\n

Identifier.

%%

Meaning.

Character %.

Quotation marks.

Line feed.

#WRITE ["Difference between P12 and P14 > 40%%"]

#WRITE ["Parameter \"P100\" is wrong"]

#WRITE [“Message with line break \n"]

#WRITE ["%s", V.A.AXISNAME.1]

(Write the name of the axis).

#WRITE ["%c", 65]

(Show the character A, because 65 is its ASCII code).

Programming manual.

25.3

#CLOSE. Close a file.

The instruction #CLOSE closes the file opened with the instruction #OPEN.

Programming.

Program the instruction alone in the block.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets.

#CLOSE [<F{IdOfFile}>]

F{IdOfFile} Optional. File identifier (F1 to F4) for multi-channel access. If an identifier is not programmed, the instruction closes the file that opened in the channel using

#OPEN without an "F" file identifier.

#CLOSE

#CLOSE [F2]

Considerations.

• If the file has been opened without an identifier (F1 to F4), function M30 closes one from the file.

• If the file has been opened with an identifier (F1 to F4), the function M30 does not close the file to allow multi-channel management.

• If an error occurs in the channel opening the file, it will be closed with a reset.

• Closing the CNC will close all the open files.

25.

CNC 8060

CNC 8065

(R EF : 1901)

·437·

25.

Programming manual.

25.4

cncWrite.txt file. List of OEM and user messages.

The file cncWrite.txt contains the OEM and user defined messages for the instruction

#WRITE. Both the OEM and the user can create one of these files according to language.

File location.

The CNC can have two cncWrite.txt files: that created by the OEM and another created by the user. The CNC looks for the messages in both files, in the following order, and displays the message it finds first. Therefore, it is recommended that the user does not define messages using the same number as the manufacturer. If the message is not found in any file, the CNC will not show any error.

..\Users\Data\Lang\{language}

..\Users\Data\Lang

..\Mtb\Data\Lang\{language}

..\Mtb\Data\Lang

File format.

The file format will be:

• Any comments must start with the character ";".

• Errors follow the structure; number + space or tab key + text.

; Comment.

1 First message.

2 Second message.

3 Third message.

Format identifiers.

The text can include 5 parameter values and variables in the message using the format identifiers (%D, %i, %u, etc). The variables or parameters whose value is to be displayed must be defined in the message call.

12 The current tool is %D.

13 Spindle speed %u excessive.

CNC 8060

CNC 8065

(R EF : 1901)

·438·

26.

PROGRAMMING STATEMENTS.

26

26.1

Display instructions. Define the size of the graphics area

The instruction #DGWZ may be used to define cylindrical or prismatic parts at both CNC models. The defined parts are kept until a new one is defined, they are changed or the CNC is turned off. Up to four different parts may be programmed and each one may be assigned to several channels at the same time.

Instruction.

#DGWZ

#DGWZ RECT

#DGWZ CYL

·M· model.

Prismatic part.

Prismatic part.

Cylindrical part.

·T· model.

Cylindrical part.

Prismatic part.

Cylindrical part.

Dual-purpose machine.

(*)

Prismatic part.

Cylindrical part.

(*) On an ·M· model, having the dual-purpose machine option, the instruction draws a prismatic part.

On an ·T· model, having the dual-purpose machine option, the instruction draws a cylindrical part.

The origins for the parts will be the ones defined in the execution channel.

Programming.

When programming this instruction, it is necessary to define the size of the part and optionally the part number and the channels it is associated with. Both parameters, part number and channels may be programmed in any order.

Programming format (1). Defining a prismatic part.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets. The RECT command may be left out at the mill model.

#DGWZ <RECT> [{Xmin},{Xmax},{Ymin},{Ymax},{Zmin},{Zmax}] <P{1-4}>

<C{1-4}>..<C{1-4}>

<RECT>

{Xmin}{Xmax}

{Ymin}{Ymax}

{Zmin}{Zmax}

<P{1-4}>

<C{1-4}>

Optional at the mill model. Prismatic part.

Minimum and maximum limit on the first axis of the channel.

Minimum and maximum limit on the second axis of the channel.

Minimum and maximum limit on the third axis of the channel.

Optional. Part number (between 1 and 4).

Optional. Number of channel associated with the part (between 1 and 4).

The instruction lets associate several channels to the same part in any order.

#DGWZ [-10, 100, -15, 40, 0, 20]

(It can only be programmed at the ·M· model)

#DGWZ RECT [-10, 100, -15, 40, 0, 20]

#DGWZ RECT [-10, 100, -15, 40, 0, 20] P1 C1 C2

#DGWZ RECT [-10, 100, -15, 40, 0, 20] C2 P1 C1 C3

CNC 8060

CNC 8065

(R EF : 1901)

·439·

26.

CNC 8060

CNC 8065

(R EF : 1901)

·440·

Programming manual.

Z

Y

Zmax

Zmin

X

Xmin

Ymax

Ymin

Xmax

#DGWZ RECT [{Xmin},{Xmax},{Ymin},{Ymax},{Zmin},{Zmax}]

Programming format (2). Defining a cylindrical part.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets. The CYL command may be left out at the lathe model.

#DGWZ <CYL> {LongAxis} [{LongAxisMin},{LongAxisMax},{Int},{Ext}] <P{1-4}>

<C{1-4}>..<C{1-4}>

<CYL>

{LongAxis}

{LongAxisMin}

{LongAxisMax}

{Int}{Ext}

Optional at the lathe model. Cylindrical part.

Longitudinal axis of the cylinder.

Minimum and maximum limit on the longitudinal axis.

<P{1-4}>

<C{1-4}>

Inside and outside radius/diameter. The value will be in radius or diameter depending on machine parameter DIAMPROG and the active function

G151/G152.

Optional. Part number (between 1 and 4).

Optional. Number of channel associated with the part (between 1 and 4).

The instruction lets associate several channels to the same part in any order.

#DGWZ [-100, 0, 0, 40]

(It can only be programmed at the ·T· model)

#DGWZ CYL Z [-100, 0, 0, 40]

#DGWZ CYL Z [-100, 0, 0, 40] P1 C1 C2

#DGWZ CYL Z [-100, 0, 0, 40] C1 C4 P1 C2

X

Ext

LongAxisMin

LongAxisMax

#DGWZ CYL {LongAxis} [{LongAxisMin},{LongAxisMax},{Int},{Ext}]

Z

Int

Programming manual.

Part number and channel number.

The graphics may represent up to 4 parts at the same time and each one of them may be associated with one or several channels. The part zeros are always associated with the execution channel.

#DGWZ CYL/RECT [...]

Modify or create the part with the same number as that of the execution channel and associated with the execution channel. For example, from channel 1, it will be part

P1 associated with channel C1; from channel 2, it will be part P2 associated with C2, etc.

#DGWZ CYL/RECT [...] Pn Cm

Modify or create part Pn associated with channel Cm.

#DGWZ CYL/RECT [...] Pn

Modify or create part Pn associated with the execution channel.

#DGWZ CYL/RECT [...] Cm

Modify or create part Pm associated with channel Cm.

#DGWZ CYL/RECT [...] Cn Cm

Modify or create part Pn associated with channels Cn and Cm.

C1

Programming from channel ·1·.

#DGWZ RECT [...]

P1

P1

C1

C2

P1

C2

P2

Programming from channel ·1·.

#DGWZ CYL Z [...] P1 C1

Programming from channel ·2·.

#DGWZ CYL Z2 [...] P2 C2

Programming from channel ·1·.

#DGWZ CYL Z [...] P1 C1 C2

C1

26.

CNC 8060

CNC 8065

(R EF : 1901)

·441·

26.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

26.2

ISO generation.

ISO generation converts canned cycles, calls to subroutines, loops, etc. into their equivalent

ISO code (G, F, S, etc functions), so the user can modify it and adapt it to his needs (eliminate unwanted movements, etc.).

Original block.

ISO generation.

ISO and conversational canned cycles.

The CNC breaks up the canned cycles into ISO blocks (G, F, S, etc. functions).

Local subroutines.

T h e C N C r e p l a c e s t h e c a l l s t o l o c a l s u b r o u t i n e s w i t h t h e c o n t e n ts o f t h e subroutine.

Conditional loops ($IF, $FOR, etc.) and block repetition (#RPT, NR).

The CNC breaks up the loops and repetitions into ISO blocks (G, F, S, etc. functions).

Parameters and variables.

The CNC replaces the arithmetic parameters and variables with their values.

The CNC generates the new ISO code while simulating the program, either from the DISIMU mode or from the conversational mode. Simulating a cycle from the cycle editor does not generate ISO code. While converting into ISO code, the CNC saves the new blocks into a new program (by default with extension .fiso) and, therefore, does not modify the original program.

To generate the ISO code during simulation, the program must include the following instructions. The CNC only generates the ISO code of the portion programmed between these two instructions and it ignores the rest.

#ISO ON

#ISO OFF

Enable ISO generation.

Disable ISO generation.

Programming. Enable ISO generation.

When defining this instruction, there is an option to define the path and the name of the generated program. If a parameter is to be modified throughout the program, just program the instruction again with the new parameters.

Programming format.

The programming format is the following; the arguments appear between curly brackets and the optional ones between angle brackets. Programming the ON command is optional.

#ISO <ON> <[NAME="{path\name}"]>

NAME={path\name} Optional. Path and name of the output program.

#ISO

(Enable ISO generation)

#ISO ON [NAME="C:\Fagorcnc\Users\Prg\cycles.fiso"]

(Enable ISO generation)

(The CNC saves the program in the indicated folder)

(The CNC saves the program with the name "cycles.fiso")

#ISO [NAME="cycles.nc"]

(Enable ISO generation)

(The CNC saves the program with the name "cycles.nc")

Path and name of the generated file.

The path and name are optional; If not programmed, the CNC assumes the last value used in the program. The CNC keeps the programmed values until the end of the program.

If the path is not indicated and no value has been programmed earlier, the generated program will be in the same folder as the original one. If the name is not indicated and no value has been programmed earlier, the generated program will have same name as the original one but with the extension .fiso.

·442·

Programming manual.

Programming. Disable ISO generation.

'This instruction must be programmed alone in the block' Programming it is optional; if not programed, the CNC generates ISO code up to the end of the program (M30).

Programming format.

The programming format is:

#ISO OFF

#ISO OFF

(Disable ISO generation)

Considerations.

Converting pockets to ISO code.

ISO blocks created from the pockets are calculated with a specific tool radius. If these blocks are executed using another radius, the machining will not execute as expected.

Programming the tool in the canned cycles.

There are canned cycles, subroutines, etc. that need to have the tool radius to create the

ISO blocks. In these cases, the tool number must be programmed after the statement #ISO.

Program two #ISO instructions in the same program.

• If in a program there are two or more #ISO instructions with the same name and an

#ISO OFF instruction has been programmed between them, from the second #ISO instruction on the CNC resumes ISO block generation in the same program.

• If in a program there are two or more #ISO instructions with the same name and no

#ISO OFF instruction has been programmed between them, from the second #ISO instruction will have no effect (it will be ignored).

• If in a program there are two or more #ISO instructions with different names, the ISO blocks generated since each instruction will go in the program indicated in each instruction. It doesn't matter whether an #ISO OFF instruction has been programed or not between both instructions.

Examples.

Example. Convert a subroutine.

%L SUBROUTINE

G90 G01 X80 Y0 F500

Z-2

G91 Y-25

G03 Y50 R25

G01 Y-25

G90 G01 Z5

M29

%PROGRAM

···

LL SUBROUTINE

···

Example. Convert a canned cycle.

G0 X0 Y0 G81 I-10

Program after ISO generation.

···

(LL SUBROUTINE)

G90 G01 X80 Y0 F500

Z-2

G91 Y-25

G03 Y50 R25

G01 Y-25

G90 G01 Z5

(M29)

···

Program after ISO generation.

G0 X0 Y0 G80

;---------- G81 I-10 ----------

G40

M3

G0 G61 G90 Z5

G1 G60 Z-10

G0 G50 Z5

G0 G139

;-------------------------

26.

CNC 8060

CNC 8065

(R EF : 1901)

·443·

26.

Example. Convert a repetition.

G91 G01 Q60 NR6

Example. Convert parameters.

$FOR P1=0,240,120

G73 Q[P1]

$ENDFOR

Programming manual.

Program after ISO generation.

G91 G01 Q60 ;NR6

G91 G01 Q60 ;NR6

G91 G01 Q60 ;NR6

G91 G01 Q60 ;NR6

G91 G01 Q60 ;NR6

G91 G01 Q60 ;NR6

Program after ISO generation.

G73 Q[0]

G73

G73 Q[120]

G73

G73 Q[240]

G73

CNC 8060

CNC 8065

(R EF : 1901)

·444·

Programming manual.

26.3

Electronic axis slaving

Two axes may be slaved to each other so the movement of one of them (slave) depends on the movement of the other one (master).

It is possible to have several axis couplings (slaving) at the same time.

Axis coupling is activated with the

#LINK

instruction and canceled with the

#UNLINK instruction. When reaching the end of program with a coupled pair of axes, this slaving is canceled after executing an M02 or M30.

Considerations about axis coupling

Although the

#LINK

instruction admits several sets (pairs) of axes, the following limitations must be taken into account:

• The main axes (the first three axes of the channel) cannot be slaves.

• Both axes of the master-slave pair must be of the same type (linear or rotary).

• The master axis of a pair cannot be the slave of another pair.

• An axis cannot be slaved to more than one master axis.

Likewise, a new slaving (coupling) cannot be activated without deactivating the pairs previously slaved.

#LINK

Activate the electronic coupling (slaving) of axes

This instruction defines and activates the electronic coupling of axes. Several couplings may be activated at the same time. When executing this instruction, all the axes defined as slaves depend on their relevant masters. On these slave axes, no movement may be programmed while they stay coupled.

This instruction may also be used to define the maximum following error difference allowed between the master axis and its slave.

The programming format is as follows:

#LINK [<master>,<slave>,<error>][...]

Parameter

<master>

<slave>

<error>

Meaning

Master axis.

Slave axis.

Optional. Maximum difference allowed between the following errors of both axes.

Programming the amount of error is optional; if not programmed, this test is not carried out.

The maximum error will be defined in millimeters or inches for linear axes and in degrees for rotary axes.

#LINK [X,U][Y,V,0.5]

#LINK [X,U,0.5][Z,W]

#LINK [X,U][Y,V][Z,W]

#UNLINK

Cancel the electronic coupling (slaving) of axes

This instruction deactivates the active axis slaving.

#UNLINK

(Cancels axis coupling)

When reaching the end of program with a coupled pair of axes, this slaving is canceled after executing an M02 or M30.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·445·

26.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

26.4

Axis parking

Some machines, depending on the type of machining, may have two different configurations

(axes and spindles). In order to prevent the elements not present in one of the configurations from causing an error message (drives, feedback systems, etc.) the CNC allows parking them.

For example, a machine that swaps a normal spindle with a rectangular one may have the following axes configurations:

• With a normal spindle, X Y Z axes configuration.

• With an orthogonal spindle, X Y Z A B axes configuration.

In this case, when working with the normal spindle, the A and B axes may be parked to ignore their signals.

Several axes and spindles may stay parked at the same time, but they must always be parked

(and unparked) one by one.

Use the

#PARK

instruction to park the axes and spindles and

#UNPARK to cancel (unpark) them. The axes and spindles stay parked after executing an M02 or M30, after a RESET and even after turning the CNC off and back on.

Considerations about axis parking

The CNC will not allow parking an axis in the following cases.

• If the axis belongs to the active kinematics.

• If the axis belongs to an active transformation #AC or #ACS.

• If the axis belongs to an active angular transformation #ANGAX .

• If the axis belongs to a gantry, tandem pair or is a slaved axis.

• If the axis belongs to an active tangential control #TANGCTRL.

Considerations about spindle parking

The CNC will not allow parking a spindle in the following cases.

• If the spindle is not stopped.

• If the spindle is working as a C axis.

• If

G96

or

G63

is active and it is the master spindle of the channel.

• If

G33

or

G95

is active and it is the master spindle of the channel or the spindle is used to synchronize the feedrate.

• If the spindle belongs to a tandem pair or is a synchronized spindle, be it the master or the slave.

If after parking the spindles, there is only one spindle left in the channel, it will become the new master. If a spindle is unparked and it is the only spindle of the channel, it is also assumed as the new master spindle.

#PARK

Parks an axis

This instruction is used to park the selected axis or spindle. When any of them is parked, the CNC interprets that it no longer belongs to the machine configuration and no longer controls it (ignoring the signals from the drive and from the feedback systems, etc.).

Once an axis or spindle has been parked, the part-program cannot mention it (movements, speed, M functions, etc.).

The programming format is as follows:

#PARK <axis/spindle>

Each element (axis or spindle) must be parked separately. However, a second element can be parked without having to unpark the first one.

·446·

Programming manual.

When trying to park an axis or spindle that is already parked, the programming is ignored.

#PARK A

(It parks the "A" axis)

#PARK S2

(It parks spindle "S2")

#UNPARK

Unparks an axis

This instruction is used to unpark the selected axis or spindle. When unparking one of them, the CNC interprets that it belongs to the machine configuration and starts controlling it.

The programming format is as follows:

#UNPARK <axis/spindle>

The axes must be unparked one by one.

When trying to unpark an axis or spindle that is already unparked, the programming is ignored.

#UNPARK A

(It unparks the "A" axis)

#UNPARK S

(It unparks the "S" spindle)

26.

CNC 8060

CNC 8065

(R EF : 1901)

·447·

26.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

26.5

Modifying the configuration of the axes of a channel

Initially, each channel has some axes assigned to it as set by the machine parameters. While executing a program, a channel may release its axes or request new axes. This possibility is determined by machine parameter

AXISEXCH

, which establishes whether an axis can change channels or whether this change is permanent or not.

A permanent change is maintained after the end of the program, after a reset and on powerup. The original configuration may be restored either by validating the general parameters and restarting or by a part-program that undoes the changes.

It also restores the machine parameter settings if a checksum error occurs when powering up the CNC. .

Knowing if an axis can change channels

Machine parameter

AXISEXCH

may be consulted using the following variable.

V.MPA.AXISEXCH.Xn

Replace "Xn" with the name or logic number of the axis.

1

2

Value

0

Meaning

It cannot change channels.

The change is temporary.

The change is permanent.

Knowing in which channel the axis is

It is possible to know in which channel the axis is by using the following variable.

V.[n].A.ACTCH.Xn

Replace "Xn" with the name or logic number of the axis.

Replace the "n" letter with the channel number.

Value

0

1-4

Meaning

It is not in any channel.

Channel number.

Commands for modifying the axis configuration via program

The following instructions are used to modify the configuration of the axes. It is possible to add or remove axes, change their names and even redefine the main axes of the channel by swapping their names.

Changing the configuration of the axes cancels the active polar origin, the pattern rotation, the mirror image and the scaling factor.

In the configuration of the axes (if G17 is active), the axis that occupies the first position must be the abscissa axis, the second will be the ordinate axis, the third will be the axis perpendicular to the work plane, the fourth will be the first auxiliary axis and so on.

#SET AX

Sets the axis configuration

Defines a new axis configuration in the channel. The channel axes not programmed in the instruction and the nonexistent programmed ones will be added. The axes are placed in the channel in the positions as they are programmed in the instruction

#SET AX

. Optionally, one or several offsets may be applied to the defined axes.

It is the same as programming a

#FREE AX

of all the axes and then a

#CALL AX

of all the new axes.

The instruction

#SET AX

may also be used only to order the existing axes in the channel differently.

The programming format is as follows:

#SET AX [<Xn>,...] <offset> <...>

·448·

Programming manual.

Parameter

<Xn>

<offset>

Meaning

Axes that make up the new configuration. If instead of defining an axis, a zero is written, an empty space (without an axis) appears in this position.

Optional. It sets which offset is applied to the axes. Several offsets may be applied.

#SET AX [X,Y,Z]

#SET AX [X,Y,V1,0,A]

Offset setting

The offsets that may be applied to the axes are identified with the following commands. To apply several offsets, program the relevant commands separated by a blank space.

Command

ALL

LOCOF

FIXOF

ORGOF

MEASOF

MANOF

Meaning

Include all the offsets.

Include the offset of the reference search.

Include the fixture offset.

Include zero offset.

Include measurement offset.

Include the offset of the manual operations.

#SET AX [X,Y,Z] ALL

#SET AX [X,Y,V1,0,A] ORGOF FIXOF

If when defining a new configuration only the order of the axes in the channel is swapped, the offsets are ignored.

Screen display

At first, the axes appear ordered as they have been defined in the general machine parameter table (by channels) and then as the swapping is defined.

?

Z

Y

?

A

00000.0000

00000.0000

00000.0000

00000.0000

00000.0000

#SET AX [Y, 0, 0, Z, A]

Z

?

X

Y

?

00125.1500

00089.5680

00000.0000

00000.0000

00000.0000

#SET AX [X, Y, Z] FIXOF ORGOF

Screen display of the different configurations. Let us suppose a machine with 5 axes X-Y-

Z-A-W.

#CALL AX

Adds an axis to the configuration it adds one or more axes to the preset configuration and it also allows defining its position.

If the axis already exists in the configuration, it is placed in the new position. If the axis already exists and no position is programmed, the axis stays in its original position. Optionally, one or several offsets may be applied to the defined axes.

The programming format is as follows:

#CALL AX [<Xn>,<pos>...] <offset> <...>

26.

CNC 8060

CNC 8065

(R EF : 1901)

·449·

26.

CNC 8060

CNC 8065

(R EF : 1901)

·450·

Programming manual.

Parameter

<Xn>

<pos>

<offset>

Meaning

Axes to be added to the configuration. If the axis already exists, it is placed in the new position.

Optional. Position of the axis in the new configuration. If not programmed, the axis is placed after the last one. If the position is occupied, the relevant error message will be issued.

Optional. It sets which offset is applied to the axes. Several offsets may be applied.

#CALL AX [X,A]

(It adds the X and A axes to the configuration, after the last existing axis)

#CALL AX [V,4,C]

(It adds the V axis to position 4 and the C axis after the last one)

Offset setting

The offsets that may be applied to the axes are identified with the following commands. To apply several offsets, program the relevant commands separated by a blank space.

Command

ALL

LOCOF

FIXOF

ORGOF

MEASOF

MANOF

Meaning

Include all the offsets.

Include the offset of the reference search.

Include the fixture offset.

Include zero offset.

Include measurement offset.

Include the offset of the manual operations.

#CALL AX [X] ALL

#CALL AX [V1,4,Y] ORGOF FIXOF

Screen display

At first, the axes appear ordered as they have been defined in the general machine parameter table (by channels) and then as the swapping is defined.

Y

X

W

Z

?

00000.0000

00000.0000

00000.0000

00000.0000

00000.0000

Axis configuration

#SET AX [Y, 0, 0, Z]

Y: Abscissa axis.

Z: First auxiliary axis.

#CALL AX [X,2, W, 3]

Y: Abscissa axis.

X: Ordinate axis.

W: Axis perpendicular to the plane.

Z: First auxiliary axis.

#FREE AX

Frees an axis from the configuration

Removes the programmed axes from the current configuration. After removing an axis, the position is free, but the order of the axes that remain in the channel does not change.

The programming format is as follows:

#FREE AX [<Xn>,...]

Parameter

<Xn>

Meaning

Axis to be removed from the configuration

Programming manual.

#FREE AX [X,A]

(It removes the X and A axes from the configuration)

#FREE AX ALL

(Removes all the axes from the channel)

Screen display

At first, the axes appear ordered as they have been defined in the general machine parameter table (by channels) and then as the swapping is defined.

Z

A

X

Y

B

00000.0000

00000.0000

00000.0000

00000.0000

00000.0000

Z

?

X

?

B

00000.0000

00000.0000

00000.0000

00000.0000

00000.0000

#FREE AX [Y, A]

Screen display of the different configurations. Let us suppose a machine with 5 axes X-Y-

Z-A-W.

#RENAME AX

Renames the axes

It changes the name of the axes. For each programmed axis pair, the first axis takes the name of the second one. If the second axis is present in the configuration, it takes the name of the first one. Any axis may be renamed with any name, whether it is in any channel or not.

The programming format is as follows:

#RENAME AX [<Xn1>,<Xn2>][...]

Parameter

<Xn1>

<Xn2>

Meaning

Axis whose name is to be changed new axis name.

#RENAME AX [X,X1]

(The X axis is now called X1. If X1 already exists in the channel, it is called X)

#RENAME AX [X1,Y][Z,V2]

Parameter RENAMECANCEL indicates whether the CNC keeps or cancel the names of the axes and spindles (#RENAME) after executing M02 or M30, after a reset or at the beginning of a new part-program in the same channel.

After turning the CNC off and on, the axes and spindles always keep their new name, except after a checksum error or after validating the machine parameters that involve restoring the original configuration of channels, axes or spindles. In either case, the axes and the spindles will recover their original names.

When a channel releases (frees) an axis (instruction #SET or #FREE), the axis always recovers its original name.

Even if the #RENAME is kept (parameter RENAMECANCEL), the CNC cancels it if the channel recovers an axis with the same name after a reset or after a new program starts.

This occurs if the #RENAME uses the name of an axis whose channel change permission is temporary or no_exchange (parameter AXISEXCH), that is not in the channel at the time.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·451·

26.

Programming manual.

Accessing the variables of a renamed axis.

After changing the name of an axis, the new name of the axis must be used to access its variables from the part-program or MDI. The access to the variables from the PLCA or from an interface does not change; the original name of the axis remains unchanged.

#RENAME AX OFF

Cancel rename.

This instruction cancels the renaming of the indicated axes, regardless of what parameter

RENAMECANCEL indicates; if no axis is defined, it cancels the renaming of all the axes of the channel.

The programming format is as follows:

#RENAME AX OFF [<Xn>, <Xn>, ...]

Parameter

<Xn>

Meaning

Renamed axis.

#RENAME AX OFF [X]

(Cancel the renaming of the X axis).

#RENAME AX OFF

(Cancel the renaming of all the axes).

CNC 8060

CNC 8065

(R EF : 1901)

·452·

Programming manual.

26.6

Modifying the configuration of the spindles of a channel

The CNC can have up to four spindles distributed between the various channels of the system. A channel may have one, several or no spindles associated with it.

Initially, each channel has some spindles assigned to it as set by the machine parameters.

While executing a program, a channel may release its spindles or request new spindles. This possibility is determined by machine parameter

AXISEXCH

, which establishes whether a spindle can change channels or whether this change is permanent or not.

A permanent change is maintained after the end of the program, after a reset and on powerup. The original configuration may be restored either by validating the general parameters and restarting or by a part-program that undoes the changes.

It also restores the machine parameter settings if a checksum error occurs when powering up the CNC. .

Knowing if a spindle can change channels

Machine parameter

AXISEXCH

may be consulted using the following variable.

V.MPA.AXISEXCH.Sn

Replace "Sn" with the spindle name.

1

2

Value

0

Meaning

It cannot change channels.

The change is temporary.

The change is permanent.

Knowing in which channel the spindle is

It is possible to know in which channel the spindle is by using the following variable.

V.[n].A.ACTCH.Sn

Replace "Sn" with the spindle name.

Replace the "n" letter with the channel number.

Value

0

1-4

Meaning

It is not in any channel.

Channel number.

Commands for modifying the spindle configuration via program

The following instructions are used to modify the configuration of the spindles of the channel.

It is possible to add or remove spindles, change the name of the spindles and define which one is the master spindle of the channel.

#FREE SP

Frees a spindle from the configuration

Removes the defined spindles from the current configuration.

The programming format is as follows:

#FREE SP [<Sn>,...]

#FREE SP ALL

Parameter

<Sn>

ALL

Meaning

Spindle name.

Frees all the spindles of the channel.

#FREE SP [S]

(It removes the spindle S from the configuration)

#FREE SP [S1,S4]

(It removes spindles S1 and S4 from the configuration)

#FREE SP ALL

(It removes all the spindles from the configuration)

26.

CNC 8060

CNC 8065

(R EF : 1901)

·453·

26.

CNC 8060

CNC 8065

(R EF : 1901)

·454·

Programming manual.

#CALL SP

Add a spindle to the configuration

It adds one or several spindles to the current configuration. The position of the spindles in the channel is not relevant. To add a spindle to the channel, the spindle must be free; it must not be in another channel.

The programming format is as follows:

#CALL SP [<Sn>,...]

Parameter

<Sn>

Meaning

Spindle name.

#CALL SP [S1]

(It adds spindle S1 to the configuration)

#CALL SP [S,S2]

(It adds spindles S and S2 to the configuration)

#SET SP

Sets the spindle configuration

Defines a new spindle configuration. The spindles existing in the channel and not programmed in

#SET SP

are removed and those programmed that are not already in the channel will be added. When a new configuration is defined, the order in which the spindles are defined is not relevant; the CNC always arranges them in an ascending order, according to the list of machine parameters.

It is the same as programming a

#FREE SP

of all the spindles and then a

#CALL SP

of all the new spindles. The programming format is as follows:

#SET SP [<Sn>,...]

Parameter

<Sn>

Meaning

Spindle name.

#SET SP [S]

(Configuring one spindle)

#SET SP [S1,S2]

(Configuring two spindles)

#RENAME SP

Rename the spindles

It changes the name of the spindles. For each programmed spindle pair, the first spindle takes the name of the second one. If the second spindle is present in the configuration, it takes the name of the first one. Any axis may be renamed with any name, whether it is in any channel or not.

The programming format is as follows:

#RENAME SP [<Sn>,<Sn>][...]

Parameter

<Sn>

Meaning

Spindle name.

#RENAME SP [S,S1]

#RENAME SP [S1,S2][S3,S]

Parameter RENAMECANCEL indicates whether the CNC keeps or cancel the names of the axes and spindles (#RENAME) after executing M02 or M30, after a reset or at the beginning of a new part-program in the same channel.

After turning the CNC off and on, the axes and spindles always keep their new name, except after a checksum error or after validating the machine parameters that involve restoring the original configuration of channels, axes or spindles. In either case, the axes and the spindles will recover their original names.

Programming manual.

When a channel releases (frees) a spindle (instruction #SET or #FREE), the axis always recovers its original name.

Even if the #RENAME is kept (parameter RENAMECANCEL), the CNC cancels it if the channel recovers a spindle with the same name after a reset or after a new program starts.

This occurs if the #RENAME uses the name of a spindle whose channel change permission is temporary or no_exchange (parameter AXISEXCH), that is not in the channel at the time.

Accessing the variables of a renamed axis.

After changing the name of an axis, the new name of the axis must be used to access its variables from the part-program or MDI. The access to the variables from the PLCA or from an interface does not change; the original name of the axis remains unchanged.

#RENAME SP OFF

Cancel rename.

This instruction cancels the renaming of the indicated spindles, regardless of what parameter

RENAMECANCEL indicates; if no spindle is defined, it cancels the renaming of all the spindles of the channel.

The programming format is as follows:

#RENAME SP OFF [<Sn>, <Sn>, ...]

Parameter

<Sn>

Meaning

Renamed spindle.

#RENAME SP OFF [S3]

(Cancel the renaming of spindle S3).

#RENAME SP OFF

(Cancel the renaming of all the spindles).

26.

CNC 8060

CNC 8065

(R EF : 1901)

·455·

26.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

26.7

Spindle synchronization

This mode may be used to set the movement of a spindle (slave) synchronized with that of another spindle (master) through a given ratio. The spindle synchronization is always programmed in the channel the slave spindle belongs to, both to activate it or deactivate it and to reset it.

There are two types of synchronization; in speed and in position. The activation and cancellation of the different types of synchronization are programmed with the following instructions.

#SYNC

#TSYNC

#UNSYNC

- Spindle synchronization based on the real (actual) coordinate.

- Spindle synchronization based on the theoretical coordinate.

- Cancellation of spindle synchronization.

#SYNC

Spindle synchronization based on the real (actual) coordinate

#TSYNC

Spindle synchronization based on the theoretical coordinate

The programming format for each of them is the following. Optional parameters are indicated between the

<>

characters.

#SYNC [{master}, {slave} <,N{nratio}, D{dratio}> <,O{posync}> <,{looptype}>

<,{keepsync}>][··]

#TSYNC [{master}, {slave} <,N{nratio}, D{dratio}> <,O{posync}> <,{looptype}>

<,{keepsync}>][··]

Each pair of brackets defines a synchronism between two spindles.

Parameter

{master}

{slave}

{nratio}

{dratio}

{posync}

{looptype}

{keepsync}

Meaning

Master spindle of the synchronization.

Master spindle of the synchronization.

Optional. This pair of numbers define the gear ratio (nratio/dratio) between the synchronized spindles.

Both values can be positive or negative.

Optional. This parameter determines that they are synchronized in position and it also sets the offset (shift) between the two spindles.

The values may be positive or negative and greater than 360º.

Optional. This parameter indicates the type of loop for the master spindle.

"CLOOP" for the spindle in closed loop. "OLOOP" for the spindle in open loop.

If not programmed, the statement assumes the value "CLOOP".

Optional. This parameter indicates whether the CNC cancels spindle synchronization or not after executing M02, M30 or after an error or reset. With

"CANCEL" value, the CNC cancels the synchronism; with "NOCANCEL" value, it doesn't cancel it.

If not programmed, the statement assumes the value set by the OEM (parameter

SYNCCANCEL).

#SYNC [S,S1]

The spindles are synchronized in speed. The slave spindle S1 turns at the same speed as the master spindle S.

#SYNC [S,S1,N1,D2]

The slave spindle S1 turns at half the speed (1/2) of the master spindle S.

#SYNC [S,S1,N1,D2,O15]

After synchronizing in speed and in position, the slave spindle S1 follows the master S with the indicated offset, which could be for example 15º.

#SYNC [S,S1,O30,OLOOP]

Synchronism in speed and position with 30º offset. The master spindle works in open loop.

#SYNC [S,S1,O30,CLOOP, CANCEL]

Synchronism in speed and position with 30º offset. The master spindle works in closed loop. The

CNC cancels the synchronism after M30, an error or a reset.

·456·

Programming manual.

Considerations for the synchronization

The

#SYNC

function may be executed either in open loop (M3 or M4) or in closed loop (M19)

In the synchronization, the master spindle can work in either open or closed loop; the slave spindle is always in closed loop.

Several pairs of synchronized spindles may be programmed in the same instruction

#SYNC or

#TSYNC

. Several consecutive

#SYNC

instructions can also be programmed with an additive effect as long as they do not conflict with the previous ones.

The slave spindle must be in the channel where the synchronization is activated whereas the master spindle may be in any channel. Several slave spindles may have the same master spindle, but a slave spindle cannot be the master of a third one; thus preventing synchronism loops.

It is possible to program either first the synchronism in speed and then in position or both at the same time. Once a pair has been synchronized, it is possible to change its speed ratio and/or its offset (shift); if necessary, the spindles will get out of synchronism and back in synchronism to make the change.

Both spindles must operate in closed loop in order to assure proper follow-up. Once they're both in closed loop, the slave spindle switches from its current speed to the synchronism speed. The master spindle may be turning when programming the synchronization and it will switch to closed loop maintaining its rotation.

Programming the master and slave spindles

For the slave spindle, it is not possible to program the speed, the spindle functions M3, M4,

M5 and M19, gear changes M41 through M44 or change the speed override.

The following functions may be programmed for the master spindle:

• Change the spindle speed via PLC or CNC.

• Execute the speed functions G94, G95, G96 and G97.

• Execute the auxiliary functions M3, M4, M5 and M19.

• Change the spindle speed override via PLC, CNC or keyboard.

• Change the spindle speed limit via PLC or CNC.

• If the C axis is activated, define the XC or ZC plane.

When defining the synchronization or when it is active, the master spindle can work as C axis or in G63. Functions G33, G95 or G96 may also be active at the master spindle.

Functions G33 and G95 may also be active at the slave spindle, but function G96 will stay temporarily "frozen" and without effect during the synchronization.

On the other hand, the synchronized spindles cannot change channels and it is not possible to change gears M41 through M44. If the gear change is automatic and the new speed requires a gear change, the relevant error message will be issued.

Work gear

The spindles may have different gears (ranges). If at the time of the synchronization, the spindles are not in the same state, the slave "freezes" its state, changes the gear indicated by machine parameter

SYNCSET

and is forced to follow the master.

If the master belongs to the same channel, it also changes to the gear indicated by its parameter

SYNCSET

If the master is in another channel, the gear must be activated before activating the synchronization. Therefore, it is up to the user to prepare the master spindle so the slave can synchronize it with it.

Machine reference (home) search

The slave spindle must be homed (referenced) before activating the position synchronism if it has been homed before. If the master spindle is in the same channel and has not been homed, it is also forced to be homed. An error message will be issued if the master spindle is in another channel and it has not been homed.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·457·

26.

CNC 8060

CNC 8065

(R EF : 1901)

·458·

Programming manual.

#UNSYNC

Uncouple one or several spindles

The programming format is: Optional parameters are indicated between the

<>

characters.

#UNSYNC

#UNSYNC [slave1 <,slave2> ...]

All the spindles are uncoupled if no parameter is defined.

Parameter slave

Meaning

Slave spindle to be synchronized.

#UNSYNC

All the spindles of the channel are uncoupled.

#UNSYNC [S1,S2]

Slave spindles S1 and S2 are uncoupled from the master spindle with which they were synchronized.

Considerations for uncoupling

The synchronism is also canceled with M30 and RESET.

When canceling the synchronism, the master spindle stays in its current state and the slave stops. The slave does not recover the M function prior to the synchronization, but it keeps the synchronism gear until a new S function is programmed.

Variables associated with the synchronization movement

These variables are read/write (R/W) synchronous and are evaluated during execution.

They have generic names.

• Replace the "n" character with the channel number, maintaining the brackets. The first channel is identified with the number 1, "0" is not a valid number.

• Replace the "Xn" character by the name, logic number or index in the channel of the axis.

Adjust the speed synchronism ratio

(V.)[n].A.GEARADJ.Xn

Read-only from the PRG, PLC and INT. The PLC reading comes in hundredths (x100)

Fine adjustment of the gear ratio during the synchronization itself. It is programmed as a percentage of the original adjustment value.

Speed synchronization

(V.)[n].A.SYNCVELW.Xn

Read-only from the PRG, PLC e INT.

When the spindles are synchronized in speed, the slave spindle turns at the same speed as the master spindle (taking the ratio into account). If the value defined in this variable is exceeded, the SYNSPEED signal goes low; the movement is not stopped and no error message is issued.

Its default value is that of machine parameter

DSYNCVELW

.

(V.)[n].A.SYNCVELOFF.Xn

Read-only from the PRG, PLC e INT.

Velocity offset of the slave spindle synchronization.

Programming manual.

Position synchronization

(V.)[n].A.SYNCPOSW.Xn

Read-only from the PRG, PLC e INT.

When the spindles are synchronized in position, the slave spindle follows the master keeping the programmed offset (taking the ratio into account). If the value defined in this variable is exceeded, the SYNCPOSI signal goes low; the movement is not stopped and no error message is issued.

Its default value is that of machine parameter

DSYNCPOSW

.

(V.)[n].A.SYNCPOSOFF.Xn

Read-only from the PRG, PLC e INT.

Position offset.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·459·

26.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

26.8

Selecting the loop for an axis or a spindle. Open loop or closed loop

i This function is not available for Sercos position-drives (axis or spindle). In this case, the CNC cannot open or close the loop, the drive controls the loop, instead.

When working in open loop, the command does not depend on the feedback. When working in closed loop, the command is generated according to the feedback.

The spindle usually works in open loop when it is in M3 or M4 and in closed loop when it is in M19. In spindle synchronization, the slave always works in closed loop and the master can work either in open loop or closed loop depending on the programming parameters of the #SYNC instruction. However, it is possible to work in closed loop with functions M3 and

M4 to make the following adjustments on a spindle:

• Adjust the loop for M19.

• Adjust a loop for when the spindle is the master of a synchronization.

The axes usually work in closed loop. A rotary axis may be controlled in open loop as if it were a spindle.

The following instructions may be used to open and close the loops and they are valid for axes as well as for spindles.

#SERVO ON

#SERVO OFF

- Activates the closed loop mode.

- Activates the open loop mode.

#SERVO ON

Activates the closed loop mode

Programming this instruction switches the axis or spindle to closed loop mode.

The spindle must be homed before switching to closed loop mode; otherwise the loop will be closed and a warning message will be issued.

The programming format is as follows:

#SERVO ON [axis/spindle]

Parameter Meaning axis/spindle Name of the axis or spindle.

The loop of each axis or spindle must be closed separately.

#SERVO ON [S]

Closes the loop of spindle S.

#SERVO ON [S2]

Closes the loop of spindle S2.

#SERVO ON [X]

Closes the loop of the X axis.

#SERVO OFF

Activates the open loop mode

Programming this instruction switches the axis or spindle to open loop mode. For a spindle, it cancels the closed-loop mode programmed #SERVO ON and restores the status that the spindle had before closing the loop.

• If the spindle was in M19, it stays in closed loop after programming this instruction.

• In spindle synchronization, the #SERVO OFF instruction cannot be programmed for the slave spindle; if programmed, the CNC will issue an error message.

If the synchronization has been defined withe master spindle working in closed loop, it stays in closed loop after programming #SERVO OFF. If the synchronization has been defined with the master spindle working in open loop and, later on, it is closed with

#SERVO ON, the loop of the master spindle will be opened after programmming

#SERVO OFF.

• If the spindle was in M3, M4 or M5 without synchronism, the CNC opens the loop.

·460·

Programming manual.

The programming format is as follows:

#SERVO ON [axis/spindle]

Parameter Meaning axis/spindle Name of the axis or spindle.

The loop of each axis or spindle must be opened separately.

#SERVO OFF [S]

It cancels the closed loop of spindle S.

#SERVO OFF [Z2]

The Z2 axis switches to open loop mode.

Considerations for programming the loops

Function M19 involves always working in closed loop. Functions M3, M4 and M5 work in open loop by default , but they can also work in closed loop when programming a spindle synchronization or the instruction

#SERVO ON

.

When a spindle becomes a C axis or is interpolated with the rest of the axes (for rigid tapping, for example) does not lose its open-loop or closed-loop condition that it had. When done with these instructions, the previous situation is restored.

On power-up, the spindle is set in open loop. After executing an M30 or reset, the CNC opens the loop and cancels the instruction

#SERVO ON

, except when the reset is for the master spindle of a synchronization (which could be in a different channel from that of the slave); in that case, the synchronization is not canceled and it does not switch to open loop. This case issues a warning message.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·461·

26.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

26.9

Collision detection

The collision detection analyzes the machining tool paths beforehand in order to detect and avoid intersections of the profile with itself or collisions in the programmed profile. This function does not take into account the tool sizes, but rather only the tool paths. The number of analyzed blocks can be defined by the user, up to a maximum of 200 blocks (40 for an

8060).

The example shows machining errors (E) due to a collision in the programmed profile. This type of errors may be avoided using collision detection.

The example shows machining errors (E) due to a collision in the programmed profile. This type of errors may be avoided using collision detection.

When detecting a loop or a collision, the CNC will not execute the blocks that cause it and the screen will display a warning to let the operator know that the programmed profile has been modified. It will display a warning for each loop or collision eliminated. The information contained in the eliminated blocks, not being the moving in the active plane, will be executed

(including the movements of the axes).

Considerations for the collision detecting process.

• The collision detection can be applied even if there is no active tool radius compensation, but it will only detect the sections where the tool path is cut.

• Being collision detection active, it is possible to apply zero offsets, coordinate presetting and tool changes. However, home searches and measurements are NOT possible.

• Changing the work plane will interrupt the collision detecting process. The CNC checks for collisions in the blocks stored so far and resumes the process with the new plane starting with the new motion blocks.

• The collision detecting process will be interrupted when programming a instruction

(explicit or implicit) that involves synchronizing block preparation and execution (e.g.

#FLUSH). The process will resume after executing that instruction.

• Collision detection cannot be activated if a Hirth axis is active and it is part of the main plane. Likewise, while collision detection is active, an axis cannot be activated as a Hirth axis and the work plane cannot be changed if one of the axis is a Hirth axis.

#CD ON

Activate collision detection

It activates the collision detecting process. Being collision detection already active, it lets modify the number of blocks to be analyze.

The programming format is as follows:

#CD ON [<blocks>]

Parameter

<blocks>

Meaning

Optional. Number of blocks to analyze.

Defining the number of blocks to be analyzed is optional. If not programmed, the CNC assumes the maximum value. The horizon of blocks may be changed at any time, even while collision detection is active.

·462·

Programming manual.

#CD OFF

Cancels collision detection

It cancels the collision detecting process.

The process will also be canceled automatically after executing an M02 or M30 and after an error or a reset.

Example of a profile with a loop.

#CD ON [50]

G01 X0 Y0 Z0 F750

X100 Y0

Y-50

X90

Y20

X40

Y-50

X0

Y0

#CD OFF

Example of profile collision.

#CD ON

G01 G41 X0 Y0 Z0 F750

X50

Y-50

X100

Y-10

X60

Y0

X150

Y-100

X0

G40 X0 Y0

#CD OFF

M30

26.

CNC 8060

CNC 8065

(R EF : 1901)

·463·

Programming manual.

26.10 Spline interpolation (Akima)

This type of machining adapts the programmed contour to a spline type curve that goes through all the programmed points.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·464·

The dashed line shows the programmed profile. The solid line shows the spline.

The contour to be splined is defined with straight paths (G00/G01). When defining an arc

(G02/G03), the spline is interrupted while machining it and it resumes on the next straight path. The transitions between the arc and the spline is done tangentially.

#SPLINE ON

Activate spline adaptation.

When executing this instruction, the CNC interprets that the points programmed next are part of the spline and begins making the curve.

The programming format is as follows:

#SPLINE ON

The machining of splines cannot be activated if tool radius compensation (G41/G42) with linear transition between blocks (G137) or viceversa.

#SPLINE OFF

Cancel spline adaptation.

When executing this instruction, the CNC ends the spline and goes on machining as the path were programmed.

The programming format is as follows:

#SPLINE OFF

The spline can only be canceled if at least 3 points have been programmed. When defining the initial and final tangents of the spline, 2 points will be enough.

#ASPLINE MODE

Select type of tangent.

This instruction sets the type of initial and final tangents of the spline that determines the transition from the previous and to the next path. It is optional; if not defined, the tangent is calculated automatically.

The programming format is as follows:

#ASPLINE MODE [<initial> <, final>]

Parameter

<initial>

<final>

Meaning

Initial tangent.

Final tangent

The initial and final tangent of the spline may take one of the following values. If not programmed, it assumes a value of 1.

Programming manual.

Meaning

The tangent is calculated automatically.

Tangent to the previous /next block.

Tangent as specified.

2

3

Value

1

If defined with a value of ·3·, the initial tangent is defined using the

#ASPLINE STARTTANG instruction and the final tangent using the

#ASPLINE ENDTANG

instruction If not defined, it applies the values used last.

#ASPLINE STARTTANG

Initial tangent

#ASPLINE ENDTANG

Final tangent

These instructions define the initial and final tangents of the spline. The tangent is determined by giving its vectorial direction along the different axes.

The programming format is as follows:

#ASPLINE STARTTANG <axes>

#ASPLINE ENDTANG <axes>

26.

X1 Y1

X-5 Y2

X1 Y-1

X0 Y1

CNC 8060

CNC 8065

(R EF : 1901)

·465·

Programming manual.

26.

N10 G00 X0 Y20

N20 G01 X20 Y20 F750

N30 #ASPLINE MODE [1,2]

N40 #SPLINE ON

N50 X40 Y60

N60 X60

N70 X50 Y40

N80 X80

N90 Y20

N100 X110

N110 Y50

N120 #SPLINE OFF

N130 X140

N140 M30

(Starting point of the spline)

(Type of initial and final tangent)

(Activation of the spline)

(Last point of the spline)

(Cancellation of the spline)

CNC 8060

CNC 8065

(R EF : 1901)

·466·

N10 G00 X0 Y20

N20 G01 X20 Y20 F750

N30 #ASPLINE MODE [3,3]

N31 #ASPLINE STARTTANG X1 Y1

N32 #ASPLINE ENDTANG X0 Y1

N40 #SPLINE ON

· · ·

N120 #SPLINE OFF

N130 X140

N140 M30

(Starting point of the spline)

(Type of initial and final tangent)

(Activation of the spline)

(Cancellation of the spline)

Programming manual.

26.11 Polynomial interpolation

The CNC permits interpolating straight lines and arcs and the #POLY instruction may be used to interpolate complex curves, like a parabola.

#POLY

Polynomial interpolation

This type of interpolation lets machining a curve given by a polynomial of up to a 4th degree where the interpolation parameter is the length of the arc.

The programming format is as follows:

#POLY [<axis1>[a,b,c,d,e] <axis2>[a,b,c,d,e] .. SP<sp> EP<ep>]

Parameter

<axis> a,b,c,d,e

<sp>

<ep>

Meaning

Axis to interpolate.

Coefficients of the polynomial.

Initial parameter of the interpolation.

Final parameter of the interpolation.

The coefficients define the axis path as a function for each axis.

#POLY [X[ax,bx,cx,dx,ex] Y[ay,by,cy,dy,ey] Z[az,bz,cz,dz,ez] .. SP<sp> EP<ep>]

X(p) = ax+bx*p+cx*p²+dx*p³+ex*p

4

Y(p) = ay+by*p+cy*p²+dy*p³+ey*p 4

Z(p) = az+bz*p+cz*p²+dz*p³+ez*p

4

Where "p" is the same parameter in all the axes. Parameters sp and ep define the initial and final values of "p", as the ends between which the path for each axis will be generated.

Programming a parabola. The polynomial may be represented as follows:

• Coefficients of the X axis: [0,60,0,0,0]

• Coefficients of the Y axis: [1,0,3,0,0]

• Starting parameter: 0

• End parameter: 60

The part program stays as follows.

G0 X0 Y1 Z0

G1 F1000

#POLY [X[0,60,0,0,0] Y[1,0,3,0,0] SP0 EP60]

M30

26.

CNC 8060

CNC 8065

(R EF : 1901)

·467·

26.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

26.12 Acceleration control

The acceleration and the jerk (variation of acceleration) applied on the movements are set by machine parameters. However, those values may be changed from the program using the following functions.

G130 or G131 Percentage of acceleration and deceleration to be applied.

G132 or G133 Percentage of acceleration jerk and deceleration jerk to be applied.

The next figure shows the feedrate (v), acceleration (a) and jerk (j) for each case.

LINEAR TRAPEZOIDAL SQUARE SINE v v v t j a t t a t j t t a t j t t

We now show an example of the dynamics of the trapezoidal acceleration.

v 3 4 5

2

6

7

1 t

ACCEL a t

DECEL j

ACCJERK

DECJERK t

ACCJERK

1 The axis starts moving with a uniform increasing acceleration, with a slope limited by the percentage of acceleration jerk indicated with function G132 or G133 until reaching the acceleration percentage indicated by function G130 or G131.

2 The acceleration is now constant.

3 Before reaching the programmed feedrate, there is a steady deceleration with a slope limited by the percentage of acceleration jerk.

4 It goes on at the programmed feedrate and with no acceleration.

5 To slow down or stop the axis, a deceleration is applied with a slope limited by the percentage of deceleration jerk.

6 The deceleration becomes constant and its value is the percentage of deceleration.

7 Before reaching the programmed feedrate, or stopping, there is a deceleration with a slope limited by the percentage of deceleration jerk.

·468·

Programming manual.

#SLOPE

It sets the behavior of the acceleration

This instruction sets the influence of the values defined with functions G130, G131, G132 and G133 in the behavior of the acceleration.

The programming format is as follows:

#SLOPE [<type>,<jerk>,<accel>,<move>]

Parameter

<type>

<jerk>

<accel>

<mov>

#SLOPE [1,1,0,0]

#SLOPE [1]

#SLOPE [2,,,1]

Meaning

Acceleration type.

Optional. It sets the influence of the jerk.

Optional. It sets the influence of the acceleration.

Optional. It affects the movements in G00.

It is not necessary to program all the parameters. The values that each parameter may take are the following.

• The <type> parameter determines the type of acceleration.

Value

0

1

2

Meaning

Linear acceleration.

Trapezoidal acceleration.

Square sine (bell shaped) acceleration.

By default, it assumes a value of ·0·.

• The optional <jerk> parameter sets the influence of the Jerk defined with functions G132 and G133. It will only be taken into account in trapezoidal and square-sine type acceleration.

Value

0

1

2

Meaning

It modifies the jerk of the acceleration and deceleration stage.

It modifies the jerk of the acceleration stage.

It modifies the jerk of the deceleration stage.

By default, it assumes a value of ·0·.

• The optional <accel> parameter sets the influence of the acceleration set with functions

G130 and G131.

Value

0

1

2

Meaning

Always applied.

Only applied in the acceleration stage.

Only applied in the deceleration stage.

By default, it assumes a value of ·0·.

• The optional <move> parameter determines whether functions G130, G131, G132 and

G133 affect the G00 movements or not.

Value

0

1

Meaning

They affect the G00 movements.

They do NOT affect the G00 movements.

By default, it assumes a value of ·0·.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·469·

26.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

26.13 Definition of macros

Macros may be used to define a program block or part of it with their own names in the format

"MacroName" = "CNCblock". Once the macro has been defined, programming

"MacroName" will be the same as programming "CNCblock". When executing a macro from the program (or MDI), the CNC will execute its associated program block.

The macros defined via program (or MDI) are stored in a CNC table; this way, they are available for the rest of the programs without having to define them again. This table is initialized on CNC power-up and it can also be initialized from the part-program using the

#INIT MACROTAB

instruction, thus deleting the macros saved.

#DEF:

Macro definition

Up to 50 different macros may be defined at the CNC. The defined macros may be accessed from any program. When trying to define too many macros, the CNC issues the relevant error message. The macro table may be initialized (erasing all the macros) using the instruction

#INIT MACROTAB

.

The definition of the macro must be programmed alone in the block.

The programming format is as follows:

#DEF "MacroName" = "BloqueCNC"

Parameter

MacroName

Meaning

Name used to identify the macro in the program. It may have up to 30 characters and consist of letters and numbers.

Program block. It may be up to 140 characters long.

CNCBlock

Several macros may be defined in a block as follows.

#DEF "Macro1"="Block1" "Macro2"="Block2" ...

(Definition of macros)

#DEF "READY"="G0 X0 Y0 Z10"

#DEF "START"="SP1 M3 M41" "STOP"="M05"

(Execution of macros)

"READY" (same as programming G0 X0 Y0 Z10)

P1=800 "START" F450 (same as programming S800 M3 M41)

G01 Z0

X40 Y40

"STOP" (same as programming M05)

Definition of arithmetic operations in the macros.

When including arithmetic operations in the definition of a macro, the whole arithmetic operation must be included.

Correct definition of a macro.

#DEF "MACRO1"="P1*3"

#DEF "MACRO2"="SIN [\"MACRO1\"]"

The following macros are defined wrong.

#DEF "MACRO1"="56+"

#DEF "MACRO2"="12"

#DEF "MACRO3="\"MACRO1\"\"MACRO2\""

#DEF "MACRO4"="SIN["

#DEF "MACRO5"="45]"

#DEF "MACRO6="\"MACRO4\"\"MACRO5\""

Concatenating of macros. Including macros in the definition of other macros.

The definition of a macro can include other macros. In this case, one of the macros included in the definition must be delimited with the \" characters (

\"macro\"

).

·470·

Programming manual.

Example1

#DEF "MACRO1"="X20 Y35"

#DEF "MACRO2"="S1000 M03"

#DEF "MACRO3"="G01 \"MA1\" F100 \"MA2\""

Example 2

#DEF "POS"="G1 X0 Y0 Z0"

#DEF "START"="S750 F450 M03"

#DEF "MACRO"="\"POS\" \"START\""

#INIT MACROTAB

Resetting the table of macros

When defining a macro from a program (or MDI), it is stored in a CNC table so it is available for all the rest of the programs. This instruction resets the table of macros erasing the ones stored in it.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·471·

26.

CNC 8060

CNC 8065

(R EF : 1901)

Programming manual.

26.14 Communication and synchronization between channels

Each channel may execute its own program simultaneously and independently from other channels. But, besides this, it can also communicate with other channels, transfer information or synchronize in specific points.

The communication takes place on the basis of a number of marks managed by the partprograms of each channel. These marks establish whether the channel is waiting to be synchronized or it may be synchronized, etc.

There are two different ways to synchronize, each offers a different solution.

• Using the

#MEET

instruction.

The easiest way to synchronize. It stops the execution in all the channels involved in the synchronization.

The set of marks being used are initialized after executing an M02 or an M30, after a reset or on power-up.

• Using the instructions

#WAIT

-

#SIGNAL

-

#CLEAR

.

This method is somewhat more complicated than the previous one, but more versatile.

It does not stop the execution in all the channels in order to synchronize.

The set of marks being used are maintained after executing an M02 or an M30, after a reset or on power-up.

The synchronism marks of the two methods are independent from each other. The marks managed by the

#MEET

instruction neither affect nor are affected by the rest of the instructions.

Other ways to synchronize channels

The common arithmetic parameters can also be used to communicate and synchronize channels. By writing a certain value from a channel and later reading it from another channel, it is possible to set the condition to follow up on the execution of a program.

Accessing the variables of a channel from another channel can also be used as a way to communicate.

Swapping axes between channels also makes it possible to synchronize processes, because a channel cannot grab an axis until it has been released by another one.

CHANNEL 1

G1 F1000

S3000 M3

#FREE AX [Z]

(Frees the Z axis)

X30 Y0

#CALL AX [Z1,Z2]

(It adds the Z1 and Z2 axes)

X90 Y70 Z1=-30 Z2=-50

#FREE AX [Z1,Z2]

(Frees the Z1 and Z2 axes)

X0

#CALL AX [Z]

(Recovers the Z axis)

G0 X0 Y0 Z0

M30

CHANNEL 2

X1=0 Y1=0 Z1=0

G1 F1000

#FREE AX[Z1]

(Frees the Z1 axis)

G2 X1=-50 Y1=0 I-25

#CALL AX [Z]

(Adds the Z axis)

G1 X1=50 Z20

#FREE AX[Z]

(Frees the Z axis)

X1=20

#CALL AX [Z1]

(Recovers the Z1 axis)

G0 X1=0 Y1=0 Z1=0

M30

CHANNEL 3

G1 F1000

X2=20 Z2=10

#FREE AX[Z2]

(Frees the Z2 axis)

X2=100 Y2=50

#CALL AX[Z2]

(Recovers the Z2 axis)

G0 X2=0 Y2=0 Z2=0

M30

Consultation variables

The information about the status of the synchronization marks may be consulted using the following variables.

• MEET or WAIT type mark expected by the "n" channel from the "m" channel

V.[n].G.MEETCH[m]

V.[n].G.WAITCH[m]

Replace the letters "n" and "m" with the channel number.

·472·

Programming manual.

• Status of the MEET or WAIT type "m" mark in the "n" channel

V.[n].G.MEETST[m]

V.[n].G.WAITST[m]

#MEET

It activates the mark indicated in the channel and waits for it to be activated in the rest of the programmed channels.

This instruction, after activating the mark in its own channel, waits for it to also be active in the programmed channels before resuming the execution. Each channel has 100 marks that are numbered from 1 to 100.

Programming the same instruction in several channels, all of them stop and wait for the rest to reach the indicated point before they all resume the execution at the same time from that point on.

The programming format is:

#MEET [<mark>, <channel>,...]

Parameter

<mark>

Meaning

Synchronization mark that is activated in the channel itself and must be activated in the rest of the channels before going on.

<channel> Channel or channels where the same mark must be activated.

There is no need to include the number of its own channel in each instruction because the mark is activated when executing the

#MEET

instruction. However, it is recommended to program it in order to make the program more understandable.

Operation

Programming the same instruction in each channel, all of them are synchronized at that point and the execution resumes from there on. It works as follows.

1 It activates the mark selected in its own channel.

2 It waits for the mark to be activated in all the indicated channels.

3 After synchronizing the channels, it deletes the mark from its own channel and goes on executing the program.

Each channel stops on its

#MEET

. When the last one of them reaches the command and checks that all the marks are active, the process unlocks for all of them at the same time.

In the following example, it waits for mark ·5· to be active in channels ·1·, ·2· and ·3· to synchronize the channels and resume the execution.

CHANNEL 1

%PRG_1

···

···

#MEET [5,1,2,3]

···

···

M30

CHANNEL 2

%PRG_2

···

#MEET [5,1,2,3]

···

···

···

M30

CHANNEL 3

%PRG_3

···

···

···

···

#MEET [5,1,2,3]

M30

#WAIT

It waits for the mark to be activated in the indicated channel

The

#WAIT

instruction waits for the indicated mark to be active in the specified channels.

If the mark is already active when executing the command, the execution is not interrupted and the program keeps running.

Each channel has 100 marks that are numbered from 1 to 100.

The programming format is:

#WAIT [<mark>, <channel>,...]

26.

CNC 8060

CNC 8065

(R EF : 1901)

·473·

26.

CNC 8060

CNC 8065

(R EF : 1901)

·474·

Programming manual.

Parameter Meaning

<mark> Synchronization mark waited for to be activated.

<channel> Channel or channels that must activate the mark.

As opposed to the

#MEET

instruction, it does not activate the indicated mark of its own channel. The marks of the channel are activated using the instruction

#SIGNAL

.

#SIGNAL

It activates the mark in its own channel

The

#SIGNAL

instruction activates the indicated marks in its own channel. Each channel has

100 marks that are numbered from 1 to 100. These marks correspond to the #WAIT instructions.

This instruction does not perform any wait; it goes on executing. Once synchronized, the marks are deactivated, if so wished, using the

#CLEAR

instruction.

The programming format is:

#SIGNAL [<mark>,...]

Parameter

<mark>

Meaning

Synchronization marks that is activated in the channel.

#CLEAR

It clears the synchronism marks of the channel

This instruction activates the indicated marks in its own channel. If no marks are programmed, it deletes all of them.

The programming format is:

#CLEAR

#CLEAR [<mark>,...]

Parameter

<mark>

Meaning

Synchronization marks that is deleted in the channel.

In the following example, channels ·1· and ·2· wait for mark ·5· to be active in channel ·3· to synchronize. When mark ·5· is activated in channel ·3·, it resumes the execution in all three channels.

CHANNEL 1

%PRG_1

···

···

#WAIT [5,3]

···

···

···

M30

CHANNEL 2

%PRG_2

···

#WAIT [5,3]

···

···

···

···

M30

CHANNEL 3

%PRG_3

···

···

···

#SIGNAL [5]

···

#CLEAR [5]

M30

Programming manual.

26.15 Movements of independent axes

This function has a specific manual. This manual that you are reading now only offers some information about this function. Refer to the specific documentation to obtain further information regarding the requirements and operation of the independent axes.

The CNC has the possibility of executing independent positioning and synchronization. For this type of movements, each CNC axis has an independent interpolator that keeps track of the current position on its own without depending on the tracking of the general interpolator of the CNC.

It is possible to execute an independent movement and general movement simultaneously.

The result will be the sum of the two interpolators.

The CNC stores up to a maximum of two independent-motion instructions per axis. The rest of instructions sent when there are two pending execution imply a wait from the part-program.

Treatment of a rotary axis as an infinite axis.

Axis synchronization permits treating a rotary axis as an infinite axis making it possible to increase the feedback count of the axis indefinitely (without limits) regardless of the value of the module. This type of axis is activated when programming by adding the prefix ACCU to the name of the master axis. From the moment this is programmed, the CNC uses the variable V.A.ACCUDIST.xn that may be initialized at any time to follow up on the axis.

This feature is useful, for example, for a rotary axis or encoder that moves an endless conveyor belt on where the part is. The infinite axis treatment allows synchronizing the coordinate of the conveyor belt with an external event and, this way, count the moving distance of the part beyond the value of the module of the rotary axis that moves the belt.

Restrictions for the independent axes

Any axis of the channel may be moved independently using the associated instructions.

However, this function presents the following restrictions.

• A spindle can only move independently when set in axis mode with the instruction

#CAX

. However, it can always be the master of a synchronization.

• A rotary axis may be of any module, but the lower limit must always be zero.

• A Hirth axis cannot move independently.

Synchronizing the interpolators

In order for the incremental movements to take the real coordinate of the machine into account, each interpolator must be synchronized with that real coordinate. The synchronization is done from the part-program using the instruction

#SYNC POS

.

Resetting the CNC synchronizes the theoretical coordinates of both interpolators with the real coordinate. These synchronizations will only be necessary when inserting instructions of both types of interpolators.

Every time the program is initiated or an MDI block is executed, the coordinate of the general interpolator of the CNC is synchronized and every new independent instruction (without any one pending) also synchronizes the coordinate of the independent interpolator.

Influence of the movements in block preparation

None of these blocks interrupt block preparation, but they do interrupt the interpolation.

Therefore, it will not blend two blocks, there will be an intermediate one.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·475·

26.

CNC 8060

CNC 8065

(R EF : 1901)

·476·

Programming manual.

Positioning move (#MOVE)

The various types of positioning are programmed with the following instructions.

#MOVE

- Absolute positioning move.

#MOVE ADD

#MOVE INF

- Incremental positioning move.

- Infinite (endless) positioning move.

The programming format for each of them is the following. Optional parameters are indicated between the

<>

characters.

#MOVE <ABS> [Xpos <,Fn> <,blend>]

#MOVE ADD [Xpos <,Fn> <,blend>]

#MOVE INF [X+/- <,Fn> <,blend>]

[ Xpos ] Axis and position to reach

Axis and position to reach. With

#MOVE ABS

it will be defined in absolute coordinates whereas with

#MOVE ADD

it will be defined in incremental coordinates.

The moving direction is determined by the coordinate or the increment programmed. For rotary axes, the moving direction is determined by the type of axis. If normal, via the shortest path; if unidirectional, in the preset direction.

[ X+/- ] Axis and moving direction

Axis (without coordinate) to position. The sign indicates the moving direction.

It is used with

#MOVE INF

to execute an endless (infinite) movement until the axis limit is reached or until the movement is interrupted.

[ Fn ] Positioning feedrate

Positioning feedrate.

Feedrate given in mm/min, inches/min or degrees/min.

Optional parameter. If not defined, it assumes the feedrate set by machine parameter

POSFEED

.

[ blend ] Dynamic blend with the next block

Optional parameter. The feedrate used to reach the position (dynamic blend with the next block) is defined by an optional parameter.

The feedrate used to reach the position is given by one of these elements:

[blend]

PRESENT

NEXT

NULL

WAITINPOS

Type of dynamic blend

It reaches the indicated position at the positioning feedrate specified for the block itself.

It reaches the indicated position at the positioning feedrate specified in the next block.

The indicated position is reached at zero feedrate.

The indicated position is reached at zero feedrate and it waits to be in position before executing the next block.

Programming this parameter is optional. If not programmed, the dynamic blend is carried out according to machine parameter

ICORNER as follows.

ICORNER

G5

G50

G7

Type of dynamic blend

According to the setting for the PRESENT value.

According to the setting for the NULL value.

According to the setting for the WAITINPOS value.

Programming manual.

P100 = 500 (feedrate)

#MOVE [X50, FP100, PRESENT]

#MOVE [X100, F[P100/2], NEXT]

#MOVE [X150, F[P100/4], NULL]

F

500

250

125

50mm 100mm 150mm Pos

Synchronization move (#FOLLOW ON)

The activation and cancellation of the different types of synchronization are programmed with the following instructions.

#FOLLOW ON

- Activates the synchronization movement (real coordinates).

#TFOLLOW ON

#FOLLOW OFF

- Activates the synchronization movement (theoretical coordinates).

- Cancels the synchronization movement.

The programming format for each of them is the following. Optional parameters are indicated between the

<>

characters.

#FOLLOW ON [master, slave, Nratio, Dratio <,synctype>]

#TFOLLOW ON [master, slave, Nratio, Dratio <,synctype>]

#FOLLOW OFF [slave]

Executing the

#FOLLOW OFF

instruction involves eliminating the synchronization speed of the slave. The axis will take some time to brake and the instruction will stay in execution during that time. When the synchronization is activated from the program, it is necessary to program the instruction #FOLLOW OFF before M30, since the M30 does not override the synchronization.

[ master ] Master axis

Name of the master axis.

To treat a rotary axis as an infinite axis making it possible to increase the feedback count of the axis indefinitely (wihout limits) regardless of the value of the module, program the master axis with the prefix ACCU. This way, the CNC does a follow-up of the axis through the variable V.A.ACCUDIST.xn.

[ slave ] Slave axis

Name of the slave axis.

[ Nratio ] Gear ratio (slave axis)

Numerator of the gear ratio. Turns of the slave axis.

[ Dratio ] Gear ratio (master axis)

Denominator of the gear ratio. Rotations of the master axis.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·477·

26.

Programming manual.

[ synctype ] Type of synchronization

Optional parameter. Indicator that determines whether it is a velocity or position synchronization type.

[ synctype ]

POS

VEL

Type of synchronism

It is a position synchronization.

It is a velocity synchronization.

Programming it is an option. If not programmed, it executes a velocity synchronization.

#FOLLOW ON [X, Y, N1, D1]

#FOLLOW ON [A1, U, N2, D1, POS]

#FOLLOW OFF [Y]

#FOLLOW ON [ACCUX, Y, N1, D1]

CNC 8060

CNC 8065

(R EF : 1901)

·478·

Programming manual.

26.16 Electronic cams.

This function has a specific manual. This manual that you are reading now only offers some information about this function. Refer to the specific documentation to obtain further information regarding the requirements and operation of the electronic cams.

The electronic cam mode may be used to move a slave axis based on a positions-table or on a cam profile. If while executing a cam profile, a second cam profile is executed, the second one gets ready and waiting for the current execution to be over. Once the current cam profile has ended, it starts executing the second cam blending both profiles like when blending (joining) two positioning blocks. Executing the cam synchronization ending instruction (

#CAM OFF

) will end the current cam, but not immediately, it will do so the next time it goes through the end of the cam profile.

After executing the synchronization of the cam, no positioning moves of the independent axis

(MOVE) are possible. It makes no sense to add another movement to the cam synchronization movement that would brake the synchronization already achieved.

Position - position cam

On this type of cam, it is possible to obtain non-linear electronic synchronization ratios between two axes. Thus, the position of the slave axis is synchronized with the position of the master axis using a cam profile.

Position - time cam

On this type of cam, it is possible to obtain other movement profiles different from trapezoidal or S-shaped ones.

Electronic-cam editor.

Before activating an electronic cam, it must have been defined at the cam editor which is accessed from the machine parameters. This editor offers a friendly assistance to analyze the behavior of the cam projected through graphically assisted data entry for speed, acceleration and jerk.

It is up to the user to select the parameters and the functions to design an electronic cam and must make sure that his design is coherent with the required specifications.

Activating and canceling the file cam from the part-program.

The data of a cam may be defined in a file that may be loaded from the CNC or from the

PLC. When executing a cam from a file, the CNC reads its data dynamically and, consequently, the number of points to define the cam is unlimited. After selecting a file cam, it stays available until the cam table of the machine parameters is validated or the CNC is turned off.

To select or cancel a file cam, use the following instructions. The following instructions only defines the location of the cam; to activate it, use the instruction #CAM ON.

#CAM SELECT

- Select a file cam.

#CAM DESELECT

- Cancel the cam of a file.

The programming format for each of them is the following.

#CAM SELECT [cam, file]

#CAM DESELECT [cam]

Parameter.

cam path/file

Meaning.

Cam number.

Name and path of the file containing the cam data.

#CAM SELECT [6, "C:\USERCAM\cam.txt"]

(The CNC uses for cam ·6· the data defined in the cam.txt file)

#CAM DESELECT [6]

(The CNC stops using for cam ·6· the data defined in the cam.txt file)

26.

CNC 8060

CNC 8065

(R EF : 1901)

·479·

26.

CNC 8060

CNC 8065

(R EF : 1901)

·480·

Programming manual.

Activating and canceling the electronic cam (#CAM).

The activation and cancellation of the electronic cam is programmed with the following instructions.

#CAM ON

#TCAM ON

#CAM OFF

- Activates the cam (real coordinates).

- Activates the cam (theoretical coordinates).

- Cancel the electronic cam.

The programming format for each of them is the following. Optional parameters are indicated between the

<>

characters.

#CAM ON [cam, master/"TIME", slave, master_off, slave_off, range_master, range_slave <,type>]

#TCAM ON [cam, master/"TIME", slave, master_off, slave_off, range_master, range_slave <,type>]

#CAM OFF [slave]

Executing the

#CAM OFF

instruction involves eliminating the synchronization of the cam.

Once this instruction has been programmed, the cam ends when reaching the end of its profile.

[cam] Cam number.

To activate a cam, it must have been previously defined at the cam editor, within the machine parameters.

[master/"TIME"] Master axis.

Name of the master axis, when it is a position cam. When programming the "TIME" command instead of an axis name, the cam is interpreted as being a time cam.

In a position cam, treating a rotary axis as an infinite axis making it possible to increase the feedback count of the axis indefinitely (wihout limits) regardless of the value of the module, program the master axis with the prefix ACCU. This way, the CNC does a follow-up of the axis through the variable V.A.ACCUDIST.xn.

#CAM ON [1, X, Y, 30, 0, 100, 100]

#CAM ON [1, ACCUX, Y, 30, 0, 100, 100]

#CAM ON [1, TIME, A2, 0, 0, 6, 3, ONCE]

#CAM OFF [Y]

[slave] Slave axis.

Name of the slave axis.

[master_off] Offset of the master axis or time offset.

In a position cam, this offset sets the position where the cam is activated. The offset is subtracted from the master axis position to calculate the entry position of the cam table.

In a time cam this offset may be used to set a time for the cam trigger.

[slave_off] Offset of the master axis.

The slave_off and range_slave values allow moving the slave axis positions outside the range of values set by the cam function.

[Range_master] Master axis activation scale or range.

The position cam is activated when the master axis is between the positions "master_off" and "master_off + range_master". The cam only regulates the slave axis position within this range.

In a time cam, this parameter sets the time range or total duration of the cam.

[Range_slave] Slave axis activation scale or range.

The cam applies it to the slave axis when the slave axis is between "slave_off" and "slave_off

+ range_slave".

Programming manual.

[type] Cam type.

Depending on the execution mode, the time cams and the position cams may be of two different types; i.e. periodic or non-periodic. This selection is made using the following commands:

[type]

ONCE

CONT

Meaning.

Non-periodic cam.

This mode maintains the synchronization for the range defined for the master axis. If the master axis moves backwards or if it is a module, the slave axis will keep on executing the cam profile until the cancellation is programmed.

Periodic cam.

In this mode, when reaching the end of the range of the master axis, it calculates the offset to execute the cam again shifted in the amount of that range. In other words, identical cams are executed along the path of the master axis.

If the master axis is a rotary module and the cam definition range is that module, the two execution modes are equivalent. Either mode maintains synchronization until the

#CAM OFF instruction is executed. When reaching that instruction, the execution of the cam will end the next time the end of the cam profile is reached.

26.

CNC 8060

CNC 8065

(R EF : 1901)

·481·

26.

Programming manual.

26.17 On line modification of the machine configuration in HD graphics

(xca files).

The CNC offers several xca files, one per model, containing the definition and configuration of the machine for HD graphics. On power-up, the CNC assumes the last file used. These files cover most configurations; therefore, new xca will have to be generated when the machine has some special requirement that affects graphics.

If the physical configuration of the machine changes during execution (for example, spindle change with different number of axes), the corresponding xca file must be loaded so the graphics show the changes. The xca files may be loaded either from the softkey menu or from the program using the instruction #DEFGRAPH.

When changing the machine configuration, the CNC saves the part displayed on the screen automatically as LastPiece.stl into the folder ../Users/Grafdata, and it recovers it after the new configuration.

Programming.

This instruction must be programmed alone in the block. When programming this instruction, the name of the file must be defined and, optionally, its location.

Programming format.

The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets.

#DEFGRAPH ["<{path\}>{file.xca}"]

{path\}

{file.xca}

Optional. File location.

Name of the file.

#DEFGRAPH ["Machine.xca"]

#DEFGRAPH ["c:\FagorCnc\MTB\Grafdata\Machine.xca"]

Path definition.

Defining the path is optional. If defined, the CNC only looks for the file in that folder; if not defined, the CNC looks for the file in the default folder ..\MTB\Grafdata. If the file is missing, the CNC issues the relevant error message.

Remarks

The machine configuration files supplied by Fagor consist of a single file, the xca. When an

OEM creates his own configuration files, for each xca file, he must create a ".def" file with the same name that completes the configuration of the axes involved in the kinematics. Both files must be copied when saving the configuration file in another folder.

CNC 8060

CNC 8065

(R EF : 1901)

·482·

27.

CNC VARIABLES.

27

All information regarding CNC variables can found in the manual on “CNC Variables", which can be downloaded from the Fagor Automation corporate website. The electronic document is called man_8060_8065_var.pdf.

http://www.fagorautomation.com/en/downloads/

CNC 8060

CNC 8065

(R EF : 1901)

·483·

27.

Programming manual.

CNC 8060

CNC 8065

(R EF : 1901)

·484·

Programming manual.

User notes:

CNC 8060

CNC 8065

(R EF : 1901)

·485·

CNC 8060

CNC 8065

(R EF : 1901)

·486·

User notes:

Programming manual.

Programming manual.

User notes:

CNC 8060

CNC 8065

(R EF : 1901)

·487·

Fagor Automation S. Coop.

Bº San Andrés, 19 - Apdo. 144

E-20500 Arrasate-Mondragón, Spain

Tel: +34 943 719 200

+34 943 039 800

Fax: +34 943 791 712

E-mail: [email protected]

www.fagorautomation.com

advertisement

Related manuals

Download PDF

advertisement