Einbettung über Schnittstellen
Das gesamte Virtualisierungsprinzip der TF8560 Plastic Technology Functions basiert auf der Verwendung von Schnittstellen. Daher bietet die Bibliothek für jeden Achstyp und gemeinsame Basistypen ein entsprechendes INTERFACE an. Eine allgemeine Beschreibung zu Schnittstellen finden Sie im INTERFACE-Konzept der TwinCAT PLC Programmierung.
Anwendungsspezifische Abstraktion
Für die Einbettung einer TF8560 Achse in eine Applikation empfiehlt es sich die Schnittstelle mit der größten Schnittmenge an Variante zu wählen. Konkret lässt sich das an folgenden Anwendungsfällen verdeutlichen:
- Für die Wageneinheit einer Blasformanwendung wäre die geeignete Schnittstelle I_AxisBase zu bevorzugen.
- Diese ermöglich es unabhängig von der maschinenabhängigen Konfiguration die Wagenachse sowohl hydraulisch als auch elektrisch zu betreiben. Darüber hinaus kann auch flexibel zwischen einer elektrisch linearen und elektrisch transformierenden Achse gewechselt werden.
- Für den Entnahmegreifer einer beliebigen Kunststoffmaschine wäre die geeignete Schnittstelle I_MotionBase zu bevorzugen.
- Diese ermöglicht es für die Ansteuerung sowohl digital steuerbare Pneumatik- oder Hydraulikzylinder zu verwenden. Des Weiteren ist es ebenfalls möglich eine elektrische Servoachse zu hinterlegen, die die identischen Jog-Befehle zum Verfahren zwischen den Endlagen anwenden kann.
Über den Abstraktionszweck hinaus bieten die Schnittstellen jedes Achstyps eine vorgefilterte Auswahl an Achsfunktionen, wodurch das IntelliSense-geführte Programmieren in TwinCAT deutlich erleichtert wird.
Greifen Sie daher in Ihrem Programmcode nicht direkt auf eine Achse zu, sondern nutzen Sie Schnittstellen und initialisieren Sie diese mit den vorgesehen Achsinstanzen.
fPosition := fbNcAxis1.Actuals.Position // not preferred
fPosition := iAxisBase.Actuals.Position // preferredAbfrage des Achstyps und variantenspezifische Handhabung
Im manchen Fällen kann es trotz der Abstraktion durch z. B. I_AxisBase dazu kommen, dass die spezifische Funktion eines Achstyps benötigt wird. Beispielsweise kann dies bei hydraulischen Achsen auftreten, wenn die Kennlinienvermessung gestartet werden soll. In diesem Fall reicht der Zugriff auf eine I_AxisBase-Schnittstelle bereits aus. Mithilfe der Systemfunktion QUERYINTERFACE kann diese Abfrage durchgeführt und gleichzeitig auch der Zugriff erlangt werden:
In dem folgenden Beispiel gibt der Rückgabewert der QUERYINTERFACE-Anweisung darüber Auskunft, ob die Instanz hinter iAxisBase mit der Schnittstelle iAxisHydraulicBase (I_AxisHydraulicBase) kompatibel ist. Dies trifft z.B. für eine FB_AxisHydraulicBase zu. Dementsprechend kann mit der Anweisung geprüft werden, ob in iAxisBase eine hydraulische Achse hinterlegt ist. Wenn dies der Fall ist (__QUERYINTERFACE(…) = TRUE), kann auf die zu prüfende Schnittstelle direkt zugegriffen werden, da die Achse bei der Überprüfung durch QUERYINTERFACE bereits zugewiesen wird.
IF __QUERYINTERFACE(iAxisBase, iAxisHydraulicBase) THEN
iAxisHydraulicBase.AutoIdent.DoAutoIdent(TRUE);
ELSE
; // Axis is not hydraulic
END_IFWeitere Erläuterungen zu der Funktion von QUERYINTERFACE() finden Sie im entsprechenden Abschnitt der TwinCAT Dokumentation.
Für vollen Zugriff auf eine Achse verfügt jede zur Verfügung gestellte Achs-Schnittstelle auch über eine erweiterte Dev Variante. Diese sollte im Regelfall nicht verwendet werden, da sie alle Eigenschaften und Methoden einer Achse zur Verfügung stellt. Unter diesen befinden sich auch solche, die zur regulären Verwendung durch die Applikation nicht vorgesehen sind.
Übersicht der verfügbaren Schnittstellen
Das folgende UML-Diagramm zeigt die verfügbaren Schnittstellen der einzelnen Achsen und dessen Vererbungstruktur.

Name | Beschreibung |
|---|---|
Allgemeine Bewegungseinheit | |
Allgemeine Achse | |
NC-basierte Achse | |
Hydraulik-basierte Achse. . | |
Umrichter-basierte Achse | |
Allgemeine Transformationsachse | |
NC-basierte Transformationsachse | |
Digitaler Linear-Aktuator | |