How Does G154 Call O9014 on DMG MORI MAPPS Controls?

Tom Garrett7 min read
Other ManufacturerOther TopicTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

The current configuration contains four working call mappings: G150 through G153 select programs O9010 through O9013. Adding a fifth program exceeds that configured set, but it does not exceed the available mapping range. No spindle current, axis load, or thermal condition causes this symptom; the number that matters is the NC parameter that associates a G code with a protected macro program.

Fixes That Leave the Call Unmapped

Three changes can make O9014 look correct without making G154 execute it. Each change affects a different layer of the control.

Attempt What it changes Why it does not create the call
Create O9014 Adds the fifth macro program Program existence alone does not associate a G code with that program.
Replace #600 with #604 Changes where the macro stores or recalls data #604 is a macro variable, not the G-code mapping parameter.
Enter G154 in a comment Adds human-readable documentation Comments are not executed and do not alter the NC parameter table.
Copy the visible structure of O9010-O9013 Duplicates program logic The call association resides outside the program body.

The new program and variable can both be valid while the call still fails. The missing operation is the entry of 154 in NC parameter #6054.

Macro-Call Mapping Mechanism

Parameters #6050 through #6059 specify which G codes call programs O9010 through O9019. The parameter and program numbers advance together:

NC parameter Value in the working configuration Called program
#6050 150 O9010
#6051 151 O9011
#6052 152 O9012
#6053 153 O9013
#6054 154 O9014

For the fifth entry, the program offset is four: 9014 - 9010 = 4. Apply that same offset to the start of the parameter range: 6050 + 4 = 6054. Enter the G-code number as 154, without the letter G, in #6054. The resulting association is G154 to O9014.

This mapping is separate from the macro-variable system. A block containing G154 is interpreted through the NC parameter table, while references to #604 inside O9014 read or write macro data.

Numbers, Limits, and Read Locations

Quantity or identifier Meaning Where to read or change it
G150-G153 Four existing macro-call codes Calling part programs and the NC parameter mappings
O9010-O9013 Four existing macro programs NC program directory or program display
O9014 New fifth macro program NC program directory or program display
#600-#603 Variables used by the four existing macros Macro-variable display and program bodies
#604 Proposed data variable for the new macro Macro-variable display and O9014
#6050-#6059 G-code call mappings for O9010-O9019 NC parameter screen
#6054 = 154 Required mapping for G154 to O9014 NC parameter screen

The leading # makes the two numbers look related, but their functions are different. #604 holds macro data. #6054 configures a call association. Typing 154 into the comment field for #604 changes neither value nor mapping.

NC Parameter-Screen Access

On a regular MAPPS interface, locate the green SYSTEM key to the right of the numeric keypad. Press it, then select the NC Systems soft key; this is the F1 key below the display in the described layout. The resulting screen uses an older NC-style presentation rather than the normal MAPPS presentation. More than one press may be needed before the NC system screen appears.

Once the parameter screen is visible, type 6054. Select the soft key labeled SEARCH to move directly to that parameter. This is an NC parameter page, not the custom macro-variable window that displays #604.

On a CELOS-equipped machine, the SYSTEM and SETTINGS controls are located to the left of the upper screen. Use those controls to reach the same NC-system and parameter functions. Confirm which interface is installed from the physical panel instead of applying one key location to both layouts.

Parameter-Change Procedure

  1. Place the machine in a safe, idle condition under the facility's approved parameter-change procedure. Record the existing value of #6054 before editing it.
  2. Confirm that O9014 exists and that its program number is exactly O9014. Review its two changed references and verify that both use #604.
  3. Search the relevant programs and variable assignments for existing use of #604. A shared variable can couple otherwise independent macros if another routine reads or writes it.
  4. Press SYSTEM, select NC Systems, open the NC parameter screen, enter 6054, and select SEARCH.
  5. Switch the control to MDI mode. Open the Setting menu in the same control cluster as the System function and enable Parameter Write.
  6. Expect the alarm to sound when Parameter Write is enabled. In this interface, that indication does not prevent the parameter edit.
  7. Enter 154 as the value of #6054. Keep the G-code letter out of the numeric parameter field.
  8. Read the displayed parameter back and confirm #6054 = 154.
  9. Disable Parameter Write after the edit and return the control to the operating mode required by the approved test.

If #6054 already contains another value, stop before overwriting it. Identify which production program uses that mapped G code and decide whether the old association must remain. A parameter copy or maintenance record provides the recovery value if the new mapping has to be reversed.

Program Logic and Variable Separation

The call mapping only selects O9014; it does not validate the serial-number logic inside the macro. Compare O9014 with the working programs O9010-O9013 and isolate the intended changes. If the only required differences are two variable references, the executable differences should be the two substitutions from #600 to #604.

Check the initial value and ownership of #604 before releasing the macro. The serial-number result depends on whether that variable already contains a value, where it is initialized, and which programs update it. Read those facts from the macro-variable display and the associated program logic; a correct G-code mapping cannot repair an incorrect starting serial number or an unintended second writer.

Treat comments as documentation. A comment beside #604 can identify its purpose, and a comment in O9014 can state that the intended call is G154, but the executable link remains #6054 = 154.

Controlled Verification and Fault Isolation

  1. Reopen the NC parameter page and verify that #6054 reads 154 after Parameter Write has been disabled.
  2. Verify that the program directory contains O9014 and that the control can display its executable blocks.
  3. Record the current value of #604. Confirm that it matches the serial-number value expected before the first call.
  4. Run an approved test containing the intended G154 call in the shop's controlled prove-out mode. If the macro contains motion or marking operations, use the same guarding, offsets, workholding, and single-block practices required for that operation.
  5. Observe the program display or execution trace and confirm that control transfers to O9014, not one of O9010-O9013.
  6. After execution, read #604 and inspect the produced serial-number result. Confirm both the intended value change and the absence of changes to #600-#603.
Observed symptom Likely cause Diagnostic
G154 does not enter O9014 #6054 is blank, incorrect, or was not written Read #6054 on the NC parameter screen.
O9014 executes but the serial number is wrong #604 has the wrong initial value or macro logic Read #604 before and after the call; compare the two changed references.
Another routine's data changes #604 is shared elsewhere Search the relevant programs for every read and write of #604.
The parameter cannot be edited The control is not in MDI or Parameter Write is not enabled Check the current mode and the Parameter Write setting.
The expected System screen is absent The wrong interface path or soft key is active Distinguish regular MAPPS from CELOS and reopen NC Systems.

Frequently Asked Questions

Why does G154 not call O9014 after I create the program?

Creating O9014 adds the program but not its G-code association. Set NC parameter #6054 to 154 so G154 selects O9014.

Why does changing #600 to #604 not create the new macro call?

#604 is a macro data variable used inside the program. The call is configured separately by #6054 on the NC parameter screen.

Why does an alarm sound when I enable Parameter Write?

The described control sounds an alarm when Parameter Write is enabled, but that indication does not block the edit. Use MDI mode, enter 154 in #6054, verify the displayed value, and then disable Parameter Write.

When should I stop troubleshooting G154 and contact support?

Stop if #6054 already has an unexplained assignment, the parameter remains locked in MDI with Parameter Write enabled, or the mapped call behaves differently from the verified program and variable logic. Preserve the original parameter value and provide the machine identification, control interface, parameter reading, and test result to official DMG MORI support; request control-manufacturer support through the official machine-service channel when directed.

Back to blog