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

Die TwinCAT NC FIFO-Gruppe bietet die Möglichkeit, extern generierte Sollwerte einer Gruppe von Achsen über die NC auszugeben und die Achsgruppe somit synchron zu verfahren. Dabei liegen die Positionssollwerte der Achsen in Abhängigkeit von einer festen aber beliebigen Zykluszeit (FIFO-Zykluszeit) in Form eines FIFO vor, das seinerseits über die SPS nachgefüllt wird. Das FIFO dient der zeitgesteuerten synchronen Abarbeitung der Position einer Gruppe von Achsen. Das FIFO enthält eine fest eingestellte Anzahl von vorgegebenen Stützstellen, zwischen denen die NC Position interpoliert und daraus die Geschwindigkeit ermittelt. Die Achspositionen des FIFO werden

  • entweder aus einer in der SPS liegenden, offline berechneten, großen Tabelle ausgelesen oder
  • durch eine Funktion in der SPS erzeugt

und im SPS Zyklus permanent durch ein SPS-Programm an das Fifo der NC durchgereicht.

Interfaces und Konfiguration

Der Benutzer kann die FIFO-Gruppe über den System Manager oder die SPS parametrieren, sowie die Funktionalitäten der FIFO-Gruppe über SPS-Bausteine bedienen. Außerdem steht ihm (im System Manager und über die SPS) ein zyklisches NC-SPS Kanal- Interface zur Verfügung, das das Kanal-Prozessabbild beinhaltet und Zugriff auf diverse Kanal-Variablen ermöglicht. Schließlich steht ihm (im System Manager und über die SPS) ein zyklisches NC-SPS Achs-Interface zur Verfügung, das das Achs-Prozessabbild für jede FIFO-Achse beinhaltet und Zugriff auf diverse Achs-Variablen ermöglicht.

Fifoparameter und FIFO

Die FIFO-Gruppe wird durch einige Daten parametriert, die der Benutzer einstellen muss:

  • FIFO-Dimension N = Anzahl der Fifoachsen ,
  • FIFO-Länge Z = Anzahl der Fifozeilen,
  • FIFO-Zykluszeit T_f = Zykluszeit für die die FIFO-Daten generiert werden.

Das FIFO ist eine Tabelle T[Z][N] mit N Spalten und Z Zeilen, die nach Abarbeitung zyklisch nachgefüllt werden. Das FIFO enthält an der Stelle T[T][A] den Positionssollwert für Achse A zur Zeit T × T_f ( T_f FIFO-Zykluszeit).

Ablauf und Sollwertgenerierung

  1. Vorbereitungsphase: FIFO Gruppieren und Parametrieren.
  2. FIFO füllen und FIFO-Gruppe starten.
  3. FIFO-Daten vorbereiten und FIFO nachfüllen.

  4. Gruppe stoppen und rekonfigurieren.

Die Sollwertgenerierung umfasst die Sollposition, die Sollgeschwindigkeit, die Sollbeschleunigung und die Sollrichtung.

Override

Der Override dient zur prozentualen synchronen online Änderung der durch das FIFO vorgegebenen Geschwindigkeit aller FIFO-Achsen. Es gibt zwei Overridetypen:

  • Der instantane Override ändert den Override instantan auf den gewünschten Wert, d.h. es ist Aufgabe des Benutzers den Override so langsam zu verändern, dass durch die Overrideänderung keine zu großen Schleppabstände auftreten.
  • Der PT-2 Override, der parametrierbar ist und den Override mittels einer PT-2 Übertragungsfunktion stetig differenzierbar vom aktuellen Geschwindigkeitsniveau auf das gewünschte Geschwindigkeitsniveau zieht.


Interfaces und Konfiguration

Der Benutzer kann die FIFO-Gruppe über den System Manager oder die SPS parametrieren, sowie die Funktionalitäten der FIFO-Gruppe über SPS-Bausteine bedienen. Außerdem steht ihm (im System Manager und über die SPS) ein zyklisches NC-SPS Kanal-Interface zur Verfügung, das das Kanal-Prozessabbild beinhaltet und Zugriff auf diverse Kanal-Variablen ermöglicht. Schließlich steht ihm (im System Manager und über die SPS) ein zyklisches NC-SPS Achs-Interface zur Verfügung, das das Achs-Prozessabbild für jede FIFO-Achse beinhaltet und Zugriff auf diverse Achs-Variablen ermöglicht.

Konfiguration der FIFO-Gruppe mit dem System Manager

FIFO-Kanal erzeugen

Zu Beginn muss im System Manager ein FIFO-Kanal generiert werden. Wie ein Kanal angefügt wird, ist in der System Manager Dokumentation unter NC Konfiguration beschrieben.

FIFO-Gruppe parametrieren

Eine Beschreibung der Parameter ist auf der Seite FIFO-Parameter und FIFO zu finden

Achsen gruppieren

