TB_CamGetPos

Darstellung in FBD

Allgemeine Informationen

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

Ein-/Ausgänge

Bezeichnung: Datentyp: Beschreibung:
a_CamTable CAM_TABLE Stützpunkttabelle der normierten Kurven.

Eingänge

Bezeichnung: Datentyp: Beschreibung:
x_Execute BOOL Positive Flanke starte die Kurve.
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_kEndZ INT Zähler Steigung der normierten Kurve am Kurvenende.
ui_kEndN UINT Nenner Steigung der normierten Kurve am Kurvenende.
di_xPos DINT Aktuelle Leitposition in Anwendereinheiten.
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

Ausgänge

Bezeichnung: Datentyp: Beschreibung:
x_Error BOOL TRUE: Der Baustein hat einen Fehler festgestellt.
w_ErrorId WORD Fehlernummer des Bausteins. Siehe Tabelle unten.
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.
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.