Ricevere testo e-mail
Questa istruzione FP legge i testi predefiniti delle e-mail del numero specificato da nTransferID e scrive il testo nella variabile di uscita sBodyText.
Ingresso
Impostare l'ID di impostazione di trasferimento.
Valori: 0–15
Uscita
Memorizza il testo predefinito delle e-mail
Impostare su TRUE quando l'operazione termina in modo anomalo.
Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.
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.
Questa istruzione legge il testo dell'e-mail che è stato specificato nell finestra di dialogo delle impostazioni del client SMTP. Se non è stato specificato un testo per le e-mail, non è possibile leggerlo e in sBodyText viene memorizzato zero.
Prima di eseguire l'istruzione, è necessario specificare le impostazioni del gruppo e delle e-mail dell'evento utilizzando FP_SMTP_SET_GROUP o la finestra di dialogo di impostazione del client SMTP.
Prima di eseguire l'istruzione verificare FP_CLIENT_STATUS_DUT se sia presente una richiesta attiva di invio di e-mail. Se bIsTransferRequested è TRUE al momento di eseguire l'istruzione, 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.
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 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 viene specificato un numero di gruppo di destinazione che non è stato definito con l'istruzione FP_SMTP_SET_GROUP oppure se viene specificata la finestra di dialogo del client SMTP.
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 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 viene specificato un numero di gruppo di destinazione che non è stato definito con l'istruzione FP_SMTP_SET_GROUP oppure se viene specificata la finestra di dialogo del client SMTP.
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
bRequest: BOOL:=FALSE;
bError: BOOL:=FALSE;
iID8: INT:=8;
sEmailText: STRING[32]:='Hello World!';
END_VAR
Se bRequest passa da FALSE a TRUE e sys_bIsEthernetSMTPClientReady è impostato 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 := 5 ;
NETWORK_BODY
B(B_CONTACT,,bRequest,4,1,6,3,R);
B(B_VARIN,,iID8,23,2,25,4,);
B(B_VAROUT,,bError,39,3,41,5,);
B(B_CONTACT,,sys_bIsEthernetSMTPClientReady,15,1,17,3,);
B(B_F,FP_SMTP_GET_EMAIL_TEXT!,,25,0,39,5,,?DEN?DnTransferID?AENO?CsBodyText?CbError);
B(B_VAROUT,,sEmailText,39,2,41,4,);
L(1,2,4,2);
L(6,2,15,2);
L(17,2,25,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bRequest) AND sys_bIsEthernetSMTPClientReady then
FP_SMTP_GET_EMAIL_TEXT(nTransferID := iID8,
sBodyText => sEmailText,
bError => bError);
END_If;