TB_SyncRot

Darstellung in FBD

Allgemeine Informationen

Der Baustein erzeugt Sollpositionen für eine rotative Achse, die sich synchron zu einem Master bewegen soll. Die Bewegung startet aus der Rast. Es wird so beschleunigt, dass sich die Achse an der vorgegebenen Position synchron zum Master bewegt. Mit dem Signal x_SEP beendet die Achse die

Synchronbewegung. Es wird die Masterposition um di_MAP und die Achsposition um di_FAP verringert. Abhängig der neuen Positionen wird die Ausgleichsbewegung berechnet.

Steht die Achse nicht auf Y_STOP, so wird von der aktuellen Position aus gestartet. Das kann zur Folge haben, dass sich die Achse beim ersten Startvorgang anders verhält. Beim Stoppen wird dann aber auf die parametrierte Y_STOP positioniert.

Mit dem Eingang x_Enable=TRUE wird der Baustein aktiviert. Die erfolgreiche Aktivierung wird mit x_Active=TRUE angezeigt.

Mit x_Start erfolgt das erste Aufsynchronisieren. Mit x_Start=TRUE wird die Position der Leitachse (di_xPos) auf di_X_Sensor gesetzt. Abhängig der vorgegebenen Parameter synchronisiert die Achse auf. Wird im laufenden Betrieb x_Start=FALSE, so stoppt die Achse auf Y_STOP. Solange sich die Leitachse bewegt werden weiter MAPs abgezogen. Damit wird beim nächsten Starten (x_Start wird wieder TRUE) direkt auf die nächstmögliche Leitposition aufsynchronisiert. So können Leertakte realisiert werden.

Hinweis:
Bevor der Baustein ausgeführt werden kann, müssen alle relevanten Parameter mit dem Baustein TB_SyncRot_Init initialisiert werden.

Hinweis:
Wird di_SX_MinStart verwendet, muss vorher eine gültige MAP angelegt werden.

Hinweis:
Die Achse verfährt so lange synchron, bis x_SEP=TRUE wird. Nun wird die Rückfahrt berechnet. Dieser Vorgang dauert zwei Zyklen, während der die Achse weiter synchron verfährt. Danach wird die Synchronbewegung beendet und es wird so zurück gefahren dass auf den nächsten Synchronpunkt aufsynchronisiert werden kann.

Empfohlene Task: EVENT
Verwendete Bibliotheken: ARITHMETIC_xxbd00 oder höher
TECH_TYPES_xxbd05 oder höher
TECH_TOOLS_xxbd01 oder höher

Funktionalität

Ein-/Ausgänge

Bezeichnung: Datentyp: Beschreibung:
di_xPos DINT Aktuelle Leitposition in Anwendereinheiten. Wird auf die Position di_X_Sensor (siehe TB_SyncRot_Init) gesetzt, wenn x_Start nach Freigabe das erste Mal TRUE wird.
di_yPos DINT Aktuelle mechanische Achsposition in Anwendereinheiten. Muss vor Verwendung des Bausteins einmalig auf die tatsächliche mechanische Position gesetzt werden.
_SyncDat TB_SYNC_TYPE Initialisierungsparameter des Bausteins TB_SyncRot_Init.

Eingänge

Bezeichnung: Datentyp: Beschreibung:
x_Enable BOOL TRUE: Freigabe des Bausteins.
x_Start BOOL Wenn x_Start das erste Mal (nach Freigabe) TRUE ist, wird die Masterposition di_xPos auf die Position di_X_Sensor (siehe TB_SyncRot_Init) gesetzt und es werden die Sollwerte berechnet und an di_yPos ausgegeben. Wird x_Start=FALSE, so beendet die Achse den aktuellen Zyklus und stoppt auf der parametrierten Rastposition. Die Leitposition wird um eine MAP subtrahiert sobald sie größer als di_X_Sync (siehe TB_SyncRot_Init) wird. Wird x_Start wieder TRUE, so wird direkt auf die nächstmögliche Synchronposition di_X_Sync aufsynchronisiert.
x_SEP BOOL Beenden der Synchronfahrt. Ist x_Start=TRUE, dann Ausgleichsbewegung und auf den nächsten Synchronpunkt des Masters aufsynchronisieren. Ist x_Start=FALSE, dann absynchronisieren und auf Rastposition fahren.
di_MAP DINT Master-Achs-Periode. Weg des Masters, der bei der positiven Flanke an x_SEP von di_xPos abgezogen wird. Die kürzest mögliche MAP lässt sich über die Formel "di_MAP > di_SEP - di_Y_Sync" näherungsweise berechnen. Bedeutet die Produktlänge(MAP) muss länger sein, wie der Synchronbereich. Die Produktlänge über einen Zyklus wird aus Synchronfahrt + Ausgleichsbewegung dargestellt. Bei der Wahl der kürzestet möglichen MAP muss also auch darauf geachtet werden, das noch genug Zeit für die Ausgleichsbewegung bleibt.
di_FAP DINT Folge-Achs-Periode. Weg der Achse, der bei der positiven Flanke an x_SEP von di_yPos abgezogen wird.
di_yPosAdd DINT Hier kann der Sollwert eines zusätzlicher Sollwertgenerators (z.B. TB_PosAdd) angeschlossen werden. So kann z.B. die Funktion „Lücke ziehen" realisiert werden.

