Read

Diese Methode liest eine vorgegebene Anzahl von Datensätzen aus den im TwinCAT Database Server gepufferten Ergebnisdaten aus.

Syntax

METHOD Read : BOOL
VAR_INPUT
    nStartIndex: UDINT := 0;
    nRecordCount: UDINT := 1;
    pData: POINTER TO BYTE;
    cbData: UDINT;
    bWithVerifying: BOOL := FALSE;
    bDataRelease: BOOL := TRUE;
END_VAR

Read 1: Eingänge

Name

Typ

Beschreibung

nStartIndex

UDINT

Gibt den Index des ersten zu lesenden Datensatzes an.

nRecordCount

UDINT

Gibt die Anzahl der zu lesenden Datensätzen an.

pData

POINTER TO BYTE

Adresse des Strukturarrays, in das die Datensätze geschrieben werden sollen.

cbData

UDINT

Gibt die Größe des Strukturarrays in Byte an.

bWithVerifying

BOOL

Rückgabedaten werden mit pData Strukturarray verglichen und ggf. angepasst.

bDataRelease

BOOL

Gibt die gepufferten Daten wieder frei.

Read 2: Rückgabewert

Name

Typ

Beschreibung

Read

BOOL

Zeigt den Status der Methode. Liefert TRUE, sobald die Methodenausführung beendet ist, also auch im Fehlerfall.

Beispiel

VAR
    fbSqlResult : FB_SQLResultEvt(sNetID:='', tTimeout := T#5S); 
    aReadStruct : ARRAY[1..5] OF ST_StandardRecord;
END_VAR
// get values from internal tc db srv storage 
IF fbSqlResult.Read(2, 3, ADR(aReadStruct), SIZEOF(aReadStruct), FALSE, TRUE) THEN
    IF fbSqlResult.bError THEN
        nState := 255; 
    ELSE
        nState := nState+1; 
    END_IF
END_IF

Ergebnis in der SPS:

Read 3: