You know that all current model CNC controls have some very important program verification functions. Dry run, single block, feed hold, feedrate override and rapid override are among the most helpful functions when it comes to determining what might be wrong with a given program. You likely use these functions whenever you're running new programs to confirm the correctness of the CNC setup and program.
For as helpful as these functions are at helping you find usage problems in the program and/or with the setup, they do nothing to help with diagnosing machine problems. When the machine is acting in a peculiar manner, it can be difficult to determine whether the problem stems from a usage problem or a component failure. Many times simply turning the machine off and then back on again solves the problem, but it leaves you wondering what really caused the problem.
While this short presentation will by no means make you a service technician, we do offer one way to help you determine if what's wrong with the machine is caused by a programmer, setup person or operator. It involves the use of the program check page of the display screen.
All current model CNC controls will provide a list of the currently instated CNC words (G codes, M codes, S, T, D, H and so on). Most controls display this list on one of the program check pages. While you've probably seen this page, it's likely that you've wondered why it exists.
Remember that many CNC words are modal. Once instated, they remain in effect. If you inadvertently place the machine in an undesirable mode, the machine will retain that mode, even though it isn't wanted.
My favorite application help call comes (on a regular basis) from turning center users. It goes something like this:
User: My turning center is just creeping. I have the feedrate override switch set to 100 percent, and dry run is off, but the axes are barely moving as the tool is supposed to be cutting.
Me: Oh, you've been trying to use a sub-program.
User: Huh? Well, yeah. But how did you know?
Me: You meant to use an M98 to invoke the subprogram, but you made a mistake and said G98.
User: Yeah, but I found the mistake and now the program has the M98.
Me: Yes, but you placed the machine in G98 mode, which for Fanuc and Fanuccompatible controls selects the feed per minute mode. Instead of feeding at your desired 0.014 inches per revolution feedrate, the machine is feeding at 0.014 inches per minute!
This is one time when turning the power off and back on again will fix the problem (since the feed per revolution mode is initialized at power up). But doing so would leave you wondering what really caused the problem. While you're having the problem, look at the list of instated words on the program check page. In this case you'll catch the G98 word.
Another example of odd things that can happen if modes are inadvertently invoked has to do with mirror image. If you accidentally specify the command that turns on X-axis mirror image, all movements made by the machine in the X-axis from this point will have a reversed polarity.
Plane selection, stored stroke limit and inch/metric selection, if accidentally selected, will also cause the machine to behave in a peculiar manner.