Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Übersicht

TwinCAT NC PTP

Die PTP (Point To Point (Punkt zu Punkt)) Achsfunktionalität ist eine Steuerung zur eindimensionalen Positionierung von Achsen, speziell Servo-Achsen. Eindimensional heißt nicht unbedingt linear, sondern in einem vorgegebenen Koordinatensystem (kartesische Koordinaten, Kreiskoordinaten) wird eine Komponente interpoliert.

Die PTP ist die Grundlage der gesamten TwinCAT NC, da sich die Achsen bei Systemstart im Normalfall im PTP-Modus befinden und somit lagegeregelt sind. Die erweiterten TwinCAT NC Funktionalitäten werden von den PTP-Modi durch Umkonfiguration (FIFO, NCI) oder Kopplung (alle Slavetypen) erreicht.

Interfaces

Der Benutzer hat Zugang zur PTP über den System Manager und die SPS. Außerdem steht das zyklische NC-SPS-Achsinterface zur Verfügung.

Achsstart

Bei Achsstart wird mittels der globalen Dynamikparameter (Beschleunigung, Verzögerung, Ruck) und der Startparameter (Sollgeschwindigkeit und Zielposition) ein ruckbegrenztes Dynamikprofil generiert und in Form einer Tabelle (Laufzeittabelle) hinterlegt, das dann in der Satzausführungstask zur Generation der Sollwerte dient.

Override und Stop

Der Override dient der schnellstmöglichen on-line Änderung der Sollgeschwindigkeit der Achse. Bei der Anforderung 'Override auf x%' wird, wenn die Achse gestartet worden ist und wenn kein Stop vorliegt und wenn die Bremsphase noch nicht erreicht worden ist, eine neue Laufzeittabelle berechnet und aktiviert. Bei misslingen wird die Funktion nicht automatisch wieder aufgerufen.
Stop wird über Override 0.0 verwirklicht und hat - wenn die Bremsphase noch nicht erreicht worden ist - Priorität gegenüber allen anderen Funktionen.

Neue Endposition

Die Funktion 'Neue Zielposition' dient der schnellstmöglichen on-line Änderung der Zielposition der Achse. Bei der Anforderung 'NeueZielposition' wird, wenn die Achse gestartet worden ist und wenn kein Stop vorliegt, hinterfragt, ob

  • die Achse das neue Ziel überfahren hat, oder ob
  • die Achse bis zum neuen Ziel nicht mehr anzuhalten ist.

In diesen Fällen wird die Achse intern per Stop angehalten und automatisch per Neustart zum neuen Ziel zurückzufahren. Andernfalls wird eine neue Laufzeittabelle berechnet und aktiviert.

Neue Geschwindigkeit und neue Endposition

Die Funktion 'Neue Geschwindigkeit und neue Endposition' dient instantanen Änderung der Zielposition als auch - nach Überfahren einer Aktivierungsposition APos - der (späteren) Änderung der Sollgeschwindigkeit der Achse. Die dabei angegebene Geschwindigkeit NewV in mm/sec muss echt größer 0.0 sein und die neue Endposition EPos muss innerhalb der Software-Endschalter liegen.. Die Funktion 'Neue Geschwindigkeit und neue Endposition' kann nicht aktiviert werden solange eine Positionskompensation vorgenommen wird.

Positionskompensation

Manchmal ist es wünschenswert, dass eine Achse innerhalb einer gewissen Strecke (Kompensationslänge L) gegenüber der sich aus der Laufzeittabelle ergebenden Positionierung eine zusätzliche Positionierung um eine vorgegebene Strecke (Kompensationsdifferenz D - kann auch negativ sein) durchführt. Dieser Vorgang wird meist zur räumlichen Synchronisation mit anderen Achsen benutzt und ist auf jede Achse (Master, Slave) aufschaltbar.

Ist mit den angegebenen Kompensationsparametern die Positionskompensation nicht durchführbar, dann wird automatisch die maximal mögliche Kompensation durchgeführt.

Die Positionskompensation kann durch Kompensationsstop (stetig) abgebrochen werden.

Achtung:

Falls die Kompensationsdifferenz D negativ ist (Verzögern) sein, ist eine (doppelte) Bewegungsumkehr möglich.


Interfaces

Der Benutzer hat Zugang zur PTP über den System Manager und die SPS. Außerdem steht das zyklische NC-SPS-Achsinterface zur Verfügung.

PTP-Interface im System Manager

Im System Manager hat der Benutzer Zugriff, sowohl auf alle Funktionalitäten der PTP-Achsen, als auch auf die Variablen des NC-SPS Achs-Interfaces.

NC-SPS Bausteine

Über spezielle SPS-Bausteine hat der Benutzer den Zugriff auf alle Funktionalitäten der PTP-Achsen.

NC-SPS Interface

Das NC-SPS Interface beinhaltet ein Achsprozessabbild als auch Zugriff auf diverse Variablen der Achse.


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 sec 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 Ruck J±, der durch die Formeln J+ = (A+)²/V, bzw. J- = (A-)²/V in Einheiten mm und sec 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 [])

  1. Beschleunigungsphasen a(t) > 0:
    1. Beschleunigungsaufbau: da(t)/dt = +J,
    2. [Konstante Beschleunigung: a(t) = A+],
    3. Beschleunigungsabbau: da(t)/dt = -J,
  2. [Phase konstanter Geschwindigkeit |v(t)| = V],
  3. Verzögerungsphasen a(t) < 0:
    1. Verzögerungsaufbau: da(t)/dt = -J,
    2. [Konstante Verzögerung: a(t) = -A-],
    3. 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

  1. Vor Startanforderung: die Satzvorbereitungstask wartet auf neue Aufträge und in der Satzausführungstask arbeitet nur die Lagereglung.
  2. 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:

    1. der Positionssollwert (zur Lagereglung),
    2. der Geschwindigkeitssollwert (zur Geschwindigkeitsvorsteuerung),
    3. der Beschleunigungssollwert (zur Reglung mit speziellen Reglern),
    4. die Sollrichtung (zur richtungsabhängigen Vorschubüberwachung).
  3. Nach Bahnende: In der Satzausführung wird wieder ausschließlich der Lageregler durchlaufen.

Bemerkungen zu den Bildern:

Skalen: Geschwindigkeit [mm/sec] / Zeit [sec]
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/sec/sec, R = 50000.0 mm/sec/sec/sec, V = 2000.0 mm/sec von 0.0 mm auf 1000.0 mm

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

Dynamik 1.3 Dynamikprofil mit A+ = A- = 15000.0 mm/sec/sec, R = 50000.0 mm/sec/sec/sec, V = 2000.0 mm/sec von 0.0 mm auf 1000.0 mm

Dynamik II: Ruck (Beschleunigungsänderung)

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

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

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

Dynamik III: Geschwindigkeitsreduktion

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

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

Dynamik 3.3 Dynamikprofil mit A+ = A- 5000.0 mm/sec/sec, R = 50000.0 mm/sec/sec/sec, V = 2000.0 mm/sec von 0.0 mm auf 800.0 mm

Globale Dynamikparameter

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:

  1. 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 sec , Beschleunigung sowie Verzögerung A+ = A- = 10000 mm/sec/sec = 1/100 mm/T/T, Ruck J = 100000 mm/sec/sec/sec = 1/10000 mm/T/T/T ergibt sich J = 0.0001 « A+ = A- = 0.01.)
  2. 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

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:

  1. Ist die Sollgeschwindigkeit größer als die für die Achse maximal erlaubte Geschwindigkeit V_max, dann wird der Start abgelehnt und ein Fehler generiert.
  2. Ist die Sollgeschwindigkeit größer als die für die Achse festgelegte Bezugsgeschwindigkeit V_ref (auch Referenzgeschwindigkeit genannt), dann wird der Start abgelehnt und ein Fehler generiert.
    Achtung: Ist die Sollgeschwindigkeit gleich oder nahezu gleich der Bezugsgeschwindigkeit, dann hat die Achse keine oder nur wenig Reserven zur Reglung.
  3. 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/sec = 1 mm/T, Beschleunigung sowie Verzögerung A+ = A- = 10000 mm/sec/sec = 1/100 mm/T/T ergibt sich A+ = A- = 0.01 « 1 = V.)
  4. Liegt die Zielposition P außerhalb der Softwareendschalter (P_min, P_Max), dann wird der Start abgelehnt und ein Fehler generiert.
  5. Ein Start aus dem Bereich außerhalb der Softwareendschalter (P_min, P_max) in den Bereich innerhalb der Softwareendschalter ist erlaubt.

Interfaces

