UnderAutomation
Eine Frage?

[email protected]

Kontakt
UnderAutomation
⌘Q
Stäubli

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.

Kostenlos testenPreise ansehen

Ab 300 € / $350, einmalige Zahlung

Nichts auf dem Roboter zu installieren
30 Tage kostenlos testen
Unbefristete Lizenz, ohne Abonnement
.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();
Kurz gesagt

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.

VAL 3 add-onROS

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

Funktionen

Ü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 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

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

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

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

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

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

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.

Herunterladen (139 MB)Durch das Herunterladen akzeptieren Sie die allgemeinen Nutzungsbedingungen: Siehe Bedingungen und Konditionen

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.

Installation

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.Staubli
Siehe auf NuGetSiehe auf GitHubAnleitung öffnen

Python

Python-Paket auf PyPI, für Windows, Linux und macOS.

pip install UnderAutomation.Staubli

KI-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-csharp
Dokumentation

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.

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

•

300€fürs Leben
180€für Universitäten (40 % Rabatt)
Konzipiert für industrielle Umgebungen und bietet lebenslangen Zugriff auf alle Funktionen.
1 Jahr Wartung inklusive (Zugriff auf Updates)
Gleiche Bedingungen wie bei der Pro-Lizenz, außer dass der Support nicht priorisiert wird und die Wartung 1 Jahr beträgt.
Es gibt keine internen Quellen; Es wird nur die verschleierte DLL bereitgestellt.
Keine Unterstützung per Videokonferenz (nur per E-Mail).
Wählen Sie die richtige Lizenz für Ihr Projekt
Jetzt kaufen
Am beliebtesten

Pro-Lizenz

•

600€
900€
fürs Leben
360€für Universitäten (40 % Rabatt)
Für kritische Produktionsumgebungen, die vorrangigen Support und längerfristige Wartung erfordern.
3 Jahre Wartung inklusive (Zugriff auf Updates), ohne Verlängerungsaufträge während dieser Laufzeit (kein Papierkram)
Vollständiges und dauerhaftes SDK: Es ist kein wiederkehrendes Abonnement erforderlich, die Lizenz ist für immer Ihnen und funktioniert in allen Programmiersprachen für eine Robotermarke.
Kann nur von der Organisation verwendet werden, die die Lizenz an der angegebenen Postanschrift hält. Alle Teamentwickler teilen die gleiche Lizenz, unabhängig von der Anzahl der Entwicklungsmaschinen.
Jede Anwendung, die mit dem SDK entwickelt wurde, kann unbegrenzt an eine unbegrenzte Anzahl Ihrer Kunden ohne zusätzliche Kosten geliefert werden, unabhängig von der Anzahl der Roboter, die eine Verbindung herstellen können.
Die Lizenz ist eine Art Passwort, das Sie im Code aufrufen können, der die Funktionalität freischaltet. Keine zusätzliche Software zu installieren. Kein USB -Schlüssel.
Prioritärer Support (durchschnittlich <24 Stunden)
Fernunterstützung (E-Mail und bis zu 2 Stunden Videokonferenz)
Es gibt keine internen Quellen; Es wird nur die verschleierte DLL bereitgestellt.
Jederzeit Upgrade auf Source (Zahlung der Differenz)
Jetzt kaufen

Quellcodelizenz

•

1200€fürs Leben
720€für Universitäten (40 % Rabatt)
Für völlige technische Souveränität, umfassende Individualisierung und völlige Unabhängigkeit.
Gleiche Bedingungen wie bei der Pro-Lizenz
Vollständiger interner Code der Bibliothek in C#
Visual Studio-Lösung, die Tausende von Codezeilen umfasst, die über mehrere Jahre entwickelt wurden
Sie können diesen Quellcode ändern und in Ihrer Anwendung im Rahmen der in den Allgemeinen Nutzungsbedingungen festgelegten Grenzen verwenden
Funktioniert optimal mit KI-Coding-Agenten (Claude, Copilot, Cursor, Codex...) dank vollständigem Quellcode-Zugriff und enthaltener Kontextdateien (AGENTS.md), die dem LLM genaues Wissen über die SDK-Interna geben
Jetzt kaufen
FAQ

