Mitsubishi Vibration Suppression Parameters: G08.5 VCC Guide
Learn to configure Mitsubishi vibration suppression parameters. Resolve P33 and M01 1309 VCC errors by adjusting parameters #12586 and #2313 on your CNC machine.
Introduction
If a CNC programmer commands vibration cutting control with an integer frequency value, the tool path perfectly overlaps on each rotation, failing to create an air-cutting zone. The physical consequence is severe: continuous chips wrap around the turret or chuck, causing chip nest entanglement that destroys the surface finish of the part, cracks the cutting tool insert, or forces a hard collision that shifts the machine's spindle alignment. To prevent this, Mitsubishi CNC users must program Vibration Cutting Control (VCC) via G08.5 to vibrate the feed axis during active cutting interpolation. This method breaks long, stringy chips into manageable segments that eject cleanly into the chip conveyor.
Technical Summary
| Specification | Details |
|---|---|
| Command Code | G08.5 |
| Modal Group / Modality | Non-modal command (G code group 0) |
| Brands | Mitsubishi (brand-filtered) |
| Critical Parameters | #12586 (ActualClamp_VCC), #2313 (SV113 SSF8/bit0) |
| Main Constraint | VCC can only run on one axis at a time. The frequency (address I) must not be set to a whole integer to ensure an air-cutting zone. |
Quick Read
- Avoid Integer Frequency Values: Command a fractional frequency (ideally integer + 0.5) using address
Ito maximize the air-cutting zone and break chips. - Verify Axis Syntax: Always include a trailing "0" after the axis address (such as
Z0) in theG08.5block or a P33 program error triggers. - Enable Servo Parameters: Set parameter
#2313 (SV113) bit 0to 1 and parameter#2139 (omrff_off)to 1 to activate Optimal Machine Response Feed Forward during vibration cutting. - Match G-Code System: Configure parameter
#1037 (cmdtyp)according to your setup: 1 or 2 for machining centers (G-code system 1) or 3 to 8 for lathes (G-code systems 2 to 7). - Clamp Vibration Feedrates: Adjust parameter
#12586 (ActualClamp_VCC)to prevent mechanical runaway when superimposed vibration components are added to the axis speed. - Restrict Axis Selection: Command only a single axis for vibration cutting in a single block to avoid coordinate system calculation conflicts.
Basic Concepts
Vibration Cutting Control (VCC) via G08.5 is fundamentally used to prevent continuous chip formation, which can cause entanglement around the turret or chuck and potentially lead to a scrap part or a hard collision. Programmers achieve this by vibrating the feed axis during cutting commands like G01, G02, or G03.
It is critical for operators to verify that OMR-FF (Optimal Machine Response - Feed Forward) is properly enabled; specifically, parameter #2313 SV113 SSF8/bit0 must be set to 1, and #2139 omrff_off should be set to 1 to temporarily restrict OMR-FF strictly to the VCC mode. A highly common programming error that defeats the entire purpose of VCC is setting the frequency (address I) to a whole integer. When an integer is programmed, the tool path perfectly overlaps on each rotation, failing to create an air-cutting zone, meaning chips cannot be dispersed. Programmers must theoretically command an "integer + 0.5" for the frequency to maximize the air-cutting zone and ensure chips break properly. Operators must also be mindful of excessive machine resonance; utilizing notch filter parameters like SV038 FHz1 and SV046 FHz2 (settable from 0 to 2250 Hz) helps suppress unwanted mechanical vibrations during active machining.
Command Structure
The syntax structure of G08.5 dictates how the Mitsubishi control processes axis vibration. The start block designates the vibration cutting mode, selection of the target axis, the frequency of vibration, and the amplitude feed ratio. When the CNC reads G08.5 P2, it initializes the vibration routine, but the actual oscillation only occurs during subsequent linear or circular cutting interpolation commands.
The cancel command, G08.5 P0, halts all vibration control. It is essential that the cancel block does not contain axis addresses or secondary parameters. If the programmer mistakenly includes address "a", "I", or "K" in the cancel block, the controller immediately raises a P32 alarm.
Syntax
G08.5 P2 Z0 I1.5 K2.00 ; Start VCC on Z-axis, frequency 1.5, amplitude ratio 2.00
G01 Z-10.0 F0.2 ; Perform linear cutting with vibration
G08.5 P0 ; Cancel vibration cutting mode
Parameters
| Address / Parameter | Description | Setting Range / Value |
|---|---|---|
P | Command mode select: P2 to start vibration cutting, P0 to cancel vibration cutting. | 0 or 2 |
α | Vibration target axis. Specify the axis name (e.g., Z) followed by a trailing 0 (Z0). | Axis address with trailing 0 |
I | Vibration frequency per spindle rotation. Must not be set to a whole integer. | 0.10 to 31.50 |
K | Vibration amplitude feed ratio. Omission uses the default parameter value. | 0.01 to 9.99 |
Brand Applications
Mitsubishi
On Mitsubishi CNC systems, G08.5 syntax strictly requires a trailing "0" immediately following the axis address (e.g., Z0) within the VCC start block. If the word command value check is active and the trailing zero is omitted, the machine instantly halts with a P33 program error. The control also enforces a strict division between machine types: Lathes (L systems) must use G-code systems 2 through 7 (configured via parameter #1037 cmdtyp), whereas Machining Centers (M systems) are restricted to G-code system 1. Executing G08.5 on an invalid G-code system triggers a P34 alarm.
To safeguard the axis drives from mechanical damage during aggressive vibration cycles, Mitsubishi utilizes parameter #12586 (ActualClamp_VCC). If the combined velocity of the commanded feedrate and the superimposed vibration components exceeds this programmed limit, the system triggers an M01 1309 operation error to prevent axis runaway.
Version and Series Comparison
| Mitsubishi Controller Series | VCC Option Availability | Parameter and System Limits | Typical Application Constraints |
|---|---|---|---|
| M800/M80 Series | Standard high-performance support | Allows full adjustment of #11678 VibPerRevMax_VCC and #12586 ActualClamp_VCC clamp limits. | Optimized for high-speed machining centers (M system) and multi-axis lathes (L system). |
| C80 Series | Available on specialized multi-axis configurations | Fully supports notch filters #2238 (SV038) and #2246 (SV046) to suppress mechanical resonance. | Typically integrated in high-production lines requiring multi-spindle control II synchronization. |
| E80 Series | Option-dependent standard support | Subject to lower frequency clamp thresholds and basic tuning limits. | Restricted to standard machining cycles; not suitable for highly aggressive vibration feeds. |
Technical Analysis
Mitsubishi CNCs exhibit highly distinct VCC behaviors compared to other control brands. First, their syntax strictly requires a trailing "0" immediately following the axis address (e.g., Z0) within the G08.5 block; omitting this zero instantly triggers a P33 alarm code if the word command value check is active. Second, Mitsubishi enforces a strict G-code system division for VCC execution based on the machine type: Lathes (L systems) must use G code systems 2 through 7, while Machining Centers (M systems) are restricted to G code system 1. Executing G08.5 in an improper system immediately halts operation with a P34 program error. Finally, Mitsubishi incorporates a dedicated hardware-protection clamping mechanism for the vibration feedrate via parameter #12586 ActualClamp_VCC. If the superimposed vibration components push the axis speed beyond this programmed limit, the system natively triggers an M01 1309 operation error to prevent mechanical runaway, distinctly ensuring that aggressive amplitude and frequency combinations do not damage the axis drives.
We must also mention how to avoid conflicts with related systems, such as when configuring axis orientations or names as defined in md10000-siemens-axis-names, or when configuring the default G-code parameters during startup as described in md20112-program-start-default. These principles highlight the importance of aligning CNC system types with physical parameters.
Program Examples
N01 M03 S3500 ; Start spindle at 3500 RPM
N02 G95 ; Select feed per revolution mode (synchronous feed)
N03 G08.5 P2 Z0 I1.5 K2.00 ; Start vibration cutting on Z axis, frequency 1.5, amplitude ratio 2.00
N04 G01 Z-1.0 F0.04 ; Execute linear cutting interpolation with active Z-axis vibration
N05 G01 X1.0 ; Cut X-axis (vibration remains active on Z-axis)
N07 G08.5 P0 ; Cancel vibration cutting mode
Dry Run Execution Procedure
Before executing vibration cutting in production, operators must perform a dry run to verify the axis moves correctly without causing mechanical damage. Execute the following steps:
- Check Clearance: Ensure the workpiece is not clamped in the chuck, and clear the turret of any tools that could collide with the spindle.
- Set Single Block: Toggle the Single Block switch on the operator panel to the ON position.
- Input Code: Enter the program block in MDI mode or select the test program.
- Execute Start: Press Cycle Start to activate the spindle at 3500 RPM.
- Confirm Feed Mode: Press Cycle Start to read the
G95command. - Activate VCC: Press Cycle Start to execute the
G08.5 P2 Z0 I1.5 K2.00block. Verify that no program error is triggered and that the axis is prepped for vibration. - Run Interpolation: Press Cycle Start to execute the
G01 Z-1.0 F0.04cutting feed. The Z-axis will feed while visibly and audibly vibrating. Ensure the vibration speed does not trigger parameter clamp limits. - Cancel Mode: Press Cycle Start to execute the
G08.5 P0block. The vibration components will cease immediately, and the axis returns to normal feed mode.
Error Analysis
| Mitsubishi Alarm Code | Trigger Condition | Operator Symptom | Practical Resolution |
|---|---|---|---|
| P32 Program Error | Commanded axis does not exist in the part system, or addresses "a", "I", or "K" are command values inside a cancel block (G08.5 P0). | The system halts block execution; an alarm message is displayed on the screen; cycle start is disabled. | Verify the axis name is valid for the system, and remove any address values from the cancel block. |
| P33 Program Error | Address P is omitted, two or more axes are commanded simultaneously, or the trailing "0" following the axis address is omitted while word check is active. | The machine execution stops instantly; the HMI displays a syntax fault. | Specify exactly one axis with a trailing "0" (e.g., Z0) and ensure the P2 command is present. |
| P34 Program Error | G08.5 command is issued in an invalid G-code system. | The controller halts operation and locks the program block. | Ensure parameter #1037 cmdtyp is set to 1 or 2 for machining centers (G-code system 1) or 3 to 8 for lathes (G-code systems 2 to 7). |
| P35 Program Error | An invalid value is commanded, or the commanded frequency or amplitude ratio exceeds parameter limits. | The CNC aborts the active cycle and displays a parameter error. | Check that frequency address I is within 0.10 to 31.50 and amplitude K is within 0.01 to 9.99, and does not exceed parameters #11678 or #11671. |
| M01 1309 Operation Error | The combined vibration feedrate is clamped by parameter #12586 ActualClamp_VCC. | The axis feed rate is limited; the operation error message is displayed on the screen. | Reduce the commanded cutting feedrate, amplitude, or frequency, or adjust the parameter limit #12586. |
| M01 1303 Operation Error | The command speed of dry run and external deceleration is clamped by parameter #12571 VibClamp_VCC during active vibration cutting control. | Axis motion is clamped during dry run or deceleration; warning light triggers. | Adjust the dry run velocity or increase the clamp threshold in parameter #12571. |
| M01 1300 Operation Error | The selected spindle is changed during active vibration cutting mode when multiple-spindle control II is enabled. | The system aborts spindle rotation; cycle stops. | Perform spindle selection changes before executing the G08.5 activation block. |
Application Note
A destroyed workpiece and a cracked spindle bearing are the direct mechanical consequences of programming a whole integer for the frequency address I during vibration cutting control. When an integer value is commanded, the tool path perfectly overlaps on every single rotation of the spindle. This overlap fails to generate the required air-cutting zone, which means chips cannot be dispersed and instead form a dense nest around the workpiece. To prevent this severe failure, programmers must command a fractional frequency (integer + 0.5) to maximize the air-cutting zone and ensure chips break properly. Technicians must calibrate parameter #2313 SV113 SSF8/bit0 to 1 and #2139 omrff_off to 1 to temporarily restrict OMR-FF to VCC mode, which guarantees optimal response during high-speed oscillations.
Related Command Network
G01/G02/G03: Linear and circular interpolation commands during which the target axis executes vibration cutting.G94/G95: Feed rate modes that define either feed per minute or feed per revolution, which must be set to feed per revolution for synchronous vibration cutting.G61.1: High-accuracy control mode that coordinates with VCC to maintain precise path tolerances.- m19-spindle-orientation: Spindle orientation command that must be executed only when the spindle has stabilized and VCC mode is completely canceled.
Conclusion
Implementing G08.5 vibration cutting control on Mitsubishi controllers requires precise syntax structure and strict coordination of parameter settings. Programmers must ensure fractional frequency values are commanded to guarantee the air-cutting zone is created, and technicians should verify that parameter #12586 is properly adjusted to prevent feedrate clamping errors. Following these guidelines ensures smooth chip evacuation, protecting the machine tool spindle and maintaining continuous automated production.
Frequently Asked Questions
Why does my Mitsubishi CNC trigger a P33 program error when executing G08.5?
This program error is triggered when the axis name in the G08.5 block is commanded without its trailing zero, or if two axes are commanded simultaneously. The control needs the trailing zero to parse the axis word command value correctly. Practical Action: Inspect the G08.5 block in your program and ensure the target axis has a trailing zero, such as writing Z0 instead of Z.
What causes the M01 1309 operation error during vibration cutting?
This error occurs because the axis speed exceeds the safety limit configured in parameter #12586 ActualClamp_VCC due to the addition of vibration components to the cutting feedrate. The system clamps the feedrate to prevent axis runaway and motor overload. Practical Action: Reduce the programmed cutting feedrate, vibration amplitude, or frequency in the G-code, or increase the clamp value in parameter #12586 if mechanical limits allow.
How does the frequency value programmed in address I affect chip breaking?
Programming a whole integer frequency causes the tool path to overlap perfectly on subsequent rotations, eliminating the air-cutting phase needed to break chips. Fractional values shift the tool oscillation peak relative to the previous rotation. Practical Action: Always program a fractional frequency value in the format of integer plus 0.5 (for example, I1.5 or I2.5) to maximize the chip-breaking zone.
Still not resolved?
Ask our AI assistant about this topic in natural language. Grounded in verified sources, no hallucinations.

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2008)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
With over 25 years of experience working in all areas of the CNC machine industry, I continue my activities as a co-founder of CNC CARE, where we offer brand-independent consulting, engineering, and original spare parts services.
Related Articles
Other articles on this topic
G27 Reference Position Return Check: CNC Guide for Multi-Brand Systems
Master the CNC G27 reference position return check on Fanuc, Siemens, and Mitsubishi controls. Learn parameters like MD 34100 and fix Alarm 61816.
G26 Spindle Speed Fluctuation Detection ON: CNC Programming Guide
Learn how to configure G26 on Fanuc, Siemens, and Mitsubishi CNC controls to prevent spindle speed fluctuations, set travel limits, and avoid tool crashes.
G25 Spindle Speed Fluctuation Detection OFF: CNC Programming Guide
Learn how to program G25, G163, and G26 spindle speed fluctuation detection OFF commands on Fanuc, Siemens, and Mitsubishi CNC controls to prevent machine crashes.
Deactivating CNC Stored Stroke Limit Checks with G23 and WALIMOF
Learn how to program the G23 command to turn off stored stroke limit checks and workpiece barriers on Fanuc, Siemens, and Mitsubishi CNC controllers safely.