Herunterladen Inhalt Inhalt Diese Seite drucken

Syntax Von For, Next - Hitachi Hidic Eh-150 Anwendungshandbuch

Inhaltsverzeichnis

Syntax von FOR, NEXT

1) Nach dem FOR-Befehl muß ein NEXT-Befehl mit der
selben Codenummer wie die Codenummer n des FOR-
Befehls verwendet werden:
FOR 1 (WR0010)
Fehler: NEXT nicht definiert.
Programm
Der zu dem FOR-Befehl gehörende NEXT-Befehl
existiert innerhalb des Anwenderprogramms nicht.
NEXT 2
Programm
Fehler: FOR nicht definiert.
Vor dem NEXT-Befehl existiert kein FOR-
Befehl.
Programm
NEXT 5
Programm
NEXT/FOR-Fehler
Der NEXT-Befehl wurde vor dem FOR-
FOR5 (WM04F)
Befehl verwendet.
Programm
2) Eine Überschneidung von FOR- und NEXT-Befehlen mit
der selben Codenummer n ist nicht erlaubt:
FOR 3 (WR0010)
Fehler: Doppelte FOR-Definition.
Ein FOR-Befehl mit der selben Codenummer
Programm
n ist schon programmiert.
NEXT 3
Fehler: Doppelte NEXT-Definition.
Ein NEXT-Befehl mit der selben Codenummer
Programm
n wurde bereits programmiert.
FOR 3 (WR0011)
Anm.:
Programm
NEXT 3
3) FOR und NEXT müssen im selben Bereich liegen:
Programm-Anfang
FOR 1(WR0001)
Normales
FOR 2(WR0002)
Programm
END
SB1
NEXT 2
Unterprogramm
FOR 3(WR0003)
SB1
RTS
SB2
NEXT 3
Unterprogramm
FOR 4(WR0004)
SB2
RTS
INT0
NEXT 4
Interrupt-
NEXT 1
Programm
RT1
4) Verschachteln von FOR und NEXT.
FOR 1(WM001) bis NEXT 1 werden normal
FOR 1 (WM001)
ausgeführt.
Programm
• Fehler bei Verschachtelung
FOR 2 (WM002)
Falls WM002 = 0:
Da FOR 1(WM001) bis NEXT 1 Priorität
Programm
hat, wird kein Sprung von FOR 2 nach
NEXT 1
NEXT 2 über NEXT 1 durchgeführt.
Zu diesem Zeitpunkt generiert NEXT 2 einen
Programm
Fehler (FOR 2 nicht definiert).
NEXT 2
Falls WM002 ≠ 0:
FOR 2 bewirkt nichts.
Daher wird NEXT 2 einen Fehler generieren
(FOR 2 nicht definiert).
Die Fehler für doppelte FOR- und NEXT-
Definition treten vor Ausführung der
eigentlichen Operation auf.
5) Es ist möglich, aus einer FOR/NEXT-Schleife
mittels eines Sprungbefehls zu entkommen:
FOR 1(WM001)
CJMP 10(X00000)
NEXT 1
LBL10
6) FOR / NEXT kann bis zu 5-fach verschachtelt werden.
Wenn ein Unterprogramm vorhanden ist, wird ein im
Unterprogramm befindliches FOR / NEXT mitgezählt.
FOR 1(WR0001)
FOR 2(WR0002)
FOR 3(WR0003)
FOR 4(WR0004)
FOR 5(WR0005)
FOR 6(WR0006)
NEXT 6
NEXT 5
NEXT 4
NEXT 3
NEXT 2
NEXT 1
7) Schließen Sie keine Startbedingung zwischen FOR und
NEXT ein. Sollte eine Startbedingung benötigt werden,
so programmieren Sie eine Schaltung wie die folgende:
X00000
JMP 1
FOR 1(WM001)
Programm C
NEXT 1
LBL 1
8) Die Anzahl der Wiederholungen kann innerhalb des
Programms geändert werden:
WR0010=20
FOR 1(WR0010)
Programm A
R005
WR0010=1
NEXT1
Programm B
Wenn R005 ausgeschaltet ist:
Programm B wird ausgeführt, nachdem Programm A
20 mal wiederholt worden ist.
Wenn R005 eingeschaltet ist:
Der Zähler WR0010 wird 1, und da der Befehl NEXT 1
hiervon 1 subtrahiert, wird der Inhalt von WR0010 = 0.
Daher wird die Wiederholung von Programm A einge-
stellt und Programm B ausgeführt.
5-136
Kapitel 5 - Anweisungen
Die Schleife FOR 1 / NEXT 1 wird
mit Einschalten von X00000 verlassen,
noch bevor sie mit der in WM001 ein-
gestellten Anzahl durchlaufen worden
ist.
• Überlauf Verschachtelung
[Erläuterung der Funktionsweise]
Wenn X00000 aus ist, wird das Pro-
gramm C so oft ausgeführt, wie in
WM001 angegeben.
Wenn X00000 eingeschaltet ist, wird
Programm C nicht ausgeführt, da ein
Sprung von JMP 1 nach LBL 1
stattfindet.
Der Inhalt von WR0010 wird
um 1 erniedrigt, und es findet
ein Sprung zu FOR 1 (WR0010)
statt.
Inhaltsverzeichnis
loading

Inhaltsverzeichnis