Définir le groupe de destination
Cette instruction FP définit le groupe de destination.
Entrée
Définir le numéro du groupe de destination.
Valeurs : 0–7
Exemple : 'GRPNO=3'
spécifie le groupe 3 en tant que groupe de destination.
Définir le nom du groupe de destination (64 caractères max.).
Exemple : 'GRPNAME=Group3'
définit "Group3" comme nom de groupe de destination.
Définir l’adresse e-mail d’un élément appartenant à un groupe de destination (256 caractères max.). Une adresse e-mail peut être spécifiée avec un nom d’hôte ou un nom d’hôte + un nom de domaine. Si vous omettez le nom de domaine ici, vous devez le préciser avec sEMailDomain.
Exemples :
'TO=user@support.com'
définit "user@support.com" en tant qu’adresse e-mail de destination. Si le nom de domaine est inclus ici, vous n’avez pas besoin de définir un nom de domaine avec sEMailDomain.
'TO=user'
et 'DOMAIN=support.com'
définissent "user@support.com" en tant qu’adresse e-mail de destination.
'TO=user@support.com,admin@helpcenter.com'
définit deux adresses e-mail et deux domaines différents : "user@support.com" et "admin@helpcenter.com".
Définir le nom de domaine (32 caractères max.). Un seul nom de domaine peut être spécifié.
Définir un nom de domaine vous permet d’omettre le nom de domaine dans sEMailAddresses, ce qui est pratique si vous souhaitez définir plusieurs adresses e-mails.
Exemples :
'TO=user,admin,groupowner'
et 'DOMAIN=support.com'
définissent plusieurs adresses e-mails : "user@support.com", "admin@support.com" et "groupowner@support.com".
'TO=user@support.com,admin,groupowner'
et 'DOMAIN=helpcenter.com'
spécifient plusieurs adresses e-mails dans des domaines différents : "user@support.com", "admin@helpcenter.com" et "groupowner@helpcenter.com".
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.
Les mots-clés doivent être séparés par une virgule, par ex. 'NAME=abcd,FROM=sender@server.com'
Le nombre de caractères des données STRING ne doit pas être supérieur à 256.
Cette instruction n’est pas disponible dans les programmes d’interruption.
Des lettres majuscules et minuscules peuvent être utilisées pour spécifier les mots-clés. Cependant, l’objet, le texte d’e-mail et le nom du fichier joint sont sensibles à la casse.
Avant d’exécuter l’instruction, le serveur d’envoi d’e-mails doit être indiqué à l’aide de FP_SMTP_SET_CONNECTION 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.
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 ou le numéro nLogID spécifié est FALSE. Lorsque le drapeau de requête de transfert est TRUE, 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.
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 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 le drapeau de requête de transfert pour un numéro nLogID spécifié est TRUE, par ex. si sys_blsLog0DataRecordingActive est TRUE.
Si un serveur d’envoi d’e-mail spécifié n’a pas été configuré avec l’instruction FP_SMTP_SET_CONNECTION ou avec la boîte de dialogue de paramétrage du client SMTP.
Si aucun nom de domaine n’a été défini avec sEMailDomain et si l’adresse e-mail définie avec sEMailAddresses est spécifiée sans nom de domaine.
Si le nombre de caractères des données STRING est supérieur à 256.
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 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 le drapeau de requête de transfert pour un numéro nLogID spécifié est TRUE, par ex. si sys_blsLog0DataRecordingActive est TRUE.
Si un serveur d’envoi d’e-mail spécifié n’a pas été configuré avec l’instruction FP_SMTP_SET_CONNECTION ou avec la boîte de dialogue de paramétrage du client SMTP.
Si aucun nom de domaine n’a été défini avec sEMailDomain et si l’adresse e-mail définie avec sEMailAddresses est spécifiée sans nom de domaine.
Si le nombre de caractères des données STRING est supérieur à 256.
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
bSetGroup: BOOL:=FALSE;
bError: BOOL:=FALSE;
END_VAR
Lorsque bSetGroup passe de FALSE à TRUE et lorsque sys_bIsEthernetInitializing est FALSE, 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 := 10 ;
NETWORK_BODY
B(B_CONTACT,,bSetGroup,4,1,6,3,R);
B(B_CONTACT,,sys_bIsEthernetInitializing,12,1,14,3,N);
B(B_VARIN,,'GRPNO=0',16,5,18,7,);
B(B_VARIN,,'GRPNAME=Grp0',16,6,18,8,);
B(B_VARIN,,'TO=user@support.com',16,7,18,9,);
B(B_VARIN,,'DOMAIN=',16,8,18,10,);
B(B_VAROUT,,bError,30,5,32,7,);
B(B_F,FP_SMTP_SET_GROUP!,,18,3,30,10,,?DEN?DsGroupNumber?DsGroupName?DsEMailAddresses?DsEMailDomain?AENO?CbError);
L(1,2,4,2);
L(6,2,12,2);
L(14,2,14,5);
L(14,5,18,5);
L(1,0,1,10);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bSetGroup) AND NOT sys_bIsEthernetInitializing then
FP_SMTP_SET_GROUP(sGroupNumber := 'GRPNO=0',
sGroupName := 'GRPNAME=Grp0',
sEMailAddresses := 'TO=user@support.com',
sEMailDomain := 'DOMAIN=',
bError => bError);
End_if;