Sunteți pe pagina 1din 10

CAM Assignment 2 Produce and prove manual part

programs
Identify the elements and structure of a CNC part
program.
In this day and age, the manufacturing industry is adapting to latest
technology which makes manufacturing parts easier for the employees
working on the work floor. Before this technology, lathe machines and
milling machines were manually operated, but with the introduction of
CNC machining, the Lathe and milling machines work by themselves with
the help of an input command. For the CNC machines to work by
themselves they need to be given a set of instructions which help them
calculate the placement of the component (Component location), how and
where the component needs to be cut from and the instructions also
determine the cutting feed rate of the machine. These instructions are
compacted into a program called the CNC part program.
A Part program is basically a sequence of instructions which are used to
describe the work, which has been done on the desired part, structured in
such a format that it can be required by a computer under the control of a
numerical control computer program. It is the process of producing a
programs sheet for a drawing sheet (CAD Part). The data from the
programs sheet is then fed into the numerical control system using a
compatible format. This Numerical control system is attached to the
Machine such as a Lathe. The data is then translated inti a language which
can be understood by the control systems of the machine, helping the
machine determine the following data;

Tool start up point, cutting depth, Machining sequence classification or


process, tool path
Cutting conditions, feed rate, coolant (if applicable), spindle speed
Selection of cutting tools
When working with complex shaped components, the calculations needed
to produce the component are done by the programing software contained
in the computer (HSM Works). There are various programming languages
which were developed in the recent past which are used to communicate
with the system, such as; APT (Automatically Programed Tools),
ADAPT, AUTOSPOT etc...
In part programming, the most common type of language used to
communicate with the machine is known as NC words. The NC word is a
unit of information for example, s dimension or feed rate. A block is a
complete collection of NC words representing one single NC instruction. To
separate these blocks an end of block symbol; is used. NC word is where
all the machining data is put together and translated into a language
which is understood by the Control system of the machine tool. NC
information is usually programmed in blocks of words, each block consists
of five words, if the block carries less than five words, the machine control
unit (MCU) will fail to recognise the information, resulting to the control

unit not working. The NC word consists of the character N followed by a


three digit number raising from 0 to 999. For example;

N001 Represents the sequence number of the operation


G01 Represents linear interpolation
X12345 Will move the table in a positive direction along the X-axis
Y06789 Will move the table along the y-axis
M03 Spindle on CW
; - End of block
G codes (Preparatory functions) and M codes (Miscellaneous functions)
are the most common codes used when programming NC machines tools.
There are other codes such as F, S, D and T which are used for machine
functions such as feed, speed, cutter diameter offset, tool number and so
on. These G codes are also known as Cycle codes due to their actions on
the X, Y and Z axis on the machine tool. G codes are usually grouped into
different categories, for example;
Group 01, contains codes G00, G01, G02, G03 which causes the machine
table to move. Group 03 consists of incremental or absolute programing.
And a G00 codes rapidly positions the cutting tool while it is above the
workpiece from one point to another point. The G codes are a sum of
hundred codes with each cod having its own designated function.
When all these codes combined, make a block of instructions, several
other blocks compile together to make one part program. This program is
sent to the machine (Lathe, or Miller) which reads the information and the
codes functions. The part program needs to be post processed before sent
to the machine to determine which the format of the program. This is
because different CNC machines will read different programs; once the
correct format is selected the part program is ready to be sent to the CNC
machine.
http://www.engr.uvic.ca/~mech410/CAM_references/CNC_Computer_Nume
rical_Control_Programmig_Basics.pdf

Investigate the use of ISO standards with respect to codes and program
format.
As mentioned in the task above, the Block of data is line of NC words which
have a particular command. Each word in the block conforms to the EIA
(Electronic Industries Alliance) and is written on a horizontal line. The Machine
control unit will not recognize the commands if five complete words are not
included in each block. Each line of words allocates a certain command which the
machine reads and preforms on the material. A block is a complete collection of
NC words representing one single
NC instruction. To separate these
blocks an end of block symbol; is
used.

