CNC
CNC |
Preparatory function
This is denoted by 'G'. It is a pre-set function associated with the movement of machine axes and the associated geometry. As discussed earlier, it has two digits, e.g. G01, G42 and G90, as per ISO specifications. However, some of the current-day controllers accept up to 3 or 4 digits. In this lecture we will only discuss some of the regular functions. ISO has standardized a number of these preparatory functions, also popularly called G codes. The standardized codes are shown below:
CODE FUNCTION
G00 Point to point positioning, rapid traverse
G01 line interpolation
G02 Circular interpolation, clockwise (WC)
G03 Circular interpolation, anti clockwise (CCW)
G04 Dwell
G05 Hold / Delay
G06 Parabolic interpolation
G07 Unassigned
G08 Acceleration of feed rate
G09 Deceleration of feed rate
G10 Linear interpolation for "long dimensions" (10 inches-100 inches)
G09 Deceleration of feed rate
G10 Linear interpolation for "long dimensions" (10 inches-100 inches)
G11 Linear interpolation for "short dimensions" (up to 10 inches)
G12 Unassigned
G13-G16 Axis designatio
G17 XY-plane designation
G18 ZX-plane designation
G19 YZ-plane designation
G20. Circular interpolation, CW for "long dimensions"
G20. Circular interpolation, CW for "long dimensions"
G21 Circular interpolation, CW for "short dimensions"
G22-G29 Unassigned
G30 Circular interpolation, CCW for" long dimensions
G31 "Circular interpolation, CCW for" short dimensions G32 Unassigned
G33 Thread cutting, constant lead
G34 Thread cutting, linearly increasing lead
G35 Thread cutting, linearly decreasing lead
G36-G39 Unassigned
G40 Cutter compensation, cancels to zero
G41 Cutter radius compensation, offset left G42 Cutter radius compensation, offset right G43 Cutter compensation, positive
G44 Cutter compensation, negative
G45-G52 Unassigned
G53 Deletion of zero offset G54-G59 Datum point / zero shift G60 Target value, positioning tolerance 1
G61 Target value, positioning tolerance 2, or loop cycle G62 Rapid traverse positioning G63 Tapping cycle
G64 Change in feed rate or speed
G65-G69 Unassigned
G70 Dimensioning in inch units
G71 Dimensioning in metric units
G72-G79 Unassigned
G80. Canned cycle canceled
G81-G89 Canned drilling and boring cycles
G90 Specifies absolute input dimensions
G92 Programmed reference point shift.
G93 Unassigned
G94 Feed rate/min (metric units when combined with
G95 Feed rate/rev (metric units when combined with
G96 Spindle feed rate for constant surface feed
G97 Spindle speed in revolutions per minute
G98-G99 Unassigned
Many of the control manufacturers follow these standard codes without altering the meaning. However, some manufacturers do change them to suit their way of programming.
It is generally possible to include more than one G address in one block, provided these functions are not mutually exclusive. For example, G02 and G03 (see details given later in this section) together in one block are normally not permissible. If they are given, the latter G code will become operational, overriding the earlier from the same category. In Fanuc, controls up to 5 G codes can be given in one block. However, in MAHO Philips 532 system, only one G code needs to be given. Though this makes the reading of the program easier, it unnecessarily increases the number of blocks in a program, and the subsequent increase in the size of the part program.
Another aspect that one should normally remember is that some of the G codes are modal, which means that they behave as settings to the control. Once given, they remain operational till canceled by another G code from the same group. A few other G codes are non modal, which means that they remain operational in the block in which they are programmed. When we are describing the G codes, it would be made clear as to which is modal and not.
Also, some of the G codes are default or turn - on codes. This means that they are operational when the controller is started. Also when the program is completed, generally the controller is reset back to the original default settings. Hence, care has to be taken by the programmer to understand the default codes in operation. This would also be mentioned along with the G - code description.
G30 Circular interpolation, CCW for" long dimensions
G31 "Circular interpolation, CCW for" short dimensions G32 Unassigned
G33 Thread cutting, constant lead
G34 Thread cutting, linearly increasing lead
G35 Thread cutting, linearly decreasing lead
G36-G39 Unassigned
G40 Cutter compensation, cancels to zero
G41 Cutter radius compensation, offset left G42 Cutter radius compensation, offset right G43 Cutter compensation, positive
G44 Cutter compensation, negative
G45-G52 Unassigned
G53 Deletion of zero offset G54-G59 Datum point / zero shift G60 Target value, positioning tolerance 1
G61 Target value, positioning tolerance 2, or loop cycle G62 Rapid traverse positioning G63 Tapping cycle
G64 Change in feed rate or speed
G65-G69 Unassigned
G70 Dimensioning in inch units
G71 Dimensioning in metric units
G72-G79 Unassigned
G80. Canned cycle canceled
G81-G89 Canned drilling and boring cycles
G90 Specifies absolute input dimensions
G92 Programmed reference point shift.
G93 Unassigned
G94 Feed rate/min (metric units when combined with
G95 Feed rate/rev (metric units when combined with
G96 Spindle feed rate for constant surface feed
G97 Spindle speed in revolutions per minute
G98-G99 Unassigned
Many of the control manufacturers follow these standard codes without altering the meaning. However, some manufacturers do change them to suit their way of programming.
It is generally possible to include more than one G address in one block, provided these functions are not mutually exclusive. For example, G02 and G03 (see details given later in this section) together in one block are normally not permissible. If they are given, the latter G code will become operational, overriding the earlier from the same category. In Fanuc, controls up to 5 G codes can be given in one block. However, in MAHO Philips 532 system, only one G code needs to be given. Though this makes the reading of the program easier, it unnecessarily increases the number of blocks in a program, and the subsequent increase in the size of the part program.
Another aspect that one should normally remember is that some of the G codes are modal, which means that they behave as settings to the control. Once given, they remain operational till canceled by another G code from the same group. A few other G codes are non modal, which means that they remain operational in the block in which they are programmed. When we are describing the G codes, it would be made clear as to which is modal and not.
Also, some of the G codes are default or turn - on codes. This means that they are operational when the controller is started. Also when the program is completed, generally the controller is reset back to the original default settings. Hence, care has to be taken by the programmer to understand the default codes in operation. This would also be mentioned along with the G - code description.
Miscellaneous functions, M
These functions actually operate some controls on the machine tool and thus affect the running of the machine. Generally, only one M code is supposed to be given in a single block. However, some controllers allow for two or more M codes to be given in a block, provided these are not mutually exclusive, c. g. coolant ON (MO7) and OFF (M09) cannot be given in one block.
Less number of M codes have been standardized by ISO compared to G codes in view of the direct control exercised by these on the machine tool. The Iso standard M codes are shown below:
M code |
CODE FUNCTION
M00 Program stop, spindle and coolant off
M01 Optional programmable stop
M02 End of program often interchangeable with M30 M03 Spindle on, CW
M04 Spindle on, ccw
M05 Spindle stop
M06 Tool change
M07 Coolant supply l on
M08 Coolant supply 2 on
M09 Coolant off
M10 Clamp
M11 Unclamp
M12 Unassigned
M13 Spindle on, CW+coolant on
M14 Spindle on, CCW+coolanton
M15 Rapid traverse in+direction
M16 Rapid traverse in-direction
M17- M18 Unassigned
M14 Spindle on, CCW+coolanton
M15 Rapid traverse in+direction
M16 Rapid traverse in-direction
M17- M18 Unassigned
M19 Spindle stop at specified angular position
M20-M29 Unassigned
M30 program stop at end tape+tape rewind
M31 Interlock bypass
M32-M35 Constant cutting velocity
M36-M39 Unassigned
M36-M39 Unassigned
M40-M45 Gear changes; otherwise unassigned
M50 Coolant supply. 3 on
M51 Coolant supply. 4on
M52-M54 Unassigned
M51 Coolant supply. 4on
M52-M54 Unassigned
M55 Linear cutter offset. 1 shift
M56 Linear cutter offset. 2 shift
M57-M59 Unassigned age
M56 Linear cutter offset. 2 shift
M57-M59 Unassigned age
M60 Piece part change
M61 Linear piece part shift, location 1
M62 Linear piece part shift, location 2
M63-M67 Unassigned
M68 Clamp piece part
M69 Unclamp piece part
M70 Unassigned
M71 Angular piece part shift, location 1
M72 Angular piece part shift, location 2
M73-M77 Unassigned
M78 Clamp non - activated machine bed - ways
M79 Unclamp non - activated machine bed - ways
M80-M99 Unassigned
Some of the common miscellaneous functions often found in many a controller are described here.
1. MOD
This would terminate the auto operation machine after completing the instructions in the block in which it has been programmed. This is called program stop and if it is required to continue with the rest of the program, the 'start button on the console is to be pressed. This is useful for changing the clamp position or to carry out inspections inspection of a particular dimension after a machining cut is taken. This being a pause function, and call for the attention of the operator, delays the completion of the program and, therefore, should bel be avoided as far as possible.
2. MDI
This is optional stop and stops the machine, as in the case of M00, only if the “Optional stop” switch on the controller console is 'ON'. This is useful when inspection is to be carried out on some components and not all in a given batch.
3. MO2
This is end of program and it causes the stopping of the machine and clearing of all the control registers. Another code, M30, also does the same function.
4. MD3
The miscellaneous function for machine - spindle control for clockwise rotation. This starts the spindle to move u the clockwise direction at the speed set earlier using the S word address. When it is given in a block. it would be the first code to be executed before all the other codes in a block are acted upon.
5. MD4
The miscellaneous function for machine - spindle control for counterclockwise rotation. This start the spindle to move in the counterclockwise direction at the speed set earlier using the S word address. When it is given in a block, it would be the first code to be executed before all the other codes in a block are acted upon.
6. MO5
It is the miscellaneous function for stopping the machine spindle. When it is given in a block it would last code to be executed after all the other codes in a block are acted upon.
7. MD6
is for tool change.
8.M07
are for 'Coolant 1On'
9. MD8
are for Coolant 2On '
10. MD9
is for 'Coolant off.
11. MI3
The miscellaneous function for machine spindle - control for clockwise rotation and the starting of the coolant simultaneously. This starts the spindle to move in the clockwise direction at the speed set earlier using the S word address. When it is given in a block, it would be the first code to be executed before all the other cousins in a block are acted upon.
12. M30
It is similar to M02. It indicates end of tape rewind. If a paper tape is used, the tape is rewind till the % sign is encountered. For machines with RAM, the active program comes to the beginning. Many a times, M02 and M03 are synonymous in operation in modern day controllers.
Post a Comment
Comment for more information..