Beschreibung
Die Anweisung gibt den neuesten Eintrag der "LIFO"-Tabelle als Funktionswert aus. Die Anzahl der Einträge wird um eins verringert. Die "LIFO"-Tabelle besteht aus Wörtern. Sie können mit der Anweisung "ATT" Werte in die "LIFO"-Tabelle eintragen.
-
Der erste Eintrag der Tabelle gibt die maximal zulässige Anzahl der Tabelleneinträge an (Tabellenlänge).
-
Der zweite Eintrag einer Tabelle gibt die Anzahl der vorhandenen Einträge an.
-
Der dritte Eintrag der Tabelle enthält das erste Wort an Daten.
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "LIFO":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Beschreibung |
|---|---|---|---|---|
|
TABLE |
Input |
*Pointer |
E, A, M, D |
Zeigt auf die Anfangsadresse der "LIFO"-Tabelle. |
|
RET_VAL |
Return |
WORD |
E, A, M, D, L, P |
Der neueste Eintrag aus der "LIFO"-Tabelle. |
|
* Pointer im Doppelwortformat bei der bereichsübergreifenden, registerindirekten Adressierung |
||||
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".
Parameter RET_VAL
Wenn die "LIFO"-Tabelle leer ist (Anzahl der Einträge = 0), dann wird RET_VAL nicht verändert und der Signalzustand von "BIE / ENO" wird auf "0" gesetzt.
Beispiel (KOP)
Wenn der Signalzustand am Eingang E 0.0 = 1 ist (aktiviert), dann wird die Anweisung "LIFO" ausgeführt. In diesem Beispiel wird der neueste Eintrag der "LIFO"-Tabelle als Funktionswert (MW 2.0) ausgegeben. Die Anzahl der Einträge reduziert sich von 5 auf 4.
Wenn "LIFO" fehlerfrei ausgeführt wird, dann werden die Signalzustände von "ENO" und A 0.0 auf "1" gesetzt.
Vor der Bearbeitung:
|
TABLE (Tabellenlänge) |
DBW10 = W#16#0006 |
|
Anzahl der Einträge |
DBW12 = W#16#0005 DBW14 = W#16#0012 DBW16 = W#16#0029 DBW18 = W#16#0090 DBW20 = W#16#0002 DBW22 = W#16#0024 DBW24 = W#16#0000 |
|
RET_VAL |
MW2 = W#16#0000 |
Nach der Bearbeitung:
|
TABLE (Tabellenlänge) |
DBW10 = W#16#0006 |
|
Anzahl der Einträge |
DBW12 = W#16#0004 DBW14 = W#16#0012 DBW16 = W#16#0029 DBW18 = W#16#0090 DBW20 = W#16#0002 DBW22 = W#16#0024 DBW24 = W#16#0000 |
|
RET_VAL |
MW2 = W#16#0024 |