Schneider Electric SoMachine - EMailHandling Mode d'emploi

Ajouter à Mes manuels
78 Des pages
Schneider Electric SoMachine - EMailHandling Mode d'emploi | Fixfr
SoMachine
EIO0000002424 06/2017
SoMachine
EMailHandling
Guide de la bibliothèque
EIO0000002424.01
06/2017
www.schneider-electric.com
Le présent document comprend des descriptions générales et/ou des caractéristiques techniques
des produits mentionnés. Il ne peut pas être utilisé pour définir ou déterminer l'adéquation ou la
fiabilité de ces produits pour des applications utilisateur spécifiques. Il incombe à chaque utilisateur
ou intégrateur de réaliser l'analyse de risques complète et appropriée, l'évaluation et le test des
produits pour ce qui est de l'application à utiliser et de l'exécution de cette application. Ni la société
Schneider Electric ni aucune de ses sociétés affiliées ou filiales ne peuvent être tenues pour
responsables de la mauvaise utilisation des informations contenues dans le présent document. Si
vous avez des suggestions, des améliorations ou des corrections à apporter à cette publication,
veuillez nous en informer.
Vous acceptez de ne pas reproduire, excepté pour votre propre usage à titre non commercial, tout
ou partie de ce document et sur quelque support que ce soit sans l'accord écrit de Schneider
Electric. Vous acceptez également de ne pas créer de liens hypertextes vers ce document ou son
contenu. Schneider Electric ne concède aucun droit ni licence pour l'utilisation personnelle et non
commerciale du document ou de son contenu, sinon une licence non exclusive pour une
consultation « en l'état », à vos propres risques. Tous les autres droits sont réservés.
Toutes les réglementations locales, régionales et nationales pertinentes doivent être respectées
lors de l'installation et de l'utilisation de ce produit. Pour des raisons de sécurité et afin de garantir
la conformité aux données système documentées, seul le fabricant est habilité à effectuer des
réparations sur les composants.
Lorsque des équipements sont utilisés pour des applications présentant des exigences techniques
de sécurité, suivez les instructions appropriées.
La non-utilisation du logiciel Schneider Electric ou d'un logiciel approuvé avec nos produits
matériels peut entraîner des blessures, des dommages ou un fonctionnement incorrect.
Le non-respect de cette consigne peut entraîner des lésions corporelles ou des dommages
matériels.
© 2017 Schneider Electric. Tous droits réservés.
2
EIO0000002424 06/2017
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . .
Partie I Informations générales . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Informations spécifiques de sécurité . . . . . . . . . . . . . . .
Qualification du Personnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Informations relatives au produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 2 Présentation de la bibliothèque . . . . . . . . . . . . . . . . . . .
Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie II Énumérations et Structures . . . . . . . . . . . . . . . . . . .
Chapitre 3 Énumérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_AuthenticationMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_EMailStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 4 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_CredentialsSendEMail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_CredentialsReceiveEMail. . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_EMail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie III Variables globales . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5 Liste des paramètres globaux. . . . . . . . . . . . . . . . . . . . .
Liste des paramètres globaux (GPL) . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie IV Unités d'organisation de programme (POU) . . . . . . .
Chapitre 6 Blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FB_SendEMail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FB_Pop3EMailClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 7 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FC_EtResultToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Annexes
EIO0000002424 06/2017
.........................................
5
9
11
13
14
14
15
19
19
23
25
26
27
28
30
31
32
37
38
39
41
43
45
45
47
49
50
53
59
59
61
3
Annexe A Représentation des fonctions et blocs fonction . . . . . . . .
Différences entre une fonction et un bloc fonction . . . . . . . . . . . . . . . .
Utilisation d'une fonction ou d'un bloc fonction en langage IL . . . . . . .
Utilisation d'une fonction ou d'un bloc fonction en langage ST . . . . . .
Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
63
64
65
69
73
77
EIO0000002424 06/2017
Consignes de sécurité
Informations importantes
AVIS
Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l'appareil
avant de tenter de l'installer, de le faire fonctionner, de le réparer ou d'assurer sa maintenance.
Les messages spéciaux suivants que vous trouverez dans cette documentation ou sur l'appareil
ont pour but de vous mettre en garde contre des risques potentiels ou d'attirer votre attention sur
des informations qui clarifient ou simplifient une procédure.
EIO0000002424 06/2017
5
REMARQUE IMPORTANTE
L'installation, l'utilisation, la réparation et la maintenance des équipements électriques doivent être
assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité
quant aux conséquences de l'utilisation de ce matériel.
Une personne qualifiée est une personne disposant de compétences et de connaissances dans le
domaine de la construction, du fonctionnement et de l'installation des équipements électriques, et
ayant suivi une formation en sécurité leur permettant d'identifier et d'éviter les risques encourus.
AVANT DE COMMENCER
N'utilisez pas ce produit sur les machines non pourvues de protection efficace du point de fonctionnement. L'absence de ce type de protection sur une machine présente un risque de blessures
graves pour l'opérateur.
AVERTISSEMENT
EQUIPEMENT NON PROTEGE


N'utilisez pas ce logiciel ni les automatismes associés sur des appareils non équipés de
protection du point de fonctionnement.
N'accédez pas aux machines pendant leur fonctionnement.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Cet automatisme et le logiciel associé permettent de commander des processus industriels divers.
Le type ou le modèle d'automatisme approprié pour chaque application dépendra de facteurs tels
que la fonction de commande requise, le degré de protection exigé, les méthodes de production,
des conditions inhabituelles, la législation, etc. Dans certaines applications, plusieurs processeurs
seront nécessaires, notamment lorsque la redondance de sauvegarde est requise.
Vous seul, en tant que constructeur de machine ou intégrateur de système, pouvez connaître
toutes les conditions et facteurs présents lors de la configuration, de l'exploitation et de la
maintenance de la machine, et êtes donc en mesure de déterminer les équipements automatisés,
ainsi que les sécurités et verrouillages associés qui peuvent être utilisés correctement. Lors du
choix de l'automatisme et du système de commande, ainsi que du logiciel associé pour une
application particulière, vous devez respecter les normes et réglementations locales et nationales
en vigueur. Le document National Safety Council's Accident Prevention Manual (reconnu aux
Etats-Unis) fournit également de nombreuses informations utiles.
Dans certaines applications, telles que les machines d'emballage, une protection supplémentaire,
comme celle du point de fonctionnement, doit être fournie pour l'opérateur. Elle est nécessaire si
les mains ou d'autres parties du corps de l'opérateur peuvent entrer dans la zone de point de
pincement ou d'autres zones dangereuses, risquant ainsi de provoquer des blessures graves. Les
produits logiciels seuls, ne peuvent en aucun cas protéger les opérateurs contre d'éventuelles
blessures. C'est pourquoi le logiciel ne doit pas remplacer la protection de point de fonctionnement
ou s'y substituer.
6
EIO0000002424 06/2017
Avant de mettre l'équipement en service, assurez-vous que les dispositifs de sécurité et de
verrouillage mécaniques et/ou électriques appropriés liés à la protection du point de fonctionnement ont été installés et sont opérationnels. Tous les dispositifs de sécurité et de verrouillage
liés à la protection du point de fonctionnement doivent être coordonnés avec la programmation des
équipements et logiciels d'automatisation associés.
NOTE : La coordination des dispositifs de sécurité et de verrouillage mécaniques/électriques du
point de fonctionnement n'entre pas dans le cadre de cette bibliothèque de blocs fonction, du
Guide utilisateur système ou de toute autre mise en œuvre référencée dans la documentation.
DEMARRAGE ET TEST
Avant toute utilisation de l'équipement de commande électrique et des automatismes en vue d'un
fonctionnement normal après installation, un technicien qualifié doit procéder à un test de
démarrage afin de vérifier que l'équipement fonctionne correctement. Il est essentiel de planifier
une telle vérification et d'accorder suffisamment de temps pour la réalisation de ce test dans sa
totalité.
AVERTISSEMENT
RISQUES INHERENTS AU FONCTIONNEMENT DE L'EQUIPEMENT



Assurez-vous que toutes les procédures d'installation et de configuration ont été respectées.
Avant de réaliser les tests de fonctionnement, retirez tous les blocs ou autres cales
temporaires utilisés pour le transport de tous les dispositifs composant le système.
Enlevez les outils, les instruments de mesure et les débris éventuels présents sur
l'équipement.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Effectuez tous les tests de démarrage recommandés dans la documentation de l'équipement.
Conservez toute la documentation de l'équipement pour référence ultérieure.
Les tests logiciels doivent être réalisés à la fois en environnement simulé et réel.
Vérifiez que le système entier est exempt de tout court-circuit et mise à la terre temporaire non
installée conformément aux réglementations locales (conformément au National Electrical Code
des Etats-Unis, par exemple). Si des tests diélectriques sont nécessaires, suivez les recommandations figurant dans la documentation de l'équipement afin d'éviter de l'endommager
accidentellement.
Avant de mettre l'équipement sous tension :
 Enlevez les outils, les instruments de mesure et les débris éventuels présents sur l'équipement.
 Fermez le capot du boîtier de l'équipement.
 Retirez toutes les mises à la terre temporaires des câbles d'alimentation entrants.
 Effectuez tous les tests de démarrage recommandés par le fabricant.
EIO0000002424 06/2017
7
FONCTIONNEMENT ET REGLAGES
Les précautions suivantes sont extraites du document NEMA Standards Publication ICS 7.1-1995
(la version anglaise prévaut) :
 Malgré le soin apporté à la conception et à la fabrication de l'équipement ou au choix et à
l'évaluation des composants, des risques subsistent en cas d'utilisation inappropriée de
l'équipement.
 Il arrive parfois que l'équipement soit déréglé accidentellement, entraînant ainsi un fonctionnement non satisfaisant ou non sécurisé. Respectez toujours les instructions du fabricant pour
