UnderAutomation
Eine Frage?

[email protected]

Kontakt
UnderAutomation
⌘Q

Fanuc SDK

GitHub stars
1100 (EUR)1300 (USD)

1100

fürs Leben

660

für Universitäten (40 % Rabatt)

Erstellen Sie schnell .NET -Anwendungen, die mit Ihrem Fanuc -Industrie -Roboter kommunizieren.

Wählen Sie die richtige Lizenz für Ihr Projekt
BefehlAngebot anfordern

.NET

Python

LabVIEW

Siehe Bedingungen und Konditionen
Plug & Play

Verbinden Sie Ihren Roboter in nur wenigen Minuten. Kein zu installierender Lizenzmanager, kein USB-Stick. Verweisen Sie nur auf die Bibliothek.

Keine Plugins für den Roboter zu installieren

Verwendung von Netzwerkprotokollen, die vom Robotercontroller als Standard bereitgestellt werden.
Karel ROS

30-tägige Testversion

Versuchen Sie es 30 Tage lang kostenlos, keine Verpflichtung, keine Registrierung erforderlich

Einmal bezahlen, für immer benutzen

Unbefristete Lizenz, kein Abonnement erforderlich, unabhängig von der Anzahl der Roboter, Entwickler oder weiterverteilten Software

Kundenerfolgsgeschichten

Entdecken Sie, wie unsere Kunden UnderAutomation-Lösungen in ihre Industrieprojekte integrieren.

GE
Aerospace / Healthcare

GE: Aerospace & Healthcare Automation

GE Accelerates Industrial Automation with UnderAutomation SDKs for Universal Robots and FANUC.

Vorschau von Funktionen

Fernbefehle

Mit der Telnet KCL (Befehlszeile Tastatur) können Sie Befehle senden, um den Roboter aus der Ferne zu steuern - für den Controller ist keine zusätzliche Option erforderlich.
// Reset alarms
robot.Telnet.Reset();
// Run a program
robot.Telnet.Run("MyProgram");
robot.Telnet.Pause("MyProgram");
robot.Telnet.Hold("MyProgram");
robot.Telnet.Continue("MyProgram");
robot.Telnet.Abort("MyProgram", force: true);
// Set a variable
robot.Telnet.SetVariable("$RMT_MASTER", 1);
// Set an output port (example: DOUT port 2 = 0)
robot.Telnet.SetPort(KCLPorts.DOUT, 2, 0);
// Simulate an input port (example: DIN port 3 = 1)
robot.Telnet.Simulate(KCLPorts.DIN, 3, 1);
robot.Telnet.Unsimulate(KCLPorts.DIN, 3);

Hochgeschwindigkeitsdaten lesen und schreiben

SNPX (auch als SRTP/Robotif bekannt) ermöglicht eine schnelle und strukturierte Datenkommunikation mit dem Roboter. Es wird verwendet, um die Register zu lesen/zu schreiben, Alarme zu überwachen und den Zustand des Roboters zu überprüfen.
// Read a register
Position posReg1 = robot.Snpx.PositionRegisters.Read(1);
float numReg5 = robot.Snpx.NumericRegisters.Read(5);
string strReg10 = robot.Snpx.StringRegisters.Read(10);
// Write a register
posReg1.CartesianPosition.X = 100;
robot.Snpx.PositionRegisters.Write(1, posReg1);
robot.Snpx.NumericRegisters.Write(2, 123.45f);
robot.Snpx.StringRegisters.Write(3, "Hello, world!");
// Read a variable
int rmtMaster = robot.Snpx.IntegerSystemVariables.Read("$RMT_MASTER");
string lastAlm = robot.Snpx.StringSystemVariables.Read("$ALM_IF.$LAST_ALM");
Position cellFloor = robot.Snpx.PositionSystemVariables.Read("$CELL_FLOOR");
// Write a system variable
robot.Snpx.IntegerSystemVariables.Write("$RMT_MASTER", 1);
robot.Snpx.StringSystemVariables.Write("$ALM_IF.$LAST_ALM", "No alarms");
robot.Snpx.PositionSystemVariables.Write("$CELL_FLOOR", cellFloor);
// Write a Karel program variable
robot.Snpx.IntegerSystemVariables.Write("$[KarelProgram]KarelVariable", 1);
// Read and Write I/O (SDI,SDO,RDI,RDO,UI,UO,SI,SO,WI,WO,WSI,PMC_K,PMC_R)
robot.Snpx.RDO.Write(1, true);
ushort ai5 = robot.Snpx.AI.Read(5);
// Read and Write analogs (AI,AO,GI,GO,PMC_D)
robot.Snpx.AO.Write(2, 5);
ushort ao3 = robot.Snpx.AO.Read(3);
// Clear alarms
robot.Snpx.ClearAlarms();

Datei und Dekodierung

