Contrôle du transfert SMTP des fichiers d’enregistrement des données
Cette instruction FP contrôle le transfert SMTP d’un fichier d’enregistrement des données spécifié par nLogID. Les mots de contrôle valides sont 'ENABLE'
, 'DISABLE'
et 'CANCEL'
.
Entrée
Numéro de configuration LOG (intervalle autorisé : 0-15). Le compilateur génère la chaîne de caractères pour le numéro de fichier LOG en interne, par ex. 'LOG=0'
Caractère de contrôle :
'ENABLE'
: active le transfert de fichiers.
'DISABLE'
: désactive le transfert de fichiers.
'CANCEL'
: annule le transfert de fichiers.
Sortie
Devient TRUE dans les conditions suivantes :
Si le temps d’attente de connexion est dépassé.
Si une adresse IP est invalide.
Lorsqu’une erreur apparaît, utilisez la variable système sys_iEthernetConnectionErrorCode pour connaître le numéro de code d’erreur.
Le nombre de caractères des données STRING ne doit pas être supérieur à 256.
Avant d’exécuter l’instruction, les paramètres de transfert d’e-mail pour les fichiers d’enregistrement des données doivent être entrés à l’aide de FP_SMTP_SET_MODE_TRANSFER_LOG ou de la boîte de dialogue de paramétrage du client SMTP.
Avant d’exécuter l’instruction, vérifiez que sys_bIsEthernetInitializing est FALSE. sys_bIsEthernetInitializing passe à TRUE lorsque l’instruction est exécutée. Lorsque l’instruction est exécutée alors que sys_bIsEthernetInitializing est TRUE, une erreur apparaît.
Des caractères en lettres majuscules et minuscules peuvent être utilisés pour les opérandes pour lesquels une constante de caractères peut être spécifiée. "Abcd", "ABCD" et "abcd" sont synonymes, par contre, les noms de fichiers sont sensibles à la casse.
Lorsque l’instruction a été exécutée avec succès, les variables système sys_bIsCarry et sys_iEthernetConnectionErrorCode sont réinitialisées.
Le traitement de la requête d’annulation du transfert prend quelque temps. Vérifiez l’état du transfert avec FP_SMTP_GET_STATUS et vérifiez si le transfert s’arrête après exécution de l’instruction.
Lorsqu’une erreur apparaît, utilisez la variable système sys_iEthernetConnectionErrorCode pour connaître le numéro de code d’erreur.
Si un mot de contrôle autre que 'ENABLE'
, 'DISABLE'
ou 'CANCEL'
est spécifié pour sControl.
Si le nombre de caractères des données STRING est supérieur à 256.
Si un paramètre de transmission d’e-mail pour fichiers d’enregistrement des données est spécifié alors qu’il n’a pas été configuré avec l’instruction FP_SMTP_SET_MODE_TRANSFER_LOG ou avec la boîte de dialogue de paramétrage du client SMTP.
Si un mot de contrôle autre que 'ENABLE'
, 'DISABLE'
ou 'CANCEL'
est spécifié pour sControl.
Si le nombre de caractères des données STRING est supérieur à 256.
Si un paramètre d’envoi d’e-mail spécifié n’a pas été configuré avec l’instruction FP_SMTP_SET_MODE ou avec la boîte de dialogue de paramétrage du client SMTP.
Si un paramètre de transmission d’e-mail pour fichiers d’enregistrement des données est spécifié alors qu’il n’a pas été configuré avec l’instruction FP_SMTP_SET_MODE_TRANSFER_LOG ou avec la boîte de dialogue de paramétrage du client SMTP.
Si l’instruction est exécutée pendant l’initialisation d’Ethernet, sys_iEthernetConnectionErrorCode est définie sur "11 : initialisation Ethernet en cours".
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
bIsError: BOOL:=FALSE;
bSetLogTransferSMTP: BOOL:=FALSE;
bDisableLogTransferSMTP: BOOL:=FALSE;
END_VAR
Lorsque bSetLogTransferSMTP et bDisableLogTransferSMTP sont TRUE, l’instruction est exécutée.
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;