54/126
Bosch Rexroth AG | Electric Drives
SysPortAsync.library
Typ des Rückgabeparameters der SysPort.library-
Funktion
BYTE
UDINT
WORD
STRING
DECLARATION:
udStateOpen: UDINT := ASYNCSTATE_INVALID;
TestFB : SysPortAsyncFB;
SPI : tSysPortIn;
Result, ResultAsync, hJob: UDINT;
Out: BYTE;
IMPLEMENTATION:
SPI.ulAddress := 230;
SPI.pResult:= adr(Result);
SPI.pbyOut:= adr(Out);
hJob := TestFB.SysPortInAsync(adr(SPI), adr(udStateOpen), adr(ResultAsync));
and Controls
Der Rückgabewert jeder SysPort.library-Funktion wird in einer seinem Typ ent‐
sprechend benannten Komponente der zur Funktion gehörenden Struktur be‐
reitgestellt:
Name der Struktur-Komponente
t<Funktion der SysPort.library>.pbyOut
t<Funktion der SysPort.library>.pulOut
t<Funktion der SysPort.library>.pusOut
t<Funktion der SysPort.library>.pszOut
Bei Start des asynchronen Auftrages ist der Status udState immer ASYNCS‐
TATE_INVALID.
Beispiel:
Programm:
Bei Aufruf der SysPortIn-Methode wird der asynchrone Auftrag gestartet. Der
Auftrag ist beendet, wenn der Status einer der 3 Werte annimmt:
●
ASYNCSTATE_READY: Auftrag erfolgreich abgeschlossen
●
ASYNCSTATE_ERROR: Auftrag mit Fehler abgeschlossen
●
ASYNCSTATE_TIMEOUT: Timeout für den Auftrag abgelaufen, bevor
Auftrag abgeschlossen werden konnte.
Im Parameter ResultAsync wird der Fehlercode der Methode SysPortInAsync
zurückgegeben. Dieser Fehlerwert gibt nur darüber Auskunft, ob der asynchro‐
ne Job angelegt werden konnte. In der Variable hJob befindet sich das Handle
des asynchronen Jobs. Mit den Zugriffsfunktionen der Bibliothek CmpA‐
syncMgr.library und diesem Handle kann man weitere Informationen zu diesem
Job auslesen.
Nachdem der Job bearbeitet wurde und der Status des Jobs ASYNCSTA‐
TE_READY oder ASYNCSTATE_ERROR ist, stehen in der Struktur SDO die
Ergebnisse der asynchronen Operation bereit.
Die Beschreibung der Parameter können Sie der Dokumentation zur
sPort.library, Seite 49,
entnehmen.
Rexroth IndraLogic 09VRS | Bibliotheksbeschreibung
in den Kapiteln zu den entsprechenden Funktionen
Sy‐