Dieser Baustein erzeugt zyklische Sollpositionen in Anwendereinheiten und kann in Verbindung mit Technologiebausteinen wie z.B. TB_CamStretch Zusatzpositionierungen ausführen.
Mit diesem Baustein können Kurven addiert werden. Die addierte Kurve darf nicht über das Ende der Grundkurve hinausgehen. Es können mehrere Additionskurven aneinander gehängt werden. Die letzte Additionskurve muss in einer Rast enden.
Um Ruck und Stoß zu vermeiden muss über die Skalierungen und den Offsets der Kurven sichergestellt sein, dass die Positionen und Steigungen am Ende und Anfang gleich sind.
Hinweis: Vor Benutzung dieses Bausteins muss der Baustein TB_Init 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: |
|---|---|---|
| a_CamTable | CAM_TABLE | Stützpunkttabelle der normierten Kurven. |
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Enable | BOOL | TRUE: Freigabe des Bausteins. |
| x_Execute | BOOL | Positive Flanke starte die Kurve. |
| di_xPos | DINT | Aktuelle Leitposition in Anwendereinheiten. |
| 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 | Streckungsfaktor der Achse in Anwendereinheiten. Festlegung des Achswegs der mit der Kurve verfahren werden soll. |
| i_kEndNum | INT | Zähler Steigung der normierten Kurve am Kurvenende. |
| ui_kEndDenum | UINT | Nenner Steigung der normierten Kurve am Kurvenende. |
| 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 |
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Active | BOOL | TRUE: Baustein ist aktiv, und wartet, dass die Leitposition die Startposition di_xOffs erreicht. |
| x_CamActive | BOOL | TRUE: Die Bewegungsausführung ist gestartet. Die Achse bewegt sich in Abhängigkeit der Masterbewegung. |
| di_yPos | DINT | Sollposition der Achse in 1/100 Anwendereinheiten. Diese Position kann z.B. direkt an die Technologiebausteine TB_SyncLin oder TB_SyncRot am Eingang di_yPosAdd angeschlossen werden. |
| 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. |
| 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. |