ST_FileRBufferHead

Ringpufferdatei-Header-Status. Diese Struktur wird von dem Funktionsbaustein FB_FileRingBuffer verwendet. Beim Öffnen 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 (Kategoriegruppe)

TwinCAT v3.1.0

PC oder CX (x86, x64, ARM)

Tc2_Utilities (System)