SysGetLastError, get last error

List

Questa pagina fa parte del Manuale Programmazione IEC 61131-3. Vai all indice.

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

Function
CODESYS: Non disponibile
LogicLab: eLLabXUnified12Lib

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.

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)
VAR
    Error : UDINT; (* Error number *)
    DInp : SysGetPhrDI; (* Digital input acquisition *)
END_VAR

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

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

    DInp.Address:=0; //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]
Was this article helpful?