Configuring Fanuc DCS Work Zones for Robot Cell Safety

Jason IP11 min read
FanucRoboticsTutorial / How-to
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

Overview

When a Fanuc robot is installed before its perimeter guarding is completed, the integrator must still prevent the manipulator from reaching the physical envelope of the cell wall, light curtain, fence post, or other fixed structure. Relying on path accuracy alone is not acceptable because any single point of teach, a TCP offset change, or a payload mismatch can push an axis into the wall. The correct engineering approach on a Fanuc R-30iB / R-30iB Plus / R-30iB Mate Plus controller is to combine World Zones (software-only, non-safety envelopes used for motion planning and indication) with Dual Check Safety (DCS) (a safety-rated, hardware-redundant position and speed checking function that hard-stops the robot if a defined Cartesian or joint limit is violated).

This article documents the proper procedure for defining a restricted work envelope around a robot cell using DCS Cartesian Position Check, validating it with World Zones, and verifying the safety function through the controller's built-in stop test. It applies to cells where the robot must never physically reach the wall, regardless of program, override, or teach pendant manipulation.

Prerequisites

  • Fanuc R-30iB, R-30iB Plus, R-30iB Mate Plus, or R-30iB Mini Plus controller running V8.x or V9.x system software (DCS feature availability varies by option).
  • Ordered software option A05B-2600-J924 DCS Position/Speed Check Software (or equivalent for the controller variant). Confirm the option is loaded via MENU > 0 NEXT > 4 STATUS > Version ID and the DCS menu is visible at MENU > 0 NEXT > 6 DCS.
  • Robot serial number, model (e.g., M-20iA/20M, R-2000iC/210F, LR Mate 200iD), and current mastering data. Mastering must be performed and the $DMR_GRP[1].$MASTER_DONE flag must be TRUE before commissioning DCS limits.
  • Mechanical layout drawing of the cell, including wall material (polycarbonate, steel mesh, brick), wall thickness, and the closest stand-off distance from the robot base flange face to the inside face of the wall.
  • Risk assessment per ISO 10218-1:2011 and ISO 10218-2:2011 (industrial robot safety requirements) and ISO 13849-1:2023 for safety-related control system performance level (PL d minimum for stop functions, PL d/cat 3 typical for cell protection).
  • Pendant with the DCS password (default is set by the installer) and a written authorization to modify safety-rated parameters.

Safety Architecture: DCS vs. World Zones

These two functions look similar but must not be confused:

Feature World Zone DCS Cartesian Position Check
Purpose Software interlock / I/O trigger / motion suppression Safety-rated stop, redundant hardware check
Standard None (application dependent) ISO 10218-1, ISO 13849-1 PL d
Stop category produced Category 1 (programmed stop) or Category 2 (controlled stop) Category 0 or Category 1, depending on configuration
Detection redundancy Single channel, software only Dual channel: main CPU + safety MCU (checkered)
Tested by Programmer Mandatory validated test procedure
Used to satisfy ISO 10218-2 cell safeguards No Yes (when configured as a safety-rated restricted space)

The recommended engineering practice is to set up DCS Cartesian Position Check as the primary safety function and use a matching World Zone for the following reasons: the World Zone triggers a programmable output that can be used for indicator lamps, the World Zone fails visible to the operator in dry-run/test mode, and the World Zone gives a non-safety reference for the DCS commissioning step (so you can verify the envelope numerically before turning on the safety function).

Step 1: Define the Restricted Envelope

From the cell layout, calculate the envelope to be protected:

  1. Identify the inside face of each wall (X+, X-, Y+, Y-, Z+ directions relative to the robot base frame).
  2. Subtract a safety margin equal to the robot's worst-case stopping distance at 100 % override plus a minimum of 50 mm stand-off. The stop distance can be read after commissioning with the DCS stop test; until measured, a conservative value of 250 mm is typical for a 20 kg payload robot at full speed.
  3. Record the limit coordinates in the robot's World Frame (UF:0, UT:0). The robot's user frame can also be used but World Frame is preferred for cell safety because it is anchored to the base mounting surface and is not affected by frame offsets.

For a square cell at 2.5 m × 2.5 m around the base of a Fanuc M-20iA, a typical DCS cube might be set to X: ±1200 mm, Y: ±1200 mm, Z: +1500 mm (downward is negative), giving 50 mm of stand-off to a 2.5 m wall.

Step 2: Configure a Non-Safety Reference World Zone

