UnderAutomation
¿Una pregunta?

[email protected]

Contactos
UnderAutomation
⌘Q
Stäubli

Staubli SDKControle los robots Stäubli desde su propio software

Cree rápidamente aplicaciones en .NET, Python o LabVIEW que se comuniquen con su robot industrial Staubli. Una biblioteca de software lista para usar: su PC habla con el robot por el cable de red.

Probar gratisVer precios

Desde 300 € / $350, pago único

Nada que instalar en el robot
Prueba gratuita de 30 días
Licencia perpetua, sin suscripción
.NET / C#
Python
Stäubli robot
Staubli SDK
1// dotnet add package UnderAutomation.Staubli
2using UnderAutomation.Staubli;
3
4var controller = new StaubliController();
5controller.Connect("192.168.0.254");
6
7double[] joints = controller.Soap.GetCurrentJointPosition(robot: 0);
8var tasks = controller.Soap.GetTasks();
9var ios = controller.Soap.GetAllPhysicalIos();
En resumen

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.

VAL 3 add-onROS

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

Características del SDK Staubli: SOAP y FTP para CS8 & CS9

Cada función tiene su ejemplo de código. Haga clic en él para ver el código completo.

Mover el robot

Encendido remoto y envío de comandos de movimiento en articulaciones o coordenadas cartesianas.

Frame intermediate = controller.Soap.ForwardKinematics(robot: 0, joints).Position;
intermediate.Py += 0.05;
controller.Soap.SetPower(true);
// Joint move to joint values, in radians
IMoveResult result = controller.Soap.MoveJJ(robot: 0, joints, mdesc);
// Joint move to a Cartesian frame
result = controller.Soap.MoveJC(robot: 0, target, mdesc);
// Straight line to a Cartesian frame
result = controller.Soap.MoveL(robot: 0, target, mdesc);
// Circle through an intermediate frame, to a target frame
result = controller.Soap.MoveC(robot: 0, intermediate, target, mdesc);
// The controller accepted the move, or tells why not
if (result.ReturnCode != MotionReturnCode.Success)
Console.WriteLine($"Move {result.Id} refused: {result.ReturnCode}");
controller.Disconnect();
}
Click to see the full code

Aplicaciones de manipulación

Cargar, iniciar, detener, pausar y supervisar la ejecución de tareas.

var controller = new StaubliController();
controller.Connect("192.168.0.254");
// Path of the project on the disk of the controller
string project = "Disk://myProject/myProject.pjx";
// Load the application in memory, without starting it
controller.Soap.LoadProject(project);
// Start it
controller.Soap.StartApplication(project);
controller.Disconnect();
}
Click to see the full code

Transferencia de archivos

Listar, enviar, descargar y eliminar los archivos del controlador, y enviar una aplicación VAL 3 completa en una sola llamada. Por FTP, o con el archivo .controller de un controlador emulado por Staubli Robotics Suite.

var controller = new StaubliController();
controller.Connect(parameters);
// The application must not be in memory while its files are replaced
controller.Soap.StopAndUnloadAll();
// Copies C:\MyApps\myApp and its sub-folders to /usr/usrapp/myApp on the controller
string remoteFolder = controller.File.UploadApplicationToController(@"C:\MyApps\myApp",
progress => Console.WriteLine($"{progress:0}%"));
// /usr/usrapp/myApp/myApp.pjx is Disk://myApp/myApp.pjx for the SOAP methods
controller.Soap.LoadProject("Disk://myApp/myApp.pjx");
controller.Soap.StartApplication("Disk://myApp/myApp.pjx");
controller.Disconnect();
}
Click to see the full code

Posición y cinemática

Leer las articulaciones y la posición cartesiana del robot, y calcular la cinemática directa e inversa en el controlador.

var controller = new StaubliController();
controller.Connect("192.168.0.254");
// Joint values in radians, here the current ones
double[] joints = controller.Soap.GetCurrentJointPosition(robot: 0);
// The controller computes the flange frame for these joints
IForwardKinematics fk = controller.Soap.ForwardKinematics(robot: 0, joints);
// Position of the frame origin, and its orientation as a rotation matrix
Frame frame = fk.Position;
Console.WriteLine($"P = [{frame.Px}, {frame.Py}, {frame.Pz}]");
// Configuration of the arm for this position (shoulder, elbow, wrist)
Config config = fk.Config;
Console.WriteLine(config);
controller.Disconnect();
}
Click to see the full code

Información

Obtenga las características del controlador y los robots que se controlan, incluido el modelo, la versión de software, el estado de la alimentación y mucho más.

var controller = new StaubliController();
controller.Connect("192.168.0.254");
// The robots driven by the controller. The index in this array
// is the robot number that the other methods take.
Robot[] robots = controller.Soap.GetRobots();
for (int i = 0; i < robots.Length; i++)
{
Robot robot = robots[i];
Console.WriteLine($"Robot {i}: {robot.Arm}"); // for example TX2-60
Console.WriteLine($" Kinematic: {robot.Kinematic}"); // Anthropomorph6, Scara...
Console.WriteLine($" Mount type: {robot.MountType}"); // Floor, Ceiling, Wall
Console.WriteLine($" Tuning: {robot.Tuning}");
}
controller.Disconnect();
}
Click to see the full code

