Achsstart
Beim Achsstart wird mittels der Standard-Dynamikparameter (Beschleunigung, Verzögerung, Ruck) und der Startparameter (Sollgeschwindigkeit und Zielposition) ein ruckbegrenztes Dynamikprofil generiert und in Form einer Tabelle (Laufzeittabelle) hinterlegt, die dann in der Satzausführungstask zur Generation der Sollwerte dient.
Einheiten und Bezugssysteme
Basiseinheiten und damit voreingestellte Einheiten sind Millimeter [mm] und Sekunde [s], wobei man sich die Position auch in Modulowerten ausgeben lassen kann. Hier werden als Einheiten mm und s zugrunde gelegt.
Die Achse kann von ihrer aktuellen Position absolut, relativ oder modulo (in Bezug auf einen gegebenen Modulo-Faktor) auf eine Zielposition gestartet werden.
Anhand des Vorzeichens der Moduloposition wird die Fahrtrichtung der Achse festgelegt. Gibt man eine Modulo-Position vor, die kleiner als der Modulo-Faktor (Standardwert 360.0) ist, so wird unter Beibehaltung der vorgegebenen Richtung auf kürzestem Weg auf diese Modulo-Position gefahren. Diese Endposition kann sich, abhängig von der Anfangsposition, sowohl noch in der selben oder als auch in der nächsten Moduloperiode befinden. Bei der Modulo-Position 0.0 kann nicht anhand des Vorzeichens entschieden werden, welche Fahrtrichtung gewünscht wird. Dieser Fall wird definitionsgemäß als positive Fahrtrichtung interpretiert. Um die Position 0.0 in negativer Richtung anzufahren, kann ein negativer Wert nahe 0, z. B. -1e-6 angegeben werden.
Wird eine Moduloposition vom Betrag her größer oder gleich dem Modulo-Faktor vorgegeben, dann wird die Zielposition nicht mehr auf dem kürzesten Wege, sondern erst nach einmaligem oder mehrfachem Überfahren der Moduloposition erreicht. Das Vorzeichen legt wie immer die Fahrtrichtung und der Positionswert geteilt durch den Modulo-Faktor legt die Anzahl der zusätzlichen Umdrehungen fest, bis anschließend auf der entsprechenden Orientierung angehalten wird. Hierzu ein Beispiel: Modulostart auf Position +540.0 Grad bei Modulo-Faktor 360.0 bedeutet also, dass die Achse mindestens eine Periode (360.0 + 180.0 = 540.0) in positive Richtung gefahren wird und dann auf kürzestem Weg orientiert auf der Moduloposition 180.0 Grad gestoppt wird.
Hier werden nur absolute Positionierungen betrachtet.
Im Folgenden bezeichnen a(t) die Beschleunigung, v(t) die Geschwindigkeit und p(t) die Position zum Zeitpunkt t nach Start der Achse.
Mit Beschleunigungen/Verzögerungen und Geschwindigkeiten sind hier fast immer Bahnbeschleunigungen/Bahnverzögerungen (Bahnbeschleunigung/Bahnverzögerung = signum(Achssollgeschwindigkeit) × Achsbeschleunigung/Achsverzögerung ) und Bahngeschwindigkeiten ( Bahngeschwindigkeit = Betrag der Achsgeschwindigkeit) gemeint.
Globale Dynamikparameter
- Beschleunigung A+ > 0: der Parameter A+ begrenzt die Beschleunigung nach oben, d.h. für die gesamte Positionierung gilt: a(t) ≤ A+.
- Verzögerung A- > 0: der Parameter A- begrenzt die Beschleunigung nach unten, d.h. für die gesamte Positionierung gilt: -A- ≤ a(t).
- Ruckeinheit (Beschleunigungsänderung) J: die Ruckeinheit reguliert den Auf- und Abbau der Beschleunigung/Verzögerung. Falls a(t) nicht konstant ist, gilt |da(t)/dt| = J, d.h. die Beschleunigungsänderung vollzieht sich immer mit dem maximal zulässigen Wert.
- Beschleunigungsbegrenzungen A+, A-. Ob die Beschleunigungs-/Verzögerungsbegrenzung(en) (A+,A-) erreicht werden, hängt vom Verhältnis der Beschleunigungsbegrenzung/Verzögerungsbegrenzung zur Sollgeschwindigkeit V ab. Der Wert des Rucks J bei dem die Beschleunigungs-/Verzögerungsbegrenzung gerade erreicht (aber nicht beibehalten wird) ist der kritische RuckJ±, der durch die Formeln J+ = (A+)²/V, bzw. J- = (A-)²/V in Einheiten mm und s gegeben ist.
Startparameter
- Sollgeschwindigkeit V > 0: der Parameter V begrenzt die Geschwindigkeit nach oben, d.h. für die gesamte Positionierung gilt: |v(t)| ≤ V.
- Zielposition.
- Die Länge der Positionierstrecke ergibt sich indirekt aus der Startposition (Istposition) und der Zielposition.
Geschwindigkeitsprofil und Beschleunigungsprofil
Die Standarddynamik für Servo-Achsen ist eine ruckbegrenzte 7-Phasen-Dynamik. Die 7 Phasen sind (optionale Phasen sind geklammert [])
- Beschleunigungsphasen a(t) > 0:
- Beschleunigungsaufbau: da(t)/dt = +J,
- [Konstante Beschleunigung: a(t) = A+],
- Beschleunigungsabbau: da(t)/dt = -J,
- [Phase konstanter Geschwindigkeit |v(t)| = V],
- Verzögerungsphasen a(t) < 0:
- Verzögerungsaufbau: da(t)/dt = -J,
- [Konstante Verzögerung: a(t) = -A-],
- Verzögerungsabbau: da(t)/dt = +J.
Generelle Hinweise und Spezialfälle
- Der Start erfolgt von der aktuellen Istposition.
- Es wird nicht gestartet, wenn die Länge der Positionierstrecke kleiner als ein Encoder-Inkrement ist (Warnung).
- Falls die Sollgeschwindigkeit V nicht erreicht werden kann (die Strecke ist zu kurz oder V ist zu groß), wird ohne Meldung die größte erreichbare Geschwindigkeit (unter der symmetrischen Beschleunigung/Verzögerung A± = min(A+,A-)) ermittelt und anstelle von V aktiviert.
- Falls mit den angegebenen Stardaten kein Dynamikprofil erzeugt werden kann, weil der Ruck viel zu groß ist, dann wird der Ruck automatisch Reskaliert.
- Über die SPS steht ein Override zur Verfügung, der die Sollgeschwindigkeit auf einen zwischen 0.0 und 100.0 liegenden Prozentsatz ändert. Man kann z.B. die Achse mit Override 0.0 starten und dann nach Bedarf den Override hochdrehen.
Ablauf
- Vor Startanforderung: die Satzvorbereitungstask wartet auf neue Aufträge und in der Satzausführungstask arbeitet nur die Lagereglung.
- Satzvorbereitung: Nach Überprüfung der Startparameter wird ein Dynamikprofil generiert und in einer Laufzeittabelle abgelegt. Dann wird automatisch die Sollwertgenerierung der Satzausführungstask freigegeben.
- Satzausführung: Der Sollwertgenerator berechnet anhand der Laufzeittabelle und der abgelaufenen Zeit seit Start die aktuellen Sollwerte und übergibt diese an den Lageregler. Sollwerte der Sollwertgenerierung sind die lokalen Sollwerte, d.h. die in jedem Zyklus berechneten folgenden Größen:
- der Positionssollwert (zur Lagereglung),
- der Geschwindigkeitssollwert (zur Geschwindigkeitsvorsteuerung),
- der Beschleunigungssollwert (zur Reglung mit speziellen Reglern),
- die Sollrichtung (zur richtungsabhängigen Vorschubüberwachung).
- Nach Bahnende: In der Satzausführung wird wieder ausschließlich der Lageregler durchlaufen.
Bemerkungen zu den Bildern:
Skalen: Geschwindigkeit [mm/s] / Zeit [s]
Farben:
Sollposition: Dunkelblau Istposition: Hellblau
Sollgeschwindigkeit: Dunkelgrün Istgeschwindigkeit: Hellgrün
Sollbeschleunigung: Dunkelrot Istbeschleunigung: Hellrot
Schleppabstand: Gelb
Dynamik I: Beschleunigung/Verzögerung

