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

Layoutvorbereitung
Die Konfiguration erfolgt innerhalb des Port mapping Dashboards der Layout Builder Arbeitsumgebung und wird später für den Download (und die VRC-Verbindung) verwendet. Die Einrichtung ist notwendig, damit der Downloader korrekt funktioniert. Daihen-Robotersteuerungen organisieren Ressourcen in sogenannten Mechanismen. Der Roboterarm ist üblicherweise Mechanismus Nr. 1, eine Schiene oder ein Portal ist Mechanismus Nr. 2, der Werkstückpositionierer ist Nr. 3 und so weiter. Die Darstellung der OTC-Mechanismusnummer in Edition 2 ist die Gruppen-ID im Port-Mapping-Dashboard, das die Achsen in verschiedene Bewegungsgruppen unterteilt. Jede Bewegungsgruppe kann bis zu 9 Gelenke haben. Diese Information wird aus dem Layout ausgelesen und verarbeitet, wenn das Roboterprogramm erstellt wird. Daher ist es wichtig, den richtigen Gruppen- und Achsenindex den Roboterachsen zuzuweisen.
Daihen Downloader
Der Daihen Downloader unterstützt:
-
Werkzeugkoordinatensystemzuordnung
-
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 regulären Befehl oder einen Kommentar im Daihen-Roboterprogramm hinzuzufügen.
-
Signal setzen & auf Signal warten (Logikanschlüsse)
-
Nur boolesche Signale
-
Ressourcenanschlüsse einstellen und auf Ressourcenanschlüsse warten
-
Nur boolesche Signale
Es weist einige Einschränkungen auf:
-
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.
Infrastruktur
Der Daihen Vendor Downloader basiert auf der Basisklassenimplementierung des Translators.
Um die Programmerstellung so einfach wie möglich zu gestalten, ist das Daihen-Programm in mehrere Abschnitte unterteilt.
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 Elemente wie Zeilennummerierung und Randabstände automatisch beibehalten werden.
Header-Ausgabe
Der Downloader muss das gesamte Programm durchlaufen, um alle notwendigen Daten zu sammeln, bevor der Header erstellt wird. Dies ist entscheidend, um sicherzustellen, dass alle Header-Informationen zusammengetragen werden. Die aufgerufenen Methoden sind CreateJobHeader() -> CreateOutputFile().
Anstelle der Verwendung der grundlegenden OutputHeader()-Methode wählt der Daihen-Downloader einen anderen Ansatz, da OutputHeader() vor dem Schleifenprozess ausgeführt wird.
Bewegung steuern
Die HandleMotion()-Funktion steuert die Bewegung sowie die Ereignisse vor und nach der Bewegung.
Die Bewegung sowie die kartesischen und Gelenkwerte werden in derselben Zeile der Quellabschnitte ausgegeben – ein Datenabschnitt ist nicht erforderlich:
Befehle oder Signale werden ebenfalls verarbeitet.
Quellenausgabe
Im Quellabschnitt wird die Punktfolge abhängig vom Bewegungstyp definiert.

Die entsprechenden Roboterpunktkoordinaten werden ausgewertet und unter Verwendung des Bewegungstargettyps (Gelenk- oder kartesische Ziele) in ein geeignetes Format umgewandelt. Die Achsenwerte aller anderen Mechanismen (Schiene, Positionierer usw.) werden stets als Gelenkziele ausgegeben.
Ereignisse verwalten
Der Basis-Downloader ruft die HandleEvent()-Methode sowohl für integrierte als auch für angepasste Ereignisse auf. Anschließend wird die OutputEvent()-Methode aufgerufen, um das ausgelöste Ereignis zu verarbeiten.
Text-Ereignis
Die beiden untenstehenden Textevents erzeugen die im Ausgabe gezeigten Befehle/Kommentare.
Verweilereignis
Das Dwell-Ereignis fügt einen DWELL-Befehl ein, um den Roboter für eine bestimmte Anzahl von Sekunden anzuhalten.
LogicPort-Ereignis
LogicPort-Ereignisse setzen ein Signal oder warten auf ein Signal. Sie sind in der Regel nicht mit einer Vorrichtung, wie einer Klemme, verbunden.
SetResourcePort-Ereignis
SetResourcePort-Ereignisse setzen ein Signal, das mit einem Akteur wie einer Vorrichtung verbunden ist. Nach der Auswahl der gewünschten Ressource in E2 werden alle Eingangsports angezeigt und können dann aktiviert werden, um den Zustand der Ports entweder zu setzen oder zurückzusetzen.
WaitForResourcePort-Ereignis
WaitForResourcePort-Ereignisse warten darauf, dass ein mit einem Akteur verbundener Signal seinen Zustand ändert. Nach der Auswahl der gewünschten Ressource in Edition 2 werden alle Ausgangsports angezeigt und können dann aktiviert werden, um den Portzustand zu bewerten.
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 Daihen-Dateistruktur, was die Ausgabe erheblich erleichtert. Die Definition der Bewegungsgruppen und Gelenke ist am Ende des Daihen-Ü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 Befehl self vorangestellt werden.
Minimaler & maximaler Werkzeug-Vorrichtungsindex
Daihen selbst unterstützt nur Werkzeugrahmenindizes innerhalb eines gemeinsamen Bereichs. Basisrahmen werden vom FD19-Controller nicht unterstützt und daher nicht in das Programm ausgegeben.
Geschwindigkeit, Genauigkeit & Beschleunigung
Die Bewegungsprofile werden der Punktdefinition hinzugefügt, sodass Bewegungsprofilereignisse klassenweite Variablen ändern, die dann bei der Punktausgabe berücksichtigt werden.