ABB SDKSteuern Sie ABB-Roboter aus Ihrer eigenen Software
Erstellen Sie schnell .NET und Python Anwendungen, die mit Ihrem ABB Industrieroboter kommunizieren, auf IRC5 wie auf OmniCore. Eine fertige Softwarebibliothek: Ihr PC spricht über das Netzwerkkabel mit dem Roboter.
Ab 800 € / $1000, einmalige Zahlung
Matlab
1// dotnet add package UnderAutomation.ABB2using UnderAutomation.ABB;34var robot = new AbbController();5robot.Connect("192.168.0.1");67var target = robot.Rws.MotionSystem.GetRobTarget("ROB_1");8robot.Rws.Rapid.SetSymbolValue("RAPID/T_ROB1/user/reg1", "5");9var state = robot.Rws.Panel.GetControllerState();
Was Sie bekommen
Plug & Play
Verbinden Sie Ihren Roboter in nur wenigen Minuten. Kein zu installierender Lizenzmanager, kein USB-Stick. Verweisen Sie nur auf die Bibliothek.
Keine Plugins für den Roboter zu installieren
Verwendung von Netzwerkprotokollen, die vom Robotercontroller als Standard bereitgestellt werden.
30-tägige Testversion
Versuchen Sie es 30 Tage lang kostenlos, keine Verpflichtung, keine Registrierung erforderlich
Einmal bezahlen, für immer benutzen
Unbefristete Lizenz, kein Abonnement erforderlich, unabhängig von der Anzahl der Roboter, Entwickler oder weiterverteilten Software
Funktionen des ABB SDK: Robot Web Services für IRC5 und OmniCore
Jede Funktion hat ein Codebeispiel. Klicken Sie darauf, um den ganzen Code zu sehen.
RAPID Variablen und Programme
RAPID Variablen und Persistents lesen und schreiben, Tasks starten und stoppen, den Programmzeiger setzen, Module laden und speichern.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// Read a RAPID variablevar counter = robot.Rws.Rapid.GetSymbolValue("RAPID/T_ROB1/MainModule/nCounter");Console.WriteLine(counter.Value);// Write it backrobot.Rws.Mastership.Request();robot.Rws.Rapid.SetSymbolValue("RAPID/T_ROB1/MainModule/nCounter", "42");robot.Rws.Mastership.Release();// Start the programrobot.Rws.Rapid.ResetProgramPointer();robot.Rws.Rapid.Start();}}
Eingänge / Ausgänge
Digitale, analoge und Gruppensignale auflisten, lesen und schreiben. Ein Signal pulsen oder invertieren, E/A Geräte und Netzwerke durchsuchen.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// Read every signal of the controllerforeach (var signal in robot.Rws.Io.GetSignals()){Console.WriteLine($"{signal.Name} = {signal.LogicalValue} ({signal.Type})");}// Read and write one signalvar gripper = robot.Rws.Io.GetSignal("Local", "DRV_1", "DO_Gripper");robot.Rws.Io.SetSignalValue("Local", "DRV_1", "DO_Gripper", 1);// Send 3 pulses of 500 msrobot.Rws.Io.PulseSignal("Local", "DRV_1", "DO_Gripper", 1, 3, 500, 500);}}
Position und Kinematik
Aktuelles robtarget und jointtarget lesen, Vorwärts- und Rückwärtskinematik berechnen, den Roboter im Handbetrieb verfahren.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// Cartesian position of the toolvar robTarget = robot.Rws.MotionSystem.GetRobTarget("ROB_1");Console.WriteLine($"X={robTarget.X} Y={robTarget.Y} Z={robTarget.Z}");// Joint anglesvar jointTarget = robot.Rws.MotionSystem.GetJointTarget("ROB_1");Console.WriteLine($"Axis 1 = {jointTarget.RobotAxes.Axis1}");// Forward kinematics, without moving the robotvar toolFrame = new Pose(0, 0, 100, new Quaternion(1, 0, 0, 0));var pose = robot.Rws.MotionSystem.GetPoseFromJoints("ROB_1", toolFrame, jointTarget);}}
Steuerung und Sicherung
Identität und Optionen der Steuerung lesen, Uhr und Netzwerk einstellen, eine vollständige Sicherung erstellen und zurückspielen.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// Who am I talking tovar identity = robot.Rws.Controller.GetIdentity();Console.WriteLine($"{identity.Name} ({identity.Type}, {identity.MacAddress})");// RobotWare version and installed optionsvar system = robot.Rws.System.GetInfo();Console.WriteLine($"RobotWare {system.Version}");Console.WriteLine(robot.Rws.Controller.HasOption("Multitasking"));// Full controller backuprobot.Rws.Controller.CreateBackup("/hd0a/MyBackup");Console.WriteLine(robot.Rws.Controller.GetBackupState());}}
Dateisystem
Das Dateisystem der Steuerung durchsuchen, Dateien herunter- und hochladen, Dateien und Verzeichnisse anlegen, kopieren, umbenennen und löschen.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// Browse a directory of the controllerDirectoryListing listing = robot.Rws.File.ListDirectory("/hd0a/RobotWare");foreach (FileItem file in listing.Files){Console.WriteLine($"{file.Name} : {file.Size} bytes");}// Download a RAPID module and upload it backstring module = robot.Rws.File.GetFileAsText("/hd0a/MyProgram/MainModule.mod");robot.Rws.File.UploadFileFromText("/hd0a/MyProgram/MainModule.mod", module);}}
Ereignisprotokoll und Zustand
Das Ereignisprotokoll lesen, Betriebsart, Zustand der Steuerung und Geschwindigkeit des Roboters verfolgen.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// State of the robotConsole.WriteLine(robot.Rws.Panel.GetOperationMode());Console.WriteLine(robot.Rws.Panel.GetControllerState());Console.WriteLine(robot.Rws.Panel.GetSpeedRatio());// Last events of every domainforeach (var domain in robot.Rws.Elog.GetDomains()){foreach (var message in robot.Rws.Elog.GetMessages(domain.Number, maxCount: 5)){Console.WriteLine($"[{message.Timestamp}] {message.Type} : {message.Title}");}}}}
IRC5 und OmniCore, eine einzige API
ABB Roboter stellen Robot Web Services in zwei Versionen bereit. Das SDK deckt beide ab, derselbe Code läuft also auf einer alten IRC5 und auf einer neuen OmniCore. Nur ein Verbindungsparameter ändert sich.
| Controller | RobotWare | Robot Web Services | Connection parameter |
|---|---|---|---|
| IRC5 | RobotWare 6 and earlier | RWS 1.0 | RwsVersion.Irc5_V1_0 |
| OmniCore | RobotWare 7 and later | RWS 2.0 | RwsVersion.OmniCore_V2_0 |
Wie es weitergeht
Robot Web Services ist heute verfügbar. Die weiteren nativen Protokolle der ABB Steuerungen, beginnend mit Externally Guided Motion (EGM), sind in Entwicklung und kommen in dasselbe SDK.
Robot Web Services
RAPID, I/O, position, controller, file system, event log and mastership, on IRC5 and on OmniCore.
Externally Guided Motion (EGM)
Low latency motion over UDP: position stream, position guidance and path correction, for sensor and vision driven applications.
Das SDK in Aktion
Video und Screenshots der Demo-Anwendung, die mit dem SDK geliefert wird.
Beispiel für Windows -Anwendungen
Kein Code nötig: Testen Sie das SDK an Ihrem Roboter mit der Demo-Anwendung.

