Codes may be modal, that is, they remain in affect until cancelled or cleared by another code from the same ‘modal family’ in another block. Non modal codes apply only in the block which they are programmed. Within each ‘family’ group of G codes, the execution of any G code will cancel the other G codes inside that group.
Example: G01 will cancel G00, G02, G03 or G33
The examples of modal ‘G’ codes shown in the chart below are a general list based on ISO standard ‘G’ codes. For more specific modal codes you should refer to the manufacturers specifications supplied with the MCU.
Modal G code groups
4.16.1 G codes for milling Sinumeric 820 M control unit
The following list of codes are presented in their ‘family groups’ with a brief description of each code. These groups are significant in that codes from the same group may not appear in the same block in a program simply because by being modal they cancel each other.
|
Code
|
Function
|
I
|
GOO
|
Rapid positioning * Commands rapid movement in an appropriate straight line to the commanded position.
|
I
|
GOI
|
Linear interpolation * Movement at the feed rate to the commanded position.
|
1
|
G02
|
Circular interpolation clockwise * Movement in an arc at the feed rate to the required position
|
I
|
G03
|
Circular interpolation counter clockwise * Movement in an arc at the feed rate to the required position
|
2
|
G04
|
Dwell, duration under address X, F or S
G04 Xl.O = one second dwell
G04 FIOO = one fifth of a minute if the feed rate is 500 mm/minute
G04 S I 00 = one sixth of a minute if the speed is 600 revolutions/minute
|
4
|
Gl7
|
Plane selection X, Y * Circular interpolation is calculated in the X/Y plane. Arc centre values to be in I and/or J, or radius if available
|
4
|
GIS
|
Plane selection X, Z * Circular interpolation is calculated in the X/Z plane. Arc centre values to be in I and/or K, or radius if available.
|
4
|
Gl9
|
Plane selection Y, Z * Circular interpolation is calculated in the Y/Z plane. Arc centre values to be in J and/or K, radius if available.
|
55
|
G25 G26
|
Minimum working area limitation Maximum working area limitation *
The G25/G26 codes may be used to define in absolute, the maximum and minium co-ordinate values for an area into which the tool must not travel
|
7
|
G40
|
Cutter radius compensation cancel
|
7
|
G41
|
Cutter radius compensation left
|
7
|
G42
|
Cutter radius compensation right * If accurate contours are to be produced and tool wear is to be taken into consideration, then some means must be available whereby an adjustment to the ‘radius value’ in the offset register for a cutter will cause an adjustment to the cutter path. Job size and shape can be controlled without changing the program by using cutter radius compensation. For a full explanation refer to the cutter radius compensation section of this book.
|
S
|
G53
|
Suppression of zero offset * Used to suppress G54 to G57 codes
|
9
|
G54
|
Zero offset No. I
|
9
|
G55
|
Zero offset No.2
|
9
|
G56
|
Zero offset No.3
|
|
G57
|
Zero offset No.4 * Machine zero is a position set by the manufacturer and doesn't vary from day to day, but the position of the job on the machine table will vary from job to job and a code must be available by which this ‘job zero’ position may be identified in the program. G54 to G57 may be used to drive the tool to the job zero position. ego G55 XO YO For a full explanation see the zero offset section in this book
|
1010
|
G58 G59
|
Programmable additive zero offset No. 1 Programmable additive zero offset No.2 * The G58 and G59 codes are used to add to or subtract from already programmed values in the G54 to G57 register. ego G58 X100.0 will add 100 mm to the zero offset being used.
|
11
|
G60
|
Speed reduction, fine exact positioning. * The group 11 codes are used to control deceleration and transition to the next block to prevent movement in the new block commencing before the tool has completed the current move. G60 provides the maximum deceleration zone at the end of each block. Sometimes called square comer mode.
|
11
|
G62
|
Continuous path operation, block transition with speed reduction. * G62 provides the minimum deceleration zone at the end of each block of movement before continuing with the next block. Sometimes called round comer mode.
|
13
|
G70
|
Imperial input * Dimensions are interpreted as inches.
|
13
|
G71
|
Metric input * Dimensions are interpreted as millimetres
|
14
|
G50 G51
|
Cancel scale modification Scale modification * The size of a job may be increased or decreased. ego G51 P60 the job is reduced to 60% of the programmed size.
|
15
|
G90
|
Absolute dimensioning. * The co-ordinates are interpreted as distances from the absolute zero position.
|
17
|
G94
|
Feed rate, address F is in mm/min
|
17
|
G95
|
Feed rate, address F is in mm/rev
|
19
|
G80
|
Cancels G81 to G89
|
19
|
G81
|
Drilling and centreing
|
19
|
G82
|
Drilling and spot facing
|
19
|
G83
|
Deep hole drilling, pecking
|
19
|
G84
|
Threading (tapping with encoder) * see section on work cycles in this book for a full description of G81 to G84.
|
Okuma OSP5000L Control unit
This list is an edited list of the more common commands applicable to an OKUMA LB 15 two axis lathe.
G00
|
Rapid transverse
|
G0l
|
Linear interpolation
|
G02
|
Circular interpolation C. W.
|
G03
|
Circular interpolation C. C. W.
|
G04
|
Dwell
|
G3l
|
Fixed thread cutting cycle
|
G32
|
Fixed thread cutting cycle, End face (Transverse)
|
G33
|
Fixed thread cutting cycle, Longitudinal
|
G34
|
Variable lead thread cutting cycle (Increasing lead)
|
G35
|
Variable lead thread cutting cycle (Decreasing lead)
|
G40
|
Tool nose radius compensation: Cancel
|
G4l
|
Tool nose radius compensation: I. D. ordinary cutting (Left of programmed line)
|
G42
|
Tool nose radius compensation: O. D. ordinary cutting (Right of programmed line)
|
G50
|
Maximum spindle speed designation
|
G50
|
Zero offset
|
G7l
|
Longitudinal thread cutting fixed cycle
|
G72
|
Transverse thread cutting fixed cycle
|
G73
|
Longitudinal grooving fixed cycle: OD/ID groove
|
G74
|
Longitudinal grooving fixed cycle: Face groove/drilling
|
G75
|
Automatic chamfering 45 0
|
G76
|
Rounding
|
G77
|
set pitch error compensation: C axis
|
G80
|
End of contour definition
|
G8l
|
Start of longitudinal contour definition
|
G82
|
Start of transverse contour definition
|
G84
|
Change of rough cut conditions for bar turning
|
G90
|
Absolute programming
|
G9l
|
Incremental
|
G94
|
Feed rate mode: mm/min. mode
|
G95
|
Feed rate mode: mm/rev. mode
|
G96
|
Constant speed cutting: On (meters per min)
|
G97
|
Constant speed cutting’ OFF (R.P.M)
|
0180
|
MUltiple fixed cycle cancel: (LCM) Milling functions
|
0181
|
Drilling cycle : (LCM) Milling functions
|
0182
|
Boring cycle : (LCM) Milling functions
|
G183
|
Deep hole drilling cycle : (LCM) Milling functions
|
G184
|
Tapping cycle : (LCM) Milling functions
|
G185
|
Longitudinal thread cutting cycle : (LCM) Milling functions
|
4.16.3 ‘X’ ‘Y’ ‘Z’ axis movements
These addresses refer to the axis or group of axes that are required to move in the particular block. These can be programmed as incremental or absolute moves, dependent on the Modal G Code at that time. Modal codes will be dealt with in more detail shortly.
4.16.4 ‘T’, ‘J’ and ‘K’ arc centre offsets
These words are used to further describe the motion required when travelling in a circular path. They do this by specifying the centre of the arc in relationship the start point of the curve. Arc centre offsets and their codes are dealt with in the section on programming for circular interpolation.
Some Machine Control Units also use the ‘I’, ‘J’ and ‘K’ values when defining cutter radius compensation.
4.16.5 ‘F’ feed rate designation
The value associated with this address informs the MCU of the required vector speeds of the axes during the cutting motion. Exactly how the ‘F’ value will be interpreted depends on the modal ‘G’ command in force at any given time.
For example: If the modal ‘G’ command was G94 any ‘F’ value would be interpreted as mm/min.
If the modal ‘G’ command was G95 any ‘F’ value would be interpreted as mm/rev.
4.16.6 ‘T’ tool numbers
This is usually a four digit designation where the first two digits refer to the actual tool number and the last two digits, calls up the appropriate tool offsets. Tool offsets are in fact the way we communicate to the machine the type and physical size of each individual tool being used. This topic will be discussed in detai11ater in this guide.
The command T0707 is interpreted as tool 7 and tool offset 7.
On some control units the tool offsets are called up using the letter address D or H. On the Siemens 820M control a tool offset is identified by the letter address D.
Thus the command T03D03 is interpreted as tool 3 and tool offset 3.
Note: Tool numbers and tool offsets are modal.
4.16.7 ‘S’ spindle speeds
The address ‘S’ is followed by up to four digits that call up a particular spindle speed revolutions per minute (RPM). ego S2000. S codes are modal. In case of CNC lathes which have a constant cutting speed function, an S code is also used to set constant cutting speed. ego G96 S150 will maintain a cutting speed of 150 m/min regardless of changes in the diameter of the work. On a CNC lathe this feature will automatically increase or decrease spindle RPM in relation to the work piece diameter.
4.16.8 ‘M’ miscellaneous functions
The ‘M’ code refers to any of the miscellaneous function the control should perform on command. Typical miscellaneous functions are: spindle start, stop, coolant on/off, rewind. As these codes listed below are based on ISO standards may not all be applicable to all CNC machines. Your machine tool manual should be used as the final guide.
Miscellaneous functions use an ‘M’ code up to two digits. Normally most controls will only read a maximum of two ‘M’ codes in anyone block of information.
For example: G01 X300. Y210, M03, M08
Sinmeric M codes for 820M
|
Programmed stop, unconditional* The program will stop operation including spindle stop.
|
MOl
|
Programmed stop, conditional * Same as MOO. Only active when the option stop switch in ON.
|
M02
|
Program end * Indicates the end of a main file.
|
M03
|
Spindle start
|
M04
|
Spindle start, counter clockwise.
|
MOS
|
Spindle stop, non oriented.
|
M06
|
Automatically loads tool to the spindle.
|
M08
|
Coolant on
|
M09
|
Coolant off.
|
M17
|
Subroutine end * Indicates the end of a subroutine (sub-program file)
|
Ml9
|
Spindle stop with orient * Ready mirror image
|
M20
|
Cancel mirror image
|
M21
|
Mirror image in the X axis
|
M22
|
Mirror image in the Y axis * The mirror image function reverses all X and Y coordinates to produce a component of the opposite hand.
|
M30
|
Program end, with rewind. * Indicates the end of a main program file and returns control to the start of the program.
|
M34
|
Selects high range for spindle speed. By selecting a spindle speed less than 960 rev's the spindle would normally be in low range, and in this range the spindle inertia is such that the reversal of spindle direction, at tapping depth, the spindle takes a number of turns without Z axis feed tending to pull the tap from its holder (axial float holders must be used). Selecting high range reduces the spindle inertia and minimises the above effect.
|
Okuma CNC lathe
This is an edited list of the more common miscellaneous function codes for the OKUMA LB15 lathe fitted with an OSP5000L MCU.
|
Program stop
|
MOl
|
Optional stop
|
M02
|
End of program
|
M03
|
spindle forward (C. W.)
|
M04
|
Spindle reverse (C. C. W.)
|
M05
|
Spindle stop
|
M08
|
Coolant ON
|
M09
|
Coolant OFF
|
MI2
|
Stops M-Tool rotation
|
M13
|
Starts M-Tool rotation C. W.
|
Ml4
|
Starts M-Tool rotation C. C. W.
|
Ml5
|
Index ‘c’ -Axis in positive direction.
|
Ml6
|
Index ‘c’ -Axis in negative direction.
|
MI9
|
Spindle orientation
|
M22
|
Cancel ofM23 (Chamfering)
|
M23
|
Chamfering ON
|
M24
|
Chuck barrier function/tool interference check OFF
|
M25
|
Chuck barrier function/tool interference check ON
|
M26
|
Thread lead along ‘Z’ axis
|
M27
|
Thread lead along ‘X’ axis
|
M30
|
End of tape
|
M32
|
Straight infeed along thread face mode
|
M33
|
Zig zag infeed in thread cutting
|
M40
|
Spindle neutral
|
M41
|
Spindle speed range selection
|
M42
|
Spindle speed range selection
|
M43
|
Spindle speed range selection
|
M44
|
Spindle speed range selection
|
M50
|
Spare air blower function OFF
|
M51
|
Spare air blower function ON
|
M55
|
Tailstock quill retract
|
M56
|
Tailstock quill advance
|
Share with your friends: |