On the teach pendant:

  1. Press MENU > SETUP > F1 [Type] > World Zone.
  2. Select an empty zone slot (1-8) and set the following:
Field Value
Method Cubic (or Box if using R-30iB Plus Box zone)
Frame 0 (World Frame)
X min / X max -1200.0 / 1200.0
Y min / Y max -1200.0 / 1200.0
Z min / Z max -1500.0 / 1500.0
Stop type DECEL (Category 1) or COARSE (for indicator only)
Output DO[] 200 (DO[200] = Cell Wall Proximity Warning)
  1. Enter the values and press F4 DONE. The zone is now active in the user's program context but not yet safety-rated.
  2. Run a known-good program with the robot in teach mode and verify the zone triggers by jogging the TCP to within 50 mm of the wall boundary. The pendant should display the World Zone violation message and DO[200] should energize.

Step 3: Enable DCS Cartesian Position Check

  1. Press MENU > 0 NEXT > 6 DCS. The DCS Top Menu appears.
  2. Select 3 Position/Speed Check.
  3. Choose an empty zone number (1-8) and select 1 Cartesian position check.
  4. Enter the same envelope as the World Zone. The DCS screen displays six numerical fields (X min, X max, Y min, Y max, Z min, Z max) keyed to the World Frame.
  5. Set the Stop Category to Category 1 (controlled stop, controlled by robot, then servo power removed) for the cell wall protection. Use Category 0 (immediate servo power removal) only when the application requires a hard stop and a risk assessment confirms no loss of gripper or clamping hazard.
  6. Set the Reset Method to Manual. The DCS zone will not auto-reset when the TCP exits the prohibited region; the operator must press the RESET key. This prevents the robot from re-entering the area on power-on without explicit acknowledgement.
  7. Set the Alarm Output to a DCS-specific DO, for example DO[201] mapped to PR[1] for an external stack light.

Step 4: Save and Cycle Power

DCS configuration is only committed to the safety MCU's non-volatile memory on a controlled save sequence. From the DCS menu:

  1. Press F4 [DONE].
  2. Press F5 [SAVE]. The pendant prompts for the DCS password.
  3. Enter the password and press ENTER. The screen shows Saving DCS data, please wait....
  4. When prompted, cycle E-Stop and then controller power. DCS data is verified at power-up; a checksum mismatch will trigger a SYST-035 alarm and the robot will not enable motion.

Step 5: Validate the Safety Function (Mandatory)

Per ISO 10218-2 §6.4, the safety-rated function must be tested at commissioning and re-tested at defined intervals (typically every 12 months or after any mechanical change). Use the following procedure for the cell wall DCS zone:

  1. Jog the robot in 100 % teach mode to a position 100 mm inside the prohibited region. The pendant should immediately display MOTN-023 DCS Cartesian position limit exceeded and the robot should enter a controlled stop.
  2. Verify the stop category by recording the time from violation to servo-off. Category 1 should be 200-800 ms depending on speed.
  3. Repeat the test from at least four approach directions: +X, -X, +Y, -Y. Z+ and Z- are typically bounded by joint limits but should be tested if the wall has overhead structure.
  4. Confirm the violation occurs before any axis reaches the physical wall. Use a dial indicator or laser distance sensor on the TCP and a witness mark on the wall to confirm physical stand-off remains after every test.
  5. Document the test results in the safety validation report, signed by the integrator and the end-user safety officer. Required by ISO 13849-1 §4.7 validation.
Critical: Disabling, bypassing, or changing the DCS parameters without the written authorization of the safety officer is a violation of ISO 10218-1 §6.2. The DCS password must be controlled per a documented change-management procedure, not shared informally between shifts.

Step 6: Programmatic Use of World Zones Inside a Job

Even with the safety-rated DCS zone in place, you can add a World Zone to the TP program to give operators a visual/audible cue when nearing the wall. The following KAREL/TP snippet disables a software zone during a home routine and re-enables it on entry to the production cycle:

!TP program CELL_SETUP
!Disable World Zone 1 during homing
WZ_DISABLE[1] ;
!Move to home position
J PR[10:HOME] 100% FINE ;
!Re-enable for production
WZ_ENABLE[1] ;
!Production routine
CALL PROG_1 ;

Note that WZ_DISABLE affects only the World Zone; the DCS Cartesian Position Check remains active in all modes. This asymmetric behavior is intentional and is the reason DCS is the only acceptable primary protection for the cell wall.

Step 7: Diagnostic Monitoring

