In many control and machine manuals, block skip function is also called the block delete function. The expression ‘block delete’ offers rather a misleading description, since no program blocks will actually be deleted during processing, but only skipped. For this good reason, the more accurate description of this function is the block skip function, a term used in this article. This function is a standard feature of virtually all CNC controls. Its main purpose is to offer the programmer some additional flexibility in designing a program for no more than two conflicting possibilities. In the absence of a block skip function, the only alternative is to develop two individual part programs, each covering one unique possibility.
To understand the idea of two conflicting possibilities, consider this programming application. The assignment is to write a program for a facing cut. The problem is that the blank material for parts delivered to the CNC machine is not consistent in size. Some blanks are slightly smaller in size and can be faced with a single cut. Others are larger and will require two facing cuts. This is not an uncommon occurrence in CNC shops and is not always handled efficiently. Making two inefficient programs is always an option, but a single program that covers both options is a better choice – but only if the block skip function is used in such a program and machine operator understands it.
This challenge illustrates a situation, where two conflicting options are required in a program at the same time. The most obvious solution would be to prepare two separate programs, each properly identified as to its purpose. Such a task can be done quite easily, but it will be a tedious, time consuming and definitely an inefficient process. The only other solution is to write a single program, with tool motions covering facing cuts for both possibilities. To avoid air cutting for those parts that require only one cut, a block skip function will be provided in the program and applied to all blocks relating to the first facing cut. The ‘second’ cut will always be required!
Other common applications of the block skip function include a selective ON/OFF status toggle, such as the coolant function, optional program stop, program reset, etc. Also useful are applications for bypassing a certain program operation, applying or not applying a selected tool to a part contour and others. Any programming decision that requires a choice from two predetermined options is a good candidate for the block skip function.
Block Skip Symbol
To identify block skip function in a program, a special programming symbol is required. This block skip function symbol is represented by a forward slash [ / ]. Control system will recognize the slash as a code for block skip. For most of CNC programming applications, the slash symbol is placed as the first character in a block:
Example 1 :
N1 … (ALWAYS PROCESSED)
N2 … (ALWAYS PROCESSED)
N3 … (ALWAYS PROCESSED)
/ N4 … (PROCESSED ONLY IF BLOCK SKIP IS OFF)
/ N5 … (PROCESSED ONLY IF BLOCK SKIP IS OFF)
/ N6 … (PROCESSED ONLY IF BLOCK SKIP IS OFF)
N7 … (ALWAYS PROCESSED)
N8 … (ALWAYS PROCESSED)
On some control systems, the block skip code can also be used selectively for certain addresses within a block, rather than at its beginning. Check control manual if such a technique can be used – it can be very powerful:
Example 2 :
N7 G00 X50.0 / M08
N8 G01 …
In those cases, when the control system does allow the block skip within a programmed block, all instructions before the slash code will be executed, regardless of the block skip toggle setting. If the block skip function is turned ON (block skip function is active), only instructions following the slash code, will be skipped. In the Example 2, coolant function M08 (block N7) will be skipped. If the block skip function is turned OFF (block skip function is not active), the whole block will be executed in Example 2, including the coolant function.
Control Unit Setting
Regardless of the slash code position within a block, the program will be processed in two ways. Either in its entirety, or any instruction following the slash within a block will be skipped (ignored). The final decision whether or not to use block skip function is made during actual machining, by the operator, depending on the machining requirements. For this purpose, a push button key, a toggle switch, or a menu item selection is provided on the control panel of the CNC unit. Selection of block skip mode can be either as active (ON) – or inactive (OFF).
Most programs will not require any block skip functions. In such cases, the setting mode for block skip function on the control panel is irrelevant, but OFF mode is strongly recommended. The switch setting becomes very important, if the program contains even a single block containing the slash symbol. The active setting ON will cause all instructions in a block following the slash code to be ignored during program processing. The inactive setting OFF will cause the control to ignore the slash code and process all instructions written in the program block.
Block skip function set to ON position means ‘Ignore all block instructions following the slash’
Block skip function set to OFF position means ‘Process all block instructions’
In the Example 1 listed earlier, the contents of blocks N4, N5 and N6 will be ignored, if the block skip function is ON. They will be processed, if the switch setting is OFF. The Example 2, also listed earlier, contains a slash in block N7. The slash symbol precedes miscellaneous function M08 (coolant ON). If the skip function switch is ON, the coolant will be ignored; if it is OFF, the coolant function will be effective. This application may be useful in a dry run mode, to bypass coolant flood during program verification, if no manual override is available.
Not all controls allow the slash code in any other block position, except as the first character in the block: / N..