Troubleshooting OKK HM40 1016 External Alarm and Z70 Encoder

Tom Garrett10 min read
Motion ControlOther ManufacturerTroubleshooting
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

Problem Summary

The OKK HM40 horizontal machining center is built on a Mitsubishi CNC platform (typically the M64 or M65 series, sometimes branded by OKK as the OSP equivalent). When a machine powers up, accepts Pre-Operation (hydraulic/spindle prep), and refuses to jog any axis, two fault codes typically appear together:

  • Z70 — Absolute position lost on the X-axis encoder (or another linear axis depending on configuration).
  • 1016 External Alarm 2 — An OKK-specific ladder-mapped external alarm tied to the machine's PMC sequence.

These are independent faults. Z70 is generated by the Mitsubishi NC servo control; 1016 is generated by the OKK-built PMC ladder and is conditioned on machine-side I/O. Both must be cleared before any axis will move and a reference point return (dog-type or absolute-style) can be completed.

OKK HM40 Control Architecture

The HM40 uses a Mitsubishi high-end CNC (M64/M65) paired with a separate PMC (typically a Mitsubishi MELSEC-based PLC). The NC handles motion, position feedback, and servo loop closure, while the PMC handles machine sequencing: hydraulics, tool change, pallet change, ATC, lubrication, and external interlocks.

Subsystem Hardware Responsibility
CNC Control Mitsubishi M64 / M65 Interpolation, servo loops, M-code dispatch, alarm generation (Z/Z0 series)
Servo Drive MDS series (e.g., MDS-A, MDS-B, MDS-C1) Position, velocity, current loops; absolute encoder interface
PMC MELSEC-A/Q ladder Machine I/O sequencing, 1000-series alarms
Encoder Battery Single or dual 3.6 V lithium (e.g., ER6VC3, Q6BAT) Backs up absolute encoder multi-turn counter

The 1016 External Alarm 2 code is a PMC-generated message. OKK assigns numeric ranges to specific machine conditions; the operator manual maps these to ladder addresses and triggering inputs. Without the OKK-specific manual, the cause must be inferred from the ladder rung, the machine I/O status screen, and the sequence of events.

Root Cause Analysis

Cause 1: Z70 Absolute Encoder Position Loss

The Z70 alarm indicates that the X-axis absolute encoder has lost its stored multi-turn position data. The most common triggers, in order of likelihood:

  1. Dead or discharged backup battery — The encoder retains multi-turn position via a 3.6 V lithium cell. Voltage below ~2.8 V at the encoder input causes the controller to declare absolute data invalid on power-up.
  2. Encoder cable disconnected while power was off — If the cable between the servo drive and the absolute encoder was ever unplugged with battery removed or discharged, multi-turn data is lost.
  3. Failed encoder — Internal EEPROM failure on the encoder itself; least common but possible on machines older than 15 years.
  4. Drive replacement without backup power — Swapping the MDS drive while encoder battery is disconnected wipes the absolute counter.

Cause 2: 1016 External Alarm 2

Because 1016 is an OKK-defined external alarm, the PMC monitors a specific input that must be ON before axis travel is permitted. Common 1016 triggers on the HM40 platform:

  • Servo Ready (SA/READY) signal not asserted by the MDS drive.
  • Hydraulic pressure OK not confirmed (despite the user reporting hydraulics work, the PMC may be looking for a different pressure switch, such as high-pressure clamping pressure).
  • Spindle-orientation complete signal missing.
  • Tool magazine in-position or ATC door-closed interlock not satisfied.
  • Absolute encoder established-position (Z70 recovery) flag not yet set in the ladder.
Critical: On many OKK models, the 1016 condition is gated on a reference-point-established bit. Until Z70 is cleared and the X axis passes its reference return, 1016 will re-trigger every cycle. Treat the two faults as a sequence: resolve Z70 first, then 1016 will clear automatically on the next power-up if the underlying I/O is satisfied.

Diagnostic Procedure

Step 1: Capture Alarm History and I/O Status

On the Mitsubishi M64/M65 control, navigate to the alarm history screen and the PMC I/O monitor:

  • Press MENU → Alarm → Alarm History to capture the exact code, axis, and time-stamp.
  • Press MENU → Monitr → I/O and select the PMC device (e.g., X, Y, R, M registers). Look up the OKK ladder address documented for alarm 1016; commonly a bit such as R200.0 or X012 depending on machine vintage.

