FP_SMTP_TRANSFER_REQUEST

Requête de transfert SMTP

Cette instruction FP envoie une requête au client SMTP pour envoyer un e-mail et pour transférer des données tel que spécifié par nTransferID.

Paramètres

Entrée

nTransferID (WORD, INT, UINT)

Définir l’ID du client SMTP

Valeurs : 0–15

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

  • Cette instruction n’est pas disponible dans les programmes d’interruption.

  • 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 la variable système sys_bIsEthernetSMTPClientReady est TRUE. Si elle est FALSE pendant l’exécution de l’instruction, une erreur d’opération apparaît.

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

  • L’instruction ne peut être exécutée que lorsque sys_bIsEthernetCableNotConnected est FALSE.

  • L’instruction ne peut être exécutée que lorsque le drapeau de requête de transfert pour la configuration de transfert spécifiée est "FALSE : Pas de requête de transfert". Lorsque le drapeau de requête de transfert est "TRUE : Requête de transfert", une erreur d’opération 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.

  • 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 la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.

  • Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.

  • Si l’instruction est exécutée dans un programme d’interruption.

  • Si la variable système sys_bIsEthernetSMTPClientReady est FALSE lorsque l’instruction est exécutée.

  • Si le drapeau de requête d’envoi d’e-mails pour la configuration de transfert spécifiée est "TRUE : Requête de transfert".

  • 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 l’envoi d’e-mails est désactivé, c.-à-d. si l’identifiant bIsTransmissionBlocked de FP_CLIENT_STATUS_DUT est TRUE.

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.

  • Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.

  • Si l’instruction est exécutée dans un programme d’interruption.

  • Si la variable système sys_bIsEthernetSMTPClientReady est FALSE lorsque l’instruction est exécutée.

  • Si le drapeau de requête d’envoi d’e-mails pour la configuration de transfert spécifiée est "TRUE : Requête de transfert".

  • 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 l’envoi d’e-mails est désactivé, c.-à-d. si l’identifiant bIsTransmissionBlocked de FP_CLIENT_STATUS_DUT est TRUE.

sys_bIsCarry (passe à TRUE pendant un cycle)
  • Si l’instruction est exécutée alors que le câble Ethernet est déconnecté. sys_iEthernetConnectionErrorCode est définie sur "10 : câble Ethernet déconnecté".

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

Corps du POU

Lorsque bTransferRequest passe de FALSE à TRUE et lorsque la variable système sys_bIsEthernetSMTPClientReady est TRUE, l’instruction est exécutée. Une requête de transfert SMTP est envoyée pour l’unité Ethernet 10.

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 := 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

Corps en ST

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

Modifié le : 2024-03-07Commentaires sur cette pageAssistance téléphonique