Computer Numerical Controls (CNCs) Overview
A Computer Numerical Controls (CNCs) is a smart multi-axis, multifunction, coordinated motion-control system, used for precision contouring. CNCs are capable of working with a variety of materials in a wide range of industries. While CNCs and soft-wired numerical controls are synonymous, CNCs are different from general-purpose motion control-lers. CNCs meet the special requirements of the machine tool industry, while motion controllers provide general purpose coordinated motion-control. CNC typically per-form the following functions:
- Repetitively interpret stored programs that describe one or more coor-dinated tool paths along contours in multi-dimensional space as a series of precisely positioned points approached at specified speeds. In a CNC system, the precision of motion determines the overall perfor-mance of the system.
- Provide dynamic compensation to reduce mechanical inaccuracies that affect the quality of a product, or to counter the effects of environmental conditions, such as the frictional heat.
- Control peripheral operations required by a machine tool, such as cool-ant delivery systems, lubrication pumps, pallet handlers, and tool magazines, through stored programs.
- Provide program editing, operational information, and control features through an operator panel interface.
Press-brakes and turning and milling machines use CNCs, as do other spe-cial purpose machines. However, CNC systems predominantly control either turning machines that have a stationary tool and a rotating work piece, or milling machines that have a rotating tool and a stationary work piece.
System configurations combine simultaneous rotary and linear motion in different axes. The most common configuration is the control of a table and a plunging tool along two or three orthogonal axes. The majority of sys-tems use rectangular coordinates along linear axes, while some also add polar coordinates along rotary axes to describe the tilting of the tool or the position of rotat-ing cylindrical bodies mounted on the table. Machine tool accuracy depends on feedback devices, ball screws, servo drive performance and such other factors, but CNCs can compensate for some of the factors to provide high precision in both linear and rotary axes.
The most common standard programming language in use is RS-274 or DIN-66025 G codes. Some systems interpret specialized languages, such as APT and IGES files, while new CNC systems support STEP-NC, ISO 14649-11. Major machine vendors also offer graphical user interfaces that often do not require programming in G codes.
CNC System Components
A CNC system includes the human machine interface (HMI), programmable numerical controller, integrated feedback devices, servo drives and motors, and spindle drives and motors.
The numerical controller executes the CNC program software, which con-sists of a parts program translator, trajectory generator, motion control, and discrete logic program. Current numerical controllers offer features, such as object contouring, circular, linear, helical and, polynomial interpolation, and conversational programming. Conversational programs calculate the geometry of a part from a few known points, and contain canned cycles so that a part program can be transcribed from data available directly off a blue print.
System software embedded within the numerical controller provides pre-cise control of servo and spindle drives. It communicates with the servo drives to coordinate motor shaft speeds and positions. The drives provide position commands and control the torque required for speed regulation. Such embedded software is typically proprietary and is included as part of the hardware revenues of the suppliers.
Spindle Drive and Motor
The spindle rotates the tool in milling applications, and the work piece in turning applications. Many machine tools have multiple spindles to pro-vide a wide range of operations. Typical multi-spindle applications mount a large horsepower spindle in a relatively low speed range for removal of
material during the roughing stage, and use a high-speed low horsepower spindle for the finishing stages. Spindle motors are usually 3-phase AC squirrel-cage induction-motors. Each spindle motor requires an individual variable speed AC drive with integral power supply.
Variable speed (variable frequency) AC drives are available with three modes of control: constant volts/hertz control, open loop sensorless flux-vector control, and closed loop flux-vector control. While constant volts/hertz drives are extensively used in older CNC systems, flux-vector drives are more common in new CNC systems. There is clear distinction between these drive technologies from the application perspective. While volts/hertz drives operate at relatively constant torque, because torque is proportional to volts/hertz, flux vector drives provide better control on speed and acceleration, because they vary the torque based on the load ap-plied. They provide the higher torque, typically required at low speeds. Spindle drives are generally provided as a module ready for installation into the control panel.
Servo Drive and Motor
The accuracy of a CNC system depends on its ability to measure changes in position along its axes, and to drive a motor under full torque and speed to target positions. The servo drive and motor, performing the position control function along an axis, is an integrated, matched set in a CNC system. Servo systems have four-quadrant operation, speed and current feedback, high accelerating torque, zero dead-band speed control, and a fast and precise accuracy of response to a speed change demand.
Two types of servomotors are DC Brush and Brushless servomotors. Brush type servomotors switch DC power to the field windings through a com-mutator. Brushless servomotors have permanent magnet rotors and depend on electronic servo drives to provide commutation for the field windings. An AC Brushless servo system uses a sinusoidal wave while a DC Brushless servo system uses a trapezoidal wave. The AC system is widely used because of its better low speed operation, reduction in motor cogging and reduced torque ripple. The servo drive processor is typically a Digital Signal Processor (DSP) and receives its instructions from the numer-ical controller.
HMI Operating System
Parts programming and discrete logic programming are done from the HMI station and sent to the CNC controller. While HMI stations based on proprietary operating systems are still used, PC-based HMI on the Win-dows platform is gaining favor.
PC-based HMI stations make it possible for CNC systems to utilize PC-based CAD/CAM and other graphical software to program the CNC con-troller automatically. In the case of proprietary CNC systems, even though they may use PC-based HMI, numerical controller CPUs are proprietary. Programming of the CNCs CPU is accomplished by linking the HMI PC to the CNC controller hardware.
Open CNCs on the other hand use PC-based HMI as well as controllers that use PC-based hardware. Such open CNCs can exchange information with third party PC-based software and communicate with other equipment us-ing RS232 and standard LANs such as Ethernet. The open CNC system has unbundled the HMI from the programming software. Most open CNCs, however, retain a controller system running on a proprietary Real Time Operating System (RTOS) to control the motion of the axes.