HCL CAMWorks
Published

Documenting within CNC

Including messages directly in the program can help operators run it accurately.

Share

Leaders-In background

Almost all modern CNCs provide the ability to include messages and comments within their programs. Most use parentheses for this purpose, and any messages placed in parentheses will appear on the CNC’s display screen when the program is viewed.

Admittedly, older CNCs do have memory constraints, so some programmers avoid doing too much documenting within programs if memory capacity is at a premium. Newer CNCs commonly have ample memory space, however, and programs can even be run from external memory like a flash drive or memory card, so the memory-constraint concern should no longer be an issue.

The person who inspired this column, W. Worthington Treasure of Bettendorf, Iowa, recently said, “If a CNC code is the highway, then comments are the signposts along the way.” I couldn’t agree more. The more interaction you expect people to have with your CNC programs, the more documentation you should include. Following are tips on when and what to document. 

• Document to boost productivity. There are at least two ways to improve productivity: Raise the skill level of the people performing a task, or lower the skill level required to perform the task. Including messages within a CNC program will help with the latter, making it easier for operators to run the program. Every suggestion you provide will reduce the potential for mistakes, clarify a concern, explain what must be done or in some other way simplify the task of running a program. 

• Use program headers. I’ve seen too many CNC programs that contain no clarifying information regarding what the program is intended to do. This can result in catastrophe, since the setup person could easily run the wrong program. Headers, placed at the beginning of a program, can include program-identifying information like part number, part name, part revision number and operation number. With this information, setup people can confirm that the correct program is being run. 

Other helpful header information includes important dates, like the date of program creation and the date of the last program revision. Headers also should include the programmer’s name (or the name of the person responsible for the program when problems are encountered). Even program execution time should be specified in the header so everyone can tell how long the program will take to run even when the job is not actually running. Anything that helps identify the program and track its use should be included in the program’s header.

• Note the out-of-the-ordinary. It’s important to document times when a program will be doing something unusual. This information could be included in the program header, but it must be obvious. Maybe most programs use but one offset per cutting tool, but for some reason this program uses two or more offsets for a given cutting tool. If the setup person is caught unaware, it’s likely a workpiece will be scrapped before he or she figures out what is wrong.

• Include setup information. While most programs are complicated enough to require separate setup instructions, a shop might also have simple jobs that don’t require much setup documentation at all. In these cases, the entire setup may be able to be explained within the program.

And even if a setup is complicated enough to require separate instructions, it may be helpful to also document certain setup-related information right in the program, such as cutting tool names, their station numbers, what workpiece attributes they machine and their related offsets. This will be especially helpful during the production run and will keep operators from having to reference separate instructions (or to search through the program) to determine which offsets must be changed to make a needed sizing adjustment.

• Consider every tool change. It’s also important to include a message that specifies the cutting tool name when tool changes are made. This is especially helpful if setup people and operators will be expected to rerun cutting tools, as is required for trial machining. With the tool names specified, these operators can confirm that they are rerunning the appropriate ones.

• And every program stop. If the programmer makes the program stop (with M00) for the purpose of having the operator complete a task such as clear chips, readjust clamps, turn the workpiece around in the chuck or the like, he or she should be sure to include a message near the M00 that tells the operator exactly what to do.

• Document changes made after a dispute. As a programmer, you may be told to make program changes with which, for one reason or another, you do not agree. Be sure to document the reason for the change in the program at the point at which it is made. Should issues arise at some later date, at least you will be able to explain why you made the change.

• Help with error trapping. Certain mistakes can be made during the running of a program that messages could have helped avoid. Some have already been mentioned, such as when the program does something out of the ordinary, for example. Consider other times setup people and operators have made mistakes, perhaps with cutting tool placement, program zero assignment or when re-running cutting tools. Could an appropriately placed message in the program have helped them avoid that mistake?

HCL CAMWorks
Starrett W9400 Touch Screen Indicator
DN Solutions
JTEKT
Techspex
World Machine Tool Survey
MMS Made in the USA
YCM Alliance

Related Content

Can AI Replace Programmers? Writers Face a Similar Question

The answer is the same in both cases. Artificial intelligence performs sophisticated tasks, but falls short of delivering on the fullness of what the work entails.

Read More

6 Machine Shop Essentials to Stay Competitive

If you want to streamline production and be competitive in the industry, you will need far more than a standard three-axis CNC mill or two-axis CNC lathe and a few measuring tools.

Read More
CNC Tech Talks

Computer Programming-Related Features of Custom Macro

Custom macro is an interpreter-based language, meaning that all CNC G code and custom macro commands are executed as the CNC comes across them.

Read More

Tips for Designing CNC Programs That Help Operators

The way a G-code program is formatted directly affects the productivity of the CNC people who use them. Design CNC programs that make CNC setup people and operators’ jobs easier.

Read More

Read Next

Registration Now Open for the Precision Machining Technology Show (PMTS) 2025

The precision machining industry’s premier event returns to Cleveland, OH, April 1-3.   

Read More
Shop Management Software

Setting Up the Building Blocks for a Digital Factory

Woodward Inc. spent over a year developing an API to connect machines to its digital factory. Caron Engineering’s MiConnect has cut most of this process while also granting the shop greater access to machine information.

Read More

5 Rules of Thumb for Buying CNC Machine Tools

Use these tips to carefully plan your machine tool purchases and to avoid regretting your decision later.

Read More
HCL CAMWorks