Définir le mode de transfert SMTP pour les fichiers d’enregistrement des données
Cette instruction FP définit les paramètres de transfert d’e-mail du client SMTP lorsqu’un fichier d’enregistrement des données est terminé.
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'
Définir le numéro du groupe de destination et l’objet de l’e-mail.
Définir jusqu’à huit numéros de groupes de destination avec la syntaxe de mot-clé 'GRPNO=n1+n2+…+n8'
Valeurs : 0–7
Définir l’objet avec l’un des mots-clés suivants (64 caractères max., 1 octet) :
'SUBJECT=xxxxxx'
: Définit le texte de l’objet défini par l’utilisateur.
'SUBJECTAUTO'
: Objet généré automatiquement contenant des informations sur le type de déclenchement de l’envoi.
Objets générés automatiquement :
Japonais |
Anglais |
---|---|
ロギング/トレース (LOG0) |
Logging/Trace (LOG0) |
ロギング/トレース (LOG1) |
Logging/Trace (LOG1) |
... |
... |
ロギング/トレース (LOG14) |
Logging/Trace (LOG14) |
ロギング/トレース (LOG15) |
Logging/Trace (LOG15) |
Nota :
La langue utilisée pour les informations générées automatiquement est spécifiée avec l’instruction FP_SMTP_SET_CONNECTION. Utilisez le paramètre sCommunication pour changer la langue et passer du japonais (défaut) à l’anglais.
Les mots-clés 'GRPNO'
et 'SUBJECT'
doivent être séparés par des virgules et entrés dans cet ordre.
Exemples :
Numéro du groupe de destination 0, objet défini par l’utilisateur "LogFileTransmission" : 'GRPNO=0,SUBJECT=LogFileTransmission'
Numéros des groupes de destination 1, 3, 4, 7, objet défini par l’utilisateur "LogFilesGroups" : 'GRPNO=1+3+4+7,SUBJECT=LogFilesGroups'
Numéros des groupes de destination 0 à 7, objet généré automatiquement : 'GRPNO=0+1+2+3+4+5+6+7,SUBJECTAUTO'
Message (256 caractères max., 1 octet)
Spécifier la variable qui sauvegarde le texte d’e-mail ou la constante de caractères
Spécifier si des informations supplémentaires ou une pièce jointe doivent être envoyées.
Inclure des informations supplémentaires dans le texte d’e-mail avec un des mots-clés suivants :
'INFO=NONE'
: Ne pas ajouter d’informations supplémentaires automatiquement.
'INFO=AUTO'
: Ajouter un texte généré automatiquement.
Les informations suivantes sont ajoutées au texte d’e-mail :
Japonais |
Anglais |
---|---|
基本項目
|
Basic information
|
Nota :
La langue utilisée pour les informations générées automatiquement est spécifiée avec l’instruction FP_SMTP_SET_CONNECTION. Utilisez le paramètre sCommunication pour changer la langue et passer du japonais (défaut) à l’anglais.
Pour générer la chaîne de caractères sAttachment, vous pouvez utiliser également FP_SMTP_GET_DATA_FORMAT.
Ajouter le fichier d’enregistrement des données (fichier LOG) avec les mots-clés suivants :
'ATT=NONE'
: Ne pas ajouter de fichier LOG à l’e-mail.
'ATT=FILE'
: Ajouter un fichier LOG avec le numéro spécifié par nLogID.
Exemples :
Ne pas ajouter d’informations, ne pas ajouter de fichier LOG en pièce jointe : 'INFO=NONE,ATT=NONE'
Ajouter des informations générées automatiquement, ajouter un fichier LOG en pièce jointe : 'INFO=ADD,ATT=FILE'
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 paramètres pour la génération automatique de textes et l’ajout de pièces jointes ne peuvent pas être omis.
Les mots-clés doivent être séparés par une virgule, par ex. 'NAME=abcd,FROM=sender@server.com'
L’ordre des mots-clés ne doit pas être modifié. Spécifiez les mots-clés et leurs paramètres dans l’ordre indiqué ici.
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.
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, les paramètres de groupes et d’e-mails d’événements doivent être entrés à l’aide de FP_SMTP_SET_GROUP ou de la boîte de dialogue de paramétrage du client SMTP.
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, 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.
L’instruction ne peut être exécutée que lorsque le drapeau de requête de transfert pour 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.
L’instruction sauvegarde les paramètres d’e-mail pour l’enregistrement des données de sGroupNumber_Subject, sBodyText et sAttachment dans le fichier LOG spécifié par nLogID.
Lorsqu’une erreur apparaît, utilisez la variable système sys_iEthernetConnectionErrorCode pour connaître le numéro de code d’erreur.
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 les conditions d’enregistrement des données d’un numéro nLogID spécifié ne sont pas enregistré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 le nombre de caractères des données STRING est supérieur à 256.
Si un numéro de groupe de destination n’a pas été spécifié avec l’instruction FP_SMTP_SET_GROUP ou avec la boîte de dialogue de paramétrage du client SMTP.
S’il n’y a pas de serveur d’envoi d’e-mails spécifié.
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 le drapeau de requête de transfert pour un numéro nLogID spécifié est TRUE, par ex. si sys_blsLog0DataRecordingActive est TRUE.
Si les conditions d’enregistrement des données d’un numéro nLogID spécifié ne sont pas enregistré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 le nombre de caractères des données STRING est supérieur à 256.
Si un numéro de groupe de destination n’a pas été spécifié avec l’instruction FP_SMTP_SET_GROUP ou avec la boîte de dialogue de paramétrage du client SMTP.
S’il n’y a pas de serveur d’envoi d’e-mails spécifié.
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 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;