CNC | Program Data Override

All CNC units are designed with a number of special rotary switches that share one common feature – they allow the CNC operator to override programmed spindle speed or programmed speed of an axis motion. For example, a 15 in/min feedrate in the program produces a slight chatter. A knowledgeable operator will know that by increasing the feedrate or decreasing the spindle speed, the chatter may be eliminated. It is possible to change the feedrate or the spindle speed by editing the program, but this method is not very efficient. A certain ‘experimentation’ may be necessary during actual cut to find the optimum setting value. Manual override switches come to the rescue, because they can be used by trial during operation. There are four override switches found on most control panels :

  • Rapid feedrate override (rapid traverse) (modifies the rapid motion of a machine tool)
  • Spindle speed override (modifies the programmed spindle r/min)
  • Feedrate override (cutting feedrate) (modifies the programmed feedrate)
  • Dry run mode (changes cutting motions to a variable speed)

Override switches can be used individually or together. They are available on the control to make work easier for both the operator and the programmer. Operator does not need to ‘experiment’ with speeds and feeds by constantly editing the program and the programmer has a certain latitude in setting reasonable values for cutting feedrates and spindle speed. The presence of override switches is not a licence to program unreasonable cutting values. Overrides are fine tuning tools only – part program must always reflect the machining conditions of the work. Usage of override switches does not make any program changes, but gives the CNC operator an opportunity to edit the program later to reflect all optimum cutting conditions. Used properly, override switches can save a great amount of valuable programming time as well as setup time at CNC machine.

Rapid Motion Override

Rapid motions are selected in the CNC program by a preparatory command without a specified feedrate. If a machine is designed to move at 985 in/min (25000 mm/min) in the rapid mode, this rate will never appear in the program. Instead, the rapid motion mode is called by programming a special preparatory command G00. During program processing, all motions in G00 mode will be at the manufacturer’s fixed rate. The same program will run faster on a machine with a high rapid motion rating then on a machine with a low rapid motion rating.

During setup, the rapid motion rate may require some control for program proving, when very high rapid rates are uncomfortable to work with. After a program had been proven, rapid rate can be applied at its maximum. CNC machines are equipped with a rapid override switch to allow temporary rapid motion settings. Located on the machine control panel, this switch can be set to one of four settings. Three of them are usually marked as the percentage of the maximum rate, typically as 100%, 50% and 25%. By switching to one of them, the rapid motion rate changes. For example, if the maximum rapid rate is 985 in/min or 25000 mm/min, the actual reduced rates are 493 in/min or 12500 mm/min at the 50% setting and 246 in/min or 6250 mm/min at the 25% setting. Each of the reduced rates is more comfortable to work with during setup.

The fourth position of the switch often has no percentage assigned and is identified as an F1 or by a small symbol. In this setting, the rapid motion rate is even slower than that of 25% setting.Why is it not identified as 10% or 15%, for example? The reason is simple – control system allows a customized selection as to what the setting will be. It may be a setting of between 0 and 100%. The default setting is also the most logical – usually 10% of the maximum rapid traverse rate. This setting should never be higher than 25% and can be done only through setting of a system parameter. Make sure that all persons who work on such a machine are aware of the changes.

Spindle Speed Override

The same logic used for the application of rapid rate override can be used for the spindle speed override. The required change can be established during actual cutting by using the spindle speed override switch, located on the machine control panel. For example, if the programmed spindle speed of 1000 r/min is too high or too low, it may be changed temporarily by the switch. During actual cutting, the CNC operator may experiment with the spindle speed override switch to find the optimum speed for given cutting conditions. This method is a much faster than ‘experimenting’ with the program values.
Spindle speed override switch can be continuous on some controls or selectable in increments of 10%, typically within the range of 50-120% of the programmed spindle speed. A spindle programmed at 1000 r/min can be overridden during machining to 500, 600, 700, 800, 900, 1000, 1100 and 1200 r/min. This large range allows the CNC operator certain flexibility of optimizing spindle rotation to suit given cutting conditions. There is a catch, however. The optimized spindle speed change may apply to only one tool of the many often used in the program.No CNC operator can be expected to watch for that particular tool and switch the speed up or down when needed. A simple human oversight may ruin the part, the cutting tool or both. The recommended method is to find out the optimum speed for each tool, write it down, then change the program accordingly, so all tools can be used at the 100% spindle override setting for production.
Comparison of the increments on the spindle override switch with the increments on switches for rapid traverse override (described earlier) and the feedrate override (described next), offers much more limited range. The reason for the spindle speed range of 50% to 120% is safety. To illustrate with a rather exaggerated example, no operator would want to mill, drill or cut any material at 0 r/min (no spindle rotation), possibly combined with a heavy feedrate.
In order to change the selected override setting into 100% speed in the program, a new spindle speed has to be calculated. If a programmed spindle speed of 1200 r/min for a tool is always set to 80%, it should be edited in the program to 960 r/min, then used at 100%. The formula is quite simple:
Sn = Sp x p x 0.01
Sn = Optimized – or NEW – r/min
Sp = Originally programmed r/min
p = Percentage of spindle override
Overriding the programmed spindle speed on CNC machines should have only one purpose – to establish spindle speed rotation for the best cutting conditions.

