IsBusy
Prüft, ob der Dienst mit der Ausführung noch beschäftigt ist.
METHOD IsBusy : BOOL
Rückgabeparameter: TRUE => Beschäftigt, FALSE => Nicht beschäftigt (Completed oder Aborted oder Failed).
Beispiel (Auszug)
METHOD MyServiceReq : BOOL
VAR_INPUT
tTimeout : TIME;
END_VAR
VAR_OUTPUT
ipResult : I_AsyncServiceResultClass := _fbResult;
END_VAR
IF ipResult.IsBusy() THEN(* service allready running => abort *)
_state := 0;
ipResult.SetAbortedEx( stReason := ERROR_INVALID_STATE );
RETURN;
END_IF
IF tTimeout = T#0S THEN(* invalid parameter => failure *)
ipResult.SetFailedEx( stError := ERROR_INVALID_VALUE );
RETURN;
END_IF
ipResult.SetBusy();
_fbTimer( IN := FALSE, PT := tTimeout );
_state := 1;
THIS^();
MyServiceReq := TRUE;