FFL (FIFO laden)

Die FFL-Anweisung lädt 8-Bit-, 16-Bit-, 32-Bit- oder 64-Bit-Daten in ein vom Benutzer erzeugtes Array namens FIFO-Stapel.
Details zum Betrieb: FFL-Anweisung – Änderungen von kein Ausführungsmodus bis Ausführungsmodus.
  • Wenn Ausführung von FALSE auf TRUE wechselt:
    • Fehlerbedingung wird überprüft.
    • Der Inhalt von Src wird in den FIFO-Stapel in der verfügbaren Position geladen, und die Position erhöht sich um 1, wenn die Position kleiner oder gleich Null ist und weniger als die Länge beträgt.
    • Full ist auf TRUE eingestellt, wenn die Länge der Position entspricht. Full ist FALSE, wenn die Position geringer als oder gleich Null und kleiner als die Länge ist.
    • 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 FALSE, wenn die Position geringer als oder gleich Null und kleiner als die Länge ist.
    • FFL-Fehlerbedingungen werden nicht überprüft.
  • Wenn Ausführung von FALSE auf TRUE wechselt:
    • Es wird kein Ladevorgang ausgeführt.
    • Empty ist auf TRUE eingestellt, wenn die Position Null entspricht.
    • Full ist auf FALSE eingestellt, wenn die Position geringer als oder gleich Null und kleiner als die Länge ist. Full ist auf TRUE eingestellt, wenn die Länge der Position entspricht.
    • FFL-Fehlerbedingungen werden nicht überprüft.
  • Wenn Ausführung von FALSE auf FALSE wechselt:
    • Die Bits Error, Done und ErrorID sind auf FALSE eingestellt.
    • Die Bits Full und Empty behalten Werte von vorherigen Ausführungszuständen bei.
  • Empty ist auf TRUE eingestellt, wenn die Position Null entspricht.
    • Full ist auf TRUE eingestellt, wenn die Länge der Position entspricht. Full ist FALSE, wenn die Position geringer als oder gleich Null und kleiner als die Länge ist.
    • FFL-Fehlerbedingungen werden nicht überprüft.
    • FFL-Anweisung - Ausführungsmodus bis kein 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.
FFL
FFL
FFL-Parameter
Parameter
Parametertyp
Datentyp
Beschreibung
Execute
Eingang
BOOL
Anweisungsblock aktivieren.
  • TRUE: Wenn die Anstiegsflanke erkannt wird, starten Sie den FFL-Vorgang.
  • FALSE: Anstiegsflanke wird nicht erkannt.
Src
Eingang
ANY_ELEMENTARY
Der Src-Operand ist die Adresse des Werts, der zum Füllen der aktuell verfügbaren Position im FIFO-Stapel verwendet wird.
Elementare Datentypen, die für Scr unterstützt werden:
  • DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.
  • String wird nicht unterstützt!
  • Variablen und eindimensionale Arrays wie Array[1] oder Array[Index] werden unterstützt.
FIFO
Eingang
ANY_ELEMENTARY
Die Startadresse des Stapels. FIFO muss für die Anweisungen FFL und FFU gleich konfiguriert sein.
Elementare Datentypen, die für FIFO unterstützt werden:
DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.
  • String wird nicht unterstützt!
  • Nur eindimensionale Arrays werden für FIFO unterstützt.
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.
  • TRUE: Vorgang erfolgreich abgeschlossen
  • FALSE: Beim Vorgang ist eine Fehlerbedingung aufgetreten oder die FFU-Anweisung kann nicht ausgeführt werden.
Empty
Ausgang
BOOL
Gibt an, dass der FIFO-Stapel leer ist.
  • TRUE: Wenn die Position gleich 0 ist.
  • FALSE: Wenn die Position nicht gleich 0 ist.
Full
Ausgang
BOOL
Gibt an, dass der FIFO-Stapel voll ist.
  • TRUE: Wenn die Länge der Position entspricht.
  • FALSE: Wenn die Position größer als oder gleich Null und kleiner als die Länge ist.
Error
Ausgang
BOOL
Zeigt das Vorhandensein eine Fehlerbedingung an.
  • TRUE: Beim Vorgang ist ein Fehler aufgetreten.
  • FALSE: Der Vorgang wurde erfolgreich abgeschlossen oder die Anweisung wird nicht ausgeführt.
ErrorID
Ausgang
USINT
Ein eindeutiger numerischer Wert, der den Fehler angibt. Die Fehler sind in FFL-Fehlercodes definiert.
FF_LF_CON-Datentyp
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.
Beispiel 1:
  • Benutzer hat ein eindimensionales Array, arr[0..5], konfiguriert. Zunächst ist die Position als 1 konfiguriert. Daten werden in arr[1] übertragen und die Position erhöht sich inkrementell auf Position + 1.
Beispiel 2:
  • Benutzer hat ein eindimensionales Array als arr[1..5] konfiguriert. Zunächst ist die Position als 1 konfiguriert. Daten werden in arr[1] übertragen und die Position erhöht sich inkrementell auf Position + 1.
FFL-Fehlercodes
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.

FFL-Beispiele

Beispiel für ein FFL-Funktionsblockdiagramm
Beispiel für ein FFL-Funktionsblockdiagramm
Beispiel für einen FFL-Kontaktplan
Beispiel für einen FFL-Kontaktplan
Beispiel für strukturierten FFL-Text
Beispiel für strukturierten FFL-Text
Ergebnisse
Ergebnisse
Rückmeldung geben
Haben Sie Fragen oder Feedback zu dieser Dokumentation? Bitte geben Sie hier Ihr Feedback ab.
Normal