Ausgänge

Bezeichnung: Datentyp: Beschreibung:
x_Active BOOL TRUE: Baustein ist aktiv, die angegebene Sollgeschwindigkeit wird umgerechnet und an di_Vel ausgegeben.
x_Motion BOOL TRUE: Die Bewegungsausführung ist gestartet. Die Achse ist an den Leitwert gekoppelt.
x_Sync BOOL TRUE: Die Achse bewegt sich synchron zum Master. Mit diesem Signal kann z.B. die Bearbeitung des Produkts gestartet werden.
x_Stop BOOL TRUE: Achse steht.
x_Error BOOL TRUE: Technologiebaustein hat einen Fehler erkannt.
di_vel DINT Soll-Geschwindigkeit der Achse in 1/100 Anwendereinheiten/Ts. Ts ist die Zykluszeit der Sollwert-Eventtask.
di_Acc DINT Soll-Beschleunigung der Achse in 1/100 Anwendereinheiten/Ts². Ts ist die Zykluszeit der Sollwert-Eventtask.
i_Result INT Meldungsnummer des Bausteins.
s_ResTxt STRING Meldungstext des Bausteins.
i_Results _ResTxt Beschreibung:
999 No Technology License Keine Technologie-Lizenz. PLC mit Technologie-Lizenz verwenden.
-110 FAP required! Für die Berechnung des Startverhaltens wird eine gültige FAP benötigt.
-100 Axis position > SyncPos! Aktuelle Position größer als die parametrierte Synchronposition. Lösung: FAP angeben oder Achse vor Synchronposition bringen.
-100 SX_Start oversized or FAP required! Für die Berechnung des Startverhaltens wird eine gültige FAP benötigt.
-90 invalid FAP! Keine gültige FAP vorhanden. Die FAP muss zwischen 0 und 21474835 sein.
-80 FAP undersized! FAP zu klein.
-70 invalid MAP! Keine gültige MAP vorhanden. Die MAP muss zwischen 0 und 21474835 sein.
-60 no SEP detected! Achse hat Verfahrbereichsende erreicht ohne dass ein SEP erkannt wurde.
-50 Axis not in start position! Die Achse befindet sich nicht in Rastposition.
-40 MAP undersized! Die MAP ist zu klein.
-30 SEP before sync. detected! Es wurde ein SEP erkannt bevor die Achse synchron ist.
-20 Sensor to close to sync position Der Startweg zum aufsynchronisieren ist zu kurz. Abhilfe:Sensorposition ändern oder Start verkürzen (di_SX_Start am TB_SyncRot_Init).
-1 No valid Init-Parameters! Die Initialisierungsdaten sind ungültig. Abhilfe: TB_SyncRot_Init mit gültigen Parametern ausführen.
0 TB_SyncRot disabled Baustein ist nicht aktiv.
10 TB_SyncRot enabled Baustein ist frei gegeben und wartet auf Start.
15 TB_SyncRot restart Baustein ist frei gegeben und wartet auf Start zum wiederanstarten.
21 TB_SyncRot start cycle Erstes Aufsynchronisieren aus der Rastposition.
31 TB_SyncRot continuous cycle Baustein im zyklischen Betrieb.
31 TB_SyncRot continuous cycle with stop Baustein im zyklischen Betrieb. Es wird auf halbem Ausgleichsweg gestoppt.
41 TB_SyncRot stop cycle Stoppen in der Rastposition.