UnderAutomation
有问题吗?

[email protected]

联系我们
UnderAutomation
⌘Q
Stäubli

Staubli SDK控制 Stäubli 机器人 直接从您自己的软件

快速创建使用 .NET、Python 或 LabVIEW 与史陶比尔工业机器人通信的应用程序。 开箱即用的软件库:您的电脑通过网线与机器人通信。

免费试用查看价格

300 € / $350 起,一次性付款

无需在机器人上安装
30 天免费试用
永久许可,无需订阅
.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();
概览

您将获得什么

Plug & Play

只需几分钟即可连接您的机器人。无需安装许可证管理器, 无需 USB 密钥。仅参考图书馆。

没有在机器人上安装的插件

使用机器人控制器作为标准提供的网络协议。

VAL 3 add-onROS

30 天试用

免费试用 30 天, 无承诺, 无需注册

付一次, 永远使用

永久许可, 无需订阅, 无论机器人, 开发人员的数量是多少

功能

Staubli SDK 功能: 适用于 CS8 和 CS9 的 SOAP 和 FTP

每项功能都有代码示例。点击示例可查看完整代码。

移动机器人

远程启动和发送关节或笛卡尔坐标运动指令。

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

处理应用

加载、启动、停止、暂停和监督任务的执行。

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

文件传输

列出、上传、下载和删除控制器的文件,并通过一次调用发送完整的 VAL 3 应用。通过 FTP,或使用 Staubli Robotics Suite 仿真控制器的 .controller 文件。

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

位置和运动学

读取机器人的关节值和笛卡尔位置,并在控制器上计算正运动学和逆运动学。

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

信息

获取控制器和受控机器人的特征, 包括型号、软件版本、电源状态等。

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

输入/输出

列出、读取和写入控制器的输入和输出

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

看看实际效果

随 SDK 提供的演示程序的视频和截图。

Windows应用程序示例

无需编写代码:用演示程序在您的机器人上测试 SDK。

下载 (139 MB)通过下载, 您接受使用的一般条件: 见条款和条件

Github上的示例

使用此SDK的示例的来源可在GitHub上获得

python示例

该SDK与Python运行的示例, 以恢复机器人的笛卡尔位置。

安装

一条命令即可安装

选择您的语言。30 天试用从首次使用开始,无需注册。

.NET

适用于 C# 和 VB.NET 的 NuGet 包,从 .NET Framework 到最新的 .NET。

dotnet add package UnderAutomation.Staubli
请参阅xxx上请参阅xxx上打开指南

Python

PyPI 上的 Python 包,支持 Windows、Linux 和 macOS。

pip install UnderAutomation.Staubli

AI 助手

面向 AI 编程助手(Claude Code、Cursor、Copilot 等)的 Skill:您的助手了解 SDK 的 API。

npx skills add underautomation/skills --skill underautomation-staubli-csharp
文档

浏览文档

该文档使您可以快速开始使用库开发。 所有受支持的语言都可以使用相同的功能。

浏览文档

该文档使您可以快速开始使用库开发。 所有受支持的语言都可以使用相同的功能。

开始使用.NET

用这个100%托管的库在C#或VB中编码你的应用程序, 没有依赖性, 在NuGet.org上有你选择的版本和架构 (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...) 。

开始使用Python

用Python快速开发一个程序, 用这个库与你的机器人进行通信。它可以在PyPI上使用。

指南和实用文章

每篇文章逐步讲解一项任务的做法,并附带可直接复制的代码。

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.

价格

可以免费下载库, 可以进行30天的测试。 在此期间之后, 您可以要求我们延长试用期, 或购买最适合您的许可证: 站点 (仅二进制二进制) 或源代码 (源代码) 。 购买后, 您有一个一年的维护期, 使您优先访问支持和更新的可能性。 当您购买使用许可证时, 它会链接到机器人品牌, 无论您将其重新分配给客户的机器人, 开发人员或软件的数量如何, 都可以永远使用, 而无需重复费用。 如果您是分销商, 并希望为您的客户提供我们的产品之一, 请与我们联系以讨论特殊条件和价格。

标准站点许可证

•

$350为了一生
$210大学 (40% 折扣)
专为工业环境而设计, 提供终身全功能访问。
包括 1 年维护 (获取更新)
与 Pro 许可证的条件相同, 但支持不优先且维护期为 1 年。
没有内部来源; 仅提供混淆的 DLL。
无法通过视频会议提供帮助 (仅通过电子邮件) 。
为您的项目选择正确的许可证
立即购买
最受欢迎

