CNC-Scheduling

Der Echtzeit-Teil der CNC-Steuerung läuft im GEO-Task. In jedem CNC-Takt führt der GEO-Task unter anderem folgende Aufgaben aus:

Bezeichner

Aufgabe

Input

Auslesen von Achs-Istwerten/Status/… vom Feldbus

Output

Ausgabe neuer Achs-Sollwerte/Status/… auf den Feldbus

IPO

Interpolation, Berechnung neuer Achs-Sollwerte, kanalspezifisch

CHAN

Anzeige, kanalspezifisch

Mit dem CNC-Scheduling kann die Reihenfolge festgelegt werden, in der diese Aufgaben erfolgen sollen. Die Festlegung der geeigneten Reihenfolge ist abhängig von vorhandener Hardware (Antriebe, Feldbus usw.).

Es stehen folgende Reihenfolgen der Aufgaben zur Verfügung:

Übersicht Aufgabenreihenfolge im Zyklus
Abb.: Übersicht Aufgabenreihenfolge im Zyklus

STANDARD

Insbesondere für konventionelle +-10V Antriebe ist es wichtig, Sollwerte in einem zeitlich möglichst konstanten Takt auszugeben. Um Schwankungen zu vermeiden, werden in STANDARD direkt zu Taktbeginn die Sollwerte ausgegeben, die im vorherigen Takt berechnet wurden. Danach werden Istwerte eingelesen, Kompensationen gerechnet und von IPO neue Sollwerte für den nächsten Takt berechnet.
Diese Reihenfolge führt zu einer Verzögerung zwischen Interpolation und Ausgabe der Sollwerte.

COMPLETE

Falls der Achsparameter P-AXIS-00276 „field_bus_allows_optimized_schedule” für alle Achsen gesetzt ist, dann werden zuerst Istwerte/Kompensationen abgehandelt und erst danach die neuen Sollwerte ausgegeben. Das verhindert die Verzögerung zwischen Interpolation und Ausgabe.

Ist der Parameter P-AXIS-00276 nicht für alle Achsen gesetzt, so entspricht das Scheduling dem Fall STANDARD.

SWITCHED

Für digitale Antriebe kann die Reihenfolge weiter optimiert werden, um jegliche Verzögerung zu vermeiden. Im Modus SWITCHED wird

  1. Interpoliert
  2. Istwerte eingelesen
  3. Kompensationen gerechnet und Sollwerte ausgegeben

Konfiguration

Unter TwinCAT wird das Scheduling im „Kontext“-Reiter des „CNC“-Knotens eingestellt:

Im Realtime-Linux oder der Windows-Simulation wird dafür der Parameter P-RTCF-00018 benutzt.