For Example, in the image provided on the right shows a normal Block of data, in
this bock of data the N080 represent the sequence number of the operation.
G01 represents the linear interpolation. Z-0.5 will move the table -0.5 out, in a
negative direction along the Z axis. And the F40 represents the feed rate of the
machine.
To prepare a part program first the drawing of the part which needs to be
produced should be studied in depth, this will help the programmer with planning
the machining sequences, which will be required to produce the part. The
programmer will have to put the visual concepts into written manuscript. This
would be the first stage to developing the part program. The manuscript for the
part program should include the reference point for aligning the workpiece, type
of cutting tools and work-holding devices and many other pieces of key
information about the part.
In a part program, there are different types of codes some codes have more
significant functions than other codes, such as the CNC Sub programs, which
are similar to NC and CNC programs, except they are usually more simple. In
basic terms, Sub programs will usually be just a series of movements and
positions. The only difference with a sub program is that the end code of the sub
program will usually be an M99. This code commands the control to return to the
main program from which the sub program was called. Calling up a sub program
while the machine is working is easy. This is because to call the subprogram, the
M98 command is used. By feeding this code into the manuscript of the program
the CNC control will leave the current program (Main program) and complete the

instructions given to the control by the sub program. In visual terms;


The diagram above shows the sub program process. In basic interpretation the
program starts with the command 075 which is the main program, as we read
down the line we come to the n30 line where the sub program is called with an
m98 command with the sub program being P80 (this program be drilling holes or
milling pockets etc.) as the control goes into the sub program it moves to the
080 line and moves down to n15 where another m98 command calls up a
secondary sub program (p85) which runs down to the m99 command, returning
the controls to program 80. Program 80 continues to process until it reaches the
m99 command, which returns the control to the main program which continues
until it reaches the end of the program at the M30. This is just one example of
how sub programs can be designed to shorten any repetitive operation
techniques.

Investigate programming techniques that promote


enhanced system performance.
There are many ways in which we can enhance the CNC systems performance,
with a various amounts of codes and techniques, one of these techniques
consists of saving a simple program function in the CNC control units directory
so the function can be recalled at any time while the program runs. Such as
machining holes. Machining holes is probably the most common operation, which
is executed by a CNC machine. Even in the industries which are known for
producing complex parts, such as aerospace or aircraft component
manufacturing, electronics, optical or mold making industries, still need to
machine holes as it would be a vital operation in the manufacturing of their
desired parts. Machining holes can be a simple procedure, or can become a
complex procedure if dealing with precise and complex holes which may require
several tools to be competed, also it is important to determine the number of
holes required for a given job as the selection of programming depends on the
features of the work piece. Hole operations do offer a great number of
similarities as can be imagined. Because hole machining is such a predictable
and ideal subject, several advance CNC techniques can help make this procedure
very efficient. For example; a sequence can be programmed (Hole machining)
just once and given an identity, so that it can be called back into the main
program when required. These sequences are referred to as Subroutines, cycle
and loops. Etc.
When Numerical control programming language was first introduced to the
industry of CNC machining, it was developed by the MIT Servomechanisms
Laboratory in the 1950s, since then many other versions of the language have
been developed by other companies and organizations for their CNC machines.
This resulted to multiple different code languages for numerous machines
making CNC programs difficult to move from one machine to another as some
machines couldnt read the different formats and CNC languages. A lot of these
codes included G-Codes, so standardized versions of the code started appearing
in the early 1960s and the final standardization of the code was approved in
February 1980 and is known as RS-274-D in America.
In other countries this standard was made into an Official ISO standard called
the ISO 6983. This meant that CNC coding became standardized across the
world. As the years went past after the standardization, operators were still
having trouble with machine tool controllers built by Fanuc or Siemens due to
compatibility uses regarding the CNC language. To tackle the problem once and
for all, as CAD/CAM systems were being introduced to the industry in the late
2010s the issues of language compatibility were forgotten off as the packages
provide almost every appropriate G-cod language for every machine possible
and translating the codes wasnt an issue as the package would automatically
translate the code while post processing.

Another technique which can be used to increase the performance of the system
includes using a command which brings the control of the CNC to its absolute
Zero point. This is where the X, Y, Z, coordinates are at 0. The absolute zero

shift can change the position of the coordinate system. The programmer first
sends the Machine spindle to the Home Zero position by feeding the G28
command in the program. The command G92 tells the MCU (Machine Control
Unit) how far from the home zero location, the coordinate system origin is to be
positioned. This can simply be explained as;
N1 G28 X0 Y0 Z0 (This NC block of
data, sends the spindle to Home
zero Position)
N2 G92 X4.000 Y5.000 Z6.000
(The Machine will refer these
coordinates as the Part Zero)
This helps the Machine understand
where to start machining from,
because in many cases the work
cant be clamped on the Machines
Zero point due to Jigs, Clamping or
due to the size of the part being
machine itself. Reprograming the
datum edge helps the machinist
work with the part without a hassle
of working out the coordinates,
because he/she can Command the
machine to Zero shift the
coordinates to the datum edge of
the workpiece.