The following signals are useful on the HMI or in a condition monitor:

Signal Meaning
DO[200] World Zone 1 active (proximity warning)
DO[201] DCS Cartesian limit tripped
$DCS_CART[1].$ACTIVE Boolean, TRUE when zone is monitoring
$DCS_CART[1].$TRIPPED Boolean, TRUE on stop event
$DCS_CART[1].$STOPPED_TIME Real, time since last trip in seconds

Map these to your HMI tags (Pro-face, PanelView, WinCC, or FactoryTalk View) and trend the trip count. A rising trend indicates either a poor path program or a creeping mechanical issue and should trigger a maintenance review.

Troubleshooting Matrix

Symptom Likely Cause Action
SYST-035 at power-up DCS data checksum failure Reload saved DCS file from PC or CF card; verify with F5 SAVE again
MOTN-023 trips even when TCP is well inside the cell Wrong frame selected (UF offset) or wrong sign on a limit Confirm frame is 0 and limit sign matches the World Frame axes
World Zone triggers but DCS does not DCS not enabled, or Cartesian zone not assigned to a stop category Open DCS menu, verify zone is set to Enable and Stop Category is not Off
Robot overshoots DCS zone by 5-10 mm at 100 % override Stop distance margin too small Reduce envelope by an additional 30-50 mm, or use Category 0 stop
DCS alarm clears itself after violation Reset Method set to Auto Change to Manual and re-save
Cannot save DCS Wrong password or DCS already in use by another zone Verify password with site safety officer; verify zone slot is not in use

Maintenance and Periodic Test

Schedule a re-test of the DCS Cartesian Position Check at intervals defined by the application risk assessment, with a maximum of 12 months. After any of the following events, re-validate:

  • Replacement of any motor, reducer, or absolute encoder.
  • Mechanical change to the robot mounting plate, end-of-arm tool, or workpiece fixture.
  • Update to controller software (V8 → V9, etc.).
  • Any collision event, even one recovered by DCS.

Maintain a logbook of test results, including date, tester name, robot position at the time of the trip, the measured physical stand-off, and the time from trip to servo-off. The logbook is the audit trail required by ISO 13849-1.

Interaction with Other Cell Safety

DCS work zones do not replace other safeguards required by ISO 10218-2:

  • Safety-rated reduced speed via DCS Joint Speed Check for teach mode at 250 mm/s.
  • Safety-rated stop via E-Stop circuit and DCS Stop Position, redundant to the E-Stop hardware.
  • Enabling device on the teach pendant.
  • Area scanners for presence detection when an operator enters.
  • Lockable main disconnect for maintenance lockout/tagout.

Combine the DCS Cartesian Position Check with these functions in a layered safety design. The cell wall DCS zone is the last line of defense against a programming or mechanical error; it is not a substitute for physical guarding and presence-sensing devices.

Do I really need DCS if I already configured a World Zone on my Fanuc robot?

Yes. A World Zone is a single-channel software interlock with no safety integrity rating. It can be bypassed by a bad teach point, a payload offset, or a programming error. Only a DCS Cartesian Position Check provides the dual-channel, safety-rated stop that ISO 10218-2 requires when the cell safeguard is a software-defined envelope.

How do I confirm DCS is loaded on my R-30iB Plus controller?

Press MENU > 0 NEXT > 6 DCS. If the menu opens, the option is installed. If you see NOT INSTALLED, the controller does not have the A05B-2600-J924 position/speed check option, and you must contact Fanuc to order it before commissioning the safety function.

What stop distance margin should I use between the DCS limit and the physical wall?

Start with the worst-case stop distance measured from a 100 % override approach plus 50 mm of additional stand-off. Measure the actual stop distance with the DCS test procedure and record the value in the validation report. If the cell is tight on floor space, reduce the production path speed near the boundary rather than shrinking the safety margin below 50 mm.

Can the operator jog the robot past the DCS Cartesian limit in teach mode?

No. DCS limits are enforced in all modes: teach, auto, remote, and dry-run. The only way to move the TCP past the limit is to disable the zone in the DCS menu, which requires the DCS password and is recorded in the safety log. This is the intended behavior for a safety-rated function.

How often must I re-validate the DCS work zone?

At least once every 12 months and after any of the following: motor or encoder replacement, mechanical change to the robot base, end-of-arm tooling, fixture, controller software update, or a collision event. Record each re-validation in the safety logbook with the tester's signature, the measured stand-off, and the stop time.

Back to blog