Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application...

158
R911297008 Edition 01 Rexroth TRANS 200 NC Programming Instruction Application Manual Industrial Hydraulics Electric Drives and Controls Linear Motion and Assembly Technologies Pneumatics Service Automation Mobile Hydraulics

Transcript of Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application...

Page 1: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

R911297008Edition 01

Rexroth TRANS 200NC Programming Instruction

Application Manual

IndustrialHydraulics

Electric Drivesand Controls

Linear Motion andAssembly Technologies Pneumatics

ServiceAutomation

MobileHydraulics

Page 2: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

About this Documentation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Rexroth TRANS 200

NC Programming Instruction

Application Manual

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Document Number 120-2250-B316-01/EN

This documentation describes the programming of NC functions of theTRANS 200 controller family.

Description ReleaseDate

Notes

120-2250-B316-01/EN 02.2004 Valid from version 23

� 2004 Bosch Rexroth AG

Copying this document, giving it to others and the use or communicationof the contents thereof without express authority, are forbidden. Offendersare liable for the payment of damages. All rights are reserved in the eventof the grant of a patent or the registration of a utility model or design(DIN 34-1).

The specified data is for product description purposes only and may notbe deemed to be guaranteed unless expressly confirmed in the contract.All rights are reserved with respect to the content of this documentationand the availability of the product.

Bosch Rexroth AGBgm.-Dr.-Nebel-Str. 2 • D-97816 Lohr a. Main

Telephone +49 (0)93 52/40-0 • Tx 68 94 21 • Fax +49 (0)93 52/40-48 85

http://www.boschrexroth.com/

Dept. BRC/ESM5 (GG)

Dept. BRC/ESM6 (DiHa)

This document has been printed on chlorine-free bleached paper.

Title

Type of Documentation

Document Typecode

Internal File Reference

Purpose of Documentation

Record of Revisions

Copyright

Validity

Published by

Note

Page 3: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Contents I

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Contents

1 General Information 1-1

1.1 Notes............................................................................................................................................. 1-1

1.2 Program and Data Organization ................................................................................................... 1-2

2 NC Program 2-1

2.1 Program Structure......................................................................................................................... 2-1

Advance Program .................................................................................................................... 2-1

Reverse Program..................................................................................................................... 2-1

2.2 Elements of an NC Block .............................................................................................................. 2-2

Block Numbers......................................................................................................................... 2-2

2.3 NC Word ....................................................................................................................................... 2-3

Branch Label ............................................................................................................................ 2-4

Note.......................................................................................................................................... 2-5

Comment ................................................................................................................................. 2-5

2.4 Available Addresses...................................................................................................................... 2-6

3 Motion Commands, Dimension Inputs 3-1

3.1 Coordinate System........................................................................................................................ 3-1

3.2 Motion Commands........................................................................................................................ 3-2

3.3 Measurements .............................................................................................................................. 3-3

Absolute Dimension Entry "G90" ............................................................................................. 3-3

Incremental Dimension Entry "G91" ........................................................................................ 3-4

3.4 Offsets........................................................................................................................................... 3-5

3.5 Zero Offsets .................................................................................................................................. 3-7

Adjustable Zero Offsets "G54 - G59"....................................................................................... 3-9

Coordinate Rotation with Angle of Rotation "P"..................................................................... 3-10

Programmable Absolute Zero Offset "G50", Programmable Incremental Zero Offset"G51"...................................................................................................................................... 3-11

Programmable Zero Point of Workpiece "G52" ..................................................................... 3-12

Cancel Zero Offsets "G53"..................................................................................................... 3-13

Adjustable General Offset in the Zero Offset Table............................................................... 3-14

Read/Write Zero Offset Data from the NC Program via "OTD" ............................................. 3-14

3.6 Plane Selection ........................................................................................................................... 3-14

Axis Number, Axis Designation and Axis Meaning................................................................ 3-15

Plane Selection "G17", "G18", "G19"..................................................................................... 3-15

3.7 Go to Axes Reference Point "G74" ............................................................................................. 3-16

3.8 Feed to Positive Stop.................................................................................................................. 3-16

Feed to Positive Stop "G75" .................................................................................................. 3-17

Cancel All Axis Preloads "G76" ............................................................................................. 3-19

Page 4: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

II Contents NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

3.9 Adaptive Depth "G68" / "G69"..................................................................................................... 3-19

Application.............................................................................................................................. 3-19

New Axis Parameter .............................................................................................................. 3-20

G Codes to Switch to a 2nd Encoder System......................................................................... 3-20

4 Motion Blocks 4-1

4.1 Axes .............................................................................................................................................. 4-1

Linear Main Axes ..................................................................................................................... 4-1

Rotary Main Axes..................................................................................................................... 4-1

Linear and Rotary Auxiliary Axes............................................................................................. 4-2

4.2 Interpolation Conditions ................................................................................................................ 4-2

Following Error-Free Interpolation "G06"................................................................................. 4-2

Interpolation with Lag Distance "G07" ..................................................................................... 4-6

Optimal Speed Block Transition "G08" .................................................................................... 4-8

Velocity-Limited Block Transition "G09" ................................................................................ 4-10

Exact Stop "G61" ................................................................................................................... 4-12

Rapid NC Block Transition "G62" .......................................................................................... 4-14

4.3 Interpolation Functions................................................................................................................ 4-16

Linear Interpolation, Rapid Traverse "G00" ........................................................................... 4-16

Linear Interpolation, Feed "G01"............................................................................................ 4-17

Circular Interpolation "G02" / "G03" ....................................................................................... 4-19

Helical Interpolation ............................................................................................................... 4-23

Tapping without Compensating Chuck "G63" / "G64" ........................................................... 4-25

Tapping "G64" - Speed Reduction......................................................................................... 4-30

4.4 Feed ............................................................................................................................................ 4-30

F Word ................................................................................................................................... 4-30

Dwell Time "G04"................................................................................................................... 4-31

Basic Connections between Programmed Path Velocity (F) and Axis Velocities ................. 4-32

Adaptive Feed Control "G25" / "G26" ................................................................................... 4-34

4.5 Spindle Speed............................................................................................................................. 4-37

S Word for the Spindle Speed Specification.......................................................................... 4-37

Select Main Spindle "SPF"..................................................................................................... 4-38

Start-up Logic for Endlessly Rotating Rotary Axes................................................................ 4-38

4.6 Rounding of NC Blocks with Axis Filter "G11" / "RDI" ................................................................ 4-40

Method of Operation .............................................................................................................. 4-40

Programming ......................................................................................................................... 4-41

Limits and Special Regulations.............................................................................................. 4-42

5 Tool Compensation 5-1

5.1 Tool Path Compensation............................................................................................................... 5-1

Inactive Tool Path Compensation............................................................................................ 5-1

Active Tool Path Compensation............................................................................................... 5-2

Contour Transitions.................................................................................................................. 5-3

Establishment of Tool Path Compensation at Start of Contour ............................................... 5-7

Removal of Tool Path Compensation at End of Contour......................................................... 5-9

Change in Direction of Compensation ................................................................................... 5-11

Page 5: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Contents III

DOK-TRA200-NC**PRO*V23-AW01-EN-P

5.2 Activating and Canceling Tool Path Compensation.................................................................... 5-11

Canceling Tool Path Compensation "G40"............................................................................ 5-11

Tool Path Compensation, Left "G41"..................................................................................... 5-12

Tool Path Compensation, Right "G42" .................................................................................. 5-12

Inserting an Arc Transition Element "G43" ............................................................................ 5-14

Inserting a Chamfer Transition Element "G44"...................................................................... 5-14

5.3 Tool Length Compensation......................................................................................................... 5-16

No Tool Length Compensation "G47".................................................................................... 5-17

Tool Length Correction, Positive "G48" ................................................................................. 5-17

Tool Length Correction, Negative "G49"................................................................................ 5-17

5.4 D Corrections .............................................................................................................................. 5-17

6 Auxiliary Functions (M) 6-1

6.1 General Information on Auxiliary Functions.................................................................................. 6-1

6.2 "M" Auxiliary Functions ................................................................................................................. 6-1

Auxiliary Functions M400 to M431........................................................................................... 6-2

Spindle Control Commands..................................................................................................... 6-3

Spindle Positioning .................................................................................................................. 6-3

7 Events 7-1

7.1 Definition of NC Events ................................................................................................................. 7-1

7.2 Waiting for Events ......................................................................................................................... 7-2

Wait until NC Event is Set "WES"............................................................................................ 7-2

Wait until NC Event is Reset "WER"........................................................................................ 7-2

7.3 Conditional Branches for Events................................................................................................... 7-2

Branch if NC Event is Set "BES".............................................................................................. 7-2

7.4 Asynchronous Handling of NC Events.......................................................................................... 7-3

Call Subroutine if Event is Set "BEV" ...................................................................................... 7-4

Program Branching if NC Event is Set "JEV" .......................................................................... 7-4

Cancel NC Event Monitoring "CEV"......................................................................................... 7-4

8 Program Control Commands 8-1

8.1 Program Control Commands ........................................................................................................ 8-1

Program End with Reset "RET" ............................................................................................... 8-1

Branch with Stop "BST" ........................................................................................................... 8-1

Programmed Halt "HLT" .......................................................................................................... 8-1

Branch Absolute "BRA"............................................................................................................ 8-1

8.2 Subroutines ................................................................................................................................... 8-2

Subroutine Technique.............................................................................................................. 8-2

Subroutine Structure ................................................................................................................ 8-2

Subroutine Nesting .................................................................................................................. 8-2

Subroutine Call "BSR" ............................................................................................................. 8-3

Return from NC Subroutine "RTS"........................................................................................... 8-3

8.3 Reverse Vectors............................................................................................................................ 8-4

Set Reverse Vector "REV"....................................................................................................... 8-4

8.4 Conditional Branches.................................................................................................................... 8-6

Page 6: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

IV Contents NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Branch upon Reference "BRF" ................................................................................................ 8-6

Branch if NC Event is Set "BES".............................................................................................. 8-6

Branch if NC Event is Reset "BER" ......................................................................................... 8-6

8.5 Branches Depending on Arithmetic Results ................................................................................. 8-6

Branch If Equal to Zero "BEQ"................................................................................................. 8-6

Branch If Not Equal to Zero "BNE" .......................................................................................... 8-6

Branch If Greater Than or Equal to Zero "BPL"....................................................................... 8-6

Branch If Less Than Zero "BMI" .............................................................................................. 8-7

Overview Table ........................................................................................................................ 8-7

9 Variable Assignments and Arithmetic Functions 9-1

9.1 Variables ....................................................................................................................................... 9-1

Variable Assignment ................................................................................................................ 9-2

9.2 Round Distance "RDI"................................................................................................................... 9-4

9.3 Mathematical Expressions ............................................................................................................ 9-4

Operands ................................................................................................................................. 9-5

Operators ................................................................................................................................. 9-6

Parentheses............................................................................................................................. 9-6

Functions.................................................................................................................................. 9-6

10 Special NC Functions 10-1

10.1 APR SERCOS Parameters......................................................................................................... 10-1

Data Exchange with Digital Drives "AXD".............................................................................. 10-1

10.2 Read/Write Zero Offset (ZO) Data from the NC Program "OTD" ............................................... 10-4

10.3 Read/Write D Corrections from the NC Program "DCD" ............................................................ 10-6

10.4 Possible Allocations Between AXD, OTD, DCD ......................................................................... 10-7

Handling AXD Commands..................................................................................................... 10-7

Handling OTD Commands..................................................................................................... 10-7

Handling DCD Commands..................................................................................................... 10-8

Allocations Between AXD, OTD and DCD Commands ......................................................... 10-8

11 NC Programming Practices 11-1

11.1 Time-Optimized NC Programming.............................................................................................. 11-1

12 Appendix 12-1

12.1 Table of G Code Groups............................................................................................................. 12-1

12.2 Table of M Function Groups ....................................................................................................... 12-2

12.3 Table of Functions....................................................................................................................... 12-2

I. G00 through G19 ............................................................................................................... 12-3

II. G25 to G38......................................................................................................................... 12-4

III. G40 to G59 ...................................................................................................................... 12-5

IV. G61 to G76 ...................................................................................................................... 12-6

V. G90 through G91.............................................................................................................. 12-6

VI. AXD to BST ...................................................................................................................... 12-7

VII. CEV to WES................................................................................................................... 12-8

Page 7: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Contents V

DOK-TRA200-NC**PRO*V23-AW01-EN-P

13 Index 13-1

14 Service & Support 14-1

14.1 Helpdesk ..................................................................................................................................... 14-1

14.2 Service-Hotline............................................................................................................................ 14-1

14.3 Internet ........................................................................................................................................ 14-1

14.4 Vor der Kontaktaufnahme... - Before contacting us.................................................................... 14-1

14.5 Kundenbetreuungsstellen - Sales & Service Facilities ............................................................... 14-2

Page 8: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

VI Contents NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Page 9: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction General Information 1-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

1 General Information

1.1 Notes

A CNC (COMPUTER NUMERICAL CONTROL) is a special computer used tocontrol a machine tool, robot or transfer system. Like a personalcomputer, the CNC controller has its own operating system, which isspecifically designed for numerical applications, as well as so-calledcontroller software installed in this operating system.

The controller software translates the CNC program into a languagewhich the controller can understand.

Details relating to a particular CNC machine tool, robot, or transfer systemmay be found in the machine builder's manual. The machine builder'sinformation takes precedence over the information provided in thisProgramming Manual.

The programming examples are based on DIN 66025/ISO Draft 6983/2along with the additional features implemented by Bosch Rexroth.

All geometric values are metric.

Combinations in the NC syntax and other functions which are notdescribed in this programming manual may also be executed on thecontroller. However, we do not warrant the proper functioning of thesecombinations and functions upon initial shipment and in the event ofservice.

We reserve the right to make changes based on technical advancements.

These programming instructions apply to the Rexroth TRANS 200 with:

• graphic user interface as of version: 23VRS

• operating software as of version: 23VRS

Note: This type of field describes a specific functional response thatdepends on the parameter settings. If the instructions given inthese notes are not followed, the function cannot be started orthere will be malfunctions during execution (error message).

CAUTION

This type of field provides information that is mandatoryfor a faultless execution of the described functions. If theinstructions given in these notes are not followed, theexecution of the function may lead to serious errors inCNC processing, damage the machine or, in the worstcase, lead to personal injuries.

Page 10: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

1-2 General Information NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

1.2 Program and Data Organization

Approximately 400 kB available memory is present on the basic version ofthe CNC. Approximately 512 kB available memory is present in the CNC.As shown in the figure above, the CNC memory is divided into severalareas. The individual areas are described briefly in the following sections.

The CNC controller is adapted to the given machine or system by meansof parameters. Up to 99 different parameter sets can be managed via theuser interface.

The parameters are divided into the following areas:

The system parameters define how many axes need to be managed bythe CNC controller.

The axes are specified in the axis parameters . The axis is assigned tospecific processes in the axis parameters; and the corresponding axislimit data-for example, maximum axis speed, travel limits-are definedhere.

The process-specific data, such as the programmable and maximumdisplayable places to the right of the decimal point, the maximum speedfor contour mode, etc. are specified in the process parameters.

A detailed description of the system, process and axis parameters may befound in the parameter description

(DOK-CONTRL-PAR*DES*V23-AW0x-EN-P).

The I/O configuration describes the type of the PLC I/O interface (fieldbus or RECO). Furthermore, the signal assignment and the data channelsare configured here.

NC events are binary variables which can be used by the NC program. Adetailed description of NC events and event-dependent functions isprovided in the "NC Events" chapter.

An NC variable represents a changeable numerical value. A total of 80NC variables are available in the CNC.

D corrections are tool geometry data that overwrite the existing geometryregisters L1, L2, L3 and R. 30 D corrections are available – each Dcorrection contains registers L1, L2, L3 and R. The values of the Dcorrection register can be assigned using the CNC user interface or usingthe BTx06.

An NC program contains all the commands that are required to machine aworkpiece.

The Rexroth TRANS 200 controller supports G codes G54-G59. Data canbe entered into the zero point table using the WinTRANS user interface.Functions G50, G51 and G52 are also supported and can be used in theNC program.

See also the section "Zero Offsets".

System parameters

Axis parameters

Process parameter

I/O configuration

NC events

NC variables

D corrections

NC programs

Offsets

Page 11: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction NC Program 2-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

2 NC Program

2.1 Program Structure

The NC program and its command set is based on DIN 66025 / ISO Draft6983/2 and is supplemented by the specific Bosch Rexroth extensions.Each NC program can consist of up to 500 NC blocks.

An NC program contains both

• the advance and

• the reverse program for an operation.

Only one NC program can be loaded into the CNC memory.

Advance ProgramProgram Organization: Advance Program An advance program consistsof a complete sequence of NC blocks needed to produce a workpiece. Inaddition to the path information needed for machining, the advanceprogram also contains all additional auxiliary functions and branch/jumpcommands for subroutines and cycles.

The advance program ends with the NC block in which RET (end of pro-gram with reset) is programmed.

Example

G00 G90 G54 X0 Y0 Z50 S5000 M03 Home positionG01 X46 Y144 Z2 Pos. at safety distance . . RET

Reverse ProgramA reverse program consists of a complete series of NC blocks whichdescribe an operation sequence that is to be performed to establish thereference or home position of a station, regardless of how complicatedthe required traverse movement may be. As a rule, a reverse program isprogrammed at the end of an NC program to establish the reference pointor home position of a station or machine.

The reverse program begins with the NC block in which the label .HOMEis programmed. Other entry points for the reverse program can be de-fined in the advance program with the assistance of reverse vectors (seechapter 8 "Commands for controlling processes and programs").

If reverse programming is done in a systematic manner without anyomissions, the operator can extract the station(s) or the machine from themost complicated machining situations and return to the initial position inthe event of errors or malfunctions or in any given EMERGENCY STOPsituation. This is done safely and without the risk of collision.

Example

.HOME Global HomingD0 Cancel D correctionsG74 Z0 F1000 Move Z-axis to reference positionG74 X0 Y0 F1000 Move X and Y axis to referencing positionRET

Page 12: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

2-2 NC Program NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

2.2 Elements of an NC Block

An NC block contains data to perform an operating step. The NC blockconsists of one or more words as well as the NC control commands. TheNC block length may not exceed 240 characters; it can be split in no morethan four lines.

An NC block is comprised of the following elements:

• Block number,

• Branch label,

• NC words (NC control command(s)),

• Message,

• Remark in the program, and

• Remark in the source program.

Structure of an NC block:

N0020 G54 G01 X50 Y60 F2000 S1500 M03

Programcontrolcommand

Correctioncall

Traversestatement

Geometryinstruction

Technology instruction Auxiliary function

Block No. NC words (NC control commands)

Fig. 2-1: Structure of an NC block

Note: All the elements of an NC block except for functionassignments must be separated by at least one space.

The priority for the processing of an NC block in the NC memory is asfollows (priority dropping from left to right):

BlockNumber

BranchLabel G codes Variables

Axisvalues

IPO para-meter F Value S value Auxil.

functionEvents

ProgramControlCommands

N1234 .END G01 @10=x X100Y100

I0J50

F1000 S800 M03 WES 5 HLT

Fig. 2-2: Priority for processing an NC block

Block Numbers

N×××× × = 0-9

Each NC block begins with the letter N followed by a signless, 4-digitdecimal integer figure as a block number. The numbering of NC blocks inan NC program always starts with N0000. The numbering of NC blocks isautomatically generated by the user interface in steps of 1.

When NC blocks are inserted via the user interface, all subsequent NCblocks are automatically renumbered.

Syntax

Page 13: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction NC Program 2-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

2.3 NC Word

The NC word contains the DIN 66025 instructions and various specificBosch Rexroth enhanced commands.

The NC word is divided into:

Function Enhanced commands

geometric instructions Axis positions X__ Y__

technology instructions spindle speed Feed S__ F__

Traverse instructions Rapid traverse, circular interpolation G__ G__

Auxiliary Functions Coolants, tools M__ T__

Override calls Tool overrides, zero points G__ G__

Enhanced functions Conditional branch/jump, calculations

A word is comprised of the address letter and the numerical value ofwhich the specific machine motions and auxiliary functions are to beinitiated.

The address letter is generally a text character.

The numerical value can have signs and decimal points. The sign islocated between the address letter and the numerical value. A positivesign does not need to be entered.

����������

�� �������������������������������

��������������

���

���

����

���� �� ����

25Wort.FH7

Fig. 2-3: Word syntax

Example:

; Enhanced address structure for an X1 and Y1 axisG01 X1 50.45 Y1 35.456 F1000 Thread position 1Z10 Z to safety distanceM103 S1 1000 1. spindle 1000 RPM

Note: There must be a blank between the address and the numericvalue to be assigned.

The decimal point is set to achieve the resolutions shown below:

X0,00001 = 0,01 µmX0,0001 = 0.1 µmX0,001 = 1 µm

etc.

Address letter

Numerical value

Page 14: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

2-4 NC Program NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Leading or following zeros can be ignored in the decimal point format.

Decimal point entry is possible in the following addresses:

Address letters: I, J, K, P, S, F, contents of @xxx

Note: The maximum number of digits to the right of the decimalpoint, which can be programmed, is set in the process pa-rameters.

Branch Label

.×××××× × = 0-9 , A-Z , a-z

A branch label points to a single branch label in a destination NC block. Abranch label is always present twice, once in the NC block in which thebranch occurs and once in the destination NC block to which the branchis to be performed. A label always marks a program branch, regardlesswhether the branch is conditional or unconditional.

In terms of syntax, the label begins with a decimal point followed by atleast one and no more than six visible characters. The syntax does notdifferentiate between lower-case and capital letters. When a label isprogrammed in an NC block, the label must be the first element in the NCblock after the number.

Note: A branch command using a label is considered to be aprogram control command and is performed last based on itspriority. Machine movements in an NC block are performedbefore a branch label.

Example

G54 G90 G00 X0 Z0G04 F5BSR .ENDERET.ENDM05G04 F1RTS

Syntax

Page 15: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction NC Program 2-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Note

[ Text ]

Each NC block can contain a message, which will be displayed in thediagnostic menu (station window) in the user interface at the end of NCblock processing. The note in the diagnostics line remains active until it isoverwritten by a new note. A so-called blank message must beprogrammed in order to clear the current message in the NC diagnosticsline. The message is also cleared from the NC diagnostic line when aprogram is initiated. An NC block cannot contain more than one message.

A message is written in square brackets. It may not exceed a length of 48characters. All ASCII characters may be used. The message can beinserted at any location in the NC block; however, with the exception ofthe comment, it is always the last function to be executed.

Example:

G01 G54, G90 [ Traverse X to safety distance ] F1000

X500

[ Traverse Z to safety distance ] G01 G51 G90 F1000

Z100

Comment

( Text )

Each NC block can contain a comment. A comment is written inparentheses. It may not exceed a length of 80 characters. All ASCIIcharacters may be used. The comment can be inserted at any desiredlocation in the NC block. The comment is transferred to the controllermemory and is shown in the current NC block display.

An NC block cannot contain more than one comment and one message.

Example

G00 (Move X to start position) X150(Move Z to start position) G01 Z10

Messages and hints must not be programmed between individual Gfunctions.

Syntax

Syntax

Restriction

Page 16: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

2-6 NC Program NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

2.4 Available Addresses

Address letters available in the CNC:

A Reserved for axis name P Angle

B Reserved for axis name Q free

C Reserved for axis name R Radius

D Corrections S Spindle speed / position

E free T free

F feed U Reserved for axis name

G G Function V Reserved for axis name

H free W Reserved for axis name

I Interpolation parameters X Reserved for axis name

J Interpolation parameters Y Reserved for axis name

K Interpolation parameters Z Reserved for axis name

L free @ Variables

M Auxiliary M function

N Block Number

O free

An expanded address syntax is provided for the following addresses:

A(1-3) Reserved for axis name B(1-3) Reserved for axis name

C(1-3) Reserved for axis name U(1-3) Reserved for axis name

V(1-3) Reserved for axis name W(1-3) Reserved for axis name

X(1-3) Reserved for axis name Y(1-3) Reserved for axis name

Z(1-3) Reserved for axis name S(1-3) Spindle speed / position

Fig. 2-4: Address letters available in the CNC:

The NC syntax is not case sensitive; no distinction is made between up-per and lower case. This means that "x400" can be used instead of"X400" when programming an axis position. However, for the sake oflegibility, it is generally a good idea to write NC commands in upper casecharacters.

The full ASCII character set may be used for hints and messages.

Page 17: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

3 Motion Commands, Dimension Inputs

3.1 Coordinate System

The coordinate system defines the location of a point or a series of pointsin a plane or in space in relation to two or three NC axes.

As a rule, the right-hand, orthogonal Cartesian coordinate system havingthe axes X, Y and Z is used in NC technology. This system relates to themain axes of the machine.

��

��

��

��

� �

31KOORD.FH7

Fig. 3-1: Coordinate system

All other axes relate to these 3 main axes. A, B and C are rotary orpivoting axes having X, Y or Z as their center axes.

The A axis rotates about the X axis, the B axis rotates about the Y axis,and the C axis rotates about the Z axis. The positive direction of rotationof rotary axes corresponds to clockwise rotation when viewed in the posi-tive axis direction. The direction of rotation and the orientation of the axeswith respect to each other result from the right-hand rule(see Fig. 3-2).

With milling machines, the main axes are generally named X, Y and Z.With lathes, the names are defined as Z and X.

Note: The axis names can be freely defined via the axis parameters.

������

����� �����

�����

���� ��������� �������� � ���������

32HAND.FH7

Fig. 3-2: Right-hand rule

Page 18: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-2 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

3.2 Motion Commands

The path command or movement instruction causes an axis to move. Thepath command consists of the address letter of the axis address (forexample, X, Y or Z) followed by the sign (+, -) to indicate the direction ofmovement, and the distance to be traveled, the coordinate value.

���������� ������������������������� �������

� ������

�� ����

���������� ���������������������������������������

� �����������������

�� �������������������

���������� ������������������������������������ �������

32Weg.FH7

Fig. 3-3: Syntax for motion commands

Examples:

Z105.5 or

Z=105.5 or

Z105.5

X= @80

X1 245.65

The coordinate value is comprised of:

• the sign,

• 6 or 5 digits to the left of the decimal point,

• the decimal point

• 4 or 5 digits to the right of the decimal point.

If no sign is programmed, the coordinate value is considered to be posi-tive. If the coordinate value only has digits to the left of the decimal point,the decimal point does not need to be entered. Leading or following zeroscan be ignored.

If a decimal point is programmed, at least one digit to the right of thedecimal point must be stated.

The number of digits to the left and right of the decimal point may notexceed 10 digits.

In the notation using four digits to the right of the decimal point, themaximum value range for coordinates is:

-214748.3648 to +214748.3647

or with five digits to the right of the decimal point:

-21474.83648 to +21474.83647

Syntax

Page 19: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

3.3 Measurements

The path commands for the axes can be entered in two different ways:

• as an absolute dimension entry (G90) or

• as an incremental dimension entry (G91).

Absolute Dimension Entry "G90"In absolute dimension entry, all dimensions stated relate to a fixed zeropoint. When the CNC program boots, the initial setting is G90. G90remains in effect until it is overwritten with G91. In the NC program, G90only needs to be programmed to cancel G91.

G90

Example:

!

"!

#!

$!!

! %! "! #! $!! $ ! $%!�

&'$(

