Staubli SDK
300 (EUR) • 350 (USD)
300
€
de por vida180
€
para universidades (40% de descuento)Cree rápidamente aplicaciones .NET que se comuniquen con su robot industrial Staubli.
.NET
Python
LabVIEW
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.
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
Staubli Communication Library
Implementa los protocolos Ethernet disponibles de forma nativa en los robots Staubli
100% managed assembly
Rápida integración con los controladores CS8 y CS9
Biblioteca moderna y bien documentada
No se necesita una llave USB física
Características del SDK Staubli: protocolo SOAP para CS8 & CS9
Mover el robot
Encendido remoto y envío de comandos de movimiento en articulaciones o coordenadas cartesianas.// Power on the controllerPowerReturnCode powerOnStatus = controller.Soap.SetPower(power: true);// Move linear to cartesian positionIMoveResult moveLResult = controller.Soap.MoveL(robot: 0,position,motionDesc);// Move joints to cartesian positionIMoveResult moveJCResult = controller.Soap.MoveJC(robot: 0,position,motionDesc);// Move joints to joint positionIMoveResult moveJResult = controller.Soap.MoveJJ(robot: 0,joints,motionDesc);// Move CircularIMoveResult moveCResult = controller.Soap.MoveC(robot: 0,position,position2,motionDesc);// Stop motionMotionReturnCode stopStatus = controller.Soap.StopMotion();// Reset motionMotionReturnCode resetStatus = controller.Soap.ResetMotion();// Restart motionMotionReturnCode restartStatus = controller.Soap.RestartMotion();Aplicaciones de manipulación
Cargar, iniciar, detener, pausar y supervisar la ejecución de tareas.// Load project from diskcontroller.Soap.LoadProject("Disk://myProject/myProject.pjx");ValApplication[] applications = controller.Soap.GetValApplications();foreach (var application in applications)Console.WriteLine($"Application: {application.Name}, Running: {application.IsRunning}");// Unload all applicationscontroller.Soap.StopAndUnloadAll();// Stop running applicationcontroller.Soap.StopApplication();// Get tasksControllerTask[] tasks = controller.Soap.GetTasks(); // Get all tasksforeach (var task in tasks){Console.WriteLine($"Task: {task.Name}");Console.WriteLine($"reated by: {task.CreatedBy}"); // i.e. Disk://myProject/myProject.pjxConsole.WriteLine($"Line: {task.ProgramLine}");Console.WriteLine($"State: {task.State}");}// Kill taskcontroller.Soap.TaskKill(tasks[0].Name, tasks[0].CreatedBy);// Suspend taskcontroller.Soap.TaskSuspend(tasks[0].Name, tasks[0].CreatedBy);// Resume taskcontroller.Soap.TaskResume(tasks[0].Name, tasks[0].CreatedBy);Posición actual
Obtener la posición actual del robot, incluidas las coordenadas cartesianas y los ángulos de las articulaciones.// Get the current flange position of the first robot in world coordinatesCartesianJointPosition position = controller.Soap.GetCurrentCartesianJointPosition(robot: 0, tool: null, frame: null);double[] jointPosition1 = position.JointsPosition; // Joint position in radiansCartesianPosition cartesianPosition = position.CartesianPosition;Console.WriteLine($"X: {cartesianPosition.X}, Y: {cartesianPosition.Y}, Z: {cartesianPosition.Z}");Console.WriteLine($"Rx: {cartesianPosition.Rx}, Ry: {cartesianPosition.Ry}, Rz: {cartesianPosition.Rz}");// ---------------// Get only the current joint position of the first robotdouble[] jointPosition2 = controller.Soap.GetCurrentJointPosition(robot: 0);// ---------------// Get the joint ranges (min/max angle of each joint)controller.Soap.GetJointRange(robot: 0);Calcular la posición cartesiana a partir de los ángulos articulares y viceversa.
Calcular la posición cartesiana a partir de los ángulos articulares y viceversa.// Get forward kinematicsIForwardKinematics fk = controller.Soap.ForwardKinematics(robot: 0, // Index of the robot (0 for the first robot)joints // double[] of joint positions in radians);// Position matrixFrame position = fk.Position;// Position configurationConfig config = fk.Config; // i.e. Righty/Lefty, Elbow Positive/Negtive, ...// -----------------// Get inverse kinematicsIReverseKinematics ik = controller.Soap.ReverseKinematics(robot: 0, // Index of the robot (0 for the first robot)joints,position,config,range);if (ik.Result == ReversingResult.Success)foreach (double joint in ik.Joint) Console.WriteLine(joint);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.Robot[] robots = controller.Soap.GetRobots(); // Get all robots driven by the controllerforeach (var robot in robots){Console.WriteLine($"Arm: {robot.Arm}"); // i.e. TX2-140Console.WriteLine($"Mount type: {robot.MountType}"); // i.e. Floor, Ceiling, WallConsole.WriteLine($"Kinematic: {robot.Kinematic}"); // i.e. ANTHROPOMORPH6, SCARA, ...// see Robot class for more properties}// ---------------Parameter[] controllerParams = controller.Soap.GetControllerParameters(); // Get controller parametersforeach (var param in controllerParams)Console.WriteLine($"{param.Name} = {param.Value}"); // i.e. CycleTime = 0.004s// ---------------DhParameters[] dhParameters = controller.Soap.GetDhParameters(robot: 0); // Get DH parameters of the first robotforeach (var dh in dhParameters)Console.WriteLine($"{dh.Alpha} - {dh.Beta} - {dh.Theta} - {dh.A} - {dh.D}");Entradas / Salidas
Listar, leer y escribir entradas y salidas del controlador// Get all physical I/O ports of the controllerPhysicalIo[] ios = controller.Soap.GetAllPhysicalIos();foreach (var io in ios){Console.WriteLine($"Name: {io.Name}");Console.WriteLine($"Type: {io.Description}");Console.WriteLine($"Lockable: {io.Lockable}"); // i.e. true, falseConsole.WriteLine($"Description: {io.TypeStr}"); // i.e. din, dout, ain, serial}// -----------------// Read I/Os valuePhysicalIoState[] values = controller.Soap.ReadIos(new[] { @"Socket\test", @"Serial\0", @"FastIO\fOut1", @"CpuUsage\val3" });foreach (var value in values){Console.WriteLine("Value: " + value.Value);Console.WriteLine("Locked: " + value.Locked);Console.WriteLine("Simulated: " + value.Simulated);}// -----------------// Write I/Os valuePhysicalIoWriteResponse[] response = controller.Soap.WriteIos(new[] { "my_io_1", "my_io_2" }, new double[] { 1.0, 0.0 });foreach (var res in response)Console.WriteLine($"Success: {res.Success} - Found: {res.Found}");Examinar la documentación
Descargar y probar
Ejemplo de aplicación de WindowsLe 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.Staubli.Showcase.Forms.exe (139 MB)Al descargar, acepta las condiciones generales de uso:
Ver condiciones generalesSolicitud de presupuesto y pedido
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€ (EUR) • $350 (USD)
300
€
de por vida180
€
para universidades (40% de descuento)Comprar ahoraDiseñ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).Mas popularLicencia Pro
600€ (EUR) • $700 (USD)
600
€
de por vida900€
360
€
para universidades (40% de descuento)Comprar ahoraPara 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)Licencia de código fuente
1200€ (EUR) • $1400 (USD)
1200
€
de por vida720
€
para universidades (40% de descuento)Comprar ahoraPara una soberanía técnica completa, una personalización profunda y una independencia total.Mismas condiciones que la licencia proCó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