Fanuc Downloader
Einführung
Der Fanuc-Hersteller-Downloader übersetzt die grundlegende FASTSUITE Edition 2 Funktionalität in ein einsatzbereites Fanuc-Roboterprogramm.

Layoutvorbereitung
Damit das Roboterprogramm korrekt ausgegeben wird, müssen die Achsen für Fanuc-Roboter im Port mapping Dashboard im Layout Builder-Arbeitsbereich korrekt verbunden sein. Fanuc-Robotersteuerungen unterteilen die Achsen in verschiedene Bewegungsgruppen. Jede Bewegungsgruppe kann bis zu 9 Gelenke umfassen. Diese Informationen werden aus dem Layout ausgelesen und bei der Erstellung des Roboterprogramms verarbeitet. Daher ist es wichtig, der Roboterachse die korrekte Gruppe und den richtigen Achsenindex zuzuweisen.

Fanuc Downloader
Der Fanuc Downloader unterstützt:
-
Werkzeug- und Basiskoordinatensystemzuordnung
-
Punkt-zu-Punkt-, lineare und kreisförmige Bewegungsausgabe.
-
Kartesischer und Gelenkbewegungs-Zieltyp für alle Bewegungen.
-
Geschwindigkeits-, Genauigkeits- und Beschleunigungsereignisse.
-
Das Textevent wird verwendet, um einen Kommentar im Fanuc-Roboterprogramm hinzuzufügen.
-
Signal setzen und auf Signal warten (Logikanschlüsse); nur boolesche Signale.
Es gibt einige Einschränkungen:
-
Mit der FASTSUITE Edition 2 Version R2024.1 ist nur der (Python) Downloader verfügbar. Zum Erstellen eines Uploads muss die Anwendung Custom Definition verwendet werden.
-
Implementierung durch Anpassung
-
Mehrfach-(synchronisierte) Roboterbewegungen werden standardmäßig unterstützt.
-
Ereignisse des Ressourcenports sind in der Basisversion nicht implementiert.
-
Infrastruktur
Der Fanuc Vendor Downloader basiert auf der Basisklassenimplementierung des Translators.

Um die Programmerstellung so einfach wie möglich zu gestalten, ist das Fanuc-Programm in mehrere Abschnitte gegliedert.

Diese Abschnitte sind in Zeichenkettenarrays organisiert. Die Zeichenkettenarrays werden in der Funktion __init__() initialisiert.
Um Inhalte zu den Abschnittsarrays hinzuzufügen, wird empfohlen, die vorhandenen Funktionen zu verwenden:

Dies hat den Vorteil, dass Dinge wie Zeilennummerierung und Randabstände automatisch beibehalten werden.
Header-Ausgabe
Die Header-Ausgabe wird am Ende des gesamten Prozesses erzeugt. Sie wird nicht in der OutputHeader() Funktion durchgeführt.
Dies liegt daran, dass wir die maximale Anzahl von Quellzeilen im Header benötigen und die Anpassung erleichtern möchten. Stattdessen wird es in der CreateOutputFile() aufgerufen.

Bewegung steuern
Die HandleMotion()-Funktion steuert die Bewegung sowie alle Ereignisse vor und nach der Bewegung.
Die Bewegung ist in Quell- und Datensektionen unterteilt:

Befehle und Signale werden ebenfalls verarbeitet.
Quellenausgabe
Im Quellabschnitt wird die Punktsequenz abhängig vom Bewegungstyp definiert.


Datenausgabe
Im Datenabschnitt werden die entsprechenden Punktkoordinaten ausgewertet und unter Verwendung des Bewegungstargettyps in ein geeignetes Format umgewandelt.

Wenn ein Punkt im Quellabschnitt erstellt wird, wird dort der Punktzähler erhöht. Wird der Punkt nur im Datenabschnitt ausgegeben, muss der Punktzähler dort durch Setzen von dataOutputOnly auf True erhöht werden.

Ereignisse behandeln
In the HandleEvent() function, the events, so-called built-in events, which are delivered with the standard FASTSUITE Edition 2 installation (see the restrictions)are processed.


Bewegungsgruppen
Um die Ausgabe der Punktkoordinaten zu vereinfachen, werden die FASTSUITE Edition 2-Daten in eine separate Datenstruktur mit Bewegungsgruppen und Gelenken übertragen. Diese Datenstruktur entspricht der Fanuc-Datenstruktur. Dadurch wird die Ausgabe erheblich erleichtert. Die Definition der Bewegungsgruppen und Gelenke ist am Ende des Fanuc-Übersetzers zu finden.

Konstanten & Einstellungen für zusätzliche Anpassungen
Konstanten
Unterhalb der Klassendefinition finden Sie die Konstantendefinition.
Diese können auch in Ableitungen verwendet werden, indem sie mit dem self Befehl vorangestellt werden.
![]()
Minimaler & maximaler Werkzeug- & Basisrahmenindex
Fanuc selbst unterstützt nur Werkzeug- und Basisrahmen-Indexnummern innerhalb eines gemeinsamen Bereichs.

Geschwindigkeit, Genauigkeit & Beschleunigung
Die Bewegungsprofile werden der Punktdefinition hinzugefügt, sodass Bewegungsprofilereignisse klassenweite Variablen ändern, die anschließend bei der Punktausgabe berücksichtigt werden.
