UnderAutomation
Une question ?

[email protected]

Contactez-nous
UnderAutomation
⌘Q
Yaskawa

Yaskawa SDKPilotez les robots Yaskawa depuis votre logiciel

Créez rapidement des applications en .NET, Python ou LabVIEW qui communiquent avec votre robot industriel Motoman Yaskawa. Une bibliothèque logicielle prête à l'emploi : votre PC dialogue avec le robot par le câble réseau.

Essayer gratuitementVoir les tarifs

À partir de 750 € / $900, paiement unique

Rien à installer sur le robot
Essai gratuit de 30 jours
Licence perpétuelle, sans abonnement
.NET / C#
Python
LabVIEW
Matlab
Yaskawa robot
Yaskawa SDK
1// dotnet add package UnderAutomation.Yaskawa
2using UnderAutomation.Yaskawa;
3
4var robot = new YaskawaRobot();
5robot.Connect("192.168.0.1");
6
7var position = robot.HighSpeedEServer.GetRobotCartesianPosition();
8robot.HighSpeedEServer.SelectJob("WELD01", 0);
9robot.HighSpeedEServer.StartJob();
En bref

Ce que vous obtenez

Plug & Play

Connectez votre robot en quelques minutes seulement. Pas de gestionnaire de license à installer, pas de clé USB. Référencez seulement la bibliothèque.

Pas de plugins à installer sur le robot

Utilisation des protocoles réseau fournis en standard par le contrôleur de robot.

MotoPlusMotoComROS

Essai de 30 jours

Essayez-le gratuitement pendant 30 jours, aucun engagement, aucun enregistrement requis

Payer une fois, utiliser pour toujours

Licence perpétuelle, aucun abonnement requis, quel que soit le nombre de robots, de développeurs ou de logiciels redistribués

Fonctionnalités

Fonctionnalités du SDK Yaskawa : HSES, Ethernet Server, FTP et cinématique

Chaque fonctionnalité a son exemple de code. Cliquez dessus pour voir le code complet.

Déplacer le robot

La bibliothèque permet l'envoi de commandes de mouvements cartésien et en joint, et permet de récupérer la position actuelle, le couple des moteurs et l'erreur de positionnement.

var robot = new YaskawaRobot();
robot.Connect("192.168.0.1");
// The servo must be on, the controller in remote mode
robot.HighSpeedEServer.SetServo(true);
// Linear move to an absolute position of the robot frame, at 50 mm/s
robot.HighSpeedEServer.MoveCartesian(
x: 850, y: 0, z: 400, // mm
rx: 180, ry: 0, rz: 0, // degrees
PositionCommandClassification.Cartesian_MM_S,
speed: 50,
PositionCommandOperationCoordinate.Robot,
commandtype: PositionCommandType.StraightAbsolute);
// Joint interpolated move to the same target, at 10 % of the maximum speed
robot.HighSpeedEServer.MoveCartesian(
850, 0, 400, 180, 0, 0,
PositionCommandClassification.LinkPercent,
speed: 10,
PositionCommandOperationCoordinate.Robot,
commandtype: PositionCommandType.LinkAbsolute);
robot.Disconnect();
}
Click to see the full code

Exécuter des programmes robot

Le SDK permet d'envoyer des programmes dans le contrôleur et de les démarrer à distance. Il est ensuite possible de suivre l'avancement de l'exécution ainsi que l'état d'alarme.

var robot = new YaskawaRobot();
robot.Connect("192.168.0.1");
// Select the job by its name, without the .JBI extension, at line 0
robot.HighSpeedEServer.SelectJob("WELD01", 0);
// Starting needs the play mode, the remote mode and the servo on
robot.HighSpeedEServer.SetServo(true);
robot.HighSpeedEServer.StartJob();
robot.Disconnect();
}
Click to see the full code

Lecture et écriture de données

Votre application peut lire et écrire les registres de tous les types dans le robot (IO, variables de position, variable Byte, ...)

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();
}
Click to see the full code

