FANUC codes
FANUCProgram/G-codeIntermediate20-40 minutes

1093

Fanuc Alarm 1093 - DUPLICATE NC-WORD AND M99

MACRO ALARM 1093

An address other than O, N, P, or L was specified in the same block as M99 during macro modal call state.

Root Cause Summary

Alarm 1093 occurs when a macro modal call is active (G66 mode) and the program encounters an M99 block that contains additional address codes beyond the permitted O, N, P, or L words. The CNC detects illegal syntax where M99 is combined with axis commands, feed rates, or other NC words that violate the modal call return structure.

Causes and Fixes

  1. 1

    Press EDIT mode, navigate to PROGRAM > SEARCH and locate the block number shown in the alarm message. Examine the M99 block for any address codes other than O, N, P, or L.

  2. 2

    Verify G66 modal call state is active by reviewing preceding blocks for G66 (modal macro call start) without a corresponding G67 (modal call cancel) before the M99.

  3. 3

    Remove all illegal address codes from the M99 block. If axis motion or other commands are required, place them in a separate block before M99. The M99 block should contain only M99 and optionally O/N/P/L addresses.

    Backup the original program to memory card before editing. Press SYSTEM > PARAM and verify parameter 3202 bit 5 (macro modal call enable) is set to 1 if using G66/G67.

  4. 4

    Reset alarm with RESET key, restart program from a safe position before the G66 call using block search or manual repositioning. Verify the M99 now executes without alarm.

DIY Feasiblehigh confidence

Call a technician if:

  • ·Parameter corruption suspected
  • ·Multiple macro-related alarms occurring
  • ·Program structure appears correct but alarm persists

Prevention

  • Always program M99 on separate block in macro subprograms
  • Use proper G66/G67 pairing for modal macro calls
  • Validate macro programs in single block mode before production
  • Maintain consistent macro programming standards

Common Mistakes

  • Programming coordinates with M99 in same block
  • Forgetting to cancel G66 modal call with G67
  • Using M99 incorrectly in main program instead of subprogram
  • Mixing incompatible address codes with M99 during macro execution

Related Alarms

Seeing Multiple Alarms?

Seeing another alarm with this one? Enter the code.

Get machine-aware diagnosis

AxisMD logs alarms against your actual machines, tracks patterns, and gives AI context your manual doesn't have.

Start free

Was this guide helpful?

Always verify with your machine manual or a certified technician before performing service procedures.