Step 2: Measure Encoder Battery Voltage

Locate the absolute encoder battery pack. On OKK HM40 machines this is typically:

  • A round lithium cell mounted on the X-axis servo motor rear cover, or
  • A multi-cell battery box mounted inside the electrical cabinet, wired to the encoder via a dedicated two-conductor cable.

Measure battery voltage with the machine powered OFF and the cable disconnected from the battery side:

  • Healthy: 3.4–3.7 V DC
  • Marginal: 3.0–3.4 V DC — replace before next commissioning.
  • Failed: < 2.8 V DC — guaranteed Z70 on next power-up.

Step 3: Inspect Encoder Cable

With power OFF, inspect the encoder cable from the MDS drive to the X-axis motor. Look for:

  • Strain-relief cracks at the motor-side connector.
  • Shield drain wire termination at the drive end.
  • Pin corrosion (especially if coolant has reached the connector).

Step 4: Verify Servo Ready and PMC Inputs

On the I/O monitor, check that the following are all ON before any axis jog is attempted:

  • SA (Servo Ready) from each MDS drive.
  • MC ON contactor closed.
  • Hydraulic pressure OK input.
  • Emergency stop released on both NC and PMC side.
  • Mode select in JOG or MPG position.

Solution: Z70 Recovery

Battery Replacement

  1. With machine power ON and in Pre-Operation state, open the electrical cabinet and locate the encoder battery assembly.
  2. Place the new battery in parallel with the existing one using the supplied pigtail or splice connector — this preserves encoder backup during the swap.
  3. Once the new battery is connected in parallel, remove the old battery. Voltage at the encoder input should remain ≥ 3.0 V throughout.
  4. Leave the machine powered ON for at least 30 seconds to allow the encoder to re-establish its backup monitor.
Warning: Never replace the encoder battery with the machine power OFF and the encoder cable disconnected. This will erase the multi-turn counter and require a full reference point return plus any absolute-zero re-establishment procedures the control requires.

Reference Point Return Sequence

After the battery is verified healthy, perform reference point return on the X axis:

  1. Switch the control to Reference Return mode.
  2. Select axis X (and Y, Z, B if additional axes also show Z70 or Z71/Z72 absolute alarms).
  3. Verify rapid override is reduced to ≤ 25%.
  4. Press +X (or the appropriate direction select). The axis will travel toward the reference dog, decelerate on the dog, then make the grid shift to the machine zero.
  5. Confirm the axis display shows the reference position value (e.g., 0.000 mm) and the Reference Position Established lamp is ON.