Beispiele zu GitHub
Die Beispiele für die Verwendung dieses SDK sind auf GitHub erhältlich
Python -Beispiel
Beispiel für den Betrieb dieses SDK mit Python, um die kartesische Position eines Roboters wiederherzustellen.
Mit einem Befehl installiert
Wählen Sie Ihre Sprache. Die 30-Tage-Testversion beginnt bei der ersten Nutzung, ohne Registrierung.
.NET
NuGet-Paket für C# und VB.NET, von .NET Framework bis zum neuesten .NET.
dotnet add package UnderAutomation.ABBPython
Python-Paket auf PyPI, für Windows, Linux und macOS.
pip install UnderAutomation.ABBKI-Agenten
Skill für KI-Coding-Agenten (Claude Code, Cursor, Copilot...): Ihr Assistent kennt die API des SDK.
npx skills add underautomation/skills --skill underautomation-abb-csharpDurchsuchen Sie die Dokumentation
Mit der Dokumentation können Sie sich schnell mit der Bibliothek entwickeln. Die gleiche Funktionalität ist in allen unterstützten Sprachen verfügbar.
Durchsuchen Sie die Dokumentation
Mit der Dokumentation können Sie sich schnell mit der Bibliothek entwickeln. Die gleiche Funktionalität ist in allen unterstützten Sprachen verfügbar.
Mit .NET beginnen
Codieren Sie Ihre Anwendung in C# oder VB mit dieser 100% gemanagten Bibliothek, die frei von Abhängigkeiten ist und auf NuGet.org in der Version und Architektur Ihrer Wahl (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...) zur Verfügung steht.
Mit Python beginnen
Entwickeln Sie mithilfe dieser Bibliothek schnell ein Programm in Python, das mit Ihrem Roboter kommuniziert. Sie ist auf PyPI verfügbar.

Mit Matlab beginnen
Erlauben Sie Ihren Matlab-Skripten, den Roboter zu steuern.
Anleitungen und Praxisartikel
Kurze Antworten auf die Fragen, die Entwickler zu ABB Robotern am häufigsten stellen.
Robot Web Services overview
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.
IRC5 or OmniCore: which RWS version
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
Read and write a RAPID num, bool, string, robtarget or a custom record from C#, on IRC5 and on OmniCore.
Get the 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
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
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
Create a full controller backup, download it to your PC, check it and restore it, entirely from your application.
Preise
Bibliotheken können kostenlos heruntergeladen und 30 Tage lang getestet werden. Nach diesem Zeitraum können Sie uns bitten, den Testzeitraum zu verlängern oder die Lizenz zu kaufen, die am besten geeignet ist: Website (nur verdeckte binäre) oder Quelle (Quellcode). Nach dem Kauf haben Sie eine einjährige Wartungszeit, mit der Sie vorrangigen Zugriff auf die Unterstützung und die Möglichkeit der Aktualisierung erhalten. Wenn Sie eine Nutzungslizenz kaufen, ist sie mit einer Robotermarke verknüpft, können Sie sie für immer verwenden, ohne wiederkehrende Gebühren, unabhängig von der Anzahl der Roboter, Entwickler oder Software, die Sie Ihren Kunden umverteilen. Wenn Sie ein Händler sind und Ihren Kunden eines unserer Produkte anbieten möchten, kontaktieren Sie uns bitte, um besondere Bedingungen und Preise zu besprechen.
Standard-Site-Lizenz
•
Pro-Lizenz
•
Quellcodelizenz
•
Häufige Fragen
Die Bibliotheken auf GitHub
Jedes Paket wird auf GitHub mit seinem Änderungsprotokoll veröffentlicht.
Legen Sie jetzt los!
Starten Sie heute die 30-Tage-Testversion, oder fordern Sie ein Angebot an.