Transfert de fichiers

Téléchargez, envoyez et supprimez les jobs et les fichiers de données par FTP, HTTP ou le High Speed Ethernet Server, et récupérez la sauvegarde CMOS.

var robot = new YaskawaRobot();
robot.Connect(parameters);
// Text of a file: the folder is deduced from the extension
string job = robot.Ftp.GetFile("TEST.JBI");
// Bytes of a file, with its full path
byte[] variables = robot.Ftp.DownloadFile("/DAT/VAR.DAT");
// To a file of the PC
robot.Ftp.DownloadFileToLocal("/PRM/ALL.PRM", @"C:\Backup\ALL.PRM");
// Several files into a folder of the PC: returns the local paths
string[] saved = robot.Ftp.DownloadFilesToLocal(new[] { "/JOB/TEST.JBI", "/DAT/VAR.DAT" }, @"C:\Backup");
robot.Disconnect();
}
Click to see the full code

Ethernet Server en TCP

Lisez l'état, les alarmes avec leur texte, les positions dans tout repère et la température des codeurs. Démarrez un job et attendez sa fin en un seul appel.

var robot = new YaskawaRobot();
robot.Connect(parameters);
// Play mode, remote mode, no alarm
robot.EServer.SelectJob("PICK", 0); // job and line
robot.EServer.SetServo(true);
robot.EServer.StartJob();
// Blocks until the job ends, or 60 s
bool completed = robot.EServer.WaitForJobCompletion(60);
Console.WriteLine(completed ? "Job completed" : "Job stopped or timeout");
robot.Disconnect();
}
Click to see the full code

Cinématique hors ligne

Cinématique directe et inverse de 169 bras et cobots Yaskawa, sur le PC : jusqu'à 8 ou 16 solutions articulaires par position, paramètres DH lus dans ALL.PRM.

static void Main()
{
DhParameters dh = DhParameters.FromArmKinematicModel(ArmKinematicModels.GP7);
// Flange position in the robot frame: mm and degrees
var 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=...
}
}
Click to see the full code
Démo

Voir le SDK en action

Vidéo et captures de l'application de démonstration livrée avec le SDK.

Exemple d'application Windows

Pas de code à écrire : testez le SDK sur votre robot avec l'application de démonstration.

Télécharger (132 MB)En téléchargeant, vous acceptez les conditions générales d'utilisation : Voir les conditions générales d'utilisation

Exemples sur GitHub

Les sources des exemples d'utilisation de ce SDK sont disponibles sur GitHub

Exemple Python

Exemple de fonctionnement de ce SDK avec Python permettant de récupérer la position cartésienne d'un robot.

Exemple LabVIEW

Exemple de VI qui permet de tester la plupart des fonctions de ce SDK.

Installation

Installez-le en une commande

Choisissez votre langage. L'essai de 30 jours démarre à la première utilisation, sans inscription.

.NET

Paquet NuGet pour C# et VB.NET, de .NET Framework au dernier .NET.

dotnet add package UnderAutomation.Yaskawa
Voir sur NuGetVoir sur GitHubOuvrir le guide

Python

Paquet Python sur PyPI, pour Windows, Linux et macOS.

pip install UnderAutomation.Yaskawa

LabVIEW

Bibliothèque LabVIEW (.lvlib) et son projet d'exemple, sur GitHub.

git clone https://github.com/underautomation/Yaskawa.vi.git

Agents IA

Skill pour les agents de code IA (Claude Code, Cursor, Copilot...) : votre assistant connaît l'API du SDK.

npx skills add underautomation/skills --skill underautomation-yaskawa-csharp
Documentation

Parcourir la documentation

La documentation vous permet de commencer rapidement à vous développer avec la bibliothèque. La même fonctionnalité est disponible dans toutes les langues prises en charge.

Parcourir la documentation

La documentation vous permet de commencer rapidement à vous développer avec la bibliothèque. La même fonctionnalité est disponible dans toutes les langues prises en charge.

