CNC Eavesdropping Program Prompts
A practical explanation of what these prompts actually refer to on a shop floor, why prompt text inside G-code and operator messages matters, and how to judge whether a program should carry them. Written for engineers and programmers who read code before they cut metal.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
What these program prompts really mean
The phrase sounds odd, but in practice it describes something ordinary: the text a CAM system or a programmer leaves inside a CNC program so that the machine, the operator, or the next person to open the file can read what is happening. Comments, alarm text, M-code messages, tool notes, setup instructions. In a shop, that written layer is the closest thing to a machine talking back.
The word eavesdropping is doing the work here. Nobody reads a full G-code file on the floor. An operator glances at the screen, catches one line, and acts on it. A prompt that survives that glance is useful. A prompt buried in 400 lines of coordinates is not. The engineering value sits in placement, not in volume.
Most of the confusion around CNC eavesdropping program prompts comes from mixing three separate jobs. One is documentation for the programmer. Another is real-time guidance for the operator. The third is a record for quality and traceability. Each has a different audience, a different lifespan, and a different place in the file. Treat them as one thing and all three get worse.
On the controls we run in Dongguan, the useful line is usually the one that answers a question before it is asked. Which tool is live. Which fixture offset is active. Whether the part is clamped. Ten seconds of reading beats twenty minutes of scrapping a 4,000 mm weldment.
How prompts travel from CAM to the control
A post-processor decides what survives the trip. CAM software holds far more information than any control will display, so the post strips, renames, or drops it. Parentheses comments, semicolon comments, and $ notes all behave differently on Fanuc, Siemens, Heidenhain, and Haas. A comment that shows up in the NC viewer may never reach the machine screen.
This is where most prompt plans fail. A programmer writes clean notes in the CAM tree, posts the file, and the notes vanish. The fix is boring: post a test file, walk to the machine, and look at the actual display. What you see there is the real prompt set. Everything else is wishful.
Operator messages are the other channel. M0 with a message, M00 with a comment, or control-specific message blocks pause the cycle and print text. These interrupt cutting, so they cost cycle time. Use them where a human decision is genuinely required, not as decoration.
Alarm and macro variables form a third channel. A macro can read a value and branch, printing different text depending on what it finds. That is powerful for probing and tool-life checks, and it is also where debugging gets hard. Keep the logic shallow. Deep macro nesting is hard to read at 2 a.m. on a night shift.
Where prompt text belongs in the program
The header is the highest-value real estate in the file. Part number, revision, material grade, stock size, fixture ID, and the operation sequence belong there. On a 6061-T6 bracket or a 17-4PH shaft, that header answers the first three questions an operator asks before touching the machine.
Tool change blocks are the second natural spot. One short line naming the tool, its nominal diameter, and its purpose saves a wrong-tool crash. Write Ø10 mm flat end mill, face and rough top pocket rather than T07. The number means nothing to a new operator at 6 a.m.
Offset and work-coordinate lines need a note when they are non-obvious. If G54 is the primary and G55 is a re-fixture, say so. If the rotary table is indexed to a specific angle, name the angle. The Ø400 mm rotary table on our mill-turn centers gets used across several setups, and a missing index note is a classic source of a mirrored feature.
Keep the running body of the program clean. Comments every three lines turn a readable file into noise. The rule we use: a header block, tool blocks, and notes at genuine decision points. Nothing else. A file that reads well in ten seconds is a file that gets read.
When prompts help and when they hurt
Prompts help when the same mistake keeps recurring. If three shifts in a row have scrapped a part at the same re-fixture, the fix is usually a written note at that point, not a training session. Repetition is the signal. Write it down where the mistake happens.
They hurt when they replace a real control. A comment saying check torque is not a torque spec. A note saying verify coolant is not a coolant-flow interlock. Text cannot stop a spindle. If a wrong action would damage a part or a person, the answer is a hardware or control-level safeguard, with the prompt as a backup.
Long comment blocks also slow editing. Every paragraph is another thing to update when the revision changes, and stale comments are worse than none. An operator who has been misled by an old note stops trusting the new ones. Keep notes short enough that updating them is cheap.
For high-mix low-volume work the trade-off shifts. A one-off prototype may not justify a ten-line header. A 10,000-part run justifies far more, because the same note gets read hundreds of times. Scale the prompt effort to how many times a human will actually read it.
Writing prompts an operator will actually read
Short beats complete. A prompt is a signpost, not a manual. Eight to twelve words per line is a good ceiling on a machine display. If the note needs more, it belongs in the setup sheet that the operator has on the bench, and the program should point to it.
Use the operator's vocabulary, not the CAM tree's. Programmers talk about operations and features. Operators talk about the face, the bore, the boss, the slot. Mirror the second list. A note that says rough the Ø32 mm bore to Ø30.5 mm lands instantly.
Put the number in the sentence. Vague prompts get ignored because they cannot be acted on without a lookup. A specific value, a specific tool, a specific offset can be acted on immediately. That is the whole point of the exercise.
Write for the person who was not in the meeting. Assume the reader has never seen the part, has no history with the job, and has four other machines to run. If the text still makes sense to that person, it will make sense to everyone.
Checking that the prompts survive posting
The only reliable test is a dry run on the actual machine. Post the file, load it, and step through it with the feed override down. Read the display the way an operator would. Anything you cannot find in thirty seconds is not really there.
Compare the posted file against the CAM source. Count the comments in each. A large gap means the post is dropping information, and the fix happens in the post, not in a pleading email to the operator.
Run the same check after every post change. Post-processors get edited for unrelated reasons, and a small change can silently kill comment output. It has happened to us. A two-minute check after each post edit prevents a week of confused setups.
Finally, ask the operator directly. They will tell you which notes they use and which they scroll past. That feedback is more accurate than any internal review, and it costs a coffee.
Which prompt type fits which job
Match the prompt channel to the risk and the run length.
| Prompt type | Best for | Cost | Skip when |
|---|---|---|---|
| Header comment | Any job with a fixture or revision | Near zero | One-off, no re-fixture |
| Tool block note | Multi-tool programs, new operators | Near zero | Single-tool simple cut |
| M0 message | Manual clamp or part flip | Adds cycle time | Fully automated cycle |
| Macro branch text | Probing and tool-life checks | Debug effort | No probe on the machine |
| Setup sheet pointer | Long procedures | Doc maintenance | Procedure fits on one line |
The short version
Write prompts where a human decision happens; automate everywhere else. If a wrong move can hurt a person or scrap a finished part, the prompt is a backup, not the control.
Common questions
Do comment formats work the same on every control?
No. Parentheses comments, semicolon comments, and dollar-sign notes are handled differently across Fanuc, Siemens, Heidenhain, and Haas. Some controls truncate long lines or drop characters outside a defined set.
Post a test file and read the machine display before you commit to a comment convention across the shop.
How many comments should a typical program carry?
Enough to answer the setup questions and nothing more. A header block, notes at each tool change, and a note at any non-obvious offset or index point.
If the running body of the program is heavily commented, the file becomes hard to scan and the notes stop being read.
Can prompts prevent a crash on their own?
No. Text cannot stop a spindle or verify a clamp. A prompt only informs a human who is already paying attention.
Where a wrong action would damage the part or the operator, use a control-level check, a probe routine, or a physical interlock, and treat the prompt as a secondary layer.
Are operator messages worth the lost cycle time?
Only at real decision points, such as a manual clamp, a part flip, or a deburr step the machine cannot reach. Each pause costs seconds, and those seconds add up over a long run.
If the action is always the same, automate it instead of stopping the cycle to ask.
How does this fit into a traceability record?
A revision number and part number in the header tie the program to the drawing and to the inspection report. That link matters when a question comes back months later.
Inspection reports are available on request for our work, and the program header is the first place we look when reconciling a batch.
Send us the part, not just the drawing
Upload a model and we return a quotation with a free DFM analysis within 12 hours. No minimum order quantity, from one prototype to a 10,000-part run.
12-hour quote100% inspectionNDA on request