For absolute encoders that have lost position but the machine still has a known grid offset stored in the parameter set (parameter #2Z18 family on Mitsubishi M64/M65), the controller may request an absolute position setting instead of a dog return. Follow the on-screen prompt; you will jog the axis to the marked reference mark on the machine and press the absolute-set button.

Solution: 1016 External Alarm 2 Recovery

After Z70 is cleared and the X-axis reference is established, power the machine OFF and back ON. The 1016 alarm should clear if the PMC sequence now satisfies all interlocks. If it does not clear, perform the following checks:

  1. Verify servo ready on all drives. Look for any other alarm (e.g., Y03 servo overcurrent, Y21 initial parameter error, Z71/Z72/Z73 on other axes) that may be preventing the SA signal from rising.
  2. Check the specific I/O condition OKK assigned to 1016. Without the manual, monitor all X inputs that change state between Pre-Operation and Cycle Start. The 1016 trigger will typically be one that remains OFF while the others turn ON.
  3. Force the condition (only if you have verified the related safety circuit). On the PMC monitor, force the suspect input briefly and observe whether the alarm message text changes — this confirms which input is the trigger.
Safety: Never force a safety-relevant input (e.g., door-closed, chuck-closed, spindle-orientation complete on a machine with stored energy). Only diagnostic-test inputs such as ATC-in-position, magazine-count-reached, or pallet-clamped are candidates for forced diagnostics.

Verification

After both alarms are resolved, run the following verification sequence:

  1. Jog test each axis in both directions at 10%, 25%, and 100% rapid override. Listen for abnormal servo noise and watch for following-error alarms.
  2. Reference return all axes from a non-reference position to confirm the controller remembers the reference offset.
  3. MDI a safe move such as G0 X10.0 with no tool and no workpiece, and confirm the axis completes the move without any 1000-series alarm.
  4. Cycle a full tool change to confirm the magazine and ATC interlock ladder is satisfied.
  5. Power down and power up the machine from the main disconnect. After restart, confirm Z70 does not return (battery healthy) and 1016 does not appear (PMC sequence satisfied).

Troubleshooting Matrix

Symptom Likely Cause Verification Fix
Z70 on X-axis only X-axis encoder battery discharged Measure battery voltage < 2.8 V Replace battery with power ON
Z70 on multiple axes Common battery box or shared supply failed Measure battery box output Replace battery box, re-establish all axes
Z70 returns after every power-up Battery or wiring intermittent Wiggle test cable while monitoring voltage Replace connector or wiring
1016 persists after Z70 cleared PMC interlock not satisfied (spindle orient, ATC, hydraulics) PMC I/O monitor Satisfy the trigger input or repair the related sensor
1016 + servo alarm Y03 Drive fault preventing Servo Ready Check MDS drive LEDs Resolve servo fault first
Cannot jog, no alarm present Mode select, override, or feed-hold engaged Check mode and override on screen Set mode to JOG, override > 0%, release feed-hold

Replacement Parts Reference

Component Common Part Numbers Notes
Lithium encoder battery (single) ER6VC3, Q6BAT, BR-AGCF2W 3.6 V, 1650 mAh typical
Multi-cell battery box MDS-BAT6V1, A06B-6077-K001 Used when two or more axes share a battery
Encoder cable (X-axis, typical) CNV2E-6P or CNV2E-8P Verify pin count against drive side
MDS servo drive (typical HM40) MDS-B-V1, MDS-C1-V1 Match to motor model and current rating

Preventive Measures

  • Replace encoder batteries on a 4-year scheduled cycle, or sooner if the control displays a Battery Low warning.
  • Always power the machine ON before disconnecting any encoder cable, and always leave the backup battery connected during any drive or motor swap.
  • Document all reference point return procedures and parameter values immediately after commissioning — these are not stored in the control's user-accessible parameter set and must be re-derived if the encoder is replaced.
  • Request the OKK-specific alarm list and PMC ladder printout from the machine builder or authorized service channel; this avoids the type of guesswork required when only Mitsubishi documentation is available.

FAQ

What does OKK HM40 alarm 1016 "External Alarm 2" mean?

1016 is a PMC-generated external alarm on OKK HM40 machines. It indicates that a machine-side interlock input monitored by the ladder is not in the required state for axis travel. The exact trigger requires the OKK-specific alarm list to map the code to the I/O bit.

How do I clear the Z70 absolute encoder alarm on an OKK HM40?

Verify or replace the encoder backup battery with machine power ON, leave the system powered for at least 30 seconds, then perform reference point return on the affected axis. If the encoder itself has lost multi-turn data, the control may request an absolute position set at a marked reference mark on the machine.

Can I move any axis before clearing the 1016 alarm?

No. The 1016 alarm disables axis motion through the PMC ready chain. In addition, the Mitsubishi M64/M65 control will block jog commands until all servo-ready and absolute-position-established flags are satisfied. Resolve Z70 first, then 1016 will typically clear on the next power-up.

Which Mitsubishi control does the OKK HM40 use?

The OKK HM40 is built on a Mitsubishi M64 or M65 CNC platform with MDS-series servo drives and a MELSEC-A or MELSEC-Q PMC. Specific variants include the M64AS and M65VS depending on machine age and configuration.

What voltage should the absolute encoder battery show on a healthy OKK HM40?

A healthy encoder battery (ER6VC3 / Q6BAT type) should measure 3.4 to 3.7 V DC at the battery terminals with the machine powered OFF. Readings below 3.0 V indicate the battery should be replaced before the next scheduled shutdown.

Where can I obtain the OKK-specific manual for the 1016 alarm mapping?

Contact an authorized OKK service channel or the regional OKK agent with the machine serial number to request the operator's manual and PMC ladder printout. Third-party service organizations specializing in OKK and Mitsubishi-controlled machines can also provide documentation if original manuals are unavailable.

Back to blog