Commencer avec .NET

Codez votre application en C# ou VB avec cette bibliothèque 100% managée, sans dépendances et disponible sur NuGet.org dans la version et l'architecture de votre choix (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...)

Commencer avec Python

Développez rapidement un programme en Python qui communique avec votre robot à l'aide de cette bibliothèque. Elle est disponible sur PyPI.

Commencer avec LabVIEW

Equipez vos VIs LabVIEW d'une communication avec votre robot.

Commencer avec Matlab

Permet à vos scripts Matlab *.m de communiquer avec vos cobots.

Guides et articles pratiques

Chaque article explique comment réaliser une tâche, pas à pas, avec du code à copier.

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.

Tarifs

Les bibliothèques sont téléchargeables gratuitement et peuvent être testées pendant 30 jours. Passé ce délai, vous pouvez nous demander de prolonger la période d'essai, ou acheter la licence qui vous convient le mieux : site (binaires obscurcis uniquement) ou source (code source). Après l'achat, vous disposez d'une période de maintenance d'un an, vous donnant un accès prioritaire au support et la possibilité de mettre à jour. Lorsque vous achetez une licence d'utilisation, elle est liée à une marque de robot, vous pouvez l'utiliser pour toujours, sans redevance récurrente, quel que soit le nombre de robot, de développeur ou de logiciel que vous redistribuez à vos clients. Si vous êtes un distributeur et souhaitez proposer à vos clients un de nos produits, merci de nous contacter pour discuter des conditions et tarifs spéciaux.

Licence Site Standard

•

750€Pour toujours
450€pour les universités (40% de réduction)
Conçu pour les environnements industriels, offrant un accès complet aux fonctionnalités à vie.
1 an de maintenance incluse (accès aux mises à jour)
Mêmes conditions que la Licence Pro, sauf que le support n'est pas prioritaire et la maintenance est de 1 an.
Il n'y a pas de sources internes ; seule la DLL masquée est fournie.
Pas d'assistance par visioconférence (uniquement par email).
Choisissez la bonne licence pour votre projet
Acheter maintenant
Le plus populaire

Licence Pro

•

