CNC

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:

CNC-programing-methods
G code

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

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:
CNC-programing-metheds
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 
      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 
      M40-M45      Gear  changes;  otherwise                                 unassigned 
      M50               Coolant supply.  3 on                 
      M51               Coolant supply.  4on                             
      M52-M54      Unassigned
      M55               Linear cutter offset. 1 shift         
      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..

Previous Post Next Post