effectuer les réglages fonctionnels. Les personnes ayant accès à ces réglages doivent
connaître les instructions du fabricant de l'équipement et les machines utilisées avec
l'équipement électrique.
 Seuls ces réglages fonctionnels, requis par l'opérateur, doivent lui être accessibles. L'accès aux
autres commandes doit être limité afin d'empêcher les changements non autorisés des
caractéristiques de fonctionnement.
8
EIO0000002424 06/2017
A propos de ce manuel
Présentation
Objectif du document
Ce document décrit la bibliothèque EmailHandling.
Cette bibliothèque permet à votre contrôleur d'envoyer des e-mails avec pièces-jointes à un ou
plusieurs destinataires en personnalisant le contenu, et de recevoir des e-mails d'un ou plusieurs
expéditeurs.
La bibliothèque EmailHandling utilise des fonctions et des ressources système qui sont prises en
charge sur certaines plates-formes de contrôleur :
Modicon M241 Logic Controller
Modicon M251 Logic Controller
Modicon M258 Logic Controller
Modicon LMC078 Motion Controller
Modicon LMC058 Motion Controller





Champ d'application
Ce document a été actualisé pour le lancement de SoMachine V4.3.
Les caractéristiques techniques des équipements décrits dans ce document sont également
fournies en ligne. Pour accéder à ces informations en ligne :
Etape
Action
1
Accédez à la page d'accueil de Schneider Electric www.schneider-electric.com.
2
Dans la zone Search, saisissez la référence d'un produit ou le nom d'une gamme de produits.
 N'insérez pas d'espaces dans la référence ou la gamme de produits.
 Pour obtenir des informations sur un ensemble de modules similaires, utilisez des
astérisques (*).
3
Si vous avez saisi une référence, accédez aux résultats de recherche Product Datasheets et
cliquez sur la référence qui vous intéresse.
Si vous avez saisi une gamme de produits, accédez aux résultats de recherche Product Ranges
et cliquez sur la gamme de produits qui vous intéresse.
4
Si plusieurs références s'affichent dans les résultats de recherche Products, cliquez sur la
référence qui vous intéresse.
5
Selon la taille de l'écran, vous serez peut-être amené à faire défiler la page pour consulter la fiche
technique.
6
Pour enregistrer ou imprimer une fiche technique au format .pdf, cliquez sur Download XXX
product datasheet.
EIO0000002424 06/2017
9
Les caractéristiques présentées dans ce manuel devraient être identiques à celles fournies en
ligne. Toutefois, en application de notre politique d'amélioration continue, nous pouvons être
amenés à réviser le contenu du document afin de le rendre plus clair et plus précis. Si vous
constatez une différence entre le manuel et les informations fournies en ligne, utilisez ces
dernières en priorité.
Documents à consulter
Titre du document
Référence
SoMachine - Fonctions et bibliothèques - Guide de
l'utilisateur
EIO0000000735 (ENG) ;
EIO0000000792 (FRE) ;
EIO0000000793 (GER) ;
EIO0000000795 (SPA) ;
EIO0000000794 (ITA) ;
EIO0000000796 (CHS)
SoMachine - Guide de programmation
EIO0000000067 (ENG) ;
EIO0000000069 (FRE) ;
EIO0000000068 (GER) ;
EIO0000000071 (SPA) ;
EIO0000000070 (ITA) ;
EIO0000000072 (CHS)
Vous pouvez télécharger ces publications ainsi que d'autres informations techniques sur notre site
Web : http://www.schneider-electric.com/en/download.
10
EIO0000002424 06/2017
SoMachine
Informations générales
EIO0000002424 06/2017
Partie I
Informations générales
Informations générales
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
1
Informations spécifiques de sécurité
13
2
Présentation de la bibliothèque
19
EIO0000002424 06/2017
11
Informations générales
12
EIO0000002424 06/2017
SoMachine
Informations spécifiques de sécurité
EIO0000002424 06/2017
Chapitre 1
Informations spécifiques de sécurité
Informations spécifiques de sécurité
Présentation
Cette rubrique contient les informations permettant de travailler avec la bibliothèque
EmailHandling. Le personnel amené à travailler avec la bibliothèque EmailHandling doit lire et
observer ces informations .
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Qualification du Personnel
14
Instructions d'utilisation
14
Informations relatives au produit
15
EIO0000002424 06/2017
13
Informations spécifiques de sécurité
Qualification du Personnel
Présentation
L’installation, l’utilisation, la réparation et la maintenance des équipements électriques doivent être
assurées par du personnel qualifié uniquement.
Schneider Electric décline toute responsabilité quant aux conséquences de l’utilisation de ce
matériel.
Une personne qualifiée est une personne disposant de compétences et de connaissances dans le
domaine de la construction et du fonctionnement des équipements électriques et installations et
ayant bénéficié d'une formation de sécurité afin de reconnaître et d’éviter les risques encourus.
La personne qualifiée doit être capable de détecter d'éventuels dangers qui pourraient découler
du paramétrage, de modifications des valeurs de paramétrage et plus généralement des
équipements mécaniques, électriques ou électroniques. La personne qualifiée doit connaître les
normes, dispositions et régulations liées à la prévention des accidents de travail, et doit les
observer lors de la conception et de l'implémentation du système.
Instructions d'utilisation
Présentation
Ce produit est une bibliothèque à utiliser avec un système de commande et des servoamplificateurs. La bibliothèque est exclusivement réservée à l'utilisation décrite dans la présente
documentation, appliquée au secteur de l'automatisme industriel.
Observez en permanence les instructions applicables liées à la sécurité, les conditions spécifiques
et les données techniques.
Réalisez une analyse des risques en rapport avec l'utilisation spécifique avant d'utiliser ce produit.
Prenez les mesures de sécurité qui découlent des résultats.
Étant donné que ce produit est utilisé au sein d'un système qui l'englobe, vous devez vous assurer
de la sécurité du personnel par le biais du concept de ce système global (le concept de machine,
par exemple).
Aucune autre utilisation n'est prévue. Toute autre utilisation pourrait être dangereuse.
L’installation, l’utilisation, la réparation et la maintenance des appareils et équipements électriques
doivent être assurées par du personnel qualifié uniquement.
14
EIO0000002424 06/2017
Informations spécifiques de sécurité
Informations relatives au produit
Informations relatives au produit
AVERTISSEMENT
PERTE DE CONTROLE





Le concepteur d'un système de commande doit envisager les modes de défaillance possibles
des chemins de commande et, pour certaines fonctions de commande critiques, prévoir un
moyen d'atteindre un état sécurisé en cas de défaillance d'un chemin, et après cette
défaillance. Par exemple, l'arrêt d'urgence, l'arrêt en cas de surcourse, la coupure de courant
et le redémarrage sont des fonctions de commande cruciales.
Des canaux de commande séparés ou redondants doivent être prévus pour les fonctions de
commande critiques.
Les chemins de commande système peuvent inclure les liaisons de communication. Soyez
particulièrement attentif aux implications des retards de transmission imprévus ou des pannes
de liaison.
Respectez toutes les réglementations de prévention des accidents ainsi que les consignes de
sécurité locales.1
Chaque implémentation de cet équipement doit être testée individuellement et entièrement
pour s'assurer du fonctionnement correct avant la mise en service.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
1
Pour plus d'informations, consultez le document NEMA ICS 1.1 (dernière édition), « Safety
Guidelines for the Application, Installation, and Maintenance of Solid State Control » (Directives de
sécurité pour l'application, l'installation et la maintenance de commande statique) et le document
NEMA ICS 7.1 (dernière édition), « Safety Standards for Construction and Guide for Selection,
Installation, and Operation of Adjustable-Speed Drive Systems » (Normes de sécurité relatives à
la construction et manuel de sélection, installation et opération de variateurs de vitesse) ou son
équivalent en vigueur dans votre pays.
Avant de tenter de fournir une solution (machine ou processus) pour une application spécifique en
utilisant les POU trouvés dans la bibliothèque, vous devez tenir compte de la réalisation et de
l'exécution des bonnes pratiques. La liste non exhaustive de ces pratiques liées à cette
bibliothèque inclut l'analyse des risques, la sécurité fonctionnelle, la compatibilité des composants,
les tests et la validation du système.
EIO0000002424 06/2017
15
Informations spécifiques de sécurité
AVERTISSEMENT
MAUVAISE UTILISATION DES POU