Dynamik 1.1 Dynamikprofil mit A+ = A- = 5000.0 mm/s/s, R = 50000.0 mm/s/s/s, V = 2000.0 mm/s von 0.0 mm auf 1000.0 mm

Dynamik 1.2 Dynamikprofil mit A+ = -5000.0 ,A- = 10000.0 mm/s/s, R = 50000.0 mm/s/s/s, V = 2000.0 mm/s von 0.0 mm auf 1000.0 mm

Dynamik 1.3 Dynamikprofil mit A+ = A- = 15000.0 mm/s/s, R = 50000.0 mm/s/s/s, V = 2000.0 mm/s von 0.0 mm auf 1000.0 mm
Dynamik II: Ruck (Beschleunigungsänderung)

Dynamik 2.1 Dynamikprofil mit A+ = A- 5000.0 mm/s/s, R = 20000.0 mm/s/s/s, V = 2000.0 mm/s von 0.0 mm auf 1000.0 mm

Dynamik 2.2 Dynamikprofil mit A+ = A- 5000.0 mm/s/s, R = 50000.0 mm/s/s/s, V = 2000.0 mm/s von 0.0 mm auf 1000.0 mm

Dynamik 2.3 Dynamikprofil mit A+ = A- 5000.0 mm/s/s, R = 100000.0 mm/s/s/s, V = 2000.0 mm/s von 0.0 mm auf 1000.0 mm
Dynamik III: Geschwindigkeitsreduktion

