Yaskawa SDKYaskawa ロボットを 自社のソフトウェアから制御
Motoman Yaskawa 産業用ロボットと通信する .NET、Python、LabVIEW のアプリケーションをすばやく作成できます。 すぐに使えるソフトウェアライブラリです。PC がネットワークケーブル経由でロボットと通信します。
Matlab
1// dotnet add package UnderAutomation.Yaskawa2using UnderAutomation.Yaskawa;34var robot = new YaskawaRobot();5robot.Connect("192.168.0.1");67var position = robot.HighSpeedEServer.GetRobotCartesianPosition();8robot.HighSpeedEServer.SelectJob("WELD01", 0);9robot.HighSpeedEServer.StartJob();
得られるもの
Plug & Play
わずか数分でロボットを接続できます。ライセンス マネージャーをインストールしたり、USB キーをインストールしたりする必要はありません。ライブラリのみを参照してください。
ロボットにインストールするプラグインはありません
ロボットコントローラーによって標準として提供されるネットワークプロトコルの使用。
30日間のトライアル
30日間無料で試してみてください、コミットメントなし、登録は必要ありません
一度支払い、永遠に使用してください
ロボット、開発者、または再配布されたソフトウェアの数に関係なく、永続的なライセンス、サブスクリプションは必要ありません
Yaskawa SDK の機能:HSES、Ethernet Server、FTP、運動学
各機能にコード例があります。クリックするとコード全体を表示します。
ロボットを移動します
ライブラリを使用すると、デカルトおよびジョイントの動きのコマンドを送信でき、現在の位置、いくつかのエンジン、および位置決めエラーを回復できます。
var robot = new YaskawaRobot();robot.Connect("192.168.0.1");// The servo must be on, the controller in remote moderobot.HighSpeedEServer.SetServo(true);// Linear move to an absolute position of the robot frame, at 50 mm/srobot.HighSpeedEServer.MoveCartesian(x: 850, y: 0, z: 400, // mmrx: 180, ry: 0, rz: 0, // degreesPositionCommandClassification.Cartesian_MM_S,speed: 50,PositionCommandOperationCoordinate.Robot,commandtype: PositionCommandType.StraightAbsolute);// Joint interpolated move to the same target, at 10 % of the maximum speedrobot.HighSpeedEServer.MoveCartesian(850, 0, 400, 180, 0, 0,PositionCommandClassification.LinkPercent,speed: 10,PositionCommandOperationCoordinate.Robot,commandtype: PositionCommandType.LinkAbsolute);robot.Disconnect();}
ロボットプログラムを実行します
SDKを使用すると、プログラムをコントローラーに送信してリモートで開始できます。 その後、実行の進捗状況とアラーム状態に従うことが可能です。
var robot = new YaskawaRobot();robot.Connect("192.168.0.1");// Select the job by its name, without the .JBI extension, at line 0robot.HighSpeedEServer.SelectJob("WELD01", 0);// Starting needs the play mode, the remote mode and the servo onrobot.HighSpeedEServer.SetServo(true);robot.HighSpeedEServer.StartJob();robot.Disconnect();}
データの読み取りと書き込み
アプリケーションは、ロボット内のすべてのタイプのレジスタを読み書きできます (IO、位置変数、バイト変数、...)
var robot = new YaskawaRobot();robot.Connect("192.168.0.1");// B000 to B003: byte variables (0 to 255)byte[] b = robot.HighSpeedEServer.ReadByte(0, 4).Value;robot.HighSpeedEServer.WriteByte(0, new byte[] { 1, 2, 3, 4 });// I010 and I011: integer variables (16 bits)short[] i = robot.HighSpeedEServer.ReadInteger(10, 2).Value;robot.HighSpeedEServer.WriteInteger(10, new short[] { -100, 200 });// D000: double integer variable (32 bits)int[] d = robot.HighSpeedEServer.ReadDoubleInteger(0, 1).Value;robot.HighSpeedEServer.WriteDoubleInteger(0, new[] { 100000 });// R005 to R007: real variables (32 bit floating point)float[] r = robot.HighSpeedEServer.ReadReal(5, 3).Value;robot.HighSpeedEServer.WriteReal(5, new[] { 1.5f, -2.25f, 3f });robot.Disconnect();}
ファイル転送
FTP、HTTP、または High Speed Ethernet Server でジョブとデータファイルをダウンロード、アップロード、削除し、CMOS バックアップをダウンロードします。
var robot = new YaskawaRobot();robot.Connect(parameters);// Text of a file: the folder is deduced from the extensionstring job = robot.Ftp.GetFile("TEST.JBI");// Bytes of a file, with its full pathbyte[] variables = robot.Ftp.DownloadFile("/DAT/VAR.DAT");// To a file of the PCrobot.Ftp.DownloadFileToLocal("/PRM/ALL.PRM", @"C:\Backup\ALL.PRM");// Several files into a folder of the PC: returns the local pathsstring[] saved = robot.Ftp.DownloadFilesToLocal(new[] { "/JOB/TEST.JBI", "/DAT/VAR.DAT" }, @"C:\Backup");robot.Disconnect();}
TCP による Ethernet Server
状態、テキスト付きのアラーム、任意の座標系での位置、エンコーダ温度を読み取ります。ジョブを起動し、1回の呼び出しで終了を待ちます。
var robot = new YaskawaRobot();robot.Connect(parameters);// Play mode, remote mode, no alarmrobot.EServer.SelectJob("PICK", 0); // job and linerobot.EServer.SetServo(true);robot.EServer.StartJob();// Blocks until the job ends, or 60 sbool completed = robot.EServer.WaitForJobCompletion(60);Console.WriteLine(completed ? "Job completed" : "Job stopped or timeout");robot.Disconnect();}
オフライン運動学
PC 上で 169 機種の Yaskawa アームと協働ロボットの順運動学と逆運動学を計算:1つの位置に対して最大 8 または 16 の関節解、DH パラメータは ALL.PRM から読み取り可能。
static void Main(){DhParameters dh = DhParameters.FromArmKinematicModel(ArmKinematicModels.GP7);// Flange position in the robot frame: mm and degreesvar target = new CartesianPosition(400, 100, 300, 180, 0, 0);// Every joint solution, angles in (-180, 180]. Empty if the position cannot be reached.JointsAngles[] solutions = KinematicsUtils.InverseKinematics(target, dh);foreach (JointsAngles solution in solutions)Console.WriteLine(solution); // S=..., L=..., U=..., R=..., B=..., T=...}}
実際の動作を見る
SDK に付属するデモアプリケーションの動画とスクリーンショットです。
Windowsアプリケーションの例
コードは不要です。デモアプリケーションで、お使いのロボットで SDK を試せます。

Githubの例
このSDKの使用例のソースは、githubで入手できます
Pythonの例
ロボットのデカルト位置を回復するためのPythonを使用したこのSDKの操作の例。
LabViewの例
このSDKの機能のほとんどをテストできるVIの例。
コマンド 1 つでインストール
言語を選んでください。30 日間のトライアルは最初の使用時に始まります。登録は不要です。
.NET
C# と VB.NET 用の NuGet パッケージ。.NET Framework から最新の .NET まで対応。
dotnet add package UnderAutomation.YaskawaPython
PyPI の Python パッケージ。Windows、Linux、macOS に対応。
pip install UnderAutomation.YaskawaLabVIEW
LabVIEW ライブラリ (.lvlib) とサンプルプロジェクト。GitHub で公開。
git clone https://github.com/underautomation/Yaskawa.vi.gitAI エージェント
AI コーディングエージェント(Claude Code、Cursor、Copilot など)用の Skill。アシスタントが SDK の API を理解します。
npx skills add underautomation/skills --skill underautomation-yaskawa-csharpドキュメントを閲覧します
このドキュメントを使用すると、ライブラリですぐに開発を開始できます。 同じ機能は、すべてのサポートされている言語で利用できます。
ドキュメントを閲覧します
このドキュメントを使用すると、ライブラリですぐに開発を開始できます。 同じ機能は、すべてのサポートされている言語で利用できます。
.NETを始めよう
100%マネージドライブラリで、依存関係がなく、NuGet.orgでご希望のバージョンとアーキテクチャ (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...) で利用可能なC#またはVBでアプリケーションをコーディングできます。
Pythonを始めよう
このライブラリを使って、ロボットと通信するプログラムをPythonで素早く開発することができます。PyPIで公開されています。
LabVIEWを使いこなす
LabVIEW VIにロボットとの通信機能を持たせてください。

Matlabを始めよう
Matlab スクリプトがロボットを動かすようにします。
ガイドとハウツー記事
各記事は、1 つの作業のやり方を手順ごとに、コピーして使えるコードとともに説明します。
Get the robot position
Read the position of a Yaskawa robot from C# or Python: Cartesian position or joint pulses, which method to choose, and a polling loop. Complete program included.
Read and write I/O
Switch a network input and wait for an output of a Yaskawa controller from C# or Python, with the signal numbers, groups and bits explained.
Read and write variables
Exchange data with a Yaskawa job from C# or Python: integer, real, byte and string variables, which type to choose, and the frequent errors.
Run a job
Select a job of a Yaskawa controller, switch the servo on, start it and wait for its end from C# or Python. Settings of the controller and frequent errors.
Read and reset alarms
Detect an alarm of a Yaskawa controller, read its code and text, reset it and check the result, from C# or Python.
Transfer files and backups
Back up every job of a Yaskawa controller, send a job written on the PC and download the CMOS backup, from C# or Python.
Monitor the state of the robot
Poll the mode, the servo, the hold, the alarms and the job of a Yaskawa controller, and print each change of state.
Move the robot from a PC
Switch the servo on and move a Yaskawa robot in a straight line from C# or Python, without a job. Which move to choose, how to wait for the end, and the frequent errors.
価格
ライブラリは無料でダウンロードでき、30日間テストできます。 この期間の後、トライアル期間を延長するように頼むか、自分に最適なライセンスを購入することができます: サイト (不明瞭なバイナリのみ) またはソース (ソースコード) 。 購入後、1年のメンテナンス期間があり、サポートへの優先アクセスと更新の可能性が得られます。 使用するライセンスを購入する場合、ロボットブランドにリンクされているため、顧客に再配布するロボット、開発者、またはソフトウェアの数に関係なく、繰り返し料金を払うことなく永久に使用できます。 あなたがディストリビューターであり、お客様に当社の製品のいずれかを提供したい場合は、特別な条件と価格について話し合うためにお問い合わせください。
標準サイトライセンス
•
プロライセンス
•
ソースコードライセンス
•
よくある質問
GitHub のライブラリ
各パッケージは変更履歴とともに GitHub で公開されています。