TB_CamStretch

Darstellung in FBD

Allgemeine Informationen

Mit diesem Baustein können synchrone Bewegungen aus skalierbaren Kurven erzeugt werden. Die Achse bewegt sich dann synchron zu einer Masterposition.

Hinweis: Vor Benutzung dieses Bausteins muss der Baustein TB_NormCamCreate ausgeführt werden.

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

Funktionalität

Ein-/Ausgänge

Bezeichnung: Datentyp: Beschreibung:
di_xPos DINT Position der Leitachse in Anwendereinheiten.
di_yPos DINT Sollposition der Achse in Anwendereinheiten.
a_CamTable CAM_TABLE Stützpunkttabelle der normierten Kurven.

Eingänge

Bezeichnung: Datentyp: Beschreibung:
x_Enable BOOL TRUE: Freigabe des Bausteins.
x_Execute BOOL Eine positive Flanke startet die Kurvenausführung.
x_Break BOOL TRUE: Die Kurvenausführung wird sofort abgebrochen.
di_yPosAdd DINT Hier kann ein Zusatzsollwert in 1/100 Einheiten der Achse angeschlossen werden. Es stehen die Baustein TB_PosAdd und TB_CamAdd zur Verfügung.
ui_CamId UINT Legt fest, welche Kurve zur Ausführung kommt. Anwenderkurven können zusätzlich in der Stützpunkttabelle a_CamTable abgelegt werden. Die erste Kurve sollte ab der Position 8192 abgelegt werden. An ui_CamId wird dann die Position des 1. Stützpunkts angegeben. Eine Kurve muss folgende Kriterien erfüllen: Sie muss in x- und y-Richtung auf 0…16.777.216 normiert sein. Die Krümmung am Anfang und Ende muss null sein. Es werden 512 Stützpunkte für die x-Positionen 0, 32.768, 65.536, …, 16.744.448 vorgegeben und der zugehörige y-Wert wird in der Tabelle _SyncCam abgelegt. Der x-Wert wird nicht abgelegt.
di_xOffs DINT Startposition der Leitachse für die Bewegung in Anwendereinheiten.
di_yOffs DINT Offset der Achse bis zum Start der Kurve in Anwendereinheiten. Damit die Achse ihre Position nach Kurvenstart nicht sprungartig ändert, sollte für di_yOffs die aktuelle Position der Achse angegeben werden.
di_xFact DINT Streckungsfaktor der Leitachse in Anwendereinheiten der Leitachse. Festlegung des Leitwegs während der die Kurve ausgeführt wird.
di_yFact DINT StrStreckungsfaktor der Achse in Anwendereinheiten. Festlegung des Achswegs der mit der Kurve verfahren werden soll.
di_yEnd DINT Ende-Position der Kurve in Anwendereinheiten. Wird der Eingang nicht angeschlossen, so wird di_yEnd=di_yOffs+di_yFact gesetzt. Der Eingang muss nur dann verwendet werden, wenn die maximale Position nicht am Kurvenende ist.
i_kEndNum INT Zähler Steigung der normierten Kurve am Kurvenende.
ui_kEndDenum UINT Nenner Steigung der normierten Kurve am Kurvenende.
di_xSetPos DINT Setzwert der Position der Masterachse in Anwendereinheiten der Masterachse.
di_ySetPos DINT Setzwert der Position der Achse in Anwendereinheiten.
us_SetPosMode USINT Legt fest, wie die Positionen verändert werden sollen.
ui_CamId Beschreibung: k_EndNum k_EndDenum
0 Rast-in-Rast Kurve ohne Geschwindigkeitsplateau. 0 1
1 Startkurve. Rast-in-Geschwindigkeit. 2 1
2 Gerade. 1 1
3 Stoppkurve, Geschwindigkeit-in-Rast. 0 1
4 Rast-in-Rast Kurve mit 1/3 Beschleunigung, 1/3 konst. Geschw. und 1/3 Verzögerung. 0 1
5-15 reserviert
8192 1. Anwenderkurve
8704 2. Anwenderkurve
: :
15872 16. Anwenderkurve
us_SetPosMode Beschreibung: di_xPos nach Ausführung di_yPos nach Ausführung
0 Kein Setzen unverändert unverändert
1 yPos relativ unverändert di_yPos+di_ySetPos
2 yPos absolut unverändert di_ySetPos
3 xPos relativ di_xPos+di_xSetPos unverändert
4 beide relativ di_xPos+di_xSetPos di_yPos+di_ySetPos
5 xPos relative, yPos absolute di_xPos+di_xSetPos di_ySetPos
6 xPos absolut di_xSetPos unverändert
7 xPos absolut, yPos relativ di_xSetPos di_yPos+di_ySetPos
8 beide absolut di_xSetPos di_ySetPos

Ausgänge

Bezeichnung: Datentyp: Beschreibung:
x_Active BOOL TRUE: Baustein ist frei gegeben (x_Enable=TRUE) und aktiv.
x_CamActive BOOL TRUE: Kurve ist in Bearbeitung.
x_CamDone BOOL TRUE: Kurve beendet. x_CamDone ist genau für einen Zyklus TRUE.
di_Vel DINT Soll-Geschwindigkeit der Achse in 1/100 Anwendereinheiten/Ts. Ts ist die Zykluszeit der Sollwert-Eventtask.
di_Acc DINT Soll-Geschwindigkeit der Achse in 1/100 Anwendereinheiten/Ts. Ts ist die Zykluszeit der Sollwert-Eventtask.
x_Error BOOL TRUE: Der Baustein hat einen Fehler festgestellt.
w_ErrorId WORD Fehlernummer des Bausteins. Siehe Tabelle unten.
w_ErrorId Beschreibung
0 Kein Fehler aktiv.
1 Unbekannter SetPosMode
2 Fehler Kurvendaten. Vor der Benutzung muss TB_NormCamCreate ausgeführt, und die Kurventabelle angeschlossen werden.
3 di_xFact negativ. Der X-Faktor muss positiv sein.
999 Keine Technologie-Lizenz. PLC mit Technologie-Lizenz verwenden.