$IF ALWAYS

Nachdem die Bedingung einmal erfüllt wurde, wird der Anweisungsblock zyklisch in jedem Takt ausgeführt, solange der Echtzeit-Zyklus aktiv ist.

Ab dem Zeitpunkt, ab dem die Bedingung erstmals erfüllt war, wird der Anweisungsteil in jedem Durchlauf ausgeführt. Die Bedingung wird in den nachfolgenden Durchläufen nicht mehr geprüft, sie wird als TRUE angenommen, solange de Echtzeit-Zyklus aktiv ist.

Programmierbeispiel

prg_example

$IF ALWAYS

; Echtzeit-Zyklus definieren

#RT CYCLE [SCOPE = PROG]

  ; ACS-Position der X-Achse abfragen

  $IF ALWAYS V.RTA.ACS.ACT_POS.X > 200

    ; Sobald X die 200mm-Grenze überschreitet, wird die

    ; M-Funktion in jedem CNC-Takt ausgegeben.

    ; Auch wenn die X-Position wieder kleiner wird, wird

    ; M100 weiter ausgegeben.

    M100

  $ENDIF

#RT CYCLE END