UnderAutomation
質問ですか?

[email protected]

お問い合わせ
UnderAutomation
⌘Q
ABB

ABB SDKABB ロボットを 自社のソフトウェアから制御

ABB 産業用ロボットと通信する .NET および Python アプリケーションを短時間で作成できます。IRC5 でも OmniCore でも動作します。 すぐに使えるソフトウェアライブラリです。PC がネットワークケーブル経由でロボットと通信します。

無料で試す価格を見る

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 の変数と persistent を読み書きし、タスクの開始と停止、プログラムポインタの移動、モジュールのロードと保存を行います。

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 を 1 つの API で

ABB ロボットは Robot Web Services を 2 つのバージョンで公開しています。本 SDK は両方に対応しているため、同じコードが古い IRC5 でも新しい OmniCore でも動作します。変更するのは接続パラメータ 1 つだけです。

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の例

ロボットのデカルト位置を回復するためのPythonを使用したこのSDKの操作の例。

インストール

コマンド 1 つでインストール

言語を選んでください。30 日間のトライアルは最初の使用時に始まります。登録は不要です。

.NET

C# と VB.NET 用の NuGet パッケージ。.NET Framework から最新の .NET まで対応。

dotnet add package UnderAutomation.ABB
NuGetを参照してくださいGitHubを参照してくださいガイドを開く

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%マネージドライブラリで、依存関係がなく、NuGet.orgでご希望のバージョンとアーキテクチャ (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...) で利用可能なC#またはVBでアプリケーションをコーディングできます。

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日間テストできます。 この期間の後、トライアル期間を延長するように頼むか、自分に最適なライセンスを購入することができます: サイト (不明瞭なバイナリのみ) またはソース (ソースコード) 。 購入後、1年のメンテナンス期間があり、サポートへの優先アクセスと更新の可能性が得られます。 使用するライセンスを購入する場合、ロボットブランドにリンクされているため、顧客に再配布するロボット、開発者、またはソフトウェアの数に関係なく、繰り返し料金を払うことなく永久に使用できます。 あなたがディストリビューターであり、お客様に当社の製品のいずれかを提供したい場合は、特別な条件と価格について話し合うためにお問い合わせください。

標準サイトライセンス

•

$1000一生
$600大学向け (40% 割引)
産業環境向けに設計されており、生涯にわたる全機能へのアクセスを提供します。
1 年間のメンテナンスが含まれています (アップデートへのアクセス)
サポートが優先されず、メンテナンスが 1 年間であることを除いて、Pro ライセンスと同じ条件です。
内部情報源はありません。 難読化された DLL のみが提供されます。
ビデオ会議によるサポートはありません (電子メールのみ)。
プロジェクトに適したライセンスを選択してください
今すぐ購入
最も人気のある

プロライセンス

•

$1400
$2360
一生
$840大学向け (40% 割引)
優先サポートと長期メンテナンスが必要な重要な実稼働環境向け。
3 年間のメンテナンスが含まれており (アップデートへのアクセス)、この期間中の更新注文はありません (事務手続きは不要)
完全かつ永続的なSDK: 定期的なサブスクリプションは必要ありません。ライセンスは永遠にあなたのものであり、ロボットブランドのすべてのプログラミング言語で機能します。
指示された郵便住所で、ライセンスを保持している組織がのみ使用できます。 すべてのチーム開発者は、開発マシンの数に関係なく、同じライセンスを共有します。
SDKを使用して開発されたアプリケーションは、接続するロボットの数に関係なく、追加費用なしで顧客の無制限の数に配信できます。
ライセンスは、機能のロックを解除するコードを呼び出すためのパスワードの一種です。 インストールする追加のソフトウェアはありません。 USBキーはありません。
優先サポート (平均 24 時間未満)
リモート アシスタンス (電子メールおよび最大 2 時間のビデオ会議)
内部情報源はありません。 難読化された DLL のみが提供されます。
いつでもソースにアップグレード (差額を支払う)
今すぐ購入

ソースコードライセンス

•

$2800一生
$1680大学向け (40% 割引)
完全な技術主権、詳細なカスタマイズ、完全な独立性を実現します。
プロライセンスと同じ条件
C# によるライブラリの完全な内部コード
数年かけて開発された数千行のコードを含む Visual Studio ソリューション
一般利用規約で定義されている制限内で、このソース コードを変更してアプリケーションで使用できます。
完全なソースコードアクセスと付属のコンテキストファイル(AGENTS.md)により、AIコーディングエージェント(Claude、Copilot、Cursor、Codex等)との連携が最適化され、LLMがSDK内部構造を正確に把握できます
今すぐ購入
FAQ

よくある質問

ありません。Robot Web Services はコントローラ自身のサービスで、標準システムに備わっています。ロボットがネットワーク上で到達可能で、ユーザーアカウントに必要な権限があれば十分です。

動作します。RobotWare 6 の IRC5 コントローラは RWS 1.0 を、RobotWare 7 の OmniCore コントローラは RWS 2.0 を公開しています。SDK は 1 つの API で両方をカバーし、接続パラメータでバージョンを指定するだけです。

必要ありません。ライブラリは 100% マネージドで、コントローラと直接通信します。RobotStudio が役に立つのは、実機ではなく仮想コントローラでテストしたい場合だけです。

できます。変数、persistent、定数を読み書きでき、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 パッケージ。

PythonGitHub で見る

今すぐ始めましょう!

今日から 30 日間のトライアルを始めるか、見積もりを依頼してください。

無料で試す注文見積もりを依頼するお問い合わせ