# two types：numerical control (NC)

## Presentation on theme: "two types：numerical control (NC)"— Presentation transcript:

two types：numerical control (NC)
Unit 4: Computer Numerical Control System the basics of the core of CNC machine tool-CNC unit: functions，working principles，hardware configuration and software structure to view the main features of CNC unit in more general terms: stressing why things are handled the way they are even more than the specific techniques used with any one particular CNC machine tool→ be able to easily zero in on any kind of CNC machine tool two types：numerical control (NC) (have to read the program each time a part is run←they have no means of editing existing programs) computer numerical control (CNC) (can store and allow editing of loaded programs)

4.1.1 NC system The NC machine can be divided into three basic areas:
control unit + drive mechanisms + the machine The most basic function of any NC machine is automatic，precise，and consistent motion control． All forms of NC equipment have two or more directions of motion--called axes These axes can be precisely and automatically positioned along their lengths of travel. The two most common axis types are linear (driven along a straight path) and rotary (driven along a circular path)．

and the motion rate (feed rate) are programmable
conventional machine tools: motions are by manually turning cranks and hand-wheels NC machines: motions are actuated by servomotors under control of the NC，and guided by the part program the motion type (rapid, linear，and circular)， the axes to move， the amount of motion and the motion rate (feed rate) are programmable

An NC command tells the drive motor to rotate a precise amount of angle．
The rotation of the drive motor in turn rotates the ball-screw． The ball-screw drives the linear axis． A feedback device at the opposite end of the ball-screw allows the control to confirm that the commanded number of rotations has taken place．

numerical data : spindle speeds，tool identification numbers，
for controlling the relative motion between cutting tool and piece part， the component dimensions ( from engineering drawings--the geometric data), to define feed rates, spindle speeds，tool identification numbers， and miscellaneous functions (to perform such operations as tool or work changing，or coolant control--the technological data). The combination of all this numerical information in a sequence is a part program， the process of creating the data in a correctly structured format is programming． Numerical controls use standard microelectronic modules that have been developed for computer hardware (special modules needed in servo-control circuits )．

4.1.2 CNC system and functions of CNC unit
Controls today are “soft-wired”，which allows greater flexibility in changing and upgrading the computer control． The modern CNC machine tool is software driven－computer controls are programmed instead of hard-wired． CNC system: is a special computer system that is equipped with certain interface circuits and servo drivers，and can do part or all the works an NC system do by running the software stored in its memories． CNCs have expandable memories that can store large numbers of programs，plus subroutines and correction data． extensive memory capacity : sophisticated graphic displays and dynamic simulation

CNCs comprises: CNC unit，
feed motion servo subsystem， spindle servo subsystem and some auxiliary control cells.

CNCs comprises: CNC unit，
feed motion servo subsystem， spindle servo subsystem and some auxiliary control cells.

CNC unit is the core of the whole CNC system．
It is composed of hardware and software． Hardware: is made up of microprocessors， electronic memory modules， I/O interfaces, and position control modules，etc． software controls all functions of the machine, manages all local programming, and graphic simulation of the cutting

hardware and the software work together to do all functions:
graphic display, HMI (Human-Machine Interface)， system diagnosis， implementing of various complex tool-path controlling, compensation algorithms， intelligent controlling， online programming， and Web communications，etc．)

main functions and features of CNC unit
Controlling function the number of control axes and synchronously control axes: linear axes and rotate axes, basic axes and auxiliary axes (The more the number of controlled axes，especially the number of axes being controlled synchronously，the more powerful functions of the CNC unit, and the more complex structure of the CNC unit，the more difficulty of programming.) Preparatory function G function, describes the motion modes of CNC machine The motion modes comprise instructions of basic motions， dwell，plane selections, coordinate system settings， tool compensations， reference point return， fixed operation circles， and metric/inch unit transfer，etc．

interpolation by using software real-time calculations．
Interpolation function interpolation by using software real-time calculations． Linear interpolation，circular interpolation，helical interpolation， and polar coordinate interpolation Feed function Feedrate designation (machining centers only allow the feed rate to be specific in per-minute format: inches or millimeters per minute; Turning centers，which have position encoders in their spindles，also allow feed rate to be specified in per-revolution format: inches or millimeters per revolution) Feed Rate Override: multiple position switch on control panel allows the operator to change the programmed feed rate during cutting (The switch is usually segmented in 10 percent increments that range from 0 percent through 200 percent )

Rapid motion to minimize non-productive time during the machining cycle to command motion at the machine’s fastest possible rate． Common uses for rapid motion: non-cutting motion | include : positioning the tool to and from cutting positions， moving to clear clamps and other obstructions

Spindle function specify the spindle speed On operation panel，there is a button to turn the spindle on and off，as well as a rheostat to control spindle speed． Miscellaneous function allow a variety of special functions Miscellaneous functions are typically used as programmable switches (spindle on/off，coolant on/off，and so on)

