ABB SDKControle los robots ABB desde su propio software
Cree rápidamente aplicaciones .NET y Python que se comunican con su robot industrial ABB, tanto en IRC5 como en OmniCore. Una biblioteca de software lista para usar: su PC habla con el robot por el cable de red.
Desde 800 € / $1000, pago único
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();
Lo que obtiene
Plug & Play
Conecta tu robot en tan solo unos minutos. No es necesario instalar un administrador de licencias ni una llave USB. Sólo haga referencia a la biblioteca.
No hay complementos para instalar en el robot
Uso de protocolos de red proporcionados como estándar por el controlador de robots.
Prueba de 30 días
Pruébelo gratis durante 30 días, sin compromiso, no se requiere registro
Pagar una vez, use para siempre
Licencia perpetua, no se requiere suscripción, independientemente del número de robots, desarrolladores o software redistribuido
Funciones del SDK ABB: Robot Web Services para IRC5 y OmniCore
Cada función tiene su ejemplo de código. Haga clic en él para ver el código completo.
Variables y programas RAPID
Lea y escriba variables y persistentes RAPID, inicie y detenga tareas, mueva el puntero de programa, cargue y guarde módulos.
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();}}
Entradas / Salidas
Liste, lea y escriba señales digitales, analógicas y de grupo. Envíe un pulso, invierta una señal, recorra los dispositivos y las redes de E/S.
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);}}
Posición y cinemática
Lea el robtarget y el jointtarget actuales, calcule la cinemática directa e inversa, y mueva el robot en manual.
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);}}
Controlador y copia de seguridad
Lea la identidad y las opciones del controlador, ajuste el reloj y la red, cree y restaure una copia de seguridad completa.
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());}}
Sistema de archivos
Recorra el sistema de archivos del controlador, descargue y envíe archivos, cree, copie, renombre y elimine archivos y directorios.
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);}}
Registro de eventos y estado
Lea el registro de eventos, siga el modo de funcionamiento, el estado del controlador y la velocidad del robot.
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 y OmniCore, una sola API
Los robots ABB exponen Robot Web Services en dos versiones. El SDK cubre ambas, por lo que el mismo código funciona en un IRC5 antiguo y en un OmniCore reciente. Solo cambia un parámetro de conexión.
| 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 |
Lo que viene
Robot Web Services está disponible hoy. Los demás protocolos nativos de los controladores ABB, empezando por Externally Guided Motion (EGM), están en desarrollo y se añadirán al mismo 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.
El SDK en acción
Vídeo y capturas de la aplicación de demostración entregada con el SDK.
Ejemplo de aplicación de Windows
Sin escribir código: pruebe el SDK en su robot con la aplicación de demostración.

Ejemplos en Github
Las fuentes de ejemplos de uso de este SDK están disponibles en GitHub
Ejemplo de Python
Ejemplo de operación de este SDK con Python para recuperar la posición cartesiana de un robot.
Instálelo con un comando
Elija su lenguaje. La prueba de 30 días empieza con el primer uso, sin registro.
.NET
Paquete NuGet para C# y VB.NET, de .NET Framework al último .NET.
dotnet add package UnderAutomation.ABBPython
Paquete Python en PyPI, para Windows, Linux y macOS.
pip install UnderAutomation.ABBAgentes IA
Skill para agentes de código IA (Claude Code, Cursor, Copilot...): su asistente conoce la API del SDK.
npx skills add underautomation/skills --skill underautomation-abb-csharpExplorar la documentación
La documentación le permite comenzar a desarrollar rápidamente con la biblioteca. La misma funcionalidad está disponible en todos los idiomas compatibles.
Explorar la documentación
La documentación le permite comenzar a desarrollar rápidamente con la biblioteca. La misma funcionalidad está disponible en todos los idiomas compatibles.
Introducción a .NET
Codifique su aplicación en C# o VB con esta librería 100% gestionada, sin dependencias y disponible en NuGet.org en la versión y arquitectura de su elección (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...)
Empezar con Python
Desarrolle rápidamente un programa en Python que se comunique con su robot utilizando esta biblioteca. Está disponible en PyPI.

Introducción a Matlab
Permita que sus scripts de Matlab manejen su robot.
Guías y artículos prácticos
Respuestas cortas a las preguntas que los desarrolladores hacen con más frecuencia sobre los robots ABB.
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.
Precios
Las bibliotecas se pueden descargar de forma gratuita y se pueden probar durante 30 días. Después de este período, puede solicitarnos que extendamos el período de prueba o que compren la licencia que mejor se adapte a usted: Sitio (solo binario oscurecido) o fuente (código fuente). Después de comprar, tiene un período de mantenimiento de un año, lo que le brinda acceso prioritario al soporte y la posibilidad de actualizar. Cuando compra una licencia para usar, está vinculada a una marca de robot, puede usarla para siempre, sin una tarifa recurrente, independientemente de la cantidad de robot, desarrollador o software que redistribuya a sus clientes. Si usted es un distribuidor y desea ofrecer a sus clientes uno de nuestros productos, contáctenos para discutir condiciones y precios especiales.
Licencia Sitio Estándar
•
Licencia Pro
•
Licencia de código fuente
•
Preguntas frecuentes
Las bibliotecas en GitHub
Cada paquete se publica en GitHub con su registro de cambios.
¡Empiece ahora!
Empiece hoy la prueba de 30 días, o solicite un presupuesto.