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
| Parametro | Tipo | Descrizione |
|---|---|---|
| Cmd | BOOL | Indica 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. |
| Out | UDINT | La 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]