EMT 2543_CCM notes
EMT 2543_CCM notes
Course outline:
Mode of Teaching:
2 Lecture hours per week, 1 hr. Tutorial per week, and 3 laboratory hours per week
Mode of Assessment
Assignments, Laboratory exercises and reports, CAT’s and End of Semester Examination
1
Reference Books:
2. Chang, T.C. et al., Computer-Aided Manufacturing (3rd Edition) Prentice hall, (2005).
5. Altintas, Y., Manufacturing Automation: Metal Cutting Mechanics, Machine Tool Vi-
brations and CNC Design Cambridge(2006)
Introduction
One of the characteristics that distinguishes man from animal is the ability to use tools
and skills to make items. Manufacturing is the transformation of raw materials into usable
products. It entails the skilful use of tools and self organization in producing useable and
saleable products so as to achieve a better standard of living. The basic purpose of any
manufacturing industry is to create wealth, thus improving the quality of life.
History of Manufacturing
Manufacturing has evolved over the years from stone age, through bronze and iron age until
the time of industrial revolution in the 18th century, when there was a great leap in terms
of productivity and quality. It was not until in the 20th century when the elements of
organization and management of human resource termed as ”scientific management” were
studied and implemented for more economical manufacturing. The largest manufacturing
industries in the 18th and 19th centuries were textile industries. In the 20th century, however,
these were overtaken by the automobile and marine industry. During the first and the second
2
world wars (1914-1918 and 1939-1945), there was a rapid demand for manufactured goods,
especially for the military. This was a major stimulant for development of new materials
and manufacturing technology. The demand for manufactured goods also rose rapidly with
the fast growing world population. The need for standardization and interchangeability was
met by use of jigs, fixtures and gauges in mass production of items. Automation of several
processes was achieved through the use of dedicated mechanical systems. In the 1950’s and
later, there was a sharp rise in demand for more complex parts as well as a much larger
variety. Mass production system was not capable of meeting the demand for larger variety
due to the high cost of change over. Fortunately, the digital computer was invented around
this time and it was readily adopted to machine tools. The numerical control (NC) machine
tools were invented and these replaced the need for coordinated control of skilled machine
operators. Since then, the use of computers has increased tremendously in the manufacturing.
In manufacturing today, computers are used in NC machining, robotics, Computer aided
design (CAD), Computer Aided Manufacturing (CAM), Flexible Manufacturing Systems
(FMS), Adaptive control systems, artificial intelligent (AI) and expert systems. They are used
in planning and control of the manufacturing processes. This has encouraged the automation
of the processes for faster and more economical production.
AUTOMATION IN MANUFACTURING
Definition of automation:
Automation can generally be defined as the process of having machines follow a predeter-
mined sequence of operations with little or no human labor, using specialized equipment
that perform and control all aspects of the manufacturing process. The term ”Machine
Automation” refers to self-regulation of machines by their controllers.
3
manufacturing processes such as machining, forging, casting, welding, soldering, in-process
or post-process inspection, quality control, material handling, assembly and packaging.
The thrust of automation arose from the need to cope up with the ever-increasing demand for
high productivity, high product quality and low costs of manufactured goods. Automation is
achieved through the use of a variety of equipment, microprocessors, sensors and actuators
that can observe and control all aspects of the manufacturing process. It can generally be
defined as the process of having machines follow a pre-determined sequence of operations
with little or no human labour, using specialized equipment that perform and control all as-
pects of manufacturing process. Before the advent of computers, pneumatic controllers and
control valves were often implemented in the regulation of parameters such as temperatures,
pressures, flow rates etc. Automation relieves machine operators from the monotonous de-
tails associated with many industrial processes. It also removes them from environmentally
unpleasant situations, such as where there are toxic chemicals, in dirty or high temperature
areas. Automation also makes it possible to control precisely the variation in physical and
chemical properties of the finished product.
Goals of Automation
To improve product quality and uniformity - Automation minimizes handling and since
the machines are programmed, they can produce components of the same quality con-
sistently, as long as the material input is the same. The products are therefore inter-
changeable, i.e., any of the parts produced can be used without need for any adjust-
ments.
4
To improve productivity - Automation can greatly increase the rate of production, as
the set up time is reduced and the automated machines do not require to take a rest
unless it is time for repair or preventive maintenance. Thus the automated machines
can work non-stop for long hours leading to higher productivity.
To reduce workpiece damage - Safety of the workpiece is ensured when there is no han-
dling at all. Since this may not be practically possible, the automation aim is to
minimize the handling as much as possible. This would minimize the damage of the
workpieces, especially the fragile elements.
To raise level of safety for personnel - Especially in environments such as those de-
scribed in (5) above.
To economize on floor space - Automating will lead to removal human workers, and also
their work envelope. Machines can then occupy the space, which is in most cases,
relatively smaller.
Note: Sometimes the benefits arising from automation may not justify the costs involved.
Issues such as expected cash flow, payback period, time value of money used in the investment,
interest rates, inflation, obsolescence of equipment, salvage value, et cetera should be taken
into account before embarking on machine automation.
5
CNC Machine Tools
6
Disadvantages
1. Very expensive
Accuracy: This is the ability to position the machine table / spindle at a desired location.
It is usually a combination of control resolution and hardware accuracy. The control
resolution is the minimum length distinguishable by the control unit, and is normally
governed by the type of actuator used. Hardware accuracy is as a result of tolerances
on the machine elements such as screws and bearings. Note: There are other sources
of errors such as force-induced tool deflections, thermal errors due to cutting process.
The manufacturer-rated machine accuracy does not include machining process-related
errors. The actual accuracy varies from the rated accuracy.
Repeatability: This is the ability of the control system to return to a given location that was
previously programmed into the controller, under identical conditions. It is a statistical
term indicating how closely a machine repeats a given position command. If a the slide
of a machine always moves to a fixed position, then it is said to be highly repeatable,
even if the position is far from the command position. Repeatability is measured by
the standard deviation of the errors. Accuracy is measured as the diameter of the circle
enclosing a target area produced by many repeated experiments. The actual accuracy
of a CNC Machine can be estimated as:
A = X̄ ± R (1)
7
where, A= Accuracy of the CNC Machine
R = Repeatability and
X̄= Average error from the programmed point.
Spindle power and axes power: These are very important as they dictate the type of ma-
terial that can be machined/handled and the maximum rate of machining/processing.
Number of axes: This is analogous to the degrees of freedom. The number of axes of a
machine determines the complexity of the part geometry that can be machined.
Axes limits: These determine the maximum work size that can be machined.
In addition to the machine frame and other features found in conventional machines, a typical
Numerical control machine has the following components.
System Controller: This consists of a mechanism for reading the software and converting
the coding into machine instructions. The controller is the heart of the NC operation.
Types of control programs include
• Programmable logic control (PLC) - a solid state device with a CPU interacting
with I/O devices to monitor motion.
8
Operator’s Console: This contains the necessary control for operating the machine manually.
It could be a swinging cabinet, a rolling cabinet or an overhanging pendant. It offers
the facility for setting up workpieces.
Magnetic controls cabinet: Contains starting switches and magnetic relays for controlling
the flow of electrical power to the pumps, spindle motor, etc. The relays and switches
are controlled by the signals from the controller.
Hydraulic pump: This supplies fluid power for operating hydraulic motors attached to the
lead screws for table movements. Note: Lead screws are, in some machines driven by
electric motors.
In addition to the main functions of machine tools, such as holding the workpiece and cut-
ting tool securely and displacing them relative to one another, the machine tool must have
provision for performing functions such as automatically altering the spindle speed and feed
rates, tool changing, coolant application etc. These extra functions must be included in the
programme for execution. Some of the major functions performed by the control systems
include: Displacement of slide members, angular rotation of circular tables, stop and start
of the main spindle, change of spindle speeds, reversing of spindle, change of feed rate of
slide members, rotating of tool turret, change of tools, cutting fluid, on/off, lock table posi-
tion, loading of workpiece, transfer of workpiece Note: Not all machines are equipped with
automatic operation for all the above listed functions.
Control Loops
CNC systems require motor drives to control both the position and the velocity of the machine
axes. Each axis must be driven separately and follow the command signal generated by the
NC control. There are two ways to activate the motor drives: the open-loop system and the
9
Workpiece
Fixture
Stepper Table
Pulses motor Lead screw
Numerical ∆x, v Electric
control logic pulse generator
closed-loop system. The following sections will describe these two systems.
In general, an open loop control is a system where the output variables have no effect on the
control of the input. In the open loop system, a device is instructed to move to a certain
location, but the control unit does not ascertain that the device reaches the predetermined
location. Open-loop principles are also employed in the use of computers to manipulate
electric or electro-hydraulic stepping motors for machine tool control. Discrete signals feed
into the control unit, and instructions move to the stepping motor drive unit. One pulse input
to the motor drives turns it through one step. The main variables in the open-loop control
deal with the stepping motor. These are the step angle, angle of rotation and rotational
speed of the motor. The drive to the machine element may be a leadscrew, ball-bearing
screw, or rack and pinion. Open Loop - Programmed instructions are fed into the controller
through an input device. These instructions are then converted to electrical pulses (signals)
by the controller and sent to the servo amplifier to energize the servo motors. The cumulative
number of electrical pulses determines the distance each servo drive will move, and the pulse
frequency determines the velocity.
10
Example:
The motor shaft is directly connected to the leadscrew for driving an NC machine table. The
leadscrew has a step angle of 1.8. If the pitch of the leadscrew is 2.5mm, determine how
closely the table’s position can be controlled. Suppose we want to move the table at 120
mm/min. What would be the rotational speed of the motor and the pulse frequency?
Soln.
One complete revolution of motor = 360/1.8 = 200 steps. (This corresponds to 200 pulses)
One revolution of leadscrew moves the table = 2.5 mm. Therefore, the table can be controlled
up to 2.5/200 mm increments = 0.0125mm To achieve the table speed of 120 mm/min, the
leadscrew speed (and hence the motor speed) ought to be 120/2.5 = 48 rpm. The pulse
frequency,
Np
fp = (2)
60
where p is the number of pulses per revolution and N is the motor speed. Thus,
48 × 200
fp =
60
= 160 pulses/sec
Note: Each machine movement to be controlled has its own stepping motor and drive.
The open-loop system has a drawback in that there is no feedback system to check whether
the program position and velocity have been achieved. If the system performance is affected
by say load or temperature, then the actual output could deviate from the desired output.
For these reasons, the open-loop system is normally used in point-to-point systems where the
accuracy requirements are not critical.
11
Z
Y
X
Numerical
Controller
action. This is the essence of closed-loop feedback systems. Although open-loop control is
simple and relatively cheap, it is not as accurate as closed-loop system. In a closed-loop
control system, the machine motion is normally actuated by servomotors and is monitored
by a feedback unit that may be electronic, mechanical or optical. The feedback subsystem in
a closed-loop system monitors continuously, the actual output and corrects any discrepancy
from the programmed input. The feedback subsystem could be either analog or digital. The
analog systems measure the variation of physical variables such as position and velocity in
terms of voltage levels. Digital systems monitor output variations by means of electrical
pulses. unit transmits position signals through the feedback signal circuit to the control unit
where the signals are compared continuously with program signals. The command signal is
fed through an amplifier to actuate the drive motor until the difference between the command
signal and the actual slide position reaches zero. When the error signal is zero, the machine
movements are at the exact or very close to the positions commanded. Most modern NC
systems have closed loop control with a resolution of up to 2.5 µm.
12
Figure 3: Closed-loop for a 3-axis machine tool
From the design drawings and specifications, the part programmer identifies the various
operations required to manufacture the part taking into consideration the materials to be
used, the dimensions, the required tolerances, etc, and selects the necessary tools and other
parameters for the operation. More often than not, the part programmer will refer back
to the designer for clarification and sometimes for design modifications. After identification
of the operations, the programmer prepares the program (Part programming), which is a
sequence of symbolic codes that specifies the desired machine actions. The program may be
prepared manually or generated by use of a computer - either by computational or direct
from design drawing (Computer assisted part programming). The next step is the input
translation. In older machines, the process involved punching of tapes using a special printer
to translate the code to machine language. Modern systems use disks or direct computer
inputs. After coding, it is important to check for errors. This can be done by simulating the
operations. This is the verification stage. A plotter simulates the movements of the tool and
13
Design drawing
graphically displays the final part in 2D on paper. Alternatively, the tools are offset, and the
actions observed without cutting (this is a post-processing action). Any errors detected are
then corrected at this stage. The final step is the post-processing step, whereby the coded
instructions are converted into machine tool action, and the actual machining takes place.
A universal standard axis system is employed. The Cartesian coordinate system is the
most common system used to define a point in space. Each machine tool has a standard
coordinate axis system, which allows the part programmer to define unambiguously the
sequence of operations and movements of the machine tool, cutting tool and part. Machine
tool construction is based on two or three perpendicular axes of motion and an axis of
rotation. The basic convention is that the axis of the main machine spindle, whether it be
the axis of the tool spindle or the axis about which the workpiece rotates, is denoted as the Z-
14
Figure 5: CNC Right-hand axis convention
(a)Relationship between axes
(b) Relationship between positive linear and rotary displacements
axis. The other axes are then designated accordingly. See Fig.5 for the sign convention. The
Z-axis is positive in the direction from the workpiece towards the tool-holder or the spindle.
For machine tools that do not possess a principle spindle, the Z-axis is perpendicular to the
work-holding surface. Once the coordinate axis is known, the parts programmer may have
the option of specifying the tool position relative to the origin of the coordinate axes. NC
machines may specify the zero point as a fixed zero or floating point. In fixed zero, the origin
is always located at the same point on the machine table and is the lower left hand corner.
Locations are defined by positive X and Y coordinates. A floating point allows the zero point
to be set at any position on the machine table. The floating point method is more common.
Almost all modern CNC controls use the word address format, whereby each command
consists of a CNC word containing a letter address and a numerical value. The letter address
tells the control the kind of word, and the numerical value tells it the value of the word.
Typical examples are shown in Table 1.
15
Table 1: Some Common Letter Address Specifications
Type Function Example
N Sequence number; used for identification N15 = line 15
O Program number O6205 = program name
G Preparatory function G01 = linear interpolation
M Miscellaneous/ Auxiliary function M30 = End of program
F Feed rate designation F80 = 80 mm/min
S Speed designation S6500 = 6500 rpm
T Tool designation T09 = Tool no. 9
X,Y,Z Axis designation Z10 = move to point x,y,10
Numerical control programming can be classified into two categories. These are point to point
(PTP) and continuous path. In a PTP system, accurate positional control is required only to
place the spindle, workpiece or other machine members in fixed positions for such operations
as spot welding, drilling, boring, reaming or tapping. In between these positions, the only
requirement is that the machine members move from one point to another without regard to
the path taken. Since this movement from one point to the next is non-machining, it is made
as rapidly as possible to reduce idle time. Movements in more than one axis may take place
simultaneously (with separate controls) or sequentially (consumes more time). Though the
path taken between the two points is generally not important, care must be taken to avoid
collision with workpiece or fixture. In order to avoid errors due to backlash, it is advisable
to approach a point always from the same direction along any axis. PTP is extensively used
on machines that can move in one direction only. In some cases, PTP method is used to
machine a straight line and a contour. See example below. In such cases, the number of
steps determines how close the actual profile is to the specified profile. In order to get much
closer to the specified line, much smaller step sizes will be needed and hence, a much longer
program.
16
Figure 6: Point to point system
For a continuous path system, the motion is controlled on more than one axis continuously
and simultaneously. The machine controls not only the destinations, but also the paths
through which the tool reaches these destinations. The cutting tool contacts the workpiece
as coordinate movements take place. This system, which is also known as contouring system,
is typically used in milling, grinding, turning, flame cutting and pocketing operations.
The main difference between continuous path programming (CPP) and PTP is the interpo-
lation routine. The problem is to provide control for the tool continuously, which requires
changes in two or more axes simultaneously, as the machining progresses. Suppose, in Fig.
7, the length of the segment MN is 100 mm, and the movement to be made is from M to N.
The displacement in x - direction is
17
Figure 7: Continuous path system
interpolation. The shape produced is the result of a series of straight-line machining moves
programmed in sufficient quantity to give an acceptable comparison between the designed
shape and the actual shape. Let vf be the desired velocity in the direction MN. Then the
velocities along the two axes, vx and vy , are
4x)
vx = √ vf (3)
(4x2 + 4y 2
4y
vy = √ vf (4)
(4x2 + 4y 2
where 4x and 4y are the displacements along the x and y axes, respectively.
In linear interpolation for a circular surface, several thousand discrete points connected by
straight lines would be required. Most machine control units, however have a circular inter-
polator, in which the programming for a circular path is the end points of the arc, the radius,
the arc center and the direction of the cutter. Example:
G02G17x56.5z70.0R65.5
The circular interpolator breaks up the span into the smallest straight line resolution units
(Basic Length Units(BLU)) available in the control. The control computes and generates the
controlling signal to achieve the required movements. Another type of interpolation is the
18
parabolic interpolation for free-form surfaces. This usually requires generation of points for
cutter paths, through a computer programme.
Circular interpolation
If an NC controller does not have built-in functions for complicated geometries such as
circles, parabolas etc, these geometries can be approximated using an offline interpolation
procedure. The main task in this case would be to determine the number of interpolation
points that would guarantee the desired results in terms of tolerances. Most computer assisted
part programming languages have subroutines for automatically calculating these points.
Interpolation can be used to produce curves and circular or parabolic arcs to very close
tolerances. Circular interpolation is performed by specifying an inner, outer or total tolerance,
each of which is the maximum allowable deviation between the desired curve and the actual
line.
C1 G F
C3
E
D
C2
A C4 B C1(8,27); R1=20 mm
A(4,5)
B(29,5) C (31.5,8.5); R =2.5 mm
2 2
D(49,10)
E(49,20) C (37.5,22.5); R =2.5mm
3 3
F(35,27)
G(29,27) C4(8,5); R4 = 4 mm
Figure 8:
19
Assignment 1
Q1. Figure 8 shows a workpiece profile that is to be generated using a CNC milling machine.
The cutting tool is an end mill of diameter is 5 mm, with two cutting edges. Due to the
directionality of the stiffness of the machine structure, it is desired that the feed rate should
not exceed 0.15 mm/tooth while machining the curved surface, and 0.2mm/tooth while
machining the straight surface. The cutting speed for the material should be 80 m/min.
Q2. Interpret block by block, the NC program shown in Table 2. Indicate the G and M
functions for each block, and sketch the complete NC tool centre path with corresponding
coordinates. Mark the corresponding NC blocks on the tool path segments. A list of common
G&M codes is given below.
20
Table 2: NC Program
N010 G90G71M03S1800T05
N020 G00Z7
N030 G01Z0F100M08
N040 X30
N050 X90Y10
N060 Y40
N070 G02G91X-30Y30I0J-30
N080 G01X-40
N090 G03G90X0Y50I10J-30
N100 G01Y0
N110 Z27
N120 G00X30Y40
N130 G01Z-2.5
N140 Z7
N150 G00X0Y0Z20M05M02
21
Some common G and M codes
Preparatory functions
22
G47 TEXT ENGRAVING (X,Y,Z,R,I,J,P,E,F,) (Macro Variable 599 Change Serial #)
G49* TOOL LENGTH COMPENSATION CANCEL G43/G44/G143 (SETTING 56)
G50* SCALING G51 CANCEL (SETTING 56)
G51** SCALING (X,Y,Z,P) (SETTING 71)
G52 WORK OFFSET COORDINATE POSITIONING (YASNAC) (SETTING 33)
G52 GLOBAL WORK COORDINATE OFFSET SHIFT (FANUC) (SETTING 33)
G52 GLOBAL WORK COORDINATE OFFSET SHIFT (HAAS) (SETTING 33)
G53 MACHINE COORDINATE POSITIONING, NON-MODAL (X,Y,Z,A,B)
G54* WORK OFFSET COORDINATE POSITIONING #1 (SETTING 56)
G55 WORK OFFSET COORDINATE POSITIONING #2
G56 WORK OFFSET COORDINATE POSITIONING #3
G57 WORK OFFSET COORDINATE POSITIONING #4
G58 WORK OFFSET COORDINATE POSITIONING #5
G59 WORK OFFSET COORDINATE POSITIONING #6
G60 UNI-DIRECTIONAL POSITIONING (X,Y,Z,A,B) (SETTING 35)
G61 EXACT STOP, MODAL (X,Y,Z,A,B)
G64* EXACT STOP G61 MODE CANCEL (SETTING 56)
G65** MACRO SUB-ROUTINE CALL
G68** ROTATION (G17,G18,G19,X,Y,Z,R) (OPTION) (SETTING 72, 73)
G69* ROTATION G68 CANCEL (SETTING 56)
G70 BOLT HOLE CIRCLE with a CANNED CYCLE (I,J,L)
DEFAULT *
OPTIONAL **
G71 BOLT HOLE ARC with a CANNED CYCLE (I,J,K,L)
G72 BOLT HOLES ALONG AN ANGLE with a CANNED CYCLE (I,J,L)
G73 HIGH SPEED PECK DRILL CANNED CYCLE (X,Y,A,B,Z,I,J,K,Q,P,R,L,F) (SET-
TING 22, 52)
G74 REVERSE TAPPING CANNED CYCLE (X,Y,A,B,Z,J,R,L,F) (SETTING 130)
G76 FINE BORING CANNED CYCLE (X,Y,A,B,Z,I,J,P,Q,R,L,F) (SETTING 27)
23
G77 BACK BORE CANNED CYCLE (X,Y,A,B,Z,I,J,Q,R,L,F) (SETTING 27)
G80* CANCEL CANNED CYCLE (SETTING 56)
G81 DRILL CANNED CYCLE (X,Y,A,B,Z,R,L,F)
G82 SPOT DRILL / COUNTERBORE CANNED CYCLE (X,Y,A,B,Z,P,R,L,F)
G83 PECK DRILL CANNED CYCLE (X,Y,A,B,Z,I,J,K,Q,P,R,L,F) (SETTING 22, 52)
G84 TAPPING CANNED CYCLE (X,Y,A,B,Z,J,R,L,F) (SETTING 130)
G85 BORE IN, BORE OUT CANNED CYCLE (X,Y,A,B,Z,R,L,F)
G86 BORE IN, STOP, RAPID OUT CANNED CYCLE (X,Y,A,B,Z,R,L,F)
G87 BORE IN AND MANUAL RETRACT CANNED CYCLE (X,Y,A,B,Z,R,L,F)
G88 BORE IN, DWELL, MANUAL RETRACT CANNED CYCLE (X,Y,A,B,Z,P,R,L,F)
G89 BORE IN, DWELL, BORE OUT (X,Y,A,B,Z,P,R,L,F)
G90* ABSOLUTE POSITIONING COMMAND
G91 INCREMENTAL POSITIONING COMMAND (SETTING 29)
G92 GLOBAL WORK COORDINATE SYSTEM SHIFT (FANUC) (HAAS) (SETTING 33)
G92 SET WORK COORDINATE VALUE (YASNAC) (SETTING 33)
G93 INVERSE TIME FEED MODE ON
G94* INVERSE TIME FEED MODE OFF / FEED PER MINUTE ON (SETTING 56)
G98* CANNED CYCLE INITIAL POINT RETURN (SETTING 56)
G99 CANNED CYCLE ”R” PLANE RETURN
G100 MIRROR IMAGE G101 CANCEL (X,Y,Z,A,B)
G101 MIRROR IMAGE (X,Y,Z,A,B) (SETTING 45, 46, 47, 48, 80)
G102 PROGRAMMABLE OUTPUT TO RS-232 (X,Y,Z,A,B)
G103 LIMIT BLOCK LOOKAHEAD (P0-P15 for number control looks ahead)
G107 CYLINDRICAL MAPPING (X,Y,Z,A,Q,R,)
G110-G129 WORK OFFSET COORDINATE POSITIONING #7-26
G136** AUTOMATIC WORK OFFSET CENTER MEASUREMENT
G141 3D+ CUTTER COMPENSATION (X,Y,Z,I,J,K,D,F)
G143** 5-AXIS TOOL LENGTH COMPENSATION+ (X,Y,Z,A,B,H) (SETTING 15, 117)
G150 GENERAL PURPOSE POCKET MILLING (X,Y,P,Z,I,J,K,Q,D,R,L,S,F)
24
G153** 5-AXIS HIGH SPEED PECK DRILL CANNED CYCLE (X,Y,A,B,Z,I,J,K,Q,P,E,L,F)
(SETTING 22)
G154** 5-AXIS REVERSE TAPPING CANNED CYCLE (X,Y,A,B,Z,J,E,L,F)
G161** 5-AXIS DRILL CANNED CYCLE (X,Y,A,B,Z,E,L,F)
G162** 5-AXIS SPOT DRILL / COUNTERBORE CANNED CYCLE (X,Y,A,B,Z,P,E,L,F)
G163** 5-AXIS PECK DRILL CANNED CYCLE (X,Y,A,B,Z,I,J,K,Q,P,E,L,F) (SETTING
22)
G164** 5-AXIS TAPPING CANNED CYCLE (X,Y,A,B,Z,J,E,L,F)
G165** 5-AXIS BORE IN, BORE OUT CANNED CYCLE (X,Y,A,B,Z,E,L,F)
G166** 5-AXIS BORE IN, STOP, RAPID OUT CANNED CYCLE (X,Y,A,B,Z,E,L,F)
G169** 5-AXIS BORE IN, DWELL, BORE OUT (X,Y,A,B,Z,P,E,L,F)
G174 SPECIAL PURPOSE NON-VERTICAL RIGID TAPPING CCW (X,Y,Z,F)
G184 SPECIAL PURPOSE NON-VERTICAL RIGID TAPPING CW (X,Y,Z,F)
G187 ACCURACY CONTROL FOR HIGH SPEED MACHINING (E) (SETTING 85)
MISCELLANEOUS FUNCTIONS
25
M11** 4th AXIS BRAKE RELEASE
M12** 5th AXIS BRAKE ON
M13** 5th AXIS BRAKE RELEASE
M19** ORIENT SPINDLE (P,R)
M21-M28 OPTIONAL USER M CODE INTERFACE WITH M-FIN SIGNAL
M30 PROGRAM END AND RESET (SETTING 2, 39, 56, 83)
M31 CHIP AUGER FORWARD (SETTING 114, 115)
M32 CHIP AUGER REVERSE (SETTING 114, 115)
M33 CHIP AUGER STOP
M34 COOLANT SPIGOT POSITION DOWN, INCREMENT
M35 COOLANT SPIGOT POSITION UP, DECREMENT
M36** PALLET PART READY
M39 ROTATE TOOL TURRET (T) (SETTING 86)
M41 SPINDLE LOW GEAR OVERRIDE
M42 SPINDLE HIGH GEAR OVERRIDE
M50** EXECUTE PALLET CHANGE (SETTING 121 thru 129)
M51-M58 OPTIONAL USER M CODE SET
M59 OUTPUT RELAY SET (N)
M61-M68 OPTIONAL USER M CODE CLEAR
M69 OUTPUT RELAY CLEAR (N)
M75 SET G35 OR G136 REFERENCE POINT
M76 CONTROL DISPLAY INACTIVE
M77 CONTROL DISPLAY ACTIVE
M78 ALARM IF SKIP SIGNAL FOUND
M79 ALARM IF SKIP SIGNAL NOT FOUND
M80** AUTOMATIC DOOR OPEN (SETTING 131)
M81** AUTOMATIC DOOR CLOSE (SETTING 131)
M82 TOOL UNCLAMP
M83** AUTO AIR JET ON
26
M84** AUTO AIR JET OFF
M86 TOOL CLAMP
M88** COOLANT THROUGH SPINDLE ON (SETTING 32)
M89** COOLANT THROUGH SPINDLE OFF
M93 AXIS POS CAPTURE START (P,Q)
M94 AXIS POS CAPTURE STOP
M95 SLEEP MODE
M96 JUMP IF NO SIGNAL (P,Q)
M97 LOCAL SUB-PROGRAM CALL (P,L)
M98 SUB-PROGRAM CALL (P,L)
M99 SUB-PROGRAM/ROUTINE RETURN OR LOOP (SETTING 118)
M109** INTERACTIVE USER INPUT (P)
27
High level languages
There are several high-level processing languages that can be used for numerical control.
Some of the most commonly used NC languages include the following
In all these languages, a postprocessor is required to convert the program into the specific
language that a particular CNC machine tool can understand. The final program used by
the machine tool will be identical, whether it is prepared in machine language, by a CAM
system or by the computer in a high-level programming languages. Note: Different machine
tools require their information differently, and therefore there are different postprocessors.
Of all the above languages, APT is the most widely used.
This language is easy to understand as it uses simple statements to command the cutting
tool through its sequence of machining operations. Like any other high-level language, APT
allows arithmetic operations, subroutines, macros, looping logic, et cetera. Moreover, it allows
parametric representations of geometric entities ranging from a single point in space to very
complex 3-D sculptured surfaces. Though currently APT is being replaced by graphics-
based user-friendly interactive CAD/CAM software systems, it is important to understand
the very basic structure of APT programming system since most CAD/CAM systems use
APT standards in processing NC tool path data.
28
APT statements
There are 4 types of statements and over 400 words in APT vocabulary. These statements
are
Geometry statements These are also called definition statements. They define the geo-
metric elements that comprise the workpiece.
Motion statements These are used to describe the path taken by the tool
Post processor statements These apply to specific machine tool and control system. They
are used to specify feeds and speeds and actuate other features of the machine.
Auxiliary statements These are used to identify the workpiece, tool, tolerances, etc.
Geometry statements
The geometry of a workpiece is defined using points, lines, arcs, space curves and surfaces.
Each geometric entity is mathematically represented and stored as variables by APT. Each
geometry is defined according to the following format:
(Geometry’s symbol)=Geometry/Dimension and parameters of the geometry
For example, to define a point P1, we write
P1=POINT/3.0,2.1,8.5
The geometry symbol is P1, and the geometry statement is POINT, and the descriptive data
are the coordinates of the point. Some typical APT geometry vocabulary words are given in
the Table 3.
APT allows the use of parabolas, hyperbolas, ellipses and parametric curves. Splines are the
most common parametric curves that allow flexible and smooth curve fit passing through a
given set of points.
Note: There are many ways of defining some of the geometry types. Refer to the recom-
mended textbooks [1] and [5]for details.
29
Table 3: Typical APT geometry words
Geometric Type APT Vocabulary word
Point POINT
Line LINE
Spline SPLINE
Plane PLANE
Circle CIRCLE
Cylinder CYLNDR
Pattern PATERN
(2) Any symbol used as descriptive data or definitional modifier must have been previously
defined.
(4) Only one symbol can be used to define any given element
(5) Lines defined by APT are considered to be of infinite length in both directions. The
same applies to planes.
There are two types of tool motion commands in APT, namely, Point to Point and continuous
tool motion command. The general form of motion statement is:
Motion command/descrtiptive data
If the requirement is to move the tool to a specified point from its current position, the PTP
30
commands are used. There are two types of PTP motion commands. These are
GOTO/Point, Feedrate
and
GODLTA/Point,Feedrate
Both commands take the tool to the point indicated to the right of the forward slash with
an optional feed rate provided. The part coordinates are absolute for GOTO statement and
incremental for GODLTA statement. Such statements are especially useful for drilling and
punching operations.
For continuous potion commands, the controlled path is defined by the part, drive and check
surfaces.
Drive surface This is the surface that guides the side of the cutter. It is parallel to the
tool axis.
Part surface This is the surface on which the bottom of the tool rides. It doesn’t have to
be an actual surface of the workpiece.
Check surface This is the surface that bounds the tool motion
Modifier words are used within the descriptive data of the motion statement. The main
modifier words are TO, ON and PAST. They define the position of the tool with respect to
the surface. If the drive surface is tangent to a circular check surface, a fourth modifier word
TANTO is used.
The APT continuous motion statement commands the tool to move along the ’drive’ and
’part’ surfaces and the movement ends when the tool is at the ’check’ surface. The general
format for motion command is
Motion command/drive surface,modifier word, part surface,modifier word, check surface
There are six motion commands. These are:
• GOFWD
31
• GOBACK
• GOUP
• GODOWN
• GORGT
• GOLFT
Note: The check surface and the drive surface must be re-defined in each new command.
Post-processor statements
These are statements that control the operation of spindle, the feed and other features of the
machine tool. Typical examples are:
FEDRAT, used to specify feed rate (eg in mm/min);
RAPID, used for rapid motions;
END, used to stop the machine at the end of a section of program;
FINI, indicates the end of the complete program. It is the last word in the APT program;
COOLNT, Turns the coolant on, off and actuates other coolant options.
Auxiliary statements
These are used for cutter size specifications, part identifications etc.
Review Questions
Attempt questions 2,,3,5, 12, 14, 15, 16, 22 and 23 on pages 471 ∼ 475 of the textbook
ref[1].
32
Adaptive control of machining system
Adaptive control is a control system that measures certain output variables and uses these
variables to control machining parameters such as speed or feed.
The process variables in machining include machining forces, spindle deflections, torque,
cutting temperature, vibration amplitudes and power consumption. In order to perform
adaptive control, it is important that a way is available to measure such variables.
(1) The in-process time consumes a significant portion of the machining cycle time, that
is, over 40% of the cycle time
(2) There are significant sources of variability in the job, for which adaptive control can
compensate
Sources of variability
(1) Variable geometry of cut in the form of changing width or depth or cut, e.g., in profile
milling or rough cutting of a blank
33
Set value of
cutting force
Measure
cutting force Air gap
detector
In-Process measurements
34
In modern CNC machines the accuracy with which slide movements are generally made and
monitored can, in the case of some classes of work, eliminate the need for further control,
since the slide movements, and therefore the relative tool movements are quite accurate.
For some cases the degree of control is insufficient, for example, where the slides are not
accurate enough or when there is wear or breakage of tool, in which case there is no direct
link with the slide movement, and therefore no compensation. Such are cases that often
require in-process measurements. An electronic touch-and-trigger probe could can be used
the in-process measurement, but this has to have a reference datum.
There are quite a number of difficulties for in-process measurements, especially, when the
work area as an accumulation of swarf and coolant, or when the work’s temperatures are
high due to the machining process.
35