UnderAutomation
有问题吗?

[email protected]

联系我们
UnderAutomation
⌘Q
ABB

ABB SDK控制 ABB 机器人 直接从您自己的软件

快速创建与 ABB 工业机器人通信的 .NET 和 Python 应用程序,同时支持 IRC5 和 OmniCore。 开箱即用的软件库:您的电脑通过网线与机器人通信。

免费试用查看价格

800 € / $1000 起,一次性付款

无需在机器人上安装
30 天免费试用
永久许可,无需订阅
.NET / C#
Python
Matlab
ABB robot
ABB SDK
1// dotnet add package UnderAutomation.ABB
2using UnderAutomation.ABB;
3
4var robot = new AbbController();
5robot.Connect("192.168.0.1");
6
7var target = robot.Rws.MotionSystem.GetRobTarget("ROB_1");
8robot.Rws.Rapid.SetSymbolValue("RAPID/T_ROB1/user/reg1", "5");
9var state = robot.Rws.Panel.GetControllerState();
概览

您将获得什么

Plug & Play

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

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

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

PC SDKRobotStudioROS

30 天试用

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

付一次, 永远使用

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

功能

ABB SDK 功能:面向 IRC5 和 OmniCore 的 Robot Web Services

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

RAPID 变量与程序

读写 RAPID 变量和持久变量,启动和停止任务,移动程序指针,加载和保存模块。

AbbController robot = new AbbController();
robot.Connect("192.168.0.1");
// Read a RAPID variable
var counter = robot.Rws.Rapid.GetSymbolValue("RAPID/T_ROB1/MainModule/nCounter");
Console.WriteLine(counter.Value);
// Write it back
robot.Rws.Mastership.Request();
robot.Rws.Rapid.SetSymbolValue("RAPID/T_ROB1/MainModule/nCounter", "42");
robot.Rws.Mastership.Release();
// Start the program
robot.Rws.Rapid.ResetProgramPointer();
robot.Rws.Rapid.Start();
}
}
Click to see the full code

输入 / 输出

列出、读取和写入数字量、模拟量和组信号。发送脉冲、取反信号,浏览 I/O 设备和网络。

AbbController robot = new AbbController();
robot.Connect("192.168.0.1");
// Read every signal of the controller
foreach (var signal in robot.Rws.Io.GetSignals())
{
Console.WriteLine($"{signal.Name} = {signal.LogicalValue} ({signal.Type})");
}
// Read and write one signal
var gripper = robot.Rws.Io.GetSignal("Local", "DRV_1", "DO_Gripper");
robot.Rws.Io.SetSignalValue("Local", "DRV_1", "DO_Gripper", 1);
// Send 3 pulses of 500 ms
robot.Rws.Io.PulseSignal("Local", "DRV_1", "DO_Gripper", 1, 3, 500, 500);
}
}
Click to see the full code

位置与运动学

读取当前的 robtarget 和 jointtarget,计算正向和逆向运动学,并手动点动机器人。

AbbController robot = new AbbController();
robot.Connect("192.168.0.1");
// Cartesian position of the tool
var robTarget = robot.Rws.MotionSystem.GetRobTarget("ROB_1");
Console.WriteLine($"X={robTarget.X} Y={robTarget.Y} Z={robTarget.Z}");
// Joint angles
var jointTarget = robot.Rws.MotionSystem.GetJointTarget("ROB_1");
Console.WriteLine($"Axis 1 = {jointTarget.RobotAxes.Axis1}");
// Forward kinematics, without moving the robot
var toolFrame = new Pose(0, 0, 100, new Quaternion(1, 0, 0, 0));
var pose = robot.Rws.MotionSystem.GetPoseFromJoints("ROB_1", toolFrame, jointTarget);
}
}
Click to see the full code

控制器与备份

读取控制器的标识和选项,设置时钟和网络,创建并恢复完整备份。

AbbController robot = new AbbController();
robot.Connect("192.168.0.1");
// Who am I talking to
var identity = robot.Rws.Controller.GetIdentity();
Console.WriteLine($"{identity.Name} ({identity.Type}, {identity.MacAddress})");
// RobotWare version and installed options
var system = robot.Rws.System.GetInfo();
Console.WriteLine($"RobotWare {system.Version}");
Console.WriteLine(robot.Rws.Controller.HasOption("Multitasking"));
// Full controller backup
robot.Rws.Controller.CreateBackup("/hd0a/MyBackup");
Console.WriteLine(robot.Rws.Controller.GetBackupState());
}
}
Click to see the full code

文件系统

浏览控制器的文件系统,下载和上传文件,创建、复制、重命名和删除文件与目录。

AbbController robot = new AbbController();
robot.Connect("192.168.0.1");
// Browse a directory of the controller
DirectoryListing listing = robot.Rws.File.ListDirectory("/hd0a/RobotWare");
foreach (FileItem file in listing.Files)
{
Console.WriteLine($"{file.Name} : {file.Size} bytes");
}
// Download a RAPID module and upload it back
string module = robot.Rws.File.GetFileAsText("/hd0a/MyProgram/MainModule.mod");
robot.Rws.File.UploadFileFromText("/hd0a/MyProgram/MainModule.mod", module);
}
}
Click to see the full code

