Part three - Key concept number two: You must be prepared to create programs
In part one , we introduce the key concepts approach. In part two, we present the most important topics of key concept number one: Know your machine from a programmer's viewpoint.
Here in part three, we're going to discuss topics related to preparing to create programs. Here is a list of the general topics that we include in key concept number two:
The importance of preparation
Determine the sequence of machining operations (process)
Come up with the cutting tools needed in the program and make sure they are available and capable of machining as required
Determine cutting conditions for cutting tools
Calculate all coordinates to be used in the program
Plan the setup
As with every key concept, the general presentations must work for any kind of CNC machine. But specific presentations will apply only to the kind of CNC machine tool/s you are describing in your class.
Importance of preparation
I'll begin by describing why it is important to prepare to develop a program. I'll point out that though this key concept has nothing to do with programming commands, it is among the most important key concepts. I'll say something like "The success of your program is directly related to the preparation you do to get ready to create it - and you know the saying 'Garbage in - garbage out'. If you don't adequately prepare, you can't expect your program to machine good parts."
You can use analogies to help. Point out that a public speaker must prepare prior to making a presentation. Without adequate preparation, the speaker will be likely to make mistakes during the presentation. In similar fashion, an ill-prepared CNC programmer will be likely to make mistakes when programming.
Since mistakes can lead to dangerous situations, make sure students understand that there is a direct relationship between preparation and safety. I'll prepared programmers are dangerous programmers.
Yet another benefit of adequate preparation is efficiency. Mistakes lead to wasted time. Given the expensive nature of CNC machine tools, there is no excuse for machine downtime for something as basic as lack-of-preparation.
I also like to point out that the simplest part of the programming process is actually writing the program. I'll say something like "You probably don't yet agree, but an experienced programmer will say that the easiest part of the programming process is actually developing the program. The hard work lies in the preparation needed to get ready to do so."
Some programmers actually feel that they're wasting time by doing the preparation steps we recommend. They want to get right to the task of programming. But point out that adequate preparation will keep a programmer on track when programming. They won't have to break their train-of-thought to come up with a cutting condition or calculate a coordinate - if they've adequately prepared.
Determine the sequence of machining operations (process)
After studying the print and determining what must be done by the CNC machine (you may want to point out that there may be other machines involved in the manufacturing of a given workpiece), the programmer must come up with a machining sequence (process) that will machine good parts. This makes a good time to reiterate the need for machining practice skills. Drawing on these skills, the programmer must come up with a workable process.
While I don't like to get too detailed with machining practices, I do like to mention that there is a correlation between quality, efficiency, and process. The first goal, of course is to make good workpieces. And the process will have a big impact on the quality of the workpieces being produced. I'll show this general turning center process and ask students to identify what's wrong:
Rough face and turn
Finish face and turn
Drill 2.0 diameter hole
Rough bore
Finish bore
This process breaks an important rule of basic machining practice: Rough everything before you finish anything. With this process, there will be concentricity problems between internal diameters and external diameters if the workpiece shifts at all during the drilling and rough boring operations. Hopefully students catch this mistake right away. Point out that if they feel at all weak with their ability to develop a workable process, they should show their completed process to an experienced machinist for approval before creating the program.
I provide a Sequence of Operations Planning Form. This form allows programmers to develop a process and includes sequence order number, operation description, cutting tool description, tool station number, feedrate, and spindle speed. I point out that this completed form is the English version of the program. Not only will this completed form help the programmer stay on track during programming (not skip an operation), it will provide excellent documentation for anyone that must work on the program in the future.
Come up with the cutting tools needed in the program and make sure they are available and capable of machining as required
Point out that a cutting tool will be needed for each machining operation, and again, students must draw on their basic machining practice skills to come up with appropriate cutting tools. The student must also make sure the tools they select are available (in stock), or they must be ordered.
Students must also determine if there are any special considerations for the cutting tools they use in a program. With a machining center program, for example, a cutting tool may have to reach down into the cored hole in a casting, being long enough to reach the machined surface. If it's not long enough, the shank will hit on the top of the casting. These are considerations the programmer must consider and deal with.
As mentioned earlier, the Sequence of Operations Planning Form includes a place to document the cutting tool to be used for each operation, along with the CNC machine's tool station number in which the tool will be placed.
Determine cutting conditions for cutting tools
Prior to programming, the programmer must calculate the cutting conditions to be used for each cutting tool. Again, this will keep the programmer from having to do so while programming. As with the planning of the process and cutting tool selection, this requires the programmer to draw on their basic machining practice skills. The Sequence of Operations Planning Form provides a place to document this information.
Calculate all coordinates to be used in the program
Since this curriculum is for manual (G code level) CNC programming, the programmer must calculate all coordinates to be used in the program. Do note that all preparation steps discussed to this point are required of any programmer, regardless of how programs are prepared (even if using a computer aided manufacturing system).
I tell students that if the print is large and roomy, they can write the needed coordinates right on the print, close to the location of the coordinate. But since most prints are small and cluttered, they provide no room for such documentation.
If there is no room on the print, I ask them to draw a dot on the print at each location a coordinate is required. And then they must number the dots. On a separate sheet of paper (I call a coordinate sheet), I have them write down the X, Y, and Z coordinates for each dot numbered on the print (or just X and Z for turning centers). Here is an example coordinate sheet:
X0.5 Y3.0 Z0.1/Z-0.25/Z-1.2
X0.5 Y0.5 Z0.1/Z-0.25/Z-1.2
X4.5 Y0.5 Z0.1/Z-0.25/Z-1.2
X4.5 Y3.0 Z0.1/Z-0.25/Z-1.2
X2.0 Y1.5 Z0.1/Z-0.25/Z-0.5
Notice that an X and Y location are documented for each point. For Z, notice that there are multiple values (approach position, center drill bottom position, and drill bottom position). I urge students to document every coordinate needed in the program. This will keep them from having to calculate any coordinates while programming.
Plan the setup
There are many things about how setups are made that effect the way a program must be written. We've already talked about how cutting tool station numbers are documented on the Sequence of Operations Planning Form, and the programmer must, of course, know which station each tool to use in the program for each cutting tool.
In similar fashion, there are things about the workholding setup that effect the way a program must be written. The programmer must know, of course, where clamps and other obstructions will be so they can be avoided in the program. For this reason, the programmer must plan the entire setup before the program can be written.
Most companies use a standard one-page setup sheet. You can create a setup sheet form including a place to document cutting tools and their placement in the machine, a place to write setup instructions, and a place to draw a sketch of the workholding setup.
Programmers are finally ready to write the program!
Armed with all of these things being done, a programmer is truly ready to write the program. There will be no problems or questions to ponder while the program is being written. All answers will already be documented. Again, this minimizes potential for mistakes when programming, provides excellent program documentation, and will allow the programmer to concentrate on the task at hand.
Comments