Effectuez une analyse de la sécurité de l'application et des appareils installés.
Assurez-vous que les POU sont compatibles avec les appareils du système et n'ont pas
d'effets inattendus sur le bon fonctionnement du système.
Utilisez les paramètres appropriés, notamment les valeurs limites, et observez l'usure de la
machine et son comportement à l'arrêt.
Vérifiez que les capteurs et déclencheurs sont compatibles avec les POU sélectionnés.
Testez de manière approfondie toutes les fonctions durant la vérification et la mise en service
dans tous les modes de fonctionnement.
Indiquez des méthodes indépendantes pour les fonctions de commande critiques (arrêt
d'urgence, conditions de dépassement des valeurs limites, etc.) en fonction d'une analyse de
la sécurité, des règles correspondantes et des réglementations.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L’EQUIPEMENT


N'utilisez que le logiciel approuvé par Schneider Electric pour faire fonctionner cet
équipement.
Mettez à jour votre programme d'application chaque fois que vous modifiez la configuration
matérielle physique.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Les transferts incomplets, qu'il s'agisse de fichiers de données, d'application et/ou de micrologiciel,
peuvent avoir des conséquences graves sur votre machine ou votre contrôleur. En cas coupure
de courant (volontaire ou non) ou d'interruption de la communication pendant un transfert de
fichier, votre machine peut devenir inopérante ou votre application peut tenter d'utiliser un fichier
de données endommagé. Si une interruption survient, relancez le transfert. Veillez à inclure
l'impact des fichiers de données endommagés dans votre analyse des risques.
16
EIO0000002424 06/2017
Informations spécifiques de sécurité
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L'EQUIPEMENT, PERTE DE DONNEES OU FICHIER
ENDOMMAGE



N'interrompez pas un transfert de données en cours.
Si le transfert est interrompu pour une raison quelconque, relancez-le.
Ne mettez pas votre machine en service tant que le transfert de fichier n'est pas terminé, sauf
si vous avez pris en compte les fichiers endommagés dans votre analyse des risques et si
vous avez mis en place des mesures appropriées pour prévenir les conséquences potentiellement graves dues à des échecs de transfert.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
L'utilisation de cette bibliothèque comme outil de contrôle d'une machine nécessite une attention
et des dispositions particulières afin d'éviter des conséquences involontaires dues à l'exploitation
de la machine commandée, à des changements d'état ou à l'altération de la mémoire de données
ou des éléments de fonctionnement de la machine.
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L’EQUIPEMENT




Placez les instruments de l'opérateur du système de commande près de la machine ou à un
endroit qui permet d'avoir une vision parfaite de la machine.
Protégez les commandes opérateur contre tout accès non autorisé.
Si le contrôle à distance est une caractéristique nécessaire de l'application, veillez à ce qu'une
personne qualifiée et compétente soit présente sur place pour surveiller le fonctionnement
contrôlé à distance.
Configurez et installez l'entrée Run/Stop (si elle est présente) ou un autre moyen externe dans
l'application, afin que le contrôle local du démarrage ou de l'arrêt de l'équipement puisse être
maintenu indépendamment des commandes envoyées à distance à l'équipement.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EIO0000002424 06/2017
17
Informations spécifiques de sécurité
AVERTISSEMENT
FONCTIONNEMENT INATTENDU DE L'EQUIPEMENT
Ne mettez pas en service un fichier de programme d'application (fichier de réception, fichier de
commandes numériques, micrologiciel) reçu en pièce-jointe d'un e-mail sans l'avoir testé
minutieusement pour en vérifier la bonne exécution.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
18
EIO0000002424 06/2017
SoMachine
Description
EIO0000002424 06/2017
Chapitre 2
Présentation de la bibliothèque
Présentation de la bibliothèque
Informations générales
Introduction
Cette bibliothèque EmailHandling fournit des fonctions de client de messagerie, permettant à votre
contrôleur d'envoyer des e-mails au contenu personnalisable à un ou plusieurs destinataires. Le
protocole utilisé pour le trafic des e-mails est TCP (standard). Il est possible de recevoir ou
supprimer des e-mails d'un serveur en utilisant le protocole POP3 (Post Office Protocol 3).
Vous pouvez connecter votre contrôleur à un serveur de messagerie pour envoyer des e-mails
concernant l'état de votre machine ou un rapport sur les principaux indicateurs de performance.
1
2
3
Contrôleur
Serveur de messagerie
Destinataires/Expéditeur
Le tableau suivant indique les caractéristiques de la bibliothèque :
Caractéristique
Valeur
Titre de la bibliothèque
EmailHandling
Société
Schneider Electric
Catégorie
Communication
Composant
Suite de protocoles Internet
Espace de noms par défaut
SE_EMail
Attribut du modèle de langage
qualified-access-only (voir SoMachine, Fonctions et
Bibliothèque post-compatible
Oui (FCL)
EIO0000002424 06/2017
bibliothèques - Guide de l'utilisateur)
19
Description
NOTE : Cette bibliothèque est paramétrée en qualified-access-only. Cela signifie que l'on ne peut
accéder aux POU, aux structures de données, aux énumérations, et aux constantes qu'en utilisant
l'espace de nom de la bibliothèque. L'espace de noms par défaut de la bibliothèque est SE_EMail.
Éléments généraux à prendre en compte
Prenez en compte les limites suivantes pour le transfert d'e-mails :
 Seuls les symboles ASCII sont pris en charge.
 Seules les adresses IPv4 sont prises en charge.
 La bibliothèque EmailHandling intègre des pointeurs sur les adresses.
 La fonction d'accusé de réception n'est pas pris en charge.
 L'envoi ou la réception de fichiers par e-mail engendre la perte des attributs des fichiers.
 Si l'adresse d'un destinataire n'existe pas, la configuration du serveur détermine si un e-mail de
retour est créé ou si FB_SendEMail peut créer un message de diagnostic.
 L'archivage des e-mails (éléments envoyés et reçus) doit être effectué dans le programme
d'application. Le stockage automatique du trafic e-mail sur le système de fichiers du contrôleur
n'est pas implémenté car les e-mails sont principalement gérés dans la mémoire RAM (Random
Access Memory) du contrôleur.
L'exécution de la commande Changement en ligne peut modifier le contenu des adresses.
ATTENTION
POINTEUR INCORRECT
Vérifiez la validité des pointeurs lors de leur utilisation sur les adresses et de l'exécution de la
commande Changement en ligne.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
La bibliothèque décrite dans ce document utilise la bibliothèque TcpUdpCommunication en
interne.
Les bibliothèques TcpUdpCommunication (Schneider Electric) et CAA Net Base Services (CAA
Technical Workgroup) utilisent les mêmes ressources système sur le contrôleur. Leur utilisation
simultanée dans la même application peut perturber le fonctionnement du contrôleur.
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L’EQUIPEMENT
N'utilisez pas la bibliothèque TcpUdpCommunication (Schneider Electric) avec la
bibliothèque CAA Net Base Services (CAA Technical Workgroup) simultanément dans la même
application.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
20
EIO0000002424 06/2017
Description
Éléments à prendre en compte concernant la cybersécurité
Les fonctions de cette bibliothèque ne prennent pas en charge les connexions sécurisées de
type TLS (Transport Layer Security) ou SSL (Secure Socket Layer). Comme les e-mails ne sont
pas chiffrés, cette communication requiert un serveur de messagerie spécifique. La
communication ne peut s'effectuer qu'au sein de votre réseau industriel, isolé des autres réseaux
de votre entreprise et protégé d'Internet.
NOTE : Schneider Electric respecte les bonnes pratiques de l'industrie, en vigueur dans le
développement et la mise en œuvre des systèmes de contrôle. Cette approche, dite de « défense
en profondeur », permet de sécuriser les systèmes de contrôle industriels. Elle place les
contrôleurs derrière des pare-feu pour restreindre leur accès aux seuls personnels et protocoles
autorisés.
AVERTISSEMENT
ACCES NON AUTHENTIFIE ET EXPLOITATION PAR CONSEQUENT NON AUTORISEE DES
MACHINES







Estimez si votre environnement ou vos machines sont connecté(e)s à votre infrastructure
vitale et, le cas échéant, prenez les mesures nécessaires de prévention, basées sur le
principe de défense en profondeur, avant de connecter le système d'automatisme à un réseau
quelconque.
Limitez au strict nécessaire le nombre d'équipements connectés à un réseau.
Isolez votre réseau industriel des autres réseaux au sein de votre société.
Protégez chaque réseau contre les accès non autorisés à l'aide d'un pare-feu, d'un VPN ou
d'autres mesures de sécurité éprouvées.
Surveillez les activités au sein de votre système.
Empêchez tout accès direct ou liaison directe aux équipements sensibles par des utilisateurs
non autorisés ou des actions non authentifiées.
Préparez un plan de récupération intégrant la sauvegarde des informations de votre système
et de votre processus.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
En configurant une liste blanche avec l'entrée i_pbyWhiteListSender, les entrées de cette
liste sont comparées à l'e-mail de l'expéditeur défini dans l'en-tête de l'e-mail reçu. Cette fonction
ne fournit pas la protection contre la manipulation non intentionnelle du champ d'en-tête From:
dans l'e-mail reçu.
Aucun programme antivirus n'est disponible sur le contrôleur. Veillez à en configurer un côté
serveur.
EIO0000002424 06/2017
21
Description
Présentation des POU
Bloc fonction / fonction
Utilisation
FB_SendEMail (voir page 50)
Met en œuvre un client de messagerie, qui se
connecte à un serveur de messagerie pour envoyer
des e-mails.
FB_Pop3EMailClient (voir page 53)
Implémente un client de messagerie e-mail, qui se
connecte à un serveur de messagerie pour la
réception et la suppression d'e-mails en
utilisant POP3.
FC_EtResultToString (voir page 59)
Convertit un élément d'énumération de type
ET_Result en une valeur de chaîne.
Présentation des structures dans l'interface propre au module
Structure
Utilisation
ST_CredentialsSendEMail (voir page 38)
Contient des informations spécifiques à un utilisateur
pour permettre la connexion à un serveur de
messagerie externe pour l'envoi d'e-mails.
ST_CredentialsReceiveEMail (voir page 39)
Contient des informations spécifiques à un utilisateur
pour permettre la connexion à un serveur de
messagerie externe pour la réception et la
suppression d'e-mails.
ST_EMail (voir page 41)
Contient les informations d'un e-mail reçu.
Présentation des énumérations
22
Énumération
Utilisation
ET_AuthenticationMode (voir page 26)
Définit le mode d'authentification requis pour la
connexion à un serveur de messagerie.
ET_Command (voir page 27)
Indique la commande exécutée.
ET_EMailStatus (voir page 28)
Fournit des informations sur l'état de l'e-mail reçu.
ET_Priority (voir page 30)
Définit le niveau de priorité attribué à l'e-mail.
ET_Protocol (voir page 31)
Définit le type de protocole utilisé pour le transfert
d'e-mails.
ET_Result (voir page 32)
Contient les valeurs possibles indiquant les résultats
des opérations exécutées par le bloc fonction.
EIO0000002424 06/2017
SoMachine
Énumérations et Structures
EIO0000002424 06/2017
Partie II
Énumérations et Structures
Énumérations et Structures
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
3
Énumérations
25
4
Structures
37
EIO0000002424 06/2017
23
Énumérations et Structures
24
EIO0000002424 06/2017
SoMachine
Énumérations
EIO0000002424 06/2017
Chapitre 3
Énumérations
Énumérations
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
ET_AuthenticationMode
26
ET_Command
27
ET_EMailStatus
28
ET_Priority
30
ET_Protocol
31
ET_Result
32
EIO0000002424 06/2017
25
Énumérations
ET_AuthenticationMode
Présentation
Type :
Énumération
Disponible à partir de la version :
V1.0.0.0
Description
L'énumération ET_AuthenticationMode définit le mode d'authentification requis pour la
connexion à un serveur de messagerie.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
NoAuthentication
INT
0
Aucune authentification utilisateur requise.
Login
INT
10
Mécanisme LOGIN utilisé pour l'authentification.
Plain
INT
20
Mécanisme PLAIN utilisé pour l'authentification.
Utilisé par

