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