In today’s modern world the advancement of CNC technology has provided manufacturers with great flexibility for programming, not only in computer language but also in the overall construct of CNC programs. Although having flexibility tends to be a useful thing, having a variety of options at times leads to inconsistency and misunderstanding. This could cause usage errors. Below are five common mistakes that we have found in CNC programs:
1. Inadequate or absent program header:
In the manufacturing industry, one of the most important aspects of CNC operations is that everyone involved understands the functions of what a given CNC program does. One of the basic functions of a CNC program is that it begins with a sequence of documenting messages, referred to as a ‘program header,’ which allows for relevant and simple interpretation of information.
Examples of a program header include its ability to set up users to know who to reach if there are system problems, assist users in becoming aware of the latest and/or correct version of the program and assist production operators in determining the program runtime.
We recommend that when CNC operators are developing their header that they include all the answers to the most common questions. Those answers could include but are not limited to: the name and number of a specific part, operation number, revision, and storage location in the system are imperative to the functionality of the program.
Other factors that should be considered but are not as imperative are programmer name, date of formation, modification date, and program runtime. In order to create a header that is conducive to your operation, you have to consider the condition of your company’s situation.
2. Inadequate documentation of CNC programs:
Just as it is important to know the functions of any given CNC program, it is also critical to understand exactly what the program does when operating. Inadequate documentation can lead to confusion as to how the system is to operate; this causes delays and can potentially offset completion time. Improper interpretation can lead to disastrous mistakes for instance scrap work-pieces and broken machines.
In order for all users to be up-to-date and aware of what is happening within the system, it is critical that messages are placed in the program. Here are some examples of important messages that should be shared with all users: tool change messages so operators know the next cutting tool, program stop (M00) so operators know what to do next, and anytime the system does something abnormal. The point is anything that can lessen confusion amongst users should be documented.
3. Lack of safety commands:
As you may already know CNC machines are equipped with a variety of programmed functionalities that must be in the correct mode when in operation. For example, if a program requires metric coordinates, the machine should be in metric mode. The same concept can be applied with other modes such as spindle speed and feed rate, absolute/incremental, plane selection, etc. For certain programming features, it could be required that the machine is in a cancelled state.
At any given time that a machine is in the wrong mode for whatever reason, it could result from minimal to catastrophic damage. To avoid damage/confusion ensure that safety commands are set at the beginning of your CNC program.
It is common for CNC programmers to remove preloaded safety commands for modes that are initialized during power-up. This common mistake happens when programmers think that the machine will remain in an initialized state when the program begins; however since modes can be simply changed, it is unnecessary.
4. Lack of restart commands:
To avoid having to restart entire programs, CNC programmers and operators must be able to rerun certain tools from time to time, for instance ‘cutting tools;’ some machines will allow it and some will not. The point of reruns is for productivity and to save time, it makes no sense to start the entire program over to use the same ‘cutting tool.’ You don’t want to be a few tools into authentication before you realize there is an issue.
In order to rerun tools, certain CNC words must be repeated and included at the beginning of the specific tool. Examples of such wording include axis-positioning commands, spindle speed and activation and coolant activation.
5. Lack of assistance for programmers and operators:
A reliable CNC program is one that goes beyond its ability to machine good parts. A good CNC program can assist either the programmer or the operator of the system. Although programmers and operators are able to work around below par programs it can be time-consuming and can create unwarranted mistakes.
For instance, when machining critical surfaces operators must take on the responsibility of ‘trial machining.’ This responsibility involves knowing how to adjust and offset in a way that extra stock remains on the critical surfaces, machining while the trial machining offset, halting the machining, measuring surface and readjusting and rerunning the tool. This procedure is vulnerable to error. The easiest way to avoid this process is by simply using the block and delete function which is usually turned off during trial machining and programming the trail machining accordingly.
Other helpful tips are programming offset entries for familiar offset values with G10 commands to avoid having to re-enter them, program consistency that permits for operators to be aware of and using cycles such as canned to permit for simple program authentication. The point is, anytime you recognize someone struggling with a CNC system, find an alternative way for them.