FP_SMTP_TRANSFER_CONTROL

Contrôle du transfert SMTP vers une unité Ethernet

Cette instruction FP contrôle le transfert SMTP vers une unité Ethernet spécifiée par nTransferID. Les mots de contrôle valides sont 'ENABLE', 'DISABLE' et 'CANCEL'.

Paramètres

Entrée

nTransferID (INT)

ID de l’unité Ethernet (valeurs : 0–15)

sControl (STRING)

Caractère de contrôle :

  • 'ENABLE' : active l’envoi d’e-mails vers l’unité Ethernet.

  • 'DISABLE' : désactive l’envoi d’e-mails vers l’unité Ethernet.

  • 'CANCEL' : annule l’envoi d’e-mails vers l’unité Ethernet.

Sortie

bError (BOOL)
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.

Remarques

  • Le nombre de caractères des données STRING ne doit pas être supérieur à 256.

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

  • Avant d’exécuter l’instruction, les paramètres d’envoi d’e-mails doivent être entrés à l’aide de FP_SMTP_SET_MODE 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.

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

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)
  • 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.

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • 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.

sys_bIsCarry (passe à TRUE pendant un cycle)
  • Si l’instruction est exécutée pendant l’initialisation d’Ethernet, sys_iEthernetConnectionErrorCode est définie sur "11 : initialisation Ethernet en cours".

Exemple

En-tête du POU

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
		bEnable: BOOL:=FALSE;
		bError: BOOL:=FALSE;
		iID8: INT:=8;
	END_VAR

Corps du POU

Lorsque bEnable bascule de FALSE à TRUE, l’instruction est exécutée. Le transfert SMTP est activé pour l’unité Ethernet 8.

Corps en LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,R);
B(B_VARIN,,iID8,8,2,10,4,);
B(B_VARIN,,'ENABLE',8,3,10,5,);
B(B_VAROUT,,bError,26,2,28,4,);
B(B_F,FP_SMTP_TRANSFER_CONTROL!,,10,0,26,5,,?DEN?DnTransferID?DsControl?AENO?CbError);
L(1,2,4,2);
L(6,2,10,2);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

If DF(bEnable) Then   
    FP_SMTP_TRANSFER_CONTROL(nTransferID := iID8,
                             sControl := 'ENABLE',
                             bError => bError);
End_If;

Modifié le : 2024-04-25Commentaires sur cette pageAssistance téléphonique