26
FB_SendEMail
EIO0000002424 06/2017
Énumérations
ET_Command
Présentation
Type :
Énumération
Disponible à partir de la version :
1.1.2.0
Description
L'énumération ET_Command indique la commande qui est exécutée.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
NoCommand
INT
0
Aucune commande n'est exécutée.
CheckInbox
INT
1
Le nombre d'e-mails disponibles sur le serveur est
vérifiée.
Receive
INT
2
Les e-mails sont reçus du serveur.
Delete
INT
3
L'e-mail défini avec l'ID unique à l'entrée i_sUniqueID
est supprimé du serveur.
Utilisé par

FB_Pop3EMailClient
EIO0000002424 06/2017
27
Énumérations
ET_EMailStatus
Présentation
Type :
Énumération
Disponible à partir de la version :
1.1.2.0
Description
L'énumération ET_EMailStatus fournit les informations d'état de l'e-mail.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
Empty
INT
0
La structure est vide ou les données de l'e-mail ne
sont pas valides.
Ok
INT
1
L'e-mail a été bien reçu.
SenderBlocked
INT
2
L'adresse de l'expéditeur est bloquée dans la liste
blanche, ou est introuvable dans l'en-tête de l'e-mail,
ou dépasse la longueur maximale de 200 octets.
NotSupported
INT
3
Le format de l'e-mail n'est pas pris en charge.
Types de contenu (Content-Type) pris en charge
(non valide pour les pièces-jointes) :
 text/plain
 multipart/mixed
Schémas d'encodage de transfert (Content-TransferEncoding) pris en charge :
 7-bit
 quoted-printable
 base 64
InvalidHeader
INT
4
L'en-tête de l'e-mail n'est pas valide.
InvalidAttachmentPath
INT
5
Le chemin d'accès à la pièce-jointe de l'e-mail n'est
pas valide :
 Le chemin d'accès dépasse la longueur maximale
de 255 octets, ou
 Aucun nom de fichier n'est fourni.
28
EIO0000002424 06/2017
Énumérations
Nom
Type de
données
Valeur
Description
InvalidAttachmentExtension
INT
6
L'extension de la pièce-jointe de l'e-mail n'est pas
valide. Il est impossible de recevoir une pièce-jointe
avec l'une des extensions suivantes :
 .ap_
 .app
 .cf_
 .cfg
 .crc
 .err
 .frc
 .log
 .prj
 .rcp
 .rsi
 .urf
Utilisé par

FB_Pop3EMailClient
EIO0000002424 06/2017
29
Énumérations
ET_Priority
Présentation
Type :
Énumération
Disponible à partir de la version :
1.1.2.0
Description
L'énumération ET_Priority définit le niveau de priorité attribué à l'e-mail.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
Normal
INT
0, 3
Le niveau de priorité de l'e-mail est normal.
VeryHigh
INT
1
Le niveau de priorité est très élevé.
High
INT
2
Le niveau de priorité est élevé.
Low
INT
4
Le niveau de priorité est faible.
VeryLow
INT
5
Le niveau de priorité est très faible.
Utilisé par

30
FB_SendEMail
EIO0000002424 06/2017
Énumérations
ET_Protocol
Présentation
Type :
Énumération
Disponible à partir de la version :
V1.0.0.0
Description
L'énumération ET_Protocol définit le type de protocole utilisé pour le transfert d'e-mails.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
SMTP
INT
0
Le protocole utilisé pour le transfert d'e-mails est SMTP
(Simple Mail Transfer Protocol).
eSMTP
INT
1
Le protocole utilisé pour le transfert des e-mails est
eSMTP (extended Simple Mail Transfer Protocol). Select
this protocol to use additional protocol extensions, for
example authentication, attachment, or email priority.
Utilisé par

FB_SendEMail
EIO0000002424 06/2017
31
Énumérations
ET_Result
Présentation
Type :
Énumération
Disponible à partir de la version :
V1.0.0.0
Description
L'énumération ET_Result contient les valeurs possibles qui donnent les résultats des opérations
exécutées par le bloc fonction.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
Si q_xError d'un bloc fonction (voir page 50) est FALSE, l'un des messages d'état suivants apparaît.
Ok
UDINT
0
L'opération a abouti.
Disabled
UDINT
1
Le bloc fonction est désactivé.
Initializing
UDINT
2
Le bloc fonction est en cours d'initialisation.
Ready
UDINT
4
Le bloc fonction est prêt.
ConnectingToServer
UDINT
5
Le client se connecte au serveur.
DisconnectingFromServer
UDINT
6
Le client se déconnecte du serveur.
NoCommand
UDINT
7
Aucune commande sélectionnée.
SendingEMail
UDINT
8
Un e-mail est envoyé au serveur.
ConnectedToServer
UDINT
50
Une connexion au serveur a été établie.
MessageFromServerReceived
UDINT
52
Échange de données avec le serveur : un
message a été reçu.
MessageToServerSent
UDINT
54
Échange de données avec le serveur : un
message a été envoyé au serveur.
SendingMessageToServer
UDINT
55
Échange de données avec le serveur : un
message est envoyé au serveur.
Busy
UDINT
56
Le bloc fonction est occupé.
WaitingForExpectedMessage
UDINT
58
Échange de données avec le serveur : en
attente du message.
OpeningAttachment
UDINT
60
La pièce-jointe est ouverte dans un système
de fichiers du contrôleur.
SendingAttachment
UDINT
62
L'envoi de la pièce jointe est en cours.
32
EIO0000002424 06/2017
Énumérations
Nom
Type de
données
Valeur
Description
DownloadingEMail
UDINT
64
L'e-mail est téléchargé du serveur.
SavingAttachment
UDINT
66
L'enregistrement de la pièce-jointe dans le
système de fichiers du contrôleur est en
cours.
DeletingEMail
UDINT
68
L'e-mail est supprimé du serveur.
ServerOk
UDINT
70
Le serveur est à l'état opérationnel.
DeletingFile
UDINT
72
Le fichier non valide est supprimé du
système.
Si le paramètre q_xError d'un bloc fonction (voir page 50) est TRUE, l'un des messages d'état suivants apparaît.
InvalidAuthenticationMode
UDINT
101
La valeur détectée de
i_etAuthenticationMode n'est pas
valide.
InvalidServerIP
UDINT
102
Le paramètre i_sServerIP est vide. Il doit
avoir une valeur.
InvalidDomainName
UDINT
104
Le paramètre i_sDomainName est vide. Il
doit avoir une valeur.
InvalidSenderEMail
UDINT
106
Le paramètre i_sSenderEMail est vide. Il
doit avoir une valeur.
InvalidRecipientEMail
UDINT
108
Le paramètre i_sRecipientEMail est
vide. Il doit avoir une valeur.
InvalidProtocol
UDINT
110
La valeur détectée de i_etProtocol n'est
pas valide.
InvalidMessageAddress
UDINT
111
La valeur détectée de i_pbyMessage n'est
pas valide.
AuthenticationFailed
UDINT
112
L'authentification a échoué : le nom
d'utilisateur (i_sUsername) ou le mot de
passe (i_sPassword) est incorrect.
AuthenticationRequired
UDINT
113
Authentification requise : activez un mode
d'authentification.
InvalidUsername
UDINT
114
Le paramètre i_sUsername est vide. Il doit
avoir une valeur.
InvalidPassword
UDINT
116
Le paramètre i_sPassword est vide. Il doit
avoir une valeur.
EIO0000002424 06/2017
33
Énumérations
Nom
Type de
données
Valeur
Description
FunctionNotSupported
UDINT
118
La fonction sélectionnée, comme le mode
d'authentification sélectionné, n'est pas prise
en charge.
Définissez i_etProtocol sur
ET_Protocol.eSMTP ou utilisez un autre
i_etAuthenticationMode.
SyntaxError
UDINT
120
Une erreur de syntaxe, comme une adresse
de destinataire vide, a été détectée.
RecipientAddressTooLong
UDINT
122
L'adresse de destinataire détectée dépasse
la longueur autorisée de 200 octets.
MailboxUnavailable
UDINT
124
L'action demandée est impossible car la
messagerie est indisponible.
OpenAttachmentFailed
UDINT
126
Impossible d'ouvrir la pièce jointe.
ReadAttachmentFailed
UDINT
128
Impossible de lire la pièce jointe.
CloseAttachmentFailed
UDINT
130
Impossible de fermer la pièce jointe.
MessageRejectedFromRecipient
UDINT
132
L'e-mail a été rejeté par le destinataire.
EMailNotFound
UDINT
133
L'e-mail correspondant est introuvable sur le
serveur. Vérifiez la valeur de i_sUniqueId.
InvalidPriority
UDINT
134
La valeur de i_etPriority n'est pas
valide.
InvalidNumberEMailsToReceive
UDINT
135
La valeur détectée de
i_uiEMailsToReceive n'est pas valide.
Elle doit être supérieure à 0 et inférieure ou
égale à GPL.Gc_uiInboxSize.
ServerError
UDINT
136
Le serveur a détecté une erreur.
InvalidWhiteListSize
UDINT
137
La valeur détectée de
i_udiWhiteListSize n'est pas valide.
Elle doit être supérieure à 0.
InvalidFilePath
UDINT
138
La valeur détectée de i_sFilePath n'est
pas valide.
InvalidMaxNumberOfAttachments
UDINT
139
La valeur de
GPL.Gc_udiMaxNumberOfAttachments
n’est pas valide. Elle doit être supérieure à 0.
InvalidMailboxBuffer
UDINT
140
La valeur de i_pbyMailboxBuffer n’est
pas valide.
InvalidCommand
UDINT
141
La valeur de i_etCommand n’est pas valide.
InvalidBufferSize
UDINT
142
La valeur de i_udiBufferSize n’est pas
valide. Elle doit être supérieure à 0.
34
EIO0000002424 06/2017
Énumérations
Nom
Type de
données
Valeur
Description
NotSupported
UDINT
143
Cette fonction n'est plus prise en charge.
InvalidInboxSize
UDINT
144
La valeur de Gc_udiInboxSize n’est pas
valide. Elle doit être supérieure à 0.
InvalidUniqueId
UDINT
145
La valeur de i_sUniqueID n’est pas valide.
SaveAttachmentFailed
UDINT
146
L'enregistrement de pièce jointe dans le
système de fichiers du contrôleur a échoué.
InvalidWhiteList
UDINT
147
La valeur de i_pyWhiteListSender n’est
pas valide.
Comme i_udiWhiteListSize est
supérieur à 0, i_pyWhiteListSender doit
avoir une adresse valide (>0).
MailboxBufferFull
UDINT
148
Le tampon de la boîte aux lettres est plein.
Le nombre d'octets reçus est supérieur à
i_udiBufferSize.
DecodingError
UDINT
149
Une erreur interne a été détectée lors du
décodage d'un e-mail.
FailedToConnectToServer
UDINT
150
La connexion au serveur n'a pas été établie.
Vérifiez que la connexion Ethernet ou les
paramètres i_sServerIP /
i_sServerPort.
InvalidMessageFromServer
UDINT
152
Le message reçu du serveur n'est pas valide.
UnexpectedMessageFromServer
UDINT
153
Le serveur a envoyé un message inattendu.
FailedToReceiveMessageFromServer
UDINT
154
Un timeout a expiré : aucune réponse n'a été
reçue du serveur pendant le délai imparti.
FailedToSendMessageToServer
UDINT
156
Une erreur de communication a été
détectée : impossible d'envoyer le message
au serveur.
UnexpectedProgramBehavior
UDINT
200
Une erreur interne a été détectée.
Utilisé par