Globale Dynamikparameter

System Manager: Globale Dynamikparameter

SPS-Bausteine: Globale Dynamikparameter

Start Dynamikparameter

System Manager: Startparameter

SPS-Bausteine: Startparameter

Start

System Manager: Start

SPS-Bausteine: Start

Erweiterter Start: Dynamikparameter

System Manager: Erweiterter Start

SPS-Bausteine: Erweiterter Start

Erweiterter Start

System Manager: Erweiterter Start

SPS-Bausteine: Erweiterter Start


Override und Stop

Der Override dient der schnellstmöglichen on-line Änderung der Sollgeschwindigkeit der Achse.
Stop wird über Override 0.0 verwirklicht und hat Priorität gegenüber allen anderen Funktionen.

Override

Der Override ist ein instantaner (nicht zeitskalierter) Override, d.h. es wird versucht mit den maximal zulässigen Beschleunigungsänderungen das neue Geschwindigkeitsniveau so schnell wie möglich zu erreichen.
Der Override ist ist von 0.0% bis 100.0% in Stufen zu 1/1,000,000 veränderbar.

Es gibt vier Overridetypen:

  1. Der Override bezieht sich auf das bei Achs-Start berechnete und eventuell reduzierte Sollgeschwindigkeitsniveau. Ist das neue Geschwindigkeitsniveau nicht erreichbar, wird die alte Laufzeittabelle ohne Meldung beibehalten.
  2. Der Override bezieht sich auf die vom Benutzer angegebene Sollgeschwindigkeit. Ist das neue Geschwindigkeitsniveau nicht erreichbar, wird die alte Laufzeittabelle ohne Meldung beibehalten.
  3. Der Override bezieht sich auf das bei Achs-Start berechnete und eventuell reduzierte Sollgeschwindigkeitsniveau. Ist das neue Geschwindigkeitsniveau nicht erreichbar dann wird versucht eine kleineres optimales Geschwindigkeitsniveau zu erreichen.
  4. Der Override bezieht sich auf die vom Benutzer angegebene Sollgeschwindigkeit. Ist das neue Geschwindigkeitsniveau nicht erreichbar dann wird versucht eine kleineres optimales Geschwindigkeitsniveau zu erreichen.

Der Override wird nur aktiviert, wenn kein Stop vorliegt und wenn die Bremsphase noch nicht erreicht worden ist. Es gibt die Möglichkeit die Achse mit Override 0% zu starten.

Bei zu schnellen - speziell periodischen Änderungen des Overrides zwischen zwei festen Geschwindigkeitsniveaus - verhält sich die Achse - obwohl deterministisch berechnet - für den Benutzer indeterministisch.

Bemerkungen zu den Bildern:

Skalen: Geschwindigkeit [mm/sec] / Zeit [sec]
Farben:

Sollposition: Dunkelblau Istposition: Hellblau

Sollgeschwindigkeit: Dunkelgrün Istgeschwindigkeit: Hellgrün

Sollbeschleunigung: Dunkelrot Istbeschleunigung: Hellrot

Schleppabstand: Gelb

Overrideänderungen: Startoverride 100% -> 75% -> 100% (V = 2000.0 mm/sec, von 0.0 mm auf 5000.0 mm)

Overrideänderungen: Startoverride 20% -> 100% (V = 2000.0 mm/sec, von 0.0 mm auf 5000.0 mm)

Stop

Stop wird über Override 0.0 verwirklicht und hat - wenn die Bremsphase noch nicht erreicht worden ist - Priorität gegenüber allen anderen Funktionen. Wird Stop angefordert und ist die Positionskompensation aktiv, dann wird mit dem Stop der Grunddynamik gleichzeitig der Stop der Kompensation aktiviert um die Achse so schnell wie möglich auf der maximal zulässigen Bremsrampe abzustoppen.

Not-Stop

Bei Not-Stop mit Parametern Ruck R [mm/sec/sec/sec] und Verzögerung A- [mm/sec/sec] werden die Parameter Ruck und Verzögerung dann neu gesetzt, wenn beide Parameter echt größer sind als die bei Start mitgegebenen Parameter. Mit den neuen Parametern wird dann der Stop eingeleitet.

N.B.: in der (natürlichen oder durch den Benutzer induzierten) Bremsphase ist kein Not-Stop möglich.

Interfaces

Override

System Manager: Inputs

System Manager: Online[Set]

SPS-Bausteine: Override

Stop

System Manager: Online

System Manager: Funktionen

SPS-Bausteine: Stop


Neue Endposition

Die Funktion 'Neue Zielposition' dient der schnellstmöglichen on-line Änderung der Zielposition der Achse.

Interner Ablauf

Bei der Anforderung 'NeueZielposition' wird, wenn die Achse gestartet worden ist und wenn kein Stop vorliegt, hinterfragt, ob

  • die Achse das neue Ziel überfahren hat, oder ob
  • die Achse bis zum neuen Ziel nicht mehr anzuhalten ist.

In diesen Fällen wird die Achse intern per Stop angehalten und dann automatisch auf die gewünschte neue Zielposition zurückgefahren. Andernfalls wird eine neue Laufzeittabelle berechnet und aktiviert.
Die Funktion 'Neue Zielposition' darf nicht aktiviert werden solange eine Positionskompensation vorgenommen wird.
War bei Start der Achse die gewünschte Sollgeschwindigkeit nicht erreichbar, und ist nach der Anforderung einer neuen Zielposition die alte gewünschte Sollgeschwindigkeit erreichbar, dann wird diese auch erreicht, d.h. eine vorher langsam fahrende Achse kann nach der Anforderung einer neuen Zielposition plötzlich schneller werden.

Neue Endposition in der Stoppphase (V = 2000.0 mm/sec, Start von 0.0 mm auf 3000.0 mm, Nachstart auf 5000.0 mm)

Neue Endposition mit Umkehr (V = 2000.0 mm/sec, Start von 0.0 mm auf 3000.0 mm, Nachstart auf 2000.0 mm)

Interfaces

System Manager: Online

System Manager: Funktionen

SPS-Bausteine


Neue Geschwindigkeit und Endposition

TwinCAT NC PTP

Neue Geschwindigkeit und neue Endposition

Die Funktion 'Neue Geschwindigkeit und neue Endposition' dient instantanen Änderung der Zielposition und, falls vorher die vom Benutzer gewünschte Sollgeschwindigkeit VOld nicht erreicht werden konnte, auch - falls das möglich ist - der instantanen Änderung der aktuellen internen Sollgeschwindigkeit in Richtung auf die vom Benutzer gewünschte Sollgeschwindigkeit VOld, als auch - nach Überfahren einer Aktivierungsposition APos - der (späteren) Änderung der Sollgeschwindigkeit der Achse. Die dabei angegebene Geschwindigkeit VNew in mm/sec muss echt größer 0.0 sein und darf die Maximalgeschwindigkeit der Achse nicht überschreiten. Die neue Endposition EPos muss innerhalb der Software-Endschalter liegen.. Die Funktion 'Neue Geschwindigkeit und neue Endposition' kann nicht aktiviert werden solange eine Positionskompensation vorgenommen wird.

Interner Ablauf: Aktivierungsposition

Bei der Anforderung: Neue Geschwindigkeit VNew mm/sec, neue Endposition EPos mm, Aktivierungsposition APos mm

wird zuerst das Verhältnis der Positionen EPos, APos und der aktuellen Position Pos zueinander in Bezug auf die logische Richtung der der Positionierung bestimmt. Sei die logische Richtung positiv:

  1. gilt: Pos ≤ APos ≤ EPos, dann wird die neue Sollgeschwindigkeit NewV nach Überfahren der Position APos aktiviert,
  2. gilt : APos ≤ Pos ≤ EPos, dann ist die Aktivierungsposition schon überfahren worden und die Sollgeschwindigkeit NewV wird instantan aktiviert,
  3. gilt: APos ≤ EPos ≤ Pos, dann wird gestoppt und mit der alten Sollgeschwindigkeit VOld automatisch zurückgefahren,
  4. gilt: Pos ≤ EPos ≤ APos, dann wird nur die neue Endposition und die alte Sollgeschwindigkeit VOld , nicht aber die neue Sollgeschwindigkeit aktiviert,
  5. gilt: EPos ≤ APos ≤ Pos, dann wird gestoppt, mit der alten Sollgeschwindigkeit VOld auf die neue Endposition zurückgefahren (nicht implementiert: und bei Überschreiten der Aktivierungsposition die neue Sollgeschwindigkeit VNew aktiviert).
  6. gilt: EPos ≤ Pos ≤ APos, dann wird gestoppt und mit der alten (nicht implementiert: neuen) Sollgeschwindigkeit auf die neue Endposition zurückgefahren.