CNC Operator Panel

Feedrate Override

Probably themost commonly used override switch is one that changes programmed feedrates. For milling controls, the feedrate is programmed in in/min or m/min. For lathe controls, the feedrate is programmed in in/rev or in mm/rev. Feedrate per minute on lathes is used only in cases when the spindle is not rotating and the feedrate needs to be controlled.
The new feedrate calculation, based on the overridden feedrate setting, is similar to that for spindle speed:
Fn = Fp x p x 0.01
Fn = Optimized – or NEW – feedrate
Fp = Originally programmed feedrate
p = Percentage of feedrate override
Feedrate can be overridden within a large range, typically from 0% to 200% or at least 0% to 150%. When the feedrate override switch is set to 0%, the CNC machine will stop the cutting motion. Some CNC machines do not have the 0% percent setting and start at 10%. This can be change by a system parameter. The maximum of 150% or 200% cutting feedrate will cut 1.5 or 2 faster than the programmed feedrate amount.
There are situations, where the use of a feedrate override would damage the part or the cutting tool – or both. Typical examples are various tapping cycles and single point threading. These operations require spindle rotation synchronized with the feedrate. In such cases, the feedrate override will become ineffective. Feedrate override will be effective, if standard motion commands G00 and G01 are used to program any tapping or thread cutting motions. Single point threading command G32, tapping fixed cycles G74 and G84, as well as lathe threading cycles G92 and G76 have feedrate override cancellation built into the software.

Dry Run Operation

Dry run is a special kind of override. It is activated from the control panel by the Dry Run switch. It only has a direct effect on the feedrate and allows much higher feedrate than that used for actual machining. In practice, it means the program can be executed much faster than using a feedrate override at the maximum setting. No actual machining takes place when the dry run switch is in effect.
What is the purpose of the dry run and what are its benefits? Its purpose is to test the program integrity before the CNC operator cuts the first part. Benefits are mainly in the time saved during program proving when no machining takes place. During dry run, part is normally not mounted in the machine. If the part is mounted in a holding device and the dry run is used as well, it is very important to provide sufficient clearances. Usually, it means moving the tool away from the part. Program is then processed ‘dry’, without actual cutting, without a coolant, just in the air. Because of the heavy feedrates in dry run, no part can be machined safely. During dry run, the program can be checked for all possible errors except those that relate to the actual contact of cutting tool with the material.

Dry run is a very efficient setup aid to prove overall integrity of a CNC program. Once a program is proven during dry run, CNC operator can concentrate on those sections of the program that contain actual machining. Dry run can be used in combination with several other features of the operation panel.

Make sure to disable dry run before machining !

Z-Axis Neglect

Another very useful tool for testing unproven programs on CNC machining centers (not lathes) is a toggle switch located on the operation panel called Z-axis Neglect or Z-axis Ignore. As either name suggests, when this switch is activated, any motion programmed for the Z-axis will not be performed.Why the Z-axis? Since the X and Y axes are used to profile a part shape (the most common contouring operations), it would make no sense to temporarily cancel either one of these axes. By temporarily neglecting, that is disabling, the Z-axis temporarily, CNC operator can concentrate on proving the accuracy of the part contour, without worrying about depth motions. Needless to say, this method of program testing must take place without a mounted part, and normally without a coolant as well. Be careful here! It is important to enable or disable the switch at the right time. If the Z-axis motion is disabled before the Cycle Start key is pressed, all following Z-axis commands will be ignored. If the motion is enabled or disabled during program processing, the position of Z-axis may be inaccurate.
Z-axis neglect switch may be used in both manual and automatic modes of operation. Just make sure that the motion along the Z-axis is changed back to the enabled mode, once the program proving is completed. Some CNC machines require resetting of the Z-axis position settings.

Manual Absolute Setting

