Controllare il trasferimento SMTP dei file di registrazione dati
Questa istruzione FP controlla il trasferimento SMTP di un file di registrazione dati specificato da nLogID. Le word di controllo valide sono 'ENABLE'
, 'DISABLE'
e 'CANCEL'
.
Ingresso
Numero LOG (intervallo utilizzabile: 0–15). Il compilatore genera internamente la stringa per il numero di file di registro, p.es. 'LOG=0'
Stringa di controllo:
'ENABLE'
: abilita il trasferimento file
'DISABLE'
: disabilita il trasferimento file
'CANCEL'
: cancella il trasferimento file
Uscita
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.
Il numero di caratteri per dati stringa non deve superare 256.
Prima di eseguire l'istruzione, è necessario specificare le impostazioni di trasferimento e-mail per i file di registrazione dei dati utilizzando FP_SMTP_SET_MODE_TRANSFER_LOG o la finestra di dialogo di impostazione del client SMTP.
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_SMTP_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.
Se qualsiasi stringa di controllo diversa da 'ENABLE'
, 'DISABLE'
o 'CANCEL'
viene specificata da sControl.
se il numero di caratteri per dati stringa supera 256.
se viene specificata un'impostazione di trasmissione e-mail per file di registrazione dati che non è stata configurata con l'istruzione FP_SMTP_SET_MODE_TRANSFER_LOG o se viene specificata la finestra di dialogo del client SMTP.
Se qualsiasi stringa di controllo diversa da 'ENABLE'
, 'DISABLE'
o 'CANCEL'
viene specificata da sControl.
se il numero di caratteri per dati stringa supera 256.
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 specificata un'impostazione di trasmissione e-mail per file di registrazione dati che non è stata configurata con l'istruzione FP_SMTP_SET_MODE_TRANSFER_LOG o 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
bIsError: BOOL:=FALSE;
bSetLogTransferSMTP: BOOL:=FALSE;
bDisableLogTransferSMTP: BOOL:=FALSE;
END_VAR
Se bSetLogTransferSMTP e bDisableLogTransferSMTP sono impostati 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 := 7 ;
NETWORK_BODY
B(B_VARIN,,0,19,2,21,4,);
B(B_VARIN,,'GRPNO=0~SUBJECTAUTO',19,3,21,5,);
B(B_VARIN,,'Sent Log Files',19,4,21,6,);
B(B_VARIN,,'INFO=NON~ATT=NONE',19,5,21,7,);
B(B_VAROUT,,bIsError,39,2,41,4,);
B(B_CONTACT,,bSetLogTransferSMTP,5,1,7,3,);
B(B_F,FP_SMTP_SET_MODE_TRANSFER_LOG!,,21,0,39,7,,?DEN?DnLogID?DsGroupNumber_Subject?DsBodyText?DsAttachment?AENO?AbError);
L(1,2,5,2);
L(7,2,21,2);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bDisableLogTransferSMTP,5,1,7,3,);
B(B_F,FP_SMTP_TRANSFER_CONTROL_LOG!,,21,0,39,5,,?DEN?DnLogID?DsControl?AENO?AbError);
B(B_VARIN,,0,19,2,21,4,);
B(B_VARIN,,'DISABLE',19,3,21,5,);
B(B_VAROUT,,bIsError,39,2,41,4,);
L(1,2,5,2);
L(7,2,21,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (bSetLogTransferSMTP) Then
FP_SMTP_SET_MODE_TRANSFER_LOG(nLogID := 0,
sGroupNumber_Subject := 'GRPNO=0,SUBJECTAUTO',
sBodyText := 'Sent Log Files',
sAttachment := 'INFO=NON,ATT=NONE', bError => bIsError);
End_if;
If (bDisableLogTransferSMTP) Then
FP_SMTP_TRANSFER_CONTROL_LOG(nLogID := 0,
sControl := 'DISABLE', bError => bIsError);
End_if;