UnderAutomation Staubli communication SDK
NuGet .NET Framework .NET Standard .NET Core .NET Versions
The Staubli Communication SDK provides high-level access to industrial Staubli robots via the native SOAP protocol. Designed for automation engineers, researchers, and integrators, this SDK supports full motion control, I/O access, system monitoring, and application management.
π More Information: Documentation
π Available also for π¨ LabVIEW & π Python
β
Seamlessly connect to Staubli controllers using native SOAP.
β
Control movements, read/write I/Os, monitor status, and manage applications.
β
No additional licenses or Staubli software needed.
Highlights:
- β‘ Real-time SOAP communication
- π οΈ Works with .NET Framework, Core, Standard
- π Full motion lifecycle & kinematics
- π‘ Access to physical & logical I/Os
- π¦ Project & task management (VAL 3)
Explore precompiled examples from the GitHub Releases
πΉ Download: π₯ UnderAutomation.Staubli.Showcase.Forms.exe
var controller = new StaubliController(); var parameters = new ConnectionParameters("192.168.0.1"); parameters.Soap.Enable = true; parameters.Soap.User = "default"; parameters.Soap.Password = "default"; controller.Connect(parameters);
UnderAutomation Staubli communication SDK
- Get robots connected (
GetRobots()) - Get controller parameters (
GetControllerParameters()) - Retrieve DH parameters (
GetDhParameters())
Robot[] robots = controller.Soap.GetRobots(); Parameter[] controllerParams = controller.Soap.GetControllerParameters(); DhParameters[] dh = controller.Soap.GetDhParameters(robot: 0);
UnderAutomation Staubli communication SDK
GetCurrentJointPosition()GetCurrentCartesianJointPosition()
CartesianJointPosition pos = controller.Soap.GetCurrentCartesianJointPosition(robot: 0); double[] joints = pos.JointsPosition;
UnderAutomation Staubli communication SDK
- Forward Kinematics:
ForwardKinematics() - Inverse Kinematics:
ReverseKinematics()
IForwardKinematics fk = controller.Soap.ForwardKinematics(0, joints); IReverseKinematics ik = controller.Soap.ReverseKinematics(0, joints, fk.Position, fk.Config, range);
UnderAutomation Staubli communication SDK
- Power:
SetPower(true/false) - Motion types:
MoveL,MoveJC,MoveJJ,MoveC - Motion lifecycle:
StopMotion,ResetMotion,RestartMotion
controller.Soap.SetPower(true); controller.Soap.MoveL(0, targetFrame, motionDesc);
UnderAutomation Staubli communication SDK
- List physical I/Os:
GetAllPhysicalIos() - Read:
ReadIos(...) - Write:
WriteIos(...)
PhysicalIo[] ios = controller.Soap.GetAllPhysicalIos(); PhysicalIoWriteResponse[] res = controller.Soap.WriteIos(new[] { "out1" }, new[] { 1.0 });
UnderAutomation Staubli communication SDK
- Load project:
LoadProject("Disk://myProject.pjx") - List applications:
GetValApplications() - Stop/unload apps:
StopApplication(),StopAndUnloadAll()
controller.Soap.LoadProject("Disk://project.pjx"); ValApplication[] apps = controller.Soap.GetValApplications(); controller.Soap.StopAndUnloadAll();
UnderAutomation Staubli communication SDK
- List tasks:
GetTasks() - Control:
TaskKill,TaskSuspend,TaskResume
ControllerTask[] tasks = controller.Soap.GetTasks(); controller.Soap.TaskKill(tasks[0].Name, tasks[0].CreatedBy);
- Controllers: CS8, CS9
- OS: Windows, Linux, macOS
- .NET Versions: Framework 3.5+, .NET Core 2.0+, .NET 5/6/8/9
You're welcome to:
- Submit issues & PRs
- Share feature suggestions
- Help improve documentation
π Contribute on GitHub
- π Documentation
- π© Contact Support