UnderAutomation
質問ですか?

[email protected]

お問い合わせ
UnderAutomation
⌘Q

ABB SDK

GitHub stars

800 (EUR) • 1000 (USD)

$1000一生
$600大学向け (40% 割引)

ABB 産業用ロボットと通信する .NET および Python アプリケーションを短時間で作成できます。IRC5 でも OmniCore でも動作します。

プロジェクトに適したライセンスを選択してください
注文見積もりを依頼する

.NET

Python

利用規約を見る
Plug & Play

わずか数分でロボットを接続できます。ライセンス マネージャーをインストールしたり、USB キーをインストールしたりする必要はありません。ライブラリのみを参照してください。

ロボットにインストールするプラグインはありません

ロボットコントローラーによって標準として提供されるネットワークプロトコルの使用。
PCSDK ROS

30日間のトライアル

30日間無料で試してみてください、コミットメントなし、登録は必要ありません

一度支払い、永遠に使用してください

ロボット、開発者、または再配布されたソフトウェアの数に関係なく、永続的なライセンス、サブスクリプションは必要ありません

  1. 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
  2. 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
  3. ドキュメントを見る

    ドキュメントを閲覧します

    このドキュメントを使用すると、ライブラリですぐに開発を開始できます。 同じ機能は、すべてのサポートされている言語で利用できます。

  4. 実践記事

    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.

  5. よくある質問

    ABB ロボット側に何かインストールする必要はありますか。

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

    この SDK は IRC5 と OmniCore の両方で動作しますか。

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

    RobotStudio や ABB の PC SDK は必要ですか。

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

    RAPID 変数の読み書きはできますか。

    できます。変数、persistent、定数を読み書きでき、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 が担当します。

  6. 今後の予定

    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.

    In development

    Externally Guided Motion (EGM)

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

  7. ダウンロードして試す

    Windowsアプリケーションの例
    Windowsアプリケーションの例

    SDKのすべての機能を簡単なインターフェイスでテストできます。 この例は、.NET 8を使用して「Self Conted」および「Single File」でコンパイルされています。アプリケーションはインストールなしでポータブルです。

    UnderAutomation.Abb.Showcase.Forms.exe
    What this application does
    ダウンロードすることにより、一般的な使用条件を受け入れます。 利用規約を見る
    Githubの例
    Githubの例

    このSDKの使用例のソースは、githubで入手できます

    Python package
    Python package

    The same SDK for Python, installed from PyPI. It runs on Windows, Linux and macOS.

  8. 見積依頼と注文

    価格

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

    標準サイトライセンス

    800€ (EUR) • $1000 (USD)

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

    プロライセンス

    1200€ (EUR) • $1400 (USD)

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

    ソースコードライセンス

    2400€ (EUR) • $2800 (USD)

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

Universal Robots、Fanuc、Yaskawa、ABB、Staubli ロボットを .NET、Python、LabVIEW、または Matlab アプリケーションに簡単に統合

UnderAutomation
お問い合わせLegal

© All rights reserved.