ReadAsString

Diese Methode liest eine vorgegebene Anzahl an Datensätzen aus dem im TwinCAT Database Server gepufferten Ergebnisdaten aus. Dabei wird ein Array von Strings angegeben, in das diese Daten als JSON kopiert werden sollen.

Syntax

METHOD ReadAsString : BOOL
VAR_INPUT
    nStartIndex: UDINT := 0;
    nRecordCount: UDINT := 1;
    pData: POINTER TO BYTE;
    cbData: UDINT;
    nMaxDocumentSize : UDINT;
    bDataRelease: BOOL := TRUE;
END_VAR

ReadAsString 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ätze an.

pData

POINTER TO BYTE

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

cbData

UDINT

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

nMaxDocumentSize

UDINT

Gibt die Maximalgröße eines einzelnen Json-Dokuments von pData an.

bDataRelease

BOOL

Gibt die gepufferten Daten wieder frei.

ReadAsString 2: Rückgabewert

Name

Typ

Beschreibung

ReadAsString

BOOL

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

Beispiel:

VAR
    fbNoSqlResult : FB_NoSQLResultEvt(sNetID := '', tTimeout := T#5S);
    aRead_Json : ARRAY[0..2] OF STRING(1000);
    TcMessage : I_TcMessage;
END_VAR
IF fbNoSqlResult.ReadAsString(
    nStartIndex:= 0,
    nRecordCount:= 3,
    pData:= ADR(aRead_Json),
    cbData:= SIZEOF(aRead_Json),
    MaxDocumentSize:= SIZEOF(aRead_Json[0]),
    bDataRelease:= TRUE)
THEN
    IF fbNoSqlResult.bError THEN
        TcMessage := fbNoSqlResult.ipTcResult;
        nstate := 255;
    ELSE
        nstate := nstate+1;
    END_IF
END_IF