Siemens 6ES7 222-1HF22-0XA0 EM 222 Digital Output Module 6ES7 222-1HF22-0XA0 User Manual

Product codes
6ES7 222-1HF22-0XA0
Page of 538
S7-200 Systemhandbuch
206
Unterprogrammoperationen
Die Operation Unterprogramm aufrufen (CALL) ruft ein
Unterprogramm SBR_N auf. Sie können die Operation CALL
mit oder ohne Parameter verwenden. Nachdem die
Bearbeitung eines Unterprogramms beendet ist, wird das
Hauptprogramm an der Operation weiterbearbeitet, die auf
die Operation CALL folgt.
Die Operation Interruptprogramm bedingt beenden (CRET)
beendet ein Unterprogramm in Abhängigkeit von dem
Zustand der vorherigen Verknüpfung.
Zum Einfügen eines Unterprogramms wählen Sie den
Menübefehl Bearbeiten > Einfügen > Unterprogramm.
Fehlerbedingungen, die ENO = 0 setzen
"
0008 (Maximale Schachtelungstiefe für Unterprogramme
überschritten)
"
0006 (Indirekte Adresse)
Im Hauptprogramm können Sie maximal acht Unterprogramme ineinander verschachteln (den
Aufruf eines Unterprogramms in einem Unterprogramm anordnen). In einem Interruptprogramm
dürfen Sie keine Unterprogramme verschachteln.
Sie dürfen in einem Unterprogramm, das von einem Interruptprogramm aufgerufen wird, keinen
Aufruf eines Unterprogramms anordnen. Rekursion (ein Unterprogramm ruft sich selbst auf) ist
zulässig, doch sollten Sie Rekursion in Unterprogrammen nur mit Vorsicht einsetzen.
Tabelle 6-78 Gültige Operanden für die Unterprogrammoperation
Eingänge /
Ausgänge
Datentypen
Operanden
SBR_n
WORD
Konstante
CPU 221, CPU 222, CPU 224
:
0 bis 63
CPU 224XP und CPU 226
0 bis 127
IN
BOOL
BYTE
WORD, INT
DWORD, DINT
STRING
V, E, A, M, SM, S, T, Z, L, Signalfluss
VB, EB, AB, MB, SMB, SB, LB, AC, *VD, *LD, *AC
1
, Konstante
VW, T, Z, EW, AW, MW, SMW, SW, LW, AC, AEW, *VD, *LD, *AC
1
, Konstante
VD, ED, AD, MD, SMD, SD, LD, AC, HC, *VD, *LD, *AC
1
,
&VB, &EB, &AB, &MB, &T, &Z, &SB, &AE, &AA, &SMB, Konstante
*VD, *LD, *AC, Konstante
IN/OUT
BOOL
BYTE
WORD, INT
DWORD, DINT
V, E, A, M, SM
2
, S, T, Z, L
VB, EB, AB, MB, SMB
2
, SB, LB, AC, *VD, *LD, *AC
1
VW, T, Z, EW, AW, MW, SMW
2
, SW, LW, AC, *VD, *LD, *AC
1
VD, ED, AD, MD, SMD
2
, SD, LD, AC, *VD, *LD, *AC
1
OUT
BOOL
BYTE
WORD, INT
DWORD, DINT
V, E, A, M, SM
2
, S, T, Z, L
VB, EB, AB, MB, SMB
2
, SB, LB, AC, *VD, *LD, *AC
1
VW, T, Z, EW, AW, MW, SMW
2
, SW, LW, AC, AAW, *VD, *LD, *AC
1
VD, ED, AD, MD, SMD
2
, SD, LD, AC, *VD, *LD, *AC
1
1
Muss mindestens Versatz 1 sein.
2
Muss mindestens Versatz 30 sein.
Tipp
STEP 7-Micro/WIN fügt am Ende eines Unterprogramms automatisch die Operation
Unterprogramm beenden ein.
Beim Aufrufen eines Unterprogramms wird der gesamte Stack gespeichert, der oberste Stackwert
wird auf 1 gesetzt, alle weiteren Stackwerte werden auf 0 gesetzt und das aufgerufene
Unterprogramm wird bearbeitet. Ist die Bearbeitung des Unterprogramms beendet, wird der Stack
mit den Werten, die zum Zeitpunkt des Aufrufs gespeichert waren, wiederhergestellt.
Anschließend wird das aufrufende Programm weiterbearbeitet.