&' ( &')(

&'%(

%!

32ABSOL.FH7

Fig. 3-4: Absolute dimension entry

NC program:

G00 G90 G54 X0 Y0 Z10 S1000 M03 Start position

G01 X50 Y50 F500 [P1]

BSR .DRILL Branch to drilling subroutine

Y80 [P2]

BSR .DRILL Branch to drilling subroutine

X100 [P3]

BSR .DRILL Branch to drilling subroutine

Y50 [P4]

BSR .DRILL Branch to drilling subroutine

M05 Spindle OFF

RET Program end

.DRILL Drilling subroutine

G01 Z-10 F300 Drill to depth Z

G04 F2 Dwell time 2 seconds

G00 Z3 Return to safety distance

RTS End subroutine

Syntax

Page 20: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-4 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Incremental Dimension Entry "G91"Incremental positioning defines all subsequent dimensional entries asdifferences relative to the NC block starting position.

G91

G91 remains in effect until the end of the program or until it is overwrittenby G90.

Note: The distance that has been programmed for an axis usingG91 refers to the last absolute position. If the programcoordinate system is altered by shifting, rotating or toolcorrection changes, the axes must be positioned absolutelybefore G91 or G90 are utilized.

Example:

!

"!

#!

$!!

! %! "! #! $!! $ ! $%!�

&'$(

&' ( &')(

&'%(

%!

32INKRE.FH7

Fig. 3-5: Absolute dimension entry

NC program:

G00 G90 G54 X0 Y0 Z3 S1000 M03 Start position

G01 G91 X50 Y50 F500 [P1]

BSR .DRILL Branch to drilling subroutine

Y30 [P2]

BSR .DRILL Branch to drilling subroutine

X50 [P3]

BSR .DRILL Branch to drilling subroutine

Y-30 [P4]

BSR .DRILL Branch to drilling subroutine

M05 Spindle OFF

RET Program end

.DRILL Drilling subroutine

G01 Z-13 F300 Drill to depth Z

G04 F2 Dwell time 2 seconds

G00 Z13 Return to safety distance

RTS End subroutine

Syntax

Page 21: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

3.4 Offsets

Zero points and various reference points used to establish workpiecegeometry are defined on all numerically controlled machines.

The machine zero point is located in a fixed position at the origin of themachine coordinate system and cannot be moved.

�34Masch.FH7

Fig. 3-6: Icon for the machine zero point

The machine reference point is a defined point located within the workingrange of the machine. It is used to establish a defined initial position afterthe machine is powered on. The machine builder in each axis in whichincremental positioning is used establishes the machine reference point.

�34Refer.FH7

Fig. 3-7: Icon for the reference point

Note: The reference dimensions are set in the drive parameters

The workpiece zero point is the origin of the workpiece coordinatesystem. As the program zero point, which the programmer establishes, itis used as the basis for all workpiece dimensions. The reference to themachine zero point is established by the zero offset value when themachine is set up.

�34Werk.FH7

Fig. 3-8: Icon for the workpiece zero point

Machine zero point

Icon for the machine zero point

Machine reference point

Icon for the reference point

Workpiece zero point

Icon for the workpiece zeropoint

Page 22: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-6 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Examples:

� �

*����

+��,�����

34NULL.FH7

Fig. 3-9: Zero points – drilling/milling machines

�-

35NULLD.FH7

Fig. 3-10: Zero points – lathe (machining ahead of the center of rotation)

Page 23: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-7

DOK-TRA200-NC**PRO*V23-AW01-EN-P

3.5 Zero Offsets

The zero offsets permit the origin of a coordinate axis to be offset by agiven value relative to the machine zero point. The position of themachine zero point is permanently stored in the CNC memory and is notchanged by the zero offset.

��

��

������� ��� � !���"�" �#� $���% !&�������'(��)

"�*"��#�* +�

36Nullv.FH7

Fig. 3-11: Zero offsets

The following zero offsets are provided in the CNC:

• Programmable absolute zero offset G50,

• Programmable incremental zero offset G51,

• Programmable work piece zero point G52,

• Adjustable zero offsets G54 - G59as well as

• adjustable general offset in the zero offset table.

Using zero offsets G50, G51 and G54 to G59 and workpiece zero pointG52, the coordinate zero point of every NC axis can be applied to anydesired coordinate position within or beyond the individual range ofmovement. It is thereby possible to process an identical NC program atdifferent machine positions.

The position of the machine zero point of each axis is specified in thedrive parameters as the difference in relation to the reference point. Thevalue entered in the drive parameters corresponds to the coordinate valueof the reference point in the machine coordinate system.

Page 24: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-8 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

( ,

�����-�!��#

* +� ( ���#� �* +�

����.���� �'���

� �%$!��.��#/!�� �

�+ �-

( �

�#��#�--!�#0�#�#� �#1+ 2%1�3��43�1

�� /���0�������1��'�����22�#��#�--�0��

� �#14!�%���#� �* +�

�0+� �3 ���#� �* +� ( �

5�%#�-�� � ���#� �* +� ( �

�#��#�--�0�� ��0+� �3 ���/�!�%#�-�� � ���#� �* +� �

� �& !� � $� �6.��#��#�-�

7�+���% !�� �& !� �+� ��% !�� �� � ���8���#� �* +� �� #�& !� �( ,

9� � ����#� �* +�

� #��#�--�0��� �#14!�%����#� �* +� :� �& !� � $��6.��#��#�-

�/;3+ �0�� ���#� �* +� � �%$ !���.��#/!�� ��+ �-�* +�

( �1��'��

1��'��

1��'��

( ,

<�#!�� �

9� � ��� �������=�( ��=�( ��

9� � ��� �������=�( ��=�( ��

9� � ��,�������=�( ��=�( �,

<�#!�� � <�#!�� ,

( �����( >

nullpunkt_trans.FH7

Fig. 3-12: Sum of zero offsets

The sum of zero offsets is made up of the adjustable zero offsets G54 -G59 or the programmable workpiece zero point G52 and theprogrammable zero offsets G50, G51 as well as the adjustable generaloffsets in the zero point table.

Note: The programmable zero offsets G50 and G51 become inactivewhen G52, G53, G54 - G59 are programmed. G59 inactive.

Page 25: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-9

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Adjustable Zero Offsets "G54 - G59"The adjustable zero offsets are entered in the zero offset table for thoseaxes which are present using the user interface. The entered valuesfunction as an absolute offset relating to the machine zero point. It isincluded in the same NC block after the programming of G54 - G59 if theconcerned axis is programmed. G54 - G59 is cancelled by G53 or G52.

G54 - G59

Example:

!

%!

"!

#!

$!!

! %! "! #! $!! $ !

!

%!

"!

#!

! %! "! #! $!! $ !

&'$(

&' (&')(

&'%(&'3(

�� ������ 4������.���� *�������� 4��5����6� ������7� 4�83%9�3 :$��%#:#

38G54EIN.FH7

Fig. 3-13: Adjustable zero offset G54

NC program:

G00 G90 G54 X0 Y0 Z10 S1000 M03 Starting position [P1]

G01 X50 Y50 F1000 [P2]

BSR .DRILL Branch to drilling subroutine

X70 Y60 [P3]

BSR .DRILL Branch to drilling subroutine

X90 Y70 [P4]

BSR .DRILL Branch to drilling subroutine

X110 Y80 [P5]

BSR .DRILL Branch to drilling subroutine

M05 Spindle OFF

RET Program end

.DRILL Drilling subroutine

G01 Z-10 F300 Drill to depth Z

G04 F2 Dwell time 2 seconds

G00 Z3 Return to safety distance

RTS End subroutine

Syntax

Page 26: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-10 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Coordinate Rotation with Angle of Rotation "P"Coordinate rotation adapts the coordinate system of the workpiece to thecoordinate system of the machine. Rotation angle P is related to theindividual zero offsets G54 - G59, G50, G51 and the adjustable generaloffset. Coordinate rotation is always active in the active plane (forexample G17).

For adjustable zero offsets G54 - G59 and for the general adjustable offsets,the rotation angle is entered via the user interface into the zero point tables byusing the expression PHI.

The angle of rotation is programmed using the address Pxxx withprogrammable zero offsets G50 and G51.

G50-G51 P<angle>

• The total of all active rotational angles is subject to the same condi-tions as with the zero offsets.

• As a rule, the angle of rotation is not active until the next active NCblock.

• The angle of rotation is calculated in the controller as a modulo valuefrom 0° to 360°. This means that a programmed angle of, for example540°, is calculated as 180°.

• Coordinate rotation cannot be programmed with the programmableworkpiece zero point G52.

Example:

!

%!

"!

#!

! %! "! #! $!! $ !

��

��

&' (

&')(

�� ������ 4������.���� *�������� 4�5����6� ������7� 4�83%�93 :$��%!�';6�%3<

39G54KOOR.FH7

Fig. 3-14: Adjustable zero offset G54 with coordinate rotation

NC program:

G00 G90 G54 X0 Y0 Z10 S1000 M03 Starting position [P1]G01 X40 Y70 F800 [P2]BSR .DRILL Branch to drilling subroutineX80 [P3]BSR .DRILL Branch to drilling subroutineM05 Spindle OFFRET.DRILL Drilling subroutineG01 Z-10 F300 Drill to depth ZG04 F2 Dwell time 2 secondsG00 Z3 Return to safety distanceRTS End subroutine

Syntax

Page 27: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-11

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Programmable Absolute Zero Offset "G50", Programmable IncrementalZero Offset "G51"

Programmable zero offsets G50 and G51 move the machining zero pointwith

• G50 absolute or

• G51 incremental

to the most recently programmed workpiece zero point by the offsetvalues which were defined together with the address letters.

G50 <axis name(s)> <coordinate value(s)>Absolute offset of the machining zero point

G51 <axis name(s)> <coordinate value(s)>Incremental offset of the machining zero point

In addition, the machining coordinate system can be moved, using G50(absolute) or G51 (incremental), to the most recently selected workpiececoordinate system in order to rotate the active plane using address letterP.

• Programmable zero offsets G50 and G51 are active according to NCblocks. The offset remains in effect until the next change of the zerooffset or of the coordinate system.

• No further functions may be programmed in an NC block containingG50 or G51.

Example:

!

%!

"!

#!

! %! "! #! $!! $ !

!

%!

"!

#!

$!!

! %! "! #! $!!

!

%!

"!

#!

$!!

! %! "! #! $!!

��

��

�� �,

��

(�����������

����

312G50.FH7

Fig. 3-15: Programmable absolute zero offset "G50"

Syntax

Page 28: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-12 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

NC program:

G00 G90 G54 X0 Z0 [P0]

BSR .CONT Branch to the contour subroutine

G50 X2 Zero offset X by 2 mm

BSR .CONT 2. Call of the contour subroutine

RET

.CONT Contour subroutine

G01 X10 Z48 F750 [P1]

X25 Z59 [P2]

Z92 F1500 [P3]

X11 Z100 F600 [P4]

Z113 F1000 [P5]

G00 X40 Return to safety distance

Z0

X0 [P0]

RTS Return to main program

Programmable Zero Point of Workpiece "G52"A workpiece zero point can be programmed as the axis position for allaxes which are present using programmed workpiece zero point G52.When G52 is performed, the coordinate values to which the G52command applies are assigned to the current position. This correspondsto the definition of the workpiece zero point in relation to the currentposition.

G52 <axis>

• Axes which are not programmed using G52 work in the machinecoordinate system.

• Programming G52 produces a G53 when the change occurs. All zerooffsets which are already active are canceled.

• No further functions may be programmed in an NC block containingG50.

• Coordinate rotation P cannot be programmed in combination with G52.

Syntax

Page 29: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-13

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Example:

!

%!

"!

#!

! %! #! $!! $ ! �

&'#(

(���?@����A� #��!�� $����#��* +� �9�0��8! $�8�3�/�0��(���>���,�

(��������*?9�0�������,�

!

%!

"!

#!

$!!

! %! "! #! $!!

!

%!

"!

#!

$!!

! %! "! #! $!!

B��C

B��C

B�,CB��C

B�C

B��C

B��C

B�,CB��C

B�C

"!

312G52.FH7

Fig. 3-16: Calling G52

NC program:

G90 G53 G00 X20 Y30

G52 X0 Y0 Calling G52

BSR .CONT Branch to the subroutine

G52 X-70 Y0 Calling G52

BSR .CONT Branch to the subroutine

RET

.CONT Subroutine

G00 X0 Y0 [P1]

G01 X40 Y20 F1000 [P2]

X100 [P3]

Y80 [P4]

X40 [P5]

Y20 [P2]

G00 X0 Y0

RTS Return to main program

Cancel Zero Offsets "G53"All zero offsets are canceled by programming G53. This causes theworkpiece coordinate system to be switched to the machine coordinatesystem.

G53

• Depending on the setting in the process parameters, G53 can be thepower-on default and the initial setting when the NC program starts.

• If G53 is placed in an NC block containing G91 only the positiondisplay is switched to the machine’s actual system.

• If the active zero offsets are canceled using G53 when tool pathcorrection is active (G41, G42), a G40 (no tool path correction) isissued internally. The tool correction is rebuilt for the followingmovement blocks.

Syntax

Page 30: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-14 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Adjustable General Offset in the Zero Offset TableBy having the general adjustable offset in the zero offset table, the CNCcan also offset the workpiece zero point in addition to the adjustable andprogrammable zero offsets. The adjustable general offset functions in anadditive manner to the adjustable and programmable zero offsets. Thismeans that the adjustable general offset does not become active until oneof the adjustable or programmable zero offsets has been activated.

• The adjustable general offset is canceled using G53 and is notcalculated until a zero offset is selected again.

• An angle of rotation can be entered into the zero offset table using theaddress PHI. This angle is added to the already active angles ofrotation.

• The adjustable general offset can never be active alone due to theconditions described above.

Read/Write Zero Offset Data from the NC Program via "OTD"The OTD command (Offset Table Data) can be used to read and writethe data in the zero offset table and the zero offsets which have beenactivated in the NC program from the NC program.

.*=>&$? (@&!::"(@&!::A(@&!::A(@&$::$!(B

�����������������*�������<��������

����.����

.�*����'������

1��-�2��C

35otd.FH7

Fig. 3-17: OTD command syntax

Please refer to the section "Reading and writing ZO data from the OTDprogram" for a detailed description of the OTD command.

3.6 Plane Selection

Plane selection is an important requirement to correctly perform allmovement commands in an NC program. It informs the controller of theplane on which machining is performed in order to permit, for example, acorrect calculation of the tool correction values. Circular interpolation isalso possible only in the selected plane.

NC commands G17, G18 and G19 suffice to select a plane that is definedby 2 linear main axes. NC commands G20, G21 and G22 are required toalso select a plane that is partially or totally defined by rotary main axesand/or by auxiliary axes.

Syntax

Page 31: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-15

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Axis Number, Axis Designation and Axis Meaning

Each axis has an axis number (1 - 7), an axis designation and an axismeaning (X, Y, Z, A, B, C, U, V, W, S).When the parameters are being set, an axis number and an axis meaningare specified for each axis.

Example:

Axis parameter for axis number 7C07.001 Axis designation 1 X1C07.053 Axis meaning (axis functions) X

The following mode of writing is used:Axis designation (axis meaning)

Example:

B(X) means: The axis with axis designation B has axismeaning X.

Plane Selection "G17", "G18", "G19"

G17

G18

G19

The plane selection correlates with the axis meaning:

1. Axis 2. Axis Verticalof the plane: of the plane: Axis:

G17: X Y ZG18: Z X YG19: Y Z X

Notes: The following definitions apply in this document:

1. lin. main axis (abscissa) = axis with axis meaning X

2. lin. main axis (ordinate) = axis with axis meaning Y

3. lin. main axis (applicate) = axis with axis meaning Z

(�@

(��

(�>

$� ������&(

��������&�(

)��������&(

��������

.����� �

������� �

��������

��������

��������

314EBENE.FH7

Fig. 3-18: Processing planes

Setting axis parameters

Notation

Syntax

Description

Page 32: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-16 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

3.7 Go to Axes Reference Point "G74"

Movement condition G74 "Go to the axes reference point" allowsmovements to the reference point with one or more axes in an NCprogram.

G74 <[axis name][coordinate value=0]> <feed>

Example: G74 X0 Z0 F10000

G74 is active only for the NC block in which it is located. In the referencepoint cycle, each programmed axis is moved at the homing speed thathas been entered in the axis parameters.

• G74 deactivates the tool path and tool length correction using G40,sets the machine zero point (G53), and switches to feed programming(G94) and to absolute dimension entry (G90).

• The coordinate values of the programmed axes in a G74 NC blockmust be defined as zero.

• If a number of axes are programmed in a G74 block, the axismovement of the axes is not performed with interpolation.

• A feed rate programmed in a G74 NC block will also remain active forother types of interpolation.

Note: The reference dimensions and the reference point cycletraversing speed are set by the machine builder in the driveparameters.

3.8 Feed to Positive Stop

The function Feed to positive stop allows one or more axes to feed to amechanical stop without causing a drive error. Possible applications areto preload an axis slide at the stop position during machining or to use theaxis position at the stop as a reference position for further machining.

Festanschlag.FH7

Fig. 3-19: Feed to positive stop

Syntax

Notes for programming G74

Page 33: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-17

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Feed to Positive Stop "G75"Path condition G75 "Feed to positive stop" causes the axes which areprogrammed together with the function in the NC block to travel in thedirection of the programmed coordinate value.

G75 <[axis name][coordinate value]> <feed>

Example: G75 X100 Z50 F500

G75 is active only for the NC block in which it is located. The axes travelin the direction of the programmed coordinate value using the feed, whichis programmed in the G75 block. If a mechanical resistance – forexample, a mechanical stop – is detected during the travel distance, thetorque which is defined by axis parameter Cxx.044 (Reduced torque atpositive stop) is limited to a percentage of the peak current. Thecommand value is not increased further; the remaining distance and thetorque preload are maintained.

Notes on "Feed to positive stop":

• If a feed value is not programmed in the G75 block,traveling will be performed at the speed entered in axisparameter "Max. feed to positive stop".

• If the programmed final axis position value of an axis isreached, the following error message is generated:"Positive Stop lies beyond the definedrange"If the stop yields and wanders during operation, or if theaxis slide is forced out of position by a strong opposingforce, the axis position is updated. If this results in the NCblock start position not being reached or the NC block finalposition being exceeded, then the error message:"Positive Stop lies beyond the definedrange"is issued.

• The dimensional information in a G75 NC block can beentered in absolute mode (G90) or incremental mode(G91).

• If a number of axes are programmed in a G75 block, theaxis movement of the axes is not performed withinterpolation.

• The stop axis may not be moved between the calls of G75and G76.

Parameters "Reduced torque at positive stop" and "Max. feedto positive stop" are set by the machine builder in the axisparameters.

Syntax

Page 34: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-18 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Example:

� ��� �@�

) $D

�� :�4E

321FEST.FH7

Fig. 3-20: Feed to positive stop

NC program:

G00 Z100 M3 S1250 Z axis to starting position

G75 Z170 F200 Feed to positive stop

.

. It is not possible to program movementsnear the stop axis!

G76 Cancel axis preload

G01 Z100 F1000 Z axis to starting position

G00 Z0 M5 Z axis to reference point

RET

Programmable TorqueIn "Feed to positive stop G75", the torque at which the positive stop isdetected and the holding torque can be adjusted individually. Theparameter settings are performed with the AXD commands.

Besides axis parameter "Cxx.044 Reduced torque at positive stop", thetorque when feeding to the positive stop can be programmed process-dependently via the AXD parameters in the NC or PLC program.

65017 (P-7-3577) Reduced torque of the digital drive (in percent)during movement to the positive stop Thepositive stop is detected at this torque.

65018 (P-7-3578) Reduced torque of the digital drive (in percent) atthe positive stop This value takes effect only if it isless than the value that was entered in the"Reduced torque at positive stop" axis parameterand less than 100%. The positive stop is held atthis torque.

NC program example

@41=AXD(X:P-7-3577) ; save preselected values

@42=AXD(X:P-7-3578)

AXD(X:P-7-3577)=200 ; Values required for processing

AXD(X:P-7-3578)=120 ; write (multiplication factor = 40)

G75 X200 F500 ; Drive to positive stop...G76 ; cancel torque preload

AXD(X:P-7-3577)=@41 ; Saved preselected

AXD(X:P-7-3578)=@42 ; rewrite values

Page 35: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Commands, Dimension Inputs 3-19

DOK-TRA200-NC**PRO*V23-AW01-EN-P

The torque at which the positive stop is detected is programmed with AXDparameter "65017 (P-7-3577)". After the positive stop is detected, the axisis held to the positive stop with the programmed torque in AXD parameter"65018 (P-7-3578)" until the torque preload is cancelled with G76.

Cancel All Axis Preloads "G76"Path condition G76 "Cancel all axis preloads" causes the preloads on allpreloaded axes to be canceled. The actual position value is used as theposition command value so that the axis positions can be used asreference positions for further movements. The distance-to-go is ignored.

G76

Notes for programming G76:

• G76 is active only for the NC block in which it is located.

• Path condition G76 cannot be programmed together withaxis data. G76 cancels the axis preloads on all axes whichare preloaded using G75 "Feed to positive stop".

• If a program is terminated by the NC command RET, by abranch with stop BST, when the NC program is manuallyreset via Control Reset, or if there is a power failure, allaxis preloads are automatically canceled.

3.9 Adaptive Depth "G68" / "G69"

Adaptive depth assists a 2nd encoder system which, for example, is used

for the compensation of workpiece fixing errors (surface sensors).

G75 <[axis name][coordinate value]> <feed> switches the motor encoderto the 2nd encoder

G68<[axis name][coordinate value]> <feed> switches the 2nd encoder tothe motor encoder

The parameters of the 2nd encoder are set in axis parameters Cxx.087,

Cxx.088, Cxx.089, Cxx.090 and Cxx.091. Switching is performed with anextended encoder using G code G69. The encoder system is switchedback with the encoder still extended using G68.

Application

Application 1For adaptive positioning with a linear sensor. Switching is performedduring movement.

Application 2To switch from a motor encoder to an external measuring system. Theexternal measuring system can either be a linear encoder, a rotationencoder for circular axes, or a linear sensor. Switching is performed in astandstill condition, but under power and with controller release.

Syntax

Syntax

Page 36: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

3-20 Motion Commands, Dimension Inputs NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

New Axis ParameterFurther axis parameters are offered when switching to a 2nd

encodersystem if Motor encoder was preselected in the axis parameter "Positionencoder setup".

• Cxx.087 Adaptive control

• Cxx.088 Reference value of the 2nd encoder system

• Cxx.089 Positive travel limits of the 2nd encoder system

• Cxx.090 Negative travel limits of the 2nd encoder system

• Cxx.091 Permissible sensor deflection in the 1st encoder system

Note: The reference value of the 2nd encoder system must lieoutside of the travel limit in order to exclude the possibility ofundesired movements if the workpiece is not reached!

G Codes to Switch to a 2nd Encoder SystemTwo new G codes exist to switch between the two encoder systems.

• G69 switches to the 2nd encoder

• G68 switches back to the motor encoder.

The G codes are modally inactive.

A switch to the 2nd encoder is performed under a standstill condition if G

code G69 is cancelled when G09 was preselected. In the 2nd encoder

system, the axis coordinate value is being approached as the targetposition when G08 is preselected.

Example of "Switching in a standstill condition":

G69 G09 X0 ;Switch to 2nd encoder system

G01 X10 ;Move the axis in the 2nd encoder system

G68 G09 X0 ;Switch to 1st encoder system

G01 X120 ;Move the axis in the 1st encoder system

Example of "Switching on-the-fly":

G01 G08 G90 X200 ;Move the axis in the 1st encoder system

G69 X10 ;Switch to 2nd encoder system

G01 G08 X20 ;Move the axis in the 2nd encoder system

G68 X50 ;Switch to 1st encoder system

X50 describes a position in the 2nd encodersystem

Note: Also see the documentation "Adaptive depth".

Page 37: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

4 Motion Blocks

4.1 Axes

Linear Main AxesThe linear main axes span a Cartesian coordinate system.

They are identified by means of axis names:

• 1. linear main axis (symbol: X)

• 2. linear main axis (symbol: Y)

• 3. linear main axis (symbol: Z)

The axis name (address of the axis as it is to be addressed in the NCprogram) is freely selectable; however, the meaning of the axis is definedby the position of the axis in the coordinate system (see next fig. "Linearmain axes", sequence "Rotary main axes").

Circular interpolations and tool radius path correction can be performedonly within the machining planes spanned by the linear main axes (planeselection with G17, G18, G19).

Rotary Main AxesRotary main axes rotate about the linear main axes.

The axis meanings:

• 1. rotary main axis (symbol: A)

• 2. rotary main axis (symbol: B)

• 3. rotary main axis (symbol: C)

indicate which coordinate axis the respective rotary main axis rotatesaround (see next fig. "Linear main axes"). The axis name (the address ofthe axis) is freely selectable; however, the axis meaning is defined by theposition of the axis in the coordinate system. With absolute positioning(G90), the traverse range is ±360.000 degrees. With absolute positioning(G90), the position which is programmed in an absolute statement istraversed via the shortest possible path. With incremental positioning(G91) the traverse range is ±999999.9999 degrees or ±99999.99999degrees (parameter dependent). The sign indicates the traverse direction.

���

���

���

����������

�� ��������

�� ��������

��������

�� �����

���������

�����

������

���� �

���

���

���

41Koor.FH7

Fig. 4-1: Linear main axes (X, Y, Z) and rotary main axes (A, B, C) in aCartesian reference coordinate system

Page 38: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-2 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Linear and Rotary Auxiliary AxesLinear and rotary auxiliary axes can occupy any given position within thespatial vicinity.

• 1. auxiliary axis (symbol: U)

• 2. auxiliary axis (symbol: V)

• 3. auxiliary axis (symbol: W)

identify this type of axis.

Axis meanings U, V and W are completely equivalent. They can beselected for linear and rotary axes, as well as for rotary-axis capable mainspindles.

Like the other axes, auxiliary axes take part in positioning processes andinterpolation movements, and like these reach their programmed finalvalue simultaneously. However, the path feed rate (F value) specified inthe NC program does not apply to the auxiliary axes, but to the linear androtary main axes if they are programmed within an NC block.

4.2 Interpolation Conditions

Following Error-Free Interpolation "G06"

G06

A following error-containing algorithm is activated for the axis movementsusing the interpolation condition G06. All of the following path movementsare performed in a real path mode. The NC block transitions are notrounded, and they are processed free of interruptions. The path velocity isreduced to nearly zero near contour corners (path bends). The minimizedfollowing error mode is realized by means of a dynamic feed forwardsystem. A following error only occurs within the 2ms limits of theinterpolation clock.

• Virtually lag-free operation can be achieved only if Bosch Rexrothdigital drives are used.

• After it is selected, G06 remains modally active until it is canceled byG07 or until it is automatically reset at the end of the program or byBST.

• This function permits the gain factor to be increased to the machine'smaximum mechanical load limits. A higher gain factor produces abetter dynamic characteristic of the axis movements.

Syntax

Page 39: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Examples:

���� � ���������� ���

���� �������� ���� ���� ����������������

����������� ��� ������

���� ��������� !��� "��#

�� ��� � ���� ���� ���� � � � � � �� � !"��� �#� � � ��

!�������$�� ���� %��������&�� ��

!���'��(��� �!���)*�����$� ��+�����!���

!�������$�� ���� ��������&�� ��

!���)*�����$� � � + �����!���!���'��(��� ,

���� ���������%!��� "��#

� �"�� �$�� % " � � #��%%

����

��������

402KREIS.FH7

Fig. 4-2: Circular interpolation with F8000 mm/min and following error-freeinterpolation

In the circle shown above, the following error is multiplied by anexpansion factor of 1693.7. Here is the part program for the circle plots(see above and following sequences):

G00 G90 G54 G07 G08 X199 Y136 Z5 Start position

S5000 M03 Spindle ON

G01 Z-5 F1000 Lower cutter into material

G41 X199 Y141 F8000 [or F1000] Start point of circular machining

G03 X180 Y122 I199 J122 Starting circle

G01 X180 Y100 Transition element

G02 X180 Y100 I100 J100 Full circle ∅160

G01 X180 Y77 Transition element

G03 X198 Y59 I198 J77 Exiting circle

G00 Z5 Withdraw tool to safety clearance

RET Program end

Due to the compensated following error, the actual contour is nearly idealfrom the NC controller point of view. A position deviation of 0.002 mmoccurred only at the transition between the quadrants. The positiondeviation at the transition between the quadrants can almost becompletely compensated by programming a friction torque compensation.

Page 40: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-4 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

���� � ���������� ���

���� �������� ����

���� ��������������������������� ��� ������

� � � � �� � !"��� �#� � � ��

�� ��� � ���� ���� ���

����

��������

� !&� �! �$ '�� �!� �"�� � � � �!('� � )� �! � � �*)� �"� � +"� &� �!

���� ��������!��� "��#

���� ��������!���%"��#

403Kreis.FH7

Fig. 4-3: Circular interpolation with following error-free interpolation, section

The next figure shows, for comparison, the same circle at a path feed rateof F1000 mm/min.

���� � ���������� ���

���� �������� ���� ���� ����������������

����������� ���,,���,

���� ���������!��� "��#

�� ��� � ���� ���� ���� � � � � � �� � !"��� �#� � � ��

!�������$�� ���� %��������&�� ��

!���'��(��� �!���)*�����$� � � + �����!���

!�������$�� ���� ��������&�� ��

!���)*�����$� � � + �����!���!���'��(��� ,

���� ���������!���%"��#

� �"�� �$�� % " � � #��%%

����

��������

404KREIS.FH7

Fig. 4-4: Circular interpolation with F1000 mm/min and following error-freeinterpolation

Page 41: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

The figure below shows an evaluation of the position deviation in thetransition between the quadrants.

���� � ���������� ���

���� �������� ����

���� ��������������������������� ��� ,,���,

� � � � �� � !"��� �#� � � ��

���� ��������

�� ��� � ���� ���� ����%%,%�

����

��������

� !&� �! �$ '�� �!� �"�� � � � �!('� � )� �! � � �*)� �"� � +"� &� �!

!���%

���� ��������!��� "��#

"��#

405KREIS.FH7

Fig. 4-5: Circular interpolation with following error-free interpolation, sectionF1000

Page 42: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-6 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Interpolation with Lag Distance "G07"

G07

A following error-containing algorithm is activated for the axis movementusing the interpolation condition G07. It is active and locked until it isoverwritten by G06. G07 is reset automatically at the end of the program(RET) or by the BST command. NC block transitions which are nottangential will be rounded.

Example:

���� � ���������� ���

���� �������� ���� ���� ����������������

����������� ���-,��-

���� ���������!��� "��#

�� ��� � ���� �������� � � � � � �� � !"��� �#� � � ��

���� ��������!���%"��#

� �"�� �$�� % " � � #��%%

����

�������

!�������$�� ���� %��������&�� ��.� /

!���'��(��� �!���)*�����$� � � + �����!���

!�������$�� ���� ��������&�� ��.� /

!���)*�����$� � � + �����!���!���'��(��� ,

406KREIS.FH7

Fig. 4-6: Circular interpolation with F8000 mm/min and G07

In the circle shown, the following error was multiplied by an expansionfactor of 527.5. On the other hand, the expansion factor for G06 was amultiplication factor of 1693.7, which is more than three times the value;this explains the variations of the position deviation. Here is the partprogram for the circle plots (see above and following sequences):

G00 G90 G54 G07 G08 X199 Y136 Z5 Start position

S5000 M03 Spindle ON

G01 Z-5 F1000 Lower cutter into material

G41 X199 Y141 F8000 [or F1000] Start point of circular machining

G03 X180 Y122 I199 J122 Starting circle

G01 X180 Y100 Transition element

G02 X180 Y100 I100 J100 Full circle ∅160

G01 X180 Y77 Transition element

G03 X198 Y59 I198 J77 Exiting circle

G00 Z5 Withdraw tool to safety clearance

RET Program end

The diameter of the programmed circle becomes smaller according to theprogrammed speed and the selected gain factor. The programmedcontour will be maintained with increasing accuracy as the programmedspeed becomes lower and the selected gain factor becomes larger.

Syntax

Page 43: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-7

DOK-TRA200-NC**PRO*V23-AW01-EN-P

���� � ���������� ���

���� �������� ����

���� ��������������������������� ��� -,��-

� � � � �� � !"��� �#� � � ��

���� ��������

�� ��� � ���� ��������%%,%�

����

��������

� !&� �! �$ '�� �!� �"�� � � � �!('� � )� �! � � �*)� �"� � +"� &� �!

!���%

���� ��������!��� "��#

"��#

407KREIS.FH7

Fig. 4-7: Circular interpolation with G07, section

The next figure shows, for comparison, the same circle at a path feed rateof F1000 mm/min.

���� � ���������� ���

���� �������� ���� ���� ����������������

����������� ��� ��01��

���� ��������!��� "��#

�� ��� � �� &� �������� � � � � � �� � !"��� ��� � � ��

���� ���������!���%"��#

� �"�� �$�� % " � � #��%%

����

�������

!�������$�� ���� %��������&�� ��.� /

!���'��(��� � !���)*�����$� � � + �����!���

!�������$�� ���� ��������&�� ��.� /

!���)*�����$� � � + �����!���!���'��(��� ,

408KREIS.FH7

Fig. 4-8: Circular interpolation with F1000 mm/min and G07

The figure below shows an evaluation of the position deviation in thetransition between the quadrants.

Page 44: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-8 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

���� � ���������� ���

���� �������� ����

���� ��������������������������� ��� ��01��

� � � � �� � !"��� ��� � � ��

���� ��������

�� ��� � ���� ��������%%,%�

����

��������

� !&� �! �$ '�� �!� �"�� � � � �!('� � )� �! � � �*)� �"� � +"� &� �!

!���%

���� ��������!��� "��#

"��#

409KREIS.FH7

Fig. 4-9: Circular interpolation with G07, partial view with F1000 mm/min

Optimal Speed Block Transition "G08"

G08

Interpolation function G08 is used to adjust the final velocity at the end ofthe NC block to ensure that the transition to the next NC block occurs atthe highest possible velocity. The crucial factor is the maximum velocityjump, which is defined in the axis parameters. In the case of a tangentialNC block transition with the same contour velocity, the transition is madeat the same velocity. The result is that workpiece surfaces are uniform; nofree-cutting marks are produced.

• In the case of a tangential transition and an active G06, e.g. atransition from a straight line to a small circle, the velocity is reduced tothe calculated starting velocity of the next NC block.

• If G61 (exact stop) is programmed with G08 Optimal speed blocktransition active, G09 Speed-limited block transition is automaticallyactivated (see next page). G08 can be programmed again if G61 hasbeen cancelled.

• Function G08 is active with a feed override of 1%–100%. If the feedoverride is set higher than 100%, the velocity is reduced to 100% inthe NC block transitions.

• The M functions stop NC block execution until they are acknowledged;thus, G08 has no effect in NC blocks in which an M function isprogrammed.

• After it has been selected, G08 remains modally active until it iscanceled by G09 or until it is automatically reset at the end of theprogram or by BST.

• Intermediate NC blocks in which no interpolation movements occur donot cause a velocity change. For example, entering an intermediateNC block containing G01 F7000 would cause a speed drop.

Note: The machine builder specifies the maximum feed rate changein the axis parameters.

Syntax

Page 45: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-9

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Examples:

The velocity diagram (above and following sequence) clearly shows howthe NC block transition from the first to the second area is traversed atunreduced velocity. The NC block transition cannot be detected. The feedrate is reduced to F7000 in the NC block transition to the third segment.The velocity is optimally reduced to the NC block starting velocity withoutovershooting.

���� � ���������� ���

!���'��(��� �

��#�)�����

2�����2�$��� 3����� ���� 2�$��� � 4 2�$��� ,

-�� "���� �.�&��/��� 0 01 ���

����

��������

��"� �����2 3/���� �!���-"���� �!� 4"!%������ !������

2�$��� �� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9!� ��� ���� ��� 7

2�$��� ,� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9���� �������� ���7

2 �$�� � � 4 2 �$�� � ,

!���)*�����$� + �����!��� !���'���� %

�������� &�� ��.� / :!���

��

" 5��78���; �1<�#

410SATZ.FH7

Fig. 4-10: NC block transitions with G08 and F8000

Sample program for the displayed velocity diagrams in the figures "Blocktransitions with G08 and F8000" and "Block transition with G08 fromF8000 to F7000":

G00 G54 G90 G06 G08 X200 Starting point of the X axis

G01 F8000 Feed speed

X150 1. segment

X50 2. segment

X0 F7000 3. segment with new F value

RET Program end

In the following velocity diagram, the change in velocity between thesecond area with F8000 and the third area with F7000 has beenmagnified using a zoom function. The optimal velocity NC block transitionbetween the segments can clearly be seen.

Page 46: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-10 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

���� � ���������� ���

!���'��(��� �

��#�)�������!�5�+"�&� �!� 4"!%��������)4 ������

����

��������

��"� �����2 3/���� �!���-"���� �!� 4"!%������ !������

2�$�� � � 4 2 �$�� � ,

!���)*�����$� + �����!��� !���'���� %

��������&�� ��.� /:!���

��

2�����2�$��� 3����� ���� 2�$��� � 4 2�$��� ,

2�$��� �� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9!� ��� ���� ��� 7

2�$��� ,� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9���� �������� ���

"5��78���; �1<�#

411SATZ.FH7

Fig. 4-11: NC block transition via G08 from F8000 to F7000

Velocity-Limited Block Transition "G09"

G09

Interpolation condition G09 is used to adapt the NC block end velocity insuch a way that the maximum velocity change defined in the axisparameters can be used for a stop.

• Position deviations can be reduced at NC block transitions by usinginterpolation condition G09.

• Machining using G09 requires more time, and the surface quality canbe adversely affected with free cutting marks.

• G09 is the power-on default and remains locked and active until it isoverwritten by G08. G09 is reset automatically at the end of theprogram (RET) or by the BST command.

Note: The machine builder specifies the maximum feed rate changein the axis parameters.

Syntax

Page 47: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-11

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Examples:

���� � ���������� ���

� �#�) ��� ��- �� "� ��� � . � &� � / ��� 0 0 1 � � �

����

�������

� �"� � �� � � 2 3 / ��� � �! � � �- "��� � �! � 4 "!%�� ���� !� �� ���

2�$��� � 4 2�$��� ,

!���'��(��� �!���)*�����$� + �����!���

!���'���� % ��������&�� ��.� /:!���

2�����2�$��� 3����� ���� 2�$��� � 4 2�$��� ,

2�$��� �� �5 6 5 7 8� " 5��78���#5 6 5 7 7 9!� ��� ���� ��� 7

2�$��� ,� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9���� �������� ��� 7� �

" 5��78���; �1<�#

412SATZ.FH7

Fig. 4-12: NC block transitions with G09 and F8000

The velocity diagram (see above figure) clearly shows how the velocity ofthe axis is reduced to almost 0 between the workpiece areas. Theresidual velocity at which the transition to the next NC block occurs isderived from axis parameter Cxx.017 Maximum feed rate change w/oramp.

Sample program for the displayed velocity diagrams in the fig. "Blocktransitions with G09 and F8000" and "Block transition with G09 fromF8000 to F7000":

G00 G54 G90 G06 G09 X200 Starting point of the X axis

G01 F8000 Feed speed

X150 1. segment

X50 2. segment

X0 F7000 3. segment with new F value

RET Program end

In the following velocity diagram, the change in velocity between thesecond area with F8000 and the third area with F7000 has beenmagnified using a zoom function.

Page 48: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-12 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

���� � ���������� ���

� �#�) ��� ��� �!�5 �+"� &� �! � 4 "!%��������)4������

����

�������

� �"� � �� � � 2 3 / ��� � �! � � �- "��� � �! � 4 "!%�� ���� !� �� ���

2�$��� � 4 2�$��� ,

!���'��(��� �!���)*�����$� + �����!���

!���'���� %��������&�� ��.� /:!���

2�����2�$��� 3����� ���� 2�$��� � 4 2�$��� ,

2�$��� �� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9!� ��� ���� ��� 7

2�$��� ,� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9���� �������� ��� 7� �

" 5��78���; �1<�#

413SATZ.FH7

Fig. 4-13: NC block transition via G09 from F8000 to F7000

Exact Stop "G61"

G61

With interpolation condition G61, the programmed destination position isapproached within the preset exact stop limit. The exact stop limit isdefined in the axis parameters by a positioning window. When thepositioning window is reached, processing switches to the next NC blockand the next axis movement begins.

• Programming G00 (rapid traverse) automatically activates G61 (exactstop).

• If G61 is programmed, interpolation condition G08 is reset. G08 canbe reactivated if G61 has been cancelled.

• It is recommended that G61 be selected for machining sharpcontoured corners and not for tangential transitions.

• After it has been selected, G61 remains modally active until it iscancelled by G62 (Rapid NC block transition) or until it is automaticallyreset at the end of the program or by BST.

Note: The machine builder specifies the positioning window in theaxis parameters.

Syntax

Page 49: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-13

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Examples:

+ & 0 � ! !)"6 � +"� &� �! � 4 "!%�� "� ��� � . � � 0 0 1 � � �"�� �7! � +� � �� � �� �"�� � 0 0 1 � � �"�� � +� � �� �

����

�������

���� � ���������� ���

���� �������� ����

���� ��������������������������� ��� ����0

� !&� �! �$ '�� �!� � +"� &� �!

� "� ��� �. � � 0 0 1 �� �"��

+"� &� �! �� "� ��� . � � 0 0 1 � � �"�� 7! � +� � �� �

+"� &� �! � � �"�� 0 0 1 � � �"�� +� � �� �

� �6�8���� �#� � � #�� � � � �� �

���� ���������!��� "��#

���� ���������!���%"��#

414KONTUR.FH7

Fig. 4-14: Contour diagram with G61

The "Contour diagram with G61" shown here illustrates how the contour isaccurately maintained by G61 in the transitions straight line → circle andcircle → circle. The positioning window for the examples shown here isspecified as 0.010 mm in the axis parameters. The positioning deviationin the non-tangential transition from straight line → circle is specified as0.00249 mm. The transition accuracy could be increased accordingly ifthe positioning windows axis parameters were reduced. The positiondeviation is less than 0.001 mm in the tangential transition circle → circle.

Sample program for the diagrams shown in Fig. 4-14 and Fig. 4-15:

G00 G54 G90 G06 G08 X-100 Y-100 Starting point

G01 G61 X-50 Y-50 F4000 1. Straight line

G02 X50 Y-50 I0 J-50 1. Semi-circle

G03 X100 Y-50 I75 J-50 2. Semi-circle

RET Program end

The following velocity diagram (Fig. 4-15) shows how the velocity isreduced until the positioning window is reached. When the positioningwindow is reached, processing switches to the next NC block and thenext axis movement starts.

Page 50: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-14 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

���� � ���������� ���

$�� �"� %6� +"� &� �! � 4 "!%�� "� ��� � . � � 0 0 1 � � �"�� �7! � +� � �� � �� �"�� � 0 0 1 � � �"�� � +� � �� �

����

�������

� �"� � �8���� �#� � � #�� � � � �� �

5 52�$��� �7� 4 52�$��� ,7��� � � �7

!���'��(��� � !���'����%

� �"�

!���'��(��� , !���'����

2�$��� �� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9!� ��� ���� ��� 7

2�$��� ,� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9!� ��� ���� ��� 7

+"� &� �! �� "� ��� �. � � 0 0 1 �� �"�� 7! � +� � �� �

+"� &� �! � � �"�� � 0 0 1 � � �"�� +� � �� �

" 5��78���; �1<�#

2�����2�$��� 3����� ���� 5 52�$��� �7� 4 52�$��� ,7��� � � �7

415G61.FH7

Fig. 4-15: Velocity diagram with G61

Rapid NC Block Transition "G62"

G62

With interpolation condition G62, processing switches to the next NCblock as soon as the command values for all programmed axes in the NCblock, which are issued by the interpolator, have reached theirprogrammed final values. The machine does not wait until the actualvalues have also reached their end positions. Any lag (following error)which may be present is not reduced while the final position is beingapproached.

• G62 (Rapid NC block transition) is suppressed if G00 (Rapid traverse)is programmed.

• Programming G62 rounds off sudden contour changes and non-tangential transitions.

• G62 is the power-on default and is saved as active until it isoverwritten by G61. G62 is reset automatically at the end of theprogram (RET) or by the BST command.

• The machining time is reduced when G62 and G08 are programmed.

Syntax

Page 51: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-15

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Examples:

���� ���������!���%

+ & 0 � ! !)"6 � +"� &� �! � 4 "!%�� "� ��� � . � � 0 0 1 � � �"�� �7! � +� � �� � �� �"�� � 0 0 1 � � �"�� � +� � �� �

����

�������

���� � ���������� ���

���� ��������� ���� ���� ����������������

����������� ��� ,:::��

���� ���������!���

� !&� �! �$ '�� �!� � +"� &� �!

� "� ��� � . � � � 0 0 1 � � �"��

+"� &� �! �� "� ��� � . � 0 0 1 � � �"��

7! � +� � �� �

+"� &� �! � � �"�� 0 0 1 � � �"�� � +� � �� �

� �"� 6�8���� �#� � � #/� � � � �� �

"��#

"��#

416G62.FH7

Fig. 4-16: Contour diagram with G62

The contour diagram shown here with G62 illustrates how the non-tan-gential transitions (straight line → circle) are slurred as a consequence ofG62. The contour is traveled at optimal velocity (via G08). At the contouritself, the machining quality is identical to that achieved with G61. If youcompare the contour diagrams in Fig. 4-14 and Fig. 4-16, note that theexpansion factor for the position deviation is four times as high in Fig.4-16.

Sample program for the diagrams shown in Figures Fig. 4-15 and Fig.4-16:

G00 G54 G90 G06 G08 X-100 Y-100 Starting point

G01 G62 X-50 Y-50 F4000 1. Straight line

G02 X50 Y-50 I0 J-50 1. Semi-circle

G03 X100 Y-50 I75 J-50 2. Semi-circle

RET Program end

In the following velocity diagram with G62, it can be seen how the pathvelocity in the non-tangential transition straight line → circle is reduced bythe change of direction. The tangential transition circle → circle is traveledat a constant path velocity as a consequence of conditions G62 and G08.

Page 52: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-16 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

���� � ���������� ���

$�� �"� %6� +"� &� �! � 4 "!%�� "� ��� � . � � 0 0 1 � � �"�� �7! � +� � �� � �� �"�� � 0 0 1 � � �"�� � +� � �� �

����

�������

� �"� � �8���� �#� � � #/� � � � �� �

5 52�$��� �7� 4 52�$��� ,7��� � � �7

!���'��(��� � !���'����%

� �

!���'��(��� , !���'����

2�$��� �� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9!� ��� ���� ��� 7

2�$��� ,� �5 6 5 7 7 8� " 5��78���#5 6 5 7 9!� ��� ���� ��� 7

+"� &� �! �� "� ��� � . � 0 0 1 � � �"�� �7! � +� � �� �

+"� &� �! � � �"�� 0 0 1 � � �"�� � +� � �� �

" 5��78���; �1<�#

2�����2�$��� 3����� ���� 5 52�$��� �7� 4 52�$��� ,7��� � � �7

417G62.FH7

Fig. 4-17: Velocity diagram with G62

4.3 Interpolation Functions

Linear Interpolation, Rapid Traverse "G00"

G00

The programmed coordinate values using path condition code G00 areapproached at maximum path velocity. If G00 applies to more than oneaxis, the movement is performed with interpolation.

A feed rate can be programmed with G00 by using an F word. If a feedrate (F value) is not programmed in the NC block, then the movementoccurs at the maximum path velocity entered in the process parameters.The path velocity is limited to the maximum axis velocity entered in theaxis parameters, so that linear interpolation is always performed. The Fvalue programmed with G00 remains active for all subsequentmovements and interpolation types until it is overwritten by a new F value.

Note: The programmed F value for a G00 block is valid only for theNC block in which it has been programmed. In the case of asubsequent G00 block without an F value, the axes are movedat maximum path velocity.

Rapid block transition (G62) is suppressed in combination with G00. Atransition to the next NC block occurs only if all programmed axes liewithin the position window of the programmed coordinate value, which isspecified in the axis parameters.

With active velocity-optimal NC block transition (G08), a change tovelocity-limited NC block transition (G09) is already made in the previousNC block. If G00 is overwritten by a different type of interpolation, G08 isautomatically reactivated.

G00 remains modally active until it is overwritten by a different code in thesame G group (G01, G02, G03).

Syntax

Page 53: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-17

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Example:

G00 G54 G90 X40 Y40 [P1] rapid traverse at maximum pathvelocity

X120 Y60 F8000 [P2] rapid travel with F word

��

��

�� �� � !� ��� ��� ���

�/

��

419G0.FH7

Fig. 4-18: Linear interpolation, rapid travel G0

Linear Interpolation, Feed "G01"

G01

The axes programmed using code G01 are moved to their programmedcoordinate value on a straight line relating to the current coordinatesystem using the current feed rate. The programmed axes are startedsimultaneously; all of them reach their programmed end point at the sametime.

If a new feed rate (F value) is programmed using code G01, the mostrecently active F value is overwritten. The programmed F value functionsas a path feed rate. If a number of axes are being traveled, the velocitycomponent of each individual axis is less than the programmed path feedrate. If an F word was not yet active when the controller was powered on,then G01 must be used to program an F value.

G01 remains modally active until it is overwritten by a different code in thesame G group (G00, G02, G03).

Syntax

Page 54: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-18 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Example: Linear interpolation in 2 axes

��8���-�

��/�

����

����

��8�

��

��

!�

���

�� �� � !� ��� "�����

��

��

!�

���

420G01.FH7

Fig. 4-19: Linear interpolation, feed rate G01 with 2 axes

NC program:

G00 G90 G54 G06 G08 Movement commands, interpolationconditions

X0 Y0 Z10 S3000 M03 Starting position, spindle ONG01 X26.26 Y18 Z5 F2000 [P1] Machining start positionZ-5 Feed Z axisY80 F1200 [P2] linear interpolation, 1 axisX41 Y93.5 [P3] linear interpolation, 2 axesX111 [P4] linear interpolation, 1 axisG00 Z10 M05 Z axis to safety distanceRET

Example: Linear interpolation in 3 axes

�� �� � !� ��� �

��-�

��/�

����

� "�����

����

��-� ��/�

��

��

!�

���

��

��

!�

���

421G013.FH7

Fig. 4-20: Linear interpolation, feed rate G01 with 3 axes

NC program:

G00 G90 G54 G06 G08 Movement commands, interpolationconditions

X0 Y0 Z10 S3000 M03 Starting position, spindle ONG01 X40 Y25.5 Z5 F2000 [P1] Machining start positionZ-5 Feed Z axisX95.74 Y80 Z-10 F1200 [P2] linear interpolation, 3 axesX100 Y100 Z10 F2000 [P3] Z axis to safety distanceM05 Spindle OFFG00 X0 Y0 Return to starting pointRET Program end

Page 55: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-19

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Circular Interpolation "G02" / "G03"

• Circular movement - clockwiseG02<End point ><Interpolation parameter [I,J,K]> orG02<end point><radius [R]>

• Circular movement - counterclockwiseG03<End point ><Interpolation parameter [I,J,K]> orG03<end point><radius [R]>

The programmed path condition G02 or the programmed tool G03 ismoved along a circular path to the programmed end point using theeffective or programmed feed rate (F value). The programmed axes arestarted simultaneously; all of them reach their programmed end point atthe same time.

Circular movement is activated using:

• G02 the clockwise direction and

• G03 in the counterclockwise direction

in the direction of the programmed end point (see Fig. 4-21). The tool ismoved around the programmed center point of the circle.

A circular motion can be performed in each plane using thecorresponding selection (plane selection with G17, G18, G19). Theprogrammed center of the circle and the end points must lie on the samemachining plane as the starting point.

����������

�� ��������

�� ��������

��������

�� �����

���������

������

���� �

���

����� ���

���

��-

��/

��-��/

��-

��/

422KREIS.FH7

Fig. 4-21: Circular programming depending on planes

The radius and the starting angle of the arc are calculated from thestarting point and the center point. A radius which is determined based onthe end point and the center point, and that perhaps differs, is ignored.This means that the end point can only be used to calculate the finalangle. Thus, the programmed end point may not always lie on the arc.The programmed end point can therefore differ from the traveled endpoint.

With incremental data input (G91), the center point and the end point areexpressed in relation to the starting point; with absolute input (G90), theyare expressed in relation to the current zero point.

When programming using absolute data input, the value of the startingpoint is assigned to the coordinate value of an unprogrammed addressletter (X, Y, Z, I, J, K); with incremental input, the value 0 is assigned.

Since the starting point and end point are identical for a full circle, only thecenter point needs to be entered when programming a full circle.

Syntax

Page 56: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-20 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

A circle or an arc is defined by the programmed axis commands and theparameters for interpolation. The previous NC block defines the startingpoint of the circle. The end point of the circle is defined by the axis valuedata X, Y and Z in the G02/G03 NC block. The center point of the circle isdefined by the entered interpolation parameters I, J and K or directly viaradius R.

Interpolation Parameters I, J, KInterpolation parameters are assigned to the axes which are used in acircular interpolation. These parameters are parallel to the axes, and theirsigns depend on the direction in which they are oriented in relation to thecenter point of the circle. Based on DIN 66 025, the interpolation pa-rameters I, J and K are assigned to axes X, Y and Z.

If coordinate values are not programmed using addresses I, J and K, thecorresponding starting point is assigned with absolute dimension pro-gramming. The default value is 0 with incremental dimensionprogramming.

With G91 programming, the interpolation parameters define the distancefrom the starting point of the circle to the center point; with G90 program-ming, the distance from the current zero point to the center point isdefined.

"#�$%&�'

"(�$%&�'

)#�$%&�'

)(�$%&�'

*������+�,-���.� ��-��� /������,-���

423KREIS.FH7

Fig. 4-22: Circular interpolation with interpolation parameters

Page 57: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-21

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Example: Full circle in the X-Y plane with G90

��

��

!�

���

�� �� � !� ��� ��� ��� �

����

9�#�

:�#�

��

������ "��!�

424VOLL.FH7

Fig. 4-23: Full circle with G90

NC program:

G00 G90 G54 G06 G08 Movement commands, interpolationconditions

X0 Y0 Z10 S3000 M03 Starting position, spindle ON

G01 X40 Y37.24 F2000 Starting point of circle

Z-10 F500 Feed Z axis

G02 X40 Y37.24 I60 J60 Full circle in clockwise direction

Alternatively: G02 I60 J60 With full circle, without circle end point

G00 Z10 Z axis to safety distance

M05 Spindle OFF

X0 Y0 Return to starting point

RET Program end

Example: Full circle in the X-Y plane with G91

��

��

!�

���

�� �� � !� ��� ��� ��� �

����

9�/�

��:�//;�#

������ "��!�

425G90.FH7

Fig. 4-24: Full circle with G91

Page 58: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-22 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

NC program:

G00 G90 G54 G06 G08 Movement commands, interpolationconditions

X0 Y0 Z10 S3000 M03 Starting position, spindle ONG91 G01 X40 Y37.24 F2000 Starting point of circle in chain dimensionZ-20 F500 Feed Z axisG02 X0 Y0 I20 J22.76 Full circle in clockwise directionAlternatively: G02 I20 J22.76 With full circle, without circle end pointG00 G90 Z10 Z axis to safety distance (G90)M05 Spindle OFFX0 Y0 Return to starting pointRET Program end

Circle Radius ProgrammingIn order to take over dimensions directly from the workpiece drawings, anoption is provided to directly define circular paths in the NC program viathe specified radius.

A distinct circular path is produced within a semicircle (180°) only if G02or G03 programming is used (see Fig. 4-25).

For this reason, it is important to indicate whether the traveling angle willbe greater or less than 180°. The radius entry must be preceded by aminus sign for arcs with angles exceeding 180°.

G02 R+ ... with a traveling angle to 180°

G03 R- ... with a traveling angle > 180°

Example: Defining the arc

��

��

!�

���

0���

�(�

<��=-�

<��0-�

���

�� �� � !� ��� ��� ���

427KVOR.FH7

Fig. 4-25: Circle radius programming, determining the sign to be used for theradius

G01 X... Z...G02 X... Z... R±30

As can be seen in the above example, two possibilities would result forthis programmed circle. Selecting the sign (R+30 or R-30) determineswhich circle is traveled.

• The direction of movement in relation to the circle end point isdetermined by G02 or G03.

• Circle radius programming is not permissible with a traveling angle of0° or 360°. The axes will remain at their starting points.

Syntax for circle radiusprogramming in the G17 plane X ... Y ...

Page 59: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-23

DOK-TRA200-NC**PRO*V23-AW01-EN-P

• If the circle end point is missing, the axis will remain at its startingpoint. No movement takes place.

The programmed radius is active in the current machining plane (planeselection with G17, G18, G19).

Example: Circle radius programming in the Z-X plane

��

!�

���

���

�� �� � !� ��� ��� ��� �

0 ���

��"���� "��!�

��/���-�

��8���>�

= 9<

����

� �

��

428DREH.FH7

Fig. 4-26: Circle radius programming on a lathe, behind center of rotation

NC program:

G00 G90 G54 G06 G08 Movement commands, interpolationconditions

M03 S2000 Spindle ON

X69 Z136.5 [P1] Starting position

G01 X40 Z128.5 F500 [P2] linear interpolation

Z100 [P3] circle starting point

G02 X160 Z60 R40 [P4] ¼ circle in clockwise direction

G01 Z10 [P5] machining end position

G00 X200 X axis to safety distance

M05 Spindle OFF

RET Program end

Helical InterpolationHelical interpolation is a combined circular and linear interpolation whichis used to produce a spiraling tool path. Circular interpolation takes placein the selected plane (plane selection with G17, G18, G19) while linearinterpolation occurs simultaneously in a third axis which is perpendicularto the plane of circular interpolation.

In helical interpolation, an arc and a straight-line erected perpendicular tothe end point of the arc are both programmed in the same NC block. Theaxis movements are coordinated in such a way that the tool moves at aconstant pitch in a helical path.

Page 60: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-24 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

�1

1�

1�

"1�

�429Schrau.FH7

Fig. 4-27: Helical Interpolation

No more than one coil (corresponding to a full circle) can be programmedin an NC block. Programming a corresponding number of individual coilscan only produce a number of coils in sequence.

The programmed feed rate (F value) relates to the actual tool path. Allother conditions are the same as in circular interpolation.

Example: Helical interpolation in the X-Y plane with G90

�� �� � !� ��� �

� "�����

����

��/� ��-�

��8�

����

��8�

��9�#/;>

:�-���

��

!�

���

��

��

!�

��������� "��!�

430G90S.FH7

Fig. 4-28: Helical interpolation with G90

Example of programming using absolute dimension input (G90)

G00 G90 G54 G06 G08 Movement commands, interpolationconditions

X0 Y0 Z10 S5000 M03 Starting position, spindle ONG01 X40 Y20 Z5 F2000 [P1] Z axis to safety distanceZ-2,5 Z axis to machining depthX40 Y30 [P2] starting point of half coilG02 X85 Y30 I62.5 J30 Z-5 [P3] helix in clockwise directionG01 X85 Y10 [P4] clear X and YG00 Z5+ Z axis to safety distanceM05 Spindle OFFX0 Y0 Z10 Return to starting positionRET Program end

Page 61: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-25

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Example: Helical interpolation in the X-Y plane with G91

��

��

!�

���

�� �� � !� ��� �

��

��

!�

���

� "�����

����

��/� ��-�

��8�

����

��8�

��#2�

(2���1 /,�2�/������,-���

431G91S.FH7

Fig. 4-29: Helical interpolation with G91

Example of programming using absolute dimension input (G91)

G00 G90 G54 G06 G08 Movement commands, interpolationconditions

X0 Y0 Z10 S5000 M03 Starting position, spindle ON

G91 G01 X40 Y20 Z-5 F2000 [P1] Z axis to safety distance

Z-7.5 Z axis to machining depth

Y10 [P2] starting point of half coil

G02 X45 I22.5 J0 Z-2.5 [P3] helix in clockwise direction

G01 Y-20 [P4] clear X and Y

G00 Z10 Z axis to safety distance

M05 Spindle OFF

X-85 Y-10 Z5 Return to starting position

RET Program end

Tapping without Compensating Chuck "G63" / "G64"With function G63, threads can be tapped without a compensating chuck.In thread tapping without a compensating chuck, not only is the spindlespeed controlled (as would be the case in normal tapping), but also thespindle alignment. The spindle rotation and the feed movement of theaxis, which is programmed together with G63, are linearly interpolated. Amain spindle, which can be positioned, is required for tapping without acompensating chuck. The spindle must be driven directly (slip); theposition encoder should be located directly on the spindle.

The CNC supplies two path conditions for tapping without a compensatingchuck. These functions are active only for the duration of the NC blockcontaining them.

• G63 - Spindle stops at the end of movement

• G64 - Spindle continues to rotate after the end of movement.

Functions G63 and G64 differ only regarding the end of movement.

G63 <end point [X,Y,Z]> <feed per spindle revolution [F]>

G64 <end point [X,Y,Z]> <feed per spindle revolution [F]>

Two cases are possible when the feed/spindle link is established:

• The spindle is not turning (n=0)

• The spindle is already rotating (n=S)

Syntax

Page 62: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-26 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

If the spindle is not turning when the feed/spindle link is established, thelink can be activated at the start of the common acceleration phase sothat the spindle and the feed axis are already accelerating in aninterpolating way. The selected acceleration focuses on the weakest axis(main spindle or feed axis).

If the spindle is already rotating when the feed/spindle link is established,the feed axis accelerates to the required speed at its maximumacceleration; then the link is activated, so that the main spindle and thefeed axis do not interpolate until the constant-speed range is reached.

• Clockwise or counterclockwise thread tapping is achieved by declaringthe direction of rotation of the spindle: M03 or M04.

• If a different spindle is to be selected for thread tapping using G63/64,the spindle must be activated by means of the SPF <spindle number>command prior to NC block G63. The first spindle is always active inthe power-on state.

• Tapping should be performed using function G06 "Positioning withoutlag". If G06 is not active with tapping without a compensating chuck orif analog axis cards are installed, the same gain factor must be set forthe spindle and for the feed axis for G63/G64.

• Functions G08 (Velocity-optimal NC block transition) and G61 (Exactstop) are meaningless for tapping.

• A main spindle which is stopped at the end of the movement (G63)can be reactivated using the spindle control commands M03/M04 andby programming the speed value (S value).

• If the tap is turned out of the thread using G64, the spindle stopsbriefly at the end point of the NC block in order to change fromposition-controlled to speed-controlled mode.

• Except for dwell time G04 and the auxiliary functions, no NCcommands can be programmed between the G63 command Tap todepth <X, Y or Z> and the G63/G64 command Withdraw tap.

• With digital drives, if the spindle is activated prior to the NC blockcontaining G63 tapping, the spindle will stop briefly in the G63 NCblock in order to switch from speed-controlled mode to position-controlled mode.

• The lead factor feed per spindle revolution must be programmed in asingle NC block containing G63 and G64 by using the F word.

• Depending on the parameter setting, the thread lead can be enteredusing 3 or 4 places to the left of the decimal point and,correspondingly, 5 or 4 places to the right of the decimal point.

Page 63: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-27

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Example: NC program - tapping with G63

��

��

!�

���

�� �� � !� ��� �

��

��

!�

���

� "�����

��/�

����

��-�

��8� ������/�

��-���8�

438G63.FH7

Fig. 4-30: Tapping with G63

NC program using G63:Spindle stopped at the beginning of the NC block G63Spindle stopped upon terminated movement

G00 G54 G90 G06 G08 X0 Y0 Z10 Motion commands, interpolationconditions

G01 X40 Y50 F2000 [P1] 1st tapping position

BSR .GEBO Branch to tapping subroutine

Y80 [P2] 2nd tapping position

BSR .GEBO Branch to tapping subroutine

X90 [P3] 3rd tapping position

BSR .GEBO Branch to tapping subroutine

Y50 [P4] 4th tapping position

BSR .GEBO Branch to tapping subroutine

G00 X0 Y0 Return to starting point

RET Program end

.GEBO tappingsubroutine

G63 Z-7.5 F2 S500 M03 tap to depth Z

G63 Z10 F2 S750 M04 Withdraw tap

RTS End subroutine

Spindle is already turning at the start of the G63 block Spindle comes to a stop when movement stops

G00 G54 G90 G06 G08 X0 Y0 Z10 Motion commands, interpolationconditions

G01 X40 Y50 F2000 M03 S1000 [P1] 1st tapping position,spindle ON

BSR .GEBO Branch to tapping subroutine

Y80 M03 S1000 [P2] 2nd tapping pos.,spindle ON

Page 64: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-28 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

BSR .GEBO Branch to tapping subroutine

X90 M03 S1000 [P3] 3rd tapping position,

spindle ON

BSR .GEBO Branch to tapping subroutine

Y50 M03 S1000 [P4] 4th tapping position,

spindle ON

BSR .GEBO Branch to tapping subroutine

G00 X0 Y0 Return to starting point

RET Program end

.GEBO tappingsubroutine

G63 Z-7.5 F2 tap to depth Z

G63 Z10 F2 S750 M04 Withdraw tap

RTS End subroutine

Example: NC program - tapping with G63 and G64

��

��

!�

���

�� �� � !� ��� �

��

��

!�

���

� "�����

��/�

����

��-�

��8� ��/�

����

��8�

��-�

439G634.FH7

Fig. 4-31: Tapping with G63 and G64

NC program using G63 and G64:Spindle is stopped at the beginning of the NC block G63Spindle continues to rotate upon the end of movement

G00 G54 G90 G06 G08 X0 Y0 Z10 Movement commands,interpolation conditions

G01 X40 Y50 F2000 [P1] 1st tapping position

BSR .GEBO Branch to tapping subroutine

X55 Y80 [P2] 2nd tapping position

BSR .GEBO Branch to tapping subroutine

X75 [P3] 3rd tapping position

BSR .GEBO Branch to tapping subroutine

X90 Y50 [P4] 4th tapping position

BSR .GEBO Branch to tapping subroutine

M05 Spindle OFF

G00 X0 Y0 Return to starting point

RET Program end

Page 65: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-29

DOK-TRA200-NC**PRO*V23-AW01-EN-P

.GEBO tappingsubroutine

G63 Z-7.5 F2 S1000 M03 tap to depth Z

G64 Z10 F2 S800 M04 Withdraw tap

RTS End subroutine

Spindle already rotates at the beginning of the NC block G63Spindle continues to turn after the end of the movement

G00 G54 G90 G06 G08 X0 Y0 Z10 Movement commands,interpolation conditions

G01 X40 Y50 F2000 M03 S1000 [P1] 1st tapping position,

spindle ON

BSR .GEBO Branch to tapping subroutine

X55 Y80 M03 S1000 [P2] 2nd tapping pos.,spindle ON

BSR .GEBO Branch to tapping subroutine

X75 M03 S1000 [P3] 3rd tapping position,

spindle ON

BSR .GEBO Branch to tapping subroutine

X90 Y50 M03 S1000 [P4] 4th tapping position,

spindle ON

BSR .GEBO Branch to tapping subroutine

M05 Spindle OFF

G00 X0 Y0 Return to starting point

RET Program end

.GEBO Tapping subroutine

G63 Z-7.5 F2 tap to depth Z

G64 Z10 F2 S800 M04 Withdraw tap

RTS End subroutine

Page 66: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-30 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Tapping "G64" - Speed Reduction

If the thread length does not permit tapping at the programmed tappingspeed because the feed rate of the feed axis cannot be accelerated to therequired speed due to the length of the thread, the spindle speed isreduced before the feed axis is started.

2�������������6����� �

2�����������9

6����� �

����� �2�����������

)���

*3����-�-4�������

440G64Vor.FH7

Fig. 4-32: Feed rate and spindle speed, tapping with G64

4.4 Feed

F WordThe feed rate in an NC program is expressed by a feed, which uses theaddress letters F and a feed rate, which is stated directly as a constant orby means of an expression. The programmed feed rate determines theprocessing speed for each type of interpolation. The feed rate is restrictedso that the limits entered in the parameters are not exceeded. If the Fword is programmed in conjunction with a function, the meaning canchange. The corresponding type of operation is defined in thecorresponding functions (G00, G04).

F<Constant> � F1000

F<Expression> � F=@50

If the F word is programmed as the feed rate, it becomes the desiredvalue for the machining speed.

G64 with running spindleand short thread

Syntax

Page 67: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-31

DOK-TRA200-NC**PRO*V23-AW01-EN-P

The F word interacts with the associated G code as follows:

Meaning G code Active Format Comments

G63, G64 blockwise 43

45

The F value is reactivated if G63,G64 are renewed.This has no effect on the F valuesof G94.

Time in seconds G04 blockwise 3 2 Superimposed with F words thatwere programmed by other Gcodes.

If the F word appears alone in the NC block, it is assigned to the memoryof the modally active conditions of the feed-specified group. If the F wordappears in an NC block together with one of these functions, thecorresponding feed is activated first, and then the F value is placed in theappropriate memory.

• The units mm/min or inch/min are used for the feed rate in the power-on default of the CNC (velocity programming).

• For G63 and G64, the units mm / spindle rotation or inch / spindlerotation are used for the feed rate.

• With G04 (dwell time), the time in seconds is entered in the F word.

• The programmed feed rate can be changed via the feed rate overridefrom 0% to 255%. The 100% position corresponds to the programmedvalue.

The feed values are reset after the controller has been powered on, theprogram is loaded into the controller, or after a BST, RET, or Control-Reset. At the beginning of an NC program, the feed values must beprogrammed before or together with the first movement command.

Note: The maximum path and axis speed are defined by the machinebuilder in the axis parameters.

Dwell Time "G04"The function G04 "Dwell time" can be used to program a delay time in theNC program for functions such as relief cutting, machine controlfunctions, etc.

G04 F<time in seconds>

G04 is active on an NC block-by-block basis and must be programmed incombination with an F word. The F word will then correspond to a dwelltime in seconds.

• The maximum directly programmed dwell time is 999.99 seconds(16.7 minutes) and the maximum resolution is 0.01 seconds.

• The F value programmed together with G04 can be programmed withthree digits before and two digits after the decimal point.

• Only functions M and Q can be programmed besides the dwell time ina dwell time-programmed NC block.

• The dwell time programmed in the F value using G04 does not affectthe modally active F values (feed rate).

• The F value programmed together with G04 can be programmed with3 digits to the left and 2 digits to the right of the decimal point.

Syntax

Page 68: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-32 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Example: NC program - with G04

G00 G90 G54 G06 G08 Movement commands, interpolationconditions

X0 Y0 Z10 S3000 M03 Starting position, spindle ON

G04 F3.5 Delay of 3.5 sec for spindle ramp-up

G01 X26.26 Y18 Z5 F2000 machining

.

.

RET Program end

Basic Connections between Programmed Path Velocity (F) and AxisVelocities

Under interpolation conditions, the CNC computes the path velocity asfollows:

( ) ( ) ( )222222ZYX RCRBRAZYXF ∗+∗+∗+++= ������

Fig. 4-33: Calculating the path velocity

Example: Path velocity for thread cutting

.����

��� ��256

���22 7��-����3����� ������-�

�2 7��-���3������ ������-�

�2 7��-���3������ ������-�

���2 ��+���8��-���3�-�������-���3�������

9��2 ��+���8��-���3�-�������-���3������9

/��2 ��+���8��-���3�-�������-���3������/

�5 5� �4��-��������������� ������-�2

�5 5� �4��-���������������� ������-�2

�5 5� �4��-���������������� ������-�2

:��2 ,����8��-���3

;;�+<;

��

��

443SCHNEID.FH7

Fig. 4-34: Path velocity for thread cutting

In this example, the following equation results from computing the pathvelocity:

( )22ZRCZF ∗+= ��

Fig. 4-35: Example - path velocity calculation

Basically, two possibilities to program the F value can be considered.

Calculating thepath velocity

Page 69: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-33

DOK-TRA200-NC**PRO*V23-AW01-EN-P

The CNC interprets the F value as a velocity in the direction Z.

NC program: G01 Z... C... F...

Computation:

WnPZF ∗== 2�

nw: VelocityP: Thread pitch

Fig. 4-36: F value as velocity

Effect:

/ �2 �: �2 �� 2��

���

444VorO.FH7

Fig. 4-37: Feed velocity (F) without RZ

Here, the C axis is interpolated simultaneously.

The CNC interprets the F value as the resulting path velocity.NC program: G01 Z... C... RZ... F...

Computation:

( )

( ) WZ

WZZ

W

Z

nRPF

nRRCund

nPZmit

RCZF

∗∗+=�

∗∗=∗∗=

∗+=

22

22

2

2

π

π�

��

Fig. 4-38: F value as resulting path velocity

Effect:

/ �2 � :

����� �2

445VorM.FH7

Fig. 4-39: Feed velocity (F) with RZ

Without RZ

With RZ

Page 70: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-34 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Adaptive Feed Control "G25" / "G26"Adaptive feed control permits the change of the feed velocity of an axis orthe path velocity of the interpolating axes depending on the motorcurrent/torque of a spindle or a feed axis, so that (when milling, lathing orgrinding) the machining power or the machining volume is kept constant.This provides the following:

• a better surface quality,

• a shorter processing time, and

• in particular, a higher safety level against over-stressing the tool, theworkpiece and the machine.

The function is activated with parameter Bxx.062.

Boundary Conditions• Adaptive feed control can be utilized in conjunction with digital

spindles / feed axes with SERCOS Interface.

• Adaptive feed control can not be used with the following functions:

• - Homing (G74),

• - Feed to positive stop (G75).

• Furthermore, adaptive feed control is available only in the automaticand semi-automatic operating modes.

• The NC automatically cancels adaptive feed control (and sets G25) inthe case of a control reset as well as at the program end.

SyntaxG25 Adaptive feed control OFF (Default)

G26 Adaptive feed control ON

ParameterIf the machine builder answers the process parameter Bxx.062 "Adaptivefeed control" with "Yes", then further process parameters appear asfollows:

• Bxx.063 Reference axis for adaptive feed control

• Bxx.064 Command machining torque

• Bxx.065 Minimum machining torque

• Bxx.066 Maximum idling torque

• Bxx.067 Maximum feed reduction

• Bxx.068 Amplification

• Bxx.069 Measuring period

Page 71: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-35

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Idle Thrust Measurement "ITM"The ITM (Idle Thrust Measurement) command is used for measuring theidling torque of a reference axis defined according to its axis meaning inprocess parameter Bxx.063 Reference axis for adaptive feed control.

ITM

The ITM command may be carried out

• together with G26 switch on adaptive feed control at the beginningof the machining process as well as

• independent of adaptive feed control (G26).

The measured idling torque is stored in AXD parameter P-7-3650Measured idling torque.

PLC Interface SignalsTwo new PLC interface signals were implemented for the function"Adaptive feed control". These are used to evaluate the measuringresults.

PSTHMIS "Thrust Missing" depends on process parameter Bxx.065 and

PSEXCTH "Excessive Thrust" depends on process parameter Bxx.064.

Thrust Missing

Process status signal

PSTHMIS (THrust MISsing)

PSTHMIS = 1:

The machining torque has not exceeded the preselected minimummachining torque Bxx.065 during machining.

PSTHMIS = 0:

The machining torque has exceeded the preselected minimummachining torque Bxx.065 during machining.

The NC updates the interface signal by turning the adaptive feed controlon (G26) and off (G25). The NC resets this signal at the program end aswell as after a control reset.

If the machining torque does not exceed adaptive feed control Bxx.065during machining with adaptive feed control active, the NC reports this assoon as adaptive feed control is turned off by setting interface signal"Thrust Missing" (PSTHMIS).

Syntax

Type

Designation

Meaning

Updating

Method of operation

Page 72: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-36 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Excessive Thrust

Process status signal

PSEXCTH (EXCessive THrust)

PSEXCTH = 1:The current feed reduction exceeds the maximum feed reductionBxx.067.

PSEXCTH = 0:The current feed reduction does not exceed the maximum feed reductionBxx.067.

The NC updates the interface signal by turning the adaptive feed controlon (G26) and off (G25). The NC resets this signal at the program end aswell as after a control reset.

If the current feed reduction exceeds the maximum feed reductionBxx.067 during machining with adaptive feed control active, the NCreports this by setting interface signal "Excessive Thrust" (PSEXCTH).

Note: The NC continues machining, regardless whether the currentfeed reduction exceeds the maximum feed reduction or not.Only if the current feed reduction reaches 100% (meaning thefeed velocity = 0 mm/min) and the adjusted maximum feedreduction Bxx.067 is less than 100% does the NC stop themachining process and generate error message 510 "100%feed reduction@axis".

Problem of "Inclined Axis"In the case of an "inclined axis without counterforce", a torque for holdingthe axis in position is required. This holding torque is added as an offsetto all torques that have been recorded so far. This results in a distortion ofthe torques required for the adaptive feed control.

Note: Adaptive feed control is not possible for a "hanging axis" asthe reference axis.

The torque offset (standstill torque) required to hold the axis must beeliminated for the adaptive feed control.

A command is required that records the standstill torque.

The standstill torque can be recorded with the following AXD command:

APR SERCOS parameter P-7-3651

This refers to the specified reference axis in the parameters. Duringadaptive feed control, the standstill torque is taken into account while thetorque is being generated.

Additional DocumentationA detailed description of the function is available under the order number

"DOC-MTC200-AD*FEED*V19-FK01-EN-P"

Type

Designation

Meaning

Updating

Method of operation

Solution

Page 73: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-37

DOK-TRA200-NC**PRO*V23-AW01-EN-P

4.5 Spindle Speed

S Word for the Spindle Speed SpecificationThe spindle speed in an NC program is expressed by a speed word thatuses the address letter S and a speed which is stated directly as aconstant or by means of an expression. A spindle code can also be addedto the speed word if more spindles are present. The spindle speed isrestricted in such a way that the limits entered in the parameters are notexceeded. The S word is interpreted as the spindle speed value. Thefollowing chapters describe how the S word interacts in conjunction withthe various spindle functions.

S<Constant> � S5000S<Expression> � S=@55-100

with enhanced address format:

S<Index> <Constant> � S2 3500S<Index> <Expression> � S3=@60

The spindle speed value ranges from 0 to the maximum value entered inthe spindle parameters.

The S value acts with the associated spindle functions as follows:

Meaning G / M Code Active Format Comments

Spindle speed inRPM

M03/M04Mx03 / Mx04

modal 5 beforedecimal point

2 after decimalpoint

(x = index [1 - 3]) M19Mx19

blockwise 3 2 Spindle positioned in degrees

If the S word appears alone in the NC block, it is assigned to the memoryof the modally active spindle functions. If the S word appears in an NCblock together with one of the spindle functions, the correspondingspindle function is activated first; then the S value is placed into theappropriate memory.

Up to 3 spindles can be used. Thus, the spindle index is limited to a valuerange of 1 to 3. If the spindle index is not declared when there is morethan one spindle, the spindle speed specification will then apply to the firstspindle. Each spindle has its own memory for the S values. This preventsS values influencing each other.

• The programmed spindle speed can be changed via the spindleoverride from 0% to 255%. The 100% position corresponds to theprogrammed value.

• The S value can be entered with 5 digits before and 2 digits behind thedecimal point.

• The spindle speed values are reset after the controller has beenpowered on, the program is loaded into the controller, or after a BST,RET, or Control-Reset.

• If the spindle index is not declared when there is more than onespindle, the spindle speed specification will then apply to the firstspindle.

• The direction of rotation of the main spindle is determined by the Mfunction M03 (spindle clockwise) and M04 (spindle counterclockwise).It must be programmed if more than one spindle is present:

− M103 / M104 for the first spindle,

− M203 / M204 for the second spindle, and

− M303 / M304 for the third spindle

Syntax

Page 74: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-38 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Each spindle can be requested once in a single NC block.

Example:

M103 S1 1500 M203 S2 2500 M303 S3 3500

Note: The machine builder specifies the maximum spindle speed inthe axis parameters.

Select Main Spindle "SPF"If there are several spindles, certain functions require an effect on aspindle that is different than the first one.

SPF <spindle number>

The following functions depend on the selected main spindle:

• G63/G64 Tapping

The first spindle is always active in the power-on state. If one of the abovefunctions act on another spindle other than the first spindle, the referencespindle must be selected first using SPF <spindle number>.

• The reference spindle must be selected at least one NC block prior toone of the above-mentioned function requests.

• SPF <spindle number> remains modally active until it is overwrittenwith a different spindle number or is automatically set to the firstspindle at the end of the program (RET) or by BST.

Interrogating the reference spindle with SPF as the operand is possible ina separate NC block.

Example:

@10 = SPF The reference spindle number is programmed in Variable10.

Start-up Logic for Endlessly Rotating Rotary Axes

Modulo calculation is used for positioning endlessly turning rotary axes.

Possible positioning methods:

• shortest path G36

• positive direction G37

• negative direction G38

Note: Modulo calculation can be used only with absoluteprogramming (G90). It does not have any influence on chaineddimension programming (G91).

The G36, G37 and G38 commands form the G code group "Rotary axisapproach logic" (No. 21).

In modulo calculation "Shortest path" G36, the command position isapproached via the shortest path.

Syntax

Modulo calculation

Shortest path G36

Page 75: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-39

DOK-TRA200-NC**PRO*V23-AW01-EN-P

���4� ���-� ���-� �2 ���=

�->>�� �-����-� �2 �"�!�=

%&��%� ���% ��/ "�!��:����

449g36.FH7

Fig. 4-40: Positioning using modulo calculation "Shortest path" (G36)

• G36 is the power-on state; it may be cancelled with G37 or G38.

• The power-on default G36 is restored at the end of the program (BST,RET).

In modulo calculation "Positive direction" G37, the command position isapproached in the positive direction.

���4� ���-� ���-� �2 ���=

�->>�� �-����-� �2 �"�!�=

%&��%�����% ��/ "�!��:����

450g37.FH7

Fig. 4-41: Positioning using modulo calculation "Positive direction" (G37)

• G37 may be cancelled with G36 or G38.

• The power-on default G36 is restored at the end of the program (BST,RET).

In modulo calculation "Negative direction" G38, the command position isapproached in the negative direction.

���4� ���-� ���-� �2 ���=

�->>�� �-����-� �2 �"�!�=

%&��%�!���% ��/ "�!��:����

451G38.FH7

Fig. 4-42: Positioning using modulo calculation "Negative direction" (G38)

• G38 may be cancelled with G36 or G37.

• The power-on default G36 is restored at the end of the program (BST,RET).

Positive direction G37

Negative direction G38

Page 76: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-40 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

4.6 Rounding of NC Blocks with Axis Filter "G11" / "RDI"

Method of Operation

NC commands "G11", "G10" and "RDI" are used to program/switch offfunction "Rounding of NC blocks with axis filter". This function is usedmainly to provide fast and time-optimized positioning using rapidtraversing via several data points. Within a sequence of motioncommands, the block transitions are rounded by means of aprogrammable axis filter so that the end point of the motion sequence isreached in as short a time as possible.

In this case, the term motion sequence is a sequence of NC blocks of Gcode group 1 (G00, G01, G02, G03). An NC block which does not belongto this group will exit the motion sequence.

Rounding of block transitions occurs only within a motion sequence. Withthe exception of the last data point (target point), it is not necessary tofully hit the data points. The path curve can pass the data point at anadjustable maximum distance. At the end of the block, the last block of amotion sequence directly hits the programmed target point positionwithout any rounding.

Rounding of the block transitions is effected by means of a two-step axisfilter with acceleration filter and jerk limiting filter. This axis filter follows upthe interpolator and considers the values in the Cxx.018 "Maximumacceleration" axis parameters, as well as the jerk limiting values enteredin the Bxx.034 "Time constant or acceleration" process parameter.

AxisFilter.FH7

Fig. 4-43: Rounding using two-stage axis filter

In the axis filter, an axis positioning windows delimits the maximumrounding distance RDI (Round DIstance). The RDI value defines themaximum distance to the programmed data point for the start of therounding process.

RoundDistance.FH7

RDI: Round DIstance (NC program)Pn: programmed data point (NC program)PnF1, PnF2: track points generated by rounding

Fig. 4-44: Rounding with rounding distance RDI

Purpose

Definition

Principle

Rounding with axis filter

Round distance RDI

Page 77: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Motion Blocks 4-41

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Programming

The process of rounding block transitions is modally enabled for thecurrent and the following blocks by programming the rounding distanceRDI (Round DIstance). It is effective only in motion blocks of G codegroup 1 (G00, G01, G02, G03). In each case, the transition from thecurrent block to the next block is rounded.

Rounding is switched off again with the "RDI 0" command.

"RDI=0" is the default state and is saved as active until RDI is overwrittenwith another value. RDI is automatically reset to the default state at theend of the program (RET), using the BST command or control reset.

The following syntax is admissible with the RDI command:

RDI10 ;direct allocation

RDI 10 ;direct allocation, space symbol

RDI=10 ;direct allocation

RDI=@195 ;allocation by variable

RDI=10+@195 ;allocation by formula

@195=RDI ;reading of the currently effective RDI value

N012 G1 X5 Z0

N013 G1 X10 Z10 RDI 5 ;rounding with 5 mm

N014 G1 X20 Z15 ;rounding with 5 mm

N015 G1 X35 Z5 RDI 2 ;rounding with 2 mm

N016 G1 X100 Z5 RDI 0 ;rounding switched off, ;target point is attained precisely

As an alternative to programming with RDI, G codes G11 and G10 (Gcode group 23) can be used to enable and disable the rounding function:

• G11: enables the rounding function. The last programmed rounding distance RDI is effective. With acurrent rounding distance of 0, G11 does not take effect. Programmingof RDI with a rounding distance other than 0 automatically enables Gcode G11.G11 is saved as active until G10 is enabled.

• G10: disables the rounding mode. Programming of "RDI=0" automatically enables G code G10.G10 is the default state and is saved as active until G11 is enabled.G10 is enabled automatically at the end of the program (RET), by theBST command or by control reset’.

Rounding of block transitions occurs only within a motion sequence. Amotionless block – or, more precisely, a block outside of G code group 1– terminates the motion sequence. But G11 remains enabled. At the endof the block, the last block of a motion sequence hits the programmedtarget point position without any rounding. This also applies to a motionblock in which rounding has been disabled.

N001 G1 X5 Z0 RDI 5 ;rounding with 5 mm

N002 G1 X10 Z10 ;rounding with 5 mm

N003 G1 X20 Z15 ;target point is attained precisely

N004 M50 ;motionless block

N005 G1 X35 Z5 RDI 2 ;rounding with 2 mm

N006 G1 X100 Z5 RDI 0 ;rounding switched off, target point is;attained precisely

RDI programming

Syntax

Example of an NC program withRDI

Alternative programming withG10 and G11

Behavior at the end of a motionsequence and when disabling

rounding

Example for an NC program of amotion sequence

Page 78: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

4-42 Motion Blocks NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

N100 G1 X200 Z30

PosSequence.FH7

Fig. 4-45: Example for rounding within a motion sequence

Limits and Special Regulations

When rounding is active and exact stop (to be enabled via G61 or in G00blocks) is enabled at the same time within one motion sequence, exactstop is not effective. This behavior does not correspond to the DINdefinition for the G00 rapid traverse rate block, when the next block is amotion block as well. The block transition to the next block is rounded. Atthe end of the motion sequence, attainment of the positioning window isqueried once more.

For rounding with axis filter, there are some restrictions:

• Rounding depends on velocity. The rounded path curve at the blocktransition varies dependent on the velocity (override).

• Rounding to the next block does not occur in the following cases:

− motionless intermediate blocks

− blocks that contain commands that stop block preparation (alsosee section "Time-optimized NC programming: NC commands thatstop block preparation").

• When traversing straight lines, parallel offsets are possible.

• With circles, the deviations from the original curve are greater thanwith straight lines.

Special regulations on exactstop

Restrictions

Page 79: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

5 Tool Compensation

5.1 Tool Path Compensation

Inactive Tool Path CompensationIf no edge radius/cutter radius path compensation is active, the theoreticaledge tip P is used as the reference point for the controller. In this case,the theoretical edge tip P will always move on to the programmed contour.

However, this will lead to errors if the movements are not parallel to theaxes.

����������������� �����������������������������

���������������

��

��

� � � �

� �

� ��� � �

���� �����������

���������������������

511UNOHN.FH7

P: Theoretical edge tipS: edge centerB: actual touch point

Fig. 5-1: Inaccuracies that occur if machining is performed without using tooledge radius path compensation

The shaded area in the drawing will not be removed since the controller isusing the theoretical edge tip P as its point of reference.

When tool edge radius / cutter radius compensation is active, the CNCautomatically moves the actual contact point B along the programmedcontour. Thus, the resulting contour is identical to the programmedcontour.

Page 80: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-2 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Active Tool Path CompensationIf edge radius/cutter radius path compensation is active (G41/G42), theCNC automatically calculates the length corrections which are active inthe working plane with respect to the center point of the edge S byadding/subtracting the correct radius to/from the theoretical edge tip,based on the current position of the cutting edge.

��

��

� � � �

� �

� � ��

���� ��������������������������������������������� ���������������������������������

512Smit.FH7

P: Theoretical edge tipS: edge centerB: actual touch point

Fig. 5-2: Inaccuracy-free machining with active tool edge radius pathcompensation

With tool path compensation active, the center point of the tool travelsalong a path which is parallel to the programmed contour and is offset bythe tool radius.

Page 81: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Contour Transitions

With inside corners, the corrected NC block transition point is based onthe point at which the lines parallel to the contours intersect.

��� �

����

��

��

513INNEN.FH7

R: Theoretical edge tipS: edge centerS ": actual touch point

Fig. 5-3: Inside corners

The tool center point must travel around outside corners so that they arenot damaged.

Two methods can be used to accomplish this:

1. Insertion of an arc as the transition element by using NC commandG43, and

2. Insertion of a chamfer as the transition element by using NCcommand G44. The insertion of a chamfer is possible only if a straight-line ↔ straight-line transition exists.A chamfer is used as the transition element when the transition anglebetween the two straight lines is greater than 90°. If the transition angleis less than 90°, the NC block transition point is recalculated based onthe intersection point of the lines parallel to the contour.

Inside corners

Outside corners

Page 82: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-4 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

����

����

�� !

�"�#��$

����

�%��

�%�����

����

�%��

514AUSSEN.FH7

R: tool radiusS: programmed NC block transition pointS1 ": corrected NC block transition point 1S2 ": corrected NC block transition point 2

Fig. 5-4: Arc transition element with G43

&���������'()* ��������������

&�������'()* �������������������������"+,-.&�������'()* ���������������������������"/,-.&�������'()* ��������������������%������"/,-.

��

�����

�%��

���

���������� �������� ���������

���������� ���������

������������� ���!��������"��� &���� ������

&��������������

"�

��0

���0

�%�0

"

����1

��#��$

515FASE.FH7

Fig. 5-5: Chamfer transition element and corrected block transition point

Page 83: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

When arcs or chamfers are inserted as contour transitions, the CNCautomatically generates an additional transition NC block. This NC blockis considered to be an independent NC block, and as such, it must bestarted separately in single-block processing mode.

Note: With look ahead calculation of the corrected tool center pointpath, only the transition angle relative to the contour element ofthe following motion NC block is used in the calculation and notthe length of the contour element. The cases indicated in Fig. 5-6 are not recognized.

���

���

��� ���

���

���

��0

���

��2�

���#��$

516RAND.FH7

Fig. 5-6: Boundary conditions for contour elements

Arcs can, of course, replace the contour elements which are representedas straight lines. Any overlaps with elements other than the next contourelement are ignored.

The case shown here as a concave arc (see following fig.) is recognizedand program execution is terminated with an error message.

Page 84: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-6 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

���

��$3

���#��$

517KONK.FH7

Fig. 5-7: Concave arc, 1 element

The cases shown below are concave arcs with contour violation.

���

��43

���5

#��$

518KONKM.FH7

Fig. 5-8: Concave arc, several contour elements

Due to the fact that a maximum of four NC blocks are generally prepared,one of the next three NC blocks must be a movement NC block, whichincludes at least a change of one axis coordinate of an axis belonging tothe selected working plane. If this is not the case, the contour movementis completed, and the next contour transition will not be calculated. Look-ahead NC block processing will be interrupted with calculations in the NCprogram, which leads to the completion of a contour movement. Thus, acoherent contour move cannot be programmed according to NCvariables.

Page 85: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-7

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Establishment of Tool Path Compensation at Start of ContourThe starting point of the contour [P1] which is to be corrected with toolpath compensation is located above the starting point [P0] of theprogrammed contour, perpendicular to the subsequent direction ofmotion.

�6��7

6�-7

�6�-7

6��7 �

6�-7 6��7

��,8

3�#��$

519WKORR.FH7

R: tool radius[P0]: programmed starting point of the contour[P1]: corrected starting point of the contour

Fig. 5-9: Starting point for tool path compensation

The establishment of tool path compensation requires an additionalmovement in the working plane, which is performed only in conjunctionwith a programmed linear movement.

6�-7

6��76��7

9�:��

;����5�:���

;����5�:���

�������

�%-8

3���#��$

520WKAUF.FH7

R: tool radius[Ps]: Starting point of tool path compensation[P0]: programmed starting point of the contour[P1]: corrected starting point of the contour

Fig. 5-10: Establishment of tool path compensation

If an attempt is made to perform the tool path compensation by means ofa circular movement, an error message will be issued:

"G41/G42 activated with circular interpolation"

and the NC program will terminate.

To avoid violations of the contour starting point, the starting point of toolpath compensation must be selected in such a way that the tool is locatedcompletely within the quadrant which is opposite the contour corner.

Page 86: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-8 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

#$�%

6��7

�6��7

�%�8

���#��$

521WANF.FH7

R: tool radius[Ps]: Starting point of tool path compensation[P0]: programmed starting point of the contour[P1]: corrected starting point of the contour

Fig. 5-11: Contour start for tool path compensation

If the starting point of the tool path compensation is moved to an insidecorner with closed contours, a contour violation would result at the end ofthe contour (see fig. below).

#$&%'�#$(%

6�%7 6��7

6� 76��7

6�27

6���7

(������ <�� �����

�%%8

��#��$

522WGES.FH7

R: tool radius[P0]: programmed starting point of the contour[P1]: corrected starting point of the contour

Fig. 5-12: Tool path compensation with closed contours

Page 87: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-9

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Removal of Tool Path Compensation at End of ContourThe end point of the contour [Pe1] which was corrected with tool pathcompensation is located above the end point [Pe0] of the programmedcontour, perpendicular to the prior direction of motion.

6��7

6�-7

6�-7

6��7

6�-7

6��7�%�8

���#��$

523WEND.FH7

R: tool radius[Pe0]: programmed end point of the contour[Pe1]: corrected end point of the contour

Fig. 5-13: End point for tool path compensation

The removal of tool path compensation requires an additional move in theworking plane, which is performed only in conjunction with a programmedlinear movement (see following fig.).

6�-7

6��76�7

9�:��;����5�:���

�������;����5�:���

�% 8

!��#��$

524WAUF.FH7

R: tool radius[Pee]: End point of tool path compensation[Pe0]: programmed end point of the contour[Pe1]: corrected end point of the contour

Fig. 5-14: Removal of tool path compensation

Removing tool path compensation on an arc will not cause an error to beissued, but it will cause unpredictable contour errors. To avoid violationsof the contour end point, the end point of tool path compensation must beselected in such a way that the tool is located completely within thequadrant which is opposite the contour corner.

Page 88: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-10 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

6�-7

6��7

6�7

�%�3

���#��$

525KENDE.FH7

R: tool radius[Pee]: End point of tool path compensation[Pe0]: programmed end point of the contour[Pe1]: corrected end point of the contour

Fig. 5-15: Contour end for tool path compensation

If the end point of the tool path compensation is moved to an insidecorner with closed contours, a contour violation would result at the startingpoint of the contour (see following fig.).

#$&%'�#$(%

6�%7 6��7

6� 76��7

6�27

6�$7

(������ <�� �����

�%23

����#��$

526KGESCH.FH7

R: tool radius[P7]: programmed end point of the contour[Pe7]: corrected end point of the contour

Fig. 5-16: Tool path compensation with closed contours

Page 89: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-11

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Change in Direction of CompensationA change in direction of compensation functions behaves as if tool pathcompensations were removed and then re-established.

6��-7

6���7

6�-7

6��7�������;����5�:���

9�:��;�����5�:���

�%$8

���#��$

527WECHS.FH7

R: tool radius[Pe0]: programmed end point of the first contour[Pe1]: corrected end point of the first contour[Ps0]: programmed starting point of the second contour[Ps1]: corrected starting point of the second contour

Fig. 5-17: Change in direction of compensation

The change of tool path compensation requires an additional movementin the working plane, which is performed only in conjunction with aprogrammed linear movement.

Note: If an attempt is made to perform the tool path compensationby means of a circular movement, an error message will beissued:"G41/G42 activated with circular interpolation"

and the NC program will terminate.

The conditions described in sections "Establishment of Tool PathCompensation at Start of Contour", page 5-7 and "Removal of Tool PathCompensation at End of Contour", page 5-9 regarding the possibility ofviolating the starting point and end point of the contour also apply here.

5.2 Activating and Canceling Tool Path Compensation

Canceling Tool Path Compensation "G40"Function G40 is used to cancel tool path compensation that is alreadyactive. When tool path compensation is cancelled, the center point of thetool travels along the programmed path.

If an active tool path compensation (G41 or G42) is canceled by G40, thenext anticipated movement is a linear movement along the process plane.The axis values of both main axes must be programmed in the NC blockso that the tool path compensation can be cancelled.

G40

• G40 is the power-on state; it has a modal effect. G40 is cancelled byG41 or G42.

• G40 is automatically set after the controller has been powered on, aswell as after an NC program is loaded and after a BST, RET orControl-Reset.

Syntax

Page 90: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-12 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Tool Path Compensation, Left "G41"Tool path compensation to the left of the workpiece contour is activatedby the G41 function command.

If tool path compensation to the left of the contour is active, the tool centerpoint moves along the left side of the programmed contour when viewedin the direction of movement. It moves along a path opposite of andparallel to the contour with an offset equaling the tool radius.

If G41 is programmed after an active G40 or G42, the next anticipatedmovement is a linear movement in the process plane. The axis values ofboth main axes must be programmed in the NC block in order for the toolpath compensation to be re-established or changed.

G41

• G41 remains modally active until it is canceled by G40 or G42 or untila reset is automatically performed at the end of the program (RET) orBST.

• When tool path compensation is active, no more than two NC blockscan be programmed without programming a movement in the currentprocess plane. If more than two NC blocks are programmed without amovement, tool path compensation is canceled with G40.

Note: If an attempt is made to perform the tool path compensationby means of a circular movement, an error message will beissued:"G41/G42 activated with circularinterpolation"

and the NC program will terminate.

Tool Path Compensation, Right "G42"Tool path compensation to the right of the workpiece contour is activatedby the G42 function command.

If tool path compensation to the right of the contour is active, the toolcenter point moves along the right side of the programmed contour whenviewed in the direction of movement. It moves along a path opposite ofand parallel to the contour with an offset equaling the tool radius.

If G42 is programmed after an active tool path compensation (G40 orG41), the next anticipated movement is a linear movement on theprocess plane. The axis values of both main axes must be programmedin the NC block so that tool path compensation can be activated orchanged.

G42

• G42 remains modally active until it is canceled by G40 or G41 or untila reset is automatically performed at the end of the program (RET) orBST.

• When tool path compensation is active, no more than two NC blockscan be programmed without programming a movement in the currentprocess plane. If more than two NC blocks are programmed without amovement, tool path compensation is canceled with G40.

Syntax

Syntax

Page 91: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-13

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Note: If an attempt is made to perform the tool path compensationby means of a circular movement, an error message will beissued:"G41/G42 activated with circularinterpolation"

and the NC program will terminate.

Example: NC program tool path correction using G42

%-

-

2-

4-

�--

%- - 2- 4- �-- �

)

�%- � - �2- �4-

��

�2

�4

��

�,��-

�%

���

��

��%�$

�%4=

%#��$

528G42.FH7

Fig. 5-18: Tool path compensation, right (G42)

NC program using G42:

G00 G54 G06 G08 X115 Y99.5 Z5 Movement commands, interpolationconditions

G01 Z2 F1000 S2000 M0 1. Start positionZ-10 F1200 Lower cutter into materialG42 X117.5 Y99.5 F1500 [P1] Establish tool path

compensationG02 X98 Y80 I98 J99.5 Move to contour with a ¼ circleG01 X45 Y80 [P2]Machine 1st sectionG03 X40 Y75 I45 J75 Machine 1st ¼ circleG01 X40 Y25 [P3]Machine 2nd sectionG03 X45 Y20 I45 J25 Machine 2nd ¼ circleG01 X135 Y20 [P4]Machine 3rd sectionG03 X140 Y25 I135 J25 Machine 3rd ¼ circleG01 X140 Y75 [P5]Machine 4th sectionG03 X135 Y80 I135 J75 Machine 4th ¼ circleG01 X90 Y80 Machine 5th sectionG02 X73.5 Y96.5 I90 J96.5 Withdraw from contour with a ¼

circleG01 X73.5 Y99.5 [P6] End position of outer contourG00 Z2 Z axis to safety distanceG40 X68 Y49.5 [P7] Starting position of inside

contourG01 Z-10 F1000 Lower cutter into materialG42 X65.5 Y49.5 F1500 Establishment of tool path

compensationX65.5 Y50.5 Linear motionG02 X90 Y75 I90 J50,5 Move to contour with a ¼ circleG01 X130 Y75 [P8]Machine 1st sectionG02 X135 Y70 I130 J70 Machine 1st ¼ circleG01 X135 Y30 [P9]Machine 2nd sectionG02 X130 Y25 I130 J30 Machine 2nd ¼ circle

Page 92: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-14 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

G01 X50 Y25 [P10]Machine 3rd sectionG02 X45 Y30 I50 J30 Machine 3rd ¼ circleG01 X45 Y70 [P11]Machine 4th sectionG02 X50 Y75 I50 J70 Machine 4th ¼ circleG01 X98 Y75 Machine 5th sectionG02 X119.5 Y53.5 I98 J53.5 Withdraw from contour with a ¼

circleG01 X119.5 Y49.5 [P12]End position inside contourG00 Z2 Z axis to safety distanceRET Program end

Inserting an Arc Transition Element "G43"With tool path compensation (G41 or G42) active, G43 inserts an arc as atransition element for outside corners.

The tool center point must travel around outside corners so that they arenot damaged. An arc should always be inserted for circle ↔ straight lineor circle ↔ circle contour transitions.

G43

• G43 is the power-on state. It is modally active until it is overwritten byG44.

• G43 can be activated only via G41 or G42. G43 has no effect if toolpath compensation (G40) is canceled. G43 is reset automatically atthe end of the program (RET) or by the BST command.

• If an arc is inserted via G43 as a contour transition, the CNCautomatically generates an additional transition NC block. This NCblock is considered to be an independent NC block, and must bestarted separately in "Single block" processing mode.

• The conditions for the insertion of transition elements are described inthe section "Contour transitions".

��

�%��

��������

�%���

�%,>

*#��$

529UEBER.FH7

R: tool radiusS: programmed NC block transition pointS1 ': corrected NC block transition point 1S2 ': corrected NC block transition point 2

Fig. 5-19: Inserting an arc transition element

Inserting a Chamfer Transition Element "G44"With tool path compensation (G41 or G42) active, G44 can be used toinsert a chamfer as a transition element for outside corners with atransition angle exceeding 90°.

In the case of outside corners with a transition angle equal to or greaterthan 90°, the corrected transition point is defined as the intersection of thelines parallel to the contour.

G44

Syntax

Syntax

Page 93: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-15

DOK-TRA200-NC**PRO*V23-AW01-EN-P

• A chamfer as a transition element can be used only for transitionsbetween two straight lines. With all other transition pairs, an arc isautomatically used as a transition element, even if G44 is active.

• After it is selected, a G44 remains modally active until it is cancelled byG43 or until it is automatically reset at the end of the program or byBST. G44 can be activated only via G41 or G42. G44 has no effect iftool path compensation (G40) is canceled.

• If a chamfer is inserted via G44 as a contour transition, the CNCautomatically generates an additional transition NC block. This NCblock is considered to be an independent NC block, and must bestarted separately in "Single block" processing mode.

• The conditions for the insertion of transition elements are described inthe section "Contour transitions".

�&���� �������&���������'(�* ���������

�&��������* ���������������������%

������ �&��������* ����������������������

�%��

��

�����

�%��

�&���� �������&���������'(�* ���������

����� �&��������* ��������������������

���

���������� ��������

���������� ���������

��-1

���#��$

530FEIN.FH7

Fig. 5-20: Inserting a chamfer transition element

Page 94: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-16 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

5.3 Tool Length Compensation

If movements are being performed in the direction of the tool axis and atthe same time tool length compensation is inactive, all declared positionsrelate to the position of the nose of the spindle.

�������

?):� �

?@

���������:#��$

531INAKTIV.FH7

Fig. 5-21: Inactive tool length compensation

If a movement is performed in the direction of the tool axis at the sametime that tool length compensation is active, the actual tool lengthsentered in the D correction are automatically used for calculations by thecontroller, so that all declared positions now apply to the position of thetool tip.

In order to establish or remove tool length compensation, it is necessaryto perform a programmed movement in the direction of the tool axis sothat the spindle nose stops at the programmed position when the endpoint is approached.

The direction of the tool axis is assumed to be the direction of the mainaxis, which is perpendicular to the process (machining) plane. Theposition of the tool axis must be changed if the process plane is changed(G17, G18, G19).

�*

�������?):� �

9�� �;����

��%����:#��$

32AKTIV.FH7

Fig. 5-22: Active tool length compensation

Page 95: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-17

DOK-TRA200-NC**PRO*V23-AW01-EN-P

No Tool Length Compensation "G47"The function G47 is used to cancel tool length compensation that isalready active. When movements are being performed in the direction ofthe tool, all position data relate to the position of spindle nose.

If active tool length compensation (G48 or G49) is canceled with G47, aprogrammed movement in the direction of the existing main axis isexpected. Movements which do not involve the removal of material fromthe workpiece, such as a tool change, are generally performed withouttool length correction.

G47

G47 is active after the controller has been switched on. G47 remainsmodally active until it is canceled by G48 or G49.

Tool Length Correction, Positive "G48"After tool length correction has been activated by G48, the CNC com-pensates the tool lengths entered in the active D correction in thepositive axis direction beginning with the next programmed move in thedirection of the existing main axes.

G48

G48 remains modally active until it is canceled by G47, G49, RET, BST ora control reset.

Tool Length Correction, Negative "G49"After tool length correction has been activated by G49, the CNC com-pensates the tool lengths entered in the active D correction in thenegative axis direction beginning with the next programmed move in thedirection of the existing main axes.

G49

• G49 remains modally active until it is canceled by G47 or G49, or untilit is automatically reset at program end (RET), by BST or by control-reset.

• G49 only acts on L3. When applied to L1 and L2, G49 acts as G48,and thus accounts for the tool length positively.

5.4 D Corrections

D corrections are data records for geometry registers L1, L2, L3 and R.30 D corrections are available. Each D correction contains the L1, L2, L3and R registers. The values of the D correction registers can be assignedusing the CNC operator interface.

D0 � Cancel D corrections

D<D correction number[1.0.30]> � Select a D correction

D corrections are used to correct geometry data instead of using thecomplex tool management system.

If the D corrections are selected in a movement block, they will be used inthe same NC block for the calculation of the new position.

Example:

G00 X100 Y150 Z10 D20 D correction is already effective in this NCblock!

Syntax

Syntax

Syntax

Syntax

Programming

Page 96: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-18 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

=�$ =�4 =�,

A

;�

;�

�;%

??

BBB

������#��$

533Dkorr.FH7

Fig. 5-23: How D corrections work in the corresponding machining plane

;����C)(�������-

;������������;�

;����C)(��������-

% ����� #2���

$-# ���

8�D�������E����������+��,���-

(��������F� �������������� -;�����;� % �8��;� -G�����;� -

;�����;� $-# ;�����;% -;�����;� � #2������ -

9�� �����F�:� ��

�� C

E�#��$

534DWERK.FH7

Fig. 5-24: Definition of tool reference point using D corrections

• Geometry registers L1, L2, L3 and R of the selected D correction arenot active unless tool length correction (G48/G49) or tool radiuscorrection (G41/G42) is active.

• D0 is active in the power-on state; thus, the D corrections do notcompensate.

• A programmed D correction is modally active. The programmed Dcorrection is cancelled if D0 is programmed. D0 is automatically activeafter an NC program is loaded and after a BST, RET, M02, M30, orcontrol-reset.

• If tool length correction or tool radius correction is deactivated when aD correction is active, the geometries of the corresponding Dcorrection once again become active if the tool length/radius correctionis reactivated.

How D corrections work

Using D corrections

Page 97: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Tool Compensation 5-19

DOK-TRA200-NC**PRO*V23-AW01-EN-P

• Geometry registers L1, L2 and L3 act in the direction of the 3 mainaxes (X, Y, Z) depending on which process plane is selected. LengthL3 is always perpendicular to the current machining plane, whilelengths L1 and L2 always lie within the current machining plane.

The maximum value which can be entered via the GUI for geometryregisters L1, L2, L3 and R is entered in the process parameters. Thereare no limits for the values if they are set using the NC or the PLCprogram.

Page 98: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

5-20 Tool Compensation NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Page 99: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Auxiliary Functions (M) 6-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

6 Auxiliary Functions (M)

6.1 General Information on Auxiliary Functions

Auxiliary functions are transferred to the PLC and are then executed andacknowledged by the PLC. For this to happen, the switch functionsneeded in the PLC must be defined.

A maximum of 4 auxiliary functions can be programmed for each NCblock.

Note: If an auxiliary function has been output to the PLC, blockprocessing stops until the function is acknowledged. Thus,programming an auxiliary function which is not defined in thePLC program will block further program execution.Programming auxiliary functions temporarily stops blockprocessing. Functions such as G08 (velocity-optimal NC blocktransition) will be interrupted. Auxiliary functions withoutconfigured I/O acknowledgement signals (PSACKNxxx) areacknowledged internally.

6.2 "M" Auxiliary Functions

M functions are instructions which are primarily used to program machineor controller switching functions (for example, spindle on/off, coolanton/off, etc.). An auxiliary function is programmed via address letter M witha code of up to 3 digits. The codes for the auxiliary functions are partiallydefined in DIN 66 025 Part 2 and in part by the machine builder.

M function M function group Effect Meaning

M003, M004, M005 2 modal Spindle S

M103, M104, M105 2 modal Spindle S1

M203, M204, M205 3 modal Spindle S2

M303, M304, M305 4 modal Spindle S3

M400, M401, M402, M403 5 modal Auxiliary functions 400-403

M404, M405, M406, M407 6 modal Auxiliary functions 404-407

M408, M409, M410, M411 7 modal Auxiliary functions 408-411

M412, M413, M414, M415 8 modal Auxiliary functions 412-415

M416, M417, M418, M419 9 modal Auxiliary functions 416-419

M420, M421, M422, M423 10 modal Auxiliary functions 420-423

M424, M425, M426, M427 14 modal Auxiliary functions 424-427

M428, M429, M430, M431 15 modal Auxiliary functions 428-431

M19, M119, M219, M319 16 blockwise Spindle positioning

Fig. 6-1: M function groups

All M functions with the exception of spindle control commands Mx03,Mx04, Mx05 and the blockwise active M function Mx19 can be used asdesired by the machine builder since they do not trigger any internalfunctions in the controller.

• In a given NC block, only one M function can be programmed fromeach function group.

Page 100: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

6-2 Auxiliary Functions (M) NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

• No more than four M functions can be programmed in a single NCblock.

The M functions overwrite one another.

Auxiliary Functions M400 to M431Auxiliary functions M400 to M431 are instructions that can be used mainlyto program switching functions of the machine or controller.

There are also asynchronous variants (MQ400 to MQ431) that do not waitfor acknowledgement. The acknowledgement can be interrogated at alater time using MW400 to MW431.

Signals PSAUX4nn and PSACKN4nn are assigned to every M function(M4nn). If an M function (M4nn / MQ4nn) has been programmed, theassociated signal PSAUX4nn is set. For M4nn, the NC program isinterrupted when it reaches the end of the block; for MQ4nn, the programproceeds until an explicit acknowledgement with MW4nn is requested.The NC program continues from the point of interruption only after anacknowledgement from the PLC. The PLC must execute anacknowledgement with the associated acknowledgement signal(PCACKN4nn) in any case so that output signal PSAUX4nn is againavailable for further processing. It does not matter whether theacknowledgement was queried using the NC program or not.

MFunction.bmp

Fig. 6-2: Interplay of PCAUX4nn and PCACKN4nn

1. The Rexroth TRANS 200 executes an M4nn or MQ4nn command,setting output signal PSAUX4nn.

2. The PLC processes the request and acknowledges it by setting signalPCACKN4nn.

3. The Rexroth TRANS 200 executes the acknowledgement in the NCprogram and resets signal PSAUX4nn.

4. Then the PLC must revoke signal PCACKN4nn.

Page 101: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Auxiliary Functions (M) 6-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Spindle Control CommandsThe spindle is turned on or off using spindle control commands Mx03,Mx04 and Mx05. The first digit in the M functions is evaluated as thespindle index number. If the spindle index is 0 (M003), the M function isapplied to the first spindle; if the spindle index is 2 (M203), the M functionis applied to the second spindle.

• Auxiliary functions Mx03, Mx04 and Mx05 are used to control the 3optional spindle axes. No signals are sent to the PLC.

• Spindle control commands Mx03 and Mx04 already become activewhen an axis movement programmed in the block occurs.

Activate spindle rotation in clockwise direction.

Activate spindle in counterclockwise direction.

Switches the spindle off

Spindle PositioningFunction M19 S... allows the primary spindle to be stopped in a definedposition. The angular position is programmed in degrees at address S.

The primary spindle can be positioned while not turning as well as whileturning.

• Auxiliary function Mx19 is used to control the 3 optional spindle axes.No signals are sent to the PLC.

• The NC block is only processed completely after Mx19 has beenacknowledged by the PLC, when the spindle has reached theprogrammed end position.

• If Mx19 is programmed without an S word; an error will be issuedwhen the program is executed.

• Function Mx19 is possible only with primary spindles that are able tobe positioned.

M19 S<Constant> � M19 S180

M19 S=<Expression> � M19 S=@070

M<spindle index>19 S<spindle index><constant>� M219 S2 90

M<spindle index>19 S<spindle index><expression>� M319 S3=@060

This command initiates asynchronous spindle synchronization. The NCblock that contains MQ19 is terminated as soon as all the other softwarefunctions are executed, even if the spindle has not yet reached theprogrammed end position.

Via the programming of MW19 (with the same spindle position as withMQ19), the following NC block can be interrogated and waited for until thespindle has reached its target position.

If there are several spindles, only one positioning command can bestarted in each NC block. A separate NC block with the correspondingpositioning command (e.g. MQ219) is required for the second and eachadditional spindle.

The following restrictions apply to the MQ19 command:

• May only be used with SERCOS primary spindles with SHS firmware;the parameter S-0-0152 must exist.

Mx03 Spindle clockwise

Mx04 Spindle counterclockwise

Mx05 Spindle stop

Syntax

Page 102: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

6-4 Auxiliary Functions (M) NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Page 103: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Events 7-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

7 Events

7.1 Definition of NC Events

Various states of NC events can be sent to the controller using theRexroth TRANS 200 I/O inputs. The states can be evaluated in the NCprogram and used to influence the NC program flow. Waiting for adefined state in an NC event can, for example, synchronize processes.

The Rexroth TRANS 200 controller system differentiates between syn-chronous and asynchronous events. 31 synchronous (events 1 - 31) and1 asynchronous event (event 0) are available. The synchronous eventscan be coded in binary form using signals PCCOND00, PCCOND01,PCCOND02, PCCOND03, PCCOND04 (see Fig. 7-1). The asynchronousevent is activated by signal PCEVENT. The status of the event can bedisplayed using the NC screen (NC events) and the mini control panel.

PCCOND04 PCCOND03 PCCOND02 PCCOND01 PCCOND00 NC event

0 0 0 0 0 -

0 0 0 0 1 1

0 0 0 1 0 2

0 0 0 1 1 3

0 0 1 0 0 4

0 0 1 0 1 5

0 0 1 1 0 6

0 0 1 1 1 7

0 1 0 0 1 8

0 1 0 0 1 9

0 1 0 1 0 10

0 1 0 1 1 11

0 1 1 0 0 12

0 1 1 0 1 13

0 1 1 1 0 14

0 1 1 1 1 15

1 0 0 0 0 16

1 0 0 0 1 17

1 0 0 1 0 18

1 0 0 1 1 19

1 0 1 0 0 20

1 0 1 0 1 21

1 0 1 1 0 22

1 0 1 1 1 23

1 1 0 0 1 24

1 1 0 0 1 25

Description

Page 104: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

7-2 Events NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

PCCOND04 PCCOND03 PCCOND02 PCCOND01 PCCOND00 NC event

1 1 0 1 0 26

1 1 0 1 1 27

1 1 1 0 0 28

1 1 1 0 1 29

1 1 1 1 0 30

1 1 1 1 1 31

Fig. 7-1: Synchronous Rexroth TRANS 200 NC events

Note: Event 0 is reserved for interrupt-controlled jumps and shouldalways be kept free for this function.

7.2 Waiting for Events

Wait until NC Event is Set "WES"The WES command "Wait until event is set” is used to stop programprocessing until the event defined in the command parameter is set. If theevent is already set, the block continues to process without interruption.

WES <Event number[1..31]> � WES 9

• The WES command should not be programmed within a programsection in which tool path compensation is active. If this proves to beunavoidable, be certain that it is programmed only between linearblock transitions.

Wait until NC Event is Reset "WER"The WER command "Wait until event is reset" is used to stop programprocessing until the event defined in the command parameter is reset. Ifthe NC event is already reset, the block continues to process withoutinterruption.

WER <event number[1-31]> � WER 9

• The WER command should not be programmed within a programsection in which tool path compensation is active. If this proves to beunavoidable, be certain that it is programmed only between linearblock transitions.

7.3 Conditional Branches for Events

Branch if NC Event is Set "BES"The BES branch command "Branch if event is set" is used to continueprogram processing at the declared branch label if the NC event definedin the command parameter is set.

BES <branch label> <NC event number[1..31]>� BES .LABEL 9

Syntax

Syntax

Syntax

Page 105: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Events 7-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

7.4 Asynchronous Handling of NC Events

The CNC can use NC event 0 to influence NC program execution at anytime. Since the status of events can be changed by the PLC, the NCprogram can be programmed to branch conditionally upon certain signalchanges.

The control of NC program flow consists of being able to interrupt theexecution of the active NC block, including the current axis movements,to request a subroutine and then to return to the interrupted NC block orto make a complete branch and continue the NC program at a differentlocation.

Asynchronous handling of events permits, for example, position scanning(limit switch), gauging cycles (probe) or joining operations (force sensor).All other kinds of conditions used to trigger the interruption of a move orsimply to modify the NC program flow are conceivable.

With the CNC, the response time to an external event is typically 50milliseconds.

NC event 0 is reserved for interrupt-controlled program branches (alsosee I/O signal "PCEVENT"). If a condition is met, the corresponding eventassumes the state 1.

The first action taken to handle an external event is that all axismovements in the process are brought to a stop as soon as possible.Spindles are not stopped when an event is called. The position of the stopis then calculated back into the program coordinate system so that it canbe used as the starting position for the following move. In addition, thepreviously prepared motion blocks are cleared, and block processingbegins again starting at the point in the program which was defined as thestart of event handling. The branch label that was programmed with theevent identifies the start of an event.

• The monitoring of events and the appropriate response takes placeonly when an advance program is running. All NC event supervisionactivities are deactivated at the end of the program, when an axis isjogged, or when the program is reset by means of a Control Reset.

• Event commands are processed to completion at the end of the NCblock. No more than one command for asynchronous handling ofevents can be programmed in an NC block.

Example: NC program - asynchronous event monitoring

.LOOP1

JEV .LEAVE 0 ;If event 0 is set, jump to routine "Empty"

M417 ;Message to PLC: Emptying can be initiated

CEV 0 ;Clear event monitoring

.........

.LEAVE ;Routine for emptying the machine

Since the auxiliary channel remains assigned until M417 is acknowledgedby the PLC, the NC program continues from this point as long as no otherauxiliary function is executed.

If event 0 is set during auxiliary function output M417, the NC programbranches to the specified point. The output of the auxiliary function to thePLC remains pending, meaning that if the auxiliary function was issued, itmust also be acknowledged.

Page 106: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

7-4 Events NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Call Subroutine if Event is Set "BEV"The BEV command "Call subroutine if event is set (Branch on Event)" isused to activate monitoring of the event specified in the commandparameter. If the NC event assumes status "1", it branches to thesubroutine which is parameterized in the branch label of the BEVcommand. A change in the status of the triggering event is ignored untilthe subroutine is terminated.

BEV <branch label> <event number[0]> � BEV .LABEL 0

After the branch from the subroutine, block preparation is resumed at thebeginning of the interrupted NC block so that this block is now completelyprocessed to ensure that all the functions of the interrupted block areperformed. This can lead to unexpected results with incrementalprogramming and incremental variable programming (@01=@01+3).

• The portion of the NC program which is processed as a subroutinemust be terminated upon the branch back from the subroutine.Monitoring of the triggered event is resumed automatically.

• Repeating the assignment of a branch label to an event using theBEV command overwrites the previous assignment as well as anydifferent branching behavior defined using the JEV command "Branchto subroutine if event is set".

Program Branching if NC Event is Set "JEV"The JEV command "Program branching if event is set (Jump on Event)"is used to activate monitoring of the NC event specified in the commandparameter. If the NC event assumes status "1", then the processingbranches at this program point; this is parameterized via the jump label ofthe JEV command. A change in the status of the triggering event isignored.

JEV <branch label> <event number[0]> � JEV .LABEL 0

• After the interruption is triggered by the event, the program iscontinued at a defined location; it cannot be reset, as is the case withthe BEV command, by jumping back from a subroutine (RTS) into theinterrupted NC block.

• Repeating the assignment of a jump label to an event using the JEVcommand overwrites the previous assignment as well as any differentbranching behavior defined using the command BEV branch on anevent to an NC subroutine (interrupt).

Cancel NC Event Monitoring "CEV"The command CEV "Cancel NC event monitoring (interrupt)" can be usedto cancel NC event supervision when supervision is activated by means ofBEV or JEV. NC event monitoring is canceled for the NC event declaredin the command parameter.

CEV <event number[0]> � CEV 0

Syntax

Syntax

Syntax

Page 107: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Program Control Commands 8-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

8 Program Control Commands

8.1 Program Control Commands

Program End with Reset "RET"When the RET command is performed, processing branches to the firstNC block in the active NC program, sets the selected functions for thepower-on state, and waits for a start signal. After the RET command hasbeen performed, the current reverse vector points to branch label .HOME.

RET

After the RET command is performed, all subroutine levels and theirreverse vectors are cleared and the controller is in the initial state of themain program level.

• In terms of its function, RET is comparable to the M002/M030functions defined in DIN 66025.

Branch with Stop "BST"The BST command branches to the branch label which is set in thecommand parameter, sets the path conditions of the power-on state andwaits for a start signal. After a BST, the current reverse vector points tothe branch label .HOME.

BST <branch label> � BST .HALT

After a BST command, all subroutine levels and their reverse vectors arecleared and the controller is in the initial state.

• The BST command cannot be used within a subroutine. The branchfrom the subroutine will result in an error message.

Programmed Halt "HLT"The HLT command interrupts program execution and waits for a newstart signal.

HLT

If a message is to be output for the HLT command, note that themessage must already be programmed in an NC block before the HLTcommand. The reason for this is that the HLT command is executedahead of a message in the standard order in which NC commands arecarried out (see Chapter "Elements of an NC block").

Branch Absolute "BRA"The BRA branch command branches to the label set in the commandparameter and continues program execution there.

BRA <branch label> � BRA .WEITER

Syntax

Syntax

Syntax

Syntax

Page 108: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

8-2 Program Control Commands NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

8.2 Subroutines

Subroutine TechniqueWhen workpieces are being machined, it is sometimes necessary torepeat a given operation a number of times. This operation could beprogrammed as a subroutine so that similar processing sequences couldbe called up repeatedly. This subroutine could be called up from any pointin the NC machining program as a complete function module.

Subroutine StructureA subroutine consists of the:

• start of the subroutine,

• NC blocks of the subroutine, and

• End of subroutine

.LABEL Start of subroutine

NC blocks NC blocks in subroutine

RTS End of subroutine

Fig. 8-1: Subroutine Structure

In terms of syntax, the jump label begins with a decimal point followed byat least one and no more than six legal characters. The syntax is NOTcase sensitive.

Subroutine NestingA subroutine can be called up from an NC program as well as from adifferent subroutine. This is referred to as "subroutine nesting."

The CNC allows 10 subroutine nesting levels. This means thatsubroutines can be nested no more than 9 levels in depth.

�������������� ��

���������

��� ���

����

��������������

��� ���

� � � � � � � � � ��

���

��� ���

���

��� ���

���

��� ���

���

��� ���

���

��� ���

���

��� ���

��� ��� ��� ���

���

��� ���

���

���

��� ���

���

���

���

���

����

��

95USCHA.FH7

Fig. 8-2: Subroutine Nesting

Page 109: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Program Control Commands 8-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Subroutine Call "BSR"The BSR command branches to the label set in the command parameterand continues program execution there.

BSR <label> � BSR .UP1

After the return from a subroutine called using the BSR command via theRTS command, the called program is continued at the next NC block.

Return from NC Subroutine "RTS"The RTS command marks the end of the subroutine. After the RTScommand is finished, processing returns to the NC program from whichthe call was made, and NC block processing is continued in the NC blockfollowing BSR.

RTS

If a subroutine call did not precede the return from a subroutine (BSR),the program will be stopped and an error message will be generated.

���

��� ���

��� ���

��� ���

��

��

�����

� ���

����

�� ��

96URUF.FH7

Fig. 8-3: Subroutine call

Syntax

Syntax

Page 110: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

8-4 Program Control Commands NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

8.3 Reverse Vectors

The CNC permits flags to be defined for reverse programs based onvarious program states relating to certain machine positions. Thesewithdrawal programs (reverse programs) are used to program how theNC axis must withdraw from the various positions and return to a definedstate. The flags for the reverse programs, which are identified by labels,are referred to as reverse vectors.

The label ".HOME" was defined as the basic reverse vector for the mainprogram after the controller is started. This basic reverse vector, whichmust be part of every NC program, marks the beginning of the basicreverse program.

After each end of program via RET or BST and each time after thecontroller is reset in the power-on state, the reverse vector in the mainprogram points to the label ".HOME", and all reverse vectors in thesubroutines are cleared.

Set Reverse Vector "REV"The NC block containing the label defined as the command parameter isdefined as the first NC block in the reverse program – in other words, areverse program would start processing at this label beginning at the NCblock.

REV <label> � REV .HOLE1

Reverse vectors can also be defined within subroutines. Such reversevectors in subroutines have the same nesting structure in the reverseprogram as in the advance program. Reverse programs from subroutinesmust also be terminated by the RTS command.

• When a subroutine is closed, the reverse vectors set up in thesubroutine are automatically cleared.

• A reverse vector programmed in an NC block will not be activated untilthe end of NC block execution.

Example: NC program - Global Homing Program

.HOME Basic reverse vector

D0 Cancel D corrections

G40 G47 G53 G90 Home

G74 Z0 F1000 Go to Z axis reference point

G74 X0 Y0 F1500 Go to X and Y axis reference point

RET Program end

Syntax

Page 111: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Program Control Commands 8-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

�������� ���

����������

���������

�� �� �����

!���!���!���" ����#����$������%� &�"�����%� &�$���� � '(�"���� � '(����� &��

��)���*+,- '(� ���%� ��!��$�!��$ ���.���!��$�����

�-/-�0-�%-1*��0��

��!���$������

�-/-�0-�%-1*��0�&

&�!���$��� &�!���" ����#����$�������

+���� � ('&��+,0*-�2�� �����

!��)� ��(� +,�

('&���� ���

���

-/-�

0 ��

#�

��

97REVERS.FH7

Fig. 8-4: NC machining using reverse vectors

Note: All reverse vectors (REV) are cleared upon a control reset.The branch label of the reverse program points to the basicreverse vector .HOME.

The NC blocks that are defined by the reverse vectors (REV)are no longer processed. Merely the NC blocks of the basicreverse vector .HOME are considered.

Consistent reverse vector programming permits errors that occur duringprogram execution to be taken into account.

For example, if a malfunction occurs while processing an M function, themachine is returned to a non-critical state using the reverse vectors.

This is no longer possible once the reverse vectors have been cleared bya control-reset.

Page 112: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

8-6 Program Control Commands NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

8.4 Conditional Branches

Conditional branches are not performed unless the correspondingcondition is met. If this condition is not met, the program continuesexecution starting at the following NC block.

Branch upon Reference "BRF"The BRF branch command can be used to determine whether the NCaxes in the CNC are located at their reference points.

BRF <branch label> � BRF .NORE

If the NC axes are properly referenced, program execution continues atthe branch label defined in the command parameter.

Branch if NC Event is Set "BES"The BES branch command is used to continue program processing at thedeclared branch label if the event defined in the command parameter isset.

BES <branch label> <event number[1-31]> � BES .LABEL 9

Branch if NC Event is Reset "BER"The BER branch command is used to continue program processing at thedeclared branch label if the event defined in the command parameter isreset.

BER <branch label> <event number[1-31]> � BER .LABEL 9

8.5 Branches Depending on Arithmetic Results

Branches which depend on arithmetic results relate to the results of themost recently performed arithmetic operation.

Branch If Equal to Zero "BEQ"Branch command BEQ is used to continue program execution at thespecified branch label if the result of the most recent mathematicaloperation was equal to zero.

BEQ <branch label> � BEQ .ZERO

Branch If Not Equal to Zero "BNE"Branch command BNE is used to continue program execution at thespecified branch label if the result of the most recent mathematicaloperation was not equal to zero.

BNE <branch label> � BNE .NZERO

Branch If Greater Than or Equal to Zero "BPL"Branch command BPL is used to continue program execution at thespecified label if the result of the most recent mathematical operation wasgreater than or equal to zero (PLus).

BPL <branch label> � BPL .GZERO

Syntax

Syntax

Syntax

Syntax

Syntax

Syntax

Page 113: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Program Control Commands 8-7

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Branch If Less Than Zero "BMI"Branch command BMI is used to continue program execution at thespecified branch label if the result of the most recent mathematicaloperation was less than zero (MInus).

BMI <branch label> � BMI .LZERO

Overview Table@10=A-B @10=B-A

A = B BEQ BEQ

A <> B BNE BNE

A < B BMI ---

A <= B --- BPL

A > B --- BMI

A >= B BPL ---

Note: Due to resolution inaccuracies, there can be malfunctions ormissing functions when BEQ or BNE is used if the arithmeticresults are decimal fractions.

WARNING

Incorrect program jumps may lead to damage toworkpiece and/or machine.

Example:

@10 = 51.8 -50-1.8 BEQ .label (result=0) does not work!

Remedy:

Depending on the resolution, e.g. 0.01, convert into an integer expression:

@10=INT((51.8-50-1.8)•1000) BEQ .label works!

Example: NC program Loop construction

@51=0 preassign the loop variables

.NEXT Loop beginning marker

@51=@51+1 Increment loop variable

@10=DCD(,1,@51) Read D correction 1 Element=@51

@10=@10-25 BEQ .BREAK if D correction 1 Element=25, then exit the loop

@10=@51-4 BMI .NEXT Check loop variable if loop conditions arestill given.

[no element of D correction 1

HLT Acknowledge programmed halt from PLC

BRA .EXIT Branch to the program end

.BREAK Loop exit label

[one element of D correction 1has the value 25] Output message

Syntax

Page 114: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

8-8 Program Control Commands NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

HLT Acknowledge programmed halt from PLC

.EXIT End-of-program label

RET

Page 115: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Variable Assignments and Arithmetic Functions 9-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

9 Variable Assignments and Arithmetic Functions

9.1 Variables

NC variables are used in an NC program to represent a numerical value.A value can be assigned to an NC variable by the NC program, PLC pro-gram or from the user interface; the value of the NC variable can be readaccordingly by these programs or by the user interface.

NC variables are identified by:

a 1-2 digit number

80 NC variables (0 - 79) are available in the CNC.

@<variable number[0-79]> � @30

@<variable number[0-79]>

=<arithmetic expression> � @10=5*100

Note: The internal data representation of a value employs the"Double Real" format. The value range for entries goes from -1.0E±300 to +1.0E±300. Only values with a maximum of 7positions can be programmed in the NC program ("SingleReal" format).

.123456789123456

123456789123456

15E+20

90E-10

If the content of an NC variable is to be negated, the NC variable must beplaced within parentheses.

X=-(@20)

@12=-(@19)

-(@57)=@58

@23=X

Note: Irrespective of the display mode (workpiece or machinecoordinate system), machine coordinates are always outputwhen axis values are read.

Syntax

Syntax for assigning a value to avariable

Syntax for representing the data

Syntax for negating the contentsof a variable

Page 116: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

9-2 Variable Assignments and Arithmetic Functions NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Variable AssignmentThe values of the following addresses can be assigned to the NCvariables of the CNC, or the following values from the CNC addressescan be written into the NC variables.

The machine coordinates are read into the NC variable when the coordinatevalues are read.

Valid addresses:X, Y, Z, A, B, C, U, V, W

X[1-3], Y[1-3], Z[1-3], A[1-3], B[1-3], C[1-3], U[1-3], V[1-3], W[1-3]

@10=X Write the X axis position value to the NC variable.X1=@20 X1 axis to the position stored in the NC variable.

Valid addresses: I, J, K

J=@22 Circle center point coordinates of Y axis from thevariables.

Valid addresses: R

R=@23 Radius statement via the contents of the NCvariable.

Only the current feed rate (@xx=F) can be read. However, all F valuescan be defined, such as G04 F=@9 for a dwell time.

Valid address: F

@24=F Write active feed rate to the NC variable.F=@25 F value via the contents of the NC variable.

Valid addresses: S, S[1-3]

@26=S Write current spindle speed to the variable.S1=@27 Spindle speed information via the contents of the NC

variable.

Only angle of rotation P of the coordinate rotation can be read. With thread cutting, the starting angle P cannot be read.

Valid address: P

G50 Z30 P=@29 Rotation angle P via the contents of the NCvariables.

Valid address: SPF

@22=SPF Read actual reference spindle for programming thespeed.

SPF=@23 Set reference spindle for programming the speed.

The active auxiliary function M cannot be read.

Valid address: M

M=@29 Output of auxiliary Q function via the contents of theNC variable.

The current D correction D cannot be read.

Valid address: D

D=@26 Select the D correction via the contents of the NCvariable.

Coordinate values of existingaxes

Interpolation parameters

Radius

Feed rate

Spindle speed

Angle

Selecting the reference spindlefor the spindle speed

Auxiliary M function

D correction

Page 117: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Variable Assignments and Arithmetic Functions 9-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Valid address for reading: G(<G code group[1-23]>)Valid address for writing: G = expression

G Function G Code Group Active Meaning

G00, G01, G02, G03 1 modal Interpolation functions

G17, G18, G19 2 modal Plane Selection

G40, G41, G42 3 modal Tool path compensation

G52 to G59 4 modal Zero offsets

G90, G91 6 modal Measurements

G43, G44 10 modal Transition elements

G61, G62 11 modal Block change

G47, G48, G49 13 modal Tool length compensation

G08, G09 14 modal Block transition speed

G06, G07 15 modal Drag error ON/OFF

G04G50, G51G63, G64G74G75, G76

16 blockwise Dwell timeProgrammed zero point offsetTapping without a compensating chuckHomingFeed to positive stop

G68, G69 20 modal Adaptive depth

G36, G37, G38 21 modal Rotary axis approach logic

G25, G26 22 modal Adaptive feed control

G10, G11 23 modal Rounding of NC blocks with axis filter

Fig. 9-1: G functions

The blockwise active G functions can be read only in the NC block inwhich they were programmed. Otherwise a value of "1" is generated whenthe blockwise active G functions are read.

@27=G(4) Write active G function of group 4 to the NC variable.G=@28 Set a G function via the contents of the NC variable.

The programmable M functions are subdivided into 16 M function groups.

Valid address for reading: M(<M function group[1-16]>)Valid address for writing: M = expression

M function M Function Group Active Meaning

M3, M4, M5 2 modal Spindle Commands S

M103, M104, M105 2 modal Spindle Commands Spindle 1

M203, M204, M205 3 modal Spindle Commands Spindle 2

M303, M304, M305 4 modal Spindle Commands Spindle 3

M400, M401, M402, M403 5 modal Auxiliary functions 400-403

M404, M405, M406, M407 6 modal Auxiliary functions 404-407

M408, M409, M410, M411 7 modal Auxiliary functions 408-411

M412, M413, M414, M415 8 modal Auxiliary functions 412-415

M416, M417, M418, M419 9 modal Auxiliary functions 416-419

M420, M421, M422, M423 10 modal Auxiliary functions 420-423

M424, M425, M426, M427 14 modal Auxiliary functions 424-427

M428, M429, M430, M431 15 modal Auxiliary functions 428-431

M19, M119, M219, M319 16 blockwise Spindle positioning

Fig. 9-2: M functions

G functions

M functions

Page 118: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

9-4 Variable Assignments and Arithmetic Functions NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

The blockwise active M functions can be read only in the NC block inwhich they were programmed. Otherwise a value of "1" is generated whenthe blockwise active M functions are read.

@29=M(13) Write the active programmed M functions of group (13)into the variable.M=@20 Set a M function via the contents of the NC variable.

9.2 Round Distance "RDI"

In the axis filter, an axis positioning windows delimits the maximumrounding distance RDI (Round DIstance). The RDI value defines themaximum distance to the programmed data point for the start of therounding process. (Also see the section "Motion blocks – rounding of NCblocks")

The following syntax is admissible with the RDI command:

RDI10 ;direct allocation

RDI 10 ;direct allocation, space symbol

RDI=10 ;direct allocation

RDI=@195 ;allocation by variable

RDI=10+@195 ;allocation by formula

@195=RDI ;reading of the currently effective RDI value

The process of rounding block transitions is modally enabled for thecurrent and the following blocks by programming the rounding distanceRDI (Round DIstance). It is effective only in motion blocks of G codegroup 1 (G00, G01, G02, G03). In each case, the transition from thecurrent block to the next block is rounded.

Rounding is switched off again with the "RDI 0" command.

"RDI=0" is the default state and is saved as active until RDI is overwrittenwith another value. RDI is automatically reset to the default state at theend of the program (RET), using the BST command or control reset.

9.3 Mathematical Expressions

The assignment of an expression is initiated by an equal sign and isterminated by a space or the end-of-line character.

• Within an expression, a space is interpreted as the end of the expres-sion, which therefore leads to a premature termination. The followingtext characters then usually result in syntax errors.

Calculation of an expression halts NC block preparation; in other words,look-ahead interpretation of the subsequent NC blocks is not resumeduntil the expression is fully calculated. This means that traversemovements are stopped at the programmed end point and that steps toachieve smooth block transitions (G06, G08) do not take place.

Expressions are comprised of:

• operands

• operators

• parentheses

• functions.

Syntax

Page 119: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Variable Assignments and Arithmetic Functions 9-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Examples: of expressions

@202=SQRT(@200)+F@203=@205+@206/@207-50@20=X+ABS(@1)*INT(@2+@3*100)F=0.1*PI*800@23=@25+@26/@27-50

OperandsOperands can be:

• constants,

• system constants,

• variables,

• address letters, and

• functions.

Floating decimal point constants can be comprised of the followingelements:

• sign of the mantissa,

• up to 6 decimal digits,

• decimal point behind the first through sixth decimal digits,

• exponent symbol E,

• sign of the exponent, and

• up to 2 decimal digits for the exponent.

In order for internal floating decimal point calculations to be used, thedecimal point or the exponent sign must be present.

Example: of valid floating-decimal-point constants

-0.+123456.1E0-123456E+10.1E-00+100.000E12

The numerical decimal value statement is interpreted as an integerconstant, both without the decimal point and without the exponent. Integerconstants can optionally consist of a sign and up to ten decimal digits.

Example: for valid integer constants

-01+1234567890

The circle number "PI" (3.14159265...) and the conversion factor from theinch system to the metric "KI" system (25.4) are available for use assystem constants which are programmed using their symbolic names.Because of their higher internal accuracy, these constants should alwaysbe used.

Constants

System constants

Page 120: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

9-6 Variable Assignments and Arithmetic Functions NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

OperatorsThe standard symbols for basic mathematical operations can be used asoperators.

+ Addition

− Subtraction

∗ Multiplication

/ Division

% Remainder of an integer division (modulo)

• Division by 0 will cause an error.

• Higher-order operations are implemented by functions.

ParenthesesTo nest expressions and circumvent the integrated principle"multiplication/division before addition/subtraction", partial expressionscan be placed within parentheses. The number of nesting levels isunlimited.

FunctionsThe CNC provides the following mathematical functions:

ABS Absolute value

INT Integer component

E^ Power to the base "e"

10^ Power to base 10

2^ Power to base 2

TIME Time in seconds

The mathematical functions enclose their operands in parentheses. Theoperands used in functions can also be expressions – in other words, thefunctions can be nested.

The absolute value function delivers the positive value of its operand.

x < 0: ABS(x) = x

x = 0: ABS(x) = 0

x > 0: ABS(x) = x

Example:

ABS(-1.23) � 1.23

The INT function delivers the next smallest integer for the operand.

Example:

INT(1.99) � 1INT(1.01) � 1INT(-2.99) � -2INT(-2.01) � -2

Example:

E^(-2.5) � 0.082...

Example:

10^(3) � 1000

Absolute value - ABS

Integer - INT

Power to base - E^

Power to base 10 - 10^

Page 121: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Variable Assignments and Arithmetic Functions 9-7

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Example:

2^(8) � 256

The TIME function supplies a reference-free time in seconds accurate to2 milliseconds. This time can be used to determine time differences.

Example

@50=TIME Determine active time..@60=TIME-@50 Determine time difference

The TIME function does not have an operand.

Time recording starts when the controller is powered up and runs forapprox. 50 days.

Example: NC program - subroutine programming

��

��

��

��

���

�� �� �� �� ��� �

��� ��� ��� ���

������

������

�������

����

� ��

����

101RECHT.FH7

Fig. 9-3: Rectangle as subroutine

NC program:

G00 G54 G06 G08 X160 Y80 Z10 Start position

G01 Z-10 F1000 Infeed Z axis

G42 X135 Y80 F1500 Establishment of tool pathcompensation

@20=90 @21=50 @22=5 @23=1200 Preassign variables

BSR .RE1 Subroutine call

G90 G00 Z10 Z axis to safety distance

G40 G01 X160 Y110 Removal of tool pathcompensation

RET Program end

.RE1 "Rectangle" subroutine

G01 G91 F=@23 Incremental, set feed

X=-(@20) 1. straight line in X

G03 X=-(@22) Y=-(@22) J=-(@22) 1. ¼ circle

G01 Y=-(@21) 1. straight line in Y

G03 X=@22 Y=-(@22) I=@22 2. ¼ circle

G01 X=@20 2. straight line in X

Power to base 2 - 2^

Time in seconds - TIME

Page 122: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

9-8 Variable Assignments and Arithmetic Functions NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

G03 X=@22 Y=@22 J=@22 3. ¼ circle

G01 Y=@21 2. straight line in Y

G03 X=-(@22) Y=@22 I=-(@22) 4. ¼ circle

G01 X=-(@21/50) Traverse X axis until clear

Y=@21/10 Traverse Y axis until clear

RTS End of subroutine

Page 123: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Special NC Functions 10-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

10 Special NC Functions

10.1 APR SERCOS Parameters

Data Exchange with Digital Drives "AXD"The "AXD" command can be used to read or write the drive data from orto the NC program for a digital drive which is connected to the CNC bymeans of a digital SERCOS interface. The drive datum which is to beread or written is addressed using the data address defined in thecommand parameter.

AXD(<axis name>:<SERCOS ID number>

AXD(<axis number>:<SERCOS ID number>

The letters X, Y, Z, U, V, W, A, B, C and optionally S with the enhancedaddress structure [1-3] can be used as the axis name. The axis number[1.0.7] can be specified alternatively. It is essential that these axes also beparameterized and that they be drives which are connected via theSERCOS Interface.

SERCOS ID Number

<group letter>-<drive parameter set number>-<data block number>

The group letter differentiates between:

• standard data (S), defined by the SERCOS standards committee, and

• product data (P),defined by the drive manufacturer.

The meaning of the SERCOS parameters (group letter S) and theirfunctions are described by the SERCOS committee in the publication"SERCOS Interface."

The meaning of the SERCOS parameters (group letter P) and theirfunctions are described in the documentation for the SERCOS digitaldrive.

The minus sign (-) is used as a delimiter character between the individualparameters.

The parameter set number addresses the desired parameter set of thedrive. The parameter set number can have values from 0 to 7. BoschRexroth drives are equipped with four parameter sets which can beswitched during operation. One of the four parameter sets is alwaysactive – switching occurs due to a command from the controller. The drivegenerally works with the ID numbers of parameter set 0.

The pertaining drive datum can be addressed via the data block number.The data block number can range from 0 (also 0000) to 4095.

• The reading or writing of drive data using the "AXD command" shouldbe programmed in a separate NC block which does not contain anyother NC commands.

• The reading or writing of drive data using the "AXD command" alwaystakes place at the end of the NC block. In other words, the assignmentof a value to an NC variable into which the drive datum was read

Syntax

SERCOS ID number

Group letter

Parameter set number

Data block number

Page 124: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

10-2 Special NC Functions NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

cannot be used in the same NC block as the basis for deciding whethera conditional branch/jump is to be performed.

• When drive data is read or written using the "AXD" command, NCblock preprocessing is interrupted. Thus if tool path compensation(G41, G42) is active, it is considered to be finished. Likewise,"contouring mode (acceleration)" (G08) is no longer possible.

• A read drive datum can be assigned to only one variable, but not to anaddress letter. The assigning expression may consist of only the AXDcommand. No other operands or operators are permitted.

• When the AXD command is used to write drive data, the assignedexpression can be a formula or a constant.

Note: If drive parameters are to be changed using the AXDcommand, we recommend that you first save the driveparameter sets in case incorrect or critical values areaccidentally entered or programmed during NC programming.NC programs that contain AXD commands to modify driveparameters should have an Init part, which saves the driveparameters that are to be changed using AXD to, for example,NC variables or machine data pages; it resets the values tothe original settings after editing the program or in the homingprogram.

Example: NC program - AXD command

Activating friction torque compensation allows the compensation forposition deviations at circle quadrant transitions. In the example shownhere, the active gain factor is increased from 4 to 7.

NC program:

G00 G90 G54 G07 G08 X199 Y136 Z5 Start position

S5000 M03 Spindle ON

@50=AXD(X:S-0-0104) Read active gain factor for X axis

@51=AXD(Y:S-0-0104) Read active gain factor for Y axis

AXD(X:S-0-0104)=7*1000 New gain factor for the X axis

AXD(Y:S-0-0104)=7*1000 New gain factor for the Y axis

AXD(X:S-0-0155)=70 Friction torque compensation for X

AXD(Y:S-0-0155)=110 Friction torque compensation for Y

G01 Z-5 F1000 Lower cutter into material

G41 X199 Y141 F8000 Start point of circular machining

G03 X180 Y122 I199 J122 Starting circle

G01 X180 Y100 Transition element

G02 X180 Y100 I100 J100 Full circle ∅160

G01 X180 Y77 Transition element

G03 X198 Y59 I198 J77 Exiting circle

G00 Z5 Cutter to safety distance

AXD(X:S-0-0104)=@50 Old gain factor for the X axis

AXD(Y:S-0-0104)=@51 Old gain factor for the Y axis

AXD(X:S-0-0155)=0 Friction torque compensationOFF for X

AXD(Y:S-0-0155)=0 Friction torque compensationOFF for Y

RET Program end

Page 125: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Special NC Functions 10-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

����

������ ���� � ���������� ���

���� �������� ���� ����������� ����

����������� ��� ������

���� ������������� !!"

��������� �� ���� # ���$����%�� ��&� '

����(�!)��� �

����������� ����� ��������%�� ��&� '

����*+�����,� � � - �������������(�!)��� .

���� ������������# !!"���� �� ������� �� � �

����������� ��������������� ���������

��������%�� ��&� ' ��������%�� ��&� ' ��������%�� ��&� ' ��������%�� ��&� ' ��������%�� ��&� '

����*+�����,� � � - ���������

����������� �������������%�� ��&� '

���$����%�� ��&� '

���� �������� ��������������� ���������

11-1.FH7

Fig. 10-1: Friction torque compensation in quadrant transitions

��$� � ���/��0��/ ���

���� �����)&���'��,�

-�,���� �&�� ���'���,�1�/ ��� ������

���� ����&�� ���'��� !!"

���� ����&�� ���'��# !!"

112KREIS.FH7

Fig. 10-2: Circle sector for recording position variance

Page 126: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

10-4 Special NC Functions NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

10.2 Read/Write Zero Offset (ZO) Data from the NC Program"OTD"

The OTD command (Offset Table Data) can be used to read and writethe data in the zero offset table and the zero offsets which have beenactivated in the NC program from the NC program.

� �������������������������������������

���������������������������������

��������

���������� � !�"��#���

$%�&�'��(

113otd.FH7

Fig. 10-3: OTD command syntax

Designation Symbol Valuerange

CNC Meaning

NC memory(optional)

M 1 / 2 MTC200 1: NC memory A or 2: NC memory BIf the parameter is not declared, the active NC memory isaddressed.

Process(optional)

P 0..6 MTC200 If no process number is specified, the current process isaddressed.

Zero offset table(optional)

O 0..9 MTC200 If the parameter is not declared, the active zero offset tableis addressed.

Offset(optional)

V 0..9 MTC200TRANS200

0 = active offset 1 = value of G50/G51 offset 2 = value of G52/G51 offset 3 = general offset 4 = G54 value 5 = G55 value 6 = G56 value 7 = G57 value 8 = G58 value 9 = G59 valueIf the parameter is not defined, the active zero offset tableis addressed.

Axis A 1..10 MTC200TRANS200

1 = Value of axis X 2 = Value of axis Y 3 = Value of axis Z 4 = Value of axis U 5 = Value of axis V 6 = Value of axis W 7 = Value of axis A 8 = Value of axis B 9 = Value of axis C10 = Value of the turning angleThe axis parameter must be defined.The axis letter correlates with the axis meaning!

Syntax

Page 127: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Special NC Functions 10-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

A variable can be inserted instead of the constant.

• An arithmetic expression instead of a constant or variable is notpermitted.

• The optional parameters need not be specified.

• The commas that are used for delimiting the parameters must alwaysbe set.

Command OTD can not be used to write to the zero offset values forG50/G51, G52 and to the active zero offset value.

Example: NC program - reading ZO data

@20=OTD(,,,,1) Read total active X axis zero offset

.

X=OTD(,,,4,1) Traverse X-axis to the position which is located inthe zero offset table for G54

.

@70=G(4) Read G function of zero offset

@70=@70-50 Prepare value for the OTD command

.

@20=OTD(,,,@70,1) Read active X axis zero offset for the ZO entrycorresponding to the active G function (G52 - G59)

Example: NC program - writing ZO data

OTD(,,,4,1)=INT(X) assign the result of the specifiedcalculation to the X axis entry for theoffset corresponding to G54.

.

OTD(,,,4,1)=@20+OTD(,,,,1) Calculate the new X-axis zero offsetvalue corresponding to G54 from thecontents of the variable and the active X-axis zero offset.

Note: The read zero point data are machine coordinates.

General requirements for theMTD command

Page 128: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

10-6 Special NC Functions NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

10.3 Read/Write D Corrections from the NC Program "DCD"

With the DCD command, D corrections can be read and written from theNC program.

�2�3 4���"5 �����"5 ���6"7

���������������

�����

8 ���,��������

115dcd.FH7

Fig. 10-4: DCD command syntax

Designation Symbol Valuerange

CNC Meaning

Process P 0..6 MTC200 If no process number is specified, the current process isaddressed.

Storage S 1-99 1-30 MTC200TRANS200

If the parameter is not specified, the active memory isaddressed.

Value W 1..4 MTC200TRANS200

1 = Value for the length correction L1

2 = Value for the length correction L2

3 = Value for the length correction L3

4 = Value for the radius correction R

• A variable can be inserted instead of a constant.

• An arithmetic expression instead of a constant or variable is notpermitted.

• The optional parameters do not need to be specified.

• The commas that are used for delimiting the parameters must alwaysbe set.

The declared parameters must lie within the given value range. The CNCchecks their validity first during operation. The CNC interrupts theprogram execution and issues an error message if a declared parameterlies outside of the valid value range.

Example:

@22=DCD(,3,4) Variable 22 contains the radius compensationvalue R of D magazine 3.

DCD(1,2,1)=Z-10 Value "Z-10" is written to the length compensationvalue L1 of D magazine 2 of process 1.

DCD(,,3)=DCD(,,3)+1 The value L3 of the active D magazine and of theactive process is increased by 1.

Syntax

General requirements for theDCD command

Verifications during access

Page 129: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Special NC Functions 10-7

DOK-TRA200-NC**PRO*V23-AW01-EN-P

10.4 Possible Allocations Between AXD, OTD, DCD

Various limitations must be observed when handling AXD, OTD and DCDcommands.

Handling AXD Commands

AXD(X:P-7-3616)=@20

AXD(X:P-7-3616)=@20+@21+@22

@20=AXD(X:P-7-3616)

@20=AXD(X:P-7-3616) @21=AXD(X:P-7-3616)

@20=(AXD(X:P-7-3616)+@21)+@22

AXD(X:P-7-3616)=1000 AXD(X:P-7-3616)=1

AXD(X:P-7-3616)=AXD(X:P-7-3616)

Note: Only one AXD command may be written for each NC block.

Multiple AXD allocations per line are not permitted.

AXD commands in parentheses are not permitted.

Handling OTD Commands

@20=OTD(,,,4,1)

OTD(,,,4,1)=@21

OTD(,,,4,1)=@20+@21+@22

@20=OTD(,,,4,1)+OTD(,,,4,1)

@20=OTD(,,,4,1)+OTD(,,,4,1)+OTD(,,,4,1)

@20=OTD(,,,4,1) @210OTD(,,,4,1) @22=OTD(,,,4,1)

OTD(,,,4,1)=OTD(,,,5,1)

OTD(,,,4,1)=OTD(,,,5,1)+OTD(,,,5,1)

OTD(,,,4,1)=@10 OTD(,,,5,1)=@21 OTD(,,,6,1)=@22

@20=(OTD(,,,4,1)+@21)+@22

Note: Using command OTD, any number of data elements can beread out from the zero point table within an NC block, but onlyone data element can be written.

OTD commands in parentheses are not permitted.

Possible allocations - examples

Invalid allocations - examples

Possible allocations - examples

Invalid allocations - examples

Page 130: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

10-8 Special NC Functions NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Handling DCD Commands

@20=DCD(,,1)

DCD(,,1)=@21

DCD(,,1)=@20+@21+@22

@20=DCD(,,1)+DCD(,,1)

@20=DCD(,,1)+DCD(,,1)+DCD(,,1)

@20=DCD(,,1) @21=DCD(,,1) @22=DCD(,,1)

DCD(,1,1)=DCD(,2,1)

DCD(,,1)=DCD(,,1)+DCD(,,1)

DCD(,,1)=@20 DCD(,,2)=@21 DCD(,,3)=@22

@20=(DCD(,,1)+@21)+@22

Note: Using the DCD command, any number of D corrections of themachine data can be read within one NC block, but only one Dcorrection can be written.

DCD commands in parentheses are not permitted.

Allocations Between AXD, OTD and DCD Commands

AXD(X:P-7-3616)=MTD(110,1,1,1)+MTD(110,1,1,1)

AXD(X:P-7-3616)=OTD(,,,4,1)+OTD(,,,4,1)

AXD(X:P-7-3616)=TLD(,1,1,,0,6,)+TLD(,1,1,,0,6,)

AXD (X:P-7-3616)=DCD(,,1)+DCD(,,1)

OTD(,,,4,1)=AXD(X:P-7-3616)

DCD(,,1)=AXD(X:P-7-3616)

Note: The restrictions for the individual commands must beobserved when allocations are made between the AXD, OTDand DCD commands.

Possible allocations - examples

Invalid allocations - examples

Possible allocations - examples

Invalid allocations - examples

Page 131: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction NC Programming Practices 11-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

11 NC Programming Practices

11.1 Time-Optimized NC Programming

The following rules will help to ensure that the CNC operates at itsmaximum performance level.

Note: Whatever can be programmed in a single NC block in terms ofsyntax should be in fact be programmed in a single NC block,provided it does not violate program flow logic.

• Branch Label (e.g. .HOME)

• Motion functions (1 function each from 16 groups)

• Assigning a value to a NC variable (repeatedly) (e.g. @12=3)

• Assignment of value to a drive date (e.g. AXD(X:S-0-0405)=3)

• Position statement (one position statement for each axis){X,Y,Z,U,V,W,A,B,C}

• Interpolation parameters I

• Interpolation parameters J

• Interpolation parameters K

• F word

• S word ∈ {S,S1,S2,S3}

• P word

• M auxiliary functions (1 function each from 16 groups)

• Wait until NC event is set (WES)

• Wait until NC event is reset (WER)

• Program control command

• Note

• Comment

Example: NC program

G00S5000M03F10000 X100 Y50

Time-optimized, spindle starts after movement:G00 X100 Y50 F10000 S5000 M03

Time optimized, spindle starts before movement:M03 S5000G00 X100 Y50 F10000

What can be programmed in anNC block?

Page 132: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

11-2 NC Programming Practices NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

The priority to process an NC block in the NC memory is defined asfollows:

Blocknumbers

Branchlabel

G codes Variables Axisvalues

IPO para-meter

F Value Svalue

Auxil.function

Programcomm-ands

N1234 .END G01 @20=x X100Y100

I0J50

F1000 S800 M403 HLT

• While all of the above NC commands can, in theory, be programmedin a single NC block, the maximum block length is limited to 240characters.

• While auxiliary M functions can be used from all 16 groups, no morethan four auxiliary functions (S words, M words) can be programmedin a single NC block.

Note: Avoid repeating functions (G codes), which are already active.Remember which functions are modally active as aconsequence of the power-on status.

Example: NC program

G07 G09 G40 G43 G47 G53 G62 G90 G94(ON states)

G00 G90 S5000 M03 F10000 X100 Y50

G00 G90 F10000 X200 Y50

G01 G90 F10000 Y100

Time-optimized:

G00 X100 Y50 F10000 S5000 M03

X200

G01 Y100

Note: Calculate all constants when you create the program, andassign these constants without using equal signs.

Notes: Avoid using NC commands that stop NC block processes.Avoid using the formula assistant interpreter!

Example:

S2 = 1400

Time-optimized:S2 1400

Page 133: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction NC Programming Practices 11-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

• Movement conditions

∈ { G50 - G59, G63, G64, G74, G75, }

• Assigning values to NC variables or drive datum

• Calculating a mathematical expression

• Auxiliary functions (S word, M word)

• Wait until NC event is set/reset (WES, WER)

• Wait until main spindle has reached target position (MW19)

• Process control commands

• Program Control Commands

∈ {BST, BES, BER, RET, BRF, HLT, JEV, BEV, CEV}

• Process control commands:

RTS, BRA, BSR, REV, BEQ, BNE, BPL, BMI do not stop blockprocess preparation.

CNC time data Time data with digital drives

• Block cycle time 6 ms

• Block transition time 0 ms

• Interpolation cycle time2 ms

• Position control cycle time2 ms

• Fine interpolation 0.25 ms

• Position control cycle time0.25 ms

NC commands that stop blockpreparation

Page 134: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

11-4 NC Programming Practices NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Page 135: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Appendix 12-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

12 Appendix

12.1 Table of G Code Groups

G Function G Code Group Active Meaning

G00, G01, G02, G03 1 modal Interpolation functions

G17, G18, G19 2 modal Plane Selection

G40, G41, G42 3 modal Tool path compensation

G52 to G59 4 modal Zero offsets

G90, G91 6 modal Measurements

G43, G44 10 modal Transition elements

G61, G62 11 modal Block change

G47, G48, G49 13 modal Tool length compensation

G08, G09 14 modal Block transition speed

G06, G07 15 modal Drag error ON/OFF

G04G50, G51G63, G64G74G75, G76

16 blockwise Dwell timeProgrammed zero point offsetTapping without a compensating chuckHomingFeed to positive stop

G68, G69 20 modal Adaptive depth

G36, G37, G38 21 modal Rotary axis approach logic

G25, G26 22 modal Adaptive feed control

G10, G11 23 modal Rounding of NC blocks with axis filter

The G functions which are blockwise active can be read only in the blockin which they are programmed. Otherwise a value of -1 is issued when theblockwise active G functions are read.

Page 136: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

12-2 Appendix NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

12.2 Table of M Function Groups

M function M Function Group Active Meaning

M3, M4, M5 2 modal Spindle Commands S

M103, M104, M105 2 modal Spindle Commands Spindle 1

M203, M204, M205 3 modal Spindle Commands Spindle 2

M303, M304, M305 4 modal Spindle Commands Spindle 3

M400, M401, M402, M403 5 modal Auxiliary functions 400-403

M404, M405, M406, M407 6 modal Auxiliary functions 404-407

M408, M409, M410, M411 7 modal Auxiliary functions 408-411

M412, M413, M414, M415 8 modal Auxiliary functions 412-415

M416, M417, M418, M419 9 modal Auxiliary functions 416-419

M420, M421, M422, M423 10 modal Auxiliary functions 420-423

M424, M425, M426, M427 14 modal Auxiliary functions 424-427

M428, M429, M430, M431 15 modal Auxiliary functions 428-431

M19, M119, M219, M319 16 blockwise Spindle positioning

The M functions which are blockwise active can only be read in the blockin which they are programmed. Otherwise a value of -1 is issued when theblockwise active M functions are read.

12.3 Table of Functions

* Default state

P Default can be defined in process parameters

S Blockwise active

Legend for column "Function"

Page 137: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Appendix 12-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

I. G00 through G19Fehler! Textmarke nicht definiert.

Function G Group Meaning Description Page

G00P

1 Lin. interpolation,rapid traverse* modal

Syntax: G00; The programmed coordinates are traversed at maximum pathvelocity.

4-16

G01P

1 Lin. interpolationfeed* modal

Syntax: G01 F value; The programmed axes start and reach their end point together.

4-17

G02 1 Circular interpol.,clockwise,* modal

Syntax: G02 <end point> <interpolation parameter [I,J,K]> or<radius [R]>; A circular movement is performed in the selected plane (G17,G18, G19).

4-19

G03 1 Circular interpol.,counterclockwise* modal

Syntax: G03 <end point> <interpolation parameter [I,J,K]> or<radius [R]>; A circular movement is performed in the selected plane (G17,G18, G19).

4-19

G04P

16 Dwell time* blockwise

Syntax: G04 F<time in seconds>; The maximum dwell time is 99999.99 seconds.

4-31

G06 15 Interpol. w.minimized lag* modal

Syntax: G06 ; Algorithm for positioning with minimized lag for allaxis movements. Block transitions are not rounded.

4-2

G07*

15 Interpol. w. lag* basic position* modal

Syntax: G07 ; Algorithm for positioning with lag for all axismovements. Block transitions which are not tangential will berounded.

4-6

G08 14 Speed limited NCblock transition* modal

Syntax: G08; The interpolation function G08 is used to adjust the final endspeed to ensure that the transition to the next NC block occurs atthe highest possible speed.

4-8

G09*

14 Speed limited NCblock transition* basic position ,* modal

Syntax: G09; G09 reduces position differences at block transitions.

4-10

G10*

23 Disable roundingof NC blocks withaxis filter* basic setting* modal

Syntax: G10; disables rounding mode. Programming of ’RDI=0’ automaticallyenables G code G10.

4-40

G11 23 Enable roundingof NC blocks withaxis filter* modal

Syntax: G11; enables rounding mode. The last programmed roundingdistance RDI is effective. With a current rounding distance of 0,G11 does not take effect.

4-40

G17P

2 Plane selectionXY* modal

Syntax: G17; The machine builder sets the default plane in the processparameters.

3-15

G18P

2 Plane selectionZX* modal

Syntax: G18; The machine builder sets the default plane in the processparameters.

3-15

G19P

2 Plane selectionYZ* modal

Syntax: G19; The machine builder sets the default plane in the processparameters.

3-15

Page 138: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

12-4 Appendix NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

II. G25 to G38

Function G Group Meaning Description Page

G25 22 Adaptive feedOFF* basic setting

Syntax: G25Adaptive feed control is deactivated.

4-34

G26 22 Adaptive feedON* basic setting

Syntax: G26Adaptive feed control is activated.

4-34

G36P

21 Start-up logic forendlessly rotatingrotary axes* modal

Syntax: G36; Positioning with modulo calculation “shortest distance”.Modulo calculation can be used only with absoluteprogramming (G90).

4-38

G37P

21 Start-up logic forendlessly rotatingrotary axes* modal

Syntax: G37; Positioning with modulo calculation "positive direction".Modulo calculation can be used only with absoluteprogramming (G90).

4-38

G38P

21 Start-up logic forendlessly rotatingrotary axes* modal

Syntax: G38; Positioning with modulo calculation "negative direction".Modulo calculation can be used only with absoluteprogramming (G90).

4-38

Page 139: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Appendix 12-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

III. G40 to G59

Function G Group Meaning Description Page

G40*

3 Cancel tool pathcompensation* basic setting* modal

Syntax: G40; If an active tool path compensation is canceled, the nextmove which is expected is a linear move lying in the plane.

5-11

G41 3 Tool pathcompensation, left* modal

Syntax: G41; If G42 is programmed after an active G40 or G41, the nextanticipated movement is a linear movement in the processplane.

5-12

G42 3 Tool path comp-ensation, right* modal

Syntax: G42; If G41 is programmed after an active G40 or G42, the nextanticipated movement is a linear movement in the processplane.

5-12

G43*

10 Insert transitionelement "arc"* basic setting,* modal

Syntax: G43 ; When tool path compensation is active (G41or G42) G43 inserts an arc as the contour transition elementfor outside corners.

5-14

G44 10 Insert transitionelement "chamfer"* modal

Syntax: G44 When G41 or G42 is active, a chamfer is in-serted as the contour transition with outside corners whosetransition angle exceeds 90°.

5-14

G47P

13 No tool lengthcompensation* basic setting* modal

Syntax: G47 ; When movements are being performed in thedirection of the tool, all position data relates to the position ofspindle nose.

5-17

G48P

13 Tool length comp-ensation positive* modal

Syntax: G48 ; The entered tool length is corrected in the di-rection of the main axes when the axis direction is positive.

5-17

G49 13 Tool length comp-ensation negative* modal

Syntax: G49 ; The entered tool length is corrected in the di-rection of the main axes in the negative axis direction.

5-17

G50S

16 Programmableabsolute zerooffset* blockwise

Syntax: G50 <axis designation(s)><coordinate value(s)>; Absolute offset of the machining zero point by the valueprogrammed using G50 under the address letter for the axis.

3-11

G51S

16 Programmableincremental zerooffset* blockwise

Syntax: G51 <axis designation(s)><coordinate value(s)>; Incremental offset of the machining zero point by the valueprogrammed using G50 under the address letter for the axis.

3-11

G52 4 Programmablezero point ofworkpiece* modal

Syntax: G52 <axis designation(s)><coordinate value(s)>; A workpiece zero point is programmed using the valuespecified at the axis address. All zero offsets which arealready active are canceled.

3-12

G53P

4 Cancel zero offsets* basic setting* modal

Syntax: G53; Switch from workpiece coordinate system to machinecoordinate system.

3-13

G54 - G59 4 Adjustable zerooffsets* modal

Syntax: G54-G59; offsets are entered via the user interface. G54 - G59 iscancelled by G52 or G53.

3-9

Page 140: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

12-6 Appendix NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

IV. G61 to G76

Function G Group Meaning Description Page

G61 11 Exact stop* modal

Syntax: G61 ; the programmed target position is traveled towithin a specified exact stop limit.

4-12

G62*

11 Rapid NC blocktransition* basic setting* modal

Syntax: G62 ; sudden contour changes and non-tangentialtransitions are rounded off by programming G62.

4-14

G63S

16 Rigid tapping* blockwise

Syntax: G63 <end point> <feed per spindle revolution [F]>; With G63, the spindle will stop at the end of movement.

4-25

G64S

16 Rigid tapping* blockwise

Syntax: G64 <end point> <feed per spindle revolution [F]>; With G64, the spindle continues to rotate at the end of themovement.

4-25

G68 20 Switch to 1st

encoder systemSyntax: G68 <[axis designation] [coordinate value = 0]><feed>;Switch to 1st

encoder system (e.g. motor encoder)

3-19

G69 20 Switch to 2nd

encoder systemSyntax: G69 <[axis designation] [coordinate value = 0]><feed>;Switch to 2nd

encoder system

3-19

G74S

16 Axis homingcycle* blockwise

Syntax: G74 <axis name> <coordinate value=0> <feed>; G74 activates G40, G47, G53, G90, G94

3-16

G75S

16 Feed to positivestop* blockwise

Syntax: G75 <axis name> <coordinate value=0> <feed>; G75 is possible with G90 or G91.

3-17

G76S

16 Cancel all axispreloads* blockwise

Syntax: G76; G76 cancels the axis pre-loads on all axes which are pre-loaded using G75 traverse to fixed stop.

3-19

V. G90 through G91

Function G Group Meaning Description Page

G90*

6 Input data asabsolutedimensions* basic setting* modal

Syntax: G90; All dimensions are input relative to a specified zero point.

3-3

G91 6 Input data as in-cremental values* modal

Syntax: G91; All subsequent dimension entries are stated as the differencein relation to the start/stop position.

3-4

Page 141: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Appendix 12-7

DOK-TRA200-NC**PRO*V23-AW01-EN-P

VI. AXD to BST

Function Meaning Description Page

AXD Data exchangewith digital drives

Syntax:AXD(<axis name>: <SERCOS ID number>)AXD(<axis number>: <SERCOS ID number>); Read and write drive data using the SERCOS.

10-1

BEQ Branch if result isequal to zero

Syntax: BEQ <label>; The program continues execution if the last result is equal to zero.

8-6

BER Branch if NCevent is reset

Syntax: BER <branch label> <process number>: <event number>; The program continues execution at the specified branch label if an eventis reset.

8-6

BES Branch if NCevent is set

Syntax: BES <branch label> <process number>: <event number>; The program continues execution at the specified branch label if an eventis set.

7-2;8-6

BEV Branch on NCevent to NC sub-routine (interrupt)

Syntax: BEV <label>: <event number>; NC event monitoring is activated after executing the NC command BEV. Ifthe NC event assumes a status of 1, NC program execution continues atthe NC block with the defined branch label.

7-4

BMI Branch if result isless than zero

Syntax: BMI <branch label>; The program continues execution at the specified branch label if the lastresult is less than zero.

8-7

BNE Branch if result isnot equal to zero

Syntax: BNE <label>; The program continues execution if the last result is not equal to zero.

8-6

BPL Branch if result isequal to orgreater than zero

Syntax: BPL <branch label>; The program continues execution at the specified branch label if the lastresult is equal to or greater than zero.

8-6

BRA Branch absolute Syntax: BRA <branch label>; Program execution continues at the NC block with the specified branchlabel.

8-1

BRF Branch duringreference

Syntax: BRF <branch label>; Program execution continues at the NC block with the specified branchlabel if all process axes are referenced (homed).

8-6

BSR Branch to NCsubroutine

Syntax: BSR <branch label>; Program execution continues at the NC block with the branch labelspecified in the command parameter.

8-3

BST Branch with stop Syntax: BST <branch label>; The NC program branches to the defined label; the default states are set.

8-1

Page 142: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

12-8 Appendix NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

VII. CEV to WES

Function Meaning Description Page

CEV Cancel eventmonitoring(interrupt)

Syntax: CEV <event number>; Active event monitoring (BEV, JEV) is canceled.

7-4

D Selecting aD correction*modal

Syntax: D<D correction number[0-99]>; D 1-99 Selection of an additive tool geometry shift if G48/G49 or

G41/G42 is active. D0 D0 cancels active D correction offsets.

5-17

DCD Access to Dcorrections fromNC program

Syntax: DCD([process],[memory], [value] 10-6

HLT Programmed halt Syntax: HLT; Interrupts NC program execution; the process waits for a new start signal.

8-1

JEV Jump if NC eventis set (interrupt)

Syntax: JEV <branch label> <event number>; NC event monitoring is activated after executing the NC command JEV. Ifthe NC event assumes a status of 1, NC program execution continues atthe NC block with the defined branch label.

7-4

OTD Read/write offsettable data

Syntax: OTD([NC memory],[process],[offset table], [offset],[axis]) 10-4

P Active planerotation onlytogether withG50, G51, G54 -G59

Syntax: G50-G51 P<angle>; Interpolation plane rotation. Becomes active in the next NC block.

3-11

RDI Maximumrounding distance

Syntax: RDI <rounding distance>; The maximum distance to the programmed data point for the start of therounding process.

4-40

RET Program end withreset

Syntax: RET; The NC program jumps to the first NC block, and activates the defaults.

8-1

REV Set reversevector

Syntax: REV <label>; The defined label identifies the NC block where NC program executioncontinues when the reverse NC program is started.

8-4

RTS Return fromsubroutine

Syntax: RTS; Return to the NC program; the process is continued starting with thefollowing block.

8-3

SPF Select mainspindle* modal

Syntax: SPF <spindle number>; SPF selects the main spindle for G33, G63/G64, G65, G95 and G96.

4-38

WER Wait until NCevent is reset

Syntax: WER <process number>: <event number>; Program processing is interrupted until the event is reset.

7-2

WES Wait until NCevent is set

Syntax: WES <process number>: <event number>; Program processing is interrupted until the event is set.

7-2

Page 143: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Index 13-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

13 Index

AABS 9-6Absolute value function 9-6Acceleration filter 4-41Activating and canceling tool path compensation

Canceling tool path compensation 'G40' 5-11Inserting a 'chamfer' transition element 'G44' 5-14Inserting transition element 'arc' 'G43' 5-14Tool path compensation, left 'G41' 5-12Tool path compensation, right 'G42' 5-12

Adaptive feed control 4-35Address label

I, J, K 9-2Address letter

ACC 9-2D 9-2F 9-2P 9-2R 9-2S 4-38, 6-3S, S[1-3] 9-2

Adjustable zero offset - G59 3-7Adjustable zero offsets - G54 3-7Angle of rotation P See Zero offsetsAPR Sercos parameters 10-1

Data exchange with digital drives ‘AXD’ 10-1Data address 10-1Data block number 10-1Group letter 10-1Parameter set number 10-1SERCOS ID number 10-1

Auxiliary functions ‘M’ 6-1Spindle control commands 6-3

Spindle stop Mx05 6-3Spindle positioning 6-3

Available addresses 2-6Address letters 2-6

AXD command 10-1Axes 4-1

Linear and rotary auxiliary axes 4-2Linear main axes 4-1Rotary main axes 4-1

Axis filter, two-step 4-41Restrictions 4-43

Axis parameters 1-2

BBEQ branch command 8-6BER branch command 8-6BES branch command 7-2, 8-6BEV command 7-3BMI branch command 8-7BNE branch command 8-6BPL branch command 8-6BRA branch command 8-1Branches depending on arithmetic results

Branch If Equal to Zero 'BEQ' 8-6Branch If Greater Than or Equal to Zero 'BPL' 8-6Branch If Less Than Zero 'BMI' 8-7Branch If Not Equal to Zero 'BNE' 8-6

Branches Depending on Arithmetic Results 8-6BRF branch command 8-6BSR command 8-3BST command 8-1

Page 144: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

13-2 Index NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

CCanceling tool path compensation 'G40' See Activating and Canceling Tool PathCompensationCartesian coordinate system See Coordinate systemCEV 7-4Combined circular and linear interpolation See Interpolation Functions - HelicalInterpolationConditional branches 8-6

Branch if NC Event is Reset 'BER' 8-6Branch if NC Event is Set 'BES' 8-6Branch upon Reference 'BRF' 8-6

Control software 1-1Coordinate system 3-1

DD corrections 1-2, 5-17

Use 5-18Dimensions

Absolute dimension entry ‘G90’ 3-3Incremental dimension entry ‘G91’ 3-4

DIN 66025Deviation from standard with G00 4-43

Dwell time 'G04' See Feed

EElements of a NC Block 2-2Events

Asynchronous handling of NC eventsCall Subroutine if Event is Set 'BEV' 7-3Cancel NC Event Monitoring 'CEV' 7-4Program Branching if NC Event is Set 'JEV' 7-4

Conditional branches for events 7-2Branch if NC Event is Set 'BES' 7-2

Influencing eventsWait until NC Event is Reset 'WER' 7-2Wait until NC Event is Set 'WES' 7-2

Interrupting NC events 7-3Exact stop 4-43Exact stop limit See Interpolation conditions – exact stop limit'G61'

FF word See FeedFeed 4-31

Axis velocity 4-33Dwell time 'G04' 4-32F word 4-31Programmed path velocity (F) 4-33

For thread cutting 4-33With RZ 4-34Without RZ 4-34

Feed control 4-35Feed to positive stop 3-16

Cancel all axis preloads G76 3-19Feed to positive stop G75 3-17

GG00 4-16G01 4-17G02 4-19G03 4-19G04 4-32G06 4-2G07 4-6G08 4-8G09 4-10

Page 145: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Index 13-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

G10 4-41, 4-42G11 4-41, 4-42G17 plane selection XY 3-15G18 plane selection ZX 3-15G19 plane selection YZ 3-15G36 4-39G37 4-39G38 4-39G40 5-11G41 5-12G42 5-12G43 5-14G44 5-14G47 5-16G48 5-17G49 5-17G50 3-7G50 absolute 3-11G51 3-7G51 incremental 3-11G52 3-7, 3-12G53 3-13G54 3-7G54 - G59 3-9G59 3-7G61 4-43G61 – Exact stop 4-12G62 - Rapid NC Block Transition 4-14G63 - Spindle stops at the end of movement 4-26G64 - Spindle continues rotating after the end of motion 4-26G74 3-16G75 3-17G76 3-19G90 3-3G91 3-4Go to axes reference point ‘G74’ 3-16

HHelical interpolation See Interpolation FunctionsHLT command 8-1

IInclined axis 4-37Inserting a chamfer transition element 'G44' See Activating and canceling toolpath compensationInserting an arc transition element 'G43' See Activating and Canceling Tool PathCompensationINT 9-6INT function 9-6Interpolation conditions 4-2Interpolation functions 4-16

Circular interpolation 'G02' / 'G03'Circle radius programming 4-22

Defining the arc 4-22Circle radius programming in the Z-X plane 4-23Clockwise 'G02' 4-19Counterclockwise 'G03' 4-19Interpolation parameters I, J, K 4-20

Fullcircle in the X-Y plane with G90 4-21Helical interpolation 4-24

In the X-Y plane with G90 4-24In the X-Y plane with G91 4-25

Linear interpolation, feed 'G01'With 2 axes 4-18With 3 axes 4-18

Tapping 'G63' / 'G64’Tapping with ‘G63’ 4-28Tapping with G63 and G64 4-29

Page 146: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

13-4 Index NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Tapping 'G65' - spindle as master axis 4-31Tapping without compensating chuck 'G63' / 'G64' 4-26

JJerk filter 4-41JEV command 7-4

LLinear and rotary auxiliary axes See AxesLinear Main Axes 4-1

MM functions 6-1M19 S... 6-3Machine parameter

Bxx.034 Time constant for acceleration 4-41Cxx.018 Maximumacceleration 4-41

Mathematical expressions 9-4Functions 9-6

Absolute value - ABS 9-6Integer - INT 9-6Power to base - E^ 9-6Power to base 10 - 10^ 9-6Power to base 2 - 2^ 9-7Time in seconds - TIME 9-7

Operands 9-5Constants 9-5

Floating-point constants 9-5System constants 9-5

Operators 9-6Addition + 9-6Division / 9-6Multiplication 9-6Remainder integer whole division (modulo) % 9-6Subtraction - 9-6

Parentheses 9-6Measurements 3-3Motion Blocks 4-1Motion commands

Coordinate value 3-2Motion Commands 3-2Motion sequence 4-41, 4-42Mx05 6-3

NNC events 1-2NC program 1-2NC programming 11-1NC variable 1-2NC word 2-3

Address letter 2-3Numerical value 2-3

OOffsets 3-5OTD command 3-14, 10-3

PP 3-10Parameters 1-2PHI 3-10Plane Selection 3-14Possible allocations between AXD, OTD, TLD, MTD

Page 147: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Index 13-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Allocations between AXD, OTD, TLD, DCD and MTD commandsInvalid allocations 10-8

Possible allocations between AXD, OTD, TLD, MTD, DCD 10-7Allocations between AXD, OTD, TLD and MTD commands 10-8Handling AXD commands

Illegal allocations 10-7Possible allocations 10-7

Handling DCD commandsIllegal allocations 10-8Possible allocations 10-8

Handling OTD commandsIllegal allocations 10-7Possible allocations 10-7

Process parameter 1-2Program control commands 8-1

Branch Absolute 'BRA' 8-1Branch with Stop 'BST' 8-1Program End with Reset 'RET' 8-1Programmed Halt 'HLT' 8-1

Program organizationAdvance program 2-1Reverse program 2-1

Program structure 2-1Programmable absolute zero offset - G50 3-7Programmable incremental zero offset - G51 3-7Programmable work piece zero point - G52 3-7

RRDI 4-41, 4-42, 9-4Read/write D corrections from the NC program 'DCD' 10-6Read/write zero offset data from the NC program 'OTD'

General requirements 10-4Reading and writing ZO data to/from the NC program ‘OTD’ 10-3Reverse vectors 8-4

Set reverse vector 'REV' 8-4Clear reverse vectors by control-reset 8-5

Right-hand rule 3-1Rotary axis programming

Approach logic for endlessly rotating rotary axesModulo calculation

Negative direction ‘G38’ 4-40Positive direction ‘G37’ 4-40Shortest path ‘G36’ 4-39

Rotary axis start-up logicModulo calculation 4-39

Rotary main axes 4-1 See AxesRound distance RDI 4-41, 9-4Rounding of NC blocks with axis filter

Enabling/disabling 4-42, 9-4Rounding within a motion sequence 4-42

Rounding of NC blocks with axis filter G11 / RDI 4-41RTS command 8-3

SS 4-38S word for the spindle speed specification See Spindle SpeedSelect main spindle 'SPF' See Spindle SpeedSPF <spindle number> 4-39Spindle speed 4-38

S word for the spindle speed specification 4-38Select main spindle 'SPF' 4-39

Subroutines 8-1Return from NC Subroutine 'RTS' 8-3Subroutine Call 'BSR' 8-3Subroutine nesting 8-2Subroutine structure 8-2Subroutine technique 8-1

System parameters 1-2

Page 148: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

13-6 Index NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

TTapping 4-31Tapping 'G65' See Interpolation FunctionsTapping without compensating chuck 'G63' / 'G64' See Interpolation FunctionsTIME 9-7TIME function 9-7Time-optimized NC programming 11-1

CNC time data 11-3Priorities 11-2Programming in the NC block 11-1Stopping block preparation by NC commands 11-3Time data with digital drives 11-3

Tool length compensationActive tool length compensation 5-16Inactive tool length compensation 5-16No tool length compensation 'G47' 5-16

Tool length correction 5-16Tool length correction, negative 'G49' 5-17Tool length correction, positive 'G48' 5-17

Tool path compensation 5-1Active tool path compensation 5-2Change in direction of compensation 5-11Contour transitions

Inside corners 5-3Outside corners 5-3

Insertion of arc as transition element with G43 5-3Insertion of chamfer as transition element with G44 5-3

Establishment of tool path compensation at start of contour 5-7Inactive tool path compensation 5-1Removal of tool path compensation at end of contour 5-9

Tool path compensation, left 'G41' See Activating and Canceling Tool PathCompensationTool path compensation, right 'G42' See Activating and Canceling Tool PathCompensation

VVariable Assignments and Arithmetic Functions 9-1Variables 9-1

Data representation 9-1Negating the contents of a variable 9-1Variable assignment 9-2

Angle 9-2Angle of rotation ‘P’ 9-2Starting angle ‘P’ 9-2

Coordinate values of existing axes 9-2D correction 9-2Feed rate 9-2G functions 9-3Interpolation parameters 9-2M functions 9-3Radius 9-2Spindle speed 9-2

WWER command 7-2WES 7-2Work piece zero point, programmable - G52 3-7

ZZero offset, absolute 3-7Zero offset, adjustable - G59 3-7Zero offset, incremental 3-7Zero offsets 3-7

Adjustable general offset in the zero offset table 3-14Adjustable zero offsets ‘G54 - G59’ 3-9Cancel zero offsets 'G53' 3-13

Page 149: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Index 13-7

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Coordinate rotation with angle of rotation 'P' 3-10Programmable absolute zero offset 'G50' 3-11Programmable incremental zero offset 'G51' 3-11Programmable zero point of workpiece 'G52' 3-12Read/write zero offset data from NC program via ‘OTD’ 3-14Sum of zero offsets 3-8

Zero offsets, adjustable - G54 3-7Zero points

Machine reference point 3-5Machine zero point 3-5Workpiece zero point 3-5

Page 150: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

13-8 Index NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Page 151: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Service & Support 14-1

DOK-TRA200-NC**PRO*V23-AW01-EN-P

14 Service & Support

14.1 Helpdesk

Unser Kundendienst-Helpdesk im Hauptwerk Lohram Main steht Ihnen mit Rat und Tat zur Seite.Sie erreichen uns

Our service helpdesk at our headquarters in Lohr amMain, Germany can assist you in all kinds of inquiries.Contact us

- telefonisch - by phone: 49 (0) 9352 40 50 60über Service Call Entry Center Mo-Fr 07:00-18:00- via Service Call Entry Center Mo-Fr 7:00 am - 6:00 pm

- per Fax - by fax: +49 (0) 9352 40 49 41

- per e-Mail - by e-mail: [email protected]

14.2 Service-Hotline

Außerhalb der Helpdesk-Zeiten ist der Servicedirekt ansprechbar unter

After helpdesk hours, contact our servicedepartment directly at

+49 (0) 171 333 88 26

oder - or +49 (0) 172 660 04 06

14.3 Internet

Unter www.boschrexroth.com finden Sieergänzende Hinweise zu Service, Reparatur undTraining sowie die aktuellen Adressen *) unsererauf den folgenden Seiten aufgeführten Vertriebs-und Servicebüros.

Verkaufsniederlassungen

Niederlassungen mit Kundendienst

Außerhalb Deutschlands nehmen Sie bitte zuerst Kontakt mitunserem für Sie nächstgelegenen Ansprechpartner auf.

*) Die Angaben in der vorliegenden Dokumentation könnenseit Drucklegung überholt sein.

At www.boschrexroth.com you may findadditional notes about service, repairs and trainingin the Internet, as well as the actual addresses *)of our sales- and service facilities figuring on thefollowing pages.

sales agencies

offices providing service

Please contact our sales / service office in your area first.

*) Data in the present documentation may have becomeobsolete since printing.

14.4 Vor der Kontaktaufnahme... - Before contacting us...

Wir können Ihnen schnell und effizient helfen wennSie folgende Informationen bereithalten:

1. detaillierte Beschreibung der Störung und derUmstände.

2. Angaben auf dem Typenschild derbetreffenden Produkte, insbesondereTypenschlüssel und Seriennummern.

3. Tel.-/Faxnummern und e-Mail-Adresse, unterdenen Sie für Rückfragen zu erreichen sind.

For quick and efficient help, please have thefollowing information ready:

1. Detailed description of the failure andcircumstances.

2. Information on the type plate of the affectedproducts, especially type codes and serialnumbers.

3. Your phone/fax numbers and e-mail address,so we can contact you in case of questions.

Page 152: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

14-2 Service & Support NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

14.5 Kundenbetreuungsstellen - Sales & Service Facilities

Deutschland – Germany vom Ausland: (0) nach Landeskennziffer weglassen!from abroad: don’t dial (0) after country code!

Vertriebsgebiet Mitte Germany Centre

Rexroth Indramat GmbHBgm.-Dr.-Nebel-Str. 2 / Postf. 135797816 Lohr am Main / 97803 Lohr

Kompetenz-Zentrum Europa

Tel.: +49 (0)9352 40-0Fax: +49 (0)9352 40-4885

S E R V I C E

C A L L E N T R Y C E N T E RMO – FR

von 07:00 - 18:00 Uhr

from 7 am – 6 pm

Tel. +49 (0) 9352 40 50 [email protected]

S E R V I C E

H O T L IN EMO – FR

von 17:00 - 07:00 Uhrfrom 5 pm - 7 am

+ SA / SOTel.: +49 (0)172 660 04 06

o d er / orTel.: +49 (0)171 333 88 26

S E R V I C E

ERSATZTEILE / SPARESverlängerte Ansprechzeit- extended office time -

♦ nur an Werktagen- only on working days -

♦ von 07:00 - 18:00 Uhr- from 7 am - 6 pm -

Tel. +49 (0) 9352 40 42 22

Vertriebsgebiet Süd Germany South

Bosch Rexroth AGLandshuter Allee 8-1080637 München

Tel.: +49 (0)89 127 14-0Fax: +49 (0)89 127 14-490

Vertriebsgebiet West Germany West

Bosch Rexroth AGRegionalzentrum WestBorsigstrasse 1540880 Ratingen

Tel.: +49 (0)2102 409-0Fax: +49 (0)2102 409-406

+49 (0)2102 409-430

Gebiet Südwest Germany South-West

Bosch Rexroth AGService-Regionalzentrum Süd-WestSiemensstr.170736 Fellbach

Tel.: +49 (0)711 51046–0Fax: +49 (0)711 51046–248

Vertriebsgebiet Nord Germany North

Bosch Rexroth AGWalsroder Str. 9330853 Langenhagen

Tel.: +49 (0) 511 72 66 57-0Service: +49 (0) 511 72 66 57-256Fax: +49 (0) 511 72 66 57-93Service: +49 (0) 511 72 66 57-783

Vertriebsgebiet Mitte Germany Centre

Bosch Rexroth AGRegionalzentrum MitteWaldecker Straße 1364546 Mörfelden-Walldorf

Tel.: +49 (0) 61 05 702-3Fax: +49 (0) 61 05 702-444

Vertriebsgebiet Ost Germany East

Bosch Rexroth AGBeckerstraße 3109120 Chemnitz

Tel.: +49 (0)371 35 55-0Fax: +49 (0)371 35 55-333

Vertriebsgebiet Ost Germany East

Bosch Rexroth AGRegionalzentrum OstWalter-Köhn-Str. 4d04356 Leipzig

Tel.: +49 (0)341 25 61-0Fax: +49 (0)341 25 61-111

Page 153: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Service & Support 14-3

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Europa (West) - Europe (West)

vom Ausland: (0) nach Landeskennziffer weglassen, Italien: 0 nach Landeskennziffer mitwählenfrom abroad: don’t dial (0) after country code, Italy: dial 0 after country code

Austria - Österreich

Bosch Rexroth GmbHElectric Drives & ControlsStachegasse 131120 Wien

Tel.: +43 (0)1 985 25 40Fax: +43 (0)1 985 25 40-93

Austria – Österreich

Bosch Rexroth GmbHElectric Drives & ControlsIndustriepark 184061 Pasching

Tel.: +43 (0)7221 605-0Fax: +43 (0)7221 605-21

Belgium - Belgien

Bosch Rexroth NV/SAHenri Genessestraat 11070 Bruxelles

Tel: +32 (0) 2 582 31 80Fax: +32 (0) 2 582 43 10 [email protected] [email protected]

Denmark - Dänemark

BEC A/SZinkvej 68900 Randers

Tel.: +45 (0)87 11 90 60Fax: +45 (0)87 11 90 61

Great Britain – Großbritannien

Bosch Rexroth Ltd.Electric Drives & ControlsBroadway Lane, South CerneyCirencester, Glos GL7 5UH

Tel.: +44 (0)1285 863000Fax: +44 (0)1285 863030 [email protected] [email protected]

Finland - Finnland

Bosch Rexroth OyElectric Drives & ControlsAnsatie 6017 40 Vantaa

Tel.: +358 (0)9 84 91-11Fax: +358 (0)9 84 91-13 60

France - Frankreich

Bosch Rexroth SASElectric Drives & ControlsAvenue de la Trentaine(BP. 74)77503 Chelles Cedex

Tel.: +33 (0)164 72-70 00Fax: +33 (0)164 72-63 00Hotline: +33 (0)608 33 43 28

France - Frankreich

Bosch Rexroth SASElectric Drives & ControlsZI de Thibaud, 20 bd. Thibaud(BP. 1751)31084 Toulouse

Tel.: +33 (0)5 61 43 61 87Fax: +33 (0)5 61 43 94 12

France – Frankreich

Bosch Rexroth SASElectric Drives & Controls91, Bd. Irène Joliot-Curie69634 Vénissieux – CedexTel.: +33 (0)4 78 78 53 65Fax: +33 (0)4 78 78 53 62

Italy - Italien

Bosch Rexroth S.p.A.Via G. Di Vittorio, 120063 Cernusco S/N.MIHotline: +39 02 92 365 563Tel.: +39 02 92 365 1Service: +39 02 92 365 326Fax: +39 02 92 365 500Service: +39 02 92 365 503

Italy - Italien

Bosch Rexroth S.p.A.Via Paolo Veronesi, 25010148 Torino

Tel.: +39 011 224 88 11Fax: +39 011 224 88 30

Italy - Italien

Bosch Rexroth S.p.A.Via Mascia, 180053 Castellamare di Stabia NA

Tel.: +39 081 8 71 57 00Fax: +39 081 8 71 68 85

Italy - Italien

Bosch Rexroth S.p.A.Via del Progresso, 16 (Zona Ind.)35020 Padova

Tel.: +39 049 8 70 13 70Fax: +39 049 8 70 13 77

Italy - Italien

Bosch Rexroth S.p.A.Via Isonzo, 6140033 Casalecchio di Reno (Bo)

Tel.: +39 051 29 86 430Fax: +39 051 29 86 490

Netherlands - Niederlande/Holland

Bosch Rexroth Services B.V.Technical ServicesKruisbroeksestraat 1(P.O. Box 32)5281 RV BoxtelTel.: +31 (0) 411 65 16 40

+31 (0) 411 65 17 27Fax: +31 (0) 411 67 78 14

+31 (0) 411 68 28 [email protected]

Netherlands – Niederlande/Holland

Bosch Rexroth B.V.Kruisbroeksestraat 1(P.O. Box 32)5281 RV Boxtel

Tel.: +31 (0) 411 65 19 51Fax: +31 (0) 411 65 14 83 www.boschrexroth.nl

Norway - Norwegen

Bosch Rexroth ASElectric Drives & ControlsBerghagan 1 or: Box 30071405 Ski-Langhus 1402 Ski

Tel.: +47 (0) 64 86 41 00

Fax: +47 (0) 64 86 90 62

Hotline: +47 (0)64 86 94 82 [email protected]

Spain - Spanien

Bosch Rexroth S.A.Electric Drives & ControlsCentro Industrial SantigaObradors s/n08130 Santa Perpetua de MogodaBarcelona

Tel.: +34 9 37 47 94 00Fax: +34 9 37 47 94 01

Spain – Spanien

Goimendi S.A.Electric Drives & ControlsParque Empresarial ZuatzuC/ Francisco Grandmontagne no.220018 San Sebastian

Tel.: +34 9 43 31 84 21- service: +34 9 43 31 84 56Fax: +34 9 43 31 84 27- service: +34 9 43 31 84 60 [email protected]

Sweden - Schweden

Bosch Rexroth ABElectric Drives & Controls- Varuvägen 7(Service: Konsumentvägen 4, Älfsjö)125 81 Stockholm

Tel.: +46 (0)8 727 92 00Fax: +46 (0)8 647 32 77

Sweden - Schweden

Bosch Rexroth ABElectric Drives & ControlsEkvändan 7254 67 Helsingborg

Tel.: +46 (0) 42 38 88 -50Fax: +46 (0) 42 38 88 -74

Switzerland East - Schweiz Ost

Bosch Rexroth Schweiz AGElectric Drives & ControlsHemrietstrasse 28863 ButtikonTel. +41 (0) 55 46 46 111Fax +41 (0) 55 46 46 222

Switzerland West - Schweiz West

Bosch Rexroth Suisse SAAv. Général Guisan 261800 Vevey 1

Tel.: +41 (0)21 632 84 20Fax: +41 (0)21 632 84 21

Page 154: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

14-4 Service & Support NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Europa (Ost) - Europe (East)

vom Ausland: (0) nach Landeskennziffer weglassen

from abroad: don’t dial (0) after country code

Czech Republic - Tschechien

Bosch -Rexroth, spol.s.r.o.Hviezdoslavova 5627 00 Brno

Tel.: +420 (0)5 48 126 358Fax: +420 (0)5 48 126 112

Czech Republic - Tschechien

DEL a.s.Strojírenská 38591 01 Zdar nad SázavouTel.: +420 566 64 3144Fax: +420 566 62 1657

Hungary - Ungarn

Bosch Rexroth Kft.Angol utca 341149 Budapest

Tel.: +36 (1) 422 3200Fax: +36 (1) 422 3201

Poland – Polen

Bosch Rexroth Sp.zo.o.ul. Staszica 105-800 Pruszków

Tel.: +48 22 738 18 00– service: +48 22 738 18 46Fax: +48 22 758 87 35– service: +48 22 738 18 42

Poland – Polen

Bosch Rexroth Sp.zo.o.Biuro Poznanul. Dabrowskiego 81/8560-529 Poznan

Tel.: +48 061 847 64 62 /-63Fax: +48 061 847 64 02

Romania - Rumänien

East Electric S.R.L.Bdul Basarabia no.250, sector 373429 Bucuresti

Tel./Fax:: +40 (0)21 255 35 07+40 (0)21 255 77 13

Fax: +40 (0)21 725 61 21 [email protected]

Romania - Rumänien

Bosch Rexroth Sp.zo.o.Str. Drobety nr. 4-10, app. 1470258 Bucuresti, Sector 2

Tel.: +40 (0)1 210 48 25+40 (0)1 210 29 50

Fax: +40 (0)1 210 29 52

Russia - Russland

Bosch Rexroth OOOWjatskaja ul. 27/15127015 Moskau

Tel.: +7-095-785 74 78+7-095 785 74 79

Fax: +7 095 785 74 77 [email protected]

Russia - Russland

ELMIS10, Internationalnaya246640 Gomel, BelarusTel.: +375/ 232 53 42 70

+375/ 232 53 21 69Fax: +375/ 232 53 37 69 [email protected]

Turkey - Türkei

Bosch Rexroth OtomasyonSan & Tic. A..S.Fevzi Cakmak Cad No. 334630 Sefaköy Istanbul

Tel.: +90 212 541 60 70Fax: +90 212 599 34 07

Turkey - Türkei

Servo Kontrol Ltd. Sti.Perpa Ticaret Merkezi B BlokKat: 11 No: 160980270 Okmeydani-Istanbul

Tel: +90 212 320 30 80Fax: +90 212 320 30 81 [email protected] www.servokontrol.com

Slowenia - Slowenien

DOMELOtoki 2164 228 Zelezniki

Tel.: +386 5 5117 152Fax: +386 5 5117 225 [email protected]

Page 155: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction Service & Support 14-5

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Africa, Asia, Australia – incl. Pacific Rim

Australia - Australien

AIMS - Australian IndustrialMachinery Services Pty. Ltd.28 Westside DriveLaverton North Vic 3026Melbourne

Tel.: +61 3 93 14 3321Fax: +61 3 93 14 3329Hotlines: +61 3 93 14 3321

+61 4 19 369 195 [email protected]

Australia - Australien

Bosch Rexroth Pty. Ltd.No. 7, Endeavour WayBraeside Victoria, 31 95Melbourne

Tel.: +61 3 95 80 39 33Fax: +61 3 95 80 17 33 [email protected]

China

Shanghai Bosch RexrothHydraulics & Automation Ltd.Waigaoqiao, Free Trade ZoneNo.122, Fu Te Dong Yi RoadShanghai 200131 - P.R.China

Tel.: +86 21 58 66 30 30Fax: +86 21 58 66 55 [email protected][email protected]

China

Shanghai Bosch RexrothHydraulics & Automation Ltd.4/f, Marine TowerNo.1, Pudong AvenueShanghai 200120 - P.R.China

Tel: +86 21 68 86 15 88Fax: +86 21 58 40 65 77

China

Bosch Rexroth China Ltd.15/F China World Trade Center1, Jianguomenwai AvenueBeijing 100004, P.R.China

Tel.: +86 10 65 05 03 80Fax: +86 10 65 05 03 79

China

Bosch Rexroth China Ltd.Guangzhou Repres. OfficeRoom 1014-1016, Metro Plaza,Tian He District, 183 Tian He Bei RdGuangzhou 510075, P.R.China

Tel.: +86 20 8755-0030+86 20 8755-0011

Fax: +86 20 8755-2387

China

Bosch Rexroth (China) Ltd.A-5F., 123 Lian Shan StreetSha He Kou DistrictDalian 116 023, P.R.China

Tel.: +86 411 46 78 930Fax: +86 411 46 78 932

China

Melchers GmbHBRC-SE, Tightening & Press-fit13 Floor Est Ocean CentreNo.588 Yanan Rd. East65 Yanan Rd. WestShanghai 200001

Tel.: +86 21 6352 8848Fax: +86 21 6351 3138

Hongkong

Bosch Rexroth (China) Ltd.6th

Floor,Yeung Yiu Chung No.6 Ind Bldg.19 Cheung Shun StreetCheung Sha Wan,Kowloon, Hongkong

Tel.: +852 22 62 51 00Fax: +852 27 41 33 44

[email protected]

India - Indien

Bosch Rexroth (India) Ltd.Electric Drives & ControlsPlot. No.96, Phase IIIPeenya Industrial AreaBangalore – 560058

Tel.: +91 80 51 17 0-211...-218Fax: +91 80 83 94 345

+91 80 83 97 374

[email protected]

India - Indien

Bosch Rexroth (India) Ltd.Electric Drives & ControlsAdvance House, II FloorArk Industrial CompoundNarol Naka, Makwana RoadAndheri (East), Mumbai - 400 059

Tel.: +91 22 28 56 32 90+91 22 28 56 33 18

Fax: +91 22 28 56 32 93

[email protected]

India - Indien

Bosch Rexroth (India) Ltd.S-10, Green Park ExtensionNew Delhi – 110016

Tel.: +91 11 26 56 65 25+91 11 26 56 65 27

Fax: +91 11 26 56 68 87

[email protected]

Indonesia - Indonesien

PT. Bosch RexrothBuilding # 202, CilandakCommercial EstateJl. Cilandak KKO, Jakarta 12560

Tel.: +62 21 7891169 (5 lines)Fax: +62 21 7891170 - [email protected]

Japan

Bosch Rexroth Automation Corp.Service Center JapanYutakagaoka 1810, Meito-ku,NAGOYA 465-0035, Japan

Tel.: +81 52 777 88 41+81 52 777 88 53+81 52 777 88 79

Fax: +81 52 777 89 01

Japan

Bosch Rexroth Automation Corp.Electric Drives & Controls2F, I.R. BuildingNakamachidai 4-26-44, Tsuzuki-kuYOKOHAMA 224-0041, Japan

Tel.: +81 45 942 72 10Fax: +81 45 942 03 41

Korea

Bosch Rexroth-Korea Ltd.Electric Drives and ControlsBongwoo Bldg. 7FL, 31-7, 1GaJangchoong-dong, Jung-guSeoul, 100-391

Tel.: +82 234 061 813Fax: +82 222 641 295

Korea

Bosch Rexroth-Korea Ltd.1515-14 Dadae-Dong, Saha-guElectric Drives & ControlsPusan Metropolitan City, 604-050

Tel.: +82 51 26 00 741Fax: +82 51 26 00 747 [email protected]

Malaysia

Bosch Rexroth Sdn.Bhd.11, Jalan U8/82, Seksyen U840150 Shah AlamSelangor, Malaysia

Tel.: +60 3 78 44 80 00Fax: +60 3 78 45 48 00 [email protected] [email protected]

Singapore - Singapur

Bosch Rexroth Pte Ltd15D Tuas RoadSingapore 638520

Tel.: +65 68 61 87 33Fax: +65 68 61 18 25 sanjay.nemade

@boschrexroth.com.sg

South Africa - Südafrika

TECTRA Automation (Pty) Ltd.71 Watt Street, MeadowdaleEdenvale 1609

Tel.: +27 11 971 94 00Fax: +27 11 971 94 40Hotline: +27 82 903 29 23 [email protected]

Taiwan

Bosch Rexroth Co., Ltd.Taichung Branch1F., No. 29, Fu-Ann 5th Street,Xi-Tun Area, Taichung CityTaiwan, R.O.C.

Tel : +886 - 4 -23580400Fax: +886 - 4 -23580402 [email protected] [email protected] [email protected]

Thailand

NC Advance Technology Co. Ltd.59/76 Moo 9Ramintra road 34Tharang, Bangkhen,Bangkok 10230

Tel.: +66 2 943 70 62 +66 2 943 71 21Fax: +66 2 509 23 62Hotline +66 1 984 61 52 [email protected]

Page 156: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

14-6 Service & Support NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Nordamerika – North AmericaUSAHeadquarters - Hauptniederlassung

Bosch Rexroth CorporationElectric Drives & Controls5150 Prairie Stone ParkwayHoffman Estates, IL 60192-3707

Tel.: +1 847 6 45 36 00Fax: +1 847 6 45 62 [email protected] [email protected]

USA Central Region - Mitte

Bosch Rexroth CorporationElectric Drives & ControlsCentral Region Technical Center1701 Harmon RoadAuburn Hills, MI 48326

Tel.: +1 248 3 93 33 30Fax: +1 248 3 93 29 06

USA Southeast Region - Südwest

Bosch Rexroth CorporationElectric Drives & ControlsSoutheastern Technical Center3625 Swiftwater Park DriveSuwanee, Georgia 30124

Tel.: +1 770 9 32 32 00Fax: +1 770 9 32 19 03

USA SERVICE-HOTLINE

- 7 days x 24hrs -

+1-800-REX-ROTH+1 800 739 7684

USA East Region – Ost

Bosch Rexroth CorporationElectric Drives & ControlsCharlotte Regional Sales Office14001 South Lakes DriveCharlotte, North Carolina 28273

Tel.: +1 704 5 83 97 62+1 704 5 83 14 86

USA Northeast Region – Nordost

Bosch Rexroth CorporationElectric Drives & ControlsNortheastern Technical Center99 Rainbow RoadEast Granby, Connecticut 06026

Tel.: +1 860 8 44 83 77Fax: +1 860 8 44 85 95

USA West Region – West

Bosch Rexroth Corporation7901 Stoneridge Drive, Suite 220Pleasant Hill, California 94588

Tel.: +1 925 227 10 84Fax: +1 925 227 10 81

Canada East - Kanada Ost

Bosch Rexroth Canada CorporationBurlington Division3426 Mainway DriveBurlington, OntarioCanada L7M 1A8

Tel.: +1 905 335 5511Fax: +1 905 335 4184Hotline: +1 905 335 5511 [email protected]

Canada West - Kanada West

Bosch Rexroth Canada Corporation5345 Goring St.Burnaby, British ColumbiaCanada V7J 1R1

Tel. +1 604 205 5777Fax +1 604 205 6944Hotline: +1 604 205 5777 [email protected]

Mexico

Bosch Rexroth Mexico S.A. de C.V.Calle Neptuno 72Unidad Ind. Vallejo07700 Mexico, D.F.

Tel.: +52 55 57 54 17 11Fax: +52 55 57 54 50 [email protected]

Mexico

Bosch Rexroth S.A. de C.V.Calle Argentina No 3913Fracc. las Torres64930 Monterrey, N.L.

Tel.: +52 81 83 65 22 53+52 81 83 65 89 11+52 81 83 49 80 91

Fax: +52 81 83 65 52 [email protected]

Südamerika – South AmericaArgentina - Argentinien

Bosch Rexroth S.A.I.C."The Drive & Control Company"Rosario 2302B1606DLD CarapachayProvincia de Buenos Aires

Tel.: +54 11 4756 01 40+54 11 4756 02 40+54 11 4756 03 40+54 11 4756 04 40

Fax: +54 11 4756 01 36+54 11 4721 91 53

[email protected]

Argentina - Argentinien

NAKASEServicio Tecnico CNCCalle 49, No. 5764/66B1653AOX Villa BalesterProvincia de Buenos Aires

Tel.: +54 11 4768 36 43Fax: +54 11 4768 24 13Hotline: +54 11 155 307 6781 [email protected] [email protected] [email protected] (Service)

Brazil - Brasilien

Bosch Rexroth Ltda.Av. Tégula, 888Ponte Alta, Atibaia SPCEP 12942-440

Tel.: +55 11 4414 56 92+55 11 4414 56 84

Fax sales: +55 11 4414 57 07Fax serv.: +55 11 4414 56 86 [email protected]

Brazil - Brasilien

Bosch Rexroth Ltda.R. Dr.Humberto Pinheiro Vieira, 100Distrito Industrial [Caixa Postal 1273]89220-390 Joinville - SC

Tel./Fax: +55 47 473 58 33Mobil: +55 47 9974 6645 [email protected]

Columbia - Kolumbien

Reflutec de Colombia Ltda.Calle 37 No. 22-31Santafé de Bogotá, D.C.Colombia

Tel.: +57 1 368 82 67+57 1 368 02 59

Fax: +57 1 268 97 [email protected]@007mundo.com

Page 157: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

NC Programming Instruction

DOK-TRA200-NC**PRO*V23-AW01-EN-P

Notes

Page 158: Rexroth TRANS 200 NC Programming Instruction … TRANS 200 NC Programming Instruction Application Manual ... Branch If Greater Than or Equal to Zero "BPL" ... Data Exchange with Digital

Printed in GermanyDOK-TRA200-NC**PRO*V23-AW01-EN-PR911297008

Bosch Rexroth AGElectric Drives and ControlsP.O. Box 13 5797803 Lohr, GermanyBgm.-Dr.-Nebel-Str. 297816 Lohr, GermanyPhone +49 93 52-40-50 60Fax +49 93 52-40-49 [email protected]