Alle Achsen im System werden immer als PTP-Achsen aufgestartet. Wenn die oben aufgeführten Schritte durchgeführt wurden und die Parameter gesichert und in die Registry eingetragen wurden, können die Achsen auf Grundposition gefahren werden. Dabei ist zu beachten, dass die Position mit der 1. Zeile des FIFO verträglich sein muss.

Anschließend wird mit SPS Bausteinen die FIFO-Gruppe bestimmt, d.h. ausgewählte PTP Achsen werden in die FIFO-Gruppe aufgenommen.

SPS-Bausteine

Die SPS Library bietet den Zugriff auf alle Funktionalitäten der FIFO-Gruppe:

  • Konfiguration und Rekonfiguration zwischen PTP-Achsen und FIFO-Gruppe.
  • Füllen des FIFO, Start der Gruppe, Nachfüllen des FIFO.

NC-SPS-Interface

Das zyklische NC-SPS Kanal-Interface beinhaltet das Kanal-Prozessabbild und insbesondere Zugriff auf die Kanalvariablen.

Das zyklische NC-SPS Achs-Interface beinhaltet das Achs-Prozessabbild und Zugriff auf die Achsvariablen.


FIFO-Parameter und FIFO

Die Parametrierung der FIFO-Gruppe erfolgt mit dem System Manager oder kann zum Teil auch über ADS, also mit der SPS durchgeführt werden.

Parametrierung der FIFO-Gruppe

Die FIFO-Gruppe wird durch einige Daten parametriert, die der Benutzer einstellen muss:

  • FIFO-Dimension N = Anzahl der Fifoachsen ,
  • FIFO-Länge Z = Anzahl der Fifozeilen,
  • FIFO-Zykluszeit T_f (Zeitbasis der FIFO-Einträge) = Zykluszeit für die die FIFO-Daten generiert werden.
  • FIFO-Override

Das FIFO ist eine Tabelle T[Z][N] mit N Spalten und Z Zeilen, die nach Abarbeitung zyklisch nachgefüllt werden. Das FIFO enthält an der Stelle T[T][A] den Positionssollwert für Achse A zur Zeit T × T_f ( T_f FIFO-Zykluszeit).

FIFO-Timing und Größe

Das Timing der Datengenerierung in der SPS (SPS-Zykluszeit), des ADS-Transfers per SPS (SPS-Zykluszeit und Größe des internen SPS-Datenbuffers), der Abarbeitung des FIFO (Saf-Zykluszeit), sowie die Fifolänge N müssen so eingerichtet und aneinender angepasst sein, dass

  • das FIFO nicht leer läuft,
  • das FIFO (im Schnitt) die durch die SPS angebotenen Daten übernehmen kann.

FIFO-Zykluszeit

Die Satzausführungszeitkonstante (SAF-Zykluszeit: T_saf) braucht nicht mit der Zeitkonstanten identisch zu sein, für die das FIFO konzipiert worden ist oder generiert wird (FIFO-Zykluszeit: T_f).

T_f > T_saf:

Ist die FIFO-Zykluszeit größer als die SAF-Zykluszeit, dann handelt es sich um eine Feininterpolation, das heißt die notwendigen Zwischenwerte für die Lageregelung werden eventuell mehrere Male aus jeweils zwei denselben benachbarten Stützstellen des FIFO linear interpoliert. Die Beschleunigung und die Geschwindigkeit sind dementsprechend grob aufgelöst und sollten nicht ungefiltert als Eingangsgrößen benutzt werden.

T_f < T_saf:

Ist hingegen die FIFO-Zykluszeit kleiner als die SAF-Zykluszeit, dann handelt es sich um eine Grobinterpolation. In diesem Fall bleibt ein Teil der FIFO-Information ungenutzt.

Tabelle der FIFO-Parameter

FIFO-Parameter | Bedeutung und Randbedingungen
FIFO-Dimension N | Anzahl der FIFO-Achsen 1 ≤ N
FIFO-Zeilen Z | Anzahl der FIFO Zeilen 2 ≤ Z
FIFO-Zykluszeit T_f | FIFO-Zykluszeit 0.0 < T_f


Ablauf und Sollwertgenerierung

  1. Vorbereitungsphase: FIFO Gruppieren und Parametrieren.
  2. FIFO füllen und FIFO-Gruppe starten.
  3. FIFO-Daten vorbereiten und FIFO nachfüllen.

  4. Gruppe stoppen und rekonfigurieren.

Die Sollwertgenerierung umfasst die Sollposition, die Sollgeschwindigkeit, die Sollbeschleunigung und die Sollrichtung.

Vorbereitungsphase

  1. Alle Achsen werden im PTP-Modus auf eine Grundposition gefahren (die mit der ersten Zeile des FIFO verträglich sein muss).
  2. FIFO-Kanal erzeugen: Interpreterkanal ohne Interpreter.
  3. FIFO-Gruppe erzeugen: die Achsen werden in die FIFO-Gruppe eingruppiert.

  4. FIFO-Gruppe parametrieren.

