FP_FTP_TRANSFER_CONTROL_LOG

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

Parametri

Ingresso

nLogID (WORD, INT, UINT)

Numero LOG (intervallo utilizzabile: 0–15). Il compilatore genera internamente la stringa per il numero di file di registro, p.es. 'LOG=0'

sControl (STRING)

Stringa di controllo:

'ENABLE': abilita il trasferimento file

'DISABLE': disabilita il trasferimento file

'CANCEL': cancella il trasferimento file

Uscita

bError (BOOL)

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.

Note

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

Flag di errore

sys_bIsOperationErrorHold (passa a TRUE e resta TRUE)
  • 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.

sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)
  • 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.

sys_bIsCarry (passa a TRUE per una scansione)
  • se l'istruzione viene eseguita durante l'inizializzazione di Ethernet, sys_iEthernetConnectionErrorCode viene impostato su "11: Ethernet viene inizializzato".

Esempio

Intestazione del POU

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

Corpo del POU

Se bSetLogTransferFTP e bDisableLogTransferFTP sono impostati su TRUE,l’istruzione viene eseguita.

Corpo LD

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

Corpo ST

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;

L'ultima revisione: 2024-11-13Feedback su questa paginaPanasonic hotline