ABB SDK
.NET
Python
Plug & Play
只需几分钟即可连接您的机器人。无需安装许可证管理器, 无需 USB 密钥。仅参考图书馆。
没有在机器人上安装的插件
使用机器人控制器作为标准提供的网络协议。
PCSDK ROS
30 天试用
免费试用 30 天, 无承诺, 无需注册
付一次, 永远使用
永久许可, 无需订阅, 无论机器人, 开发人员的数量是多少
ABB SDK 功能:面向 IRC5 和 OmniCore 的 Robot Web Services
RAPID 变量与程序
读写 RAPID 变量和持久变量,启动和停止任务,移动程序指针,加载和保存模块。AbbController robot = new AbbController();robot.Connect("192.168.0.1");// Read a RAPID variablevar counter = robot.Rws.Rapid.GetSymbolValue("RAPID/T_ROB1/MainModule/nCounter");Console.WriteLine(counter.Value);// Write it backrobot.Rws.Mastership.Request();robot.Rws.Rapid.SetSymbolValue("RAPID/T_ROB1/MainModule/nCounter", "42");robot.Rws.Mastership.Release();// Start the programrobot.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 controllerforeach (var signal in robot.Rws.Io.GetSignals()){Console.WriteLine($"{signal.Name} = {signal.LogicalValue} ({signal.Type})");}// Read and write one signalvar 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 msrobot.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 toolvar robTarget = robot.Rws.MotionSystem.GetRobTarget("ROB_1");Console.WriteLine($"X={robTarget.X} Y={robTarget.Y} Z={robTarget.Z}");// Joint anglesvar jointTarget = robot.Rws.MotionSystem.GetJointTarget("ROB_1");Console.WriteLine($"Axis 1 = {jointTarget.RobotAxes.Axis1}");// Forward kinematics, without moving the robotvar 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 tovar identity = robot.Rws.Controller.GetIdentity();Console.WriteLine($"{identity.Name} ({identity.Type}, {identity.MacAddress})");// RobotWare version and installed optionsvar system = robot.Rws.System.GetInfo();Console.WriteLine($"RobotWare {system.Version}");Console.WriteLine(robot.Rws.Controller.HasOption("Multitasking"));// Full controller backuprobot.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 controllerDirectoryListing 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 backstring 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 robotConsole.WriteLine(robot.Rws.Panel.GetOperationMode());Console.WriteLine(robot.Rws.Panel.GetControllerState());Console.WriteLine(robot.Rws.Panel.GetSpeedRatio());// Last events of every domainforeach (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 codeIRC5 和 OmniCore,同一套 API
ABB 机器人提供两个版本的 Robot Web Services。本 SDK 同时支持两者,因此同一份代码既能运行在旧的 IRC5 上,也能运行在新的 OmniCore 上。只需改变一个连接参数。
HTTP or HTTPS is a separate setting on the controller, independent of this table.Controller RobotWare Robot Web Services Connection parameter IRC5 RobotWare 6 and earlier RWS 1.0 RwsVersion.Irc5_V1_0OmniCore RobotWare 7 and later RWS 2.0 RwsVersion.OmniCore_V2_0浏览文档
实用文章
针对开发者最常问的 ABB 机器人问题给出的简短回答。
常见问题
需要在 ABB 机器人上安装什么吗?
不需要。Robot Web Services 是控制器自带的服务,标准系统上就有。只要机器人在网络上可访问,并且用户账户具有相应权限即可。
该 SDK 同时支持 IRC5 和 OmniCore 吗?
支持。运行 RobotWare 6 的 IRC5 控制器提供 RWS 1.0,运行 RobotWare 7 的 OmniCore 控制器提供 RWS 2.0。SDK 用一套 API 覆盖两者,您只需在连接参数中指定版本。
需要 RobotStudio 或 ABB 的 PC SDK 吗?
不需要。该库为 100% 托管代码,直接与控制器通信。只有当您想用虚拟控制器而不是真实机器人进行测试时,才需要 RobotStudio。
可以读写 RAPID 变量吗?
可以。您能读写变量、持久变量和常量,包括 robtarget 和 record 类型,也能搜索已加载程序中的符号。
支持哪些 .NET 版本?
从 .NET Framework 3.5 到 .NET 9,另有 .NET Standard 2.0 和 2.1 以及 .NET Core 3.0。除 .NET Framework 3.5 和 4.0 外,其余版本均提供异步方法。
可以用这个 SDK 让机器人运动吗?
您可以手动点动机器人、设置目标位置,并启动或停止包含运动的 RAPID 程序。连续的实时运动控制属于 Externally Guided Motion,该功能正在开发中。
后续计划
Robot Web Services 现已可用。ABB 控制器的其他原生协议,首先是 Externally Guided Motion(EGM),正在开发中,将加入同一个 SDK。
AvailableRobot Web Services
RAPID, I/O, position, controller, file system, event log and mastership, on IRC5 and on OmniCore.
In developmentExternally Guided Motion (EGM)
Low latency motion over UDP: position stream, position guidance and path correction, for sensor and vision driven applications.
下载并测试
Windows应用程序示例允许您使用简单的接口测试SDK的所有功能。 该示例用.NET 8中的“自我包含”和“单个文件”编译。该应用程序在不安装的情况下可移植。
申请报价并订购
价格
可以免费下载库, 可以进行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内部结构的精确知识