In some CNC machining jobs, the toolpath is required to have both right and Left
hand orientation. With Mirror imaging on a program, the overall programming
time can be shortened. This is because any machining operations can be
repeated symmetrically by using the mirror Imagine feature of a control
system. The programming time is reduced because the programmer or the
Machinist does not need to work out new calculations as he/she can
symmetrically flip or Mirror the programming so it can be done on the other side
of the machine bed, this feature also reduces the chances of errors. The Mirror
image feature can also be defined as the Axis Inversion function, which is
correct up to a certain point, but with the mirror image feature, the machine axes
are inverted, but other changes also take place. To understand the programming
of mirror image, it is important to be familiarized with basic rectangular
coordinate systems, and how they apply to Quadrants.
There are four quadrants on any plane, the upper right area creates Quadrant 1,
the upper left area is quadrant 2, the lower left area is Quadrant 3 and the lower
right area is quadrant 4. In basic terms Mirror image is a feature which is based
on the fact that machining toolpath in one quadrant is not much different than
machining the same toolpath in another quadrant using the same program with
the Mirror image Function in effect.

In practical terms, the CNC Program


would look like this

Another program feature which can be used while CNC machining is known as
Coordinate Rotation. When programming a tool motion that creates a patter,
contour or a pocket in Orthogonal orientation, the Coordinate Rotation can be
used to rotate the tool path of the job about the defined point and a specified
angle. This feature can be used on a lot of CNC operations and makes the CNC
programming process easier, flexible and efficient. The most important
applications of coordinate rotation is a program that is defined by vertical or
horizontal axes (Orthographic orientation) but is defined o be machined at an
angle on the part drawing. Usually the programs toolpaths are calculated on axes
which are parallel to the orthographic orientation, once the toolpaths are fed into
the code, the Coordinate rotation command is fed into the code with a defined
angle of rotation. Usually this feature only requires three items to define the
rotated part to the Machine control unit. The Center of rotation, the angle of
rotation and the toolpath to rotate. Before these items are fed into the code, the
feature needs to be turned off with a preparatory command which is G68. The
g68 command will activate coordinate system rotation based on the center of
rotation which can be defined as the Pivot point. And the degree of rotation. For
example
G68 X Y R Where;
X = Center of rotation Defined by Absolute X
coordinate
Y = Center of rotation defined by Absolute Y
coordinate
R = Angle or Rotation
This Feature can be used for a lot of
conventional Complex CNC machining of a part
which is circularly based with contours and
pockets in the inner diameter. This command
with the Mirror imaging can speed up the CNC
programming time significantly. For example, a

job showed below

Another function which can be used in CNC is the Scaling Function. This
function is usually used in a situation where the machining tool path that had
already been programmed once must be repeated, but machined as a smaller or
larger part than original, yet still keep it proportional at the same time. For even
more efficiency this function can also be used with other programming functions
such as Datum shifts, Mirror image and coordinate rotation. Those scaling
function is nothing more than multiplying the programmed axis value by the
scaling factor, based on a defined scaling center and the scaling factor. This
function can be switched on with the command G50 and the specified with the
original scaling and then and defining the CenterPoint of the part.

The Macro Routine function for Machining is really powerful and in basic
operations can be used for repetitive operations, and can be classed as fairly
similar to using a sub program. Macro routinizes will allow the machinist to
change some features of the job without actually editing the main program code.
This style of programming is usually used for parts which are fairly similar to
each other but with some different features like dimensions of holes, or pockets
etc. Macro Calls are initiated with G65 instead of M98 (or M97 on a Haas). Macro
Calls have what are called "arguments". All programming languages that have
this capability refer to it as "arguments". Arguments let you use word address
format to send information to your macro. Let's say we have a special custom
deep hole drilling cycle we have created. We want to pass it the X and Y coordinates
where the hole goes as well as a Z coordinate for how deep to drill. With a custom
Subprogram Call, it might look like this:

N100 (Custom Deep Hole Cycle Subprogram Call)


