ABB SDK
Confidential pricing - contact us
ABB 産業用ロボットと通信する .NET アプリケーションを短時間で作成できます。IRC5 でも OmniCore でも動作します。
.NET
Plug & Play
わずか数分でロボットを接続できます。ライセンス マネージャーをインストールしたり、USB キーをインストールしたりする必要はありません。ライブラリのみを参照してください。
ロボットにインストールするプラグインはありません
ロボットコントローラーによって標準として提供されるネットワークプロトコルの使用。
PCSDK ROS
30日間のトライアル
30日間無料で試してみてください、コミットメントなし、登録は必要ありません
一度支払い、永遠に使用してください
ロボット、開発者、または再配布されたソフトウェアの数に関係なく、永続的なライセンス、サブスクリプションは必要ありません
ABB SDK の機能: IRC5 と OmniCore 向けの Robot Web Services
RAPID 変数とプログラム
RAPID の変数と persistent を読み書きし、タスクの開始と停止、プログラムポインタの移動、モジュールのロードと保存を行います。// 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();入力 / 出力
デジタル、アナログ、グループの各信号を一覧表示し、読み書きします。パルス出力や反転、I/O デバイスとネットワークの参照も可能です。// 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);位置と運動学
現在の robtarget と jointtarget を取得し、順運動学と逆運動学を計算し、手動でロボットをジョグします。// 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);コントローラとバックアップ
コントローラの識別情報とオプションを取得し、時刻とネットワークを設定し、フルバックアップの作成と復元を行います。// 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());ファイルシステム
コントローラのファイルシステムを参照し、ファイルのダウンロードとアップロード、ファイルとディレクトリの作成、コピー、名前の変更、削除を行います。// 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);イベントログと状態
イベントログを読み取り、運転モード、コントローラの状態、ロボットの速度比を監視します。// 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}");}}IRC5 と OmniCore を 1 つの API で
ABB ロボットは Robot Web Services を 2 つのバージョンで公開しています。本 SDK は両方に対応しているため、同じコードが古い IRC5 でも新しい OmniCore でも動作します。変更するのは接続パラメータ 1 つだけです。
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 は 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 が担当します。
今後の予定
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を使用して「Self Conted」および「Single File」でコンパイルされています。アプリケーションはインストールなしでポータブルです。
見積依頼と注文
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