TB_Spline

Darstellung in FBD

Allgemeine Informationen

Dieser Baustein erstellt aus gegebenen Punkten eine Stützpunkttabelle mit normierten Kurvenstützpunkte. Dazu wird ein kubischer Spline verwendet. Es wird sichergestellt, dass jeder Stützpunkt erreicht wird. Diese Stützpunkttabelle kann dann mit dem TB_CamStretch ausgeführt werden.

Die Stützpunkte werden als x/y-Position festgehalten. X ist dabei die Masterposition und y die zugehörige Achsposition. Der Baustein erstellt dann daraus eine normierte Stützpunkttabelle mit 512 Stützpunkten. Diese kann dann direkt mit dem TB_CamStretch ausgeführt werden. Der verwendete kubische Spline stellt sicher, dass ruckfrei verfahren, und dass jeder Stützpunkt erreicht wird.

Die Berechnung erfolgt in einem Zyklus und benötigt ca. 10 ms (SH03-30 und 10 Stützpunkten). Die Berechnung sollte in einer zyklischen Task erfolgen. Eine neue Kurve kann online berechnet und übernommen werden.

Hinweis: Dem TB_CamStretch sollte eine neue Kurve nur am Anfang (mit x_Execute) übergeben werden, da dieser direkt die angeschlossenen Stützpunkte(und keine lokale Kopie) verwendet. Ansonsten kann es zu Ruck oder Stoß in der Sollwertgenerierung kommen.

Empfohlene Task: zyklisch
Verwendete Bibliotheken: TECH_TYPES_xxbd05 oder höher
TECH_TOOLS_xxbd00 oder höher

Ein-/Ausgänge

Bezeichnung: Datentyp: Beschreibung:
_Spline SPLINE_DATA Tabelle der Kurvenpunkte. Die x-Werte müssen aufsteigend angegeben werden. die y-Werte können beliebig gewält werden. Beide Werte werden in den gewählten Anwendereinheiten angegeben. Es können bis zu 256 Punkte vorgegeben werden. Die x-Punkte müssen nicht äquidistant sein. Im folgenden Beispiel wird eine Splinekurve erzeugt, die die Achse von 0 Grad auf 360° und wieder zurück positioniert, während sich der Master von 0 bis 100 mm bewegt hat.
a_CamTable CAM_TABLE Stützpunkttabelle der normierten Kurven.

Eingänge

Bezeichnung: Datentyp: Beschreibung:
x_Execute BOOL Mit einer positiven Flanke wir die Kurvenberechnung gestartet und in einem Zyklus ausgeführt. Die Ausführungszeit liegt bei einer SH03-30 und 10 Stützpunkten bei ca. 10ms.
ui_CamId UINT Position des ersten normierten Kurvenstützpunkts in a_CamTable. Es werden 512 Stützpunkte erzeugt. Die Position kann zwischen 8192 und 15872 gewählt werden. Sinnvollerweise sollte sie ein Vielfaches von 512 sein.
di_k1_Num DINT Zähler der Kurvensteigung am Anfang der Kurve.
di_k1_Denum DINT Nenner der Kurvensteigung am Anfang der Kurve.
di_knNum DINT Zähler der Kurvensteigung am Ende der Kurve.
di_knDenum DINT Nenner der Kurvensteigung am Ende der Kurve.
di_yMax DINT Maximalwert der Kurve (für Skalierung)

Ausgänge

Bezeichnung: Datentyp: Beschreibung:
x_Done BOOL TRUE: Berechnung erfolgreich beendet. Normierte Kurvenstützpunkte erstellt.
x_Error BOOL TRUE: Bei der Berchnung wurde ein Fehler festgestellt.
w_ErrorId WORD Fehlernummer. Siehe Fehlertabelle.
w_ErrorId Beschreibung
0 Kein Fehler aktiv.
100 gewählte CamId reserviert. Die CamId muss zwischen 8192 und 15872 liegen.Unbekannter SetPosMode
101 gewählte CamId zu groß. Die CamId muss zwischen 8192 und 15872 liegen.
105 Fehler x-Werte. Die x-Werte müssen aufsteigend sortiert sein.
110 Fehler schlechter Wert. Mögliche Ursache: Zu wenig Stützpunkte.
999 Keine Technologie-Lizenz. PLC mit Technologie-Lizenz verwenden.