N110 #1 = 2.5 (Load X into #1)
N120 #2 = 3.0 (Load Y into #2)
N130 #3 = 5.4 (Load Z into #3)
N140 M98 P1000 (Call the Deep Hole Cycle)

As you can see, we loaded X, Y, and Z into Local Variables. The


subprogram knows which local variables contain which information and
can go on about its business after retrieving those values. Now here is
what it might look like for a macro call:
N100 (Custom Deep Hole Cycle Macro Call)
N120 G65 X2.5 Y3.0 Z5.4

REFFERENCES
COMPUTERNUMERICAL CONTROL PROGRAMMINGBASICS. 2015. COMPUTERNUMERICAL
CONTROL PROGRAMMINGBASICS. [ONLINE] Available
at:http://www.engr.uvic.ca/~mech410/CAM_references/CNC_Computer_Numerical_Control
_Programmig_Basics.pdf. [Accessed 24 November 15].
Subroutine and subprograms call (all machines). 2015. Subroutine and subprograms call (all
machines). [ONLINE] Available at: http://cncsimulator.info/OnlineHelp/OnlineHelp.html?
Subroutineandsubprogramscallallm.html. [Accessed 24 November 15].
Subprogram and Macro Calls. 2015. Subprogram and Macro Calls. [ONLINE] Available
at:http://www.cnccookbook.com/CCCNCGCodeSubprograms.htm. [Accessed 24 November
15].
CNC Programming Handbook. 2015. CNC Programming Handbook. [ONLINE] Available
at:https://books.google.co.uk/books?id=w7jBgAAQBAJ&pg=PA409&lpg=PA409&dq=mirror+imaging+CNC&source=bl&ots=VZz8b16
uqG&sig=Fme9TF4URc3jRLibWZID0M4dhTc&hl=en&sa=X&ved=0ahUKEwjSxf6hyavJAhV
GcRQKHcjIBO8Q6AEIIDAA#v=onepage&q=mirror%20imaging%20CNC&f=false. [Accessed
24 November 15].
http://www.compumachine.com/support/Tech-Bulletin/How-To-User-Mirror-Fucntion-Fanuc.pdf

http://webcache.googleusercontent.com/search?
q=cache:http://www.ignou.ac.in/upload/Unit-457.pdf&gws_rd=cr&ei=5v44Vu6hAobaeYWJpNAH
Programming CNC machines in Haskell. 2015. Block of data. [ONLINE] Available
at:http://users.dsic.upv.es/~jsilva/cnc/. [Accessed 24 November 15].
COMPUTERNUMERICAL CONTROL PROGRAMMINGBASICS.
2015. COMPUTERNUMERICAL CONTROL PROGRAMMINGBASICS. [ONLINE] Available
at:http://www.engr.uvic.ca/~mech410/CAM_references/CNC_Computer_Numerical_
Control_Programmig_Basics.pdf. [Accessed 24 November 15].
Wikipedia. 2015. G codes ISO standards. [ONLINE] Available
at: https://en.wikipedia.org/wiki/G-code. [Accessed 24 November 15].
CNC cookbook. 2015. coordinate rotation. [ONLINE] Available
at:http://www.cnccookbook.com/CCCNCGCodeG68G69CoordinateRotation.htm.
[Accessed 24 November 15].
COMPUTERNUMERICAL CONTROL PROGRAMMINGBASICS.
2015. COMPUTERNUMERICAL CONTROL PROGRAMMINGBASICS. [ONLINE] Available
at:http://www.engr.uvic.ca/~mech410/CAM_references/CNC_Computer_Numerical_

Control_Programmig_Basics.pdf. [Accessed 24 November 15].


Learning CNC stratergies. 2015. Scaling. [ONLINE] Available at: http://cnc-programmingtips.blogspot.co.uk/2014/12/g50-and-g51-scaling-and-mirroring.html. [Accessed 24
November 15].
CNC cook book . 2015. Macro routiene. [ONLINE] Available
at:http://www.cnccookbook.com/CCCNCGCodeSubprograms.htm. [Accessed 24
November 15].
COMPUTERNUMERICAL CONTROL PROGRAMMINGBASICS. 2015. COMPUTERNUMERICAL
CONTROL PROGRAMMINGBASICS. [ONLINE] Available
at:http://www.engr.uvic.ca/~mech410/CAM_references/CNC_Computer_Numerical_Control
_Programmig_Basics.pdf. [Accessed 24 November 15].

S-ar putea să vă placă și