Kombination $IF-Bedingungen mit und ohne Häufigkeit

Hinweis

notice

$IF-Bedingungen mit und ohne Häufigkeitsangabe können ineinander geschachtelt werden. Dabei ist aber zu beachten, dass Anweisungen nur ausgeführt werden, wenn sie auch erreicht werden.

Beispielsweise führt ein einmaliges Aktivieren eines ALWAYS-Blocks nicht dazu, dass seine Anweisungen in allen folgenden CNC-Takten ausgeführt werden. Sie können durch eine übergeordnete $IF-Bedingung verhindert werden, falls diese ein negatives Ergebnis hat.

Wird im folgenden NC-Programm V.E.CONDITION wahr und anschließend V.E.VALUE > 100, wird der ALWAYS-Block durchlaufen. Dies gilt allerdings nur solange V.E.CONDITION den Wert 1 hat.

Programmierbeispiel

prg_example

Geschachtelte $IF-Bedingungen

; Echtzeit-Zyklus definieren

#RT CYCLE [SCOPE = PROG]

  ; externe Bedingung

  $IF V.E.CONDITION == 1

    ; ALWAYS-Block

    $IF ALWAYS V.E.VALUE > 100

      ; ALWAYS-Anweisungen

      ; ...

    $ENDIF

  $ENDIF

#RT CYCLE END

; ...

; Hauptprogramm beenden

M30