FFU (FIFO entladen)
Die FFU-Anweisung entlädt 8-Bit-, 16-Bit-, 32-Bit- oder 64-Bit-Daten aus einem vom Benutzer erzeugten eindimensionalen Array namens FIFO-Stapel (First-in-First-Out), in der gleichen Reihenfolge, in der die Daten mithilfe der FFL-Anweisung geladen wurden.
Details zum Betrieb:
- FFU-Anweisung – Vom Nicht-Ausführungsmodus zum Ausführungsmodus:
- Wenn Ausführung von FALSE auf TRUE wechselt:
- FFU-Fehlerbedingungen werden überprüft.
- Entlädt den Inhalt des FIFO-Stapels an der Null-Position, wenn Position größer als Null und kleiner als oder gleich Length ist.
- Verbleibende Elemente werden um eine Position in Richtung Null verschoben, das höchste Element des FIFO-Stapels wird auf Null gesetzt, Position wird um 1 verringert.
- Empty ist auf TRUE eingestellt, wenn die Position Null entspricht.
- Done ist eingestellt, wenn die Anweisung erfolgreich ausgeführt wird.
- Wenn Ausführung von TRUE auf FALSE wechselt:
- Error, Done und ErrorID sind auf FALSE eingestellt.
- Empty ist auf TRUE eingestellt, wenn die Position Null entspricht.
- Full ist auf TRUE eingestellt, wenn die Länge der Position entspricht. Full ist auf FALSE eingestellt, wenn die Position geringer als oder gleich Null und kleiner als die Länge ist.
- FFU-Fehlerbedingungen werden nicht überprüft.
- Wenn Ausführung von FALSE auf TRUE wechselt:
- Es wird kein Entladevorgang ausgeführt.
- Empty ist auf TRUE eingestellt, wenn die Position Null entspricht.
- Full ist auf TRUE eingestellt, wenn die Länge der Position entspricht.
- FFU-Fehlerbedingungen werden nicht überprüft.
- Wenn Ausführung von FALSE auf FALSE wechselt:
- Error, Done und ErrorID sind auf FALSE eingestellt.
- Empty ist auf TRUE eingestellt, wenn die Position Null entspricht.
- Full ist auf TRUE eingestellt, wenn die Länge der Position entspricht. Full ist auf FALSE eingestellt, wenn die Position geringer als oder gleich Null und kleiner als die Länge ist.
- FLU-Fehlerbedingungen werden nicht überprüft.
- FFU-Anweisung – Vom Ausführungsmodus zum Nicht-Ausführungsmodus:
- Error, ErrorID, Done, Empty und Full behalten den Ausführungsmoduszustand bei.
- Zum Erstellen eines einzelnen Elements für den FIFO-Parameter:
- Nicht-Array:
- Variablenbasierte Adresse wie z. B. Fifo1 ist für FIFO zulässig.
- Länge sollte als 1 konfiguriert sein.
- Eindimensionales Array:
- Variablenbasierte Adresse wie z. B. Fifo1 oder Fifo1[0] ist für FIFO zulässig.
- Länge sollte als 1 konfiguriert sein.
Unterstützte Sprachen: Funktionsblockdiagramm, Kontaktplan und Strukturierter Text.
Diese Anweisung gilt für
Micro820
L20E-, Micro850
L50E- und Micro870
L70E-Controller.FFU

Parameter | Parametertyp | Datentyp | Beschreibung |
|---|---|---|---|
Execute | Eingang | BOOL | Anweisungsblock aktivieren.
|
Dest | Eingang | ANY_ELEMENTARY | Enthält den Wert, der im FIFO-Stapel vorhanden ist. Elementare Datentypen, die für Dest unterstützt werden:
|
DestOffset | Eingang | UINT | Offset des Zielelements. Element-Offset, wenn Ziel ein eindimensionaler Array-Datentyp ist; ansonsten sollte der Offset auf 0 gesetzt werden. Zum Entladen zum ersten Element für Array-Datentyp sollte der Versatz auf 0 eingestellt werden. |
FIFO | Eingang | ANY_ELEMENTARY | Die Startadresse des Stapels. FIFO muss für die FFL- und FFU-Anweisungen gleich konfiguriert sein.
|
FIFOCon | Eingang | FF_LF_CON | FIFO-Konfiguration und -Steuerung. Für FFL- und FFU-Anweisungen muss dieselbe Konfiguration konfiguriert werden. Verwenden Sie den Datentyp FF_LF_CON, um Position und Länge zu konfigurieren. |
Done | Ausgang | BOOL | Gibt an, wenn der FFU-Vorgang abgeschlossen ist.
|
Full | Ausgang | BOOL | Gibt an, dass der FIFO-Stapel voll ist.
|
Empty | Ausgang | BOOL | Gibt an, dass der FIFO-Stapel leer ist.
|
Error | Ausgang | BOOL | Zeigt das Vorhandensein eine Fehlerbedingung an.
|
ErrorID | Ausgang | USINT | Ein eindeutiger numerischer Wert, der den Fehler angibt. Die Fehler sind in FFU-Fehlercodes definiert. |
Parameter | Datentyp | Beschreibung |
|---|---|---|
Length | UINT | Anzahl der Elemente, die für den FIFO-Vorgang verwendet werden. Maximal 1024. |
Position | USINT | Bestimmt die nächste verfügbare Position im FIFO für den Src-Eintrag oder für das Entfernen. Die Position ist der Abstand des Arrays.
|
Fehlercode | Fehlerbeschreibung |
|---|---|
0 | Kein Fehler. |
1 | FFL-Src-Datentyp wird nicht unterstützt. |
2 | FFU-Dest-Datentyp wird nicht unterstützt. |
3 | FIFO-Datentyp wird nicht unterstützt. |
4 | Src- und Dest-Datentyp stimmen nicht mit dem FIFO-Datentyp überein. Maßnahme: Datentyp des FFL Src-Parameters und des FFU Dest-Parameters müssen mit dem FIFO Array-Datentyp übereinstimmen. |
5 | FIFO: Array-Dimension wird nicht unterstützt. Maßnahme: FIFO unterstützt nur eindimensionale Arrays. |
6 | FIFOCon-Steuerlementlänge überschreitet FIFO-Arraygröße. Maßnahme: FIFOCon-Steuerlementlänge darf FIFO-Arraygröße nicht überschreiten. |
7 | FIFOCon-Länge überschreitet die maximale Länge. |
8 | FIFOCon-Länge ist 0. |
9 | FIFOCon-Position überschreitet die FIFOCon-Länge. |
10 | FFL-Steuerelementlänge ist gleich der Position. |
11 | FFU-Steuerelementposition ist 0. |
12 | FFL- oder FIFO-Array-Dimension wird nicht unterstützt. Maßnahme: FFL und FFU unterstützen nur eindimensionale Arrays. |
13 | FFL- oder FFU-DestOffset überschreitet Dest-Array-Größe. |
FFU-Beispiele
Beispiel für ein FFU-Funktionsblockdiagramm

Beispiel für einen FFU-Kontaktplan

Beispiel für strukturierten FFU-Text

Ergebnisse

Rückmeldung geben