FIFO_HANDLER (FB)
Der Funktionsbaustein 'FIFO_HANDLER' realisiert einen FIFO Speicher (First In First Out).
Charakteristisch für den Baustein ist:
- Die im FIFO organisierte Information (ein FIFO Element) kann eine beliebige Struktur aufweisen
- Die Organisation des FIFO ist so realisiert, dass sie auch zur Kommunikation zwischen zwei Prozessen verwendet werden kann (thread save)
- Die Größe des FIFO kann variabel vorgegeben werden
|
Vor Benutzung der restlichen FIFO-Funktionalität, ist zunächst die Aktion 'FifoInit()' auszuführen. Die bei 'FifoInit()' vorgegebenen Werte für 'uiEleSize', 'uiFifoSize', 'pbyFifo' und 'stFifoHeader' dürfen danach nicht mehr geändert werden 'FifoReset()' ist nur möglich, wenn noch kein FIFO-Überlauf stattgefunden hat |
Anwender Interface
Name |
Typ |
Beschreibung |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
boExec |
BOOL |
Funktionsausführung: Mit einer positiven Flanke startet die Ausführung des Bausteins. Solange 'boExec' = TRUE ist, wird der Baustein von der PLC bearbeitet. Im Zustand 'boExec' = FALSE wird die Ausführung des Bausteins beendet. |
||||||||||||||||
enMode |
ENUM |
EN_FIFO_HANDLER_MODE Auswahlmodus der Funktion
|
||||||||||||||||
uiEleSize |
UINT |
Größe (in Byte) des zu schreibenden / lesenden Elements |
||||||||||||||||
pbyEle |
POINTER |
POINTER TO BYTE enMode = FIFO_READ: enMode = FIFO_WRITE: |
||||||||||||||||
uiFifoSize |
UINT |
Größe (in Byte) des für die FIFO-Organisation bereitgestellten Speicherbereichs |
||||||||||||||||
pbyFifo |
POINTER |
POINTER TO BYTE Zeiger auf die Adresse, ab der für die FIFO-Organisation Speicherbereich bereitgestellt wird |
Name |
Typ |
Beschreibung |
|||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
boDone |
BOOL |
Rückmeldung, dass der Funktionsbaustein vollständig ausgeführt wurde |
|||||||||||||||||||||||||||||||
boErr |
BOOL |
Der Funktionsbaustein befindet sich im Zustand Fehler
|
|||||||||||||||||||||||||||||||
iErrID |
INT |
Fehler Identnummer: Diagnosenummer wird ausgegeben
|
|||||||||||||||||||||||||||||||
uiEleNmb |
UINT |
Anzahl der in den FIFO geschriebenen und noch nicht zurückgelesenen Elemente. |
|||||||||||||||||||||||||||||||
udEleInd |
UDINT |
FIFO Position, von der mittels 'FifoRead()' aktuell gelesen wird. |
Name |
Typ |
Beschreibung |
---|---|---|
stFifoHeader |
STRUCT |
FIFO-Kopfinformation Organisation des FIFO |