Introduction to Fanuc Parameters and PWE Safety Guide for CNC
Master Fanuc CNC parameter modification using Parameter Write Enable. Learn about PWE, parameter 8900#0, G10 L50, and resolving SW0100 alarms safely.
Introduction
An uncommanded axis movement during a production run can drive a tool turret violently into a mechanical clamp, chuck, or vise jaw, destroying the spindle and scrapping the workpiece. This type of hard collision is often the direct consequence of unauthorized or incorrect modifications to a CNC machine's core parameters. On Fanuc controllers, administrative protection is managed through the Parameter Write Enable (PWE) system. If this safety gateway is bypassed or left unlocked, accidental keystrokes or corrupted program code can silently rewrite critical system constants, rendering tailstock barriers and travel limits completely inactive.
Technical Summary
| Specification Field | Technical Value / Status |
|---|---|
| Command Code | G10 L50 / G10 L52 |
| Modal Group | Group 00 (Non-modal) |
| Brands | Fanuc |
| Critical Parameters | 8900#0 (PWE), 11502#2 (WPP) |
| Main Constraint | Manual modification requires PWE = 1, which triggers system-halting Alarm 100 or SW0100. |
Quick Read
- Setting parameter 8900#0 (PWE) to 1 permits manual parameter changes but immediately activates the axis-halting SW0100 alarm state.
- The CNC remains immobilized and automatic cycles cannot be initiated until PWE is toggled back to 0 and the control is reset.
- Enabling parameter 11502#2 (WPP) allows G-code programs to write parameters programmatically using G10 L50, bypassing the manual PWE block.
- The hardware protection signal KEYP overrides screen-based PWE control when parameter 3299#0 (PKY) is set to 1.
- Standard bit parameters reject any input of 9 or more digits by throwing a TOO MANY FIGURES alarm.
- Parameters changed via G10 that require a reboot will trigger a PW0000 alarm, forcing a complete system cycle before taking effect.
Basic Concepts
Fanuc’s Parameter Write Enable (PWE) system acts as a highly rigid administrative gateway that prevents unauthorized or accidental modifications to the CNC’s foundational logic. The practical programming effect is that operators must consciously navigate to the SETTING screen and deliberately toggle PWE to 1 before any core machine variables—such as stored stroke limits or servo tuning data—can be altered via the MDI panel. Fanuc distinguishes its parameter architecture from other control brands by aggressively treating the unlocked parameter state as an active, system-halting alarm condition. The moment PWE is enabled, the controller instantly throws an alarm code (like SW0100 or 100) that completely immobilizes the axes. This behavior ensures that the machine absolutely cannot be run in automatic mode while parameters are exposed to accidental keystrokes. If the control permitted axis movement while PWE was active, an accidental parameter overwrite could cause unexpected servo behavior, potentially driving the tool or turret violently into a vise jaw, a mechanical clamp, or the chuck (violating the Chuck and Tailstock Barrier parameters). By forcing the operator to return PWE to 0 and reset the control before the machine will move, Fanuc guarantees a secure operating environment.
Manual setting parameter 8900#0 (PWE) to 1 enables direct parameter input via the MDI panel on the SYSTEM (PARAM) screens. When performing automated setups, programmers can call G65 Custom Macro B macros to modify machine states. Advanced control configurations may pass parameters through G65 macro argument assignment, or trigger subprograms using M98 nested subprograms to partition parameter modifications.
Command Structure
Programmable parameter modification on Fanuc controllers utilizes specific G-code calls that direct the system to open and write to its internal memory. The G10 command initiates this sequence, defining the entry mode and destination addresses. By calling G10 L50, the programmer opens standard parameter input, while G10 L52 opens the high-speed data path. This method is crucial for automated setups where macro files must update stroke limits, coordinate systems, or tool offsets dynamically during execution.
Each data entry block inside the G10 sequence defines the target parameter number and the value to be assigned. The address N specifies the parameter number, while R designates the input value. Depending on the system setup, additional parameters govern whether these blocks can execute while the screen is locked, or if they require a system reboot to apply. Improper formatting in these blocks will halt the cycle immediately.
G10 L50;
N11502 R1;
G10 L52;
| Parameter | Description | Value Range / Actions |
|---|---|---|
| 8900#0 (PWE) | Parameter Write Enable mirror bit. | 0 (Disable) or 1 (Enable) |
| 3299#0 (PKY) | Determines how Parameter Write Enable is controlled. | 0 (directly on SETTING screen) or 1 (strictly by hardware signal KEYP) |
| 11502#2 (WPP) | Dictates programmable parameter input behavior. | 0 (disables G10 resetting for power-off parameters) or 1 (enables G10 resetting for power-off parameters) |
| 11502#4 (PSU) | Controls execution speed of programmable parameter input. | 0 (normal speed) or 1 (high speed) |
| 3117#2 (PWR) | Determines the key combination required to clear the PWE alarm state. | 0 (press + and CAN simultaneously) or 1 (clear via RESET key or external reset signal) |
Brand Applications
Fanuc
On Fanuc control systems, manual adjustments require the operator to modify PWE directly on the SETTING screen or control it via the KEYP hardware signal. The PWE mirror bit 8900#0 tracks this status. When manual PWE is enabled, the control generates a system alarm that halts automatic cycles. Safe programmable adjustments rely on parameter 11502#2 (WPP) and parameter 11502#4 (PSU) to dictate how G10 commands execute.
Brand Comparison
| Fanuc Series / Version | PWE Alarm Type | Advanced Security Features |
|---|---|---|
| Older Legacy Systems (Series 0 / Series 15) | Alarm 100 (PARAMETER WRITE ENABLE) | Standard manual PWE toggle and setting screen lock. |
| Series 16i / 18i / 21i | SW0100 (PARAMETER ENABLE SWITCH ON) | Introduces password protection via parameters 3210 (PSW) and 3211 (KEY) to lock out specific 9000-series macro programs. |
| Modern i-Series (30i / 31i / 32i-B) | SW0100 (PARAMETER ENABLE SWITCH ON) | Advanced multi-path diagnostic architecture with hardware memory protection signal integration. |
Technical Analysis
Comparing the architectural evolution across Fanuc controls reveals a steady shift toward multi-layered safety and partition protection. Older controls, such as the Series 0 and Series 15, relied strictly on the SETTING screen's PWE field, immediately throwing Alarm 100 to alert operators. While effective, this simple system lacked the granularity to protect proprietary macro files. The subsequent Series 16i, 18i, and 21i addressed this vulnerability by integrating parameters 3210 and 3211, enabling password protection. This addition allowed facilities to shield critical 9000-series tool changer macros from unauthorized modifications, even if PWE was enabled.
Modern controls, including the 30i, 31i, and 32i-B i-Series, build upon this foundation by displaying the SW0100 alarm while offering sophisticated diagnostic architecture. This allows parameter control to be tied directly to hardware signals like KEYP. System integration is further refined through parameter 11502, where programmers can dictate whether high-speed programmable parameter input (using PSU bit 4) or bypass functions (using WPP bit 2) are permitted. This level of control prevents macro files from silently executing destructive writes.
Program Examples
Fanuc Parameter Write Example
The following block demonstrates how to programmatically modify parameters on Fanuc controllers. This sequence uses G10 L50 to initiate writing and modifies parameter 11502#2 (WPP) to enable parameter resets.
%
O1002 (PARAMETER WRITE ENABLE MACRO);
G10 L50; (Open programmable parameter input)
N11502 R1; (Set Parameter 11502 bit 2 to 1)
G10 L52; (Open programmable high-speed parameter input)
M30; (End of program)
%
Dry Run Procedure
Before executing this parameter-writing program in active production, a dry run must be performed to prevent severe collisions and tool damage. The operator must first verify that no workpiece is clamped and the tool turret is fully retracted. Running the code in MDI or single-block mode allows the controller to parse the G10 syntax without axis movement.
During execution, the operator must observe the CNC screen for any alarm codes. If the block contains a typographical error, the control will immediately halt and display a FORMAT ERROR or TOO MANY FIGURES alarm, preventing subsequent blocks from executing. If the write executes successfully without alarms, the operator should navigate to the SYSTEM parameter screen to verify that the target bit was modified correctly before restoring the control to automatic mode.
Error Analysis
| Brand Label | Alarm Code | Trigger Condition | Operator Symptom | Root Cause / Fix |
|---|---|---|---|---|
| Fanuc | Alarm 100 / SW0100 | PWE setting toggled from 0 to 1. | Axes are completely immobilized and automatic mode is locked out. | The safety write lock is active. Toggle PWE back to 0 on the SETTING screen and press RESET (or + and CAN simultaneously depending on parameter 3117#2). |
| Fanuc | Alarm PW0000 | A parameter change is made that requires a system restart. | The parameter change is displayed but does not take effect in the CNC logic. | Restart required for initialization. Cycle the main CNC power completely OFF and then ON again. |
| Fanuc | FORMAT ERROR | Non-digits, invalid signs, or unsupported characters entered during parameter input. | The entry is rejected, and automatic or manual input halts immediately. | Typographical error in data block. Input only valid digits, signs, CAN, and INPUT characters. |
| Fanuc | TOO MANY FIGURES | Entering 9 or more digits for a standard bit-type parameter. | Input is rejected, and the parameter block fails to update. | Data length exceeds bit capacity. Enter an 8-bit or appropriate digit count only. |
| Fanuc | SV0414 | Digital servo system alarm detected on an axis. | The CNC triggers an emergency stop and axis movement is disabled. | Abnormal current, short circuit, or encoder communication fault. Inspect diagnostic parameters 200 and 204 to identify the sub-fault, check servo amplifier LED, and verify cable connections. |
| Fanuc | SV0400 | Servo motor overheat detected. | The axis halts and a thermal fault alarm is displayed. | Motor overload or cooling fan failure. Allow the motor to cool, check the duty cycle, and verify fan operation. |
| Fanuc | SV0416 | Disconnection alarm for the feedback loop. | The controller loses track of the axis position and halts axis motion. | Broken or disconnected feedback cable. Verify encoder cable integrity, clean connections, and check parameter settings. |
Application Note
Safe parameter management requires ensuring that only proven, meticulously audited macros are permitted to utilize the G10 data input function. When parameter 11502#2 (WPP) is set to 1, an active G-code program can silently rewrite core parameters—even those requiring a total power-off (triggering a PW0000 alarm)—without the operator ever unlocking the setting screen. Executing a G10 L50 block containing a typographical error triggers an immediate FORMAT ERROR or TOO MANY FIGURES alarm. Worse, if a corrupted program silently overrides critical coordinate system settings or servo loop gains in the background, the resulting uncommanded spatial shift guarantees a severe hard collision and a scrap part upon the next cycle start. This risk highlights the critical importance of restricting G10 usage to validated system macros.
Related Command Network
- G10: Used as the programmable data input command to write parameters directly from an active program.
- G11: Closes the programmable parameter input mode opened by G10 L50.
- M30: Executed at the end of the parameter-writing program to reset the controller and finalize the macro execution.
- M00: Program stop command used before parameter changes to allow the operator to verify settings manually.
Conclusion
Securing a CNC machine against accidental parameter changes requires balancing administrative safety locks with automation needs. Locking down Parameter Write Enable via parameter 3299#0 and hardware KEY switches prevents unauthorized manual changes, while restricting G10 modifications to proven macros ensures that programmatic edits do not lead to destructive collisions.
Frequently Asked Questions
How can I clear the SW0100 alarm state on a Fanuc CNC?
Press the standard RESET key or toggling the PWE switch back to 0 on the SETTING screen clears the SW0100 alarm. If parameter 3117#2 (PWR) is set to 0, you must press the "+" and "CAN" keys simultaneously to resolve the alarm state. Always verify that PWE is returned to 0 before attempting to run automatic cycles.
What is the risk of enabling parameter 11502#2 (WPP)?
Enabling the WPP bit allows G-code programs to execute G10 parameter writes without operator intervention. A single typo in a G10 block can write corrupted data or trigger a FORMAT ERROR, halting the machine. Restrict WPP enablement to temporary diagnostic setups or highly controlled, write-protected macros.
How do I resolve a FORMAT ERROR during G10 parameter input?
A FORMAT ERROR indicates that non-digits, incorrect signs, or unsupported characters were entered in the parameter block. Inspect the active G10 program, correct the syntax to ensure only valid numeric characters are present, and run the block in single-step mode to verify the correction.
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 - 2005)
- Ö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
Fanuc PMC Ladder Loading Baud Rate (PCLDB): Setup & Alarms
Configure the Fanuc PMC Ladder Loading Baud Rate using parameter 0060#1 (PCLDB) and G10 L50. Troubleshoot ER17 and ER18 alarms to prevent machine crashes.
Fanuc Auto Backup Parameter (10340): Setup and Troubleshooting
Learn to configure Fanuc automatic data backup using parameter 10340. Prevent SRAM data loss, monitor ATBK signals, and resolve PS0519 alarms on Fanuc CNCs.
Enabling Fanuc 3D Interference Check: Parameters and Setup
Configure Fanuc 3D Interference Check parameters. Learn how to set parameter 10930#0, troubleshoot Alarm PS0492, and prevent crashes with iHMI solid models.
Configuring Fanuc Custom Macro Enable Parameters (0932 & 8135)
Learn how to configure Fanuc custom macro enable parameters 0932 and 8135, expand common variables, and resolve Alarm 123 on CNC controller boards.