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 |
| 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. |
| 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 |
| 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. |