Some older CNC machines had a toggle switch identified as Manual Absolute, that could be set to ON or OFF position. If installed, its purpose is simple – if a manual motion is made during program processing, for example to move a drill to inspect a hole, work coordinates are updated if the switch is ON, but they are not updated if the switch is OFF. In practice, this switch should always be ON – and for that reason, most controls do not have this switch anymore.

Sequence Return

Sequence Return is a special function controlled by a switch or a key on the control panel. Its purpose is to enable the CNC operator to start a program from the middle of an interrupted program. Certain programmed functions are memorized (usually the last speed and feed), others have to be input by the Manual Data Input key. Operation of this function is closely tied to actual machine tool design. More information on the usage can be found in the machine tool manual. This function is very handy when a tool breaks during processing of very long programs. It can save valuable production time, if used properly.

Auxiliary Functions Lock

There are three functions available to the operation of a CNC machine that are part of ‘auxiliary functions’ group. These functions are:
Miscellaneous functions lock : Locks ‘M’ functions
Spindle functions lock : Locks ‘S’ functions
Tool functions lock : Locks ‘T’ functions
Auxiliary functions control such machine functions as spindle rotation, spindle orientation, coolant selection, tool changing, indexing table, pallets and many others. To a lesser degree, they also control some program functions, such as compulsory or optional program stop, subprogram flow, program closing and others.
When auxiliary functions are locked, all machine related miscellaneous functions M, all spindle functions S and all tool functions T will be temporarily suspended. Some machine manufacturers prefer the name MST Lock rather than Auxiliary Functions Lock. MST is an acronym of the first letters from the words Miscellaneous, Spindle and Tool, referring to the program functions that will be locked.
Applications of these locking functions are limited to job setup and program proving only and are not used for production machining.

Machine Lock

Machine Lock function is yet another control feature for program proving. So far, we have looked at the Z-axis Neglect function and locking of the auxiliary functions. Remember that the Z-axis Neglect function will disable the motion of Z-axis only and the Auxiliary Functions Lock (also known as MST lock) locks miscellaneous functions, spindle functions and tool functions. Another function, also available through the control panel, is called machine lock. When this function is enabled, motion of all axes is locked.
It may seem strange to test a program by locking all tool motions, but there is a good reason to use this feature. It gives the CNC operator a chance to test the program with virtually no chance of a collision.
When machine lock is enabled, only the axis motion is locked. All other program functions are available, including tool change and spindle functions. This function can be used alone or in combination with other functions in order to discover possible program errors. The most typical errors are syntax errors and the various tool offset functions.

Practical Applications

Many of the control features described in this article, are used in conjunction with each other. A good example is Dry Run used in conjunction with the Z-axis Neglect or the Auxiliary Functions Lock. By knowing what function are available, CNC operator makes a choice to suit the needs of the moment. There are many areas of equal importance on which the CNC operator has to concentrate when setting up a new job or running a new program.Many features of the control unit are designed to make operator’s job easier. They allow a focus on one or two items at a time rather than the complexity of the whole program. These features have been covered in a reasonable detail, now is the time to look at some practical applications.
During initialization of a new program run, a good CNC operator will take certain precautions as a matter of fact. For example, the first part of the job will most likely be tested with a rapid motion set to 25% or 50% of the available rapid rate. This reduced setting allows the operator to monitor the program integrity, as well as specific details. These details may include items such as a possibility of insufficient clearance between tool and stock, checking if the toolpath looks reasonable, and so on.
CNC operator will have a number of tasks to perform simultaneously. Some of these tasks include monitoring spindle speed, feedrate, tool motions, tool changes, coolant, etc. A careful and conscious approach results in building the confidence in the integrity of a CNC program. It may be the second or even the third part of the job when CNC operator starts thinking of the optimization of cutting values, such as spindle speed and cutting feedrates. This optimization will truly reflect the ideal speeds and feeds for a particular part under given setup.
Production supervisor should not arbitrarily criticize an override setting less than 100%. Many managers consider the CNC program as an unchangeable and perfect document. They take the attitude that what is written is infallible – which is not always true. Often, the CNC operator may have no other choice but to override programmed values. What is most important, is modification of the program that reflects the optimized cutting conditions.
Once the machine operator finds what values must be changed in the program itself, this program must be edited to reflect these changes. Not only for the job currently worked on, but also for any repetition of the same job in the future. After all, it should be the goal of every programmer and CNC operator, to run any job at one hundred percent efficiency. This efficiency is most likely reached as a combined effort of the operator and the programmer. Good CNC programmer will always make the effort to reach 100% efficiency at the desk and then improve the program even further.