Issue 62
Winter 2004
Copyright 2004

In this issue:
  1. Instructor note: Are your class sizes shrinking?
  2. School profile: Rock Valley College
  3. Instructor note: Teaching CNC with the key concepts approach - part four
  4. Time saver: Identify complex tasks and simplify them
  5. G-code primer: A custom macro for thread milling
  6. Parameter preference: Setting up for RS-232c communications
  7. Managers corner: Do you have a lead person?
  8. Safety Tip: Keep a finger ready to press feed hold!

The Optional Stop is published quarterly by CNC Concepts, Inc. and is distributed free of charge to people subscribing to our (email) distribution list and to those downloading it from our website ( Information is aimed at CNC users and instructors teaching live CNC classes. All techniques given in this newsletter are intended to help CNC people. However, CNC Concepts, Inc. can accept no responsibility for the use or misuse of the techniques given.

To subscribe: Simply email us ( and let us know you'd like to be added to our distribution list.

To unsubscribe: Respond to this email, typing REMOVE in the subject. Please accept our apologies if we have disturbed you.

Quick links to our website:

Of special interest on our website:

Product Spotlight: A Curriculum for CNC Instructors

Machining Center Programming, Setup, and Operation

This comprehensive curriculum comes with everything you need to teach CNC machining center usage!

Maybe you're an experienced instructor with limited CNC experience. Or maybe you're an expert CNC person with limited teaching experience. Or maybe you're somewhere in between.

Regardless of you current experiences, this curriculum will help you present the complex topic of CNC machining center usage in a logical, understandable, and progressive manner. And we provide the whole package. There are materials to help you get ready to teach, materials to help you while you're teaching, and materials to confirm student comprehension.

Best of all, all of the instructor's materials for this curriculum are shipped to you free of charge when your school places its first order for student materials!

Course lessons

This class is made up of ten key concepts that are further divided into twenty-four lessons. As the name implies, the key concepts provide a limited number of important general principles a student must understand. Lessons fill in the blanks and are progressively more complex. Each builds on previously presented information. Here is a list of lessons for this course:

  1. Machine configurations
  2. General flow of programming
  3. Visualizing program execution
  4. Understanding program zero
  5. Measuring program zero
  6. The two ways to assign program zero
  7. Introduction to programming words
  8. Preparation for programming
  9. Motion types
  10. Introduction to compensation
  11. Tool length compensation
  12. Cutter radius compensation
  13. Fixture offsets
  14. Introduction to program formatting
  15. The four kinds of program format
  16. Canned cycles
  17. Sub programming techniques
  18. Other special features of programming
  19. Rotary tables
  20. Tasks related to setup and operation
  21. The control and machine panel
  22. The three modes of operation
  23. The key operation procedures
  24. Program verification

Scope for the class

From the list of lessons, notice that we're addressing all three tasks that a person must master in order to become proficient with CNC machining center usage - programming, setup, and operation.

Programming - You'll be teaching G code level (manual) programming techniques. This is the first level of programming a person must master in order to program CNC machining centers. With this class under their belt, a student will be ready for a class on more advanced CNC programming systems - which your school may also offer. All specific programming examples are shown for the most popular control in the industry - the Fanuc control.

Setup - There are many setup-related principles presented during the programming portion of the course. A programmer must, of course, be able to describe setups. During the setup portion of the class, you'll be describing the various tasks require to make setups in the approximate order that setups are made.

Operation - By operation, we actually mean two things. First you'll be presenting general operation techniques a person must understand to run a CNC machining center. In the student manual, we provide a series of operation handbooks to help with this. But more importantly, you will be presenting techniques an operator must understand in order to complete a production run. These techniques include workpiece load and unload, cycle activation, sizing and trial machining, and tool replacement.

Your visuals for this class

PowerPoint presentations will be at the heart of your presentations. There is one slide presentation for each lesson (again 24 total). These colorful graphics will quickly get and hold your students' attention. And they are very comprehensive, including slides that build with progressively more complex information and animations that simulate machine or cutting tool motion. There are over 5,000 slides in this course!

Each PowerPoint slide presentation begins with a presentation links slide - a slide that includes hypertext links to each major topic in the lesson. This slide will allow you to quickly jump to a specific topic within the current lesson.

There is also a lesson plan slide close to the beginning of each lesson. This will allow you to introduce the major topics that will be discussed in the lesson. And there is a lesson summary slide at the end of each lesson - so you can review key topics. This allows you to use a proven method of public speaking: Tell them what you're going to tell them - tell them - then tell them what you told them.

Regardless of how well prepared you are to teach a lesson, it is possible to become confused as you transition from one topic to another. This can be embarrassing - it happens in front of your students! To eliminate this confusion, we include fly-in text boxes in transitioning slides. These text boxes will keep you on track, and in most cases, will be the first sentence you'll say to begin the new topic.

How we help you get ready to teach

We dramatically reduce the amount of preparation you must do in order teach your machining center class. We completely eliminate, of course, the need to prepare the curriculum in the first place. It will be a relatively simple matter for you to get comfortable with the teaching materials that we provide.

Getting comfortable the teaching methods - Instructor materials include a For The Instructor manual that provides an explanation of our key concepts approach to teaching, a course outline, and general information to help you get acquainted with the techniques you'll be using to teach the course.

Getting ready to teach each lesson - We provide materials to help you each step of the way. First of all, we provide audio guidance on key slides within each lesson's PowerPoint presentation. You'll find a special teacher icon on key slides (especially at transition slides). If you click this icon, an audio clip will play - explaining what you should be presenting at this point in the lesson.

Again he audio guidance is intended to help you prepare to teach each lesson. It is intended for you to hear, not your students. You won't be clicking this icon while you're teaching - only while you are getting read to teach.

We also provide a (very thick) Instructor Notes manual. This manual parallels the audio guidance provided in the slide presentations - including instructions to help you understand what must be presented at key slides. To hear the audio guidance, of course, you must have a computer available. This Instructor Notes manual provides a more portable way to prepare - you won't need a computer.

Student materials

Student materials include a course manual and a workbook. The student manual is 328 pages, and nicely parallels your presentations during class. It makes a great portable way for students to review what's been presented in class - away from the classroom - and long after the class is over. And, it makes for great homework reading assignments.

The workbook includes an exercise for each lesson (again 24 total). Exercises are much like quizzes - containing true/false and multiple choice questions. Many of the exercises include programming activities. Students will be filling in coordinate sheets, working on programs, and (eventually) writing their own programs from scratch.

The student manuals must be purchased from us. Student manuals sell for $50.00 each and workbooks sell for $14.95 each. These are our discounted prices to your school or school bookstore.

Remember, instructor materials are shipped free of charge to you when your school places its initial order for student materials. We normally ask that the initial order be for twenty sets of student manuals to qualify for free instructor materials, but we can be quite flexible in this regard.

Get started today!

Maybe you've already heard enough and want to get started. Simply phone us (847-639-8847), telling us when your school bookstore will be placing the initial order for student materials and we'll send you the instructor materials right away.

If you still have questions, feel free to contact us by phone (847-639-8874) or email.

Free Samples Disk - There is a free CD-rom disk available that includes all written instructor materials (in Adobe Acrobat format), a sample slide presentation, and samples from the student manual. Simply email us, choosing Send me the samples CD as the reason for the email.

Other curriculums available from CNC Concepts, Inc.

  • Turning center programming setup and operation
  • Setup reduction
  • Cycle time reduction
  • Maximizing CNC utilization
{short description of image}
Ad for machine shop calculator
{short description of image}
eBooks ad Click to get more information about this ebook Click to get more information about this ebook
Ad for CNC manuals Link to CNC turing center programming and operation manual Link to CNC machining center programming and operation manual
Machining center programming and operation CD-rom course

Instructor note: Are Your Class Sizes Shrinking?

More and more technical schools are finding it difficult to attract newcomers to their manufacturing-related courses. Shrinking class sizes, of course, will place your entire manufacturing program in jeopardy. No school can maintain a program if no one registers for its classes. And we know of more than one school that has eliminated its manufacturing program due to dwindling attendance.

Most technical schools and community colleges cater to industry that is within a short distance (up to fifty miles or so) from the school. And unfortunately, your manufacturing program/s may be at the mercy of the health of local industry. If local industry is thriving, your classes are probably full. But if companies in your area are struggling, so may be your manufacturing programs. While your school can probably weather a short-term lull, it will be more difficult to keep your manufacturing program together if the down-turn continues for an extended period.

Get to know the manufacturers in your area

While there are schools that serve a national employer base, most technical schools (including community colleges that have manufacturing courses) must cater first and foremost to local industry. For these schools, satisfying local industry will be of paramount importance. It’s pretty simple. Those schools that serve the needs of local industry will thrive. Those that don’t will eventually fail.

How well you’re satisfying your local industry is pretty easy to determine. Schools that satisfy local industry will have excellent placement ratios for graduating students (usually over 90%). There will be a waiting list for companies anxious to hire the people the school graduates. This makes it relatively easy to attract new students since students will be secure in the knowledge that they’ll be able to find a job after graduation.

If you're truly serving the needs of local industry, companies will be sending their employees to your classes – or better yet – they’ll be contracting you to conduct courses on their own premises. And there is no better endorsement for a local technical school's program than having a large percentage of the manufacturers it serves sending people to the school.

Admittedly, there are other factors that contribute to the success of any manufacturing-related curriculum – not the least of which is the number and status of companies in your school’s area. Unfortunately, some instructors can count on one hand the number of major manufacturing companies their school serves. And, of course, the local business climate will have a lot to do with whether or not companies are interested in providing training to their employees – or whether they will be hiring when your students graduate.

Who’s in your area?

Technical instructors should be very well versed with the manufacturing companies in the region served by their school. Products being produced, processes being performed, and location of customers served by local companies are among the general things you should know.

You should also get to know the people in key positions. Who’s the manager of Human Resources? Who manages the Manufacturing Engineering department? Who is the plant manager? While you may be hesitant to contact companies to meet and get to know these people, you may be surprised at how receptive they are once you work up the nerve to contact them. Progressive managers are always looking for ways to train their personnel.

Remember, most manufacturing companies are constantly struggling to hire and keep qualified people. They’ve probably attempted their own in-plant training programs with limited success. When an instructor from the local technical college calls to see if the school can help, most manufacturing people will jump at the opportunity to expand their training resources.

What skills are required?

Interested instructors will strive to determine what their students will be doing once they graduate and begin working in a local company. Only with this knowledge can an instructor prepare an appropriate curriculum. As you talk to key people in local manufacturing companies, find out what they require. Additionally, find out what problems they are currently having when it comes to the proficiency of their work force.

Be prepared for some criticism

People working in local companies have probably had some previous experience with your school. Maybe they’ve hired some of your graduates. Maybe they’ve attended some of your classes. Or maybe they know people that have. It’s likely that they have some pre-conceived notions about what your school does. And it may not be all good. Be sure that the people you talk to understand that the whole point of your visit is to gain an understanding of what the company expects of employees so you can better accommodate these needs.

Don’t ignore small companies

While your biggest potential for new students may come from larger companies, remember that most larger companies have a series of local suppliers (commonly called contract shops or job shops). The people working in these smaller companies often need more training than people working in larger companies – especially when it comes to actually working with CNC machines. So if you can serve the needs of smaller companies, it’s likely that you’ll have no trouble doing so for larger companies. Additionally, having success with a small company in your area may be a way to get your foot in the door to the larger companies this company supplies. Don’t forget – people in small companies have the best contacts in larger companies.

Get busy!

Truly – your best potential for new students comes from local industry. Get out and meet them!

Find ways to help local industry thrive

You must not consider this beyond the scope of what you can do as a technical school instructor. Think about how your school can enhance a company's chances for success. When it comes to manufacturing training, and especially courses relative to CNC, many technical schools do little more than (very) basic training. While basic CNC training is very important to your local industry, consider offering classes that are aimed at a higher level of CNC person.

Expand your offerings to include more experienced manufacturing people. Manufacturing people are always looking for ways to improve the productivity of their manufacturing processes. If you can offer courses to help them achieve this goal, you may find your new offerings to be flooded with students! So not only will you be helping local industry to thrive, you'll be gaining a whole new group of potential students. This is a win-win situation if there ever was one!

Here are a two specific examples of courses we think your local industry will find particularly interesting. Note that we offer teaching curriculums for each of them. These curriculums include instructor's materials (To The Instructor Manual and PowerPoint slide presentations) and student materials (Course manual). But don't limit your potential. Find out what your local industry needs and develop courses to cater to these needs.

Setup reduction for CNC --- You'll never meet a manufacturing person that doesn't want to minimize the amount of time it takes to get machines ready to run production. We define setup time as the time it takes from machining the last workpiece in the most recent production run to making the first good workpiece (efficiently) in the next production run. Truly, the entire time a machine is down between production runs must be considered as setup. In this course, you'll first present the principles of setup reduction. These principles can be applied to any form of production equipment. Next, you'll present specific techniques that can be applied to reduce setup time for CNC machining centers and turning centers in the approximate order setups are made. Click here to see more information about this curriculum.

Cycle time reduction for CNC --- In similar fashion, all manufacturing people want to shorten the time it takes to complete a production run. Our definition of cycle time is the entire time it takes to complete a production run divided by how many good workpieces have been produced. Anything that adds to the length of time it takes to complete a production run must be considered part of cycle time. In this course, you'll first present the principles of cycle time reduction. These principles are quite similar to those related to setup reduction, with some subtle differences. Next, you'll present specific techniques that can be applied to reduce cycle time for CNC machining centers and turning centers, including techniques related to workpiece load/unload, reducing program execution time, reducing tool maintenance time, and streamlining other tasks an operator must perform during a production run.. Click here to see more information about this curriculum.

Recruit instructors from local industry

If you haven't already, look for experienced manufacturing people in your area to teach some of your manufacturing-related courses (on a part-time basis). You yourself may be one of these people. While you will, of course, need to approve course content, this is a sure-fire way to ensure that your courses will suit the needs of local manufacturers. It is also a great way to ensure that some of your graduates will get placed. I know of more than one manufacturing person that teaches part-time for their local technical college so they can get first pick of graduating students.

Work closely with local high schools

We cannot overstress the need for a technical school to cater to local industry. This should be your first and primary concern. If you're not serving the needs of local industry, you won't be able to place your graduates - and your program/s won't be around for long. Convincing the manufacturers in your area to take advantage of your school's training facilities should be at the heart of any recruiting you do. Ideally, the majority of your student base will be coming from local industry. Only with this objective achieved, should you begin recruiting from other sources.

Assuming you can place your graduates, your program will, of course, need students. One obvious place to find them is the local high schools in your area. Look first for high schools that have vocational programs. In many regional school districts, there is one central "vo-tech" high school that provides the vocational training for the region. This kind of school commonly has a metals program in which students are introduced to metal-working. The students in this program will make excellent candidates for your manufacturing program/s.

Note that many technical high schools provide excellent basic industrial training. Indeed, you may find that these students are hired by local manufacturers right after high school - so you may be competing with the high schools in your area! This is yet another reason why you must work closely with local industry. It's likely that these entry-level employees will still need quite a bit of training in order to become proficient. Companies are probably providing some kind of (costly) on-the-job training to bring new-hires up to speed. With an understanding of what local companies need, your program/s can help bridge this gap.

While the "vo-tech" type high school may provide your best source for candidates, get to know the guidance counsellors for all of the high schools in your area. A guidance counselor cannot, of course, guide potential students to your program if they don't know it is available.

Think outside the box

Technical schools have traditionally offered certificate and degree programs that require students to take a full load of courses. If your manufacturing program is struggling, try not to stick with traditional thinking. If you haven't already, consider open-in/open-out registration that allows students to attend classes on a more flexible schedule. Incorporate more self-study and on-line courses in your curriculum. And in general, make it as easy as possible for students to participate in your offerings.

Your school may already offer some form of in-plant training (commonly related to what some schools call "business education services"). If you don't currently offer this kind of training, especially for classes related to basic manufacturing skills like blueprint reading and shop math, you're probably missing out on a great deal of training business.

Another potential revenue generator to consider is to hold 1- 2- or 3-day seminars on selected topics. You (obviously) have the needed classroom facilities. You have the potential attendee base of local companies. Pick a hot topic (like setup reduction, lean manufacturing, geometric dimensioning and tolerancing, rapid prototyping, etc.) and prepare the needed course materials. Or contract an industry expert to make the presentation.

So you think your program isn't in trouble?

Even if your school's manufacturing program is pretty well attended, don't be too quick to think that all is well. Again, you're at the mercy of your local industry. Today's high-flying manufacturer may be tomorrow's victim of recession. Do your best to maintain contact with all of the manufacturers in your area, regardless of whether they're currently sending people to your classes.

Do you have a newsletter?

One great way stay in contact is to publish a periodical newsletter. It really doesn't take that much effort, especially if you limit the number of times you publish per year. I recommend a quarterly newsletter. Be sure to include topics of interest to manufacturing people, not just your school's class schedule (though you will want to let people know about your upcoming classes). Send your newsletter to key people in manufacturing companies (Human resources people, plant managers, engineering managers, etc.) as well as all of the high school guidance counsellors in your area.

You may, for example, pull some excerpts from your training materials (as long as you don't infringe on copyrights). It doesn't have to be long - a few pages per issue will suffice. Just get your school's name in front of local manufacturing people on a regular basis. Remind them that you're still around and ready to serve their training needs.

If your school sends out a general mailing, don't count on it to help with your manufacturing classes. For the best results, this newsletter should be written specifically for people in manufacturing, addressing topics that they'll find helpful and interesting.

On our website, we provide a CNC Tips page. If you're struggling to find content, feel free to copy and paste any of these tips into your newsletter. All we ask is that you give credit to CNC Concepts, Inc. for any material you use from our website.

End of article (M01)

Top of page

School Profile: Rock Valley College in Rocford Illinois

By Stan McCord of Rock Valley College

Rock Valley College has always had a strong link with the manufacturing community. Rockford has a long history of being a manufacturing center, and despite the loss of many of our largest employers, manufacturing will continue to be the mainstay of the Rockford area's economy.

Local industry relies upon Rock Valley College to be the source for training employees in many different areas. The Technology Division offers associate of science degree courses in Automated Manufacturing and Mechanical Engineering for those wishing to pursue a Bachelor's degree. The division also offers degrees in electronics, computer technology, networking and building trades. Most of the students in our degree programs already work in the manufacturing field and are working towards internal advancement or towards a four year degree.

The Automation Skills program is designed for introducing students and employees to the CNC career. Many start with basic blueprint reading and shop math and advance through a series of classes to familiarize them with CNC lathes and machining centers. We offer setup and operation classes and G-code programming classes, utilizing CNC Concepts training materials.

Students can earn a certificate as a CNC operator after completing a series of classes for either the lathe or machining center. These classes are non-degree credit, and last just five weeks. Students receive approximately 36 hours of primarily hands-on, applications based training.

Many of our local companies encourage their new employees to take these beginning classes or require that their employees take them before posting on CNC jobs. Students can take just one course or a series of courses to complete their certification. The Automation Skills program has been very successful at bringing new students to the college.

We have just begun offering CAD for Machinists and Introduction to CAM, for those students with more shop experience who need to become familiar with more advanced programming systems.

Rock Valley College has recently become a 'Haas Technical Education Center', which will enable us to work with other community colleges and universities around the country to develop a national CNC certification program. Haas has been very generous with educational discounts on CNC equipment. We currently have three Haas machining centers and three Haas turning centers. We are discussing upgrading some of our equipment to include live tooling on our turning centers and adding a horizontal machining center.

Rock Valley also works closely with the Rockford Tooling and Machining Association's Tool and Die apprenticeship program. All third and fourth year apprentices take degree courses in Autocad, Geometric Tolerances, Tooling applications, CNC setup and operation, CNC programming and CAM programming. Some apprentices work towards their two year associates degree in manufacturing as well. They have found that completing the degree program is an added benefit to their employment portfolio.

The last few years have been tough, as most community colleges will agree. Rockford was hit hard with the loss of many long time employers. Many community colleges in Northern Illinois have closed their manufacturing programs. Rock Valley College is determined to remain a source for technical training and degree programs. Our goal is become the 'regional' training source for the Northern Illinois area. Our new partnership with Haas will enable us to continue growing and allow us to utilize the latest technology available. We are looking forward the changes the next few years will bring.

  • Editor's note: If you are an educator working for a technical school that has a CNC program, we encourage you to write and submit an article about your school. It's interesting and important to share with others in your position. To submit, simply email your article to us.
End of article (M01)

Top of page

Instructor note: Teaching CNC with the Key Concepts approach - part four

Part four - Key concept number three: You must understand the motion types

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. In part three, we present topics related to key concept number two: Prepare to write programs.

Here in part four, we're going to discuss topics related to the motion types available to CNC programmers. Here is a list of the general topics that we include in key concept number three:

  • What is interpolation?
  • What point on the tool is being programmed?
  • Four things all motion types share in common
  • The three most common motion types (rapid, straight line, and circular motion)
  • Other important motion types

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. For example, you will only discuss those motion types that are equipped on the machine/s you are presenting.

What is interpolation?

I like to begin by describing interpolation. I point out that when only one axis is moving (say X on a bed style vertical machining center), the machine cannot help but move in a perfectly straight line. The X axis is a linear axis, and of course, when it moves by itself, it cannot help but move in a linear fashion.

Next I point out that when two or more axes are moving, in most cases, either a straight line motion or a circular motion is desired. In order to form the desired motion, the control must articulate the motion. This articulation is called interpolation.

I also like to point out just how the control interpolates motion: by breaking the motion into a series of tiny single axis motions - forming a kind of stair-step sequence from the beginning point to the end point of the motion. The next drawing shows an example:


I point out, of course, that the stair-steps in the drawing are drastically exaggerated. In reality, they are equal in size to the machine's least input increment (commonly 0.0001 inch if working in the inch mode or 0.001 millimeter if working in the Metric mode). Students will not be able to see, feel, or otherwise measure these tiny steps (without very elaborate measuring equipment).

What point on the tool is being programmed?

Don't take it for granted that students understand the location on each cutting tool that is being programmed. For machining centers, for example, I like to go through each tool type and make sure students understand the point on the tool that is being programmed.

For hole-machining tools, like drills, taps, reamers, boring bars, etc., students must understand that in X and Y, they are programming the center of the tool. This makes good sense, since hole center locations are always specified on the blueprint. If they want to program a hole that is at a location of 1.0 in X and 1.5 in Y, they must specify: X1.0 Y1.5.

But for the Z axis, point out that the location on the tool being programmed commonly requires them to compensate for some kind of lead (again, for hole machining tools). With a drill, for example, they will be programming the extreme tip of the drill. All twist drills have a lead, which is usually 118 degrees. To calculate the length of the lead, students must multiply a value of 0.3 times the drill diameter. You should also go through some examples, showing how to calculate the actual programmed depth for blind-holes and through-holes.

And again, do this for all kinds of hole machining tools: Taps always have a certain number of imperfect threads. Reamers always have a small chamfer on the end. And so on.

For milling cutters, point out that certain milling cutters, like face mills are still programmed from centerline in X and Y. And at this point in the class, programming centerline for all milling cutters may be easiest for students to understand. But I like to at least prepare students for the feature cutter radius compensation that will be discussed in detail during key concept number four. Point out that though examples shown in key concept number three (the current key concept) will show a milling cutter's centerline path, the feature cutter radius compensation will allow the programmer to program the work surface path. Cutter radius compensation will make calculating coordinates easier and allow more flexibility at the machine.

I've described all of the specific examples of the point on a tool being programmed for a machining center. If you're teaching a turning center class, of course, you must do the same for tools that can be used on turning centers. Again, don't assume students will automatically know the point on each tool that will be programmed.

Four things all motion types share in common

As always, I recommend that you discuss commonalities. When a student understands each of these points about one motion type, they will understand it for them all.

All motion types are modal - If you haven't already, discuss the meaning of modal. Be sure students understand that once a motion type is instated, it remains in effect until it is changed. They need not keep instating the motion type word (G code) in every command of a series of consecutive motions of the same type.

All motion types require the end point to be programmed - Beginners seem to have trouble with this, especially during the programming of a lengthy series of motions that involve circular motions. Be sure they understand that for every motion, they must specify the end point for the motion. The tool has been brought to the start point for the motion by the previous motion command.

Only the moving axes must be programmed - If an axis is not moving in a given motion, it should not be included in the motion command. Doing so only lengthens the program and provides the possibility for making a writing or typing mistake.

All motion types can be specified in absolute and incremental mode - Remind students that you introduced absolute and incremental programming in key concept number one. Also remind them that it is almost always best to specify coordinates in the absolute mode (G90 for machining centers). Do mention that all motions can also be specified in incremental mode (G91 for machining centers) for those few times when it can be helpful to do so.

The three most common motion types

At this point, go through the important points about the three most common motion types, rapid motion, straight line motion (also called linear interpolation), and circular motion (also called circular interpolation).

Application for the motion type: For each motion type, I begin with what it is and the times when it is needed. With rapid motion, I point out that it causes the axes to move at their fastest rate. It is used for positioning. In fact, whenever the machine is not cutting, the motion should probably be done at rapid. With straight line cutting motion, I point out that it is used whenever cutting must be done along a straight line - as when drilling a hole or milling a straight (even angular) surface. I also mention that some programmers like to use straight line motion when positioning (instead of rapid) if they're worried about obstructions used close to the tool path. With circular motion, I point out that it is used whenever a circular surface must be machined. For machining centers, this includes milling a circular contour. For turning centers, this includes turning or boring a circular filet radius.

G code/s for the motion type: Within each motion type I then describe the commanding G code/s. G00 for rapid motion, G01 for straight line motion, and G02 and G03 for circular motion (G02 is clockwise, G03 is counter-clockwise). By the way, don't be too quick to assume that students understand the difference between clockwise and counter-clockwise. There are many digital clocks out there!

Other words involve with the motion type: Next, explain any other words that are required to use the motion. For straight line and circular motion, for example, point out that a feedrate must be included within the first command that uses the motion type. Explain that feedrate is modal, so it should not have be included within every consecutive command that requires the same feedrate. If you haven't already, be sure to point out how feedrate is specified for the machine/s being discussed in your class (per revolution or per minute). For circular motion, you must also explain how the size of the arc is specified. I prefer teaching the use of the R word because it is simpler. But you may also want to introduce directional vectors, I, J, and K.

Lots of examples: Be sure you show several examples that demonstrate the use of motion types. Your examples for circular motion (on machining centers) must still reflect the milling cutter's centerline path at this point. But be sure students understand that cutter radius compensation will allow them to program the work surface path (again, you'll discuss cutter radius compensation during key concept number four.

Other important motion types

While rapid, straight line, and circular motion are the three most common motion types, you may have to describe more. For machining centers, and if students will have to mill threads, you must describe helical interpolation. For turning centers with live tooling, you may have to describe polar coordinate interpolation - if students will have to be milling contours on the end of a workpiece with live tooling.

Depending upon student aptitude, you may want to minimize your presentations for complex motion types at this point. Let students get comfortable with the three basic motion types first. Save the presentations for these motion types for later in the class - possibly during key concept number six (special features of programming).

Here are two links that bring you to our CNC curriculum page and our CNC educators page. Use these two links to learn more about how you can use our key concepts approach in your own classes.

End of article (M01)

Top of page

Time saver: Identify Complex Tasks And Simplify Them

This issue's time saver is a rather general suggestion - and it varies with the aptitude level of the people involved.

In value added terms, there are only two types of tasks that occur in the manufacturing environment: those that further the completion of your product and those that don't. Tasks that further the completion of your product are called value added tasks. Those that do not are called necessary support tasks.

Any improvement you make in your company should be aimed at either enhancing a value added task or minimizing or eliminating a necessary support task. In either case, task simplification should be one of your primary tactics for improving.

By "complex task", we mean a task that is causing problems - and they should be pretty simple to spot, especially with tasks that directly affect value added tasks. Scrap parts, wasted time, duplicated effort, and damaged machines are severe symptoms of complex tasks that are too complicated for your people to perform.

Here is a simple example. CNC operators are charged with the responsibility of measuring workpieces during the production run. They compare these measured dimensions to the tolerances specified on the blueprint. They then make a decision. If the measured dimension is well within its tolerance band, they do nothing. But if the dimension is close to the high or low limit (based upon how the tool wears), they make an offset adjustment. The amount and polarity of the adjustment must, of course, be calculated before the adjustment can be made.

This task of workpiece sizing during the production run is a necessary support task - it does not further the completion of the workpiece. But of course, if a mistake is made, it can adversely affect the performing of a value added task. The next workpiece being machined will not be within tolerance. A drastic mistake can be even worse - a cutting tool may crash into the workpiece.

This is but one of countless tasks that operators must perform. Most of these tasks are necessary support tasks, but again, mistakes will lead to problems with value added tasks. And even if mistakes are not made, it takes time to perform these tasks. Simplifying tasks an operator must perform will help them get to value added tasks quicker (reducing cycle time), it will provide them with more time to be doing other things, and/or it will reduce operator fatigue during a production run. Fresh and alert operators are less prone to make mistakes.

Your two alternatives

When faced with a complex task that is causing the kinds of problems mentioned above, you always have two alternatives.

  1. You can provide more training to the person that performs the task. Again, people vary with aptitude. What one person thinks is easy another will find very difficult. One way to solve the problem of the complex task is to bring everyone up to a level at which they no longer find the task to be complex (anything is simple when you know how to do it!). Note that this doesn't address the time issue. I've often heard manufacturing people say that CNC operators should be able to calculate the target value (often the mean value) for all types of tolerances (+/-, high/low limit, and uneven plus versus minus). While I tend to agree that operators should be able to do this, why would we force them to take the time to do so - holding up production - if the task can be simplified or eliminated (by providing a target value for all print dimensions on a special process drawing).
  2. You can simplify the task. I've been calling this the fast-food restaurant approach. When you order at the counter of a fast-food restaurant, you order a meal number. The attendant simply types that number on the cash-register and is told what to place in your bag and how much to charge you. When you pay, they type in the amount you've provided and are told how much change to give you back. Fast-food restaurants have made an art of task simplification. Just about anyone can work as a cashier with a minimum of training. Apply this thinking to your CNC environment. What can you do to simplify the tasks related to running CNC machines. Your four goals will be minimizing mistakes, reducing the time it takes to perform the task, minimizing the amount of training needed to get a person to the point that they are proficient, and making it possible for as many people to be able to perform the task as possible.

Remember, when you're faced with a complex task that is causing problems, you've got to do something. Providing additional training and task simplification are your only two alternatives!

A few specific suggestions

Our intention is for you to be able to locate, evaluate, and simplify complex tasks in your own CNC environment. And only by studying your own methods and watching your own people will you be able to do so. But to help get you started, we offer a few common tasks that often need simplifying.

Provide the target dimension for all dimensions - We mentioned this above. Entry-level operators must often use a calculator to determine the target value (often the mean value) for tolerances they must hold. This is time-consuming and error prone - and it leads to inconsistencies among operators (first, second, and/or third shift) even during the same production run. Eliminate calculation time, the potential for mistakes, and inconsistencies among operators by providing them with a process sheet that includes all target dimensions.

Specify all tolerances as plus or minus (+/-) - By far, the easiest form of tolerance to evaluate is the plus or minus tolerance. For the dimension 3.000 +/- 0.002, everyone will know that the specified value 3.000 is the mean (and often the target) value. If design engineers don't always specify tolerances this way, use a special process drawing to do so.

Provide the high and low limits for all dimensions - For the times when operators must determine whether a value is within the tolerance band (after measuring a workpiece), provide the high and low limits (3.002 / 2.998 for the 3.000 +/- 0.002 dimension) for the example above. This makes it much easier to determine whether a measured dimension is within the tolerance band - and when it has grown or shrunk close to a limit and is in need of an adjustment. So on your process drawings, you should provide three things for each dimension: the target value, the high limit, and the low limit.

Velcro small tools close to where they are needed - Don't make your operators scrounge through tool boxes in search of small hand tools (like Allen wrenches). Keep them handy by using Velcro to stick them in position close by where they are needed. For turning centers, for example, it will be helpful to Velcro insert-changing tools to each turret station in close proximity to the insert.

Use a consistent method for mounting jaws on three-jaw chucks - This is the topic of an article in the Summer 2004 issue of The Optional Stop newsletter. Please click the link to learn more about it.

Don't take no for an answer

As stated, when you are faced with a complex task that is causing problems, you must do something about it - otherwise you'll continue having the problems caused by the task. You can't give up. Either provide the training it takes to bring the people involved to a higher level or simplify the task.

End of article (M01)

Top of page

G-code primer: A Custom Macro For Thread Milling

As you know, custom macro is a very powerful programming feature that allows you to include computer programming-like commands in a G-code level program. Here's a great user created canned cycle application to help you command thread milling operations.

This custom macro assumes your machining center is equipped with helical interpolation. It also assumes, of course, that your machine is equipped with custom macro B. It machines straight threads (not tapered threads) inside a hole. It will not machine external threads. It can machine in a climb milling manner (G03, coming out of the hole) or a conventional milling manner (G02, moving into the hole).

We're assuming you're using a thread milling cutter that can machine the entire thread in one pass around the hole (see drawing). That is, the thread milling cutter cannot be the "single tooth" type cutter.

While we've included some error trapping within this custom macro, you'll want to be careful with its use - as you would with any new program. Be sure to dry run it (and use your machine's graphics capabilities if available) several times to ensure that you understand the meaning of the related input values (arguments).

Here is a drawing that shows the arguments to be included in the call statement:

Thread milling drawing

And here is an example calling program:

  • O0001 (Main program)
  • .
  • .
  • .
  • (Machine hole)
  • .
  • .
  • .
  • N075 T04 M06 (Thread mill)
  • N080 G54 G90 S1200 M03 T05 (Start spindle)
  • N085 G00 X2.5 Y2.0 (Rapid to hole center)
  • N090 G43 H04 Z0.1 (Rapid approach in Z)
  • N095 M08 (Turn on coolant)
  • N100 G65 P1000 X2.5 Y2.0 D3.0 R0.1 Z-1.0 Q0.0625 A1.25 T1.0 F5.0 M1.0 (Mill thread)
  • N105 G91 G28 Z0 M19 (Return to tool change position)
  • N110 M01 (Optional stop)
  • .
  • .
  • .
  • (Program continues)
  • .
  • .
  • .
  • N200 M30 (End of main program)

Again, this is a user created canned cycle application, so you treat it much like any canned cycle. Notice how, in lines N075 through N095, we're calling up the tool, getting the spindle started, and moving into an approach position (instating tool length compensation along the way) - just like you'd do before you command any canned cycle.

Line N100 is the command that calls the custom macro. Notice all the input variables (arguments). Be sure to include a decimal point for each one.

While the drawing and example program may be self-explanatory, let me make a few points.

  1. X, Y, R, and Z are absolute positions - they must be specified from the program zero point of your program. If program zero in Z is the top surface of the workpiece, the Z word will be negative.
  2. This custom macro does not use cutter radius compensation. Instead, you specify the diameter of the milling cutter right in the call statement (with the T word). If you need to make sizing adjustments, the T word in the program must be changed.
  3. The tool first moves to the center of the approach radius in XY and to the rapid plane (R word) in Z. We're making a test in the custom macro to confirm that the approach radius is large enough. From this position, the tool will fast feed at five times the cutting feedrate (F word in the call statement) to the Z position at the bottom of the hole (Z word).
  4. When it comes to milling style, we set the default to climb milling (if you leave the M word out of the call statement, the custom macro will climb mill). Climb milling usually leaves the best finish, and will cause the custom macro to use G03 (counter clockwise) motion. The Z motion will be coming out of the hole as the thread is milled. This also provides a little better chip handling. But if you prefer to conventional mill (G02 with tool moving deeper into the hole during machining), set M to 1.0 (M1.0).
  5. The Z word must reflect milling style. If climb milling, the cutter will be coming out of the hole during machining. The total motion outward will be 1.5 times the pitch of the thread. If you will be machining a thread with a 0.0625 pitch, Z must be specified at least 0.0937 (plus a little clearance) past the bottom of the thread. If conventional milling, Z can be just slightly below the thread bottom.
  6. Note that all arguments (except M) must be included in the call statement. If you leave one out, an alarm will be sounded (MC100 INPUT VALUE MISSING).
  7. We've heavily documented the custom macro to help you understand what's going on. To conserve memory space in the control, these messages can be deleted (except those in the #3000 commands).
  8. We're using some tricks to keep from having to write two sets of motions (based upon the setting of M). See if you can figure out what's going on!

Now, here's the custom macro:

  • O1000 (Thread milling custom macro)
  • IF [#13 NE #0] GOTO 1
  • #13=0
  • N1 IF [#24 EQ #0] GOTO 95 (X)
  • IF [#25 EQ #0] GOTO 95 (Y)
  • IF [#26 EQ #0] GOTO 95 (Z)
  • IF [#18 EQ #0] GOTO 95 (R)
  • IF [#7 EQ #0] GOTO 95 (D)
  • IF [#20 EQ #0] GOTO 95 (T)
  • IF [#9 EQ #0] GOTO 95 (F)
  • IF [#1 EQ #0] GOTO 95 (A)
  • IF [#17 EQ #0] GOTO 95 (Q)
  • IF [#1 GT [#20/2 +0.1]] GOTO 2
  • N2 G00 X#24 Y[#25 + #7/2 - #1]
  • Z#18
  • G01 Z#26 F[#9 * 5]
  • IF [#13 EQ 0] GOTO 10
  • #100=[0-1] * [#1 - #20/2]
  • #101=#1 - #20/2
  • #102=2 (Motion type G02)
  • #103=0-1 (Polarity for stepping Z is minus)
  • GOTO 11
  • N10 #100=#1 - #20/2
  • #101=[0-1] * [#1 - #20/2]
  • #102=3 (Motion type G03)
  • #103=1 (Polarity for stepping Z is plus)
  • N11 G01 X[#24 + #100] F#9
  • #26=#26 + [#103 * #17/4] (Step Z by 1/4 pitch)
  • G#102 X#24 Y[#25 + #7/2 -#20/2] Z#26 R[#1 - #20/2]
  • #26=#26 + [#103 * #17/2] (Step Z by 1/2 pitch)
  • Y[#25 - #7/2 + #20/2] Z#26 R[#7/2 - #20/2]
  • #26=#26 + [#103 * #17/2] (Step Z by 1/2 pitch)
  • Y[#25 + #7/2 -#20/2] Z#26 R[#7/2 - #20/2]
  • #26=#26 + [#103 * 17/4] (Step Z by 1/4 pitch)
  • X[#24 + #101] Y[#25 + #7/2 - #1] Z#26 R[#1 - #20/2]
  • G00 X#24
  • Z#18
  • GOTO 99
  • N95 #3000=100 (INPUT VALUE MISSING)
  • N99 M99 (End of custom macro)

End of article (M01)

Top of page

Parameter preference: Setting Up For RS-232c Communications

Parameters control countless things about the way your CNC machine tools behave. In each Parameter preference segment, we will expose parameters that have an important impact on how your machines run. But first, a disclaimer. Parameters vary from one Fanuc control model to another - as do the actual functions they control. Always check in your Fanuc Operators manual and/or Maintenance manual to confirm the parameter number and settings we show. Never blindly change a parameter! If there is any doubt about what the parameter does, contact your machine tool builder to learn more.

The choices

All current model Fanuc controls allow programs (and other data, like offsets and parameters) to be transferred to and from any RS-232c speaking device. These devices include desktop computers, laptop computers, portable floppy drives, and even hand-held computers and PDAs. But before communications can occur, several RS-232c protocol parameters must be set properly - on the machine control and on the RS-232c speaking device.

In this article, we're only going to be looking at Fanuc's parameters related to RS-232c communications. Unfortunately, the method of setting up the communicating device will vary from one device to another. So you're on your own to work with the documentation that comes with the device (or software). At least you'll know what you're looking for.

And again, there will be variations even within the various Fanuc controls relative to specific parameter numbers. We'll be showing one example control (the 15 series [15T or 15M]).

Setting page parameters

As the name implies, these are parameters that you set on the SETTING display screen page. You can do so by simply selecting the manual data input (MDI) mode - you don't have to turn on the parameter write enable function. These function names are pretty much the same for all Fanuc control models.

TV CHECK - Must be turned off (commonly done by setting the value to zero). There is no corresponding parameter for most RS-232c speaking devices.

PUNCH CODE - Must be set to ISO (commonly done by setting the value to one). The corresponding parameter for the RS-232c speaking device is parity, which must be set to even parity.

INPUT DEVICE - With this setting, Fanuc allows you to specify which of (possibly) several devices you are trying to communicate with. It points at a set of parameters that specify the protocol for transmissions coming into the control. Most people need to communicate with but one device (there is only on connector attached to the machine anyway), so you simply have to know which set of protocol parameters you are pointing to. We recommend setting this value to two (2), for input device two. A value of one is usually the tape reader. There is no corresponding parameter for most RS-232c speaking devices.

OUTPUT DEVICE - In similar fashion, Fanuc allows you to specify which of several devices you are communicating with. It points to a set of parameters that specify the protocol for transmissions going out of the control. Again, we recommend that you set this value to two (2), for output device number two. There is no corresponding parameter for most RS-232c speaking devices.

Actual parameters that must be set

These are true parameters. You must turn on the parameter write enable (pwe) function to set them (in the manual data input mode). Again, Fanuc varies when it comes to specific parameter numbers from model to model. We'll specify the actual parameter number for a 15 series control. Note that the name abbreviation remains pretty consistent from one model to another, so you should be able to confirm that you've found the correct parameter.

End of line delimiter (abbreviation: NCR) - For a 15 series control, this is bit 3 of parameter number 100. If set to a value of 0, the control will output a line feed and two carriage returns at the end of each command. If set to a value of 1, it will output only a carriage return. We recommend starting with a value of zero (lf, cr, cr). Depending upon the settings available on your RS-232c speaking device, you may not have much choice. You may notice a blank line between commands of programs sent out from the control. If you do, try setting this parameter to a value of zero (cr only). Again, some RS-232c speaking devices do not have a corresponding parameter setting. But look for one named end-of-line delimiter.

Leader (abbreviation: NFD) - For a 15 series control, this is bit number 7 of parameter 121 (output device 2). Set this parameter to a value of zero (no leader). There is no corresponding parameter for most RS-232c speaking devices.

Stop bits (abbreviation: SB2) - For a 15 series control, this is bit number 0 (zero) of parameter 121 (output device 2). Set this parameter to 1 (for two stop bits). There will be a corresponding parameter on the RS-232c speaking device, which must also be set for two stop bits.

Word length - Though Fanuc does not have a parameter setting for word length, most RS-232c speaking devices do. Set to a word length of 7 bits to communicate with Fanuc controls.

Device type (abbreviation: none) - For a Fanuc 15 series control, this is parameter number 122 (output device 2). Set this parameter to a value of 4 (for RS-232c communications). There is no corresponding parameter for most RS-232c speaking devices.

Baud rate (abbreviation: none) - This is the transfer rate for transmissions. The higher the baud rate, the faster the transmission. For a 15 series control, this is parameter number 123 (output device 2). For this control model, it is a code number from one through twelve. Common settings include 6: 300 baud, 7: 600 baud, 9: 2400 baud, 10: 4800 baud, and 11: 9600 baud. There will be a corresponding parameter for the RS-232c speaking device, and it must be set to match the baud rate setting of the control.

End of article (M01)

Top of page

Manager's corner: Do You Have A Lead Person?

If your company (or department within your company) has several CNC machine tools, it's likely that machines are regularly down while setup people and operators perform relatively simple tasks. Consider, for example, the gathering of components needed in preparation to make a setup - or the gathering of inserts and other perishable items needed during a production run.

While these are extremely important tasks, they do not require the skill level of a CNC setup person or operator. Additionally, one person can perform these tasks for several machine tools. Your CNC machines are probably sitting idle while these tasks are being performed - if setup people and operators are performing them. Having someone else perform them will reduce downtime.

Gathering components can be an off-line non-productive task. That is, it is a task that can be done in preparation for a future job - while the machine is currently in production. But in order to move this task off line, it's likely that someone other than your setup people and operators must perform it (assuming your setup people and operators are busy).

And gathering components is but one task that setup people and operators commonly perform that doesn't require a high degree of skill. Truly, any task you see a setup person or operator performing while the machine is down probably falls into this category.

The more machines you have in your department or company, the more you can benefit by having another person performing these tasks. The goal is to allow your setup people and operators to do what they do best - and more importantly - to keep your machines running for as great a percentage of time as possible.

One way to accomplish these goals is to employ a special person (we're calling a lead person) to assist setup people and operators - again - minimizing the leg work the setup people and operators must do. In many companies, this can be the person that is scheduling work for the various CNC machine tools. Since this person schedules the jobs coming to each machine, they will have a good understanding of what will be needed for each job (and/or they can work from setup and production run documentation to find out).

Depending upon lot sizes and cycle times, one lead person can usually handle several machine tools - along with the other responsibilities they may have. If you already employ this kind of lead person and they're too busy to support machines as we're suggesting, then consider having a lesser skilled person do the gathering (commonly called a CNC helper). When you consider how much expensive machine time can be lost while setup people and operators perform simple tasks, this should be pretty easy to justify!

End of article (M01)

Top of page

Safety tip: Keep A Finger Ready To Press Feed Hold!

This is a pretty simple tip, and very easy to implement. And we can almost guarantee that it will save a crash some day. Whenever you press the cycle start button, get in the habit of having a finger ready to press the feed hold button. Feed hold, of course, will instantly stop the machine's axis motion. This button is usually in close proximity to the cycle start button, so you may even be able to use one hand for both buttons (a forefinger for cycle start and a thumb for feed hold).

You know that there are many switches that have to be properly set in order for the machine to behave as you expect it to. You may be doing a dry run, and wanting to take control of the machine's motion during approach movements. If everything isn't perfect, you may be expecting the machine to "crawl up" to the workpiece, but when you press the cycle start button, it takes off at rapid! Without a finger ready to press the feed hold button, you first have to find it. By the time you do, it may be too late.

Keeping a finger ready to press the feed hold button is especially important when you are in doubt about what the machine is going to do. Maybe you've just completed a setup and you're ready to run the program for the first time. Maybe you're rerunning a tool. Maybe you've been away from the machine for a break or lunch. Or maybe you're starting your shift. We urge you to always have a finger ready to press the feed hold button whenever you press the cycle start button - you never know when it will help you avoid a nasty surprise.

End of article (M01)

Top of page