UnderAutomation
質問ですか?

[email protected]

お問い合わせ
UnderAutomation
⌘Q

ABB SDK

GitHub stars

Confidential pricing - contact us

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


Contact us

.NET

Plug & Play

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

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

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

30日間のトライアル

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

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

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

  1. ABB SDK の機能: IRC5 と OmniCore 向けの Robot Web Services

    RAPID 変数とプログラム

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

    入力 / 出力

    デジタル、アナログ、グループの各信号を一覧表示し、読み書きします。パルス出力や反転、I/O デバイスとネットワークの参照も可能です。
    // 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);

    位置と運動学

    現在の robtarget と jointtarget を取得し、順運動学と逆運動学を計算し、手動でロボットをジョグします。
    // 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);

    コントローラとバックアップ

    コントローラの識別情報とオプションを取得し、時刻とネットワークを設定し、フルバックアップの作成と復元を行います。
    // 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());

    ファイルシステム

    コントローラのファイルシステムを参照し、ファイルのダウンロードとアップロード、ファイルとディレクトリの作成、コピー、名前の変更、削除を行います。
    // 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);

    イベントログと状態

    イベントログを読み取り、運転モード、コントローラの状態、ロボットの速度比を監視します。
    // 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}");
    }
    }
  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で入手できます

  8. 見積依頼と注文

    The ABB SDK is not published yet. Contact us to get a preview build, a guided demo on your own robot, or a quote.

    Contact us about the ABB SDK

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

UnderAutomation
お問い合わせLegal

© All rights reserved.