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