FB_SendEMail
FB_PopEMailClient
EIO0000002424 06/2017
35
Énumérations
36
EIO0000002424 06/2017
SoMachine
Structures
EIO0000002424 06/2017
Chapitre 4
Structures
Structures
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
ST_CredentialsSendEMail
38
ST_CredentialsReceiveEMail
39
ST_EMail
41
EIO0000002424 06/2017
37
Structures
ST_CredentialsSendEMail
Présentation
Type :
Structure
Disponible à partir de la version :
V1.0.0.0
Hérite de :
–
Description
La structure ST_CredentialsSendEMail contient des informations spécifiques à un utilisateur
pour lui permettre de se connecter à un serveur de messagerie externe et d'envoyer des e-mails.
Éléments de la structure
Nom
Type de données
Description
i_sServerIP
STRING[GPL.Gc_uiIpStr
ingSize]
Adresse IP du serveur de messagerie externe.
i_uiServerPort
UINT
Port du serveur de messagerie externe.
i_etProtocol
ET_Protocol
Énumération indiquant le protocole.
i_sDomainName
STRING[200]
Domaine du client.
i_sSenderEMail
STRING[200]
Adresse électronique de l'expéditeur.
i_sUsername
STRING[60]
Nom d'utilisateur permettant d'accéder au serveur de
messagerie externe.
i_sPassword
STRING[60]
Mot de passe permettant d'accéder au serveur de
messagerie externe.
i_etAuthenticationMode
ET_AuthenticationMode Énumération indiquant le mode d'authentification.
Utilisé par

38
FB_SendEMail
EIO0000002424 06/2017
Structures
ST_CredentialsReceiveEMail
Présentation
Type :
Structure
Disponible à partir de la version :
V1.1.2.0
Hérite de :
–
Description
La structure ST_CredentialsReceiveEMail contient des informations spécifiques à un
utilisateur pour lui permettre de se connecter à un serveur de messagerie externe pour recevoir et
supprimer des e-mails en utilisant POP3.
Éléments de la structure
Nom
Type de données
Description
i_sServerIP
STRING[GPL.Gc_uiIpStr
ingSize]
Adresse IP du serveur de messagerie externe.
i_uiServerPort
UINT
Port du serveur de messagerie externe.
i_sUsername
STRING[200]
Nom d'utilisateur permettant d'accéder au serveur de
messagerie externe.
i_sPassword
STRING[60]
Mot de passe permettant d'accéder au serveur de
messagerie externe.
i_pbyWhiteListSender
POINTER TO BYTE
Adresse de départ de la chaîne contenant la ou les
adresses de la liste blanche.
Si la liste contient plusieurs entrées, un point-virgule
doit séparer les adresses e-mail. La taille maximale
de chaque adresse est limitée à 200 octets.
Une chaîne vide bloque tous les e-mails.
Entrez un astérisque et un domaine
(*@yourdomain.com) pour permettre la réception
des e-mails envoyés par des expéditeurs de ce
domaine. Les e-mails d'autres domaines sont
bloqués.
i_udiWhiteListSize
UDINT
Taille de la liste blanche.
EIO0000002424 06/2017
39
Structures
Nom
Type de données
Description
i_xOverwriteAttachment
BOOL
Si la valeur est TRUE, les pièces-jointes stockées
dans le dossier EMailAttachments sont écrasées si
une pièce-jointe avec le même nom est téléchargé
depuis le serveur.
Si la valeur est FALSE, la réception est annulée dès
qu'une seconde pièce-jointe avec nom identique est
téléchargée. La sortie q_sResultMsg indique le
nom du fichier qui a généré l'erreur.
Utilisé par

40
FB_Pop3EMailClient
EIO0000002424 06/2017
Structures
ST_EMail
Présentation
Type :
Structure
Disponible à partir de la version :
V1.1.2.0
Hérite de :
–
Description
La structure ST_EMail contient les informations d'un e-mail reçu.
Éléments de la structure
Nom
Type de données
Description
q_etEMailStatus
ET_EMailStatus
Etat de l'e-mail (voir page 28).
q_pbyDate
POINTER TO BYTE
Adresse de départ de la chaîne contenant la
date.
q_udiLengthOfDate
UDINT
Longueur de la chaîne.
q_pbySenderEMail
POINTER TO BYTE
Adresse de départ de la chaîne contenant
l'adresse e-mail de l'expéditeur.
q_udiLengthOfSenderEMail
UDINT
Longueur de la chaîne d'adresse e-mail de
l'expéditeur.
q_pbySubject
POINTER TO BYTE
Adresse de départ de la chaîne contenant
l'objet de l'e-mail.
udiLengthOfSubject
UDINT
Longueur de la chaîne de l'objet.
q_pbyMessage
POINTER TO BYTE
Adresse de départ de la chaîne contenant le
message e-mail.
q_udiLengthOfMessage
UDINT
Longueur de la chaîne du message.
q_asAttachmentPath
Chemin d'accès relatif ou absolu aux piècesARRAY
[1..GPL.Gc_udiMaxNumb jointes stockées dans le système de fichiers.
erOfAttachments] OF
STRING[255]
q_audiSizeOfAttachment
Taille des pièces-jointes stockées dans le
ARRAY
[1..GPL.Gc_udiMaxNumb système de fichiers.
erOfAttachments] OF
UDINT
q_sUniqueID
STRING[70]
ID unique de l'e-mail.
Utilisé par