Analoges gilt für die logische Richtung negativ.

Bei der Anforderung 'Neue Geschwindigkeit und neue Zielposition' wird, wenn die Achse gestartet worden ist, hinterfragt, ob

  • die Achse das neue Ziel überfahren hat, oder ob
  • die Achse bis zum neuen Ziel nicht mehr anzuhalten ist.

In diesen Fällen wird die Achse intern per Stop angehalten und dann automatisch mit der passenden Sollgeschwindigkeit VOld (falls diese erreichbar ist) oder VNew (falls diese erreichbar ist) auf die gewünschte neue Zielposition zurückgefahren.

Interner Ablauf: Neue Geschwindigkeit

Muss nicht zurückgefahren werden und entweder die neue Sollgeschwindigkeit instantan angefordert oder die Aktivierungsposition überfahren, dann wird mit der neuen Sollgeschwindigkeit eine neue Laufzeittabelle berechnet. Ist aufgrund der Verhältnisse von Restweg und neuer Sollgeschwindigkeit die neue Sollgeschwindigkeit nicht erreichbar, dann wird iterativ die Sollgeschwindigkeit 7-8 mal runtergesetzt. Falls das zu keiner Lösung führt (ungünstige Szenarien sind: kleiner Restweg und/oder große neue Sollgeschwindigkeit - in Bezug auf die alte Sollgeschwindigkeit), wird die alte Laufzeittabelle beibehalten.

Besonderheiten

Im Gegensatz zur Funktion 'Neue Endposition' hat bei der Funktion 'Neue Geschwindigkeit und neue Zielposition' der Stop keine Priorität. Das bedingt, dass inkohärente kurz aufeinanderfolgende Instruktionen nicht zum Stopp der Achse führen müssen. Die Funktion 'Neue Geschwindigkeit und neue Zielposition' ist kompatibel zur Override-Funktion. Erfolgt die Anforderung in der Bremsphase, dann wird die instantane Instruktion, falls sie nicht instantan ausführbar ist, die spätere Aktion suspendiert und die instantane Aktion optimal verzögert durchgeführt und darauf die Suspendierung aufgehoben. Wird die Funktion mit instantaner (Ereignis1) und späterer Aktivierung (Ereignis2) zwischen Ereignis1 und Ereignis2 durch eine nur instantan wirkende Funktion unterbrochen (Ereignis3), dann wird die Aktivierung von Ereignis3 gelöscht. Wird die Funktion zwischen Ereignis1 und Ereignis2 durch eine wiederum instantan (Ereignis3) und später (Ereignis4) wirkende Funktion unterbrochen, dann wird die Ereignis4 anstelle von Ereignis3 gesetzt.

Interfaces

System Manager: Online

System Manager: Funktionen

SPS-Bausteine


Positionskompensation

Manchmal ist es wünschenswert, dass eine Achse innerhalb einer gewissen Strecke (Kompensationslänge L) gegenüber der sich aus der Laufzeittabelle ergebenden Positionierung eine zusätzliche Positionierung um eine vorgegebene Strecke (Kompensationsdifferenz D - kann auch negativ sein) durchführt. Dieser Vorgang wird meist zur räumlichen Synchronisation mit anderen Achsen benutzt und ist auf jede Achse (Master, Slave) aufschaltbar.
Ist mit den angegebenen Kompensationsparametern die Positionskompensation nicht durchführbar, dann wird automatisch die maximal mögliche Kompensation durchgeführt.
Die Positionskompensation kann durch Kompensationsstop (stetig) abgebrochen werden.

Achtung:

Falls die Kompensationsdifferenz D negativ ist (Verzögern) sein, ist eine (doppelte) Bewegungsumkehr möglich.

Generelle Hinweise:

Im Folgenden wird die durch die Startparameter festgelegte Dynamik und Positionierung als Grunddynamik und Grundpositionierung bezeichnet.

  1. D kann negativ sein. Die Gesamtpositionierung eilt dann der Grundpositionierung nach.
  2. Die Kompensation ist zu Ende, wenn die Strecke L±D abgefahren worden ist.
  3. Die Kompensation ist eine Streckensteuerung, d.h. während der Kompensation macht die Achse alle Änderungen der Grunddynamik (z.B. Override 0.0) mit.
  4. Kompensationsstart einer Achse, die sich in Kompensation befindet, ist gesperrt, d.h. es gibt keine iterierte Kompensation.
  5. Während der Stopphase wird keine Kompensation mehr gestartet.
  6. Bahnende während der Kompensation einer Achse beendet die Kompensation.
  7. Stop während der Kompensation einer Achse beendet die Kompensation an dem durch den Stop bedingten Bahnende.
  8. Eine virtuelle Achse (Encoderachse) kann keine Kompensation durchführen.
  9. Solange eine Positionskompensation vorgenommen wird darf die Funktion 'Neue Zielposition' nicht aktiviert werden.

Algorithmus

Nach Überprüfung der Kompensations-Startparameter wird berechnet, ob die Kompensation der Differenz D auf der Strecke L mit den Kompensationsstartparametern durchführbar ist. Ist das nicht der Fall, dann wird die maximal mögliche Kompensationsdifferenz berechnet und aktiviert. Die Parameter werden auf jeden Fall so gewählt, dass die Kompensation auf der ganzen Kompensationslänge abgefahren wird. Die Sollwertgenerierung der Kompensation ist ein nicht ruckbegrenzter 3-Phasenalgorithmus (trapezförmiges Geschwindigkeitsprofil), wobei eine unterschiedliche Neigung der Rampen möglich ist.

Volle Kompensation: Start von 0.0 mm auf 10,000.0 mm mit V = 2000.0 mm/sec
Kompensation A+ = 500.0 mm/sec/sec A- = 1000.0 mm/sec/sec, V = 300.0 mm/sec, VP = 2000.0 mm/sec,
L = 5000.0 mm, D = 250.0 mm
Endposition 10250.0 mm

Partielle Kompensation: Start von 0.0 mm auf 10,000.0 mm mit V = 2000.0 mm/sec
Kompensation A+ = 500.0 mm/sec/sec A- = 1000.0 mm/sec/sec, V = 500.0 mm/sec, VP = 2000.0 mm/sec,
L = 2000.0 mm, D = 500.0 mm
Endposition 10165.0 mm

Volle negative Kompensation: Start von 0.0 mm auf 10,000.0 mm mit V = 2000.0 mm/sec
Kompensation A+ = 500.0 mm/sec/sec A- = 1000.0 mm/sec/sec, V = 300.0 mm/sec, VP = 2000.0 mm/sec,
L = 5000.0 mm, D = -250.0 mm
Endposition 9750.0 mm

Startparameter

Positionskompensation: Startparameter

Startparameter | Bedeutung und Randbedingungen
Kompensationslänge L | Strecke auf der die Zusatzpositionierung erfolgt (L > 0.0)
Kompensationsdifferenz D | Strecke um die zusätzlich Verfahren werden soll (D ≠ 0.0)
Prozess-Geschwindigkeit VP | Geschwindigkeit auf die sich die Geschwindigkeitsüberhöhung bezieht (i. A. Achssollgeschwindigkeit) (VP > 0.0)
Geschwindigkeitsüberhöhung VK | zulässige Geschwindigkeitsüberhöhung/-Erniedrigung gegenüber der Prozess-Geschwindigkeit (VK > 0.0)
Beschleunigung AK+ | geforderte Beschleunigungsüberhöhung gegenüber der globalen Bahnbeschleunigung (AK+ > 0.0)
Verzögerung AK- | geforderte Verzögerungsüberhöhung gegenüber der globalen Bahnverzögerung (AK- > 0.0)

