FANUC Offline Programming with ROBOGUIDE: A Beginner's Guide
FANUC offline programming with ROBOGUIDE explained — how the simulation works, building a cell, creating and testing TP programs offline, and downloading.
FANUC offline programming lets you build, test, and refine a robot program entirely on a PC — before touching the real robot. This article explains how that workflow operates in ROBOGUIDE, FANUC's simulation and offline programming environment: what the software is, how to construct a virtual workcell, how to write and simulate TP programs, how to validate reach and cycle time, and how to download a verified program to the physical controller.
If you are already familiar with teach-pendant programming, offline programming is the logical next step. If you are new to FANUC robots altogether, it is worth reading the FANUC robot programming tutorial first — the terminology and instruction set used below assumes that foundation. For a wider view covering all major brands and methods, see the industrial robot programming complete guide.
What Is Offline Programming (OLP) and Why Use It?
Offline programming is any method of generating a robot program without using the robot itself as the primary teaching tool. The alternative — jogging the robot to each point on the teach pendant — requires the cell to be idle, the physical parts and fixtures to be present, and a technician physically standing at the pendant for hours or days.
OLP removes every one of those constraints:
- Production continues. The real robot keeps running its current program while you build the next one on a PC.
- Faster commissioning. Studies consistently show 40–70% reduction in physical commissioning time when programs are developed and debugged offline first.
- Lower risk. Collision checking and reach validation happen in simulation, not with a €150,000 robot at speed.
- Better cycle time. You can experiment freely with motion types, zone sizes, and path strategies without stopping production to test each variation.
- Documentation. The simulation model becomes living documentation of the cell geometry, which supports future modifications and safety reviews.
The tradeoff is an accuracy gap: simulation positions are only as accurate as the CAD models and measurement data you feed into it. Calibration — aligning the simulation to the real cell — is required before a downloaded program runs as designed. That step is covered in its own section below.
What Is ROBOGUIDE?
ROBOGUIDE is FANUC's proprietary offline programming and simulation software. It runs on Windows and contains a virtual robot controller — a full software replica of the R-30iB or R-30iB Plus controller that the physical robot uses. This is not an approximation: the same controller firmware runs inside ROBOGUIDE, which means programs generated in simulation execute the same motion instructions, use the same system variables, and honour the same payload and speed limits as the real robot.
The key capabilities ROBOGUIDE provides:
| Capability | What It Does |
|---|---|
| Virtual controller | Executes real FANUC controller firmware in a PC environment |
| 3D workcell builder | Import and position robot, tooling, parts, and fixtures from CAD |
| TP program editor | Write and edit TP programs with syntax checking |
| Motion simulation | Animate the robot through the program at true speed |
| Cycle-time analysis | Report accurate cycle time from simulated motions |
| Collision detection | Flag physical overlaps between robot links, tooling, and fixtures |
| Reach checking | Identify points that fall outside the robot's work envelope |
| I/O simulation | Simulate digital and analog I/O signals for logic testing |
| Program download | Transfer verified programs directly to the real controller |
ROBOGUIDE is a licensed product sold by FANUC. A single licence covers the core software; application-specific process packages (see the final section) are additional modules.
Building a Workcell in ROBOGUIDE
A ROBOGUIDE workcell is a virtual replica of the physical cell. The closer it matches reality, the smaller the accuracy gap at download time. Building it involves four steps.
Step 1 — Select the Robot Model
When you create a new workcell project, ROBOGUIDE prompts you to select a robot model and controller version. Choose the exact model deployed in your facility — payload class, reach variant, and mounting orientation (floor, ceiling, wall, angle). The wrong model produces reach and cycle-time data that does not transfer.
Step 2 — Import Tooling (End-Effector)
The tool mounted on J6 (the robot's wrist flange) defines the Tool Center Point (TCP) — the reference point around which all programmed positions are calculated. Import a CAD model of your gripper, welding torch, or other end-effector, then set the TCP offset (X, Y, Z distance and orientation from the flange face) in the tool frame definition. Accurate TCP data is critical: a 5 mm TCP error in simulation translates directly to a 5 mm position error on the real robot.
Step 3 — Import Parts and Fixtures
Add CAD geometry for:
- Parts — the workpieces the robot handles or processes
- Fixtures — jigs, conveyors, welding positioners, or any equipment the robot works around
- Safety infrastructure — fencing, light curtains, pedestals (for collision geometry, not for programming logic)
Most CAD formats are supported (STEP, IGES, STL). Position everything to match the real installation dimensions. If you have a site survey with measured coordinates, enter them directly — this is your primary investment in accuracy.
Step 4 — Define User Frames
Set up the same User Frames (UF) that exist on the real robot. A User Frame is a coordinate system anchored to a fixture or work surface; programming positions in a User Frame makes programs portable — if a fixture moves, you update one frame offset rather than every position in the program. Mirror the physical controller's frame assignments exactly.
Creating TP Programs Offline
With the cell built, you write programs using ROBOGUIDE's TP editor. The instruction set is identical to what you would type on a physical teach pendant.
Point Teaching in Simulation
Instead of jogging the robot in the real cell, you position the virtual robot one of three ways:
- Drag the TCP in the 3D viewport to the approximate position, then fine-tune numerically in the position register editor.
- Enter Cartesian coordinates directly — X, Y, Z, W, P, R — if you can calculate or measure the target position from your CAD data.
- Snap to geometry — click a face or edge on the imported CAD and ROBOGUIDE calculates the TCP position and orientation for that surface.
Each taught point is recorded as a Cartesian position (or joint angles if you choose Joint representation) exactly as a pendant-taught position would be.
Motion Instructions
All standard FANUC motion types are available:
J P[n] speed% CNT zone— Joint motion, fastest path, no guaranteed Cartesian trajectoryL P[n] mm/sec CNT zone— Linear motion, straight-line TCP path, required for welding or dispensingC P[n] P[n] mm/sec CNT zone— Circular motion, arc through three points
Termination type matters as much as motion type. FINE brings the robot to a complete stop at the point; CNT 100 blends through the point at maximum speed. Use FINE only where the robot must stop (gripping, placing, waiting for I/O), and CNT everywhere else to protect cycle time.
Logic and I/O Instructions
A TP program is not only motion. Common logic instructions you will use offline:
WAIT DI[1]=ON ; Wait for part-present sensor
DO[2]=ON ; Activate gripper
WAIT .50(sec) ; Dwell for gripper close time
IF R[1]>10,JMP LBL[5] ; Conditional jump using register
CALL PLACE_PART ; Call a subprogram
In ROBOGUIDE, DI/DO states can be toggled manually in the I/O panel during simulation, or you can configure a simple I/O sequence file that auto-fires signals at predefined simulation time steps — useful for simulating a conveyor handshake without a real PLC.
Simulating and Analyzing Cycle Time
Once the program is written, press Run in ROBOGUIDE's simulation panel. The virtual robot executes the program at the speeds you specified. Watch the 3D viewport and monitor these outputs:
- Cycle time — ROBOGUIDE reports the total program execution time, broken down per motion instruction. This is your pre-commissioning cycle time baseline.
- Motion trace — a ghost trail showing the TCP path through space, useful for verifying the robot takes the intended route between points.
- Speed profile — acceleration and deceleration curves for each move; identifies segments where the robot is over-decelerating due to nearby obstacles or tight approach angles.
Optimizing cycle time offline is one of ROBOGUIDE's highest-value features. Adjust termination zones (CNT values), increase joint speeds where clearance allows, reorder pick sequences, or experiment with different approach vectors — all without stopping production. A 10% cycle-time improvement found in simulation directly translates to throughput gain on the real robot.
Collision and Reach Checking
Collision Detection
ROBOGUIDE continuously checks for geometric interference between:
- Robot links and the environment (fixtures, fencing, conveyors)
- The end-effector and any surrounding geometry
- The part being carried and surrounding geometry
When a collision is detected during simulation, the software highlights the colliding bodies in red and pauses or stops the simulation. You then modify approach paths, add orient instructions to tuck the tool differently, or adjust the fixture position in the cell model.
Collision detection is only as good as the geometry. If a cable management bracket or a reinforcing rib is not modelled, ROBOGUIDE will not detect the collision. When importing CAD, prioritize accuracy in areas near programmed paths.
Reach Checking
The reach envelope tool tests whether a list of positions is reachable given the robot model's mechanical limits. A position outside the work envelope, in a singularity region, or requiring a joint to exceed its axis limit will flag as unreachable. Address these by:
- Moving the robot base (if the installation is not yet final)
- Changing the approach angle to the same target point
- Using a longer or shorter TCP (tool extension)
- Selecting a robot with greater reach
The 6-axis robot explained article covers work envelopes and singularities in depth — useful background for understanding why certain positions fail reach checks.
Calibration and Downloading to the Real Robot
The Accuracy Gap
Simulation positions are calculated from CAD data. The real robot's controller tracks positions in its own kinematic frame, which references the actual physical location of the robot base relative to every fixture in the cell. Unless those match perfectly — and they never do perfectly — downloaded programs will have position errors.
Typical sources of the accuracy gap:
| Source | Typical Error |
|---|---|
| Robot base position measurement | ±2–5 mm |
| Fixture position measurement | ±1–3 mm |
| TCP calibration accuracy | ±0.5–2 mm |
| Part dimensional tolerance | ±0.1–1 mm |
For a pick-and-place application with ±5 mm gripping tolerance, downloading and running with minor manual touchup may be acceptable. For seam welding, dispensing, or precision assembly, a full cell calibration routine is required.
Calibration Procedure
- Calibrate the TCP on the real robot using the four-point or six-point method at the teach pendant. Enter the resulting TCP values into the matching tool frame in ROBOGUIDE.
- Set User Frames on the real robot by jogging to three or more known reference points on each fixture (holes, tooling balls, or corner pins with known CAD coordinates). Record the resulting UF values and enter them in ROBOGUIDE.
- Run a verification point set — a short TP program that moves to a series of known reference locations at low speed. Compare the robot's reported Cartesian position at each point against the CAD coordinates. If offsets are consistent, apply a frame correction. If offsets scatter, the CAD geometry or the TCP needs further refinement.
- Touchup critical points — high-precision positions (weld starts, gripper close positions, part release) may still need manual touchup via the pendant after the frame correction. This is normal and expected; offline programming eliminates the bulk of the teaching work, not every last millimetre.
Downloading the Program
With calibration complete, transfer the program from ROBOGUIDE to the real controller via:
- Ethernet direct link — connect PC to controller LAN port, use ROBOGUIDE's file transfer to push TP files directly to the controller's memory
- USB drive — export the program from ROBOGUIDE as a
.TPbinary or.LSASCII file, copy to a USB drive, load via the pendant file manager - FTP — if the controller is on the facility network, FTP push from ROBOGUIDE works identically to the Ethernet direct link
Always perform the first run of a downloaded program at 10% override speed with the teach pendant held and the E-stop within reach. Step through the program line by line if the cycle involves tight clearances or first-time paths.
ROBOGUIDE Process Packages
The core ROBOGUIDE licence covers general-purpose motion simulation. Application-specific capabilities are provided through process packages that add domain tools on top of the base workcell:
| Package | Application | Key Added Features |
|---|---|---|
| HandlingPRO | Material handling, palletizing, machine tending | Pallet pattern wizard, conveyor tracking setup, vision guidance simulation |
| WeldPRO | Arc and spot welding | Weld schedule editor, seam tracking simulation, torch angle checking, weld bead visualization |
| PaintPRO | Spray painting and coating | Paint thickness simulation, coverage analysis, gun parameter editor |
| DispensePRO | Adhesive and sealant dispensing | Bead width and volume simulation, dispense schedule editor |
| MOTN (Motion) | General motion analysis | Advanced path optimization, interference zone editor |
For a welding application, WeldPRO extends the workflow covered in the robot welding programming guide with simulation-side weld schedule management and bead analysis — you can evaluate penetration patterns from different torch angles before cutting a single test piece.
The Offline Programming Workflow: End to End
The practical value of ROBOGUIDE is the workflow it enables, not any single feature in isolation. Here is the full cycle:
- Receive cell design — obtain CAD for the robot, tooling, fixtures, and parts.
- Build the virtual cell — import models, position everything, set tool and user frames.
- Develop the program — teach points from CAD, write motion and logic instructions, call subprograms.
- Simulate and optimize — run the simulation, check cycle time, iterate on path strategy and speeds.
- Validate safety — run collision detection and reach checking; resolve all flagged issues.
- Export for review — share simulation video or cycle-time report with the project team before the robot ships.
- Commission the real cell — calibrate TCP and user frames, download the program, run at reduced speed, touchup as needed.
- Update the simulation — after touchup, feed the corrected positions back into ROBOGUIDE so the simulation remains the master record.
This loop — develop offline, validate offline, calibrate at commissioning, update the simulation — is how high-throughput facilities treat robot programming as an engineering discipline rather than a craft skill performed at the pendant.
Frequently Asked Questions
What is FANUC offline programming?
FANUC offline programming is the process of creating and testing a FANUC robot program on a PC, using simulation software, without using the physical robot. The program is then downloaded to the real controller after cell-level calibration. It eliminates teach-pendant-only programming as the sole method and allows programs to be developed while the robot continues running its current production task.
What is ROBOGUIDE?
ROBOGUIDE is FANUC's official simulation and offline programming software. It runs the same controller firmware as a physical FANUC robot controller, making it a true virtual robot rather than a kinematic approximation. You can write, run, and debug TP programs, check cycle times, detect collisions, and then download the finished program to the real robot.
Can you program a FANUC robot without the robot?
Yes. ROBOGUIDE runs a full virtual controller, so every TP instruction, register operation, and I/O condition can be written, tested, and debugged entirely offline. Physical teach-pendant time is reduced to calibration touchup after download — typically a fraction of the time required for pure pendant programming.
How accurate is offline programming?
Position accuracy from offline programming depends on how well the simulation geometry matches the real cell. With careful CAD-based cell setup and proper TCP and user-frame calibration, most offline programs run within 1–5 mm of target on a new cell. Applications with tight tolerances (welding, precision assembly) require a structured calibration routine after download. General material-handling applications often need only minor touchup. The accuracy of the virtual controller's motion calculations is exact — the gap is entirely in the geometry alignment between simulation and reality.


