CNC | Control Systems Features

General Description

CNC unit is nothing more than a sophisticated special purpose computer. The ‘special purpose’ in this case is a computer capable of controlling the activities of a machine tool, such as lathe or machining center. It means the computer has to be designed by a company that has expertise in this type of special purpose computers. Unlike many business types of computers, each CNC unit is made for a particular customer. The customer is typically a machine manufacturer, not the end user. The manufacturer specifies certain requirements that the control system has to meet, requirements that reflect uniqueness of the machines they build. Basic control does not change, but some customized features may be added (or taken away) for a specific machine. Once a control system is sold to the machine manufacturer, more features are added to the whole system. They relate to the design and capabilities of the machine.
A good example is a CNC unit for two machines that are the same in all respects except one. One machine has a manual tool changer, the other has an automatic tool changer. In order to support the automatic tool changer, the CNC unit must have special features built in, that are not required for a machine without the tool changer. The more complex a CNC system is, the more expensive it is. Users that do not require all sophisticated features, do not pay a premium for features they do not need.

Parameter Settings

Information that establishes the built-in connection between the CNC control and the machine tool is stored as special data in internal registers, called system parameters. Some of the information in this handbook is quite specialized and listed for reference only. Programmers with limited experience do not need to know system parameters in a great depth. Original factory settings are sufficient for most machining jobs.
When the parameter screen is displayed, it shows the parameter number with some data in a row. Each row of numbers represents one byte, each digit in the byte is called a bit. The word bit is made from the words Binary digIT and is the smallest unit of a parameter input. Numbering of bits starts with 0, read from the right to the left:

Fanuc control system parameters belong to one of three groups, specified within an allowed range:

  • Binary codes
  • Units inputs
  • Setting values

These groups use different input values. The binary input can only have an input of a 0 or 1 for the bit data format, 0 to +127 for the byte type. Units input has a broader scope – units can be in mm, inches, mm/min, in/min, degrees, milliseconds, etc. A value can also be specified within a given range, for example, a number within the range of 0-99, or 0-99999, or +127 to -127, etc.
A typical example of a binary input is a selection between two options. For instance, a feature called dry run can be set only as effective or ineffective. To select a preference, an arbitrary bit number of a parameter has be set to 0 to make the dry run effective and to 1 to make it ineffective.
Units input, for example, is used to set the increment system – the dimensional units. Computers in general do not distinguish between imperial and metric units, just numbers. It is up to the user and the parameter setting, whether the control will recognize 0.001 mm or 0.0001 inches as the least increment. Another example is a parameter setting that stores the maximum feedrate for each axis, the maximum spindle speed, etc. Such values must never be set higher than the machine itself can support. An indexing axis with a minimum increment of 1, will not become a rotary axis with 0.001° increment, just because the parameter is set to a lower value, even if it is possible. Such a setting is wrong and can cause serious damage!
To better understand what CNC system parameters can do, here is an abbreviated listing of parameter classification for a typical Fanuc control system (many of them are meaningful to the service technicians only):
Parameters related to Setting
Parameters related to Axis Control Data
Parameters related to Chopping
Parameters related to the Coordinate System
Parameters related to Feedrate
Parameters related to Acceleration/Deceleration Control
Parameters related to Servo
Parameters related to DI/DO
Parameters related to MDI, EDIT, and CRT
Parameters related to Programs
Parameters related to Serial Spindle Output
Parameters related to Graphic Display
Parameters related to I/O interface
Parameters related to Stroke Limit
Parameters related to Pitch Error Compensation
Parameters related to Inclination Compensation
Parameters related to Straightness Compensation
Parameters related to Spindle Control
Parameters related to Tool Offset
Parameters related to Canned Cycle
Parameters related to Scaling and Coordinate Rotation
Parameters related to Automatic Corner Override
Parameters related to Involute Interpolation
Parameters related to Uni-directional Positioning
Parameters related to Custom Macro (User Macro)
Parameters related to Program Restart
Parameters related to High-Speed Skip Signal Input
Parameters related to Automatic Tool Compensation
Parameters related to Tool Life Management
Parameters related to Turret Axis Control
Parameters related to High Precision Contour Control
Parameters related to Service … and other parameters
Quite a few parameters have nothing to do with daily programming and are listed only as an actual example. All system parameters should be set or changed only by a qualified person, such as an experienced service technician. A programmer or operator should not modify any parameter settings. These changes require not only qualifications but authorization as well. Keep the list of original parameter settings away from the control, in a safe place, just in case.

Take care when changing control system parameters !

Many parameters are periodically updated during program processing. CNC operator is usually not aware that this activity is going on at all. There is no real need to monitor this activity. The safest rule to observe is that once the parameters have been set by a qualified technician, any temporary changes required for a given work should be done through the CNC program. If permanent changes are required, an authorized person should be assigned to do them – nobody else. Some parameters may be changed – very carefully – through the program.

System Defaults

Many parameter settings stored in control at the time of purchase have been entered by the manufacturer as either the only choices, the most suitable choices, or the most common selections. That does not mean they will be the preferred settings – it means they were selected on the basis of their common usage. Many settings are rather conservative in their values, for safety reasons.
The set of parameter values established at the time of installation are called the default settings. The English word ‘default’ is a derivative of a French word ‘defaut’, that can be translated as ‘assumed’. When main power to the control is turned on, there are no set values passed to parameters from a program, since no program has yet been used. However, certain settings become active automatically, without an external program. For instance, a cutter radius offset is automatically canceled at the control system startup. Also canceled are the fixed cycle mode and tool length offset. The control ‘assumes’ that certain conditions are preferable to others. Many operators will agree with most of these initial settings, although not necessarily with all of them. Some settings are customizable by a change of a parameter settings. Such settings will become permanent and create a new ‘default’.

Always document any changes made to parameters!

A computer is fast and accurate but has no intelligence. People are often slow and make errors, but have one unique ability – they think. A computer is just a machine that does not assume anything, does not consider, does not feel – computer does not think. A computer does not do anything that a human effort and ingenuity has not done during the design process, in form of hardware and software.
When a CNC machine is powered, its internal software sets certain existing parameters to their default condition, designed by engineers. Not all system parameters, only certain parameters can have an assumed condition – a condition that is known as the default value (condition).
For example, a tool motion has three basic modes – a rapid motion, a linear motion and a circular motion. The default motion setting is controlled by a parameter. Only one setting can be active at the startup. Which one? The answer depends on the parameter setting. Many parameters can be preset to a desired state. Only the rapid or linear mode can be set as default in the example. Since rapid motion is the first motion in most programs, it seems to make sense to make it a default – but wait!
Most controls are set to linear motion as the default (G01 command) to be in effect at the start – strictly for safety reasons. When machine axes are moved manually, the parameter setting has no effect. If a manual input of an axis command value takes place, either through the program or from the control panel, a tool motion results. If a motion command is not specified, CNC system will use the command mode that had been preset as the default in the parameters. Since the default mode is linear motion G01, the result is an error condition, faulting the system for the lack of feedrate! There is no cutting feedrate in effect, which the G01 requires. Had the default setting been rapid motion G00, a rapid motion would be performed, as it does not need programmed feedrate.
It is beneficial to know the default settings of all controls in the shop. Unless there is a good reason to do otherwise, defaults for similar controls should be the same.