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
- Place the machine in a safe, idle condition under the facility's approved parameter-change procedure. Record the existing value of
#6054before editing it. - Confirm that
O9014exists and that its program number is exactlyO9014. Review its two changed references and verify that both use#604. - 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. - Press
SYSTEM, selectNC Systems, open the NC parameter screen, enter6054, and selectSEARCH. - Switch the control to MDI mode. Open the
Settingmenu in the same control cluster as the System function and enableParameter Write. - Expect the alarm to sound when Parameter Write is enabled. In this interface, that indication does not prevent the parameter edit.
- Enter
154as the value of#6054. Keep the G-code letter out of the numeric parameter field. - Read the displayed parameter back and confirm
#6054 = 154. - Disable
Parameter Writeafter 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
- Reopen the NC parameter page and verify that
#6054reads154after Parameter Write has been disabled. - Verify that the program directory contains
O9014and that the control can display its executable blocks. - Record the current value of
#604. Confirm that it matches the serial-number value expected before the first call. - Run an approved test containing the intended
G154call 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. - Observe the program display or execution trace and confirm that control transfers to
O9014, not one ofO9010-O9013. - After execution, read
#604and 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.