Questo blocco funzione consente di copiare i dati di memoria in un file e viceversa. Il file può trovarsi nel file system interno o in un file system esterno (scheda SD).
Il blocco funzione DataFileCopy può:
leggere i dati da un file formattato o
Copiare i dati dalla memoria a un file formattato. Per ulteriori informazioni, consultare Non-Volatile Memory Organization.
Per la rappresentazione generale in linguaggio IL o ST, fare riferimento al capitolo Rappresentazione di funzioni e blocchi funzione.
Questa tabella descrive le variabili di ingresso:
Ingresso |
Tipo |
Commento |
---|---|---|
xExecute |
BOOL |
Sul fronte di salita, avvia l'esecuzione del blocco funzione. Sul fronte di discesa, azzera le uscite del blocco funzione al termine di un'esecuzione in corso.
NOTA: Con il fronte di discesa, la funzione continua fino a concluderne l'esecuzione e aggiornarne le uscite. Le uscite sono mantenute per un ciclo e azzerate.
|
sFileName |
STRING |
Nome file senza estensione (l'estensione .DTA viene aggiunta automaticamente). Usare solo i caratteri alfanumerici a...z, A...Z, 0...9. |
xRead |
BOOL |
TRUE: copia dati dal file identificato da sFileName nella memoria interna del controller. FALSE: copia dati dalla memoria interna del controller nel file identificato da sFileName. |
xSecure |
BOOL |
TRUE: L'indirizzo MAC è sempre memorizzato nel file. Solo un controller con lo stesso indirizzo MAC può leggere i dati dal file. FALSE: Un altro controller con lo stesso tipo di memoria può leggere dal file. |
iLocation |
INT |
0: il percorso del file è /usr/DTA nel file system interno. 1: il percorso del file è /usr/DTA nel file system esterno (scheda SD).
NOTA: Il file, se non esiste già nella directory, viene creato.
|
uiSize |
UINT |
Indica le dimensioni in byte. Il valore massimo è 65534 byte. Si possono utilizzare solo gli indirizzi delle variabili conformi a IEC 61131-3 (variabili, array, strutture), quali:
|
dwAdd |
DWORD |
Indica l'indirizzo nella memoria letta dalla funzione o in cui la funzione scriverà. Si possono utilizzare solo gli indirizzi delle variabili conformi a IEC 61131-3 (variabili, array, strutture), quali:
|
AVVERTIMENTO | |
---|---|
Questa tabella descrive le variabili di uscita:
Uscita |
Tipo |
Commento |
---|---|---|
xDone |
BOOL |
|
xBusy |
BOOL |
|
xError |
BOOL |
|
eError |
Indica il tipo di errore di copiatura del file di dati. |
Questo esempio descrive come copiare i file dei comandi
VAR
LocalArray : ARRAY [0..29] OF BYTE;
myFileName: STRING := 'exportfile';
EXEC_FLAG: BOOL;
DataFileCopy: DataFileCopy;
END_VAR
DataFileCopy(
xExecute:= EXEC_FLAG,
sFileName:= myFileName,
xRead:= FALSE,
xSecure:= FALSE,
iLocation:= DFCL_INTERNAL,
uiSize:= SIZEOF(LocalArray),
dwAdd:= ADR(LocalArray),
xDone=> ,
xBusy=> ,
xError=> ,
eError=> );