Passa al contenuto principale

SysGetLastError, get last error

La funzione ritorna il numero dell'ultimo errore rilevato da una funzione e/o da un blocco funzione. Occorre eseguirla su abilitazione del bit di fault in uscita dalla funzione e/o blocco funzione da controllare. E' possibile definire con il valore di Cmd se si vuole avere il valore attuale dell'ultimo errore (Cmd:=TRUE) oppure quello memorizzato con la precedente esecuzione della funzione (Cmd:=FALSE).

Descrizione​

Immagine funzione SysGetLastError

ParametroTipoDescrizione
CmdBOOLIndica il numero di errore ritornato. Se TRUE viene salvato e ritornato l'ultimo valore di errore. Se FALSE viene ritornato il numero salvato dalla precedente chiamata con Cmd:=TRUE.
OutUDINTLa funzione ritorna una variabile (UDINT) con il valore dell'errore.

Esempi​

Come utilizzare gli esempi.
Al termine della esecuzione del FB di acquisizione ingressi digitali, se attivo il Fault viene acquisito il numero di errore riscontrato che è trasferito nella variabile Error.

LogicLab (Ptp116, ST_SysGetLastError)
PROGRAM ST_SysGetLastError
VAR
Error : UDINT; (* Error number *)
DInp : SysGetPhrDI; (* Digital input acquisition *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_SysGetLastError"
// *****************************************************************************
// An example of how to acquire the last execution error.
// -----------------------------------------------------------------------------

// -------------------------------------------------------------------------
// DIGITAL INPUT ACQUISITION
// -------------------------------------------------------------------------
// Acquires digital inputs 0 to 7 on the CPU module.

DInp.Address:=255; //Module address
DInp.Mode:=DI_MODE#DI_8_LL; //Acquisition mode
DInp(); //Digital input acquisition
IF (DInp.Fault) THEN Error:=SysGetLastError(TRUE); END_IF;

// [End of file]