Direkter Zugriff auf FTP zum Speicher des Roboters für die Dateiübertragung, das Lesen von Variablen und die Verwaltung des Roboterzustands, alles in dekodiert und bereit für die Verwendung in strukturierten .NET -Objekten.
IOState ioState = robot.Ftp.GetIOState();
// Read a variable
var variableFiles = robot.Ftp.GetAllVariables();
foreach (var variableFile in variableFiles)
foreach (var variable in variableFile.Variables)
Console.WriteLine($"{variable.Name} = {variable.Value}");
// Read system variable $RMT_MASTER
int remoteMode = robot.Ftp.KnownVariableFiles.GetSystemFile().RmtMaster;
// Read safety status
SafetyStatus safetyStatus = robot.Ftp.GetSafetyStatus();
Console.WriteLine($"Emergency Stop: {safetyStatus.ExternalEStop}");
Console.WriteLine($"Teach Pendant Enabled: {safetyStatus.TPEnable}");
// Get current position for each arm (Joints, World position of each tool, user frame positions)
CurrentPosition currentPosition = robot.Ftp.GetCurrentPosition();
// Upload a TP program to the controller
robot.Ftp.DirectFileHandling.UploadFileToController(@"C:\Programs\MyPrg.tp", "md:/MyPrg.tp");
// Download a file from the robot
robot.Ftp.DirectFileHandling.DownloadFileFromController("md:/Backup.va", @"C:\Backup\Backup.va");
// Delete a file on the robot
robot.Ftp.DirectFileHandling.DeleteFile("md:/OldProgram.tp");

Inverse Kinematik

Algebraische Berechnung der direkten und inversen Kinematik jedes Fanuc-Roboters oder Cobots anhand seiner DH-Parameter.
// Get DH parameters
// Example: CRX-10iA/L
DhParameters dh = new DhParameters(-540, 150, -160, 0, 710, 0);
// From a known arm model
dh = DhParameters.FromArmKinematicModel(ArmKinematicModels.CRX10iA);
// From OPW parameters: M10iA/7L
dh = DhParameters.FromOpwParameters(0.15, -0.20, 0.60, 0.86, 0.10);
// From an online robot (SYSMOTN file)
dh = DhParameters.FromSymotnFile(_robot.Ftp.KnownVariableFiles.GetSymotnFile())[0];
// Forward kinematics
CartesianPosition pose = KinematicsUtils.ForwardKinematics(position, dh);
// Inverse kinematics with multiple solutions
JointsPosition[] positions = KinematicsUtils.InverseKinematics(pose, dh);

Remote Motion Interface

Implementierung des Fanuc RMI-Protokolls, das es Ihnen ermöglicht, einfach Bewegungsbefehle an den Roboter zu senden sowie seine Ein- und Ausgänge und Register zu lesen und zu schreiben.
// Get the robot status
ControllerStatus s = robot.Rmi.GetStatus();
// Read digital input
DigitalInputValue din2 = robot.Rmi.ReadDIN(2);
// Read the current Cartesian position
CartesianPosition pose = robot.Rmi.ReadCartesianPosition();
// Command joint motion
robot.Rmi.JointMotion(...);

Offline -Tools

Mit den Funktionen ohne Roboter können Sie Standarddateiformate verarbeiten (variable Datei, Fehlerliste, Roboterstatus usw.).
// Parse a variable file and extract a hierarchical list of variables
GenericVariableFile vaFile = FanucFileReaders.VariableReader.ReadFile("C:/path/to/variable.va");
foreach (var variable in vaFile.Variables)
Console.WriteLine($"{variable.Name} = {variable.Value} [{variable.Type}]");
// Edit and regenerate the variable file
vaFile.GenerateVa("C:/path/to/variable_modified.va\"");
// Parse several types of files
FanucFileReaders.ErrorListReader.ReadFile("C:/path/to/errall.ls");
FanucFileReaders.IOStateReader.ReadFile("C:/path/to/iostate.dg");
FanucFileReaders.SafetyStatusReader.ReadFile("C:/path/to/safety.dg");
FanucFileReaders.CurrentPositionReader.ReadFile("C:/path/to/curpos.dg");

Durchsuchen Sie die Dokumentation

Durchsuchen Sie die Dokumentation

Mit der Dokumentation können Sie sich schnell mit der Bibliothek entwickeln. Die gleiche Funktionalität ist in allen unterstützten Sprachen verfügbar.

Herunterladen und testen

Laden Sie über Nuget herunter
Laden Sie über Nuget herunter

Fügen Sie dieses SDK einfach über den Nuget -Paket -Manager zu Ihrem Visual Studio -Projekt hinzu.

Siehe auf Nuget
Beispiele zu GitHub
Beispiele zu GitHub

Die Beispiele für die Verwendung dieses SDK sind auf GitHub erhältlich

Beispiel für Windows -Anwendungen
Beispiel für Windows -Anwendungen

