NC program listing and analysis

The aim of apart program is to produce a component of the required quality using optimum cutting conditions. If you are to playa full part in this process, you must understand the programming format. The format used in this book is called the word address format. The programming data is conveyed by blocks of words, in which each word has an idcntifying letter address. This preceding letter defines the function of the word. A block of information that defines an operation may contain several words or just a single word. If a function is to be repeated in the next block the word need not be entered again; it remains active. It is said to be modal (that is, remembered). A typical section of apart program with blocks containing modal information would bc.
Sampie block: N50 GOO X20.0 Y40.0 Z1.0
Next block: N55 G01 X20.0 Y40.0 Z-6.0 F250
Next block: N60 GOO X20.0 Y40.0 Z1.0
Since the X and Y information is repeated, this could read
[ul]N50 GOO X20.0 Y40.0 Z1.0[/ul]
[ul]N55 G01 Z-6.0 F250[/ul]
[ul]N60 GOO Zl.0[/ul]
Also with somc MCUs it is not necessary to complete a full word format. Instead, some of the zeros be fore and after the numerical information can be omitted. Thus the block
– X0223.350 Y-0015.000 Z100.000
could be written as
– X223.35 Y-15. Z100.
with the MCU said to ha’c ‘Ieading and trailing suppression’.
An MCU rcads a full block of data in advance, whilst acting upon the eurrent block of data. It is not necessary to arrange words in a specifie order, but program cheeking is easier if a regular format is used for writing programs.
The format for word address programming is shown as follows:
– N5 G2 X±43 Y±43 R43 A±33 Z±43 1±43 J±43 K±43 F4 S4 T2 M2
Here N is the sequenee number (maximum 5 digits)
Gis the preparatory function (maximum 2 digits)
X, Y and Z are movements in the respective axes, either positive or
negative, with 4 digits before and 3 digits after the decimal point R is radius of are
A is angular rotation, with 3 digits before and 3 after the decimal point
I, J and Kare secondary functions of X, Y and Z respectively
Fis the feedrate in mm per minute or mm per rev (depending upon the preparatory function used)
S is the spindie speed in revs per minute, or the surface speed in metres per minute (depending upon the preparatory function used)
T is the tool address
M is the miscellaneous code.
To achieve efficient machining you have to be aware of all methods of reducing non-cutting time and methods of achieving the best eutting conditions with optimum speeds and feeds. Moreover, to analyse a program you must also be thoroughly fa miliar with all programming. techniques, such as the use of subroutines, loops and macros. This is important for the safe proving and operation of such programs. (For further information, refer to Chapter 5 in the core book of this series.)

Not exactly sure what the intention of sharing this is. It looks like you’re sharing some info about the gcode format (AFAIK, it’s the same as NC). Marlin doesn’t act exactly like other CNC machines, and the best resource I’ve found is the rep rap wiki:

The biggest difference I’ve seen between Marlin and other firmwares (like grbl) is G00 and G01 are treated the same in Marlin, so if you want faster travel moves, your G00 commands need to explicitly have a feed part (F).