Spostare il file su SD card
Questa istruzione FP sposta il file specificato da s1_FullFileNameSource sul file specificato da s2_FullFileNameDestination.
Ingresso
File sorgente completo di percorso
File di destinazione completo di percorso
Formato trasferimento file:
Bit 0:
0: Sovrascrivere se il file esiste
1: Chiusura anomala se il file esiste
Bit 1–15: Riservato per il sistema
Se la directory specificata da s2_FullFileNameDestination non esiste, si verifica l’errore 3 "Errore nome file/directory".
Se non c’è abbastanza capacità libera, si verifica l’errore 9 "SD card piena".
Se una directory viene specificata da s1_FullFileNameSource, tutti i file in questa directory vengono spostati sulla directory specificata da s2_FullFileNameDestination.
Le sottodirectory non vengono spostate.
I file protetti da scrittura che vengono spostati mantengono il loro stato.
La capacità libera sulla SD memory card deve essere maggiore rispetto ai file da spostare.
Se un file viene specificato da s1_FullFileNameSource e una directory da s2_FullFileNameDestination, il file viene spostato sulla directory.
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
bStart: BOOL:=FALSE;
(*activates the instruction*)
END_VAR
Quando la variabile bStart passa da FALSE a TRUE e la variabile di sistema sys_bIsSDMemoryAccessActive non è TRUE, la funzione viene svolta. Sposta il file 'TestString1.csv' dalla directory radice della SD memory card alla directory 'Test'.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_VARIN,,'\TestString1.csv',21,2,23,4,);
B(B_VARIN,,'\Test\TestString1.csv',21,3,23,5,);
B(B_VARIN,,0,21,4,23,6,);
B(B_CONTACT,,bStart,3,1,5,3,R);
B(B_CONTACT,,sys_bIsSDMemoryAccessActive,11,1,13,3,N);
B(B_F,FP_SD_MOVE_FILE!,,23,0,37,6,,?DEN?Ds1_FullFileNameSource?Ds2_FullFileNameDestination?Ds3_Format?AENO);
L(1,2,3,2);
L(5,2,11,2);
L(13,2,23,2);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(bStart)AND not sys_bIsSDMemoryAccessActive then
FP_SD_MOVE_FILE('\TestString1.csv', '\Test\TestString1.csv');
END_IF;