M- und H-Technologie-Funktionen
Aus dem Echtzeit-Zyklus heraus können Technologie-Funktionen ausgegeben werden. Dabei gelten die folgenden Regeln:
- Es können nur kanalspezifische Technologiefunktionen ausgegeben werden, achsspezifische jedoch nicht.
- Es können nur Technologiefunktionen ausgegeben werden, die in den Kanalparametern definiert sind. Alle anderen führen zu einem Fehler.
- Alle Technologiefunktionen werden als MOS (ohne Synchronisierung) ausgegeben, unabhängig von der konfigurierten Synchronisationsart.
Die Echtzeit-Technologiefunktionen werden in einem neu angelegten Bereich auf dem HLI ausgegeben, nicht im Bereich der klassischen Technologiefunktionen. Sie sind auf dem HLI mit der neuen Kennung POS_RT versehen.
Die Ausgabe von Echtzeit-Technologiefunktionen auf dem HLI geschieht im gleichen CNC-Takt, in dem sie beauftragt werden. Auf freie Ressourcen wird nicht gewartet. Wenn Echtzeit-Technologiefunktionen nicht takttreu ausgegeben werden können, weil z.B. das HLI belegt ist, führt dies zu einem Fehler. Die Echtzeit-Technologiefunktionen werden in der Reihenfolge auf das HLI gelegt, in der sie von den Echtzeit-Zyklen beauftragt werden. Sie werden innerhalb eines Taktes durchnummeriert und mit einem Zeitstempel versehen.
Für ein Funktionieren hat der Anwender für folgende Punkte Sorge zu tragen:
- Die SPS muss einen Task im CNC-Takt haben, der die Echtzeit-Technologiefunktionen ausliest.
- Die SPS muss in jedem Takt genügend Echtzeit-Technologiefunktionen quittieren, um genug HLI-Plätze für Echtzeit-Technologiefunktionen des nächsten CNC-Taktes zu schaffen.
Programmierbeispiel
Ausgabe von Technologie-Funktionen
; X-Achse auf 0mm fahren
G00 X0
; Echtzeit-Zyklus definieren
#RT CYCLE [SCOPE = PROG]
; ACS-Position der X-Achse abfragen
$IF ONCE V.RTA.ACS.ACT_POS.X > 200
; M-Funktion ausgeben
; M100 muss im Kanal konfiguriert sein
; wird noch in diesem Takt ausgegeben
; wird ohne Synchronisation (MOS) ausgegeben
M100
$ENDIF
#RT CYCLE END
; X-Achse auf 300mm fahren
G00 X300
; Hauptprogramm beenden
M30