JUMP und JUMP END (Sprungbefehle) – JMP(04) und JME(05)
7-12 JUMP und JUMP END (Sprungbefehle) – JMP(04) und
JME(05)
Einschränkung
Beschreibung
DIFU(13) und DIFD(14) in
Sprüngen
358
Kontaktplansymbol
JMP(04) N
JME(05) N
Die Sprungnummern 01 bis 49 können nur ein einziges Mal mit dem Befehl
JMP(04) bzw. JME(05) verwendet werden, d.h. sie definieren nur jeweils einen
einzelnen Sprung. Die Sprungnummer 00 kann beliebig oft verwendet werden.
JMP(04) wird immer paarweise mit JME(05) verwendet, um Sprungfunktionen
zu erzeugen, d.h. um von einem bestimmten Punkt im Kontaktplan ganze Ab-
schnitte bis zu einem anderen Punkt zu überspringen. Dabei definiert JMP(04)
den Punkt, von dem ab der Sprung ausgeführt werden soll und JME(05) das Ziel
des Sprungs. Ist die Ausführungsbedingung für JMP(04) WAHR, wird kein
Sprung durchgeführt und die Programmausführung vielmehr fortgesetzt. Ist die
Ausführungsbedingung für JMP(04) FALSCH, erfolgt ein Sprung bis hin zu dem
über die gleiche Sprungnummer definierten JME(05) und der Befehl, der auf
JME(05) folgt, wird als nächstes ausgeführt.
Liegt die Sprungnummer für JMP(04) zwischen 01 und 49, erfolgen Sprünge so-
fort zu JME(05) mit der gleichen Sprungsnummer, ohne dazwischenliegende
Befehle auszuführen. Der Status von Zeitgebern, Zählern und allen anderen
Bits, die über Befehle gesteuert werden, die den Abschnitt zwischen JMP(04)
und JME(05) belegen, wird nicht geändert. Jede der Sprungnummern zwischen
01 und 99 kann nur ein einziges Mal verwendet werden. Da alle Befehle zwi-
schen JMP(04) und JME(05) übersprungen werden, können die Sprünge 01 bis
49 dazu verwendet werden, die Zykluszeit zu reduzieren.
Sprungnummer 00
Wird die Sprungnummer 00 mit dem JMP(04)–Befehl verwendet, wird nach
dem nächsten JME(05) mit Sprungnummer 00 gesucht. Auf Grund dieses Su-
chungsvorgangs verlängert sich die Zykluszeit im Vergleich zu den anderen
Sprungbefehlen.
Der Status von Zeitgebern, Zählern und allen anderen Bits, die über Befehle ge-
steuert werden, wird nicht geändert, sollten sie im Abschnitt zwischen JMP(04)
00 und JME(05) 00 liegen. Die Sprungnummer 00 kann beliebig oft verwendet
werden. Ein Sprung von JMP(04) 00 führt immer zum nächsten JME(05) 00 im
Programm. Hierdurch ist es möglich, mehrere JMP(04) 00 nacheinander zu ver-
wenden, die dann alle das gleiche Ziel JME(05) 00 haben. Auf der anderen Seite
ist es sinnlos, mehrere JME(05) 00 nacheinander zu verwenden, da alle
Sprünge zum ersten definierten JME(05) 00 führen.
Wurden DIFU(13) und DIFD(14) so programmiert, ein entsprechendes Bit auf
EIN zu setzen, so ist dies nicht notwendiger Weise der Fall, wenn die Befehle im
Bereich zwischen JMP(04) und JME(05) liegen. Hat DIFU(13) bzw. DIFD(14)
das Bit gesetzt, bleibt es gesetzt, bis der Befehl erneut abgearbeitet wird. Im
Normalfall geschieht dies im nächsten Zyklus. Wurde jedoch ein Sprungbefehl
gesetzt, kann eine Statusänderung des Bits erst erfolgen, wenn die Sprungfunk-
tion nicht ausgeführt wird. Wird nämlich ein Bit durch DIFU(13) bzw. DIFD(14)
auf EIN gesetzt und dann im nächsten Zyklus ein Sprung durchgeführt, so daß
DIFU(13) und DIFD(14) übergangen werden, wird das zugewiesene Bit solange
gesetzt bleiben, bis die Ausführungsbedigung für JMP(04) das nächste Mal auf
EIN gesetzt wird.
Abschnitt
7-12
Datenbereiche
N: Sprungnummer
#
N: Sprungnummer
#