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 |