Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

underautomation/Staubli.NET

Open more actions menu

Repository files navigation

Staubli Communication SDK

UnderAutomation Staubli communication SDK

NuGet .NET Framework .NET Standard .NET Core .NET Versions

🤖 Effortlessly Communicate with Staubli Robots

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


🚀 TL;DR

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

📥 Download Example Applications

Explore precompiled examples from the GitHub Releases

✅ Windows Forms Showcase

🔹 Download: 📥 UnderAutomation.Staubli.Showcase.Forms.exe


✨ Features

🔌 Connection

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


🔍 System Information

  • 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


📍 Position & Joints

  • GetCurrentJointPosition()
  • GetCurrentCartesianJointPosition()
CartesianJointPosition pos = controller.Soap.GetCurrentCartesianJointPosition(robot: 0);
double[] joints = pos.JointsPosition;

UnderAutomation Staubli communication SDK


🧠 Kinematics

  • 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


⚙️ Motion Control

  • 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


📡 I/O Management

  • 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


📦 Application Management

  • 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


🔁 Task Lifecycle

  • List tasks: GetTasks()
  • Control: TaskKill, TaskSuspend, TaskResume
ControllerTask[] tasks = controller.Soap.GetTasks();
controller.Soap.TaskKill(tasks[0].Name, tasks[0].CreatedBy);

✅ Compatibility

  • Controllers: CS8, CS9
  • OS: Windows, Linux, macOS
  • .NET Versions: Framework 3.5+, .NET Core 2.0+, .NET 5/6/8/9

📜 License

⚠️ Commercial license required 🔗 View EULA


🤝 Contributing

You're welcome to:

  • Submit issues & PRs
  • Share feature suggestions
  • Help improve documentation

👉 Contribute on GitHub


📬 Need Help?


⭐ Star the repo if useful 👁️ Watch for updates

About

.NET library to communicate with Staubli CS8/CS9 controllers using the native SOAP ethernet interface. Nothing to install on the robot. 100% managed assembly with no dependencie: pay once for a company-wide license, then use forever—no runtime or development fees, unlimited robots, developers, and redistributed software

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.