事件日志与状态

读取事件日志,跟踪运行模式、控制器状态和机器人速度倍率。

AbbController robot = new AbbController();
robot.Connect("192.168.0.1");
// State of the robot
Console.WriteLine(robot.Rws.Panel.GetOperationMode());
Console.WriteLine(robot.Rws.Panel.GetControllerState());
Console.WriteLine(robot.Rws.Panel.GetSpeedRatio());
// Last events of every domain
foreach (var domain in robot.Rws.Elog.GetDomains())
{
foreach (var message in robot.Rws.Elog.GetMessages(domain.Number, maxCount: 5))
{
Console.WriteLine($"[{message.Timestamp}] {message.Type} : {message.Title}");
}
}
}
}
Click to see the full code
IRC5 · OmniCore

IRC5 和 OmniCore,同一套 API

ABB 机器人提供两个版本的 Robot Web Services。本 SDK 同时支持两者,因此同一份代码既能运行在旧的 IRC5 上,也能运行在新的 OmniCore 上。只需改变一个连接参数。

ControllerRobotWareRobot Web ServicesConnection parameter
IRC5RobotWare 6 and earlierRWS 1.0RwsVersion.Irc5_V1_0
OmniCoreRobotWare 7 and laterRWS 2.0RwsVersion.OmniCore_V2_0
HTTP or HTTPS is a separate setting on the controller, independent of this table.IRC5 or OmniCore: which RWS version

后续计划

Robot Web Services 现已可用。ABB 控制器的其他原生协议,首先是 Externally Guided Motion(EGM),正在开发中,将加入同一个 SDK。

Available

Robot Web Services

RAPID, I/O, position, controller, file system, event log and mastership, on IRC5 and on OmniCore.

开发中

Externally Guided Motion (EGM)

Low latency motion over UDP: position stream, position guidance and path correction, for sensor and vision driven applications.

演示

看看实际效果

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

Windows应用程序示例

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

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

Github上的示例

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

python示例

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

安装

一条命令即可安装

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

.NET

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

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

Python

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

pip install UnderAutomation.ABB

AI 助手

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

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

浏览文档

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

浏览文档

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

开始使用.NET

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

开始使用Python

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

开始使用Matlab

让你的Matlab脚本来驱动你的机器人。

指南和实用文章

针对开发者最常问的 ABB 机器人问题给出的简短回答。

Robot Web Services overview

Robot Web Services (RWS) is the REST interface of ABB robot controllers. One API covers RWS 1.0 on IRC5 and RWS 2.0 on OmniCore.

IRC5 or OmniCore: which RWS version

RWS 1.0 runs on IRC5 with RobotWare 6, RWS 2.0 on OmniCore with RobotWare 7. Compare both, and see what changes in your code.

Read & write RAPID variables

Read and write a RAPID num, bool, string, robtarget or a custom record from C#, on IRC5 and on OmniCore.

Get the robot position

Read the current Cartesian position (robtarget) and the joint position (jointtarget) of an ABB robot, and convert between them.

Start & stop a RAPID program

Start, stop and reset a RAPID program remotely: motors on, program pointer, execution cycle, and how to check that it really started.

Read & write I/O signals

Read and write digital, analog and group I/O signals of an ABB controller, pulse a signal and simulate one during tests.

Backup & restore a controller

Create a full controller backup, download it to your PC, check it and restore it, entirely from your application.

价格

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

标准站点许可证

•

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

专业许可

•

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

源代码许可

•

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

常见问题

不需要。Robot Web Services 是控制器自带的服务,标准系统上就有。只要机器人在网络上可访问,并且用户账户具有相应权限即可。

支持。运行 RobotWare 6 的 IRC5 控制器提供 RWS 1.0,运行 RobotWare 7 的 OmniCore 控制器提供 RWS 2.0。SDK 用一套 API 覆盖两者,您只需在连接参数中指定版本。

不需要。该库为 100% 托管代码,直接与控制器通信。只有当您想用虚拟控制器而不是真实机器人进行测试时,才需要 RobotStudio。

可以。您能读写变量、持久变量和常量,包括 robtarget 和 record 类型,也能搜索已加载程序中的符号。

从 .NET Framework 3.5 到 .NET 9,另有 .NET Standard 2.0 和 2.1 以及 .NET Core 3.0。除 .NET Framework 3.5 和 4.0 外,其余版本均提供异步方法。

您可以手动点动机器人、设置目标位置,并启动或停止包含运动的 RAPID 程序。连续的实时运动控制属于 Externally Guided Motion,该功能正在开发中。
GitHub

GitHub 上的库

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

最新版本

ABB.NET

最新版本

underautomation / ABB.NET

Public

ABB SDK 的 .NET 库。

C#在 GitHub 上查看

underautomation / ABB.py

Public

ABB SDK 的 Python 包。

Python在 GitHub 上查看

现在就开始吧!

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

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