UnderAutomation
¿Una pregunta?

[email protected]

Contactos
UnderAutomation
⌘Q

ABB SDK

GitHub stars

800 (EUR) • 1000 (USD)

800€de por vida
480€para universidades (40% de descuento)

Cree rápidamente aplicaciones .NET y Python que se comunican con su robot industrial ABB, tanto en IRC5 como en OmniCore.

Elija la licencia adecuada para su proyecto
PedirSolicitar un presupuesto

.NET

Python

Ver condiciones generales
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.
PCSDK ROS

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

  1. Funciones del SDK ABB: Robot Web Services para IRC5 y OmniCore

    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 variable
    var counter = robot.Rws.Rapid.GetSymbolValue("RAPID/T_ROB1/MainModule/nCounter");
    Console.WriteLine(counter.Value);
    // Write it back
    robot.Rws.Mastership.Request();
    robot.Rws.Rapid.SetSymbolValue("RAPID/T_ROB1/MainModule/nCounter", "42");
    robot.Rws.Mastership.Release();
    // Start the program
    robot.Rws.Rapid.ResetProgramPointer();
    robot.Rws.Rapid.Start();
    }
    }
    Click to see the full code

    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 controller
    foreach (var signal in robot.Rws.Io.GetSignals())
    {
    Console.WriteLine($"{signal.Name} = {signal.LogicalValue} ({signal.Type})");
    }
    // Read and write one signal
    var 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 ms
    robot.Rws.Io.PulseSignal("Local", "DRV_1", "DO_Gripper", 1, 3, 500, 500);
    }
    }
    Click to see the full code

    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 tool
    var robTarget = robot.Rws.MotionSystem.GetRobTarget("ROB_1");
    Console.WriteLine($"X={robTarget.X} Y={robTarget.Y} Z={robTarget.Z}");
    // Joint angles
    var jointTarget = robot.Rws.MotionSystem.GetJointTarget("ROB_1");
    Console.WriteLine($"Axis 1 = {jointTarget.RobotAxes.Axis1}");
    // Forward kinematics, without moving the robot
    var toolFrame = new Pose(0, 0, 100, new Quaternion(1, 0, 0, 0));
    var pose = robot.Rws.MotionSystem.GetPoseFromJoints("ROB_1", toolFrame, jointTarget);
    }
    }
    Click to see the full code

    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 to
    var identity = robot.Rws.Controller.GetIdentity();
    Console.WriteLine($"{identity.Name} ({identity.Type}, {identity.MacAddress})");
    // RobotWare version and installed options
    var system = robot.Rws.System.GetInfo();
    Console.WriteLine($"RobotWare {system.Version}");
    Console.WriteLine(robot.Rws.Controller.HasOption("Multitasking"));
    // Full controller backup
    robot.Rws.Controller.CreateBackup("/hd0a/MyBackup");
    Console.WriteLine(robot.Rws.Controller.GetBackupState());
    }
    }
    Click to see the full code

    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 controller
    DirectoryListing 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 back
    string module = robot.Rws.File.GetFileAsText("/hd0a/MyProgram/MainModule.mod");
    robot.Rws.File.UploadFileFromText("/hd0a/MyProgram/MainModule.mod", module);
    }
    }
    Click to see the full code

    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 robot
    Console.WriteLine(robot.Rws.Panel.GetOperationMode());
    Console.WriteLine(robot.Rws.Panel.GetControllerState());
    Console.WriteLine(robot.Rws.Panel.GetSpeedRatio());
    // Last events of every domain
    foreach (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}");
    }
    }
    }
    }
    Click to see the full code
  2. 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.

    ControllerRobotWareRobot Web ServicesConnection parameter
    IRC5RobotWare 6 and earlierRWS 1.0RwsVersion.Irc5_V1_0
    OmniCoreRobotWare 7 and laterRWS 2.0RwsVersion.OmniCore_V2_0
    HTTP or HTTPS is a separate setting on the controller, independent of this table.
    IRC5 or OmniCore: which RWS version
  3. Consultar la documentación

    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.

  4. 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.

  5. Preguntas frecuentes

    ¿Hay que instalar algo en el robot ABB?

    No. Robot Web Services es un servicio del propio controlador y está presente en un sistema estándar. Solo hace falta que el robot sea accesible en la red y que una cuenta de usuario tenga los permisos necesarios.

    ¿El SDK funciona en IRC5 y en OmniCore?

    Sí. Los controladores IRC5 con RobotWare 6 exponen RWS 1.0, los controladores OmniCore con RobotWare 7 exponen RWS 2.0. El SDK cubre ambos detrás de una sola API, solo indica la versión en los parámetros de conexión.

    ¿Necesito RobotStudio o el PC SDK de ABB?

    No. La biblioteca es 100% gestionada y habla directamente con el controlador. RobotStudio solo sirve si quiere probar contra un controlador virtual en lugar de un robot real.

    ¿Se pueden leer y escribir variables RAPID?

    Sí. Puede leer y escribir variables, persistentes y constantes, incluidos los robtarget y los tipos record, y buscar los símbolos del programa cargado.

    ¿Qué versiones de .NET son compatibles?

    De .NET Framework 3.5 a .NET 9, más .NET Standard 2.0 y 2.1 y .NET Core 3.0. Los métodos asíncronos están disponibles en todas partes salvo en .NET Framework 3.5 y 4.0.

    ¿Puedo mover el robot con este SDK?

    Puede mover el robot en manual, definir una posición objetivo, e iniciar o detener los programas RAPID que contienen el movimiento. El control continuo en tiempo real corresponde a Externally Guided Motion, en desarrollo.

  6. 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.

    Available

    Robot Web Services

    RAPID, I/O, position, controller, file system, event log and mastership, on IRC5 and on OmniCore.

    In development

    Externally Guided Motion (EGM)

    Low latency motion over UDP: position stream, position guidance and path correction, for sensor and vision driven applications.

  7. Descargar y probar

    Ejemplo de aplicación de Windows
    Ejemplo de aplicación de Windows

    Le permite probar todas las características del SDK con una interfaz simple. El ejemplo se compila en "auto contenido" y "archivo único" con .NET 8. La aplicación es portátil sin instalación.

    UnderAutomation.Abb.Showcase.Forms.exe
    What this application does
    Al descargar, acepta las condiciones generales de uso: Ver condiciones generales
    Ejemplos en Github
    Ejemplos en Github

    Las fuentes de ejemplos de uso de este SDK están disponibles en GitHub

    Python package
    Python package

    The same SDK for Python, installed from PyPI. It runs on Windows, Linux and macOS.

  8. Solicitar presupuesto y pedir

    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

    800€ (EUR) • $1000 (USD)

    800€de por vida
    480€para universidades (40% de descuento)
    Diseñado para entornos industriales, brinda acceso a todas las funciones de por vida.
    1 año de mantenimiento incluido (acceso a actualizaciones)
    Mismas condiciones que la Licencia Pro, excepto que no se prioriza el soporte y el mantenimiento es de 1 año.
    No hay fuentes internas; sólo se proporciona la DLL ofuscada.
    No hay asistencia por videoconferencia (solo vía correo electrónico).
    Comprar ahora
    Mas popular

    Licencia Pro

    1200€ (EUR) • $1400 (USD)

    1200€
    1900€
    de por vida
    720€para universidades (40% de descuento)
    Para entornos de producción críticos que requieren soporte prioritario y mantenimiento a largo plazo.
    3 años de mantenimiento incluido (acceso a actualizaciones) sin pedidos de renovación durante este plazo (cero trámites)
    SDK completo y permanente: no se requiere una suscripción recurrente, la licencia es suya para siempre y funciona en todos los lenguajes de programación para una marca robot.
    Solo puede ser utilizado por la organización que posee la licencia, en la dirección postal indicada. Todos los desarrolladores del equipo compartirán la misma licencia, independientemente del número de máquinas de desarrollo.
    Cualquier aplicación desarrollada utilizando el SDK se puede entregar a un número ilimitado de sus clientes sin costo adicional, independientemente del número de robots para conectarse.
    La licencia es un tipo de contraseña para llamar al código que desbloquea la funcionalidad. No hay software adicional para instalar. No hay clave USB.
    Soporte Prioritario (<24h en promedio)
    Asistencia remota (correo electrónico y hasta 2h videoconferencia)
    No hay fuentes internas; sólo se proporciona la DLL ofuscada.
    Actualiza a Source en cualquier momento (paga la diferencia)
    Comprar ahora

    Licencia de código fuente

    2400€ (EUR) • $2800 (USD)

    2400€de por vida
    1440€para universidades (40% de descuento)
    Para una soberanía técnica completa, una personalización profunda y una independencia total.
    Mismas condiciones que la licencia pro
    Código interno completo de la biblioteca en C#
    Solución de Visual Studio que incluye miles de líneas de código desarrolladas a lo largo de varios años.
    Puedes modificar este código fuente y utilizarlo en tu aplicación, dentro de los límites definidos en las condiciones generales de uso.
    Compatible con agentes de codificación IA (Claude, Copilot, Cursor, Codex...) gracias al acceso completo al código fuente y los archivos de contexto incluidos (AGENTS.md) que dan al LLM conocimiento exacto de los internals del SDK
    Comprar ahora

Integre fácilmente robots Universal Robots, Fanuc, Yaskawa, ABB o Staubli en sus aplicaciones .NET, Python, LabVIEW o Matlab

UnderAutomation
ContactosLegal

© All rights reserved.