1100€
1800€
Pour toujours
660€pour les universités (40% de réduction)
Pour les environnements de production critiques nécessitant un support prioritaire et une maintenance à plus long terme.
3 ans de maintenance incluse (accès aux mises à jour) sans commande de renouvellement pendant cette durée (zéro paperasse)
SDK complet et permanent : aucun abonnement récurrent n'est requis, la license est à vous pour toujours et fonctionne dans tous les langages de programmation pour une marque de robot.
Peut être utilisé uniquement par l'organisation détentrice de la licence, à l'adresse postale indiquée. Tous les développeurs de l'équipe partageront la même licence, quel que soit le nombre de machine de développement.
Toute application développée à l'aide du SDK peut être livrée à un nombre illimité de vos clients sans frais supplémentaires, quel que soit le nombre de robots à connecter.
La license est une sorte de mot de passe à appeler dans le code qui débloque les fonctionnalités. Pas de logiciel supplémentaire à installer. Pas de clé USB.
Support prioritaire (<24h en moyenne)
Assistance à distance (email et jusqu'à 2h de visioconférence)
Il n'y a pas de sources internes ; seule la DLL masquée est fournie.
Passez à Source à tout moment (payez la différence)
Acheter maintenant

Licence Source

•

2200€Pour toujours
1320€pour les universités (40% de réduction)
Pour une totale souveraineté technique, une personnalisation poussée et une indépendance totale.
Mêmes conditions que la licence pro
Code interne complet de la bibliothèque en C#
Solution Visual Studio comprenant des milliers de lignes de code développées sur plusieurs années
Vous pouvez modifier ce code source et l'utiliser dans votre application, dans les limites définies dans les conditions générales d'utilisation.
Compatible avec les agents IA de codage (Claude, Copilot, Cursor, Codex...) grâce à l'accès au code source complet et aux fichiers de contexte inclus (AGENTS.md) qui donnent au LLM une connaissance précise des internals du SDK
Acheter maintenant
FAQ

Questions fréquentes

Non. Le SDK utilise des fonctions du contrôleur : le High Speed Ethernet Server (HSES), l'Ethernet Server, le serveur web et le serveur FTP. Aucune application MotoPlus n'est installée. Certaines fonctions demandent des paramètres sur le pupitre, par exemple le mode remote ou l'autorisation d'écraser un fichier. La documentation les liste.

Les robots Motoman sur contrôleurs YRC1000 (micro), MOTOMAN NEXT, DX100 / DX200, FS100 et ERC / XRC / MRC.

Quatre protocoles du contrôleur : le High Speed Ethernet Server en UDP (état, positions, mouvements, jobs, variables, E/S, fichiers), l'Ethernet Server en TCP (les mêmes fonctions sans les fichiers), le serveur web pour lire les fichiers et le serveur FTP pour les transférer. Chacun s'active avec un indicateur dans ConnectParameters.

Oui, hors ligne, sans contrôleur. Le SDK calcule la cinématique directe et toutes les solutions de la cinématique inverse (jusqu'à 8, ou 16 pour les cobots HC10) de 169 modèles Motoman. La géométrie vient du catalogue du SDK ou du fichier ALL.PRM du contrôleur.

La licence est perpétuelle, sans abonnement. Standard : 750 EUR / 900 USD. Pro : 1100 EUR / 1300 USD. Source : 2200 EUR / 2600 USD. Elle couvre une organisation à une adresse, avec un nombre illimité de développeurs, de robots et d'applications livrées. Les mises à jour sont incluses pendant 1 an avec la Standard et 3 ans avec la Pro et la Source. Les universités ont une remise de 40 %.

Oui. Toutes les fonctions marchent pendant 30 jours à partir de la première utilisation, sans inscription. L'essai peut être prolongé sur demande. L'application de démonstration Windows permet d'essayer le SDK sur votre robot sans écrire de code.

Oui. La bibliothèque est compilée pour .NET Standard 2.0 et 2.1, qui fonctionnent sous Windows, Linux et macOS, en x64 et ARM. Pour Python sous Linux ou macOS, installez le runtime .NET et lancez export PYTHONNET_RUNTIME=coreclr avant de démarrer Python.

Oui. pip install UnderAutomation.Yaskawa installe le paquet et pythonnet, qui charge la bibliothèque .NET dans le processus Python. Python 3.7 à 3.13 est supporté. L'API est la même qu'en .NET, avec des noms Python.

Oui. La bibliothèque LabVIEW (.lvlib) et son projet d'exemple sont sur GitHub, dans le dépôt Yaskawa.vi. Ils utilisent la même assembly .NET que les autres langages.

Oui, avec la licence Source : tout le code C# de la bibliothèque et sa solution Visual Studio. Vous pouvez le modifier et l'utiliser dans vos applications, dans les limites du contrat de licence (EULA). Les licences Standard et Pro fournissent uniquement la DLL obfusquée.
GitHub

Les bibliothèques sur GitHub

Chaque paquet est publié sur GitHub avec son journal des modifications.

Dernières versions

Yaskawa.NET

Dernière version

underautomation / Yaskawa.NET

Public

Bibliothèque .NET du SDK Yaskawa.

C#Voir sur GitHub

underautomation / Yaskawa.py

Public

Package Python du SDK Yaskawa.

PythonVoir sur GitHub

underautomation / Yaskawa.vi

Public

Bibliothèque LabVIEW du SDK Yaskawa, avec des VIs d'exemple.

LabVIEWVoir sur GitHub

Commencez maintenant !

Démarrez l'essai de 30 jours aujourd'hui, ou demandez un devis.

Essayer gratuitementCommanderDemander un devisContactez-nous