FB_Pop3EMailClient
EIO0000002424 06/2017
41
Structures
42
EIO0000002424 06/2017
SoMachine
Variables globales
EIO0000002424 06/2017
Partie III
Variables globales
Variables globales
EIO0000002424 06/2017
43
Variables globales
44
EIO0000002424 06/2017
SoMachine
Liste des paramètres globaux
EIO0000002424 06/2017
Chapitre 5
Liste des paramètres globaux
Liste des paramètres globaux
Liste des paramètres globaux (GPL)
Présentation
Type :
Paramètres globaux
Disponible à partir de la version :
V1.0.0.0
Description
Cette liste contient les paramètres globaux de la bibliothèque EmailHandling. Vous pouvez les
modifier en fonction de votre projet dans le Gestionnaire de bibliothèques.
Paramètres globaux
Variable
Type de
données
Valeur par défaut
Description
Gc_udiRecipientEMailSize
UDINT
200
Nombre maximum d'octets de
i_sRecipientEMail.
Gc_tTimeOut
TIME
TIME#10m0s0ms
Délai maximum pour recevoir
une réponse du serveur.
Gc_uiIpStringSize
UINT
15
Taille maximum des
adresses IP, comme
i_sServerIP.
Gc_udiReceiveBufferSize
UDINT
1000
Taille maximale du tampon de
réception requise pour
communiquer avec le serveur.
Gc_xUseControllerTime
BOOL
FALSE
Si la valeur est TRUE, le temps
du contrôleur est utilisé pour
créer l'horodatage indiquant le
moment d'envoi des e-mails.
Gc_udiInboxSize
UDINT
10
Taille maximale de la boîte aux
lettres. Cette valeur détermine
le nombre maximal d'e-mails
téléchargeables avec une
commande de réception.
EIO0000002424 06/2017
45
Liste des paramètres globaux
Variable
Type de
données
Valeur par défaut
Description
Gc_udiMaxNumberOfAttachmentPaths
UDINT
1
Taille maximale du tableau
ST_EMail.asAttachmentP
ath. Il contient le ou les
chemins d'accès absolu ou
relatif dans le système de
fichiers du contrôleur dans
lequel stocker les piècesjointes téléchargées.
Cette variable ne limite pas le
nombre de pièces-jointes.
Gc_xUseTop
BOOL
TRUE
Si la valeur est TRUE, la
commande TOP0 est utilisée
en interne pour télécharger
l'en-tête de l'e-mail. Cela est
utile si la fonction de liste
blanche est utilisée pour
vérifier l'adresse des e-mails
de l'expéditeur avant le
téléchargement du message
complet.
Si la commande TOP n'est pas
prise en charge par votre
serveur de messagerie
(indiqué par q_sResultMsg),
définissez cette variable sur
FALSE.
Gc_xUseUniqueId
BOOL
TRUE
Si la valeur est TRUE, la
commande UIDL est utilisée
en interne pour récupérer l'ID
unique de l'e-mail.
Si la commande UIDL n'est
pas prise en charge par votre
serveur de messagerie
(indiqué par q_sResultMsg),
définissez cette variable sur
FALSE.
46
EIO0000002424 06/2017
SoMachine
Unités d'organisation de programme (POU)
EIO0000002424 06/2017
Partie IV
Unités d'organisation de programme (POU)
Unités d'organisation de programme (POU)
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
6
Blocs fonction
49
7
Fonctions
59
EIO0000002424 06/2017
47
Unités d'organisation de programme (POU)
48
EIO0000002424 06/2017
SoMachine
Blocs fonction
EIO0000002424 06/2017
Chapitre 6
Blocs fonction
Blocs fonction
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
FB_SendEMail
50
FB_Pop3EMailClient
53
EIO0000002424 06/2017
49
Blocs fonction
FB_SendEMail
Présentation
Type :
Bloc fonction
Disponible à partir de la version :
V1.0.0.0
Tâche
Le bloc fonction FB_SendEMail inclut les fonctions permettant d'envoyer des e-mails. Chaque
instance gère une connexion SMTP.
Description fonctionnelle
Le bloc fonction FB_SendEMail est l'interface utilisateur qui permet d'interagir avec le serveur de
messagerie externe. Il vous permet d'envoyer des e-mails.
Lorsque le bloc fonction est activé et exécuté, une connexion TCP est établie au serveur de
messagerie à l'aide des informations d'identification utilisateur envoyées par iq_stCredentials. Dès que la connexion est établie, les données de l'e-mail sont transférées au serveur.
Une fois le transfert terminé, le bloc fonction ferme automatiquement la connexion TCP au serveur
de messagerie.
Tant que le bloc fonction est exécuté, la sortie q_xBusy est TRUE. La sortie q_xDone est TRUE
lorsque le bloc fonction s'est exécuté correctement.
50
EIO0000002424 06/2017
Blocs fonction
Le schéma représente les signaux des entrées et sorties du bloc fonction :
Les messages d'état et informations de diagnostic sont fournis à l'aide des sorties q_xError
(TRUE si une erreur a été détectée), q_etResult et q_etResultMsg.
Pour acquitter les erreurs détectées et pouvoir renvoyer un e-mail, désactivez et réactivez le bloc
fonction.
EIO0000002424 06/2017
51
Blocs fonction
Interface
Entrée
Type de données
Description
i_xEnable
BOOL
Activation et initialisation du bloc fonction.
i_xExecute
BOOL
Le bloc fonction envoie un e-mail au moment
correspondant au front montant de cette entrée.
i_sRecipientEMail
STRING
[GPL.Gc_udiRecipient
EMailSize]
La chaîne qui contient la ou les adresses électroniques du
ou des destinataires. En cas de destinataires multiples, un
point-virgule doit séparer les adresses électroniques. La
taille maximale de chaque adresse est limitée à 200 octets.
i_sSubject
STRING[200]
Objet de l'e-mail.
i_pbyMessage
POINTER TO BYTE
Adresse de début de la chaîne dans laquelle le message
est stocké.
i_udiSizeOfMessage
UDINT
Taille des données du message.
i_etPriority
ET_Priority
Enumération indiquant le niveau de priorité attribué à l'email (voir page 30).
i_sAttachmentPath
STRING[255]
Chemin d'accès absolu ou relatif à la pièce-jointe stockée
dans le système de fichiers du contrôleur.
Si cette chaîne est vide, aucune pièce-jointe n'est envoyée.
Entrée/sortie
Type de données
Description
iq_stCredentials
ST_CredentialsSendEMail
Permet de transmettre la structure contenant les
paramètres utilisateur, tels que le nom d'utilisateur
ou le mot de passe.
Sortie
Type de données
Description
q_xActive
BOOL
Si le bloc fonction est actif, cette sortie est TRUE.
q_xReady
BOOL
Si l'initialisation aboutit, cette sortie est TRUE tant
que le bloc fonction accepte des entrées.
q_xBusy
BOOL
Si cette sortie est TRUE, le bloc fonction est en
cours d'exécution.
q_xDone
BOOL
Si cette sortie est TRUE, l'exécution s'est effectuée
correctement.
q_xError
BOOL
Si cette sortie est TRUE, une erreur a été détectée.
Pour plus d'informations, reportez-vous à
q_etResult et q_etResultMsg.
q_etResult
ET_Result
Fournit des informations de diagnostic et d'état.
q_sResultMsg
STRING[80]
Fournit des informations supplémentaires de
diagnostic et d'état.
52
EIO0000002424 06/2017
Blocs fonction
FB_Pop3EMailClient
Présentation
Type :
Bloc fonction
Disponible à partir de la version :
V1.1.2.0
Tâche
Le bloc fonction FB_Pop3EMailClient inclut les fonctions de réception et de suppression d'emails en utilisant POP3. Chaque instance gère une connexion POP3.
Description fonctionnelle
Le bloc fonction FB_Pop3EMailClient est l'interface utilisateur qui permet d'interagir avec le
serveur de messagerie externe POP3. Il permet de recevoir et de supprimer des e-mails. Les
pièces-jointes d'e-mails reçus vous permettent d'obtenir des informations sur différentes fonctions
système basées sur des fichiers stockés dans la mémoire système. Le stockage de certaines
extensions de fichier n'est pas autorisé dans le système de fichiers du contrôleur via
FB_Pop3EMailClient (voir le paramètre (voir page 28) ET_EmailStatus.InvalidAttachmentExtension) Cela s'applique aux fichiers qui sont automatiquement gérés par le contrôleur,
et aux fichiers du système tels que le micrologiciel du contrôleur, afin d'éviter tout écrasement
accidentel.
EIO0000002424 06/2017
53
Blocs fonction
Une fois le bloc fonction activé et exécuté, une connexion TCP est établie au serveur POP3 à l'aide
des informations d'identification utilisateur envoyées via iq_stCredentials. Lorsque la
connexion est établie, la commande définie avec i_etCommand est exécutée. Une fois le transfert
terminé, la connexion TCP au serveur POP3 est fermée par le bloc fonction. Les e-mails reçus sont
supprimés du serveur POP3. Vous pouvez manuellement supprimer des e-mails en définissant l'email (identifié par un ID unique) sur l'entrée i_sUniqueId et en exécutant la commande de
suppression avec i_etCommand. En exécutant d'autres commandes, la structure de la boîte aux
lettres disponible sur q_astInbox contenant les références aux données de l'e-mail est
réinitialisée.
Les e-mails reçus sont placés dans la mémoire volatile. La mémoire volatile est effacée lors de la
mise hors tension, et tous les e-mails y sont donc supprimés.
AVIS
PERTE DE DONNEES
Enregistrez les e-mails entrants dans une mémoire non volatile.
Le non-respect de ces instructions peut provoquer des dommages matériels.
Tant que le bloc fonction est exécuté, la sortie q_xBusy est TRUE. La sortie q_xDone est TRUE
lorsque le bloc fonction s'est exécuté correctement.
54
EIO0000002424 06/2017
Blocs fonction
Le schéma représente les signaux des entrées et sorties du bloc fonction :
Les messages d'état et les informations de diagnostic sont fournis à l'aide des sorties q_xError
(TRUE si une erreur a été détectée), q_etResult et q_etResultMsg.
Pour acquitter les erreurs détectées, et pouvoir recevoir et supprimer un e-mail, désactivez et
réactivez le bloc fonction.
EIO0000002424 06/2017
55
Blocs fonction
Interface
Entrée
Type de données
Description
i_xEnable
BOOL
Activation et initialisation du bloc fonction.
i_xExecute
BOOL
Le bloc fonction reçoit ou supprime un email au front montant de cette entrée.
i_etCommand
ET_Command
L'énumération indique la commande à
exécuter (voir page 27).
i_pbyMailboxBuffer
POINTER TO BYTE
Adresse de début du premier octet dans
lequel sont stockés les e-mails entrants.
i_udiBufferSize
UDINT
Taille de la mémoire tampon de la boîte aux
lettres.
i_uiEMailsToReceive
UINT
Nombre d'e-mails à recevoir du serveur.
i_sFilePath
STRING[200]
Chemin d'accès au dossier dans le système
de fichiers du contrôleur où est créé le
dossier EMailAttachments. Dans ce dossier,
les pièces-jointes des e-mails reçus sont
stockés. L'extension de fichier définie avec
le
ET_EMailStatus.InvalidAttachment
Extension paramètre (voir page 28) ne
peut pas être stockée.
NOTE : Si vous recevez une deuxième
pièce-jointe avec un nom identique à celle
d'une pièce-jointe déjà disponible dans ce
dossier, l'ancien fichier peut être écrasé si le
paramètre global
ST_CredentialsReceiveEMail.i_xOv
erwriteAttachment est défini sur TRUE.
Si cette chaîne est vide, le dossier
EMailAttachments est créé dans le chemin
d'accès par défaut du contrôleur.
i_sUniqueID
56
STRING[70]
L'ID unique requis pour supprimer un e-mail.
Après réception de l'e-mail du serveur, l'ID
unique s'affiche sur la sortie q_astInbox.
Entrée/sortie
Type de données
Description
iq_stCredentials
ST_CredentialsReceiveEMa
il
Permet de transmettre la structure
contenant les paramètres utilisateur, tels
que le nom d'utilisateur ou le mot de passe.
iq_astInbox
ARRAY [1…GPL.Gc_udiInbox Structure (voir page 41) qui contient les
informations d'un e-mail reçu.
Size] OF ST_EMail
EIO0000002424 06/2017
Blocs fonction
Sortie
Type de données
Description
q_xActive
BOOL
Si le bloc fonction est actif, cette sortie est
TRUE.
q_xReady
BOOL
Si l'initialisation aboutit, cette sortie est
TRUE tant que le bloc fonction est
opérationnel.
q_xBusy
BOOL
Si cette sortie est TRUE, le bloc fonction est
en cours d'exécution.
q_xDone
BOOL
Si cette sortie est TRUE, l'exécution s'est
effectuée correctement.
q_xError
BOOL
Si cette sortie est TRUE, une erreur a été
détectée. Pour plus d'informations,
reportez-vous à q_etResult et
q_etResultMsg.
q_etResult
ET_Result
Fournit des informations de diagnostic et
d'état.
q_sResultMsg
STRING[80]
Fournit des informations supplémentaires
de diagnostic et d'état.
q_udiNumberOfEmails
UDINT
Dépend de la i_etCommand exécutée :
 ET_Command.CheckInbox : indique le
