FP_FTP_TRANSFER_CONTROL

Controllare il trasferimento FTP a una singola unità Ethernet

Questa istruzione FP controlla il trasferimento FTP a una singola unità Ethernet specificata da nTransferID (0–15). Le word di controllo valide sono 'ENABLE', 'DISABLE' e 'CANCEL'.

Parametri

Ingresso

nTransferID (INT)

ID unità Ethernet (valori: 0–15)

sControl (STRING)

Stringa di controllo:

  • 'ENABLE': abilita il trasferimento del file all'unità Ethernet

  • 'DISABLE': disabilita il trasferimento del file all'unità Ethernet

  • 'CANCEL': cancella il trasferimento del file all'unità Ethernet

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.

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

  • Prima di eseguire l'istruzione, è necessario specificare le impostazioni di trasferimento utilizzando FP_FTP_SET_MODE 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.

  • 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 che non è stata configurata conFP_FTP_SET_MODE o nella 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 che non è stata configurata conFP_FTP_SET_MODE o nella 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
		bEnableFTP: BOOL:=FALSE;
		bDisableTransferError: BOOL:=FALSE;
		iID10: INT:=10;
	END_VAR

Corpo del POU

Se bEnableFTP passa de FALSE a TRUE, l'istruzione viene eseguita. La word di controllo 'ENABLE' abilita il trasferimento FTP per l'unità Ethernet 10.

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_VARIN,,iID10,10,2,12,4,);
B(B_VARIN,,'ENABLE',10,3,12,5,);
B(B_VAROUT,,bEnableTransferError,27,2,29,4,);
B(B_CONTACT,,bEnableFTP,4,1,6,3,R);
B(B_F,FP_FTP_TRANSFER_CONTROL!,,12,0,27,5,,?DEN?DnTransferID?DsControl?AENO?CbError);
L(1,2,4,2);
L(6,2,12,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

If DF(bDisableAll) then
    FP_FTP_TRANSFER_CONTROL(nTransferID := iID10,
                            sControl := 'ENABLE',
                            bError => bError);
End_if;
If DF(bDisableAll) then
    FP_FTP_TRANSFER_CONTROL(nTransferID := iID10,
                            sControl := 'ENABLE',
                            bError => bError);
End_if;

L'ultima revisione: 2024-04-25Feedback su questa paginaPanasonic hotline