ABB robots

RoboDK supports all ABB robots that are programmed in RAPID language, including PRG and MOD files (IRC5, S4 and S4C robot controllers). This documentation is based on the IRC5 ABB robot controller.

RoboDK will automatically handle automatic robot program splitting for large programs depending on the post processor you select.

The following sections demonstrate typical operations using an ABB robot teach pendant, for example, to prepare a new robot program in RoboDK and transfer it to the robot.

Transfer a robot program

Follow these steps to load a program module (MOD file) from a USB drive to your ABB IRC5 robot controller.

1.Select ABBProgram editor

2.Select Modules, on top of the screen

3.Select FileLoad module (if you are starting a new project, it is not important the program pointer / PP is lost)

4.Select the MOD file from the USB disk

5.Select OK

Start a robot program

Follow these steps to start a specific robot program on your ABB IRC5 robot controller.

1.Change the controller switch to manual mode. The “Manual” message at the top menu bar should be displayed.

2.Select: ABBProgram editorDebugPP to routine

3.Select the program generated by RoboDK. Depending on the post processor you use, you may already have the Main routine in your module.

4.Hold the “dead man” switch on the teach pendant if you are operating in manual mode. The message Motors On as the status of the robot should be visible as well as the orange robot light should be turned on.

5.Select the play button on the teach pendant to start the program

Robots ABB - Image 1

Retrieving the TCP

The following steps allow creating or modifying robot tools (TCP, also known as tooldata in ABB robot programming):

1.Select ABBProgram datatooldata (double click)

2.It is possible to create or modify existing tool variables

3.Once the tool has been defined the X,Y,Z values of the TCP can be retrieved

Robots ABB - Image 2Robots ABB - Image 3

Transfer programs via FTP

Programs can be easily transferred via FTP from RoboDK for ABB robots:

1.Right click the robot in RoboDK

2.Select Connect to robot…

3.Enter the IP of the robot

4.Enter the remote FTP path.   
The complete path can be retrieved from the teach pendant or using FileZilla FTP Client.

5.Enter the FTP credentials (anonymous by default)

Once a RoboDK program is ready to be sent to the robot:

1.Right click a program in RoboDK

2.Select Send program to robot (Ctrl+F6)    
This will generate the program and attempt to transfer it to the robot controller. A window will pop up showing if the FTP transfer was successful or not.

Robots ABB - Image 4Robots ABB - Image 5

When programs are transferred through FTP on the fly they need to be loaded using RAPID programming on the robot side. The following example will run the main_RoboDK program from a module called MOD_Pick_and_place:

MODULE RoboDK_FTP_Run_Program

! Enter the path to a folder with write access rights. Example:

CONST string PATH_ROBODK := "/hd0a/robot-serial-num/HOME/RoboDK";

PERS string ftp_program_loaded := ";

PROC Main()



PROC FTP_Run_Program()

    var num module_id := -1;

    WHILE module_id <= 0 DO


        TPReadNum module_id, "Enter the program to run. For example: to run Prog2 in Module Prog2.mod type 2.";




PROC FTP_Run_Program_ID(num module_id)

    VAR string path_module := "";

    VAR string mod_to_unload;

    IF module_id <= 0 THEN



    path_module := PATH_ROBODK + "/Prog" + NumToStr(module_id, 0) + ".mod";

    IF StrLen(ftp_program_loaded) > 0 THEN

        mod_to_unload := ftp_program_loaded;

        ftp_program_loaded := "";

        UnLoad mod_to_unload; 


    Load path_module;

    ftp_program_loaded := path_module;

    TPWrite "Starting program: " + path_module;

    ! call the main program from the module sent and loaded

    ! %"main_RoboDK"%;

    ! call the numbered program (it should have the same effect)


    TPWrite "Program completed";



RoboDK driver for ABB

Robot drivers provide an alternative to Offline Programming. Robot drivers allow you to run a simulation directly on the robot (Online Programming). More information available in the Robot Drivers section.

A connection between RoboDK and the ABB robot can be established to move the robot automatically from a connected PC using RoboDK. This allows using RoboDK’s Run on robot option for online programming and debugging. The connection can be established through an Ethernet connection (TCP/IP) or a Serial connection (RS232).

Follow these steps to set up the RoboDK driver for ABB robots:

1.Connect the computer to the robot using an Ethernet cable (or RS232 connection if you are planning to use serial connection).

2.Load the RDK_DriverSocket.mod module to the robot (using a USB drive, FTP transfer or RobotStudio). It should be used as the main task and this module already contains the Main program call.
Alternatively, use the RDK_DriverSerial.mod module if you prefer using the RS232 connection.

Follow these steps on the ABB teach pendant to load the program from the teach pendant:

a.Select ABBProgram Editor

b.Select Tasks and Programs (at the top)

c.Select Show Modules (at the bottom)

d.Select FileLoad Module… (select YES to lose the program pointer)

e.Select the mod file, then select OK.

3.Run the Main program (you will find the Main program in RoboDK_Driver.mod).

CONST string SERVER_IP := "";

The default communication port for the provided program is 2000 but it can also be changed.