Mitsubishi M700 Alarms & Parameters

Alarm Classes — Decoding the Prefix

Every Mitsubishi alarm starts with a class code that tells you what kind of problem you have before you read another word. Most classes add a four-digit error number after the message text (e.g., M01 Operation error 0004) — that number is what you look up.

PrefixClassWhat it means
M01Operation errorsThe machine is refusing to move or start — interlocks, overrides at zero, stroke ends, mode switches. Almost never a program bug; usually a switch, a signal, or the PLC sequence.
T01 / T02 / T03Stop codesNot faults — explanations. T01 (01xx) = why cycle start won't go, T02 (02xx) = why feed hold happened, T03 (03xx) = why the block stopped.
S01 / S03 / S04Servo/spindle alarmsDrive-level faults (overcurrent, overheat, encoder trouble). The prefix tells you how to reset it — see the reset table below.
S02 / S51Initial parameter errors / parameter errorsA servo or spindle parameter is out of range or inconsistent.
S52 / S53Servo / safety-function warningsWarnings — the axis keeps running, but something needs attention (e.g., battery, overload trend).
YMCP alarmsNC-to-drive communication and amplifier detection problems (e.g., Y02 System alm: Process time over).
ZSystem alarmsControl-unit level: Z52 battery fault, Z53 CNC overheat, Z55 RIO communication stop, Z59 accel/decel time constant too large.
Z70 / Z71Absolute position detectionLost or corrupted zero-point data, encoder backup voltage drop. Usually means a zero-point re-initialization is in your future.
Z8*Distance-coded reference scale errorsScale feedback problems on distance-coded reference systems.
EMGEmergency stopE-stop chain is open — the message names the source.
LComputer link errorsHost communication (drip-feed / computer link B) faults.
UUser PLC alarmsRaised by the machine builder's ladder — check the builder's manual, not Mitsubishi's.
NNetwork service errorsNetwork/Ethernet service problems.
PProgram errorsYour G-code. The fix is almost always "correct the program" — the P-number tells you what to correct.

Servo alarm reset method is encoded in the prefix:

PrefixTypeHow to reset (after fixing the cause)
S01PRTurn NC power OFF and back ON
S03NRPress the NC RESET key
S04ARTurn the drive unit power OFF and back ON

Common Alarms

The alarms below cover most of what actually shows up on the shop floor. Causes and remedies are condensed from the M700BM/M700UM Alarm/Parameter Manual.

