What is the programming language of ABB, KUKA?


Industrial robots have become an integral part of modern manufacturing, performing precision assembly, material handling, welding, painting, palletizing, product inspection, and other tasks more efficiently and consistently than human workers. Major industrial robot manufacturers include ABB, Fanuc, KUKA, and Yaskawa Electric, with each brand featuring distinct programming languages and platforms. In this article we will introduce the programming language of ABB KUKA. 

Robots from ABB and KUKA use numbered, sequential programming languages developed by the manufacturers. Most manufacturers also allow robot programming via offline CAD/CAM software that simulate robot cells and generate code via a point-and-click interface.

Regardless of robot brand, most industrial robots are programmed using proprietary languages specific to the manufacturer. However, with the growth of the Internet of Things and demand for flexible automation, interest is increasing in platform-independent programming methods. Emerging options include utilizing open sourced languages like Python or web-based systems that communicate directly with the robot controller.

ABB Robot Programming and Languages

ABB robots can be programmed using a variety of languages and software including RAPID, RobotStudio, and various PLCs.

RAPID Overview

– RAPID is ABB’s primary proprietary programming language developed specifically for ABB robots. It is a powerful and high-level language that allows programmers to control ABB robots in detail.

– RAPID code can be written in any text editor but is usually developed using ABB’s RobotStudio IDE.

– RAPID programs can define complex robot movements and sequences, synchronize actions across multiple robots, integrate with external devices and PLCs, and customize robot behavior.

 RobotStudio IDE

RobotStudio is ABB’s primary integrated development environment (IDE) for robot programming.

 It provides a graphical interface to create, edit, debug, and simulate RAPID code.

 RobotStudio streamlines development and testing of RAPID programs for real-world deployment. Programmers can simulate and visualize robot behavior before loading code onto physical robots.

PLC Integration

In addition to RAPID, ABB robots can be programmed and controlled via industrial PLCs (programmable logic controllers).

Common PLC brands used with ABB include Allen-Bradley, Siemens, Omron, Beckhoff.

PLCs allow integrating robot actions with the overall manufacturing line. PLC code can initiate robot programs, synchronize actions, monitor safety, and more.

ABB robots have built-in interfacing capabilities for major PLC protocols like Ethernet/IP, PROFINET, and Modbus TCP.

So in summary, ABB offers a flexible set of programming options including the RAPID language and RobotStudio IDE optimized for its robots, plus integration with mainstream industrial PLCs. These languages provide extensive control over ABB robot operations and movement sequences.

KUKA Robot Programming

KUKA’s robot programming language is called KUKA Robot Language (KRL). KRL is a proprietary language that has been developed specifically for KUKA industrial robots. It includes motion and path commands as well as commands for sensors, variables, and control flow.

While KRL is optimized for KUKA robots, Java and C++ can also be used to program KUKA robots in certain applications. KUKA offers software packages that allow Java and C++ code to interface directly with the KUKA Robot Controller (KRC).

The KUKA.JAVA package provides an API for integrating Java code with KRL. This allows parts of a robot application to be programmed in Java while taking advantage of KRL’s motion and hardware control capabilities. KUKA.JAVA applications run directly on the KRC and can access sensor data, communicate with PLCs, and control robots.

Similarly, KUKA.C++ provides a C++ API for creating robot applications on the KRC. It allows C++ programs to run tasks like starting and stopping motions, reading inputs, and running KRL code. The C++ code can run alongside KRL programs, enabling a mix of C++ modules and KRL modules.

By supporting Java and C++ in addition to KRL, KUKA provides flexibility for programmers to use their preferred language based on the use case. For most industrial automation tasks, KRL remains the ideal option. But for certain segments like research and scientific applications, Java and C++ capabilities allow for advanced customization and control.

Teach Pendant Programming

Teach pendants provide a way to program industrial robots without using a textual programming language. A teach pendant is a handheld control unit that connects to the robot controller. It has buttons and a display screen that allows the operator to jog the robot arm, record points, and program motions.

To program using a teach pendant, the operator guides the robot by hand to the desired positions and orientations. These points are recorded into the controller memory. The robot can then play back this taught sequence of motions. Many teach pendants also allow inserting additional commands or logic like loops and conditionals.

Teach pendants are ideal for many common industrial robot applications where repeatability of a simple motion is needed. The ability to quickly re-teach points makes it easy to adapt to small changes in a process. However, for advanced applications that require a lot of customization or optimization, textual languages like Python provide more flexibility and power. Many robot programmers utilize a combination of teaching points as well as writing supplementary code.

Both ABB and KUKA support programming using a teach pendant, which is currently the most common programming method in robots.

Future of Robot Programming

The future of industrial robot programming is trending towards more intuitive, accessible methods that open up automation to a wider audience. Some key trends shaping the future of robot programming include:

AI Integration: Artificial intelligence and machine learning techniques are being integrated into industrial robots and controllers. This includes AI programming assistants that can automatically generate robot code from task demonstrations or design specifications. There are also capabilities like machine vision that enable robots to adapt their motions based on real-time sensor data. These AI and learning capabilities will make programming more high-level and abstracted from the complexities of controlling joint motors and coordinate transformations.

New Programming Paradigms: There is active research into new programming paradigms more suited for robotics, moving beyond using general purpose programming languages. These include graphical dataflow programming, teaching by demonstration, simulation-based programming, and model-based programming. The goal is to allow robot behavior to be specified more intuitively for non-programmers. Programming may also move towards a modular building block approach, where pre-built skills and functions can be combined instead of coding from scratch.


Robot programming is advancing beyond manual code creation towards more intuitive, simplified and accessible methods. This will enable faster deployment of automation and make robotics technology available to a broader range of industries and users. The complexity will be increasingly handled behind the scenes by AI and software abstractions.

To Top

Pin It on Pinterest

Share This