ST_FileRBufferHead
Ringpufferdatei-Header-Status. Diese Struktur wird von dem Funktionsbaustein FB_FileRingBuffer verwendet. Beim Offnen der Ringpufferdatei wird diese Struktur gelesen und beim Schließen in die Ringpufferdatei gespeichert. Beim Lesen/Schreiben der Datensätze wird diese Struktur immer aktualisiert.
TYPE ST_FileRBufferHead
STRUCT
status : DWORD := 0; (* buffer status flags Bit 0 = 1 => Opened, Bit 0 = 0 => Closed, Bit 1 = 1 file corrupted, all other bits are reserved *)
access : UDINT := 0; (* access counter, increments every time the buffer is reopened *)
nID : UDINT := 0; (* user defined value *)
cbBuffer : UDINT := 16#100000; (* max. buffer size (1MB) *)
nCount : UDINT := 0; (* number of fifo entries *)
cbSize : UDINT := 0; (* current (used) file buffer data byte length *)
ptrFirst : UDINT := 0; (* seek pointer start position of first (oldest) buffer entry *)
ptrLast : UDINT := 0; (* seek pointer end position of last (newest) buffer entry *)
rsrv0 : UDINT := 0; (* reserved *)
rsrv1 : UDINT := 0; (* reserved *)
rsrv2 : UDINT := 0; (* reserved *)
rsrv3 : UDINT := 0; (* reserved *)
END_STRUCT
END_TYPE
status: Status-Flags. Bit 0 = 1 => Datei ist geöffnet, Bit 0 = 0 => Datei ist geschlossen. Bit 1 = 1 => Datei ist korrupt (wurde vorher nicht richtig geschlossen oder die maximale Puffergröße passt nicht).
acces: Zugriffszähler. Beim jedem erneuten Öffnen der Datei wird dieser Zähler inkrementiert.
nID: Benutzerdefinierter 32 Bit Wert.
cbBuffer: Die max. Ringpuffer-Dateigröße.
nCount: Aktuelle Anzahl der gespeicherten Datensätze.
cbSize: Aktuelle Anzahl der gespeicherten Datenbytes.
ptrFirst: Dateizeiger-Position des ältesten Datensatzes.
ptrLast: Dateizeiger-Position des neuesten Datensatzes.
rsrv0..rsrv3: Reserviert.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v2.10.0 Build > 1313 | PC oder CX (x86, ARM) | TcUtilities.Lib |