Startphase

  1. Das FIFO wird so weit wie möglich mit Daten gefüllt.
  2. FIFO-Override setzen.
  3. FIFO-Gruppe starten.

Laufphase

  1. Die Daten für das FIFO werden durch den Benutzer in der SPS bereitgestellt oder generiert und in einem internen Buffer der SPS gesammelt.
  2. Im SPS-Zyklus werden diese Daten dem FIFO der NC übergeben. Ist Das FIFO zu voll um den Buffer ganz übernehmen zu können, wird der Buffer als ganzes zurückgewiesen und muß erneut von der SPS angeboten werden. Zur Optimierung des Timings kann die Anzahl der gefüllten Zeilen des FIFO abgefragt werden.
  3. Die NC arbeitet im SAF-Zyklus das FIFO ab. Ist das FIFO leer, behalten die Achsen als Positionsollwerte die Daten der letzten FIFO-Zeile bei (was einen Schleppabstand erzeugt, wenn die Achsen nicht schon vorher im Stillstand waren).

  4. Die Sollwertgenerierung des FIFO-Generators umfasst für alle Achsen: Soll-Position, Soll-Geschwindigkeit, Soll-Beschleunigung, Soll-Richtung.

Endphase

  1. Das normale Ende der Positionierung wird dadurch erreicht, dass der FIFO-Inhalt ein Stoppen und anschließendes Stehen der Achsen bedingt.
  2. Die Achsen können per FIFO-Override 0.0 gestoppt werden
  3. Das FIFO kann leer laufen und die Achsen damit (instantan) zum Stehen bringen.
  4. Nach Stop können die Achsen FIFO-Gruppe als PTP-Achsen rekonfiguriert werden

Sollwertgenerierung

Die Sollwertgenerierung ermittelt bei der zeitlichen Abarbeitung der FIFO-Einträge nicht nur die Sollposition, sondern auch die Sollgeschwindigkeit und Sollbeschleunigung einer Achse. Die Sollgeschwindigkeit wird wie in TwinCAT PTP üblich als Geschwindigkeitsvorsteuerung benutzt.

Der Fifo-Generator sucht bei jedem SAF-Aufruf gemäß der verstrichenen Zeit (hier wird der Override hineingerechnet) das passende nächst Zeilenpaar, interpoliert dort linear die Position und berechnet aus den Differenzen die Geschwindigkeit und die Beschleunigung. Diese Berechnung der Sollwerte aus Differenzen ist mit den bekannten Mängeln behaftet: diese Größen sollten deshalb nicht ungeprüft als Eingangsgrößen benutzt werden.

Ablauf mit zwei FIFO_Achsen (Positionen und Geschwindigkeiten, Soll- und Istwerte) und dem FIFO-Füllstand (rot).


Override

Der Override dient zur prozentualen synchronen online Änderung der durch das FIFO vorgegebenen Geschwindigkeit aller FIFO-Achsen. Es gibt zwei Overridetypen:

  • Der instantane Override ändert den Override instantan auf den gewünschten Wert, d.h. es ist Aufgabe des Benutzers den Override so langsam zu verändern, dass durch die Overrideänderung keine zu großen Schleppabstände auftreten.
  • Der PT-2 Override, der parametrierbar ist und den Override mittels einr PT-2 Übertragungsfunktion stetig differenzierbar vom aktuellen Geschwindigkeitsniveau auf das gewünschte Geschwindigkeitsniveau zieht.

Allgemeine Hinweise

Der Override kann schon bei Start gesetzt werden.

Stopp wird per Override 0.0 verwirklicht.

Nach Stop werden keine Overrideänderungen mehr akzeptiert.

Instantaner Override

Der instantaner Override ändert die Geschwindigkeit instantan auf den gewünschten Wert. Da eine extrem sprunghafte Geschwindigkeitsänderung normalerweise nicht erwünscht ist, ist der Benutzer für den sinnvollen zeitlichen Verlauf des Overrides verantwortlich (geführte Veränderung).

Instantaner Override

PT-2 Override

Der PT2-Override ändert die Geschwindigkeit stetig differenzierbar vom aktuellen Geschwindigkeitsniveau auf das gewünschte Geschwindigkeitsniveau. Der Verlauf dieser Änderung ist durch die externen und internen Parameter

  • Discriminate (Dämpfung) > 1.0 [ ist als 1.001 festgeschrieben]
  • Zeitkonstante T_0 0.0 < T_0 < ∞ [frei parametrierbar]
  • Cutoff der das exponentiell langsame Abklingen einer Änderung in endlicher Zeit abschließt [wird intern über die Referenzgeschwindigkeiten der FIFO-Achsen parametriert].

festgelegt.

PT2-Override

PT-2 Override Zeitkonstante

Die Zeitkonstante T_0 legt die Geschwindigkeit des Niveauwechsels fest.

PT2-Parametrierung: Zeitkonstante T_0