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