Should you program at the machine or should you program off-line? This debate has been going on for more than thirty years, since the first conversational control was introduced. I thought most of the main considerations for making a wise decision were pretty well understood, but a visit to any of the manufacturing forums on the Internet quickly illustrates that the debate is still raging—and there are still many misconceptions.
It is common, for example, to begin this evaluation by determining whether a CNC operator or setup person has time to program the next job while the machine is running production. Most current conversational controls do provide this ability, and I’ve seen several companies base their decision solely on this consideration.
Keep in mind that just because something is possible doesn’t mean it is the best alternative. That is, just because there is time to program while the machine is in production doesn’t mean it should be done. Frankly speaking, I think that the best applications for shopfloor programming require programming to be done while the machine is down between production runs.
Another concern that commonly comes up has to do with the quality of (off-line) programs prepared for a given machine. Setup people and operators on the shop floor commonly believe—often correctly—that they are better qualified for developing programs than CNC programmers. While this may be a legitimate concern, I don’t feel a company should compromise machine time as a way to deal with unqualified programmers. The decision regarding programming methods should be application-based, not personnel-based.
Here are four application-based factors that may affect your decision, especially when they are considered together.
1) Repeat business—A company that runs the same jobs over and over again has a great advantage. The more a task is repeated, the more effort should be expended to make the task as easy and efficient to complete as possible. When it comes to repeat business, the repeated “task” is the entire job. You should be able to justify doing whatever it takes to minimize setup and production run time. This means CNC programs should be as efficient as possible. Generally speaking, it can be difficult, if not impossible, to develop extremely efficient programs with conversational controls. Also note that when a finite number of jobs is repeated, the need for new programs is minimized.
2) Lot sizes—With large lots, there is often ample time to develop new programs (off-line) while the machine is in production. While many current conversational controls do allow programming while running production, it is often somewhat cumbersome for the CNC operator. He or she will often have to break away from the programming task to load parts, adjust offsets, take measurements, and complete normal responsibilities. With all the interruptions, some operators will simply complete the program before performing their normal responsibilities which can lead to wasted machine time.
3) Cycle times—With short cycle times, a CNC operator is kept very busy. Again, there will be limited time to develop programs and keep up with the machine.
4) Leadtimes–The longer you have to complete a job, the more you can do to get ready to run it efficiently. With long leadtimes, a programmer can easily prepare a program (off-line) before it is required at the machine.
As mentioned, you must consider these factors together. I think the best application for shopfloor programming is when the machine must be down when programming is done. When there is no repeat business, lot sizes are very small, and cycle times are very short and leadtimes are short, there will be no time to prepare a program before it is needed at the machine.
A conversational control provides features that facilitate programming and setup. Many, for example, have cutting tool libraries that synchronize the program with cutting tools used by the machine. In similar fashion, many conversational controls facilitate program zero assignment, minimizing the related tasks. If the program is prepared at the machine, then it will reside in the machine—there will be no need to transfer it from a DNC system (and because there is no repeat business, there will be no need to save the program once the job is completed).
Note that most of the tasks conversational controls facilitate can be done off-line when off-line programming is done, meaning that they won’t add to the amount of time a machine is down between production runs.