FP_FTP_SET_MODE_TRANSFER_LOG

Impostare modalità di trasferimento FTP per file di registrazione dati

Questa istruzione FP definisce le impostazioni di trasferimento per i file di registrazione dei dati tramite protocollo FTP.

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'

sOperation (STRING)

Impostare i parametri del metodo di trasferimento.

  • Indirizzo server (parametro richiesto)

    È possibile specificare solo un server per volta. Specificare un numero di server FTP con tre caratteri da un byte.

    Parola chiave: SV

    Valori: SV0–SV3 (Server 0–Server 3)

  • Metodo di trasferimento (parametro opzionale)

    Sintassi

    Metodo di trasferimento

    'MODE=OVW'

    Metodo di sovrascrittura (default)

    Eseguire il trasferimento file con i nomi dei file specificati dall'impostazione di registrazione dei dati. Quando il trasferimento viene interrotto a causa di un qualsiasi problema con la rete o i server, è possibile che il trasferimento dei file sia stato eseguito solo parzialmente. Controllare se il trasferimento è stato completato con successo con un'istruzione del tipo FP_FTP_GET_STATUS.

    'MODE=REN'

    Metodo di rinomina

    Eseguire il trasferimento dei file con nomi dei file temporanei e rinominarli con nomi dei file specifici dopo aver completato il trasferimento con successo. Per verificare se il trasferimento dei file sia stato completato con successo, confrontare i nomi dei file attuali con i nomi dei file specificati dall'impostazione di registrazione dei dati. La velocità di elaborazione è maggiore rispetto a quella del metodo di sovrascrittura.

Esempio: Inviare il file di registrazione dati al server FTP 3 utilizzando il metodo di rinomina: 'SV3,MODE=REN'

sFTPServerDirectory (STRING)

Impostare la directory di destinazione (max. 256 caratteri) Verrà creata con un percorso relativo dalla directory home che è stata assegnata all'utente dopo aver effettuato l'accesso al server FTP. Se la directory di destinazione non esiste, verrà creata automaticamente con un numero fino a otto gerarchie.

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

  • Separa tutte le voci di parole chiave con una virgola, p.es. 'NAME=abcd,FROM=sender@server.com'

  • Non modificare l'ordine delle parole chiave. Specificare le parole chiave e i loro parametri di impostazione nell'ordine in cui vengono elencati qui.

  • 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 il server FTP utilizzando FP_FTP_SET_CONNECTION o la finestra di dialogo di impostazione del client FTP.

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

  • L'istruzione può essere eseguita solo quando il flag di richiesta di trasferimento per il numero nLogID specificato è FALSE. Quando la richiesta di trasferimento è TRUE, si verifica un errore di funzionamento.

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

  • Quando questa istruzione è stata eseguita correttamente, le variabili di sistema sys_bIsCarry e sys_iEthernetConnectionErrorCode vengono resettate.

  • L'istruzione memorizza le impostazioni di trasferimento della registrazione dei dati di sOperation e sFTPServerDirectory nel numero del file LOG specificato da nLogID.

  • 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 il flag di richiesta di trasferimento per un numero nLogID specificato è TRUE, p.es. se sys_blsLog0DataRecordingActive è TRUE.

  • se la condizione di registrazione dati di un numero nLogID specificato non viene registrata.

  • se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.

  • se l'istruzione viene eseguita in un programma di interrupt

  • se il numero di caratteri per dati stringa supera 256.

  • se viene specificato un server FTP che non è stato configurato con l'istruzione FP_FTP_SET_CONNECTION o la finestra di dialogo di impostazione del client FTP.

sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)
  • Se il flag di richiesta di trasferimento per un numero nLogID specificato è TRUE, p.es. se sys_blsLog0DataRecordingActive è TRUE.

  • se la condizione di registrazione dati di un numero nLogID specificato non viene registrata.

  • se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.

  • se l'istruzione viene eseguita in un programma di interrupt

  • se il numero di caratteri per dati stringa supera 256.

  • se viene specificato un server FTP che non è stato configurato con l'istruzione FP_FTP_SET_CONNECTION 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-12-18Feedback su questa paginaPanasonic hotline