Skip to Content
AnpassungÜbersetzerYaskawaYaskawa Downloader

Yaskawa Downloader

Einführung

Der Yaskawa-Anbieter-Downloader übersetzt die grundlegende FASTSUITE Edition 2 Funktionalität in ein einsatzbereites Yaskawa-Roboterprogramm.

Vorbereitung des Layouts

Die Yaskawa-Roboter-Controller teilen die Achsen in verschiedene Bewegungsgruppen ein. Jede Gruppe kann bis zu 4 Basisverbindungen (Schienen) und 12 Stationsverbindungen (Werkstückpositionierer) haben.

Die Konfiguration erfolgt im Port mapping Dashboard-Dashboard im Layout Builder Workbench und wird später für den Download (und die VRC-Verbindung) verwendet.

Yaskawa-Downloader

Der Yaskawa-Downloader unterstützt:

Werkzeug- und Basisrahmen-Mapping

Punkt-zu-Punkt-Ausgabe, lineare und kreisförmige Bewegung.

Kartesischer (RECTAN) und gelenkiger (PULSE) Bewegungszieltyp für alle Bewegungen.

Geschwindigkeits- und Genauigkeitsdisziplinen.

Das Textereignis wird verwendet, um einen Kommentar im Yaskawa-Roboterprogramm hinzuzufügen.

Signal einstellen und auf Signalereignisse warten (Logikanschlüsse); 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.

Resource Port Events sind in der Basis nicht implementiert.

Infrastruktur

Der Yaskawa Vendor Downloader basiert auf der Implementierung der Übersetzerbasis.

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

Diese Abschnitte sind in String-Arrays organisiert. Die String-Arrays werden in der Funktion __init__() initialisiert.

Der Basis-Downloader bietet mehrere Methoden, um Inhalte zu den Arrays hinzuzufügen, die, wenn möglich, genutzt werden sollten.

Header-Ausgabe

Der Downloader muss das gesamte Programm durchlaufen, um alle notwendigen Header-Daten zu sammeln, bevor er den Header erstellt. Dies ist entscheidend, um sicherzustellen, dass alle Header-Informationen zusammengestellt werden. Nach der Verarbeitung der Daten wird der Header erstellt, indem die CreateJobHeader() Methode innerhalb der CreateOutputFile() Methode aufgerufen wird.

Anstatt die grundlegende OutputHeader()-Methode zu verwenden, entscheidet sich der Yaskawa-Downloader für einen anderen Ansatz, da OutputHeader() vor dem Looping-Prozess ausgeführt wird.

Handle Motion

Die HandleMotion()-Funktion ist verantwortlich für die Verwaltung sowohl der Bewegung selbst als auch der Ereignisse, die vor und nach der Bewegung stattfinden. Es verwendet verschiedene Positionszähler, um die Anzahl der verschiedenen Abschnitte zu verfolgen. Je nach Bewegungsart verwendet diese Funktion spezifische Methoden: OutputYaskawaPtp() für Punkt-zu-Punkt-Bewegung, OutputYaskawaLin() für lineare Bewegung und OutputYaskawaCirc() für kreisförmige Bewegungen. Darüber hinaus erfüllt es die einzigartigen Anforderungen von Yaskawa für kreisförmige (CIRC) Bewegungen, die die Definition eines Startpunkts, eines Via-Punkts und eines Endpunkts erfordern.

Jede OutputYaskawa…() Methode wählt kartesische (RECTAN) oder Achse (PULSE) Ausgänge basierend auf dem PosType, was die Generierung geeigneter Bewegungsbefehle erleichtert.

Die Standardeinstellung, die angewendet wird:

Yaskawa schreibt Coordinate Output Definitionen für dedizierte Datenabschnitte.

Bedingung: Das Edition 2 Roboterattribut CENOlpDataOutputStyle wird auf RECTAN gesetzt, was self.PosType überschreibt.

DataC-Teil (Roboterposition)

Yaskawa Pulse Output (Standard) wandelt die Achsenwerte in Pulswerte um, indem es die Edition 2 Roboter-String-Attribute CENOlpJointStepFactorValues und CENOlpJointZeroOffsetValues verwendet.

DataBC Teil (Rail)

DataEC-Teil (Werkstück-Positionierer)

Die entsprechende Bewegungsanweisung wird je nach Bewegungstyp hinzugefügt:

Regeln Sie Ereignisse

Der Basis-Downloader ruft die HandleEvent()-Methode sowohl für eingebaute als auch für benutzerdefinierte Ereignisse auf. Anschließend wird die OutputEvent()-Methode aufgerufen, um das aufgerufene Ereignis zu verarbeiten.

OutputEvent() Analyseereignisse und Aufruffunktionen zur Einstellung von Geschwindigkeit, Genauigkeit, Beschleunigung und Logikanschlüssen.

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 ist dieselbe wie die Yaskawa-Datenstruktur. Das macht die Ausgabe deutlich einfacher. Die Definition von Bewegungsgruppen und -gelenken findet sich am Ende des Yaskawa-Übersetzers.

Folgende Hilfsfunktionen bereiten die korrekte Ausgabe für verschiedene Yaskawa-Gruppenkombinationen vor, abhängig von Edition 2 Gruppenabbildung:

Konstanten und Einstellungen für zusätzliche Anpassungen

Konstanten

Unterhalb der Klassendefinition finden Sie die konstante Definition.

Geschwindigkeit, Genauigkeit und Beschleunigung

Die Bewegungsprofile werden zur Punktdefinition hinzugefügt, sodass Bewegungsprofilereignisse klassenweite Variablen ändern, die dann in der Punktausgabe berücksichtigt werden.

SyncRobots-Ereignis

Das Basis-Event unterstützt Handshakes, um Roboter zu synchronisieren. Das Ereignis muss dem Master und Slave im Handshake-Modus hinzugefügt und Text synchronisieren.

Was this page helpful?