Is Manual Programming Really Important?
I am often questioned about the scope of this column. The most common question is: "Why do you continue to discuss manual programming techniques when almost all companies are using CAM systems?" Aside from the fact that other columnists are addressing issues related to computer integrated manufacturing, I believe that a firm understanding of manual programming is of paramount importance to all CNC people.
I am often questioned about the scope of this column. The most common question is: "Why do you continue to discuss manual programming techniques when almost all companies are using CAM systems?" Aside from the fact that other columnists are addressing issues related to computer integrated manufacturing, I believe that a firm understanding of manual programming is of paramount importance to all CNC people. It is important not only for short term issues and specific applications, but for the long haul in every CNC environment—from a person's first acquaintance with CNC through their attainment of expert status.
For entry-level CNC programmers, a course related to manual programming provides an excellent platform to address some important CNC issues—issues that form the foundation of a person's understanding of CNC. Features such as program zero, coordinate systems, absolute versus incremental, motion types, the various compensation types and special programming features are best presented during a discussion of manual programming. Trying to present these features to entry-level students while they're trying to learn a CAM system will confuse them and have limited success. Starting at CAM system level without understanding the basics of manual programming is like learning to use an electronic calculator without understanding basic arithmetic.
Entry level CNC setup people and operators must eventually understand at least some manual programming techniques if they will be expected to edit programs at the machine during a program's verification. While not all companies expect this, the more setup people or operators understand about manual programming, the better they can perform.
Consider what it takes to run the first workpiece using a new program. The setup people will place the machine in single block mode and step through the program. As they do so, they must be sure that each upcoming command is correct. Regardless of whether the program is originally created manually or with a CAM system, how can they safely do this without understanding manual programming?
An understanding of manual programming is important far beyond a person's introduction to CNC. Some of the best machine utilization enhancements (reducing setup and cycle time, for example) can only be accomplished with manual programming techniques.
Indeed, utilization enhancements—and the manual programming techniques that allow them—have been the topic of many past CNC Tech Talk columns. Efficient range changing on turning centers and machining centers (September & October 1998), shortening a program's execution time with G01 for positioning (February 1999), programming trial machining operations (April 1999) and using secondary offsets (March 2001) are a few examples of techniques that are best applied with manual programming techniques.
Programming method is of utmost importance when it comes to cycle time reduction. One factor that contributes to bare minimum cycle time is how the program is formatted. While CAM systems are getting more powerful in this regard, no other programming method beats the intimacy that can be achieved with manual programming. As production quantities grow, every second of program execution time becomes more critical. Again, CAM systems have come a long way, but it can be difficult, if not impossible, to cause some CAM systems to output CNC programs as efficiently as can be done with manual programming techniques.
Manual programming is also important if you have any interest in applying parametric programming techniques. All applications for parametric programming require a firm understanding of manual programming.
Admittedly, there are people who rely exclusively on their CAM system to prepare programs and have little or no understanding of manual programming. Yet they successfully create programs, machine good parts and meet production schedules. Maybe they have extremely complicated work that can only be programmed with a CAM system. Maybe lot sizes are so low that cycle time is of little importance. Maybe there is very little repeat business, so every program must be created before the job can be run. In these cases, cycle time may not be critical.
But if you don't know manual programming, how can you be sure your CAM system is outputting programs in the most efficient manner? The first step to making any improvement is knowing what's possible.
What does "jerk" refer to, and where does it fit into machine performance?
These subjects are the building blocks of training newcomers on a specific CNC machine tool.
Though applied for different reasons on different machine types, all forms of compensation allow the CNC user to allow for unpredictable conditions related to tooling.