Häufige Fragen

Nein. Das SDK nutzt den SOAP-Server der Steuerung, dieselbe Schnittstelle wie die Staubli Robotics Suite (SRS), und ihren FTP-Server für die Dateien. Die Steuerung muss im Netzwerk erreichbar sein, mit einem Benutzerkonto, das die Rechte für die angeforderten Operationen hat.

Die Steuerungen CS8 und CS9, mit derselben API für beide. Das SDK liest die Roboter der Steuerung, ihre Positionen, die Ein- und Ausgänge und die VAL 3-Applikationen, und kann den Roboter bewegen.

Ja. Der Emulator hat keinen FTP-Server, er speichert die Dateien der emulierten Steuerung aber im Ordner ihrer .controller-Datei, mit derselben Struktur wie eine echte Steuerung. Geben Sie den Pfad der .controller-Datei als Adresse an: Dieselben Methoden und Pfade funktionieren dann, und das SDK liest den SOAP-Port der emulierten Steuerung aus ihrer Konfiguration. Verwenden Sie einen UNC-Pfad, wenn der Emulator auf einem anderen PC läuft.

Die Lizenz ist unbefristet, ohne Abonnement. Standard: 300 EUR / 350 USD. Pro: 600 EUR / 700 USD. Source: 1200 EUR / 1400 USD. Sie gilt für eine Organisation an einer Adresse, mit beliebig vielen Entwicklern, Robotern und ausgelieferten Anwendungen. Updates sind bei Standard 1 Jahr und bei Pro und Source 3 Jahre enthalten. Hochschulen erhalten 40 % Rabatt.

Ja. Alle Funktionen laufen 30 Tage ab der ersten Nutzung, ohne Registrierung. Die Testphase kann auf Anfrage verlängert werden. Mit der Windows-Demoanwendung testen Sie das SDK an Ihrem Roboter, ohne Code zu schreiben.

Ja. Die Bibliothek ist für .NET Standard 2.0 und 2.1 kompiliert, die unter Windows, Linux und macOS laufen, auf x64 und ARM. Für Python unter Linux oder macOS installieren Sie die .NET-Runtime und führen export PYTHONNET_RUNTIME=coreclr aus, bevor Sie Python starten.

Ja. pip install UnderAutomation.Staubli installiert das Paket und pythonnet, das die .NET-Bibliothek in den Python-Prozess lädt. Unterstützt werden Python 3.7 bis 3.13. Die API ist dieselbe wie in .NET, mit Python-Namen.

Eine LabVIEW-Bibliothek ist auf Anfrage erhältlich. Kontaktieren Sie uns.

Ja, mit der Source-Lizenz: der vollständige C#-Code der Bibliothek und ihre Visual-Studio-Projektmappe. Sie dürfen ihn ändern und in Ihren Anwendungen verwenden, im Rahmen der Lizenzbedingungen (EULA). Die Standard- und Pro-Lizenzen enthalten nur die obfuskierte DLL.
GitHub

Die Bibliotheken auf GitHub

Jedes Paket wird auf GitHub mit seinem Änderungsprotokoll veröffentlicht.

Neueste Versionen

Staubli.NET

Neueste Version

underautomation / Staubli.NET

Public

.NET-Bibliothek des Stäubli-SDK.

C#Auf GitHub ansehen

underautomation / Staubli.py

Public

Python-Paket des Stäubli-SDK.

PythonAuf GitHub ansehen

Legen Sie jetzt los!

Starten Sie heute die 30-Tage-Testversion, oder fordern Sie ein Angebot an.

Kostenlos testenBestellenAngebot anfordernKontakt