Hinweise zu den Startparametern.

  1. Die Kompensationsdifferenz D kann positiv (Aufholen) oder negativ (Verzögern) sein. Falls D < 0.0 gilt, ist eine (doppelte) Bewegungsumkehr möglich.
  2. Prozess-Geschwindigkeit. Wird die Kompensation aktiviert, wenn die Achse mit ihrer (globalen) Sollgeschwindigkeit fährt, dann sollte man VP dieser Geschwindigkeit gleichsetzen. Ist die Achse noch nicht (nicht mehr, nicht - Override -) auf ihrer globalen Sollgeschwindigkeit, dann sollte man VP gleich dem Betrag der aktuellen lokalen Sollgeschwindigkeit der Achse setzen.
  3. Stimmt die vorgegebene Prozess-Geschwindigkeit VP nicht mit dem Betrag der der realen aktuellen lokalen Achsgeschwindigkeit v überein, so gilt folgendes. Sei VP > v, dann wird die real kompensierte Strecke (absolut) kleiner als die angeforderte. Sei VP < v, dann wird die real kompensierte Strecke i.A. gleich der angeforderten. Das bedingt, dass bei Stop oder Override 0.0 die real kompensierte Strecke (absolut) kleiner als die angeforderte wird.
  4. Die Werte AK+ und AK- sind Überhöhungen der Bahnbeschleunigungs/Bahnverzögerungswerte, d.h. wenn D > 0.0 ist, beginnt die Kompensation mit der Beschleunigungsüberhöhung AK+, während, wenn D < 0.0 ist, beginnt die Kompensation mit der Verzögerungsüberhöhung AK-.
  5. Ist die Kompensationslänge L größer als die noch abzufahrende Strecke der Achse, dann wird anstelle von L die noch abzufahrende Strecke genommen.

Kompensationsstop

Die Funktion Kompensationsstop beendet die Kompensation einer Achse wenn die Achse in Kompensation ist und sich nicht in der Bremsphase der Kompensation befindet, indem die zu kompensierende Strecke D am Ende der Kompensation durch die wirklich kompensierte Strecke ersetzt wird.
Wird die Achse durch den Benutzer gestoppt und ist die Kompensation aktiv, dann wird automatisch mit dem Stop der Grunddynamik auch der Kompensationsstop aufgerufen.

Interfaces

Kompensationsstart

System Manager: Kompensationsparameter

System Manager: Start der Kompensation

SPS-Bausteine: Start der Kompensation

Kompensationsstop

System Manager: Stop der Kompensation

SPS-Bausteine: Stop der Kompensation


Externe Sollwertgenerierung

Die externe Sollwertgenerierung (externe Sollwertvorgabe) ermöglicht es eigene Sollwertgeneratoren in der PLC zu implementieren, oder schon vorhandene interne und externe Generatoren entsprechend zu verschalten, und diese einfach und transparent in das TwinCAT System zu integrieren. Achsen können einerseits ausschließlich mit einem externen Sollwertgenerator positioniert werden, andererseits ist aber auch ein Überlagern (Mischen) von bereits vorhandenen internen Generatoren und externen Sollwertquellen möglich.

Durch diese neuen Eigenschaften und die Tatsache, dass eine Achse zur Laufzeit ihre verschiedenen Betriebsarten wechseln kann (z.B. interpolierende Bahnachse (NCI), Master PTP-Achse, Slaveachse, externe Sollwertgenerierung), erhöht sich weiter die Flexibilität einer TwinCAT Achse.
Überhaupt ermöglicht die Überlagerung von internen und externen Sollwertquellen eine Vielzahl von neuen Anwendungen und Lösungen.

Einsatzbeispiele:

  • Die externe Sollwertvorgabe kann genutzt werden, um ein eigenes neues Sollwertprofil zu implementieren, das in der TwinCAT NC nicht verfügbar ist. Dieses Profil kann mathematisch sehr einfach oder auch beliebig komplex sein. Da das extern generierte Sollwertprofil auch dem Standardprofil überlagert werden kann, lassen sich somit auch korrigierende Funktionen ergänzen.
    So kann ein positionsbasiertes Sollwertprofil für schwer regelbare oder nichtlineare Systeme realisiert werden, beispielsweise eine positionsbasierte Bremsrampe bei Hydraulikachsen.
  • Eine Anwendung für das Überlagern (Mischen) zweier interner Sollwertquellen ist die Kombination aus interpolierender Bahnbearbeitung (NCI) und der Funktion 'Fliegende Säge' (PTP Slave). Somit wird eine mehrdimensionale Bearbeitung, z.B. ein Kreis, auf einem bewegtem Werkstück möglich, was zuvor nur mit einem ruhenden Werkstück möglich gewesen ist. Diese Maßnahme erhöht die Effizienz einer Maschine.
  • Die externe Sollwertgenerierung wird auch genutzt, um eine bestimmte Vorlaufzeit (im mehrstelligen Sekundenbereich) zwischen der sollwertgenerierenden Einheit (z.B. die Abarbeitung eines DIN-NC-Programme, das virtuelle Achsen speist) und den realen Achsen zu ermöglichen. Hier können dann Kollisionsüberwachungen und Strategien zur Kollisionsvermeidung realisiert werden.
  • Ein weiterer wichtiger Anwendungsfall sind Koordinatentransformationen (beschränkt auf reguläre und eindeutige Transformationen ohne Singularitäten). Z.B. Geometrien wie ein 'Zweischlag' oder Umrechnung zwischen rotatorischen und translatorischen Koordinaten.

Diese neue Funktion steht mit den SPS Bausteinen MC_ExtSetPointGenEnable und MC_ExtSetPointGenDisable in der Bibliothek TcMc.lib zur Verfügung. Ferner gibt es ein Beispiel für einen externen Sollwertgenerator (3 Phasen Profil mit Beschleunigungsrechteck).

Aktivierung der externen Sollwertgenerierung:

Die Übernahme der externen Sollwertvorgaben wird durch eine ADS-Achsfunktion aus der PLC mit dem Funktionsbaustein MC_ExtSetPointGenEnable veranlasst. Als Parameter werden der Achs-Starttyp Absolut (1) oder Relativ (2) vorgegeben und, sofern sinnvoll und benötigt, die Zielposition der Achse. Diese Zielposition wirkt entsprechend dem Startmode absolut oder relativ und ermöglicht die Positions- und Zielpositionsfenstersüberwachung (PEH). Somit ist das Aktivieren der externen Sollwertvorgabe einem herkömmlichen Achsstart ähnlich.
Über den Zustand, nämlich ob die externen Sollwertgenerierung, aktiv oder inaktiv, informiert ein Statusbit aus dem Status-Doppelwort des zyklischen Achsinterfaces von der NC zur PLC (s. Funktion AxisHasExtSetPointGen in der TcNc.lib).

Damit die Aktivierung fehlerfrei angenommen wird, darf kein Achsfehler vorliegen, die Regler- und Vorschubfreigaben müssen erteilt sein, die Antriebshardware muss betriebsbereit sein und die Achse darf nicht gekoppelt sein (kein Slave).

Hinweise:

1) Bei einem Achsfehler (Laufzeitfehler der Achse) oder bei einen Achsreset (auch ein Flankenwechsel der Software-Reglerfreigabe) wird automatisch die externe Sollwertvorgabe deaktiviert (ähnlich dem Abbruch einer PTP-Achspositionierung bei einen Laufzeitfehler oder Achsreset).

2) Wird ausschließlich eine externe Sollwertgenerierung vorgenommen, dann sind sowohl die Starttypen Absolut als auch Relativ erlaubt.
Wird die externe Sollwertgenerierung parallel bzw. additiv zur internen Sollwertgenerierung (PTP) gestartet, dann ist nur der Startmode Relativ möglich, da die interne Positionierung letztlich immer auf einen Absolut-Start umgerechnet wird und zwei Absolutpositionen zeitgleich nicht möglich sind.

3) Man kann zwar während einer aktiven internen PTP-Positionierung die externe Positionierung mit dem Starttyp Realtiv aktivieren, jedoch ist der umgekehrte Fall nicht erlaubt.

4) Wenn bereits die externe Sollwertgenerierung aktiv ist und diese zum wiederholten Mal aktiviert wird, dann müssen die Starttypen übereinstimmen, andernfalls wird dies mit einem Fehler beantwortet.
Das wiederholte Aktivieren der externen Sollwertgenerierung kann insofern sinnvoll sein, da hier jedes Mal die Zielposition übernommen wird und damit die Zielpositionsfenstersüberwachung (PEH) aktualisiert wird.

Deaktivierung der externen Sollwertgenerierung:

Das Abschalten der externen Sollwertvorgabe wird aus der PLC mit dem Funktionsbaustein MC_ExtSetPointGenDisable veranlasst. Eine Rückmeldung gibt das bereits erwähnte Statusbit aus dem Status-Doppelwort des zyklischen Achsinterfaces von der NC zur PLC (s. Funktion AxisHasExtSetPointGen in der TcNc.lib ).

Hinweis:
Nach dem Deaktivieren der externen Sollwertgenerierung wird noch genau für einen weiteren Zyklus die externe Sollposition übernommen.

Vorgabe der Sollwerte mittels des zyklischen Achsinterfaces:

