ABB SDKPilotez les robots ABB depuis votre logiciel
Créez rapidement des applications .NET et Python qui communiquent avec votre robot industriel ABB, aussi bien sur IRC5 que sur OmniCore. Une bibliothèque logicielle prête à l'emploi : votre PC dialogue avec le robot par le câble réseau.
À partir de 800 € / $1000, paiement unique
Matlab
1// dotnet add package UnderAutomation.ABB2using UnderAutomation.ABB;34var robot = new AbbController();5robot.Connect("192.168.0.1");67var target = robot.Rws.MotionSystem.GetRobTarget("ROB_1");8robot.Rws.Rapid.SetSymbolValue("RAPID/T_ROB1/user/reg1", "5");9var state = robot.Rws.Panel.GetControllerState();
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.
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 du SDK ABB : Robot Web Services pour IRC5 et OmniCore
Chaque fonctionnalité a son exemple de code. Cliquez dessus pour voir le code complet.
Variables et programmes RAPID
Lisez et écrivez les variables et les persistants RAPID, démarrez et arrêtez les tâches, déplacez le pointeur de programme, chargez et sauvegardez les modules.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// 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();}}
Entrées / Sorties
Listez, lisez et écrivez les signaux numériques, analogiques et de groupe. Envoyez une impulsion, inversez un signal, parcourez les équipements et les réseaux d'E/S.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// 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);}}
Position et cinématique
Lisez le robtarget et le jointtarget courants, calculez la cinématique directe et inverse, et déplacez le robot en manuel.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// 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);}}
Contrôleur et sauvegarde
Lisez l'identité et les options du contrôleur, réglez l'horloge et le réseau, créez et restaurez une sauvegarde complète.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// 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());}}
Système de fichiers
Parcourez le système de fichiers du contrôleur, téléchargez et envoyez des fichiers, créez, copiez, renommez et supprimez fichiers et répertoires.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// 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);}}
Journal d'événements et état
Lisez le journal d'événements, suivez le mode de fonctionnement, l'état du contrôleur et la vitesse du robot.
AbbController robot = new AbbController();robot.Connect("192.168.0.1");// 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 et OmniCore, une seule API
Les robots ABB exposent Robot Web Services en deux versions. Le SDK couvre les deux, le même code fonctionne donc sur un ancien IRC5 comme sur un OmniCore récent. Un seul paramètre de connexion change.
| Controller | RobotWare | Robot Web Services | Connection parameter |
|---|---|---|---|
| IRC5 | RobotWare 6 and earlier | RWS 1.0 | RwsVersion.Irc5_V1_0 |
| OmniCore | RobotWare 7 and later | RWS 2.0 | RwsVersion.OmniCore_V2_0 |
La suite
Robot Web Services est disponible aujourd'hui. Les autres protocoles natifs des contrôleurs ABB, à commencer par Externally Guided Motion (EGM), sont en développement et seront ajoutés au même SDK.
Robot Web Services
RAPID, I/O, position, controller, file system, event log and mastership, on IRC5 and on OmniCore.
Externally Guided Motion (EGM)
Low latency motion over UDP: position stream, position guidance and path correction, for sensor and vision driven applications.
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.

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.
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.ABBPython
Paquet Python sur PyPI, pour Windows, Linux et macOS.
pip install UnderAutomation.ABBAgents 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-abb-csharpParcourir 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 Matlab
Permet à vos scripts Matlab *.m de communiquer avec vos cobots.
Guides et articles pratiques
Des réponses courtes aux questions que les développeurs se posent le plus souvent sur les robots 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.
IRC5 or OmniCore: which RWS version
RWS 1.0 runs on IRC5 with RobotWare 6, RWS 2.0 on OmniCore with RobotWare 7. Compare both, and see what changes in your code.
Read & write RAPID variables
Read and write a RAPID num, bool, string, robtarget or a custom record from C#, on IRC5 and on OmniCore.
Get the robot position
Read the current Cartesian position (robtarget) and the joint position (jointtarget) of an ABB robot, and convert between them.
Start & stop a RAPID program
Start, stop and reset a RAPID program remotely: motors on, program pointer, execution cycle, and how to check that it really started.
Read & write I/O signals
Read and write digital, analog and group I/O signals of an ABB controller, pulse a signal and simulate one during tests.
Backup & restore a controller
Create a full controller backup, download it to your PC, check it and restore it, entirely from your application.
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
•
Licence Pro
•
Licence Source
•
Questions fréquentes
Les bibliothèques sur GitHub
Chaque paquet est publié sur GitHub avec son journal des modifications.
Commencez maintenant !
Démarrez l'essai de 30 jours aujourd'hui, ou demandez un devis.