cam assignment 2.docx

11
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,

Upload: jonathan-julian

Post on 27-Jan-2016

24 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: CAM Assignment 2.docx

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

Page 2: CAM Assignment 2.docx

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 code’s 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_Numerical_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

Page 3: CAM Assignment 2.docx

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 system’s performance, with a various amounts of codes and techniques, one of these techniques consists of saving a simple program function in the CNC control unit’s 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 couldn’t 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

Page 4: CAM Assignment 2.docx

language compatibility were forgotten off as the packages provide almost every appropriate G-cod language for every machine possible and translating the codes wasn’t 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 can’t 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.

Page 5: CAM Assignment 2.docx

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

Page 6: CAM Assignment 2.docx

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 coordinateY = 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…

Page 7: CAM Assignment 2.docx

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)

Page 8: CAM Assignment 2.docx

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=w7-jBgAAQBAJ&pg=PA409&lpg=PA409&dq=mirror+imaging+CNC&source=bl&ots=VZz8b16uqG&sig=Fme9TF4URc3jRLibWZID0M4dhTc&hl=en&sa=X&ved=0ahUKEwjSxf6hyavJAhVGcRQKHcjIBO8Q6AEIIDAA#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-4-57.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-programming-tips.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

Page 9: CAM Assignment 2.docx

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].