LIFO: Letzten Wert der Tabelle ausgeben (S7-300, S7-400) - STEP 7

Erweiterte Anweisungen (S7-300, S7-400)

ft:publication_title
Erweiterte Anweisungen (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
LIFO: Letzten Wert der Tabelle ausgeben

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