Nach fehlerfreier Aktivierung der externen Sollwertgenerierung kann nun in jedem PLC-Zyklus ein Paket aus Sollwerten am Achsinterface angelegt werden. Ein Sollwertpaket besteht aus der externen Sollposition, Sollgeschwindigkeit, Sollbeschleunigung und Sollrichtung (-1, 0, +1).
Der Sollrichtung kommt hierbei eine besondere Bedeutung zu, nämlich nur wenn diese ungleich Null ist (0: keine Bewegung) werden intern Sollwerte übernommen und zur Wirkung gebracht. Somit muss für den gesamten Bereich der externen Sollwertgenerierung das Richtungsflag quasi am Anfang und Ende überlappend gesetzt sein.

Hinweise:

1) Nach dem Zurücksetzen der Sollrichtung auf den Wert Null wird noch genau für einen weiteren SAF-Zyklus die externe Sollposition übernommen.

2) Die Sollrichtung sollte schon einen Zyklus vor und noch einen Zyklus nach der Bewegung mit einem Wert ungleich Null (also -1 oder +1) gesetzt sein. Hierdurch wird ein sicherer Zeitrahmen gesetzt, der garantiert verhindert, dass weder ein Wert am Anfang noch ein Wert am Ende unberücksichtigt bleibt.

Einstellungen der PLC-Task:

Idealerweise sollte die PLC-Task, die die Sollwerte generiert und vorgibt, synchron, d.h. mit der selben Zykluszeit wie die NC-SAF-Task (Port 501), arbeiten. Auch muss diese PLC-Task entsprechend hochprior sein, eventuell sogar höher priorisiert als die NC-SVB-Task (Port 511).

Optimierungsmöglichkeiten:

Die Totzeit, die durch den Transport über das zyklische Achsinterface entsteht (eventuell sind auch die Eingangsinformationen, die zur Berechnung der externen Sollwerte führen, einen Zyklus alt), kann für eine Achse, die im Geschwindigkeitsinterface betrieben wird, kompensiert werden. Diese Totzeitkompensation kann mittels des globalen Achsparameters Verzögerungszeit zwischen Geschwindigkeit und Position im TwinCAT System Manager eingestellt werden (Defaultwert: 0.0 s).


Übersicht

Definition

Achsen deren Sollwerte (Position, Geschwindigkeit, Beschleunigung) in funktionaler Abhängigkeit von den Sollwerten anderer Achsen (Master-Achsen, virtuellen Achsen, Slave-Achsen, Simulationsachsen) - insbesondere von deren Positions-Sollwerten - generiert werden heißen Slave-Achsen. Diese Achsen sind i.A. – bis auf An- und Abkoppeln - ohne eigene Funktionalität (speziell ohne Start und ohne Stop) und laufen über eine Streckensteuerungsynchron zur Master-Achse (die selber wieder eine Slave-Achse sein kann).
Bei der Ankopplung einer Master-Achse (zukünftige Slave-Achse) an eine Master-Achse behält die Slave-Achse ihre eigene Lagereglung.

Slave Topologien

Die zugelassenen Slave-Topologien (Verknüpfungsmöglichkeiten) sind Stern und Kaskade.

Stern, d.h. alle Slaves hängen direkt an einer Master-Achse (virtuellen Master-Achse).

Kaskade, d.h. alle Slaves hängen in einer Kette hintereinander und die erste Slave-Achse an einer Master-Achse (virtuellen Master-Achse).

Es ist möglich, die Kaskade in beliebiger Reihenfolge aufzubauen.
Es ist möglich, in beliebiger Reihenfolge innerhalb einer Kaskade abzukoppeln.

Slave Typen

Je nach Art der Sollwertgenerierung unterscheidet man die folgenden Typen:

  • Lineare Slave-Achse,
  • Fliegende Säge,
  • Kurvenscheiben-Achse,
  • Multitabellen-Achse,

die hier kurz erläutert werden.

Lineare Slave-Achse

Eine Slave-Achse, deren Positions-Sollwerte aus den Positions-Sollwerten einer anderen Achse durch eine affine Transformation ermittelt werden, heißt Lineare Slave-Achse.
Es gilt: Slave-Sollposition = Koppelfaktor × Master-Sollposition + Offset, wobei sich der Offset aus der Koppelposition ergibt und der Koppelfaktor beim Koppeln festgelegt wird. Der Koppelfaktor ist on-line veränderbar.
Während das Ankoppeln des Slaves an den Master off-line erfolgt (Master und Slave stehen), kann das Abkoppeln on-line erfolgen: der Slave wird dabei in einen Master umgewandelt, der so weiterfährt, als ob er noch Slave sei, der aber auch unanhängig vom ehemaligen Master gestoppt werden kann.

Zyklische Slave-Achse

Eine Slave-Achse, deren Positions-Sollwerte aus

  1. den Positions-Sollwerten einer anderen Achse (Master Achse) durch eine affine Transformation und
  2. einem Koppelfaktor, der durch das zyklische SPS-NC Interface im SPS Zyklus gesetzt wird

ermittelt werden, heißt Zyklische Slave-Achse.

Fliegende Säge

Kurvenscheiben-Achse

Multitabellen-Achse


Übersicht

TwinCAT NC SLAVE-ACHSEN

NC Fehlerhandling

1. Erweitertes NC-Fehlerhandling für gekoppelte Achsen

Auszug der NC Achsparameter aus dem TwinCAT System Manager:

Das erweiterte NC-Fehlerhandling für gekoppelte Achsen lässt sich mittels des Parameters Fehlerreaktionsmodus konfigurieren.

Einstellung INSTANTANEOUS:

Diese Anwahl Instantaneous entspricht der Fehlerreaktion bis TwinCAT 2.10 (Default). Im Fehlerfall einer Achse wird von der NC automatisch eine sofortige Fehlerreaktion und Stillsetzung aller beteiligten Achsen der Master/Slave-Gruppe eingeleitet.

Einstellung DELAYED:

Der Grundgedanke bei dieser Einstellung ist, dass im Fehlerfall keine automatische sofortige NC-Fehlerreaktion eingeleitet wird. Der Anwender hat die Möglichkeit, eine individuelle genau auf die Anwendung abgestimmte Fehlerreaktion einzuleiten.
Tritt nun bei einer gekoppelten Achse ein Laufzeitfehler auf, so wird genau nur diese Achse mittels einer Fehlerreaktion unverzögert in einen Fehlerzustand geschaltet, ohne jedoch die übrigen Achsen der Master/Slave-Gruppe sofort zu beeinflussen (lokale Fehlerreaktion). Die Fehlerfortpflanzung auf die übrigen beteiligten Achsen wird für die parametrierte Verzögerungszeit Fehlerreaktionsverzögerung unterbunden. Während dieser Zeit ist der Anwender dafür verantwortlich, die von ihm geforderte Fehlerreaktion einzuleiten (z.B. den Stopp der Master-Achse oder das Abkoppeln von Teilbereichen der Master/Slave-Struktur).
Nach Ablauf der parametrierten Verzögerungszeit tritt dann die bekannte NC-Fehlerreaktion in Kraft (globale Fehlerreaktion). Diese Fehlerreaktion wirkt jedoch nur noch auf den zu diesem Zeitpunkt vorliegenden Achsverbund, zu dem die fehlerbehaftete Achse gehört (z.B. kann die ursprüngliche Master/Slave-Gruppe zuvor durch Entkoppeln in eine fehlerfreie und eine fehlerbehaftete Gruppe geteilt worden sein).

Anmerkungen zu Achsinterface:

Tritt bei einer Master/Slave-Achse mit der Konfiguration DELAYED ein Laufzeitfehler auf, dann wird dieser zeitgleich durch die beiden NC-Status-Bits Error (Bit 31) und ErrorPropagationDelayed (Bit 6) signalisiert. Nach Ablauf dieser Fehlerreaktionsverzögerungszeit wird das Bit ErrorPropagationDelayed wieder auf FALSE gesetzt.

Voraussetzungen:

Das erweiterte NC-Fehlerhandling (Fehlerreaktionsmodus) und die Umschaltung auf Istwert-Kopplung (Istwert im deaktivierten Zustand nutzen) gilt nur für Master/Slave-Achsen der Achstypen Continuous Axis (PTP Achse) und Encoder Axis.

2. Umschaltung auf Istwert-Kopplung

Auszug der NC Achsparameter aus dem TwinCAT System Manager:

Grundsätzlich basiert die Sollwertgenerierung zwischen gekoppelten Achsen immer auf Soll-Werten anstatt auf Ist-Werte.
Die Eigenschaft Umschaltung auf Istwert-Kopplung wird durch den Parameter Istwerte im deaktivierten Zustand nutzen parametriert und ist immer im Zusammenhang mit einer Master/Slave-Kopplung zu verstehen. Es müssen hierbei zwei unterschiedliche Fälle unterschieden werden.

