Robotics in Manufacturing

Mastering & calibration

Setting the Reference Position on FANUC R-30iB

For a technician defining a fixed, safe checkpoint on the FANUC REF POSN screen that outputs a digital signal when the robot reaches it, used to confirm mastering and to signal a safe home to peripheral devices. A reference position is a repeatable pose, usually distant from the machine tool and peripheral equipment, and up to 10 can be defined on the R-30iB. Settings live in SYSVARS.SV and each position can drive its own output plus an optional HOME behavior.

Basic~20 min19 steps

Confirm current mastering is accurate

A reference position records joint angles, so it is only as trustworthy as the mastering behind them. Verify mastering against a known program point first, since a recorded reference captures whatever mastering state exists at that moment.

Caution: If mastering is suspect after a collision or a battery loss, correct that first. Recording a reference position from bad mastering just stores the error.

Choose a safe, repeatable pose

Pick a fixed position that is frequently useful and clearly away from the operating area of the machine tool and peripheral equipment. FANUC describes this as the pounce or perch position, the safe pose the robot rests at between cycles, and it should be easy to confirm visually. Choosing a pose that is fully retracted or marked on the cell makes the later visual check trivial for operators.

Open the reference position screen

Press MENU, select 6 SETUP, press F1 [TYPE], then select Ref Position. The REF POSN selection screen lists positions 1 through 10 with columns for No., Enb/Dsbl, @Pos, and Comment.

Open the detail screen for one position

Move the cursor to the number you want and press F3, DETAIL. The detail screen shows Ref.Position Number, Comment, Enable/Disable, Is a valid HOME, Signal definition, and the per-axis fields J1 through J6 each with a plus or minus tolerance.

Enter a comment

Place the cursor on the Comment line and press ENTER, then choose whether to enter it by words, alphabetic characters, or katakana. Press the matching function key, type the label, and press ENTER. A clear comment like a station or perch name helps operators later.

Assign the output signal

On the Signal definition line, specify the digital output that turns on when the robot is at this reference position. Toggle the type between DO and RO with the function keys and enter the port number, for example RO[1].

Teach the pose by recording it

Jog the robot to the chosen pose, then place the cursor on the J1 to J9 setting fields, hold SHIFT, and press F5, RECORD. Jog in T1 low speed with the deadman held and the cell clear of other people. The current joint angles are captured into the left column of each axis field.

Or enter joint values numerically

To set values directly, place the cursor on J1 to J9 and type the coordinates in the left column and the allowable error in the right column. A value entered for an unused axis is ignored, so only the real robot axes matter.

Set the allowable error window

The right-hand plus or minus column on each axis defines how close the robot must be for the position to count as reached. A typical entry looks like J1 at 129.000 with a tolerance of 2.000, and each axis carries its own band. Wider bands are more forgiving; tighter bands make the check stricter.

Enable the reference position

Press PREV to return to the selection screen, put the cursor on the Enb/Dsbl field for this position, and press the ENABLE function key. If a position is disabled, its output signal is not produced even when the robot is standing on the pose.

Decide whether it is a valid HOME

Set Is a valid HOME to ENABLE if this pose should count as the robot's home for the At home check on the Prog Select screen. When At home check is on, at least one reference position in group 1 must have Is a valid HOME set to ENABLE.

Understand the HOME_IO behavior

When Is a valid HOME is ENABLE, the HOME_IO program is started once the robot reaches that position. If you do not use HOME_IO, delete all of its contents rather than leaving stray logic.

Caution: HOME_IO is configured to refuse a forced termination request so it always runs to the end. Keep its logic short and safe so it cannot trap a run.

Know the peripheral output signals

When the robot sits on reference position 1, the ATPERCH signal on UO[7] of the peripheral device I/O turns on. For any position n, the Refpos1[n] cell interface output turns on when REF POS is enabled and the robot is at that position of operation group 1. If a reference position is invalidated, its DO signal is not output at all, which is a quick way to see whether the position is even active.

Build a return-to-reference program

There is no built-in utility that drives the robot to a reference position, so write a short program that specifies the return path and the order in which axes return. It is convenient to store this as a macro instruction so operators can trigger a safe return consistently.

Caution: Program the return path so the robot clears fixtures and peripherals on the way in. A blind joint move to the pose can sweep through the machine tool.

Test the reference check

Jog away, then move back onto the pose at reduced speed and watch the assigned output and the @Pos or ATPERCH indication turn on. Compare the live joint readout against the recorded values to confirm they land inside the tolerance band.

What can go wrong: the signal never turns on

If the output stays off while the robot looks parked on the pose, the joints are likely just outside the plus or minus window on one axis, or the position is set to DISABLE. Check each axis readout against its recorded value and tolerance, and confirm the position is enabled on the selection screen.

What can go wrong: two positions share a signal

Assigning the same signal in Signal definition on two or more reference positions produces unpredictable results, and the shared signal may not output at all even when the robot is on the pose. Give each reference position its own dedicated output port.

What can go wrong: At home check blocks a start

If At home check is enabled and no valid HOME reference position reports the robot as home, the controller can suppress a program start. Confirm at least one group 1 position has Is a valid HOME set to ENABLE and that the robot is actually inside that position's window before starting.

What can go wrong: pose reads right but drifted

A reference position stores joint angles, so if mastering later shifts, the robot can satisfy the recorded angles while the physical pose has moved. Treat a reference check as a quick sanity check and fall back to full mastering verification if you suspect drift.

Caution: Do not rely on a reference position alone after a collision or a lost battery. Re-verify mastering before trusting programmed points.

Common questions

How long does this procedure take?
Setting the Reference Position on FANUC R-30iB is rated Basic and takes about 20 minutes across 19 steps.
What tools do I need?
You will need Teach pendant.
What should I do before starting?
Robot is currently correctly mastered. A free digital output (DO or RO) is available if you want a position signal. A safe, repeatable pose is identified that clears the machine tool and peripheral equipment.
What is the first step?
Confirm current mastering is accurate. A reference position records joint angles, so it is only as trustworthy as the mastering behind them. Verify mastering against a known program point first, since a recorded reference captures whatever mastering state exists at that moment.

Attribution

Procedure steps on this page are checked against the site's editorial safety rules and manufacturer-manual sourcing standards.

Last reviewed: 2026-07-21.

Edited by Mike Ramsey / Reliable Media.Editorial process