Skip to main contentדלגו לתוכן הראשי
ABB robot RAPID programming
ABB

ABB RAPID Programming: Your First Module

Xpert Robotics Engineering Team8 min read

A practical introduction to ABB RAPID — MODULE structure, PROC and FUNC, MoveJ/MoveL/MoveC, data types, and a complete pick-and-place routine.

RAPID is ABB's robot programming language, and it is more expressive than FANUC TP. Where TP is a line-numbered instruction list, RAPID is a structured language with modules, procedures, functions, typed variables, and control flow. If you have programmed in Pascal or C, RAPID will feel immediately familiar.

RAPID Program Structure

A RAPID program consists of MODULEs. Each module contains data declarations (VAR, CONST, PERS) and routines (PROC, FUNC, TRAP). The entry point is always a PROC named main.

rapid
MODULE MainModule
  ! Persistent variable — survives power cycle
  PERS num partCount := 0;

  PROC main()
    ! Main entry point
    MoveAbsJ homePos, v100, fine, tool0;
    WHILE TRUE DO
      PickPart;
      PlacePart;
      partCount := partCount + 1;
    ENDWHILE
  ENDPROC

  PROC PickPart()
    MoveJ approachPick, v500, z50, gripper;
    MoveL pickPos, v100, fine, gripper;
    SetDO DO_GripperClose, 1;
    WaitTime 0.5;
    MoveL approachPick, v200, z50, gripper;
  ENDPROC

  PROC PlacePart()
    MoveJ approachPlace, v500, z50, gripper;
    MoveL placePos, v100, fine, gripper;
    SetDO DO_GripperClose, 0;
    WaitTime 0.3;
    MoveL approachPlace, v200, z50, gripper;
  ENDPROC
ENDMODULE

Motion Instructions

The three core motion types:

  • MoveJ — joint motion, fastest, non-linear path. Use for repositioning between operations
  • MoveL — linear TCP motion. Use for approach and departure moves near fixtures
  • MoveC — circular arc through a midpoint. Use for arc welding, dispensing, sealing

Zone Data: z0, z5, z50, fine

Zone data controls path blending — how closely the TCP passes through a point before moving toward the next. fine means the robot stops exactly at the point. z50 means the robot starts moving toward the next point when the TCP is within 50mm of this point. Use fine for picks, places, and contact. Use z50 or larger for intermediate waypoints.

NOTE

RAPID is compiled and checked by RobotStudio or the FlexPendant editor. Syntax errors are caught before execution. Always compile and simulate in RobotStudio before uploading to a real robot.

ABB RAPID programmingABB robot programmingRAPID moduleABB FlexPendantindustrial robot programming Israel