1.Fall: Umschaltung auf Ist-Werte im Fehlerfall einer Achse

Im Fehlerfall einer gekoppelten Achse bei der die Fehlerreaktion verzögert ist (Fehlerreaktionsmodus: DELAYED) kann diese Achse von der NC von Soll-Werte auf Ist-Werte umgeschaltet werden. Diese Umschaltung wirkt sich zwar auf die Fehlerachse selbst nicht aus (diese befindet sich bereits stillgesetzt im Fehlerzustand), allerdings können unterlagerte Slave-Achsen nun über Ist-Werte dieser Achse weitergeführt werden. Die Eigenschaft kann im Fehlerfall zu einer höheren Synchronität zwischen der fehlerhaften Achse und den unterlagerten Slave-Achsen führen falls die fehlerbehaftete Achse sich durch ihre Trägheit weiterbewegt.

2. Fall: Umschaltung auf Ist-Werte bei deaktivierter Hauptmasterachse

Die Umschaltung auf Istwerte auch im fehlerfreien Fall ist ausschließlich für den Hauptmaster, also den Kopf der Kopplung einer Master/Slave-Struktur verfügbar. Vorraussetzung ist eine fehlerfreie Master/Slave-Gruppe, in der alle Achsen über die NC-Reglerfreigabe in Betriebsbereitschaft (Lageregelung) sind.

Wenn nun dem Hauptmaster die NC-Reglerfreigabe entzogen wird, wird die gesamte Gruppe nach den Istwerten des Hauptmasters geführt. So könnte beispielsweise der Hauptmaster von Hand mechanisch verschoben werden und alle weiteren an diesen Master gekoppelten Achsen folgen gemäß ihrer mathematischen Koppelvorschrift (z.B. Kurvenscheiben).

Voraussetzungen:

Das erweiterte NC-Fehlerhandling (Fehlerreaktionsmodus) und die Umschaltung auf Istwert-Kopplung (Istwert im deaktivierten Zustand nutzen) gilt nur für Master/Slave-Achsen der Achstypen Continuous Axis (PTP Achse) und Encoder Axis.


Übersicht

Eine Slave-Achse, deren Positions-Sollwerte aus den Positions-Sollwerten einer anderen Achse durch eine affine Transformation ermittelt werden, heißt Lineare Slave-Achse.
Es gilt: Slave-Sollposition = Koppelfaktor * Master-Sollposition + Offset, wobei sich der Offset aus der Koppelposition ergibt und der Koppelfaktor beim Koppeln festgelegt wird. Der Koppelfaktor ist on-line veränderbar.
Während das Ankoppeln des Slaves an den Master off-line erfolgt (Master und Slave stehen), kann das Abkoppeln on-line erfolgen: der Slave wird dabei in einen Master umgewandelt, der so weiterfährt, als ob er noch Slave sei, der aber auch unanhängig vom ehemaligen Master gestoppt werden kann.

Glossar

Abkoppeln: Off-Line: logisches Abkoppeln der Slave-Achse von der Master-Achse im Stillstand beider Achsen.

Abkoppeln: On-Line: Umwandlung einer Slaveachse in Fahrt in eine Pseudomasterachse.

Führungsachse: Achse von der eine Slaveachse ihre Führungswerte bekommt (das kann eine Masterachse, eine Slaveachse, Pseudomasterachse oder eine virtuelle Achse sein).

Grunddynamik: Slave-Dynamik ohne Berücksichtigung von Kompensationen.

Kompensation: Zusatzpositionierung einer Achse die Additiv (auch Negativ) zu der durch den Start vorgegebenen Positionierung ausgegeben wird.

Masterachse: Achse mit voller Funktionalität (Start/ Stop/ Override/ NeueZielposition/ Kompensation).

Masterslave: Slaveachse deren Führungsachse eine Masterachse, virtuelle Achse oder Pseudomasterachse ist.

Pseudomasterachse: Achse mit eingeschränkter Funktionalität (Stop, [Override],[Kompensation]), die durch die Umwandlung einer Slave-Achse in eine Master-Achse entsteht.

Interfaces

Die Interfaces bestehen aus dem System Manager, SPS-Bausteinen und dem zyklischen NC-SPS-Achs-Interface.

Ankoppeln und Koppelfaktor

Beim Ankoppeln wird der Slave-Achse eine Master-Achse (die ihrerseits eine Slave-Achse sein kann) zugeordnet und der Koppelfaktor gesetzt.

Abkoppeln und Neue Endposition

Entkoppeln ist in jedem dynamischen Zustand der Masterachse möglich - die Slaveachse wird in eine Masterachse umgewandelt und fährt dann so weiter, also ob sie weiterhin Slaveachse wäre, kann aber individuell gestoppt werden. Das Koppelflag wird zurückgesetzt.
Beim off-line Abkoppeln (Abkoppeln im Stillstand) wird die Slave-Achse in eine PTP-Master-Achse verwandelt.
Beim on-line Abkoppeln (Abkoppeln in Fahrt) wird die Slave-Achse wieder in eine PTP-Master-Achse verwandelt. Das Anfahren einer neuen Endposition in Bewegungsrichtung ist möglich.

Positions-Kompensation

On-line Positionskorrektur der Slave-Achse, bei der auf einer vorgegebenen Strecke die Slave-Achse um eine bestimmte Strecke mehr oder weniger verfahren wird, als der Kopplung an die Master-Achse entspricht. Die Dynamik der Kompensation muss parametriert werden. Ist die gewünschte Kompensation mit den gegebenen Kompensationsstartdaten nicht durchführbar, dann wird automatisch die maximal mögliche Kompensation durchgeführt. Die Kompensation kann über Stopp der Kompensation vorzeitig beendet werden.

Achtung:

Falls die Kompensationsdifferenz D negativ ist (Verzögern) sein, ist eine (doppelte) Bewegungsumkehr möglich.


Interfaces

Der Benutzer kann die lineare Slave Achse über den System Manager oder SPS-Bausteine bedienen. Außerdem steht ihm (im System Manager und über die SPS) ein zyklisches NC-SPS Interface zur Verfügung, das das Achs-Prozessabbild beinhaltet und Zugriff auf diverse Variablen ermöglicht.

System Manager

Der System Manager bietet den Zugriff auf alle Slave-Achs Funktionalitäten

  • Koppeln mit Angabe der Masterachse und Setzen des Koppelfaktors
  • Änderung des Koppelfaktors
  • Abkoppeln

SPS-Bausteine

Die SPS Library bietet den Zugriff auf alle Slave-Achs Funktionalitäten

  • Koppeln mit Angabe der Masterachse und Setzen des Koppelfaktors
  • Änderung des Koppelfaktors
  • Abkoppeln

NC-SPS-Interface

Das zyklische NC-SPS Achs-Interface beinhaltet das Achs-Prozessabbild und insbesondere Zugriff auf die Koppelinformation (Koppelflag).


ZyklischeSlaves

TwinCAT NC Zyklische SLAVE-Achsen

Ankoppeln und Koppelfaktor

Beim Ankoppeln wird der Slave-Achse eine Master-Achse (die ihrerseits eine Slave-Achse sein kann) zugeordnet und der Koppelfaktor gesetzt.

Koppeln

Koppeln kann nur im Stillstand beider Achsen erfolgen. Das Koppeln ist damit nur eine logische Zuordnung und hat (solange der Master nicht bewegt wird) keine dynamischen Konsequenzen, sondern sperrt für die Slave-Achse bestimmte Funktionalitäten (z.B. Start und Stopp). Das Koppelflag wird gesetzt.

Koppel-Interfaces

System Manager: Koppeln

SPS-Bausteine: Koppeln

Streckensteuerung

Der Slave folgt der Bewegung des Masters gemäß den Masterpositionen, dem Koppeloffset und dem Koppelfaktor.

Masterstart von 0.0 mm auf 20,000.0 mm mit V = 2000.0 mm/sec bei Startoverride 30% und Koppelfaktor 0.75. Dann (Master-)Override auf 100%, dann (Master-)Stopp.

Koppelfaktor

Der Koppelfaktor (Getriebefaktor) muss ungleich Null sein, kann auch negativ sein. Es gilt:

  • Slavesollposition = Koppelfaktor × Mastersollposition + Offset, wobei sich der Offset aus den Koppelpositionen ergibt,
  • Slavesollgeschwindigkeit = Koppelfaktor × Mastersollgeschwindigkeit.