Entradas / Salidas

Listar, leer y escribir entradas y salidas del controlador

var controller = new StaubliController();
controller.Connect("192.168.0.254");
// Names as returned by GetAllPhysicalIos
string[] names = { @"BasicIO-1\%I0", @"BasicIO-1\%Q0" };
// One state per name, in the same order
PhysicalIoState[] states = controller.Soap.ReadIos(names);
for (int i = 0; i < names.Length; i++)
{
PhysicalIoState state = states[i];
// State tells if the name exists on this controller
if (state.State != PhysicalIoEnumState.Defined)
{
Console.WriteLine($"{names[i]}: {state.State}");
continue;
}
Console.WriteLine($"{names[i]} = {state.Value} locked={state.Locked} simulated={state.Simulated}");
}
controller.Disconnect();
}
Click to see the full code
Demo

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.

Descargar (139 MB)Al descargar, acepta las condiciones generales de uso: Ver condiciones generales

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.

Instalación

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.Staubli
Ver en NuGetVer en GitHubAbrir la guía

Python

Paquete Python en PyPI, para Windows, Linux y macOS.

pip install UnderAutomation.Staubli

Agentes 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-staubli-csharp
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.

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.

Guías y artículos prácticos

Cada artículo explica cómo realizar una tarea, paso a paso, con código que puede copiar.

Get the robot position

Read the position of a Staubli robot from C# or Python: joints, flange or tool position, and which method to choose. Complete program included.

Read and write I/O

Find the I/O names, wait for an input and switch an output of a Staubli CS8 or CS9 controller from C# or Python.

Move the robot from a PC

Power the arm and move a Staubli robot in a straight line from C# or Python, without a VAL 3 program. Which move to choose, and the frequent errors.

Run a VAL 3 program

Load a VAL 3 project from the disk of the controller, start it, check its tasks and stop it, from C# or Python.

Monitor the state of the robot

Poll the applications and the VAL 3 tasks of a Staubli controller, print each change of state and each runtime error.

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

•

300€de por vida
180€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).
Elija la licencia adecuada para su proyecto
Comprar ahora
Mas popular

Licencia Pro

•

600€
900€
de por vida
360€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

•

1200€de por vida
720€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
FAQ

Preguntas frecuentes

No. El SDK usa el servidor SOAP del controlador, la misma interfaz que usa Staubli Robotics Suite (SRS), y su servidor FTP para los archivos. El controlador debe ser accesible en la red, con una cuenta de usuario que tenga los derechos para las operaciones solicitadas.

Los controladores CS8 y CS9, con la misma API para ambos. El SDK lee los robots del controlador, sus posiciones, las entradas y salidas y las aplicaciones VAL 3, y puede mover el robot.

Sí. El emulador no tiene servidor FTP, pero guarda los archivos del controlador emulado en la carpeta de su archivo .controller, con la misma estructura que un controlador real. Indique la ruta del archivo .controller como dirección: los mismos métodos y las mismas rutas funcionan entonces, y el SDK lee el puerto SOAP del controlador emulado en su configuración. Use una ruta UNC cuando el emulador se ejecuta en otro PC.

La licencia es perpetua, sin suscripción. Standard: 300 EUR / 350 USD. Pro: 600 EUR / 700 USD. Source: 1200 EUR / 1400 USD. Cubre una organización en una dirección, con un número ilimitado de desarrolladores, robots y aplicaciones entregadas. Las actualizaciones están incluidas durante 1 año con Standard y 3 años con Pro y Source. Las universidades tienen un descuento del 40 %.

Sí. Todas las funciones están disponibles durante 30 días desde el primer uso, sin registro. La prueba se puede ampliar bajo petición. La aplicación de demostración para Windows permite probar el SDK con su robot sin escribir código.

Sí. La biblioteca está compilada para .NET Standard 2.0 y 2.1, que funcionan en Windows, Linux y macOS, en x64 y ARM. Para Python en Linux o macOS, instale el runtime de .NET y ejecute export PYTHONNET_RUNTIME=coreclr antes de iniciar Python.

Sí. pip install UnderAutomation.Staubli instala el paquete y pythonnet, que carga la biblioteca .NET en el proceso de Python. Se admiten Python 3.7 a 3.13. La API es la misma que en .NET, con nombres de Python.

Hay una biblioteca LabVIEW disponible bajo petición. Contáctenos para obtenerla.

Sí, con la licencia Source: todo el código C# de la biblioteca y su solución de Visual Studio. Puede modificarlo y usarlo en sus aplicaciones, dentro de los límites del contrato de licencia (EULA). Las licencias Standard y Pro solo incluyen la DLL ofuscada.
GitHub

Las bibliotecas en GitHub

Cada paquete se publica en GitHub con su registro de cambios.

Últimas versiones

Staubli.NET

Última versión

underautomation / Staubli.NET

Public

Biblioteca .NET del SDK Stäubli.

C#Ver en GitHub

underautomation / Staubli.py

Public

Paquete Python del SDK Stäubli.

PythonVer en GitHub

¡Empiece ahora!

Empiece hoy la prueba de 30 días, o solicite un presupuesto.

Probar gratisPedirSolicitar un presupuestoContactos