AlarmNameCauseFix
Operation errors (M01) — machine won't move
M01 0004External interlock axis existsExternal interlock input signal is OFF for an axisRelease the interlock; check the sequence and for broken wires in the interlock signal line
M01 0005Internal interlock axis existsServo OFF active, axis removed, or manual/auto simultaneous axis commanded from autoRelease servo OFF; perform the correct operation for the removed axis
M01 0006H/W stroke end axis existsAn axis is sitting on a hard overtravel limit switchJog off the limit manually; check the limit switch and wiring
M01 0007S/W stroke end axis existsStored stroke limit (soft limit I, II, IIB or IB) reachedMove off manually; check soft-limit parameters (#2013/#2014)
M01 0101No operation modeNo mode selected — mode-select switch or signal line problemCheck the MODE SELECT switch, wiring, and sequence program
M01 0102Cutting override zeroFeed override dial on the panel is at 0%Turn the override up; if it isn't at 0, check the signal line for a short
M01 0105Spindle stopSpindle stopped during synchronous feed / thread cuttingStart the spindle; check the spindle encoder cable, connectors and pulse
Stop codes (T) — why it won't start / why it stopped
T01 0101Axis in motionCycle start pressed while an axis is still movingWait for all axes to stop, then start again
Program errors (P) — fix the G-code
P33Format errorCommand format in the block is not correctCorrect the program block
P34Illegal G codeG code not in the specifications, or illegal G during coordinate rotationCorrect the G code address; check the option spec
P62No F commandNo feedrate commanded — power-on default modal is G01, so a bare move alarmsAdd an F command (also required with thread lead commands)
P70Arc end point deviation largeStart/end points and center don't agree on the arcCorrect start/end/center/R values and their signs; check for a scaling-valid axis
P71Arc center errorCenter can't be computed in R-specified circular interpolationCorrect the address values in the block
P132Spindle rotation speed S=0No spindle speed command issuedAdd the S command
P152No intersectionCutter comp (G41/G42) can't find an intersection point after skipping a blockCorrect the toolpath around the comp move
P153Compensation interferenceTool radius / nose R comp would gouge (interference detected)Correct the program — larger geometry or smaller tool
P181No spindle command (tap cycle)No S commanded in synchronous tappingCommand S with the tap; if #8125=1 it must be in the same block
P230Subprogram nesting overMore than 8 nested subprogram callsFlatten the call structure to 8 levels or fewer
P232No program No.Called program not found (or IC-card file name doesn't match O number)Load the program; check subprogram storage-destination parameters and that the device is mounted
P277Macro alarm messageA macro executed #3000 — this is your macro talkingRead the operator message on the diagnosis screen; see the builder's manual for the macro package
P283Divided by zeroDenominator of a macro division is zeroGuard the divisor in the expression
P430R-pnt return incompleteAxis commanded before reference position return was doneDo a manual reference return first
P460Tape I/O errorError in the tape reader / I/O device during inputCheck device power and cables; correct the I/O device parameters
Servo/spindle alarms (S01/S03/S04) — drive faults, by error number
0025Absolute position data lostAbsolute position data lost in the detector (battery/encoder)Restore backup power, then re-initialize the zero point
0032Power module overcurrentDrive power module detected overcurrentCheck motor power cables and drive; axis dynamic-stops
0033OvervoltageMain-circuit bus voltage exceeded allowable valueCheck regen circuit and incoming power
0046Motor overheatMotor or motor-side detector overheat (or thermistor circuit open/shorted)Let it cool; check the duty cycle and thermistor wiring
0050Overload 1Overload detection reached 100% — motor or drive overloadedReduce the load/duty; check for mechanical binding
0052Excessive error 1Position tracking error during servo ON was excessiveCheck for a crash or binding; verify servo tuning
0058 / 0059Collision detection (G0 / G1)Disturbance torque exceeded the allowable value in rapid / cutting feedFind what it hit; axis executes a maximum-capacity deceleration stop
System alarms (Z)
Z52 000xBattery faultNC control unit battery voltage dropped (0001 warning, 0003 alarm)Replace the NC battery — with power ON, and back up programs/parameters first
Z70 0002Absolute position lostAbsolute position basic point data in the NC damagedRe-initialize the zero point; reload saved abs-position parameter data

Parameter Organization

Mitsubishi parameters are all # numbers grouped by function into blocks that match the setup screens. Parameters marked (PR) in the manual only take effect after a power cycle. Big picture: #1000s are the control, #2000s are the axes, #8000s are yours.

RangeGroupLandmarks
#1000sBase specifications#1001 system validation, #1017 rotary axis, #1041 inch/metric, #1121/#1122 edit & display lock, #1128 variable clear, #1195–#1196 macro call enables
#2001–#2100sAxis specifications (per axis)#2001 rapid rate, #2007 G1 time constant, #2011/#2012 backlash, #2013/#2014 soft limits, #2028 grid mask
#2201+Servo (SV001…)#2201 gear ratio, #2205 speed loop gain, #2218 ball screw pitch, #2225 motor/detector type
#3001+Spindle (NC side)#3001 limit rotation speed for gear 00 (slimt)
#4000+Machine error compensation#4000 increment method, #4001+10(n-1) basic axis per comp set
#6401–#6496PLC constants: bit selectionBit parameters mapped to ladder R registers (R7800–R7847); #6449+ often builder-fixed
#7001–#7300sMacro list (user macro calls)#7001+ M-code calls, #7201–#7293 G-code calls G[01]–G[10], #7302 S call, #7312 T call
#7501+Position switches#7501 PSW1 axis name, #7502 dog positions
#8000–#8999Machining parameters (user level)#8000/#8001 parts counter, #8008 corner decel angle, #8051+ G71 cycle, #8125 G84 S-check, #8211 mirror image, #8301+ chuck barrier
#9001+I/O parameters#9001–#9004 data in/out ports and device numbers, #9010 PLC I/O device
#13001+Spindle drive (SP001…)#13001 position loop gain (non-interpolation mode)
#16000–#17455PLC timers & counters#16000–#16703 timers T0–T703, #17200–#17455 counters C000–C255

Parameters Worth Knowing

A short list of the parameters that answer the questions machinists actually ask — "why does it wake up in inches," "why can't I see O9000," "where's the soft limit." All verified against the M700BM/M700UM manual.

ParameterNameWhat it does
Base specifications
#1017 (PR)rotAxis is rotary (1) or linear (0); rotary rolls over at 360°
#1041 (PR)I_inchUnit system at power-ON/reset: 0 = metric, 1 = inch
#1078Decpt2Commands without a decimal point: 0 = least input increment, 1 = whole 1 mm / 1 inch units
#1121edlk_cEdit lock C: 1 = programs O9000–O9999 cannot be opened or edited
#1122 (PR)pglk_cDisplay/search lock for O9000–O9999; setting 1 or 2 also forces #1121 on at power-up
#1128RstVCI1 = clear common variables #100–#149 (or #100–#199) on reset
#1195 / #1196Mmac / SmacEnable user-macro call from an M command / S command (code tables live at #7001+)
Axis & servo
#2001rapidRapid traverse rate per axis (mm/min)
#2011 / #2012G0back / G1backBacklash compensation on direction reversal in rapid / cutting feed
#2013 / #2014OT- / OT+Soft limit I in machine coordinates; set both to the same value to disable; #8204/#8205 narrow it at user level
#2205SV005 VGN1Servo speed loop gain — higher is tighter until it vibrates; back off 20–30% from the vibration point
Machining & macro
#7001+M[01] Code …Macro-call code tables: which M/G/S/T codes call which macro programs (needs #1195–#1196 style enables)
#8000 / #8001CNT TYPE / WRK COUNT MParts counter: which M code (and/or M02/M30) counts a finished workpiece
#8125Check Scode in G84Synchronous tap with no S in the block: 0 = use modal S, 1 = alarm P181

Looking Up an Alarm

Alarms display as class + message + a four-digit error number (e.g., M01 Operation error 0102). The manual lists each class in ascending order of that number, so the number — not the message text — is your lookup key. A quick triage routine:

StepDo this
1Read the class prefix first — M01 means look at switches/interlocks, P means look at the program, S means look at the drive, Z means look at the control unit.
2Check the diagnosis screen for operator messages — a P277 is your own macro's #3000 alarm text, not a control fault.
3For servo alarms, note the prefix before resetting: S03 clears with the RESET key, S01 needs an NC power cycle, S04 needs a drive power cycle. Fine detail on servo error numbers lives in the drive unit (MDS series) manual, not the NC manual.
4No screen nearby? The 7-segment LED on the operation board I/O flashes A.L for an alarm (S.T for a stop code), then shows the details in three phases, most-critical alarm per part system.
5If the remedy says "correct the sequence program," you're done — that's the machine tool builder's ladder, and the builder's manual takes priority over Mitsubishi's.

Worked Example: Raising and Reacting to Alarms from a Macro

The alarm classes above aren't just things that happen to you — a macro can raise them on purpose. Writing a number to #3000 stops the program with your own message, and the control files it under class P as P277 Macro alarm message (see the Program errors section of the Common Alarms table). Writing to #3006 is gentler: a planned single stop with a message that Cycle Start clears — no reset, no P alarm. The macro below is a tolerance gate you'd drop in after a probing routine: in tolerance it returns silently, near the limit it does a #3006 planned stop so the operator can react, and out of tolerance it raises a #3000 alarm so the cycle cannot continue. When it fires, the operator's lookup path is exactly the triage routine below: the P277 text appears on the diagnosis screen, not in the Mitsubishi alarm manual.

(O8200 - TOLERANCE GATE)
(CALL:  G65 P8200 A<NOMINAL> B<TOLERANCE> C<WARNING BAND>)
(EXPECTS THE MEASURED VALUE IN COMMON VARIABLE #501,)
(LEFT THERE BY THE PROBING ROUTINE THAT RAN BEFORE THIS CALL.)
(NOTE: #501 SURVIVES RESET UNLESS PARAMETER #1128 RstVCI IS SET)
(TO CLEAR COMMON VARIABLES - SEE PARAMETERS WORTH KNOWING ABOVE.)

O8200
(GUARD THE INPUTS FIRST - A MISSING ARGUMENT SHOULD BE ITS OWN ALARM,)
(NOT A CONFUSING DOWNSTREAM P283 DIVIDED-BY-ZERO OR A BAD COMPARE.)
IF [#1 EQ #0] GOTO 900 ;            (A = NOMINAL, REQUIRED)
IF [#2 EQ #0] GOTO 900 ;            (B = TOLERANCE, REQUIRED)
IF [#3 NE #0] GOTO 10 ;             (C = WARNING BAND, OPTIONAL)
#3 = #2 * 0.8 ;                     (DEFAULT WARNING BAND: 80% OF B)

N10 #30 = ABS[#501 - #1] ;          (DEVIATION OF MEASURED FROM NOMINAL)

(DECISION LADDER - WORST CASE FIRST)
IF [#30 GT #2] GOTO 910 ;           (OUT OF TOLERANCE -> HARD ALARM)
IF [#30 GT #3] GOTO 800 ;           (IN WARNING BAND -> PLANNED STOP)
M99 ;                               (GOOD PART - RETURN QUIETLY)

N800 (WARNING BAND: STOP AND TELL THE OPERATOR, BUT LET CYCLE START RESUME)
#3006 = 1 (SIZE NEAR TOL - CHECK INSERT) ;
M99 ;                               (OPERATOR PRESSED CYCLE START - CONTINUE)

N900 (ARGUMENT MISSING: RAISE A MACRO ALARM - DISPLAYS AS CLASS P, P277)
#3000 = 101 (NO A OR B ARGUMENT) ;  (MESSAGE TEXT SHOWS ON DIAGNOSIS SCREEN)

N910 (OUT OF TOLERANCE: RAISE A MACRO ALARM - CYCLE CANNOT CONTINUE)
(THIS IS *YOUR* ALARM, NOT THE CONTROL'S: THE SCREEN SHOWS P277 PLUS)
(THE TEXT IN PARENTHESES. A RESET CLEARS IT - UNLIKE AN S01 SERVO)
(ALARM, WHICH NEEDS AN NC POWER CYCLE PER THE RESET TABLE ABOVE.)
#3000 = 102 (SIZE OUT OF TOLERANCE) ;

Two habits worth copying: pick your own #3000 numbering scheme (here 101/102) and keep a crib sheet, because the control only shows the number and your 31-character message — the P277 entry in the manual just says "a macro raised this." And use #3006 for anything an operator is allowed to wave through; reserving #3000 for genuine scrap conditions keeps the alarm history meaningful.

References

  • Mitsubishi Electric, M700BM/M700UM Series Alarm/Parameter Manual, Mitsubishi Electric Corporation.
  • Mitsubishi Electric, MDS-D2/DH2 Series Instruction Manual, IB-1501127 (servo alarm detail).

Have a question or want to contribute?

Contact us with corrections, additions, or topics you'd like covered.

Get in Touch