Kopplung mit festem negativen Koppelfaktor:

Master Start von 0.0 mm auf 2000.0 mm mit V = 2000.0 mm/sec, Koppelfaktor -0.5.

Kopplung mit variablem Koppelfaktor:

Master Start von 0.0 mm auf 2000.0 mm mit V = 2000.0 mm/sec, Koppelfaktor -0.7, neuer Koppelfaktor -0.8.

Änderungen des Koppelfaktors

On-line Änderung des Koppelfaktors (ungleich Null) ist möglich, liegt aber in Bezug auf die Auswirkungen (Schleppabstand) in den Händen des Benutzers. Ändern des Koppelfaktors sollte bei Fahrt nur mit Maßen durchgeführt werden, da ein Schleppabstand erzeugt wird. Änderungen des Koppelfaktors von Plus nach Minus (und umgekehrt) bewirken eine Bewegungsumkehr der Slaveachse.

Koppelfaktor-Interfaces

System Manager: Koppelfaktor

SPS-Bausteine: Koppelfaktor


Abkoppeln und Neue Endposition

Entkoppeln ist in jedem dynamischen Zustand der Masterachse möglich - die Slaveachse wird in eine Masterachse umgewandelt und fährt dann so weiter, also ob sie weiterhin Slaveachse wäre, kann aber individuell gestoppt werden. Das Koppelflag wird zurückgesetzt.
Beim off-line Abkoppeln (Abkoppeln im Stillstand) wird die Slave-Achse in eine PTP-Master-Achse verwandelt.
Beim on-line Abkoppeln (Abkoppeln in Fahrt) wird die Slave-Achse wieder in eine PTP-Master-Achse verwandelt. Das Anfahren einer neuen Endposition bzw. einer neuen Geschwindigkeit in Bewegungsrichtung ist möglich.

Off-line Abkoppeln

Lineare Slave-Achsen können off line (im Stillstand) abgekoppelt werden. Sie werden damit wieder in eine Masterachse zurückverwandelt.

On-line Abkoppeln

Beim On-line Abkoppeln (Abkoppeln in Fahrt) wird die Slave-Achse in eine Master-Achse gewandelt (Onlinewandlung vom Slave zum Master).
Nach dem Abkoppeln fährt die gewandelte Masterachse so weiter, als ob er weiterhin Slave wäre.
Override: wird nach dem Abkoppeln ein Override angefordert, dann bezieht sich dieser auf den Absolutbetrag des letzten gesetzten Koppelfaktors mal die globale interne Sollgeschwindigkeit des ehemaligen Masters.

Die On-line Umwandlung einer Slaveachse in eine Masterachse geht nur, wenn die Geschwindigkeit der Masterachse (damit auch die Geschwindigkeit der Slaveachse) ungleich Null ist (Override > 0.0), ansonsten erfolgt eine off-line Umwandlung. Hauptzweck der on-line Umwandlung ist die Trennung von Master und Slaveachse (oder die Aufspaltung einer Kaskade in Teilkaskaden) um beide Teile unabhängig voneinander Stoppen zu können.

Generelle Hinweise zum Abkoppeln unter Kompensation:

  • Abkoppeln, wenn abzukoppelnder Slave oder ein Slave in der Kette zwischen Master (ausschließlich) und abzukoppelndem Slave (einschließlich) eine Kompensationsfahrt unternimmt: die aktuelle Slavegrunddynamik wird beibehalten und die aktuelle Kompensationsgeschwindigkeit wird beibehalten; die Kompensation wird nie mehr beendet.
  • Abkoppeln, wenn der Master in Kompensationsfahrt ist: die aktuelle Slavegrunddynamik wird beibehalten und die aktuelle Kompensationsgeschwindigkeit wird beibehalten; die Kompensation wird nie mehr beendet.

Masterachse: Start von 0.0 mm auf 20,000.0 mm mit V = 2000.0 mm/sec.
Slaveachse: Koppel- und Startposition 0.0 mm, Koppelfaktor 1.0.
On-line Abkoppeln, Slave Stopp, dann Master Stopp.

Masterachse: Start von 0.0 mm auf 20,000.0 mm mit V = 2000.0 mm/sec.
Slaveachse: Koppel- und Startposition 0.0 mm, Koppelfaktor 0.5.
On-line Abkoppeln, Slave Stopp, dann Master Stopp.

On-line Abkoppeln und Neue Endposition

Koppelfaktor 0.8 Abkoppeln und Neue Endposition in Fahrtrichtung + anfahren.

Koppelfaktor -0.8 Abkoppeln und Neue Endposition in Fahrtrichtung - anfahren.

Koppelfaktor 0.75 Abkoppeln und Neue Endposition gegen Fahrtrichtung anfahren.

Interfaces

System Manager

SPS-Bausteine


Positionskompensation

Im Folgenden wird die durch die Kopplung an den jeweiligen Master festgelegte Dynamik und Positionierung als Grunddynamik und Grundpositionierung bezeichnet. Die Positionskompensation ist eine zusätzliche Positionierung die additiv der Gundpositionierung superponiert wird. Auf einer gewissen Strecke (Kompensationslänge L) wird wird eine Zusatzpositionierung um eine gewünschte Strecke (Kompensationsdifferenz D) durchführt . Ziel der Positionskompensation einer Slave-Achse ist im Allgemeinen die Durchführung einer räumlichen Synchronisation mit anderen Achsen.

Die Positionskompensation kann durch Kompensationsstop (stetig) abgebrochen werden.

Die Positionskompensation von Slave-Achsen ist eine Variante der Positionskompensation von Masterachsen.

Achtung:

Falls die Kompensationsdifferenz D negativ ist (Verzögern) sein, ist eine (doppelte) Bewegungsumkehr möglich.

Generelle Hinweise:

  1. D kann negativ sein. Die Gesamtpositionierung eilt dann der Grundpositionierung nach.
  2. Die Kompensation ist zu Ende, wenn die Strecke L±D abgefahren worden ist.
  3. Die Kompensation ist eine Streckensteuerung, d.h. während der Kompensation macht die Slave-Achse alle Änderungen der Grunddynamik (z.B. Override 0.0) mit.
  4. Kompensationsstart einer Achse, die sich in Kompensation befindet, ist gesperrt, d.h. es gibt keine iterierte Kompensation.
  5. Bahnende während der Kompensation die Kompensation.

Spezielle Hinweise für Slave-Achsen:

  1. Ist eine Slaveachse an eine virtuelle Achse als Masterachse gekoppelt, so kann die Slaveachse nur dann eine Kompensation starten und durchführen, wenn die Geschwindigkeitsfilterzeit (der virtuellen Achse) so groß ist, dass die Achse nicht zufällig die Richtung wechselt.
  2. Positionskompensation ist unabhängig voneinander auf allen Achsen einer Kaskade (inklusive Masterachse) möglich.
  3. Innerhalb einer Kaskade wird die Kompensation an die nachfolgenden Slaveachsen weitergereicht. Bei negativer (in Bezug auf die Achsrichtung) Kompensation kann eine Bewegungsumkehr eintreten.
  4. Bei mehreren Kompensationen innerhalb einer Kaskade addieren sich die Kompensationsgeschwindigkeiten und multiplizieren sich die Beschleunigungen.
  5. Bei Abkopplung einer Slaveachse während der Kompensation der Slaveachse oder der Masterachse, oder einer Führungsachse zwischen Masterachse und der abzukoppelnden Slaveachse wird die Grunddynamik der Masterachse beibehalten und die Geschwindigkeit und die Position stetig differenzierbar geführt, d.h. die Kompensationsgeschwindigkeit im Abkoppelzeitpunkt wird festgehalten und die Kompensation wird nie beendet.
  6. Die Kompensation arbeitet unabhängig vom Koppelfaktor der Slaveachse.

Algorithmus

Nach Überprüfung der Kompensations-Startparameter wird berechnet, ob die Kompensation der Differenz D auf der Strecke L mit den Kompensationsstartparametern durchführbar ist. Ist das nicht der Fall, dann wird die maximal mögliche Kompensationsdifferenz berechnet und für D aktiviert. Die Parameter werden auf jeden Fall so gewählt, daß die Kompensation auf der ganzen Kompensationslänge abgefahren wird. Die Sollwertgenerierung der Kompensation ist ein nicht ruckbegrenzter 3-Phasenalgorithmus (trapezförmiges Geschwindigkeitsprofil), wobei eine unterschiedliche Neigung der Rampen möglich ist.

Kompensation: Slave holt voll auf. Masterstart von 0.0 mm auf 10,000.0 mm mit V = 2000.0 mm/sec. Slavestartposition -500.0 mm, Koppelfaktor 1.0.

