Utilisation du bloc SEND_EMAIL pour la notification de messages électroniques
Traduction de la notice originale
Représentation de SEND_EMAIL
Pour envoyer un message électronique à partir de l'application (configurée via l'écran SMTP de Control Expert), utilisez le bloc fonction SEND_EMAIL. L'adresse à utiliser pour envoyer un message au service de messagerie électronique est : rack, emplacement, voie=3. La saisie de l'adresse dans le bloc fonction SEND_EMAIL requiert le nom du réseau (NetLink) censé envoyer le message électronique. Le tampon sendBuffer prend en charge les informations à transmettre (chaîne de caractères au format ASCII). Une sortie errCode de message électronique est définie.
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètres
Type de données
Description
ADR
ARRAY [0...7] OF INT
Utilisez le bloc fonction ADDM pour créer ce champ. Notez que ce service de message électronique est limité au port Ethernet intégré à l'UC. Si l'application envoie un message électronique à un module NOE, vous recevez un code d'erreur signalant une adresse de destination incorrecte.
HEAD_KEY
INT
Correspond aux adresses électroniques gérées avec le logiciel Control Expert (seules les versions 1, 2 et 3 sont acceptées).
SUBJ_STR
STRING
Représente la partie dynamique de l'objet du message électronique, qui est ajoutée à la fin de la chaîne d'objet statique.
BODY_STR
STRING
Représente le corps du message électronique.
Le tableau suivant décrit les paramètres d'entrée/sortie :
Paramètres
Type de données
Description
Management_Param
ARRAY [0...3] OF INT
Table de gestion des échanges, comprenant quatre mots (activité, rapport, timeout, longueur) utilisée pour contrôler les paramètres d'exécution.
Le paramètre de longueur (4e mot de la table de gestion) est un paramètre de sortie. Ce mot est écrit par le système et indique la longueur totale du message électronique (en-tête dynamique + corps). L'objet dynamique et le corps ont une taille maximale de 1 024 caractères. Si leur taille dépasse 1 024 caractères, un code d'erreur de longueur d'envoi incorrecte est généré.
Règles de SEND_EMAIL
Après le lancement d'un bloc fonction SEND_EMAIL, le bit d'activité est défini jusqu'à ce que le message électronique soit envoyé. La transmission du message à l'adresse de destination ne fait l'objet d'aucune confirmation. Si un timeout est programmé (troisième mot de gestion <> 0), le message électronique est annulé s’il n'a pas été envoyé avant l’expiration de ce délai. Dans ce cas, le deuxième mot de gestion reçoit un code d'erreur d'échange interrompu pour cause de timeout (0x01).
Vous pouvez envoyer quatre messages électroniques simultanément, en utilisant autant de blocs fonction. Si un cinquième bloc fonction tente d'envoyer un message électronique, il reçoit un code d'erreur signalant que le processeur n'a aucune ressource disponible (0x0B).
Exemple d'utilisation de SEND_EMAIL
Codes d'erreur locaux des EF de SEND_EMAIL
Code d'erreur (hex)
Description
16#00
Aucune erreur
16#01
Timeout
16#02
Annulation par l'utilisateur
16#03
Format d'adresse incorrect
16#04
Adresse de destination incorrecte
16#06
Paramètres incorrects du bloc fonction de communication
(par exemple, paramètre HEAD_KEY différent de 1, 2 ou 3)
16#07
Problème de transmission générique
16#09
Tampon de réception trop petit
16#0B
Aucune ressource système : le nombre d'EF de communication simultanées dépasse le nombre maximum autorisé par le processeur
16#0E
Longueur d'envoi incorrecte
NOTE : Les codes d'erreur locaux de l’EF SEND_EMAIL fournissent davantage d'informations que le diagnostic des voies Ethernet (dans l'écran Mise au point de Control Expert). Par exemple, lorsque le corps dépasse la taille autorisée, le message électronique est envoyé tronqué. En revanche, avec le diagnostic Ethernet, aucune erreur n'est signalée tant que l'EF affiche le code 16#0E.