FP_SMTP_TRANSFER_REQUEST

Richiesta di trasferimento SMTP

Questa istruzione FP richiede al client SMTP di inviare un'e-mail e trasferire dati come specificato da nTransferID.

Parametri

Ingresso

nTransferID (WORD, INT, UINT)

Impostare l'ID del client SMTP

Valori: 0–15

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

  • Questa istruzione non è disponibile nei programmi di interrupt.

  • Prima di eseguire l'istruzione, è necessario specificare le impostazioni di trasmissione e-mail utilizzando FP_SMTP_SET_MODE o la finestra di dialogo di impostazione del client SMTP.

  • Prima di eseguire l'istruzione, controllare che la variabile di sistema sys_bIsEthernetSMTPClientReady sia TRUE. Se è FALSE al momento di eseguire l'istruzione, si verifica un errore.

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

  • L'istruzione può essere eseguita solo se sys_bIsEthernetCableNotConnected è FALSE.

  • L'istruzione può essere eseguita solo se il flag di richiesta di trasferimento per l'impostazione di trasferimento specificata è "FALSE: Nessuna richiesta di trasferimento". Quando la richiesta di trasferimento è "TRUE: Richiesta di trasferimento", si verifica un errore di funzionamento.

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

  • 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 l'area specificata utilizzando il registro indice eccede il limite.

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

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

  • se la variabile di sistema sys_bIsEthernetSMTPClientReady è FALSE quando l'istruzione viene eseguita.

  • Se il flag di richiesta di trasmissione e-mail per l'impostazione di trasferimento specificata è "TRUE: Trasferimento richiesto".

  • Se viene specificata un'impostazione di trasmissione e-mail che non è stata configurata con l'istruzione FP_SMTP_SET_MODE o la finestra di dialogo del client SMTP.

  • se l'invio delle e-mail è disabilitato, ovvero se l'identificatore bIsTransmissionBlocked di FP_CLIENT_STATUS_DUT è TRUE.

sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)
  • se l'area specificata utilizzando il registro indice eccede il limite.

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

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

  • se la variabile di sistema sys_bIsEthernetSMTPClientReady è FALSE quando l'istruzione viene eseguita.

  • Se il flag di richiesta di trasmissione e-mail per l'impostazione di trasferimento specificata è "TRUE: Trasferimento richiesto".

  • Se viene specificata un'impostazione di trasmissione e-mail che non è stata configurata con l'istruzione FP_SMTP_SET_MODE o la finestra di dialogo del client SMTP.

  • se l'invio delle e-mail è disabilitato, ovvero se l'identificatore bIsTransmissionBlocked di FP_CLIENT_STATUS_DUT è TRUE.

sys_bIsCarry (passa a TRUE per una scansione)
  • se l'istruzione viene eseguita mentre il cavo Ethernet è disconnesso. sys_iEthernetConnectionErrorCode viene impostato su "10: Cavo Ethernet disconnesso".

  • 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
		iID10: INT:=10;
		bTransferRequestError: BOOL:=FALSE;
		bTransferRequest: BOOL:=FALSE;
	END_VAR

Corpo del POU

Se bTransferRequest passa da FALSE a TRUE e la variabile di sistema sys_bIsEthernetSMTPClientReady è TRUE, l'istruzione viene eseguita. Il trasferimento SMTP è necessario 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 := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bTransferRequest,4,1,6,3,R);
B(B_VARIN,,iID10,23,2,25,4,);
B(B_VAROUT,,bTransferRequestError,40,2,42,4,);
B(B_F,FP_SMTP_TRANSFER_REQUEST!,,25,0,40,4,,?DEN?DnID?AENO?CbError);
B(B_CONTACT,,sys_bIsEthernetSMTPClientReady,15,1,17,3,);
L(1,2,4,2);
L(6,2,15,2);
L(17,2,25,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

if DF(bTransferRequest) AND sys_bIsEthernetSMTPClientReady then
    FP_SMTP_TRANSFER_REQUEST(nTransferID := iID10,
                            bError => bTransferRequestError);
End_if;

L'ultima revisione: 2024-03-07Feedback su questa paginaPanasonic hotline