Kompensation: A+ = 500.0 mm/sec/sec, A- = 1000.0 mm/sec/sec, V = 300.0 mm/sec, VP = 2000.0 mm/sec, D = 500.0 mm. L = 5000.0 mm.

Kompensation: Slave verlangsamt.

Masterstart von 0.0 mm auf 10,000.0 mm mit V = 2000.0 mm/sec. Slavestartposition 500.0 mm, Koppelfaktor 1.0.

Kompensation: A+ = 500.0 mm/sec/sec, A- = 1000.0 mm/sec/sec, V = 300.0 mm/sec, VP = 2000.0 mm/sec, D = -500.0 mm. L = 5000.0 mm.

Startparameter

Positionskompensation: Startparameter

Startparameter | Bedeutung und Randbedingungen
Kompensationslänge L | Strecke auf der die Zusatzpositionierung erfolgt (L > 0.0)
Kompensationsdifferenz D | Strecke um die zusätzlich Verfahren werden soll (D ≠ 0.0)
Prozess-Grundgeschwindigkeit VP | Geschwindigkeit auf die sich die Geschwindigkeitsüberhöhung bezieht (i. A. Achssollgeschwindigkeit) (VP > 0.0)
Geschwindigkeitsüberhöhung VK | zulässige Geschwindigkeitsüberhöhung/-Erniedrigung gegenüber der Prozessgrundgeschwindigkeit (VK > 0.0)
Beschleunigung AK+ | geforderte Beschleunigungsüberhöhung gegenüber der globalen Achsbeschleunigung (AK+ > 0.0)
Verzögerung AK- | geforderte Verzögerungsüberhöhung gegenüber der globalen Achsverzögerung (AK- > 0.0)

Hinweise zu den Startparametern.

  1. Die Kompensationsdifferenz D kann positiv (Aufholen) oder negativ (Verzögern) sein. Falls D < 0.0 gilt, ist eine Bewegungsumkehr möglich.
  2. Die Kompensation bezieht sich auf eine Prozessgrundgeschwindigkeit VP, die i.A. dadurch erreicht wird, dass die Masterachse mit einem Overide x% auf eine Sollgeschwindigkeit gestartet wird, so dass gilt: v = x /100. Es wird angenommen, dass der Master diese Geschwindigkeit erreicht hat, wenn Kompensation angefordert wird.
  3. Stimmt die vorgegebene Prozessgrundgeschwindigkeit VP nicht mit dem Betrag der der realen aktuellen lokalen Prozessgeschwindigkeit v überein, so gilt folgendes. Sei VP > v, dann wird die real kompensierte Strecke (absolut) kleiner als die angeforderte (oder bei Start berechnete). Sei VP < v, dann wird die real kompensierte Strecke i.A. gleich der angeforderten (oder bei Start berechneten). Das bedingt, dass bei Stop oder Override 0.0 die real kompensierte Strecke (absolut) kleiner als die angeforderte (oder bei Start berechnete) wird.
  4. Die Werte AK+ und AK- sind Überhöhungen der Bahnbeschleunigungs/Bahnverzögerungswerte, d.h. wenn D > 0.0 ist, beginnt die Kompensation mit der Beschleunigungsüberhöhung AK+, während, wenn D < 0.0 ist, beginnt die Kompensation mit der Verzögerungsüberhöhung AK-.

Spezielle Hinweise zur Kompensation innerhalb von Slave-Kaskaden.

Sei bei gleichzeitiger Kompensation aller Achsen A_m+ die Beschleunigung der Masterachse der Kaskade sowie AK_m+ die Kompensationsbeschleunigung der Masterachse sowie AK_sk+ die Kompensationsbeschleunigung der kten Slaveachse, 1 ≤ k ≤ n. Dann sollte gelten ( Π bedeutet das Produkt über alle k)

A_m+ × AK_m+ Π AK_sk+ ≤ A_max+

wobei A_max+ die Beschleunigung der Masterachse ist, die ohne Slaves fahrbar wäre. (Nimmt eine Achse nicht an der Kompensation teil, dann ist für deren Beschleunigung in dieser Formel AK_sk+= 1 zu setzen.) Analoge Überlegungen gelten für A-.

Kompensationsstop

Die Funktion Stop beendet die Kompensation einer Achse wenn die Achse in Kompensation ist und sich nicht in der Bremsphase der Kompensation befindet indem die (zeitlichen) Phasengrenzen des 3-Phasenalgorithmus geeignet verschoben werden, die Länge der Kompensationsstrecke L renormiert wird, die Differenzgeschwindigkeit renormiert wird und die zu kompensierende Strecke D am Ende der Kompensation durch die wirklich kompensierte Strecke ersetzt wird.

Interfaces

Kompensationsstart

System Manager: Kompensationsparameter

System Manager: Start der Kompensation

SPS-Bausteine: Kompensationsstart

Kompensationsstop

System Manager

SPS-Bausteine


ZyklischeSlaves

TwinCAT NC Zyklische SLAVE-Achsen

Übersicht

Eine Slave-Achse, deren Positions-Sollwerte aus

  1. den Positions-Sollwerten einer anderen Achse (Master Achse) durch eine affine Transformation und
  2. einem Koppelfaktor, der durch das zyklische SPS-NC Interface im SPS Zyklus gesetzt wird

ermittelt werden, heißt Zyklische Slave-Achse. Ändert sich der Koppelfaktor ständig, z.B. weil er von einem äußeren Signal abhängt, dann ist der Slavealgorithmus in jedem SPS-Zyklus linear, d.h. lokal linear und global nichtlinear.
Es gilt: Slave-Sollposition = Koppelfaktor(SPS) * Master-Sollposition + Offset, wobei sich der Offset aus der Koppelposition ergibt und der Koppelfaktor immer wieder neu gesetzt wird.
Während das Ankoppeln des Slaves an den Master off-line erfolgt (Master und Slave stehen), kann das Abkoppeln on-line erfolgen: der Slave wird dabei in einen Master umgewandelt, der so weiterfährt, als ob er noch Slave sei, der aber auch unanhängig vom ehemaligen Master gestoppt werden kann.
Jede on-line Änderung des Koppelfaktors bedingt eine Unstetigkeit in der Geschwindigkeit und damit eine Belastung der Dynamik der Achse. Um eine zu große Belastung zu vermeiden wird daher der über das zyklische Interface eingehende Koppelfaktor geglättet (= gefiltert). Parametriert wird die Glättung durch eine Begrenzung des Betrags der Beschleunigung der Slaveachse.

Parameter

Der Parameter AccBound in mm/s², ist die gewünschte Beschleunigungsbegrenzung der Slaveachse. Damit der Algorithmus nicht instabil wird, muss diese Begrenzung groß genug gewählt werden. Stabilität ist dann gewährleistet, wenn AccBound ≥ max(|Cf(t)|) * max(A+,-A-) gewählt wird, wobei Cf(t) der Koppelfaktor zur Zeit t ist und A+ und A- die Beschleunigungsbegrenzungen der Masterachse sind (ist die Masterachse ihrerseits Slaveachse, dann muss entsprechend umgerechnet werden).

Interfaces

Die Interfaces bestehen aus dem System Manager, SPS-Bausteinen und dem zyklischen NC-SPS-Achs-Interface.

Abkoppeln und Neue Endposition

Entkoppeln ist in jedem dynamischen Zustand der Masterachse möglich - die Slaveachse wird in eine Masterachse umgewandelt und fährt dann so weiter, also ob sie weiterhin Slaveachse wäre, kann aber individuell gestoppt werden. Das Koppelflag wird zurückgesetzt.
Beim off-line Abkoppeln (Abkoppeln im Stillstand) wird die Slave-Achse in eine PTP-Master-Achse verwandelt.
Beim on-line Abkoppeln (Abkoppeln in Fahrt) wird die Slave-Achse wieder in eine PTP-Master-Achse verwandelt. Das Anfahren einer neuen Endposition in Bewegungsrichtung ist möglich.


BilinearSlaves

TwinCAT NC Bi-Lineare SLAVE-Achsen

Übersicht

Parameter

Interfaces

Abkoppeln


ConstSurfaceVeloSlaves

TwinCAT NC SLAVE-Achsen mit konstanter Oberflächengeschwindigkeit

Übersicht

Parameter

Interfaces

Abkoppeln


SynchronizingModuloSlaves

TwinCAT NC Aufsynchronisierende Modulo-SLAVE-Achsen

Übersicht

Parameter

Interfaces

Abkoppeln