nombre d'e-mails disponibles sur le
serveur.
 ET_Command.Receive : indique le
nombre d'e-mails reçus du serveur.
Si une erreur est détectée, cette sortie
fournit le nombre d'e-mails correctement
téléchargés.
 ET_Command.Delete : indique le
nombre d'e-mails supprimés.
EIO0000002424 06/2017
57
Blocs fonction
58
EIO0000002424 06/2017
SoMachine
Fonctions
EIO0000002424 06/2017
Chapitre 7
Fonctions
Fonctions
FC_EtResultToString
Présentation
Type :
Fonction
Disponible à partir de la version :
V1.0.0.0
Hérite de :
–
Met en œuvre :
–
Tâche
Convertir un élément d'énumération de type ET_Result en une variable de type STRING.
Description fonctionnelle
La fonction FC_EtResultToString permet de convertir un élément d'énumération de type
ET_Result en une variable de type STRING.
Interface
Entrée
Type de données
Description
i_etResult
ET_Result
Énumération avec le résultat.
Valeur retournée
Type de données
Description
STRING(80)
ET_Result converti en texte.
EIO0000002424 06/2017
59
Fonctions
60
EIO0000002424 06/2017
SoMachine
EIO0000002424 06/2017
Annexes
EIO0000002424 06/2017
61
62
EIO0000002424 06/2017
SoMachine
Représentation des fonctions et blocs fonction
EIO0000002424 06/2017
Annexe A
Représentation des fonctions et blocs fonction
Représentation des fonctions et blocs fonction
Présentation
Chaque fonction peut être représentée dans les langages suivants :
IL : (Instruction List) liste d'instructions
 ST : (Structured Text) littéral structuré
 LD : (Ladder Diagram) schéma à contacts
 FBD : Function Block Diagram (Langage à blocs fonction)
 CFC : Continuous Function Chart (Diagramme fonctionnel continu)

Ce chapitre fournit des exemples de représentations de fonctions et blocs fonction et explique
comment les utiliser dans les langages IL et ST.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Différences entre une fonction et un bloc fonction
64
Utilisation d'une fonction ou d'un bloc fonction en langage IL
65
Utilisation d'une fonction ou d'un bloc fonction en langage ST
69
EIO0000002424 06/2017
63
Représentation des fonctions et blocs fonction
Différences entre une fonction et un bloc fonction
Fonction
Une fonction :
est une POU (Program Organization Unit ou unité organisationnelle de programme) qui renvoie
un résultat immédiat ;
 est directement appelée par son nom (et non par une instance) ;
 ne conserve pas son état entre deux appels ;
 peut être utilisée en tant qu'opérande dans des expressions.

Exemples : opérateurs booléens (AND), calculs, conversions (BYTE_TO_INT)
Bloc fonction
Un bloc fonction :
 est une POU qui renvoie une ou plusieurs sorties ;
 doit être appelé par une instance (copie de bloc fonction avec nom et variables dédiées).
 Chaque instance conserve son état (sorties et variables internes) entre deux appels à partir
d'un bloc fonction ou d'un programme.
Exemples : temporisateurs, compteurs
Dans l'exemple, Timer_ON est une instance du bloc fonction TON :
64
EIO0000002424 06/2017
Représentation des fonctions et blocs fonction
Utilisation d'une fonction ou d'un bloc fonction en langage IL
Informations générales
Cette partie explique comment mettre en œuvre une fonction et un bloc fonction en langage IL.
Les fonctions IsFirstMastCycle et SetRTCDrift, ainsi que le bloc fonction TON, sont utilisés
à titre d'exemple pour illustrer les mises en œuvre.
Utilisation d'une fonction en langage IL
La procédure suivante explique comment insérer une fonction en langage IL :
Etape
1
Action
Ouvrez ou créez une POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations,
reportez-vous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation).
2
Créez les variables nécessaires à la fonction.
3
Si la fonction possède une ou plusieurs entrées, chargez la première entrée en utilisant
l'instruction LD.
4
Insérez une nouvelle ligne en dessous et :
 saisissez le nom de la fonction dans la colonne de l'opérateur (champ de gauche), ou
 utilisez l'Aide à la saisie pour sélectionner la fonction (sélectionnez Insérer l'appel de module
