Staubli SDKSteuern Sie Stäubli-Roboter aus Ihrer eigenen Software
Erstellen Sie schnell Anwendungen in .NET, Python oder LabVIEW, die mit Ihrem Staubli-Industrieroboter kommunizieren. Eine fertige Softwarebibliothek: Ihr PC spricht über das Netzwerkkabel mit dem Roboter.
Ab 300 € / $350, einmalige Zahlung

1// dotnet add package UnderAutomation.Staubli2using UnderAutomation.Staubli;34var controller = new StaubliController();5controller.Connect("192.168.0.254");67double[] joints = controller.Soap.GetCurrentJointPosition(robot: 0);8var tasks = controller.Soap.GetTasks();9var ios = controller.Soap.GetAllPhysicalIos();
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
Übersicht Staubli SDK Funktionen: SOAP und FTP für CS8 & CS9
Jede Funktion hat ein Codebeispiel. Klicken Sie darauf, um den ganzen Code zu sehen.
Bewegen Sie den Roboter
Remote antreten und gemeinsame Bewegungsbefehle oder kartesische Koordinaten senden.
Frame intermediate = controller.Soap.ForwardKinematics(robot: 0, joints).Position;intermediate.Py += 0.05;controller.Soap.SetPower(true);// Joint move to joint values, in radiansIMoveResult result = controller.Soap.MoveJJ(robot: 0, joints, mdesc);// Joint move to a Cartesian frameresult = controller.Soap.MoveJC(robot: 0, target, mdesc);// Straight line to a Cartesian frameresult = controller.Soap.MoveL(robot: 0, target, mdesc);// Circle through an intermediate frame, to a target frameresult = controller.Soap.MoveC(robot: 0, intermediate, target, mdesc);// The controller accepted the move, or tells why notif (result.ReturnCode != MotionReturnCode.Success)Console.WriteLine($"Move {result.Id} refused: {result.ReturnCode}");controller.Disconnect();}
Anwendungen manipulieren
Laden, Starten, Stoppen, Pausieren und Beaufsichtigen der Ausführung von Aufgaben.
var controller = new StaubliController();controller.Connect("192.168.0.254");// Path of the project on the disk of the controllerstring project = "Disk://myProject/myProject.pjx";// Load the application in memory, without starting itcontroller.Soap.LoadProject(project);// Start itcontroller.Soap.StartApplication(project);controller.Disconnect();}
Dateiübertragung
Dateien der Steuerung auflisten, hochladen, herunterladen und löschen, und eine vollständige VAL 3 Anwendung mit einem Aufruf senden. Per FTP oder mit der .controller-Datei einer von der Staubli Robotics Suite emulierten Steuerung.
var controller = new StaubliController();controller.Connect(parameters);// The application must not be in memory while its files are replacedcontroller.Soap.StopAndUnloadAll();// Copies C:\MyApps\myApp and its sub-folders to /usr/usrapp/myApp on the controllerstring 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 methodscontroller.Soap.LoadProject("Disk://myApp/myApp.pjx");controller.Soap.StartApplication("Disk://myApp/myApp.pjx");controller.Disconnect();}
Position und Kinematik
Gelenkwerte und kartesische Position des Roboters lesen, und Vorwärts- und Rückwärtskinematik auf der Steuerung berechnen.
var controller = new StaubliController();controller.Connect("192.168.0.254");// Joint values in radians, here the current onesdouble[] joints = controller.Soap.GetCurrentJointPosition(robot: 0);// The controller computes the flange frame for these jointsIForwardKinematics fk = controller.Soap.ForwardKinematics(robot: 0, joints);// Position of the frame origin, and its orientation as a rotation matrixFrame 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();}
Informationen
Erhalten Sie die Eigenschaften von Controllern und gesteuerten Robotern, einschließlich Modell, Softwareversion, Stromversorgungsstatus und mehr.
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-60Console.WriteLine($" Kinematic: {robot.Kinematic}"); // Anthropomorph6, Scara...Console.WriteLine($" Mount type: {robot.MountType}"); // Floor, Ceiling, WallConsole.WriteLine($" Tuning: {robot.Tuning}");}controller.Disconnect();}
Eingänge / Ausgänge
Listen, lesen und schreiben Sie Einträge und Ausgänge des Controllers
var controller = new StaubliController();controller.Connect("192.168.0.254");// Names as returned by GetAllPhysicalIosstring[] names = { @"BasicIO-1\%I0", @"BasicIO-1\%Q0" };// One state per name, in the same orderPhysicalIoState[] 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 controllerif (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();}
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.StaubliPython
Python-Paket auf PyPI, für Windows, Linux und macOS.
pip install UnderAutomation.StaubliKI-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-staubli-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.
Anleitungen und Praxisartikel
Jeder Artikel erklärt Schritt für Schritt, wie man eine Aufgabe löst, mit Code zum Kopieren.
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.
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.