Passa al contenuto principale

FSFileCopy, file system copy file

Questo blocco funzione da eseguire in task Back, copia un file all'intermo del file system, attivando Enable il file definito in Source viene copiato nel file definito in Destination se il file esiste viuene sovrascritto. Al termine della copia si attiva l'uscita Done che rimane attiva fino alla disattivazione del comando Enable. In Time viene ritornato il tempo impiegato per la copia.

In caso di errore esecuzione viene attivata per un loop di programma l'uscita Fault.

Descrizione​

Immagine FB FSFileCopy

ParametroTipoDescrizione
EnableBOOLComando abilitazione esecuzione. Per rieseguire disabilitare e poi riabilitare questo ingresso.
SpyOnBOOLSe attivo permette di spiare il funzionamento della FB (Vedi articolo).
Source@STRINGDefinizione percorso file sorgente.
Destination@STRINGDefinizione percorso file destinazione.
DoneBOOLSi attiva al termine della esecuzione comando e rimane attiva fino alla disabilitazione di Enable.
FaultBOOLAttivo per un loop se errore esecuzione comando.
TimeREALTempo di esecuzione copia, espresso in secondi

Trigger di spy​

Se SpyOn attivo  è possibile utilizzare la console di spionaggio per verificare il funzionamento della FB. Sono previsti vari livelli di triggers.

Livelli di trigger

TriggerDescrizione
16#10000000Lg: Log esecuzione.
16#40000000Er: Errore di esecuzione.

Esempi​

Come utilizzare gli esempi.
Attivando da debug la variabile Start viene eseguita la copia del file "D:/SDir/SFile.txt" nel file "D:/DDir/DFile.txt".

LogicLab (Ptp114, ST_FSFileCopy)
PROGRAM ST_FSFileCopy
VAR
Start : BOOL; (* Start copy command *)
Copy : FSFileCopy; (* File copy *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_FSFileCopy"
// *****************************************************************************
// A source file is copied to a destination file. The two files are located in
// different directories.
// -----------------------------------------------------------------------------

// -------------------------------------------------------------------------
// COPY FILE
// -------------------------------------------------------------------------

Copy.SpyOn:=TRUE;
Copy.Source:=ADR('D:/SDir/SFile.txt');
Copy.Destination:=ADR('D:/DDir/DFile.txt');
Copy(Enable:=Start);

// [End of file]