dans le menu contextuel).
5
Si la fonction a plus d'une entrée et que l'assistant Aide à la saisie est utilisé, le nombre requis de
lignes est automatiquement créé avec ??? dans les champs situés à droite. Remplacez les ??? par
la valeur ou la variable appropriée compte tenu de l'ordre des entrées.
6
insérez une nouvelle ligne pour stocker le résultat de la fonction dans la variable appropriée :
saisissez l'instruction ST dans la colonne de l'opérateur (champ de gauche) et le nom de la variable
dans le champ de droite.
Pour illustrer la procédure, utilisons les fonctions IsFirstMastCycle (sans paramètre d'entrée)
et SetRTCDrift (avec paramètres d'entrée) représentées graphiquement ci-après :
Fonction
Représentation graphique
sans paramètre d'entrée :
IsFirstMastCycle
EIO0000002424 06/2017
65
Représentation des fonctions et blocs fonction
Fonction
Représentation graphique
avec paramètres d'entrée :
SetRTCDrift
En langage IL, le nom de la fonction est utilisé directement dans la colonne de l'opérateur :
Fonction
Représentation dans l'éditeur IL de POU
Exemple en IL d'une
fonction sans paramètre
d'entrée :
IsFirstMastCycle
66
EIO0000002424 06/2017
Représentation des fonctions et blocs fonction
Fonction
Représentation dans l'éditeur IL de POU
Exemple IL d'une
fonction avec des
paramètres d'entrée :
SetRTCDrift
Utilisation d'un bloc fonction en langage IL
La procédure suivante explique comment insérer un bloc fonction en langage IL :
Etape Action
1
Ouvrez ou créez un POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations, reportezvous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation).
2
Créez les variables nécessaires au bloc fonction (y compris le nom de l'instance).
3
L'appel de blocs fonction nécessite l'utilisation d'une instruction CAL :
 Utilisez l'Aide à la saisie pour sélectionner le bloc fonction (cliquez avec le bouton droit et
sélectionnez Insérer l'appel de module dans le menu contextuel).
 L'instruction CAL et les E/S nécessaires sont automatiquement créées.
Chaque paramètre (E/S) est une instruction :
 Les valeurs des entrées sont définies à l'aide de « := ».
 Les valeurs des sorties sont définies à l'aide de « => ».
4
Dans le champ CAL de droite, remplacez les ??? par le nom de l'instance.
5
Remplacez les autres ??? par une variable ou une valeur immédiate appropriée.
EIO0000002424 06/2017
67
Représentation des fonctions et blocs fonction
Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après :
Bloc fonction
Représentation graphique
TON
En langage IL, le nom du bloc fonction est utilisé directement dans la colonne de l'opérateur :
Bloc fonction
Représentation dans l'éditeur IL de POU
TON
68
EIO0000002424 06/2017
Représentation des fonctions et blocs fonction
Utilisation d'une fonction ou d'un bloc fonction en langage ST
Informations générales
Cette partie décrit comment mettre en œuvre une fonction ou un bloc fonction en langage ST.
La fonction SetRTCDrift et le bloc fonction TON sont utilisés à titre d'exemple pour illustrer les
mises en œuvre.
Utilisation d'une fonction en langage ST
La procédure suivante explique comment insérer une fonction en langage ST :
Etape
Action
1
Ouvrez ou créez un POU en langage ST (Structured Text ou Littéral structuré).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations,
reportez-vous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation).
2
Créez les variables nécessaires à la fonction.
3
Utilisez la syntaxe générale dans l'éditeur ST de POU pour la représentation en langage ST d'une
fonction. La syntaxe générale est la suivante :
RésultatFonction:= NomFonction(VarEntrée1, VarEntrée2, … VarEntréex);
Pour illustrer la procédure, utilisons la fonction SetRTCDrift représentée graphiquement ciaprès :
Fonction
Représentation graphique
SetRTCDrift
La représentation en langage ST de cette fonction est la suivante :
Fonction
Représentation dans l'éditeur ST de POU
SetRTCDrift
PROGRAM MyProgram_ST
VAR myDrift: SINT(-29..29) := 5;
myDay: DAY_OF_WEEK := SUNDAY;
myHour: HOUR := 12;
myMinute: MINUTE;
myRTCAdjust: RTCDRIFT_ERROR;
END_VAR
myRTCAdjust:= SetRTCDrift(myDrift, myDay, myHour, myMinute);
EIO0000002424 06/2017
69
Représentation des fonctions et blocs fonction
Utilisation d'un bloc fonction en langage ST
La procédure suivante explique comment insérer un bloc fonction en langage ST :
Etape Action
1
Ouvrez ou créez un POU en langage ST (Structured Text ou Littéral structuré).
NOTE : La procédure de création d'une POU n'est pas détaillée ici. Pour plus
d'informations sur l'ajout, la déclaration et l'appel de POU, reportez-vous à la
documentation (voir SoMachine, Guide de programmation) associée.
2
Créez les variables d'entrée, les variables de sortie et l'instance requises pour le bloc
fonction :
 Les variables d'entrée sont les paramètres d'entrée requis par le bloc fonction.
 Les variables de sortie reçoivent la valeur renvoyée par le bloc fonction.
3
Utilisez la syntaxe générale dans l'éditeur ST de POU pour la représentation en
langage ST d'un bloc fonction. La syntaxe générale est la suivante :
BlocFonction_NomInstance(Entrée1:=VarEntrée1,
Entrée2:=VarEntrée2,… Sortie1=>VarSortie1,
Sortie2=>VarSortie2,…);
Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après :
Bloc fonction
Représentation graphique
TON
70
EIO0000002424 06/2017
Représentation des fonctions et blocs fonction
Le tableau suivant montre plusieurs exemples d'appel de bloc fonction en langage ST :
Bloc fonction
Représentation dans l'éditeur ST de POU
TON
EIO0000002424 06/2017
71
Représentation des fonctions et blocs fonction
72
EIO0000002424 06/2017
SoMachine
Glossaire
EIO0000002424 06/2017
Glossaire
A
application
Programme comprenant des données de configuration, des symboles et de la documentation.
ASCII
Acronyme de American Standard Code for Information Interchange. Protocole utilisé pour
représenter les caractères alphanumériques (lettres, chiffres, ainsi que certains caractères
graphiques et de contrôle).
B
bus d'extension
Bus de communication électronique entre des modules d'E/S d'extension et un contrôleur.
C
CFC
Acronyme de continuous function chart (diagramme fonctionnel continu). Langage de
programmation graphique (extension de la norme IEC 61131-3) basé sur le langage de diagramme
à blocs fonction et qui fonctionne comme un diagramme de flux. Toutefois, il n'utilise pas de
réseaux et le positionnement libre des éléments graphiques est possible, ce qui permet les boucles
de retour. Pour chaque bloc, les entrées se situent à gauche et les sorties à droite. Vous pouvez
lier les sorties de blocs aux entrées d'autres blocs pour créer des expressions complexes.
configuration
Agencement et interconnexions des composants matériels au sein d'un système, ainsi que les
paramètres matériels et logiciels qui déterminent les caractéristiques de fonctionnement du
système.
contrôleur
Automatise des processus industriels. On parle également de contrôleur logique programmable
(PLC) ou de contrôleur programmable.
E
E/S
Entrée/sortie
EIO0000002424 06/2017
73
Glossaire
F
FB
FCL
Acronyme de function block, bloc fonction. Mécanisme de programmation commode qui consolide
un groupe d'instructions de programmation visant à effectuer une action spécifique et normalisée
telle que le contrôle de vitesse, le contrôle d'intervalle ou le comptage. Un bloc fonction peut
comprendre des données de configuration, un ensemble de paramètres de fonctionnement interne
ou externe et généralement une ou plusieurs entrées et sorties de données.
Acronyme de forward compatible library, bibliothèque à compatibilité ascendante. Une
bibliothèque post-compatible est développée pour que ses fonctionnalités soient postcompatibles, ce qui signifie que chacune de ses versions reprend l'ensemble des fonctions de la
version précédente. Vous pouvez donc facilement utiliser une nouvelle version de bibliothèque
dans un projet existant, sans apporter aucune modification.
I
IL
INT
Acronyme de instruction list, liste d'instructions. Un programme écrit en langage IL est composé
d'instructions textuelles qui sont exécutées séquentiellement par le contrôleur. Chaque instruction
comprend un numéro de ligne, un code d'instruction et un opérande (voir la norme IEC 61131-3).
Abréviation de integer, nombre entier codé sur 16 bits.
L
langage en blocs fonctionnels
Un des 5 langages de programmation de logique ou de commande pris en charge par la norme
IEC 61131-3 pour les systèmes de commande. FBD est un langage de programmation orienté
graphique. Il fonctionne avec une liste de réseaux où chaque réseau contient une structure
graphique de zones et de lignes de connexion représentant une expression logique ou
arithmétique, un appel de bloc fonction ou une instruction de retour.
LD
Acronyme de ladder diagram, schéma à contacts. Représentation graphique des instructions d'un
programme de contrôleur, avec des symboles pour les contacts, les bobines et les blocs dans une
série de réseaux exécutés séquentiellement par un contrôleur (voir IEC 61131-3).
O
octet
74
Type codé sur 8 bits, de 00 à FF au format hexadécimal.
EIO0000002424 06/2017
Glossaire
P
POU
Acronyme de program organization unit, unité organisationnelle de programme. Déclaration de
variables dans le code source et jeu d'instructions correspondant. Les POUs facilitent la
réutilisation modulaire de programmes logiciels, de fonctions et de blocs fonction. Une fois
déclarées, les POUs sont réutilisables.
programme
Composant d'une application constitué de code source compilé qu'il est possible d'installer dans
la mémoire d'un contrôleur logique.
S
ST
Acronyme de structured text, texte structuré. Langage composé d'instructions complexes et
d'instructions imbriquées (boucles d'itération, exécutions conditionnelles, fonctions). Le langage
ST est conforme à la norme IEC 61131-3.
T
TCP
TCP (Transmission Control Protocol) est un protocole de transmission employé dans les réseaux
IP.
V
variable
Unité de mémoire qui est adressée et modifiée par un programme.
EIO0000002424 06/2017
75
Glossaire
76
EIO0000002424 06/2017
SoMachine
Index
EIO0000002424 06/2017
Index
B
bibliothèques
EmailHandling, 19
E
EmailHandling, 19
FB_Pop3EMailClient, 53
FB_SendEMail, 50
GPL (liste des paramètres globaux), 45
ET_AuthenticationMode, 26
Login, 26
NoAuthentication, 26
Plain, 26
ET_Command, 27
CheckInbox, 27
Delete, 27
NoCommand, 27
Receive, 27
ET_EMailStatus, 28
Empty, 28
InvalidAttachmentExtension, 29
InvalidAttachmentPath, 28
InvalidHeader, 28
NotSupported, 28
Ok, 28
SenderBlocked, 28
ET_Priority, 30
High, 30
Low, 30
Normal, 30
VeryHigh, 30
VeryLow, 30
ET_Protocol, 31
eSMTP, 31
SMTP, 31
EIO0000002424 06/2017
ET_Result, 32
AuthenticationFailed, 33
AuthenticationRequired, 33
Busy, 32
CloseAttachmentFailed, 34
ConnectedToServer, 32
ConnectingToServer, 32
DecodingError, 35
DeletingEMail, 33
DeletingFile, 33
Disabled, 32
DisconnectingFromServer, 32
DownloadingEMail, 33
EMailNotFound, 34
FailedToConnectToServer, 35
FailedToReceiveMessageFromServer,
77
Index
35
FailedToSendMessageToServer, 35
FunctionNotSupported, 34
Initializing, 32
InvalidAuthenticationMode, 33
InvalidBufferSize, 34
InvalidCommand, 34
InvalidDomainName, 33
InvalidFilePath, 34
InvalidInboxSize, 35
InvalidMailboxBuffer, 34
InvalidMessageAddress, 33
InvalidMessageFromServer, 35
InvalidNumberEMailsToReceive, 34
InvalidNumberOfAttachments, 34
InvalidPassword, 33
InvalidPriority, 34
InvalidProtocol, 33
InvalidRecipientEMail, 33
InvalidSenderEMail, 33
InvalidServerIP, 33
InvalidUniqueId, 35
InvalidUsername, 33
InvalidWhiteList, 35
InvalidWhiteListSize, 34
MailboxBufferFull, 35
MailboxUnavailable, 34
MessageFromServerReceived, 32
MessageRejectedFromRecipient, 34
MessageToServerSent, 32
NoCommand, 32
NotSupported, 35
Ok, 32
OpenAttachmentFailed, 34
OpeningAttachment, 32
ReadAttachmentFailed, 34
Ready, 32
RecipientAddressTooLong, 34
SaveAttachmentFailed, 35
SavingAttachment, 33
SendingAttachment, 32
SendingEMail, 32
SendingMessageToServer, 32
ServerError, 34
ServerOk, 33
78
SyntaxError, 34
UnexpectedMessageFromServer, 35
UnexpectedProgramBehavior, 35
WaitingForExpectedMessage, 32
F
FB_Pop3EMailClient, 53
FB_SendEMail, 50
FC_EtResultToString, 59
fonctions
différences entre une fonction et un bloc
fonction, 64
utilisation d'une fonction ou d'un bloc
fonction en langage IL, 65
utilisation d'une fonction ou d'un bloc
fonction en langage ST, 69
G
GPL (liste des paramètres globaux)
EmailHandling, 45
L
limites du transfert d'e-mails, 20
Q
qualification du personnel, 14
S
ST_CredentialsReceiveEMail, 39
ST_CredentialsSendEMail, 38
ST_EMail, 41
EIO0000002424 06/2017

Manuels associés