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

Vorbereitung des Layouts
Die Konfiguration erfolgt im Port mapping-Dashboard der Layout Builder-Werkbank und wird später für den Download (und die VRC-Verbindung) verwendet. Das Einrichtung ist notwendig, damit der Downloader korrekt funktioniert. Daihen-Roboter-Controller organisieren Ressourcen in sogenannten Mechanismen. Der Roboterarm ist in der Regel Mechanismus #1, eine Schiene oder ein Gantry ist Mechanismus #2, der Werkstückpositionierer ist #3 und so weiter. Edition 2 Darstellung der OTC-Mechanismusnummer ist die Gruppen-ID im Port-Mapping-Dashboard, die die Achsen in verschiedene Bewegungsgruppen unterteilt. Jede Bewegungsgruppe kann bis zu 9 Gelenke haben. Diese Informationen werden aus dem Layout abgelesen und verarbeitet, wenn das Roboterprogramm erstellt wird. Daher ist es wichtig, den Roboterachsen den korrekten Gruppen- und Achsenindex zuzuweisen.
Daihen-Downloader
Der Daihen-Downloader unterstützt:
Werkzeugrahmenabbildung
Punkt-zu-Punkt-Ausgabe, lineare und kreisförmige Bewegung.
Kartesischer und gelenkiger Bewegungszieltyp für alle Bewegungen
Geschwindigkeits-, Genauigkeits- und Beschleunigungsereignisse
Das Textereignis wird verwendet, um einen regulären Befehl oder Kommentar im Daihen-Roboterprogramm hinzuzufügen.
Signal einstellen und auf Signal warten (Logikports)
Nur boolesche Signale
Ressourcenports einstellen und auf Ressourcenports warten
Nur boolesche Signale
Es gibt einige Einschränkungen:
Mit FASTSUITE Edition 2 Version R2024.1 ist nur der (Python-)Downloader verfügbar. Um einen Upload zu erstellen, muss die Custom Definition-Anwendung verwendet werden.
Implementierung durch Anpassung
Multi-(synchronisierte) Roboterbewegungen werden standardmäßig unterstützt.
Infrastruktur
Der Daihen-Anbieter-Downloader basiert auf der Übersetzer-Basisimplementierung.
Um die Programmerstellung so einfach wie möglich zu machen, ist das Daihen-Programm in mehrere Abschnitte unterteilt.
Diese Abschnitte sind in String-Arrays organisiert. Die String-Arrays werden in der Funktion __init__() initialisiert.
Um Inhalte zu den Abschnittsarrays hinzuzufügen, wird empfohlen, die vorhandenen Funktionen zu verwenden:
Das hat den Vorteil, dass Zeilennummerierung und Randabstände automatisch beibehalten werden.
Header-Ausgabe
Der Downloader muss das gesamte Programm durchlaufen, um alle notwendigen Daten zu sammeln, bevor er den Header erstellt. Dies ist entscheidend, um sicherzustellen, dass alle Header-Informationen zusammengestellt werden. Die angerufenen Methoden sind CreateJobHeader() -> CreateOutputFile().
Anstatt die grundlegende OutputHeader()-Methode zu verwenden, entscheidet sich der Daihen-Downloader für einen anderen Ansatz, da OutputHeader() vor dem Looping-Prozess ausgeführt wird.
Handhabungsbewegung
Die HandleMotion()-Funktion übernimmt die Bewegung und die Ereignisse vor und nach der Bewegung.
Die Bewegung sowie die kartesischen und gelenkten Werte werden in derselben Zeile der Quellabschnitte ausgegeben – es wird kein Datenabschnitt benötigt:
Befehle oder Signale werden ebenfalls verarbeitet.
Quellausgabe
Im Quellbereich wird die Punktfolge je nach Bewegungsart definiert.

Die entsprechenden Roboterpunktkoordinaten werden ausgewertet und in ein geeignetes Format umgewandelt, wobei der Bewegungszieltyp (Gelenk oder kartesische Ziele) verwendet wird. Die Achsenwerte aller anderen Mechanismen (Schienen, Positionierer usw.) werden immer als gemeinsame Ziele ausgegeben.
Regeln Sie Ereignisse
Der Basis-Downloader ruft die HandleEvent()-Methode sowohl für integrierte als auch für benutzerdefinierte Ereignisse auf. Anschließend wird die OutputEvent()-Methode aufgerufen, um das aufgerufene Ereignis zu verarbeiten.
Text-Ereignis
Die beiden untenstehenden Textereignisse erzeugen die im Output gezeigten Befehle/Kommentare.
Dwell-Event
Das Dwell-Event fügt einen DWELL-Befehl ein, um den Roboter für mehrere Sekunden anzuhalten.
LogicPort-Ereignis
LogicPort-Ereignisse setzen ein Signal oder warten auf ein Signal. Sie sind normalerweise nicht mit einem Schauspieler verbunden, wie eine Klemme.
SetResourcePort-Ereignis
SetResourcePort-Ereignisse setzen ein Signal, das mit einem Akteur verbunden ist, wie einer Klemme. Nachdem die gewünschte Ressource in E2 ausgewählt wurde, werden alle Eingangsports angezeigt und können dann aktiviert werden, um den Portzustand entweder einzustellen oder zurückzusetzen.
WaitForResourcePort-Ereignis
WaitForResourcePort-Ereignisse warten darauf, dass ein mit einem Akteur verbundenes Signal seinen Zustand ändert. Nachdem die gewünschte Ressource in Edition 2 ausgewählt wurde, werden alle ihre Ausgangsports angezeigt und können dann aktiviert werden, um den Portzustand zu evaluieren.
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 deutlich erleichtert. Die Definition von Bewegungsgruppen und Gelenken findet sich am Ende des Daihen-Übersetzers.
Konstanten und Einstellungen für zusätzliche Anpassungen
Konstanten
Unterhalb der Klassendefinition finden Sie die konstante Definition.
Diese können auch in Ableitungen verwendet werden, indem man sie mit dem Selbstbefehl voransetzt.
Minimaler und maximaler Werkzeugrahmenindex
Daihen selbst unterstützt nur Werkzeugrahmenindizes innerhalb eines gemeinsamen Bereichs. Basisframes werden vom FD19-Controller nicht unterstützt und werden daher nicht ins Programm ausgegeben.
Geschwindigkeit, Genauigkeit und Beschleunigung
Die Bewegungsprofile werden zur Punktdefinition hinzugefügt, sodass sich Bewegungsprofil-Ereignisse klassenweit va ändernRiables, die dann in der Punkteausgabe berücksichtigt werden.