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
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. |
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