Controllare il trasferimento FTP dei file di registrazione dati
Questa istruzione FP controlla il trasferimento FTP di un file di registrazione dati specificato da nLogID. Le word di controllo valide sono 'ENABLE'
, 'DISABLE'
e 'CANCEL'
.
Ingresso
Numero LOG (intervallo utilizzabile: 0–15). Il compilatore genera internamente la stringa per il numero di file di registro, p.es. 'LOG=0'
Stringa di controllo:
'ENABLE'
: abilita il trasferimento file
'DISABLE'
: disabilita il trasferimento file
'CANCEL'
: cancella il trasferimento file
Uscita
Passa a TRUE nelle seguenti condizioni:
se un timeout della connessione viene superato
se un indirizzo IP non è valido
Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.
Il numero di caratteri per dati stringa non deve superare 256.
Questa istruzione non è disponibile nei programmi di interrupt.
Prima di eseguire l'istruzione, è necessario specificare le impostazioni di trasferimento per i file di registrazione dei dati utilizzando FP_FTP_SET_MODE_TRANSFER_LOG o la finestra di dialogo di impostazione del client FTP.
Prima di eseguire l'istruzione, assicurarsi che sys_bIsEthernetInitializing sia FALSE. sys_bIsEthernetInitializing passa a TRUE quando l'istruzione viene eseguita. Se si esegue l'istruzione mentresys_bIsEthernetInitializing è TRUE, si verifica un errore.
I caratteri maiuscoli e minuscoli possono essere utilizzati per gli operandi per i quali è possibile specificare una costante di carattere. "Abcd", "ABCD" e "abcd" sono sinonimi, ma i nomi del file fanno distinzione tra maiuscole e minuscole.
Quando questa istruzione è stata eseguita correttamente, le variabili di sistema sys_bIsCarry e sys_iEthernetConnectionErrorCode vengono resettate.
La richiesta di cancellazione del trasferimento richiede tempo per essere elaborata. Controllare lo stato di trasferimento con FP_FTP_GET_STATUS e verificare se il trasferimento si arresta dopo aver eseguito l'istruzione.
Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.
Se qualsiasi stringa di controllo diversa da 'ENABLE'
, 'DISABLE'
o 'CANCEL'
viene specificata da sControl.
se l'istruzione viene eseguita in un programma di interrupt
se il numero di caratteri per dati stringa supera 256.
se viene specificata un'impostazione di trasferimento per i file di registrazione dati che non è stata configurata con l'istruzione FP_FTP_SET_MODE_TRANSFER_LOG o la finestra di dialogo di impostazione del client FTP.
Se qualsiasi stringa di controllo diversa da 'ENABLE'
, 'DISABLE'
o 'CANCEL'
viene specificata da sControl.
se l'istruzione viene eseguita in un programma di interrupt
se il numero di caratteri per dati stringa supera 256.
se viene specificata un'impostazione di trasferimento per i file di registrazione dati che non è stata configurata con l'istruzione FP_FTP_SET_MODE_TRANSFER_LOG o la finestra di dialogo di impostazione del client FTP.
se l'istruzione viene eseguita durante l'inizializzazione di Ethernet, sys_iEthernetConnectionErrorCode viene impostato su "11: Ethernet viene inizializzato".
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
bSetLogTransferFTP: BOOL:=FALSE;
bIsError: BOOL:=FALSE;
bDisableLogTransferFTP: BOOL:=FALSE;
END_VAR
Se bSetLogTransferFTP e bDisableLogTransferFTP sono impostati su TRUE,l’istruzione viene eseguita.
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,,0,18,2,20,4,);
B(B_VARIN,,'SV0',18,3,20,5,);
B(B_VARIN,,'LogData',18,4,20,6,);
B(B_VAROUT,,bIsError,37,2,39,4,);
B(B_CONTACT,,bSetLogTransferFTP,5,1,7,3,);
B(B_F,FP_FTP_SET_MODE_TRANSFER_LOG!,,20,0,37,6,,?DEN?DnLogID?DsOperation?DsFTPServerDirectory?AENO?CbError);
L(1,2,5,2);
L(7,2,20,2);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bDisableLogTransferFTP,5,1,7,3,);
B(B_VARIN,,0,18,2,20,4,);
B(B_VARIN,,'DISABLE',18,3,20,5,);
B(B_VAROUT,,bIsError,39,2,41,4,);
B(B_F,FP_FTP_TRANSFER_CONTROL_LOG!,,20,0,37,5,,?DEN?DnLogID?DsControl?AENO?AbError);
L(1,2,5,2);
L(37,3,39,3);
L(7,2,20,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (bSetLogTransferFTP) Then
FP_FTP_SET_MODE_TRANSFER_LOG(nLogID := 0, sOperation := 'SV0',
sFTPServerDirectory := 'LogData',
bError => bIsError);
End_if;
If (bDisableLogTransferFTP) Then
FP_FTP_TRANSFER_CONTROL_LOG(nLogID := 0, sControl := 'DISABLE', bError => bIsError);
End_if;