osai 10 CNC Programming Manual

10 Series CNC
Programming Manual
Code: 45004457K Rev. 10
PUBLICATION ISSUED BY:
OSAI S.p.A. Via Torino, 14 - 10010 Barone Canavese (TO) – Italy
e-mail: sales@osai.it Web: www.osai.it
Copyright 2001-2002 by OSAI All rights reserved
Edition: July 2001
This document has been prepared in order to be used by OSAI. It describes the latest release of the product. OSAI reserves the right to modify and improve the product described by this document at any time and without prior notice. Actual application of this product is up to the user. In no event will OSAI be responsible or liable for indirect or consequential damages that may result from installation or use of the equipment described in this text.
abc
SUMMARY OF CHANGES
General
This publication is issued with reference to Software Release 6.1 (E69).
PAGE UPDATING TYPE
INDEX Updated
CAP. 2
page 4 Note on the use of Circular Interpolation added page 6 Examples of Circular Interpolation added page 48-49 Use of the bits in the MOV instruction extended page 53 Error bits in the Debug ODH variable extended
CAP. 3
page 5 Notes on the use of the “h” address added
UPDATE
10 Series CNC Programming Manual
10 Series CNC Programming Manual (10)
abc

Preface

10 Series CNC Programming Manual
PREFACE
This manual describes the procedures used for writing part programs with the 10 Series CNC system. It provides programmers with all the information they need for creating machine control programs.
REFERENCES
For further information:
10 Series CNC - AMP Software Characterization Manual
10 Series CNC - User Guide
The chapters in this manual are organised in sections. They describe the language elements (commands and functions) used for managing a specific task, e.g. axis programming, tool programming, probe management. Programming examples have been introduced in the command description.
SUMMARY
1. Programming with 10 Series System
This chapter contains the general programming rules of the International Standards Organization (ISO) standard. The chapter also provides an overview of the programming environment and a summary of the most used codes.
2. Programming the Axes
This chapter describes axis programming. The G codes and extended commands involved in this activity are provided with their characteristics. Several examples complete the command description and give suggestions for programming the major types of movements.
3. Programming Tools and tool offsets
This chapter describes tool programming and provides the functions and instructions used in tool operation.
10 Series CNC Programming Manual (08) 1
Preface
10 Series CNC Programming Manual
4. Cutter Diameter Compensation
This chapter describes cutter compensation. T functions and G codes used in tool compensation are provided with characteristics and several examples.
5. Programming the Spindle
This chapter describes spindle programming. The G codes and extended commands involved in this activity are provided with their characteristics. Several examples complete the command description and give hints for solving the main cases of spindle programming.
6. Miscellaneous Functions
This chapter describes miscellaneous functions and provides a list of M functions with their meaning and characteristics.
7. Parametric Programming
This chapter deals with special programming applications that use local and system variables.
8. Canned Cycles
This chapter provides a description of the canned cycles available with the control. The G codes and extended commands used in this activity are provided with their characteristics. Several examples complete the command description.
9. Paramacros
This chapter describes how paramacros can be used in programs.
10. Probing Cycles
This chapter provides a description of the probing cycles available with the control. The G codes and extended commands involved in probe management are provided complete with examples.
11. Managing the Screen
This chapter discusses the commands used to handle the system screen from a part programs. Examples are given to complete the command description.
12. Modifying the Program Execution Sequence
This chapter contains the commands used for modifying the sequence of execution of a part program. It describes commands for branching, repeating blocks and executing subprograms, as well as commands for putting the part program on hold and releasing it.
13. High Speed Machining
This chapter describes the high-speed milling features on machine tools with 3 axes.
14. Multiprocess management commands
This chapter shows 10 Series CNC's multi process potentials.
2 10 Series CNC Programming Manual (08)
10 Series CNC Programming Manual
15. High level geometric programming (GTL)
This chapter discusses the set of programming instructions available with the GTL utility.
16. Working Cycles for Turning Systems
This chapter provides the instructions for programming macro-cycles of rough-shaping, threading and groove cutting.
A. Characters and Commands
Appendix A provides a summary of all the characters allowed in the system and gives lists of G codes, mathematical functions and extended commands.
B. Error Messages
Appendix B provides a list of all the error messages that can occur during programming..
C. Error management
Preface
10 Series CNC Programming Manual (08) 3
Preface
10 Series CNC Programming Manual
COMMANDS
Commands are dealt with in the chapters that describe the specific task. A common structure has been adopted in the command description. For each command, the following information is provided:
Command name
Command function
Command syntax
Parameters
Characteristics and notes
Examples
Where possible, examples consist of a portion of program and a diagram that shows how the commands in that portion work.
Syntax conventions
Use these conventions with the commands:
SYMBOL MEANING
[ ] Brackets enclose optional entries. Do not enter the brackets. { } Braces enclose entries which may be repeated more than once. This could
also be described as a series of alternative entries, i.e. only one of these may be entered. Alternative entries are separated by a (|). Do not enter the braces in the command itself.
| A vertical bar separates alternative entries. Do not enter the bar.
Key-words are written in bold. They must be entered exactly as they are represented in the syntax description. Parameters that must be passed with commands are indicated by a mnemonic written in italics. Appropriate values must be entered in place of the mnemonic. Leading zeros can be omitted. For example, you can program G00 as G, G01 as G1.
Example: (SCF,[value])
SCF, the comma and parenthesis are key-words and must be written as described. value is a parameter name and must be replaced by an appropriate value. The brackets indicate that value is an optional value.
4 10 Series CNC Programming Manual (08)
Preface
10 Series CNC Programming Manual
Warnings
For correct control operation, it is important to follow the information given in this manual. Take particular care with topics bearing one of the mentions: WARNING, CAUTION or IMPORTANT, which indicate the following types of information:
Draws attention to facts or circumstances that may cause damage to the control, to the machine or to operators.
WARNING
Indicates information to be followed in order to avoid damage to equipment in
CAUTION
general.
IMPORTANT
Indicates information that must be followed carefully in order to ensure full success of the application.
Terminology
Some terms appearing throughout the manual are explained below. Control Refers to the 10 Series numerical control unit comprising front panel unit and
basic unit.
Front Panel Is the interface module between machine and operator; it has a monitor on which
messages are output and a keyboard to input the data. It is connected to the basic unit.
Basic Unit Is the hardware-software unit handling all the machine functions. It is connected to
the front panel and to the machine tool.
10 Series CNC Programming Manual (08) 5
Preface
10 Series CNC Programming Manual
END OF PREFACE
6 10 Series CNC Programming Manual (08)
10 Series CNC Programming Manual
INDEX
PROGRAMMING WITH 10 SERIES SYSTEMS
THE PROGRAM FILES.............................................................................................1-1
Program Components......................................................................................1-2
Blocks............................................................................................................1-2
Block Types ....................................................................................................1-4
Programmable Functions .................................................................................1-6
G Codes.........................................................................................................1-9
SYNCHRONISATION AND PROGRAM EXECUTION ...................................................1-13
Default Synchronisation ...................................................................................1-13
Overriding Default Synchronisation....................................................................1-14
Part Program Interpreter ...................................................................................1-14
Sequence of execution.....................................................................................1-15
Programming restrictions for long real (double) formats .......................................1-15
Index
PROGRAMMING THE AXES
AXIS MOTION CODES .............................................................................................2-1
Defining Axis Motion ........................................................................................2-1
G00 - Rapid Axes Positioning ...........................................................................2-2
G01 - Linear Interpolation .................................................................................2-3
G02 G03 - Circular Interpolation........................................................................2-4
CET (PRC) - Circular Endpoint Tolerance...........................................................2-7
FCT - Full Circle Threshold...............................................................................2-8
ARM - Defining Arc Normalisation Mode............................................................2-9
CRT - Circular interpolation speed reduction threshold.........................................2-13
CRK - Circular interpolation speed reduction constant.........................................2-13
Helical Interpolation .........................................................................................2-15
G33 - Constant or Variable Pitch Threading........................................................2-17
Rotary Axes ....................................................................................................2-21
Axes with Rollover...........................................................................................2-23
Pseudo Axes ..................................................................................................2-26
Diameter Axes ................................................................................................2-26
UDA - Dual Axes.............................................................................................2-29
SDA - Special Dual Axes .................................................................................2-31
ORIGINS AND COORDINATE CONTROL CODES ......................................................2-33
G17 G18 G19 - Selecting the Interpolation Plane ................................................2-34
10 Series CNC Programming Manual (10) i
Index
10 Series CNC Programming Manual
G16 - Defining the Interpolation Plane ................................................................2-35
G27 G28 G29 - Defining the Dynamic Mode .......................................................2-36
AUTOMATIC DECELERATION ON BEVELS IN G27 MODE .........................................2-41
DLA - Deceleration Look Ahead........................................................................2-42
DYM - Dynamic Mode......................................................................................2-43
MDA - Maximum Deceleration Angle .................................................................2-44
VEF - Velocity Factor......................................................................................2-45
Jerk Limitation.................................................................................................2-47
MOV - Enable Jerk Limitation...........................................................................2-48
Meaning of bits 0 – 3: ..................................................................................2-48
Meaning of bits 6 - 7: ..................................................................................2-49
JRK - Jerk Time Constant .................................................................................2-50
JRS - Jerk Smooth Constant ............................................................................2-51
ODH - Online Debug Help.................................................................................2-53
IPB (DTL) - In Position Band .............................................................................2-55
G70 G71 - Measuring Units..............................................................................2-56
G90 G91 G79 - Absolute, Incremental and Zero Programming .............................2-57
G92 G99 - Axis Presetting ...............................................................................2-59
G04 G09 - Dynamic Mode Attributes.................................................................2-60
t - Block Execution Time ..................................................................................2-61
DWT (TMR) - Dwell Time ..................................................................................2-61
G93 - V/D Feedrate.........................................................................................2-62
VFF - Velocity Feed Forward ............................................................................2-63
CODES THAT MODIFY THE AXES REFERENCE SYSTEM ..........................................2-64
SCF - Scale Factors........................................................................................2-65
MIR - Using Mirror Machining............................................................................2-66
ROT (URT) - Interpolation Plane Rotation...........................................................2-69
UAO - Using Absolute Origins ..........................................................................2-72
UTO (UOT) - Using Temporary Origins...............................................................2-73
UIO - Using Incremental Origins........................................................................2-75
RQO - Requalifying Origins ...............................................................................2-77
OVERTRAVELS AND PROTECTED AREAS...............................................................2-78
SOL (DLO) - Software Overtravel Limits .............................................................2-79
DPA (DSA) - Define Protected Areas .................................................................2-80
PAE (ASC) - Protected Area Enable .................................................................2-82
PAD (DSC) - Protected Area Disable.................................................................2-82
VIRTUAL AXES MANAGEMENT ...............................................................................2-83
Virtual Axes....................................................................................................2-83
Virtual modes available on 10 Series CNC .........................................................2-83
UPR - Rotation of Cartesian axes ......................................................................2-84
Using UPR......................................................................................................2-87
UVP - Programming polar coordinates...............................................................2-91
The minimum radius should be calculated using the following formula: ..................2-92
Programming examples with polar coordinates...................................................2-93
UVC - Programming cylindrical coordinates .......................................................2-95
TCP - Tool Center Point for machines with "Double Twist" head..........................2-97
Programming the "m" and "n" parameters (angles).............................................2-113
Programming the "m", "n" and "0" parameters (vector)........................................2-114
TCP - Tool Center Point for generic 5-axis machines ..........................................2-115
Programming ..................................................................................................2-120
TCP - Tool Center Point for machines with fixed tool and rotarY table..................2-124
Programming ..................................................................................................2-130
TCP on multi-processor....................................................................................2-131
ii 10 Series CNC Programming Manual (10)
10 Series CNC Programming Manual
PROGRAMMING TOOLS AND TOOL OFFSETS
T address for programming tools.......................................................................3-2
T address for multi-tool programming .................................................................3-3
h address .......................................................................................................3-5
AXO - Axis Offset Definition ..............................................................................3-7
RQT (RQU) - Requalifying Tool Offset ................................................................3-8
RQP - Requalifying Tool Offset ..........................................................................3-9
TOU (TOF) - Tool Expiry Declaration .................................................................3-10
LOA - Table loading.........................................................................................3-11
CUTTER DIAMETER COMPENSATION
G40 G41 G42 - Cutter Diameter Compensation..................................................4-2
Enabling Cutter Diameter Compensation............................................................4-3
Notes on using cutter diameter compensation ....................................................4-5
Tool path optimisation (TPO) ............................................................................4-5
Disabling Cutter Diameter Compensation ...........................................................4-6
Disabling Compensation with TPO active ...........................................................4-7
TOOL DIAMETER COMPENSATION CHANGE...........................................................4-8
Linear/Linear tool path......................................................................................4-8
Linear/Circular, Circular/Linear, Circular/Circular tool paths..................................4-10
r - Radiuses in Compensated Profiles................................................................4-12
b - Bevels in Compensated Profiles ...................................................................4-13
Bevel between two circular motion blocks .....................................................4-15
TPO - Path optimisation on bevels with G41/G42................................................4-16
Examples of profile optimisation with TPO=1......................................................4-18
Examples of TPO=2 mode ...............................................................................4-21
TPT - Tool Path Threshold................................................................................4-24
u v w - Paraxial Compensation ..........................................................................4-26
Examples of compensation factor applications u, v, w.........................................4-27
MSA (UOV) - Defining a Machining Stock Allowance ..........................................4-31
AUTOMATIC CONTOUR MILLING ............................................................................4-32
Limits to use of automatic contour miling ...........................................................4-32
GTP - Get Point ..............................................................................................4-33
Determining the approach point .........................................................................4-34
CCP - Cutter Compensation Profile ...................................................................4-36
Index
PROGRAMMING THE SPINDLE
SPINDLE FUNCTIONS .............................................................................................5-1
G96 G97 - CSS and RPM Programming............................................................5-1
SSL - Spindle Speed Limit ...............................................................................5-3
M19 - Oriented Spindle Stop.............................................................................5-4
MISCELLANEOUS FUNCTIONS
Standard M functions.......................................................................................6-1
10 Series CNC Programming Manual (10) iii
Index
10 Series CNC Programming Manual
PARAMETRIC PROGRAMMING
LOCAL VARIABLES .................................................................................................7-4
E Parameters ..................................................................................................7-4
! - User Variables .............................................................................................7-6
SYSTEM VARIABLES ..............................................................................................7-7
SN - System Number.......................................................................................7-7
SC - System Character ....................................................................................7-8
TIM - System Timer.........................................................................................7-10
@ - PLUS Variables ........................................................................................7-11
L Variables .....................................................................................................7-12
Multiple Assignments ......................................................................................7-13
CANNED CYCLES
CANNED CYCLES G8N.............................................................................................8-1
Canned Cycle Features ....................................................................................8-2
Canned Cycle Moves .......................................................................................8-3
G81 - Drilling Cycle..........................................................................................8-5
G82 - Spot Facing Cycle ..................................................................................8-7
G83 - Deep Drilling Cycle.................................................................................8-9
G84 - Tapping Cycle with no Transducer ............................................................8-12
G84 - Tapping Cycle with Transducer ................................................................8-15
TRP (RMS) - Tapping Return Percentage ...........................................................8-16
G85 - Reaming Cycle (or Tapping by Tapmatic)..................................................8-17
G86 - Boring Cycle..........................................................................................8-18
G89 - Boring Cycle with Spot Facing .................................................................8-19
Using two R dimensions in a canned cycle........................................................8-20
Updating Canned Cycle Dimensions ..................................................................8-21
Updating R dimensions (upper limit and lower limit) during EXECUTION................8-22
PARAMACRO
Paramacro Definition........................................................................................9-1
HC Parameters ...............................................................................................9-3
DAN - Define Axis Name ..................................................................................9-6
PROBING CYCLES
MANAGING AN ELECTRONIC PROBE......................................................................10-1
PRESETTING A PROBING CYCLE............................................................................10-3
DPP (DPT) - Defining Probing Parameters .........................................................10-3
Dynamic Measurement of the Ball Diameter.......................................................10-4
Probe Requalification.......................................................................................10-4
Dynamic Measurement of the Probe Length.......................................................10-4
Probe Presetting .............................................................................................10-4
PROBING CYCLES ..................................................................................................10-6
G72 - Point Measurement with Compensation ....................................................10-7
G73 - Hole Probing Cycle .................................................................................10-9
G74 - Tool Requalification Cycle .......................................................................10-11
iv 10 Series CNC Programming Manual (10)
10 Series CNC Programming Manual
UPA (RTA) - Update Probe Abscissa................................................................10-13
UPO (RTO) - Update Probe Ordinate .................................................................10-13
ERR - Managing Probing Errors ........................................................................10-13
OPERATIONS WITH A NON-FIXED PROBE ..............................................................10-14
Requalifying Origins by Probing Reference Surfaces ...........................................10-14
Requalifying Origins by Centring on a Hole.........................................................10-16
Checking Diameters ........................................................................................10-16
Checking Plane Dimensions and Hole Depths....................................................10-18
OPERATIONS THAT USE A FIXED PROBE ...............................................................10-19
MANAGING THE SCREEN
GRAPHICS VISUALIZATION ....................................................................................11-1
UGS (UCG) - Use Graphic Scale (Machine plot).................................................11-2
UGS (UCG) - Use 3D Graphic Scale .................................................................11-3
CGS (CLG) - Clear Graphic Screen...................................................................11-3
DGS (DCG) - Disable Graphic Scale .................................................................11-4
DIS - Displaying a Variable ...............................................................................11-4
Index
MODIFYING THE PROGRAM EXECUTION SEQUENCE
GENERAL................................................................................................................12-1
COMMAND FOR PROGRAM BLOCKS REPETITION ..................................................12-4
RPT - ERP ......................................................................................................12-4
Machining Equidistant Holes ........................................................................12-6
Machining with Roughing and Finishing Cuts .................................................12-7
COMMANDS FOR SUBROUTINE EXECUTION...........................................................12-8
CLS - Call Subroutine ......................................................................................12-8
PTH - Declaration of the default pathname .........................................................12-12
EPP - Executing a Portion of a Program ............................................................12-13
EPB - Execute Part-Program Block ..................................................................12-15
BRANCHING AND DELAY COMMANDS. SLASHED BLOCKS .....................................12-17
GTO - Branch Command ..................................................................................12-17
IF ELSE ENDIF.............................................................................................12-21
DLY - Defining Delay Time................................................................................12-22
DSB - Disable Slashed Blocks .........................................................................12-23
REL - Releasing the part program .....................................................................12-23
WOS - WAIT on signal.....................................................................................12-24
DEVICE DEFINING COMMANDS...............................................................................12-25
GDV - Definition of the device for file access ......................................................12-25
RDV - Release device......................................................................................12-26
HIGH SPEED MACHINING
GENERAL CONSIDERATIONS..................................................................................13-1
PROGRAMMING POINTS AND CHARACTERISTICS OF THE PROFILE......................13-3
Considerations on the use of the G62,G63,G66 and G67 functions
(transition codes).............................................................................................13-6
GENERAL HIGH SPEED MACHINING PROGRAMMING STRUCTURE .........................13-7
Interaction with Machine Logic ..........................................................................13-7
POINT DEFINING CONVENTIONS ............................................................................13-8
10 Series CNC Programming Manual (10) v
Index
10 Series CNC Programming Manual
Points and machining coordinates .....................................................................13-8
Tool Direction ..................................................................................................13-9
Normal to the Surface Direction ........................................................................13-9
Tool Radius Application Direction ......................................................................13-10
Tangential Axis ...............................................................................................13-10
FEATURES PROVIDED BY HIGH SPEED MACHINING ...............................................13-11
Tool Radius and Length Compensation ..............................................................13-11
Tool Length Compensation...............................................................................13-12
No Tool Compensation .....................................................................................13-12
Tangential Axis Management ............................................................................13-13
SETUP ....................................................................................................................13-14
Type of points described in the part program......................................................13-15
Versor management methods...........................................................................13-16
Look Ahead management .................................................................................13-17
Tool definition ..................................................................................................13-19
Tool direction (3D) ...........................................................................................13-20
Change in curvature management .....................................................................13-21
Edge management ..........................................................................................13-22
Axis definition .................................................................................................13-23
Axis parameters..............................................................................................13-24
Axis dynamics................................................................................................13-25
Example.........................................................................................................13-26
MULTIPROCESS MANAGEMENT COMMANDS
GENERAL................................................................................................................14-1
SYNCHRONIZATION AMONG PROCESSES ..............................................................14-2
Notes On The "Wait" Function:.........................................................................14-2
Notes On The "Send" Function: ........................................................................14-2
Exchanging data.............................................................................................14-3
Resetting synchronised processes ....................................................................14-3
Channels table................................................................................................14-3
DCC - Definition of the communication channel ..................................................14-4
PVS - PLUS channel selection.........................................................................14-5
PRO - Definition of the process .........................................................................14-6
SND - Send a synchronisation message............................................................14-7
WAI - Wait for a synchronisation message ........................................................14-9
EXE - Automatic part program execution ...........................................................14-11
ECM - Manual block execution in a process ......................................................14-12
Example of synchronisation of two process using EXE:.......................................14-13
SHARED AXES ........................................................................................................14-14
General ..........................................................................................................14-14
Conditions for axis acquisition ..........................................................................14-14
GTA - Axes acquisition....................................................................................14-15
Error Management...........................................................................................14-23
HIGH LEVEL GEOMETRIC PROGRAMMING (GTL)
ORIENTED GEOMETRY ............................................................................................15-2
DEFINING GEOMETRIC ELEMENTS .........................................................................15-5
DEFINITION OF A REFERENCE ORIGIN....................................................................15-8
DEFINITION OF POINTS..........................................................................................15-9
vi 10 Series CNC Programming Manual (10)
10 Series CNC Programming Manual
DEFINITION OF STRAIGHT LINES ...........................................................................15-15
DEFINITION OF CIRCLES ........................................................................................15-26
DEFINITION OF A PROFILE .....................................................................................15-40
Profile types ....................................................................................................15-40
Connecting the elements..................................................................................15-45
EXAMPLES OF GTL PROGRAMMING......................................................................15-49
WORKING CYCLES FOR TURNING SYSTEMS
PROFILE PROGRAMMING .......................................................................................16-1
Restrictions to the definition of a profile to be recalled by the macro-
instructions of roughing/finishing. ......................................................................16-2
SPECIAL CYCLES PROGRAMMING.........................................................................16-3
MACRO-INSTRUCTIONS OF PARA-AXIAL ROUGHING WITHOUT PRE-
FINISHING...............................................................................................................16-3
MACRO-INSTRUCTIONS OF PARA-AXIAL ROUGHING WITH PRE-FINISHING..........................16-7
MACRO-INSTRUCTION OF ROUGHING PARALLEL TO THE PROFILE......................16-9
MACRO-INSTRUCTION OF A PROFILE FINISHING ...................................................16-11
THREADING CYCLE.................................................................................................16-12
GROOVE CUTTING CYCLE......................................................................................16-16
Index
CHARACTERS AND COMMANDS
TABLE OF CHARACTERS ........................................................................................A-1
G CODES ................................................................................................................A-5
MATHEMATICAL FUNCTIONS ..................................................................................A-6
LOCAL AND SYSTEM VARIABLES ...........................................................................A-6
THREE-LETTER CODES ...........................................................................................A-7
ASCII CODES ..........................................................................................................A-10
ERROR MESSAGES
Description of error messages and remedial actions ...........................................B-1
ERROR MANAGEMENT
GENERAL................................................................................................................C-1
ERR - Enable/disables error management from part program...............................C-2
Probing cycle errors .........................................................................................C-3
Shared axes errors ..........................................................................................C-4
10 Series CNC Programming Manual (10) vii
Index
10 Series CNC Programming Manual
END INDEX
viii 10 Series CNC Programming Manual (10)
Chapter
1
PROGRAMMING WITH 10 SERIES SYSTEMS
10 Series part programs are written with a specific language defined by the ISO standard. This chapter describes the language elements and discusses programming techniques and rules.