Dynamik 3.1 Dynamikprofil mit A+ = A- 5000.0 mm/s/s, R = 50000.0 mm/s/s/s, V = 1500.0 mm/s von 0.0 mm auf 800.0 mm

Dynamik 3.2 Dynamikprofil mit A+ = A- 5000.0 mm/s/s, R = 50000.0 mm/s/s/s, V = 1750.0 mm/s von 0.0 mm auf 800.0 mm

Dynamik 3.3 Dynamikprofil mit A+ = A- 5000.0 mm/s/s, R = 50000.0 mm/s/s/s, V = 2000.0 mm/s von 0.0 mm auf 800.0 mm
Dynamikparameter | Bedeutung und Randbedingungen |
---|---|
Beschleunigung A+ | Beschleunigungsbegrenzung (A+ > 0.0) |
Verzögerung A- | Verzögerungsbegrenzung (A- > 0.0) |
Ruck J | Betrag der Beschleunigungsänderungskonstanten (J > 0.0) |
Hinweise zu den Startparametern:
- Für die Größenordnungen von J zu A+ bzw. A- in Einheiten mm und Saf-Zykluszeit T sollte mit hinreichend großen Abständen gelten: J « min(A+, A-). (Ein Beispiel: mit Saf- Zykluszeit T = 1/1000 s , Beschleunigung sowie Verzögerung A+ = A- = 10000 mm/s/s = 1/100 mm/T/T, Ruck J = 100000 mm/s/s/s = 1/10000 mm/T/T/T ergibt sich J = 0.0001 « A+ = A-= 0.01.)
- Will man sicherstellen, dass die eingestellte Beschleunigung A+ bzw. Verzögerung A- auch erreicht wird, dann muss man den Ruck J mindestens so groß wie den kritischen Ruck machen: J ≥ max( (A+)², (A-)²)/V.
Startparameter | Bedeutung und Randbedingungen |
---|---|
Sollgeschwindigkeit V | angeforderte Bahnsollgeschwindigkeit (Betrag der Achsollgeschwindigkeit) (V > 0.0, V ≤ V_max) |
Zielposition P | anzufahrende Position P (P_min ≤ P ≤ P_max) |
Hinweise zu den Startparametern:
- Ist die Sollgeschwindigkeit größer als die für die Achse maximal erlaubte GeschwindigkeitV_max, dann wird der Start abgelehnt und ein Fehler generiert.
- Ist die Sollgeschwindigkeit größer als die für die Achse festgelegte BezugsgeschwindigkeitV_ref (auch Referenzgeschwindigkeit genannt), dann wird der Start abgelehnt und ein Fehler generiert.
Ist die Sollgeschwindigkeit gleich oder nahezu gleich der Bezugsgeschwindigkeit, dann hat die Achse keine oder nur wenig Reserven zur Reglung. - Für die Größenordnungen von A+ und A- zu V in Einheiten mm und Saf- Zykluszeit T sollte mit hinreichend großen Abständen gelten: max (A+,A-) « V. (Ein Beispiel: mit Saf- Zykluszeit T = 1/1000 s , Sollgeschwindigkeit V = 1000 mm/s = 1 mm/T, Beschleunigung sowie Verzögerung A+ = A- = 10000 mm/s/s = 1/100 mm/T/T ergibt sich A+ = A- = 0.01 «1 = V.)
- Liegt die Zielposition P außerhalb der Softwareendschalter (P_min, P_Max), dann wird der Start abgelehnt und ein Fehler generiert.
- Ein Start aus dem Bereich außerhalb der Softwareendschalter (P_min, P_max) in den Bereich innerhalb der Softwareendschalter ist erlaubt.