---
title: ABB SDK documentation
---

# ABB SDK documentation

## Get started

- [Get started with .NET](/abb/documentation/get-started-net) : Code your application in C# or VB with this 100% managed library, without dependencies and available on NuGet.org in the version and architecture of your choice (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...)
- [Connect to your robot](/abb/documentation/connect) : Configure the connection to an IRC5 or OmniCore controller, choose the Robot Web Services version, and use the synchronous or asynchronous API.
- [Test with a RobotStudio virtual controller](/abb/documentation/virtual-controller) : Run the SDK without a real robot. Create a virtual controller in ABB RobotStudio and enable Robot Web Services on it.
- [Licensing](/abb/documentation/license) : To be used, this SDK is subject to licensing. You have 30 days to test it for free.

## Robot Web Services

- [Robot Web Services overview](/abb/documentation/rws) : Robot Web Services (RWS) is the REST interface of ABB robot controllers. One API covers RWS 1.0 on IRC5 and RWS 2.0 on OmniCore.
- [Controller: identity, clock & backup](/abb/documentation/rws-controller) : Read controller identity and options, set the clock, the time zone and the network configuration, restart the controller, create and restore backups, read the safety state.
- [Control panel & operation mode](/abb/documentation/rws-panel) : Read and change the operation mode, the controller state (motors on/off), the speed ratio, and the collision detection state.
- [RAPID tasks & program execution](/abb/documentation/rws-rapid-tasks) : List RAPID tasks, start and stop program execution, follow the execution state, move the program pointer, load and unload modules.
- [RAPID variables & symbols](/abb/documentation/rws-rapid-symbols) : Read and write RAPID variables, persistents and constants, search symbols in the loaded program, and validate a value before writing it.
- [RAPID modules & program files](/abb/documentation/rws-rapid-modules) : Load, save and unload RAPID programs, read and edit module source text, manage breakpoints, read build errors and modify taught positions.
- [I/O signals, devices & networks](/abb/documentation/rws-io) : Read and write digital, analog and group signals, pulse or invert a signal, and browse the I/O devices and networks of the controller.
- [Motion system, position & kinematics](/abb/documentation/rws-motion) : Read the robot position as a robtarget or a jointtarget, jog the robot, compute forward and inverse kinematics, and manage mechanical units and calibration.
- [File system](/abb/documentation/rws-files) : Browse the controller file system, download and upload files, create, copy, rename and delete files and directories.
- [Event log](/abb/documentation/rws-elog) : Read the controller event log, filter by domain and language, get the arguments of a message, and clear the log.
- [Mastership](/abb/documentation/rws-mastership) : Mastership is the write lock of the controller. Request and release it explicitly, or let the SDK take it implicitly for a single call.
- [System information & energy](/abb/documentation/rws-system) : Read the RobotWare version, the installed options and products, the robot types of the system, and the energy consumption counters.

## How-To Articles

- [IRC5 or OmniCore: which RWS version](/abb/documentation/irc5-vs-omnicore) : RWS 1.0 runs on IRC5 with RobotWare 6, RWS 2.0 on OmniCore with RobotWare 7. Compare both, and see what changes in your code.
- [Read & write RAPID variables](/abb/documentation/read-write-rapid-variables) : Read and write a RAPID num, bool, string, robtarget or a custom record from C#, on IRC5 and on OmniCore.
- [Get the robot position](/abb/documentation/get-robot-position) : Read the current Cartesian position (robtarget) and the joint position (jointtarget) of an ABB robot, and convert between them.
- [Start & stop a RAPID program](/abb/documentation/start-stop-rapid-program) : Start, stop and reset a RAPID program remotely: motors on, program pointer, execution cycle, and how to check that it really started.
- [Read & write I/O signals](/abb/documentation/read-write-io-signals) : Read and write digital, analog and group I/O signals of an ABB controller, pulse a signal and simulate one during tests.
- [Backup & restore a controller](/abb/documentation/backup-restore-controller) : Create a full controller backup, download it to your PC, check it and restore it, entirely from your application.
- [Legal notice & acknowledgements](/abb/documentation/credits) : Legal notice and acknowledgements for the UnderAutomation ABB SDK.