THE PROGRAM FILES

The 10 Series part programs are stored in files which may be identified with 10 SERIES names or with DOS names.
10 SERIES names are a maximum of 48 characters in length; they identify the programs stored in the logic directories configured on the machine.
Logic directories are configured during the installation stage (PPDIR config - human interface
menu in AMP characterization).
DOS names are a maximum of 8 characters in length, plus an extension and path where applicable; they identify files resident in DOS type directories.
Mixed management of part programs is not allowed; in fact if a program is activated after being called by a DOS type name, all it subroutines must be identified with DOS names. Similarly, programs with 10 SERIES names can use only subroutines identified in the same way.
NOTE:
Part programs can also be resident on remote devices, defined in advance through the triliteral GDV (see chap. 12).
10 Series CNC Programming Manual (08) 1-1
Chapter 1
Programming with 10 Series Systems
Program Components
Address
An address is a letter that identifies the type of instruction. For example, these are addresses:
G, X, Y, F
Word
A word is an address followed by a numerical value. For example, these are words:
G1 X50.5 Z-3.15 F200 T1.1
When you assign a numeric value to a word, no zeroes must preceed or follow the value. Insert decimal values after the decimal point.
Block
A program block comprises a set of words that identify an operation or a series of operations to be performed. The maximum length of a block is 126 characters. A technological program is a sequence of blocks that describe a machining operation.
Each block must end with: <CR> <LF>.
Blocks
Blocks may include one or several fields. When several fields are used in the same block, they must appear in the order shown in the following table:
block delete
/ LABEL NUMBER # or & ALL ALLOWED
Comment blocks
It can be inserted in any position within the current block. Any character after ";" is considered as a comment.
label sequence
number
synchronisation asynchronisation
words codes
CHARACTERS
1-2 10 Series CNC Programming Manual (08)
Chapter 1
Programming with 10 Series Systems
Block delete
The block delete field is optional. It allows the operator to choose whether to execute program blocks that begin with the "/" character that are called slashed blocks.
Example: /N100 G00 X100
The block shown in the example can be enabled or disabled using the PROGRAM SET UP softkey, or typing the three-letter code DSB on the keyboard.
Label
The label field is optional. It allows the programmer to assign a symbolic name to a block. A label can have up to six alphanumeric characters which must be between quotes. In case of a slashed block, the label must be inserted after the slash.
Example: "START" /"END"
When a label field is used in a 'GTO' command, the label defines the block that the control should jump to.
Sequence number
The "sequence number" field is optional. It allows the programmer to number each program block. A sequence number begins with the letter N and is followed by up to six digits (N0-N999999).
The sequence number must appear in front of the first operand and after the label. Example:
N125 X0 "START" N125 X0 "END" N125 X0
Synchronisation/asynchronisation
Characters & and # are used to override the default synchronisation/asynchronisation status. For further information on synchronisation, see "Synchronisation and Program Execution".
Example: #(GTO,START, @PL1=1)
10 Series CNC Programming Manual (08) 1-3
Chapter 1
Programming with 10 Series Systems
Block Types
Four types of blocks can be used in a part program:
Comment blocks
Motion blocks
Assignment blocks
Three-letter command blocks
Comment blocks
A comment block allows the programmer to insert free sentences in the program. These sentences may describe the function to be executed or provide other pieces of information that make the program more understandable and documented. A comment block does not produce messages for the operator. The control ignores a comment block during execution of the program. The first character of a comment block must be a semicolon (;). The rest of the comment block is a sequence of alphanumeric characters. For example:
;THIS IS AN EXAMPLE OF COMMENT BLOCK A comment can be inserted not only in a single block, but also in other types of blocks after the
character ";".All characters after a ; considered as a comment. For example: G1 X100 Y50 ; Motion block
E1=10 ; Local variable E (ROT,45) ; Rotation command
Motion blocks
Motion blocks conform to ISO and ASCII standards for programming blocks. There is no particular order for programming the components of a motion block.
Example: G1 X500 Y20 F200
Assignment blocks
Assignment blocks are used to write variables' values directly from the program. Several types of assignments are possible as shown in the following table:
TYPE OF ASSIGNMENT EXAMPLE
Simple assignment E10=123.567 Multiple assignment E1=10, 15.5, 123.467
In multiple assignments values are loaded as follows:
10 to E1
15.5 to E2
123.467 to E3 Math expression assignment E20=(E10+125*SQR(E23)) System number SN=1.5
1-4 10 Series CNC Programming Manual (08)
Chapter 1
Programming with 10 Series Systems
Three-letter command blocks
Three-letter command blocks define an operation with a three-letter instruction in conformity with the RS-447 standard. For example:
(ROT,45) (DIS,"message text")
For the sake of compatibility between 10 Series and Series 8600 certain commands may be programmed with either of the following three-letter codes.
UGS UCG CGS CLG DGS DCG RQT RQU DPA DSA PAE ASC PAD DSC DPP DPT IPB DTL ROT URT SOL DLO UTO UOT TOU TOF
10 Series CNC Programming Manual (08) 1-5
Chapter 1
Programming with 10 Series Systems
Programmable Functions
Axis coordinates
Axis coordinates can be named with letters ABCUVWXYZPQD (according to the configuration set in AMP) and can be programmed in the following ranges:
-99999.99999 -0.00001 mm/inch +0.00001 +99999.99999 mm/inch
NOTE:
It is impossible to program coordinates in the +0.00001 range because 0.00001 is the minimum value accepted by the control.
R coordinate
In a circular interpolation (G02 G03) R represents the radius of the circle. In a standard canned cycle (G81-G89), the R coordinate defines the initial position value and retract value. This function is programmable in the following ranges:
-99999.99999 -0.00001 mm/inch +0.00001 +99999.99999 mm/inch
NOTE:
It is impossible to program values in the +0.00001 range because 0.00001 is the minimum value accepted by the control. In a threading block (G33), the R coordinate represents the offset from the zero angular position of the spindle for multi-start threads.
I J coordinates
In circular interpolation (G02-G03), I and J specify the coordinates of the center of an arc. I specifies the abscissa (typically X) and J the ordinate of the center (typically Y). I and J always specify the center coordinates regardless of the active interpolation plane. This function is programmable in the following ranges:
-99999.99999 -0.00001 mm/inch +0.00001 +99999.99999 mm/inch
NOTE:
It is impossible to program values in the +0.00001 range because 0.00001 is the minimum value accepted by the control.
When the values of the corresponding axis are expressed in diametrical units (according to the configuration set in AMP), the values of the center coordinates (I and J) are also expressed in diametrical units.
I and J coordinates are also used in the deep hole drilling cycle (G83). In a threading block (G33), the I address defines the pitch variation for variable pitch threads:
I+ Increasing pitch I- Decreasing pitch
1-6 10 Series CNC Programming Manual (08)
Chapter 1
= F
Programming with 10 Series Systems
K function
In the deep hole drilling cycle (G83), K defines the incremental value to be applied to the minimum depth value (J) in order to reduce the initial pitch depth (I). This function is programmable in the following ranges:
-99999.99999 -0.00001 mm/inch +0.00001 +99999.99999 mm/inch
NOTE:
It is impossible to program values in the +0.00001 range because 0.00001 is the minimum value accepted by the control.
In a threading block (G33) or a tapping cycle (G84), K defines the thread pitch. In helical interpolation (G02-G03), K defines the helix pitch.
F and t function
The F function defines the axes feedrate. This function is programmable in the following range:
+0.00001 +99999.99999 mm/inch
In G94, F function defines the feedrate in millimetres per minute (G71) or inches per minute (G70). A "t" value can be programmed in a block to specify the time in seconds needed to complete the
move defined in the block. In this case the block feedrate will be:
distance total
*
time
60
A "t" value is valid only in the block in which it is programmed. In G93, the F function defines the inverse of the necessary time in minutes to complete the movement:
= F
speed
(minutes)1/t =
distance total
The F function is mandatory in the blocks when G93 is active and only affects that block. In G95, F specifies the axes feedrate in millimetres per revolution (G71) or inches per revolution of the spindle (G70).
a Function
The a function defines the acceleration to use on the part program block and may be programmed in the range:
+0.00001 +99999.99999 mm/sec
The a function is considered in mm/sec
2
or inches/sec
2
in presence of G71 and in inches/sec
2
2
in presence of G70. This function is active only in the block it is programmed in and is in any case limited to the acceleration on the profile as calculated by the system in function of the accelerations configured.
M function
10 Series CNC Programming Manual (08) 1-7
Chapter 1
Programming with 10 Series Systems
The M address can activate various machine operations. The programmable range goes from 0 to
999. See Chapter 6 for further information about these functions.
S function
The S function specifies the spindle rotation speed. It is programmable in the following range:
+0.001 999999.999 rpm/fpm
In G97, the S function defines spindle rotation speed expressed in revolutions per minute. In G96, the S function defines the cutting surface speed expressed in metres per minute (G71) or
feet per minute (G70). The above cutting speed remains constant on the surface. Refer to Chapter 5 for further information about S function programming.
T function
The T function defines the tool and tool offset needed for machining. It is programmable in the 0.0 to 999999999999.300 range. The 12 digits on the left of the decimal point represent the tool identifier code and the three digits on the right represent the tool offset number.
Chapter 3 provides a detailed description of T functions.
M, S and T functions vary according to their characterisation in AMP.
IMPORTANT
From SW release 3.1 it is possible for the system to execute these functions inside a continuous move (G27-G28). When planning an application the manufacturer must:
configure the desired function as "ALLOWED IN CONTINUOUS" in AMP.
write a machine logic to handle such a function.
In turn, the programmer must remember that these functions produce different effects depending on how they are programmed:
in continuous mode a function configured as "ALLOWED IN CONTINUOUS" will be executed in the sequence in which it has been programmed. In order not to lock the program the function will be executed in "NO WAIT" mode.
in point-to-point mode a function configured as "ALLOWED IN CONTINUOUS" will be executed in standard mode.
h functions
h functions permit to alter an offset during both continuous and point to point moves. An h function must be programmed by itself in a block. Its value may range from 0 through 300 and may be either an integer or an E variable.
G functions
G codes program machining preparatory functions for machining. The following section deal with this codes.
1-8 10 Series CNC Programming Manual (08)
Chapter 1
Programming with 10 Series Systems
G Codes
This section shows how to write preparatory G codes in part program blocks. A preparatory G code is identified by the G address followed by one or two digits (G00-G99). At present, only some of the 100 possible G codes are available.
Paramacro subroutines can be called with a three-digit G code. This class of G codes is described in Chapter 9. Three-digit G codes are classified as follows:
G100 - G299 Reserved G300 - G599 Non modal paramacro range G600 - G998 Modal paramacro range G999 Reset modal paramacro
The G code must be programmed after the sequence number (if defined) and before any other operand in the block. For example:
N100 G01 X0 - operand It is possible to program several G codes in the same block, provided they are compatible with each
other. The table that follows defines compatibility between G codes. Zero indicates that the G codes are compatible and can be programmed in the same block; 1 means that the G codes are not compatible and cannot be programmed in the same block without generating an error.
10 Series CNC Programming Manual (08) 1-9
Chapter 1
Programming with 10 Series Systems
Compatible G Codes
G 00 01 020333 818980 72
G00 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 G01 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 G02 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 G03 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 G04 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 1 G09 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 1 G16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G17 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G27 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 G28 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 G29 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 1 G33 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 G40 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 1 G41 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 1 G42 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 1 G70 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 G71 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 G72 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G73 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G74 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G79 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 G80 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 1 G81 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 G82 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 G83 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 G84 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 G85 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 G86 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 G89 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 G90 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 G91 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 G92 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G93 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 G94 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 G95 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 G96 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 G97 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 G99 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
73 74
93
9697414240 272829 04 09 909179 707116 94 95
17 18 19
92 99
NOTE:
0 means compatible G codes 1 means incompatible G codes
1-10 10 Series CNC Programming Manual (08)
Chapter 1
Programming with 10 Series Systems
The following table gives a summary of the G codes available in the control. This default configuration can be modified through the AMP utility.
G code summary
CODE GROUP MODAL DESCRIPTION POWER UP
MILL GRINDING
G00 a yes Rapid axes positioning yes yes G01 a yes Linear interpolation no no G02 a yes Circular interpolation CW no no G03 a yes Circular interpolation CCW no no G33 a yes Constant or variable pitch thread no no
G16 b yes Circular interpolation and cutter diameter
compensation on a defined plane
G17 b yes Circular interpolation and cutter diameter
compensation on 1st-2nd axes plane
G18 b yes Circular interpolation and cutter diameter
compensation on 3rd-1st axes plane
G19 b yes Circular interpolation and cutter diameter
compensation on 2nd-3rd axes plane
G27 c yes Continuous sequence operation with yes yes
automatic speed reduction on corners
G28 c yes Continuous sequence operation no no
without speed reduction on corners
G29 c yes Point-to-point operation no no
G92 d no Axis presetting no no G99 d yes Delete G92 yes yes
G40 e yes Cutter diameter compensation disable yes yes G41 e yes Cutter diameter compensation-tool left no no G42 e yes Cutter diameter compensation-tool right no no G20 G21
yes yes
Closes GTL profile Opens GTL profile
no no
yes no
no yes no no
G60 yes Closes the HSM profile no no G61 yes Opens the HSM profile no no G62 no Splits the HSM profile in two with
continuity G63 no Splits the HSM profile in tw with link no no G66 no Splits the HSM profile in two with edge no no G67 no Splits the HSM profile in two with
reduced speed on edge
10 Series CNC Programming Manual (08) 1-11
no no
no no
Chapter 1
Programming with 10 Series Systems
CODE GROUP MODAL DESCRIPTION POWER UP
MILL GRINDING
G70 f yes Programming in inches no no G71 f yes Programming in millimetres yes yes
G80 g yes Disable canned cycles yes yes G81 g yes Drilling cycle no no G82 g yes Spot-facing cycle no no G83 g yes Deep hole drilling cycle no no G84 g yes Tapping cycle no no G85 g yes Reaming cycle no no G86 g yes Boring cycle no no G89 g yes Boring cycle with dwell no no
G90 h yes Absolute programming yes yes G91 h yes Incremental programming no no
G79 i no Programming referred to axis no no
home switch
G04 j no Dwell at end of block no no G09 j no Deceleration at end of block no no
G72 k no Point probing with probe tip no no
radius compensation
G73 k no Hole probing with probe tip no no
radius compensation
G74 k no Probing for theoretical deviation from a
point without probe tip radius compensation
G93 l yes Inverse time (V/D) feedrate no no
programming mode G94 l yes Feedrate programming in ipm or mmpm yes no G95 l yes Feedrate programming in ipr or mmpr no yes
G96 m yes Constant surface speed (feet per no yes
minute or metres per minute) G97 m yes Spindle speed programming in rpm yes no
no no
1-12 10 Series CNC Programming Manual (08)
Loading...
+ 451 hidden pages