Compensation function allow the CNC user to
allow for unpredictable conditions related to tooling Tool length compensation，cutter radius compensation， and tool nose radius compensation→ enable the CNC machine to adjust cutting tool to zero in the right position when wear occurs on cutter tool or changing of cutting tool Technical parameters compensation, ( fixture offset， NRZ(Non-return-to-Zero) of axis while counter-moving， distortion of machine tool any unpredictable situations during programming a form of compensation to deal with the problem

monitor dynamic cutter tool paths while machining
Enhanced function graphic display function CRT or LCD displayer: show programs，parameters，various compensation data，coordinates， fault information， part graphs; monitor dynamic cutter tool paths while machining Self-diagnosis function various diagnosis programs : prevent faults occurring or going worse to shorten the time of broken-down Communication function RS-232-C communications (serial) port←→ personal computers Some form of communications software →allow transmissions

communications networks------usually referred to as “DNC systems”
Some CNC units support for MAP (Manufacturing Automation Protocol) → connect with industry communication nets to fulfill the needs of FMS and CIMS

conversational (shop-floor) programming， visual check
Programming function Manual programming， all CNC programmers should have a good understanding of manual programming techniques regardless of whether or not they are used． conversational (shop-floor) programming， created using graphic and menu-driven functions visual check and CAM system programming helps the programmer in three major areas： keeps the programmer from having to do math calculations， makes easy to program different kinds of machines with the same basic language， helps with certain basic machining practice functions

between hardware and software in CNC unit
4.2 Functional interface between hardware and software in CNC unit CNC unit : hardware + software work together to perform all functions of CNC unit different characters: Hardware→ higher speed ，more expensive； software → flexible ，slow on processing proportion between hardware and software is determined by cost-performance of the CNC unit (In the earlier NC equipments，all functions were implemented by hardware; computer was introduced into CNC system) participations of computer different in different CNC units in different time

four different functional interfaces between hardware and software:

4.3 HARDWARE ARCHITECTURE OF CNC UNIT
Micro-processors + electronic memory modules + I/O interfaces + position control modules

determined by the architecture of printed circuit boards:
Types of CNC Unit determined by the architecture of printed circuit boards: All-in-one board architecture and multi-functional modules architecture； determined by the number of microprocessors: single microprocessor and multi-microprocessors； determined by the manufacturing fashions: ordinary personal computer architecture and special purpose architecture； determined by the opening degree : close architecture， PC-plug-in-NC architecture， NC-plug-in-PC architecture， software based open architecture

All-in-one board architecture （大板式结构）
Comprises: main board，position control card，PLC card，displayer card， and power supply． Main board is a big printed circuit board； other functional cards are small size， each is installed in a card rack on the main board

Multi-functional modules architecture （功能模板式结构）
CNC unit is divided into several function modules: CNC control module，position control card， PLC card，graph display card and communication card, etc． Hardware and software are designed with modularization method （each function module is made of printed circuit of same size ） customers can establish their own CNC units by combining their selected function modules into the card racks of a motherboard．（connected by industry standard bus：IPC bus or STD bus ）

e.g.: a holonomic CNC lath system of this architecture
modules can be connected together by industry standard bus: IPC (Industry PC) bus or STD bus

Single microprocessor architecture
only one microprocessor (on duty of controlling and occupying the system bus )，which processes various NC tasks by time-sharing in a centralized control way simple and can be implemented easily centralized controlling→its performances and abilities are limited by the byte length，data width，address ability，and calculating speed of microprocessor.

Multi-microprocessors architecture
three kinds of multi-microprocessor architectures: distributed system， master-and-servant system， bus based multi CPU system

a communication network route between microprocessors
distributed system a communication network route between microprocessors Interactions within microprocessors and shared resources via network communication technology

Master-and-servant system
a master microprocessor: control the bus; access the resources attached with the bus; control and monitor servant microprocessors; coordinate the operations of servant microprocessors; (others) servant microprocessors: do what the master microprocessor command; cannot do decision-making and scheduling; all independent systems The communication: by interactive responses through I/O interface， or by duplex RAM

Bus based multi CPU system
a parallel main bus links several microprocessor systems Microprocessors cannot be divided into master and servant : each CPU can directly access all the system resources, can use all of their own resources freely and independently ↓ ↓ ↓ CUPs compete to occupy the parallel bus ?? bus-intermediator is used to assign and manage priority of each CPU at one time，only one CPU with higher priority，can use the parallel bus

IPC based CNC system CNC unit : base on industry computer (IPC) platform built by plugging in certain control cards and NC software IPC platform has made CNC unit cheaper and cheaper ， and easily be substituted when fault occurs

open architecture motion control
NC-plug-in-PC IPC+ PMAC (Programmable Multi-Axis Control Card ) | plugged in the card rack of IPC ( On PMAC card，high speed DSP is used as CPU → high performances on motion control and PLC control ) PMAC card (itself is a NC system) can be used independently: Its opened programs library package can be used on Windows platform to establish control system as users purpose. open architecture motion control

4.4 CNC SYSTEM SOFTWARE In CNC system: software codes fall into two groups ↙ ↘ user software and system software

User software: part program
It is compiled into a program with various G-codes and M-codes according to the process sequence． System software: an operating system It is specifically designed for the type of machine that it is destined to control. be sorted into two packages： managing software and control software

To execute the part program:
CNC unit compiles the codes into the format does preparatory and interpolation functions (control software) all functions of control software are implemented under the supervision and coordination of (managing software) system software previously written in Assemble Language achieve higher executing speed， take more time in the course of development; now written in advanced languages，such as C or C++，etc．

(main functions of a CNC system)
4.4.2 Control Software (main functions of a CNC system) does the following work by corresponding subroutines (1) Compiling the part codes inputted by users part codes: in ISO or EIA format Compiler: translate，trim and store decode and do decimal-binary transitions calculate tool’s center path considering tool radius offset pre-calculate some constants used in interpolation and speed control process Objective of pre-process: save time for real-time interpolation calculations ( can be done before machining or in the idle intervals while machining)

time is determinative (2) Interpolation calculations
to assign electrical pulses for axes a strict real time program: demands as less as possible number of instruction codes， to shorten the time for performing interpolation calculations time is determinative combine rough interpolation and fine interpolation: software : rough interpolation that interpolates a tiny line each time； Hardware: fine interpolation by turning the tiny line into a series of single pulses and outputting the pulses

to guarantee the preset feed velocity
(3) Speed control aims at controlling the speed of pulses assigning (controlling the frequency of interpolation calculation) to guarantee the preset feed velocity speed control subroutine: automatically speed up or slow down the velocity to avoid pace-loss implemented by: software method (software timer method)， hardware means (velocity code controlling an oscillator， then by interrupts or queries to guarantee the feed velocity)

Software: processing the speed control data，
Further more: software combining with speed integrator hardware Software: processing the speed control data， + Speed Integrator Hardware constant compound velocity controlling can be realized， the feed velocity can be improved greatly

(4) Position control position loop of servo system done by either software or hardware

↓ location precision be improved Position control software:
compares interpolation-calculated position with real measured position in each sampling cycle control the motor using the difference adjust the magnification of the position loop circuit compensate the error of screw pitch the non-return-to-zero when reverse the motion location precision be improved

Position control implements functions on calculations:

4.4.3 Managing Software Managing software is composed of : part program I/O, display (part program，tool position， system parameters，running status, alarm information，static and dynamic tool path) diagnosis codes (by which CNC unit can carry out self- diagnosis and spot the faults) two groups： depends on hardware: manages and drives peripheral equipment performs real time processes independent of hardware: manages time，tasks，memory, synchronizes various procedures

the capability of parallel processing:
many function procedures (e.g.: preparatory functions and interpolation process) need to be implemented in parallel

↓↓↓ ↓ the capability of real time processing:
tasks of higher priority will be implemented in time， tasks with lower priority will wait in queue (For example，from the point of view of urgency， collision detecting procedure should have higher priority than information display procedure) ↓↓↓ CNC system can react to the event (s) in time system will keep in a safe status

Parallel process means:
computer implements two or more tasks at the same time or within the same time interval ↓ ↓ ↓ improve the processing speed greatly ★methods to realize parallel process: ＊time overlap: based on flow line technique， staggers the processing time of procedures， makes many procedures at the same time.

∣ ∣ ＊ resource-sharing: based on time-sharing principle
many procedures occupy CPU processing time in turn

Real time process means: CNC system react in time to
the requests and events of system ★ methods to realize real time process: ＊ Interruption technology many types of interruption－ external interruption: external monitor interruption, input interruption of keyboard / operation panel; internal timer Interruption: interpolation loop interruption, position sampling interruption;

hardware fault interruption: memory error，timer error，
timeout during interpolation calculation， hardware fauIt (sent out by hardware fauIt detectors when fault occurs) software interruption: the alarm interruption when there is exception during software execution e.g. : various overflow error and reset

two different architectures ： tandem architecture
4.4.4 Architecture of CNC System Software organizing and managing mode of CNC system software two different architectures ： tandem architecture interruption architecture

CNC system software is divided into two groups：
tandem architecture CNC system software is divided into two groups： foreground application: a real time interruption service program Realize: the real time functions (interpolation calculation，position control，logical control of machine tool, etc.) background application: a loop running program Realize: the input of part program， some preparatory processes (encoding，tool compensation calculation，speed calculation)， manages tasks of procedures work cooperatively

The system program carried out in the courses：
first，system startup， second，initializing process， then entering the loop executing of background application． During executing of background application， real time interruption procedures intervene every now and then to implement real time controls

↓ Interruption architecture
no distinction of background and foreground applications initializing procedure+ interruption service procedures with different priorities a large multilevel interruption system

in HuaZhong I system software
e.g. Tasks division and their priorities in HuaZhong I system software eight types of tasks with different priorities (from high down to low): Position control (4 ms)； Interpolation calculation (8 ms)； Data collection (12 ms)； PLC task (16 ms)； Tool compensation task (condition (buffer) drivable)； Program codes interpreting (condition (buffer) drivable)； Dynamic display (96 ms)； HMI: Human-Machine-Interface (menu managed，loop continuously); Position control task has the highest priority: hence has the shortest invoking time interval 4 ms HMI task has the lowest priority: is an infinite loop procedure that starts only one time

（Real Time Operating System -----RTOS）