Ermöglicht Ihnen, alle Funktionen des SDK mit einer einfachen Schnittstelle zu testen. Das Beispiel wird in "Selbstgebiet" und "Einzeldatei" mit .NET 8 kompiliert. Die Anwendung ist ohne Installation tragbar.

Durch das Herunterladen akzeptieren Sie die allgemeinen Nutzungsbedingungen:
Siehe Bedingungen und Konditionen
UnderAutomation.Fanuc.Showcase.Forms.exe (139 MB)
LabView -Bibliothek und Beispiel -App
LabView -Bibliothek und Beispiel -App
Siehe auf GithubUnderAutomation.Fanuc.lvlib

Fordern Sie ein Angebot und eine Bestellung an

Preise

Bibliotheken können kostenlos heruntergeladen und 30 Tage lang getestet werden. Nach diesem Zeitraum können Sie uns bitten, den Testzeitraum zu verlängern oder die Lizenz zu kaufen, die am besten geeignet ist: Website (nur verdeckte binäre) oder Quelle (Quellcode). Nach dem Kauf haben Sie eine einjährige Wartungszeit, mit der Sie vorrangigen Zugriff auf die Unterstützung und die Möglichkeit der Aktualisierung erhalten. Wenn Sie eine Nutzungslizenz kaufen, ist sie mit einer Robotermarke verknüpft, können Sie sie für immer verwenden, ohne wiederkehrende Gebühren, unabhängig von der Anzahl der Roboter, Entwickler oder Software, die Sie Ihren Kunden umverteilen. Wenn Sie ein Händler sind und Ihren Kunden eines unserer Produkte anbieten möchten, kontaktieren Sie uns bitte, um besondere Bedingungen und Preise zu besprechen.

Standard-Site-Lizenz

1100 (EUR)$1300 (USD)

1100

fürs Leben

660

für Universitäten (40 % Rabatt)
Für den persönlichen Gebrauch oder agile Entwickler, die Proofs of Concept oder leichtgewichtige Projekte erstellen.
1 Jahr Wartung inklusive (Zugriff auf Updates)
Dieselben Bedingungen wie bei der Pro-Lizenz, außer dass der Support nicht priorisiert wird, keine Fernunterstützung enthalten ist und die Wartung nur 1 Jahr beträgt.
Es gibt keine internen Quellen; Es wird nur die verschleierte DLL bereitgestellt.
Keine Unterstützung per Videokonferenz (nur per E-Mail).
Jetzt kaufen
Am beliebtesten

1700

2500
fürs Leben

1020

für Universitäten (40 % Rabatt)
Für geschäftskritische Produktionsumgebungen, die vorrangigen Support und langfristige Stabilität erfordern.
3 Jahre Wartung inklusive (Zugriff auf Updates), ohne Verlängerungsaufträge während dieser Laufzeit (kein Papierkram)
Vollständiges und dauerhaftes SDK: Es ist kein wiederkehrendes Abonnement erforderlich, die Lizenz ist für immer Ihnen und funktioniert in allen Programmiersprachen für eine Robotermarke.
Kann nur von der Organisation verwendet werden, die die Lizenz an der angegebenen Postanschrift hält. Alle Teamentwickler teilen die gleiche Lizenz, unabhängig von der Anzahl der Entwicklungsmaschinen.
Jede Anwendung, die mit dem SDK entwickelt wurde, kann unbegrenzt an eine unbegrenzte Anzahl Ihrer Kunden ohne zusätzliche Kosten geliefert werden, unabhängig von der Anzahl der Roboter, die eine Verbindung herstellen können.
Die Lizenz ist eine Art Passwort, das Sie im Code aufrufen können, der die Funktionalität freischaltet. Keine zusätzliche Software zu installieren. Kein USB -Schlüssel.
Prioritärer Support (durchschnittlich <24 Stunden)
Fernunterstützung (E-Mail und bis zu 2 Stunden Videokonferenz)
Es gibt keine internen Quellen; Es wird nur die verschleierte DLL bereitgestellt.
Jederzeit Upgrade auf Source (Zahlung der Differenz)
Jetzt kaufen

Quellcodelizenz

3400 (EUR)$4000 (USD)

3400

fürs Leben

2040

für Universitäten (40 % Rabatt)
Für völlige technische Souveränität, umfassende Individualisierung und völlige Unabhängigkeit.
Gleiche Bedingungen wie bei der Pro-Lizenz
Vollständiger interner Code der Bibliothek in C
Visual Studio-Lösung, die Tausende von Codezeilen umfasst, die über mehrere Jahre entwickelt wurden
Sie können diesen Quellcode ändern und in Ihrer Anwendung im Rahmen der in den Allgemeinen Nutzungsbedingungen festgelegten Grenzen verwenden
Jetzt kaufen

Integrieren Sie problemlos Universal Robots-, Fanuc-, Yaskawa- oder Staubli-Roboter in Ihre .NET-, Python-, LabVIEW- oder Matlab-Anwendungen

UnderAutomation
KontaktLegal

© All rights reserved.