FIFO: Ersten 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
FIFO: Ersten Wert der Tabelle ausgeben

Beschreibung

Die Anweisung gibt den ältesten Eintrag der "FIFO"-Tabelle als Funktionswert aus. Die Anzahl der Einträge wird um eins verringert. Wenn noch Einträge in der Tabelle vorhanden sind, werden diese nach unten geschoben. Die "FIFO"-Tabelle besteht aus Wörtern. Sie können mit "ATT" Werte in die "FIFO"-Tabelle eintragen.

  • Der erste Eintrag einer Tabelle gibt die maximale Länge der Tabelle an.

  • Der zweite Eintrag einer Tabelle gibt die Anzahl der vorhandenen Einträge an.

  • Der dritte Eintrag in der Tabelle enthält das erste Wort an Daten.

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung "FIFO":

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

TABLE

Input

*Pointer

E, A, M, D

Zeigt auf die Anfangsadresse der "FIFO"-Tabelle.

RET_VAL

Return

WORD

E, A, M, D, L, P

Der älteste Eintrag aus der "FIFO"-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 "FIFO"-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 "FIFO" ausgeführt. In diesem Beispiel wird der älteste Eintrag der Tabelle als Funktionswert (MW 2.0) ausgegeben. Die Anzahl der Einträge reduziert sich von 5 auf 4, und die übrigen Einträge werden in der Tabelle nach unten geschoben.

Wenn "FIFO" fehlerfrei ausgeführt wird, dann werden die Signalzustände von "BIE / 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#0029

DBW16 = W#16#0090

DBW18 = W#16#0002

DBW20 = W#16#0024

DBW22 = W#16#0024

DBW24 = W#16#0000

RET_VAL

MW2 = W#16#0012