专业许可

•

$700
$1060
为了一生
$420大学 (40% 折扣)
适用于需要优先支持和长期维护的关键生产环境。
包括 3 年维护 (获取更新) , 在此期限内没有续订订单 (零文书工作)
完整和永久的SDK: 无需重复订阅, 许可证是您的永远您的, 并且可以使用机器人品牌的所有编程语言。
仅在指定的邮政地址上持有许可证的组织才能使用。 不管开发机器的数量多少, 所有团队开发人员都将共享相同的许可证。
使用SDK开发的任何应用程序都可以将无限数量的客户提供, 而不管要连接的机器人数量如何。
该许可证是一种密码, 可以在解锁功能的代码中调用。 没有其他软件要安装。 没有USB密钥。
优先支持 (平均<24小时)
远程协助 (电子邮件和长达 2 小时的视频会议)
没有内部来源; 仅提供混淆的 DLL。
随时升级到源 (支付差价)
立即购买

源代码许可

•

$1400为了一生
$840大学 (40% 折扣)
实现完全的技术主权、深度定制和完全独立。
与专业许可证的条件相同
C# 语言库的完整内部代码
Visual Studio 解决方案包含数年开发的数千行代码
您可以在一般使用条款中定义的限制内修改此源代码并在您的应用程序中使用它
与AI编程助手(Claude、Copilot、Cursor、Codex等)完美协作,得益于完整源代码访问权限和随附的上下文文件(AGENTS.md),为LLM提供SDK内部结构的精确知识
立即购买
FAQ

常见问题

不需要。SDK 使用控制器的 SOAP 服务器,也就是 Staubli Robotics Suite (SRS) 使用的接口,并使用其 FTP 服务器传输文件。控制器必须可以通过网络访问,并使用一个有权限执行相应操作的用户账户。

CS8 和 CS9 控制器,两者使用相同的 API。SDK 可以读取控制器的机器人、位置、输入输出和 VAL 3 应用程序,并可以移动机器人。

可以。仿真器没有 FTP 服务器,但它将被仿真控制器的文件保存在其 .controller 文件所在的文件夹中,目录结构与真实控制器相同。将 .controller 文件的路径作为地址:相同的方法和相同的路径即可使用,SDK 会从其配置中读取被仿真控制器的 SOAP 端口。仿真器在另一台 PC 上运行时,请使用 UNC 路径。

许可证永久有效,无需订阅。Standard:300 EUR / 350 USD。Pro:600 EUR / 700 USD。Source:1200 EUR / 1400 USD。一个许可证覆盖一个组织的一个地址,开发人员、机器人和交付的应用程序数量不限。Standard 包含 1 年更新,Pro 和 Source 包含 3 年更新。大学可享受 40% 折扣。

可以。从首次使用起 30 天内所有功能均可使用,无需注册。试用期可应要求延长。借助 Windows 演示程序,您无需编写代码即可在自己的机器人上试用 SDK。

可以。该库针对 .NET Standard 2.0 和 2.1 编译,可在 Windows、Linux 和 macOS 上运行,支持 x64 和 ARM。在 Linux 或 macOS 上使用 Python 时,请安装 .NET 运行时,并在启动 Python 前执行 export PYTHONNET_RUNTIME=coreclr。

可以。pip install UnderAutomation.Staubli 会安装该包和 pythonnet,pythonnet 将 .NET 库加载到 Python 进程中。支持 Python 3.7 至 3.13。API 与 .NET 相同,采用 Python 命名。

LabVIEW 库可应要求提供。请联系我们获取。

可以,购买 Source 许可证即可获得该库的全部 C# 代码及其 Visual Studio 解决方案。您可以在许可协议 (EULA) 的范围内修改代码并在您的应用程序中使用。Standard 和 Pro 许可证仅提供混淆后的 DLL。
GitHub

GitHub 上的库

每个包都发布在 GitHub 上,并附有更新日志。

最新版本

Staubli.NET

最新版本

underautomation / Staubli.NET

Public

Stäubli SDK 的 .NET 库。

C#在 GitHub 上查看

underautomation / Staubli.py

Public

Stäubli SDK 的 Python 包。

Python在 GitHub 上查看

现在就开始吧!

今天就开始 30 天试用,或索取报价。

免费试用下单要求报价联系我们