FClose, file close

List

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

Questa funzione da eseguire in task Back, esegue la chiusura del collegamento al terminale di I/O (Stream) di comunicazione indicato in File precedentemente aperto dalla funzione di apertura risorsa.

In caso di errore chiusura, la funzione ritorna eEOF.

Sostituisce Sysfclose

Sostituisce la funzione Sysfclose modificando il tipo di parametro in uscita da INT a eFILEP.

Information Circle

Funzione

CODESYS: Non disponibile

LogicLab: eLLabCommonLib

Descrizione

File (eFILEP) Terminale di I/O (Stream) ritornato dalla funzione di apertura risorsa.

La funzione ritorna un (eFILEP). Valore eNULL se esecuzione corretta, eEOF in caso di errore

Immagine funzione FClose

Esempi

Come utilizzare gli esempi.
Nell’esempio viene eseguita la scrittura di una stringa su di un file, terminata la scrittura lo stream di gestione file viene chiuso liberando l’accesso al file.

LogicLab (Ptp201, ST_FClose)
PROGRAM ST_FClose

VAR
    RSts : INT; (* Result status *)
    Fp : ARRAY[0..1] OF eFILEP; (* File pointer *)
    WData : STRING[ 16 ] := 'abcdefghijklmnop'; (* Write data *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_FClose"
// *****************************************************************************
// This program shows the use of "FClose" function.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // FILE OPERATIONS
    // -------------------------------------------------------------------------
    // On First program loop open file and write on it.

    IF (SysFirstLoop) THEN 
        Fp[0]:=SysFfopen(ADR('C:/Logs.txt'), ADR('w')); //File pointer

        IF (SysFIsOpen(Fp[0])) THEN
            RSts:=Sysfwrite(ADR(WData), TO_INT(SIZEOF(WData)), 1, Fp[0]);
            Fp[0]:=FClose(Fp[0]); //File pointer
        END_IF;

        // On closing an already close file eOF is returned.

        Fp[1]:=FClose(Fp[0]); //File pointer
    END_IF;

// [End of file]
Was this article helpful?