Schneider Electric EcoStruxure™ Control Expert - TCP Open, Bibliothèque de blocs Mode d'emploi

Ajouter à Mes manuels
114 Des pages
Schneider Electric EcoStruxure™ Control Expert - TCP Open, Bibliothèque de blocs Mode d'emploi | Fixfr
EcoStruxure™ Control Expert
33002552 12/2018
EcoStruxure™
Control Expert
TCP Open
Bibliothèque de blocs
(Traduction du document original anglais)
33002552.14
12/2018
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.
© 2018 Schneider Electric. Tous droits réservés.
2
33002552 12/2018
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . .
Partie I Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Types de module et leur utilisation . . . . . . . . . . . . . . . . .
Types de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure d'un FFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EN et ENO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 2
Disponibilité des blocs sur les différentes plates-formes
matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disponibilité des blocs sur les différentes plates-formes matérielles .
Partie II Présentation de TCP Open. . . . . . . . . . . . . . . . . . . .
Chapitre 3 Général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aspects et principes généraux de TCP Open . . . . . . . . . . . . . . . . . . .
Chapitre 4 Avertissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remarques et avertissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5 Description du fonctionnement . . . . . . . . . . . . . . . . . . . .
Règles de fonctionnement des EF TCP Open . . . . . . . . . . . . . . . . . .
Principe de fonctionnement d'un socket . . . . . . . . . . . . . . . . . . . . . . .
Structure générale d'une EF de communication TCP Open . . . . . . . .
Structure des paramètres de gestion TCP Open . . . . . . . . . . . . . . . .
Paramètres de gestion : rapports de communication et d'opération . .
Modèle client/serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemples d'applications client/serveur . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 6 Modes de fonctionnement et performances . . . . . . . . . .
Modes opératoires du module réseau . . . . . . . . . . . . . . . . . . . . . . . . .
Performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mise au point et diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie III Avancé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 7 FCT_ACCEPT : accepte une requête de connexion . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 8 FCT_BIND : relie un numéro de socket à une adresse IP
et à un port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002552 12/2018
5
9
11
13
14
16
19
23
23
25
27
27
29
29
31
32
33
35
36
38
40
42
47
48
50
51
53
55
55
59
59
3
Chapitre 9 FCT_CLOSE : supprime le socket spécifié . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 10 FCT_CONNECT : établit une connexion avec une
adresse IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 11 FCT_LISTEN : configuration d'une connexion en attente
de socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 12 FCT_RECEIVE : récupère les données disponibles sur
un socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 13 FCT_SELECT : multiplexe les requêtes sur les sockets .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 14 FCT_SEND : envoi de données à un socket spécifique. .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 15 FCT_SETSOCKOPT : configure les options associées au
socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 16 FCT_SHUTDOWN : désactive la transmission sur le
socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 17 FCT_SOCKET : création d'un nouveau socket . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie IV Bibliothèque de DFB . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 18 Bibliothèque de DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Présentation de la bibliothèque de DFB. . . . . . . . . . . . . . . . . . . . . . . .
DFB TCP_CNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFB TCP_SEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFB TCP_RECEIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
63
63
67
67
71
71
73
73
77
77
81
81
85
85
89
89
93
93
97
99
100
101
104
107
111
113
33002552 12/2018
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.
33002552 12/2018
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
33002552 12/2018
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.
33002552 12/2018
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
33002552 12/2018
A propos de ce manuel
Présentation
Objectif du document
Ce document décrit les fonctions et blocs fonction de la bibliothèque TCP Open.
Champ d'application
Ce document est applicable à EcoStruxure™ Control Expert 14.0 ou version ultérieure.
Documents à consulter
Titre du document
Numéro de référence
EcoStruxure™ Control Expert - Langages de
programmation et structure - Manuel de référence
35006144 (anglais),
35006145 (français),
35006146 (allemand),
35013361 (italien),
35006147 (espagnol),
35013362 (chinois)
EcoStruxure™ Control Expert - Modes de
fonctionnement
33003101 (anglais),
33003102 (français),
33003103 (allemand),
33003104 (espagnol),
33003696 (italien),
33003697 (chinois)
Vous pouvez télécharger ces publications ainsi que d'autres informations techniques sur notre site
Web : www.schneider-electric.com/en/download.
33002552 12/2018
9
10
33002552 12/2018
EcoStruxure™ Control Expert
Généralités
33002552 12/2018
Partie I
Généralités
Généralités
Vue d'ensemble
Ce sous-chapitre présente des informations générales sur la bibliothèque TCP Open.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
33002552 12/2018
Titre du chapitre
Page
1
Types de module et leur utilisation
13
2
Disponibilité des blocs sur les différentes plates-formes matérielles
23
11
Généralités
12
33002552 12/2018
EcoStruxure™ Control Expert
Types de module et leur utilisation
33002552 12/2018
Chapitre 1
Types de module et leur utilisation
Types de module et leur utilisation
Vue d'ensemble
Ce chapitre décrit les différents types de module et leur utilisation.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Types de bloc
14
Structure d'un FFB
16
EN et ENO
19
33002552 12/2018
13
Types de module et leur utilisation
Types de bloc
Types de bloc
Différents types de bloc sont utilisés dans Control Expert. FFB est le terme générique pour tous
les types de bloc.
Une différence est faite entre les types de bloc suivants :
Fonction élémentaire (EF)
 Bloc fonction élémentaire (EFB)
 Bloc fonction dérivé (DFB)
 Procédure

NOTE : Les blocs fonction de mouvement ne sont pas disponibles sur la plate-forme Quantum.
Fonction élémentaire
Les fonctions élémentaires (EF) n'ont pas d'état interne et elles possèdent une seule sortie. Si les
valeurs des entrées sont similaires, la valeur de la sortie est identique pour les exécutions de la
fonction. Par exemple, l'ajout de deux valeurs donne le même résultat à chaque exécution.
Une fonction élémentaire est représentée dans les langages graphiques (FBD et LD) sous forme
de bloc avec des entrées et une sortie. Les entrées sont représentées à gauche du bloc et les
sorties à droite. Le nom de la fonction, c'est-à-dire le type de fonction, est affiché au centre du bloc.
Pour certaines fonctions élémentaires, il est possible d'augmenter le nombre d'entrées.
NOTE : Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures.
ATTENTION
COMPORTEMENT INATTENDU DE L'EQUIPEMENT
Pour Unity Pro V4.0 et les versions antérieures, n'utilisez pas de liens pour connecter les sorties
des blocs fonction lorsque votre application repose sur des données de sortie persistantes d'un
bloc EF.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
NOTE : Avec Unity Pro V4.0 et les versions antérieures, la désactivation d'un EF (EN=0) entraîne
la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du signal, n'utilisez
pas de lien. Une variable doit être connectée à la sortie de l'EF et être utilisée pour connecter
l'entrée de l'élément. Avec Unity Pro V4.1 et les versions ultérieures, vous pouvez maintenir les
liens de sortie même si un EF est désactivé en activant l'option Maintenir les liens de sortie sur les
EF désactivés (EN=0) par l'intermédiaire du menu Outils → Programme → Langues → Commun.
14
33002552 12/2018
Types de module et leur utilisation
Bloc fonction élémentaire
Les blocs fonction élémentaires (EFB) ont un état interne. Si les valeurs des entrées sont
identiques, les valeurs des sorties peuvent différer à chaque exécution du bloc fonction. Pour un
compteur, par exemple, la valeur de la sortie est incrémentée.
Un bloc fonction élémentaire est représenté dans les langages graphiques (FBD et LD) sous forme
de bloc avec des entrées et des sorties. Les entrées sont représentées à gauche du bloc et les
sorties à droite. Le nom du bloc fonction, c'est-à-dire le type de bloc fonction, est affiché au centre
du bloc. Le nom d'instance est affiché au-dessus du bloc.
Bloc fonction dérivé
Les blocs fonction dérivés (DFB) ont les mêmes caractéristiques que les blocs fonction
élémentaires. Ils sont cependant créés par l'utilisateur dans les langages de programmation FBD,
LD, IL et/ou ST.
Procédure
Les procédures correspondent à des fonctions proposant plusieurs sorties. Elles ne disposent pas
d'état interne.
L'unique différence par rapport aux fonctions élémentaires est que les procédures peuvent avoir
plus d'une sortie et qu'elles supportent des variables du type de donnée VAR_IN_OUT.
Les procédures ne renvoient aucune valeur.
Les procédures sont un complément de la norme IEC 61131-3 et doivent être activées de manière
explicite.
Visuellement, il n'existe aucune différence entre les procédures et les fonctions élémentaires.
NOTE : Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures.
ATTENTION
COMPORTEMENT INATTENDU DE L'EQUIPEMENT
Pour Unity Pro V4.0 et les versions antérieures, n'utilisez pas de liens pour connecter les sorties
des blocs fonction lorsque votre application repose sur des données de sortie persistantes d'un
bloc EF.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
NOTE : Avec Unity Pro V4.0 et les versions antérieures, la désactivation d'un EF (EN=0) entraîne
la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du signal, n'utilisez
pas de lien. Une variable doit être connectée à la sortie de l'EF et être utilisée pour connecter
l'entrée de l'élément. Avec Unity Pro V4.1 et les versions ultérieures, vous pouvez maintenir les
liens de sortie même si un EF est désactivé en activant l'option Maintenir les liens de sortie sur les
EF désactivés (EN=0) par l'intermédiaire du menu Outils → Programme → Langues → Commun.
33002552 12/2018
15
Types de module et leur utilisation
Structure d'un FFB
Structure
Un FFB se compose d'une opération (nom du FFB), des opérandes nécessaires à l'opération
(paramètres réels et formels) et d'un nom d'instance pour les blocs fonction élémentaires ou
dérivés.
Appel d'un bloc fonction dans le langage de programmation FBD :
ATTENTION
COMPORTEMENT INATTENDU DE L'APPLICATION
N'appelez pas plusieurs fois la même instance de bloc pendant un cycle d'automate.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
16
33002552 12/2018
Types de module et leur utilisation
Appel formel d'un bloc fonction dans le langage de programmation ST :
Opération
L'opération détermine la fonction qui doit être exécutée par le FFB, par exemple : registre à
décalage ou opérations de conversion.
Opérande
L'opérande détermine les éléments sur lesquels porte l'opération qui est exécutée. Dans les FFB,
il est constitué de paramètres formels et de paramètres réels.
Paramètres formels et réels
Des entrées et des sorties permettent de transférer les valeurs vers ou depuis un FFB. Ces entrées
et ces sorties sont appelées « paramètres formels ».
Les paramètres formels sont liés à des objets qui comprennent les états courants du processus.
Ces objets sont appelés « paramètres réels ».
Durant l'exécution du programme, les valeurs sont transmises, par le biais des paramètres réels,
du processus au FFB, et renvoyées à nouveau en sortie après le traitement.
Le type de données des paramètres réels doit correspondre au type de données des
entrées/sorties (paramètres formels). La seule exception concerne les entrées/sorties génériques
dont le type de données est déterminé par le paramètre réel. On choisira un type de données
adapté pour le bloc fonction, si les paramètres réels sont constitués de valeurs littérales.
Appel de FFB dans le langage IL/ST
Les FFB peuvent être appelés de deux manières dans les langages textuels IL et ST : formelle ou
informelle. Pour obtenir des informations détaillées, reportez-vous au chapitre Langage de
programmation (voir EcoStruxure™ Control Expert, Langages de programmation et structure,
Manuel de référence).
Exemple d'un appel de fonction formel :
out:=LIMIT (MN:=0, IN:=var1, MX:=5);
33002552 12/2018
17
Types de module et leur utilisation
Exemple d'un appel de fonction informel :
out:=LIMIT (0, var1, 5);
NOTE : Les paramètres EN et la sortie ENO peuvent uniquement être utilisés pour des appels
formels.
Variable VAR_IN_OUT
Les FFB sont souvent utilisés pour lire une variable en entrée (variables d'entrée), la traiter et
générer les valeurs modifiées de cette même variable (variables de sortie).
Ce cas particulier d'une variable d'entrée/de sortie est également appelé variable VAR_IN_OUT.
La relation entre la variable d'entrée et la variable de sortie est représentée dans les langages
graphiques (FBD et LD) par une ligne.
Bloc fonction avec la variable VAR_IN_OUT dans le langage FBD :
Bloc fonction avec la variable VAR_IN_OUT dans le langage ST :
MY_EXAMP1 (IN1:=Input1, IN2:=Input2, IO1:=Comb_IN_OUT,
OUT1=>Output1, OUT2=>Output2);
Tenez compte des points suivants lorsque vous utilisez des FFB avec les variables VAR_IN_OUT :
 Une variable doit être affectée à toutes les entrées VAR_IN_OUT.
 Aucune valeur littérale ou constante ne doit être affectée aux entrées/sorties VAR_IN_OUT.
Les limitations supplémentaires de ces langages graphiques (FBD et LD) sont les suivantes :
 Les liaisons graphiques permettent uniquement de relier des sorties VAR_IN_OUT à des
entrées VAR_IN_OUT.
 Seule une liaison graphique peut être associée à une entrée/sortie VAR_IN_OUT.
 Des variables ou des composantes de variables différentes peuvent être reliées à l'entrée
VAR_IN_OUT et à la sortie VAR_IN_OUT. Dans ce cas, la valeur de la variable ou de la
composante de variable en entrée est copiée dans la variable ou la composante de variable en
sortie.
 Vous ne pouvez pas utiliser des négations sur les entrées/sorties VAR_IN_OUT.
 Une combinaison de variable/adresse et de liaisons graphiques n'est pas possible pour les
sorties VAR_IN_OUT.
18
33002552 12/2018
Types de module et leur utilisation
EN et ENO
Description
Une entrée EN et une sortie ENO peuvent être configurées pour tous les FFB.
Si la valeur de EN est déjà réglée sur « 0 », lors de l'appel de FFB, les algorithmes définis par FFB
ne sont pas exécutés et ENO est réglé sur « 0 ».
Si la valeur de EN est déjà à « 1 », lors de l'appel de FFB, les algorithmes définis par FFB sont
exécutés. Après l'exécution sans erreur de ces algorithmes, la valeur de ENO est réglée sur « 1 ».
Si certaines conditions d'erreur sont détectées durant l’exécution de ces algorithmes, ENO est réglé
sur « 0 ».
Si aucune valeur n'est attribuée à la broche EN à l'appel du FFB, l'algorithme défini par ce dernier
est exécuté (comme lorsque EN a la valeur « 1 »). Reportez-vous à la section Maintenir les liens
de sortie sur les EF désactivés (voir EcoStruxure™ Control Expert, Modes de fonctionnement).
Une fois les algorithmes exécutés, la valeur de ENO est réglée sur « 1 », sinon la valeur de ENO est
réglée sur « 0 ».
Si la valeur de ENO est réglée sur 0 (car EN = 0 ou en raison d'une condition d'erreur détectée lors
de l'exécution ou de l'échec de l'exécution des algorithmes) :
 Blocs fonction
 Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent (uniquement)
une liaison en tant que paramètre de sortie :

Si l'entrée EN de BlocFonction_1 est réglée sur « 0 », la connexion de sortie OUT de
BlocFonction_1 conserve l'état qu'elle avait lors du dernier cycle correctement exécuté.
Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent une variable et
une liaison en tant que paramètres de sortie :
Si l'entrée EN de BlocFonction_1 est réglée sur « 0 », la connexion de sortie OUT de
BlocFonction_1 conserve l'état qu'elle avait lors du dernier cycle correctement exécuté.
La variable OUT1 présente sur la même broche conserve son état précédent ou peut être
modifiée de manière externe sans incidence sur la connexion. La variable et la liaison sont
enregistrées indépendamment l'une de l'autre.
33002552 12/2018
19
Types de module et leur utilisation

Fonctions/procédures
NOTE : Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures.
ATTENTION
COMPORTEMENT INATTENDU DE L'EQUIPEMENT
Pour Unity Pro V4.0 et les versions antérieures, n'utilisez pas de liens pour connecter les
sorties des blocs fonction lorsque votre application repose sur des données de sortie
persistantes d'un bloc EF.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages
matériels.
NOTE : Avec Unity Pro V4.0 et les versions antérieures, la désactivation d'un EF (EN=0)
entraîne la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du
signal, n'utilisez pas de lien. Une variable doit être connectée à la sortie de l'EF et être utilisée
pour connecter l'entrée de l'élément. Avec Unity Pro V4.1 et les versions ultérieures, vous
pouvez maintenir les liens de sortie même si un EF est désactivé en activant l'option Maintenir
les liens de sortie sur les EF désactivés (EN=0) par l'intermédiaire du menu Outils →
Programme → Langues → Commun.
Comme spécifié dans la norme CEI 61131-3, les sorties de fonctions désactivées (entrée EN
réglée sur « 0 ») ne sont pas définies. (Cette caractéristique s'applique également aux
procédures.)
Voici une explication des états des sorties dans un tel cas :
 Traitement des paramètres EN/ENO avec des fonctions/procédures qui possèdent
(uniquement) une liaison en tant que paramètre de sortie :
Si l'entrée EN de Function/Procedure_1 est réglée sur 0, la connexion de sortie OUT de
Function/Procedure_1 est également réglée sur 0.
20
33002552 12/2018
Types de module et leur utilisation

Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent une variable et
une liaison en tant que paramètres de sortie :
Si l'entrée EN de Function/Procedure_1 est réglée sur 0, la connexion de sortie OUT de
Function/Procedure_1 est également réglée sur 0. La variable OUT1 présente sur la
même broche conserve son état précédent ou peut être modifiée de manière externe sans
incidence sur la connexion. La variable et la liaison sont enregistrées indépendamment l'une
de l'autre.
Le comportement de la sortie des FFB ne dépend pas de la façon dont les FFB sont appelés (sans
EN/ENO ou avec EN=1).
Appel de FFB conditionnel/inconditionnel
Un FFB peut être appelé de manière « conditionnelle » ou « inconditionnelle ». La condition est
établie en pré-connectant l'entrée EN.
 Entrée EN connectée
appels conditionnels (le FFB est exécuté uniquement si EN = 1)
 Entrée EN affichée, masquée et marquée comme TRUE, ou affichée et non occupée
appels inconditionnels (le FFB est traité indépendamment de l'entrée EN)
NOTE : pour les blocs fonction désactivés (EN = 0) équipés d'une fonction d'horloge interne (par
exemple DELAY), le temps semble s'écouler, étant donné qu'il est calculé à l'aide d'une horloge
système et qu'il est, par conséquent, indépendant du cycle du programme et de la libération du
bloc.
ATTENTION
EQUIPEMENT D'APPLICATION IMPREVU
Ne désactivez pas les blocs fonction équipés d'une fonction d'horloge interne en cours de
fonctionnement.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
33002552 12/2018
21
Types de module et leur utilisation
Remarque concernant les langages IL et ST
Les paramètres EN et ENO peuvent uniquement être utilisés dans les langages textuels et dans le
cadre d'un appel de FFB formel, par exemple :
MY_BLOCK (EN:=enable, IN1:=var1, IN2:=var2,
ENO=>error, OUT1=>result1, OUT2=>result2);
L'affectation de variables à ENO doit être effectuée à l'aide de l'opérateur =>.
EN et ENO ne peuvent pas être utilisés pour un appel informel.
22
33002552 12/2018
EcoStruxure™ Control Expert
Disponibilité des blocs
33002552 12/2018
Chapitre 2
Disponibilité des blocs sur les différentes plates-formes matérielles
Disponibilité des blocs sur les différentes plates-formes
matérielles
Disponibilité des blocs sur les différentes plates-formes matérielles
Introduction
Tous les blocs ne sont pas disponibles sur toutes les plates-formes matérielles. Les tableaux
suivants indiquent les blocs disponibles sur votre plate-forme matérielle.
Avancé
Disponibilité des blocs :
Nom de bloc
Type de bloc
M340
M580
Momentum
Premium
Quantum
FCT_ACCEPT
Procédure
-
-
-
+
-
FCT_BIND
Procédure
-
-
-
+
-
FCT_BIND_UINT
Procédure
-
-
-
+
-
FCT_CLOSE
Procédure
-
-
-
+
-
FCT_CONNECT
Procédure
-
-
-
+
-
FCT_CONNECT_UINT
Procédure
-
-
-
+
-
FCT_LISTEN
Procédure
-
-
-
+
-
FCT_RECEIVE
Procédure
-
-
-
+
-
FCT_SELECT
Procédure
-
-
-
+
-
FCT_SEND
Procédure
-
-
-
+
-
FCT_SETSOCKOPT
Procédure
-
-
-
+
-
FCT_SHUTDOWN
Procédure
-
-
-
+
-
FCT_SOCKET
Procédure
-
-
-
+
-
Légende :
+
Disponible
-
Non disponible
33002552 12/2018
23
Disponibilité des blocs
24
33002552 12/2018
EcoStruxure™ Control Expert
Présentation de TCP Open
33002552 12/2018
Partie II
Présentation de TCP Open
Présentation de TCP Open
Vue d'ensemble
Cette partie présente le service TCP Open, qui peut être utilisé avec les fonctions élémentaires
(EF) de Control Expert.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
33002552 12/2018
Titre du chapitre
Page
3
Général
27
4
Avertissements
29
5
Description du fonctionnement
31
6
Modes de fonctionnement et performances
47
25
Présentation de TCP Open
26
33002552 12/2018
EcoStruxure™ Control Expert
Général
33002552 12/2018
Chapitre 3
Général
Général
Aspects et principes généraux de TCP Open
Présentation
TCP Open pour Premium propose un jeu de fonctions élémentaires (EF) et des blocs fonction
dérivés (DFB) qui offrent des services TCP/IP dans une application d'automatisation sur les
automates Premium.
Les EF et les DFB TCP Open sont installés à partir d'un CD. Une fois installés dans Control Expert,
ils apparaissent dans la bibliothèque TCP Open sous la famille Avancé.
Ces fonctions prédéfinies peuvent être utilisées dans les applications TCP/IP client/serveur sans
que cela suppose une connaissance préalable de langages de programmation tels que C ++ ou
Java.
La programmation s'effectue directement à travers l'utilisation des EF et des DFB dans le langage
d'automatisation souhaité (ST, LD, FBD ou IL).
TCP Open est disponible sur les modules suivants :


TSX ETY 110WS
TSX ETY 5103
Cette documentation contient une description des EF pour TCP Open. La documentation
concernant les DFB pour TCP Open est fournie sur le CD d'installation.
33002552 12/2018
27
Général
28
33002552 12/2018
EcoStruxure™ Control Expert
Avertissements
33002552 12/2018
Chapitre 4
Avertissements
Avertissements
Remarques et avertissements
Présentation
La mise en œuvre de services TCP/IP via les EF TCP Open est relativement simple. Il existe
néanmoins quelques conditions préalables à cette mise en œuvre, laquelle repose sur les mêmes
principes de développement qu'une application automatisée standard.
Remarques
Pour utiliser la bibliothèque d'EF TCP Open, vous devez avoir un minimum de connaissances sur
l'utilisation des applications TCP/IP et le fonctionnement des systèmes de sockets.
La mise en œuvre de services client/serveur obéit à certaines règles de programmation que vous
devez comprendre.
AVERTISSEMENT
FONCTIONNEMENT INATTENDU DE L'EQUIPEMENT
La mise en œuvre et la maintenance de TCP Open doivent être effectuées par un personnel
qualifié uniquement, disposant des compétences nécessaires pour gérer les sockets. Ce
document ne doit pas être considéré comme suffisant pour former une personne sans
qualification au développement de services TCP/IP.
Bien que toutes les précautions raisonnables aient été prises pour garantir l'exactitude et le
caractère incontestable des informations fournies dans le présent document, Schneider Electric
ne saurait être tenu responsable des éventuelles conséquences découlant de l'utilisation de ce
document.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
33002552 12/2018
29
Avertissements
Responsabilités
Schneider Electric décline toute responsabilité par rapport aux problèmes suivants :
AVERTISSEMENT
ERREUR SYSTEME INATTENDUE
La conception d'un système TCP Open implique :
 de vérifier et valider la conception de l'architecture du système de communication (modes et
protocoles de fonctionnement client/serveur, performances, etc.),
 de vérifier la mise en œuvre d'EF appropriées (ou de la réutilisation des exemples d'EF inclus
dans le kit TCP Open),
 de tester et valider les EF intégrées dans l'architecture du système de communication,
 de réaliser une maintenance appropriée et de gérer les erreurs de diagnostic.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
30
33002552 12/2018
EcoStruxure™ Control Expert
Fonctionnement
33002552 12/2018
Chapitre 5
Description du fonctionnement
Description du fonctionnement
Objet de ce chapitre
Ce chapitre décrit les principes qui régissent le fonctionnement et la mise en œuvre d'un service
TCP/IP à l'aide des EF prédéfinies de TCP Open.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Règles de fonctionnement des EF TCP Open
32
Principe de fonctionnement d'un socket
33
Structure générale d'une EF de communication TCP Open
35
Structure des paramètres de gestion TCP Open
36
Paramètres de gestion : rapports de communication et d'opération
38
Modèle client/serveur
40
Exemples d'applications client/serveur
42
33002552 12/2018
31
Fonctionnement
Règles de fonctionnement des EF TCP Open
Exécution d'une EF TCP Open
Les EF TCP Open sont exécutées de façon asynchrone avec le cycle de l'automate. Chaque appel
d'EF déclenche une transaction avec le module Ethernet concerné (TSX ETY 5103 ou
TSX ETY 110WS).
La transaction démarre à la fin du cycle de l'automate et son exécution complète peut prendre
plusieurs cycles. Par conséquent, il est nécessaire de gérer la séquence des appels de façon à ne
pas saturer le module ou demander une action alors que l'action précédente n'est pas encore
terminée.
Il est possible d'appeler plusieurs services TCP/IP dans le même cycle d'automate. Cependant, il
n'est pas certain qu'ils seront traités dans l'ordre chronologique des appels.
NOTE : Nous vous conseillons d'attendre la fin de l'exécution d'une fonction avant de demander
un nouveau service sur le même socket.
Par exemple, attendez que l'EF FCT_SOCKET soit renvoyée avant d'appeler l'EF FCT_BIND et
attendez que l'EF FCT_BIND soit renvoyée avant d'appeler l'EF FCT_LISTEN.
EF fournies
Le nombre de fonctions TCP Open fournies et leur mode d'utilisation ont été délibérément limités
pour simplifier la mise en œuvre de ces services.
De plus, certains paramètres sont exigés par le module TSX ETY 5103. Ces limites sont décrites
en détail dans la description de la fonction FCT_SOCKET (voir page 93).
32
33002552 12/2018
Fonctionnement
Principe de fonctionnement d'un socket
Introduction
Le socket est l'élément de base de la communication TCP. C'est lui qui transporte les données.
Les sockets fournis par la bibliothèque de fonctions TCP/IP ne servent qu'à la gestion des flux et
à la connexion entre deux équipements.
NOTE : L'architecture TSX ETY 5103 Premium peut prendre en charge jusqu'à 64 sockets. Ils
peuvent être utilisés comme sockets d'écoute (serveur) ou comme sockets connectés (client).
Dans une application serveur, au moins 1 socket doit être configuré comme socket d'écoute. C'est
la seule restriction stricte concernant le nombre de connexions côté client et côté serveur.
Pour créer un socket, vous pouvez utiliser la fonction FCT_SOCKET (voir page 93) ou la fonction
FCT_ACCEPT (voir page 55). La fonction renvoie un numéro qui sert à accéder au socket.
Etablissement d'une connexion serveur
Le tableau suivant décrit les différentes étapes à mettre en œuvre côté serveur pour établir une
connexion.
Etape
Action
1
Créer un socket à l'aide de la fonction FCT_SOCKET.
2
Associer le socket créé à une adresse (numéro de port et adresse IP) à l'aide
de la fonction FCT_BIND (voir page 59).
3
Configurer le socket de sorte qu'il accepte les connexions à l'aide de la fonction
FCT_LISTEN (voir page 71).
Remarque : L'automate sert de serveur TCP : le socket initial écoute et reçoit
les appels de connexion du socket client.
4
Appliquer la fonction FCT_ACCEPT (voir page 55) à ce socket pour créer un
nouveau socket qui établira la connexion.
Remarque : Ce nouveau socket est alors connecté au socket client et son
numéro est renvoyé par la fonction FCT_ACCEPT. Le socket initial est alors
libéré pour les autres clients qui souhaitent se connecter au serveur.
Etablissement d'une connexion client
Le tableau suivant décrit les différentes étapes à mettre en œuvre côté client pour établir une
connexion.
Etape
Action
1
Créer un socket à l'aide du bloc fonction FCT_SOCKET. Le bloc renvoie un
numéro de socket qui servira dans les blocs fonction suivants.
2
La fonction FCT_CONNECT permet d'établir une connexion avec un autre
équipement Ethernet en spécifiant son adresse IP et le port que vous utiliserez
pour la communication.
33002552 12/2018
33
Fonctionnement
Echange de données via une connexion TCP
Une fois la connexion établie, les données peuvent être transférées. Les transferts sont exécutés
par les fonctions FCT_SEND (voir page 81) et FCT_RECEIVE (voir page 73). Le schéma cidessous montre comment fonctionnent ces échanges.
Gestion des sockets
D'autres fonctions peuvent être utilisées pour agir sur les sockets.




34
FCT_SETSOCKOPT (voir page 85) : associe des options à un socket. Ces options modifient le
comportement du socket.
FCT_SELECT (voir page 77) : sert à tester les événements sur les sockets.
FCT_SHUTDOWN (voir page 89) : désactive la transmission sur le socket.
FCT_CLOSE (voir page 63) : libère le descripteur du socket lorsqu'il n'est plus utilisé.
33002552 12/2018
Fonctionnement
Structure générale d'une EF de communication TCP Open
Présentation
Les fonctions de communication sont traitées de façon asynchrone par rapport au cycle de
l'automate. Une fonction lancée au cours d'un cycle s'exécute sur plusieurs cycles successifs.
Les paramètres d'une fonction de communication TCP Open sont les suivants :



Numéro d'interface
Paramètres spécifiques
Paramètres de gestion
Numéro d'interface
Le numéro d'interface correspond au numéro d'emplacement du module ETY dans le rack
principal.
NOTE : Seul le rack 0 peut accueillir un module Ethernet utilisant les fonctions de communication
TCP Open.
Dans le cas de TSXETY5103, l'architecture Premium divise cet entier en 2 octets.


L'octet de poids faible contient le numéro d'emplacement des sockets.
L'octet de poids fort peut être utilisé pour augmenter le nombre de sockets de la façon suivante :
 00 sert à garantir une compatibilité descendante totale avec les applications créées avec une
version 3.3 ou antérieure du micrologiciel.
 01 indique qu'il est possible d'utiliser 64 sockets. La version du micrologiciel doit être
supérieure à 3.3 pour prendre en charge cette extension des sockets.
NOTE : Lorsque vous définissez la valeur de l'octet de poids sur 01 (pour augmenter le nombre de
sockets à 64), vérifiez que la version du micrologiciel TSXETY5103 est suffisante. Si vous tentez
de paramétrer ainsi l'octet de poids fort avec une version 3.3 ou inférieure du micrologiciel, le
module entrera dans un cycle incessant de redémarrages et ne sera pas opérationnel.
Paramètres spécifiques
Ces paramètres sont spécifiques à chaque fonction. Il peut y en avoir plusieurs, auquel cas ils sont
séparés par des virgules. Ils sont décrits dans les chapitres spécifiques à chaque fonction.
Paramètres de gestion
Les paramètres de gestion sont représentés par une matrice de 4 entiers également appelée Table
de gestion (voir page 36). Elle est identique à celle des EF de communication standard à ceci près
que le numéro d'échange n'est pas géré et la temporisation diffère.
33002552 12/2018
35
Fonctionnement
Structure des paramètres de gestion TCP Open
Présentation
Les paramètres de gestion sont regroupés dans un tableau de quatre entiers. Les valeurs
contenues dans ce tableau servent à contrôler les fonctions de communication.
NOTE : Dans la documentation technique, ces paramètres sont également désignés par les
termes de table de gestion ou de compte rendu/rapport de gestion.
Structure
Le tableau ci-dessous décrit la structure des données de la table de gestion des fonctions de
communication :
Ordre des mots
Octet de poids fort
Octet de poids faible
1
Réservé
Bit d'activité
2
Compte rendu d'opération
Compte rendu de
communication
3
Réservé
4
Longueur
Bit d'activité
Ce bit indique l'état d'exécution de la fonction de communication.
Il prend la valeur 1 au lancement et revient à 0 une fois l'exécution terminée.
Il s'agit du premier bit du premier élément de la table.
Exemple : Si la table de gestion a été déclarée de la façon suivante :
Tab_Gest ARRAY [1..4] OF INT, le bit d'activité est le bit avec la notation Tab_Gest[1].0.
NOTE : Pour utiliser cette notation, Control Expert doit être utilisé en mode non IEC. Dans le cas
contraire, Tab_Gest[1].0 n'est pas accessible de cette manière.
Compte rendu d'opération
Les comptes rendus d'opération sont décrits dans Rapport d'opération, page 39.
Compte rendu de communication
Les comptes rendus de communication sont décrits dans Rapport de communication, page 38.
36
33002552 12/2018
Fonctionnement
Longueur
Le paramètre de longueur est utilisé avec les fonctions FCT_SEND (voir page 81) et FCT_RECEIVE
(voir page 73). Il est aussi utilisé avec la fonction FCT_SELECT (voir page 67). Avec FCT_SELECT,
le champ de longueur n'est pas utilisé lorsque l'octet de poids fort du paramètre INTE est défini sur
00. Lorsque l'octet de poids fort du paramètre INTE est à 01, vous devez définir la longueur sur 8.
La valeur 8 permet de voir les données associées aux 64 connexions. Si vous choisissez une
valeur inférieure, 4 par exemple, vous ne verrez que les données associées aux 32 premières
connexions.
33002552 12/2018
37
Fonctionnement
Paramètres de gestion : rapports de communication et d'opération
Présentation
Les rapports de communication et d'opération font partie des paramètres de gestion.
NOTE : il est recommandé de toujours tester les rapports de la fonction de communication à la fin
de leur exécution et avant leur prochaine activation. En cas de redémarrage à froid, vous devez
systématiquement vérifier que tous les paramètres de gestion des fonctions de communication
sont remis à 0.
Rapport de communication
Ce rapport est commun à toutes les fonctions. Il est pertinent lorsque le bit d'activité passe de 1
à 0.
Les rapports dont la valeur est comprise entre 16#01 et 16#FE concernent les erreurs détectées
par le processeur qui a exécuté la fonction.
Les différentes valeurs de ce rapport sont répertoriées dans le tableau suivant :
Valeur
Rapport de communication (octet de poids faible)
16#00
Echange réussi
16#01
Arrêt de l’échange sur time-out
NOTE : lorsqu'une UC Modbus M340 envoie une requête DIFFUSION
MODBUS, ce code d'erreur s'affiche même si la diffusion a abouti.
16#05
Format du paramètre Management incorrect
16#06
Paramètres spécifiques incorrects
16#07
Module réseau manquant ou adresse incorrecte
16#0B
Aucune ressource système : le nombre d'EF de communication simultanées
dépasse le nombre maximum autorisé par le processeur
16#0E
Longueur d'envoi incorrecte
16#FF
Message refusé
NOTE : la valeur OK est renvoyée lorsqu'un TSX SCP ••• ou un TSX SCY •••
envoie une requête MODBUS BROADCAST.
NOTE : cette fonction peut détecter une erreur dans les paramètres avant d'activer l'échange.
Dans ce cas, le bit d'activité reste à 0 et le rapport est initialisé avec les valeurs correspondant à
l'erreur.
38
33002552 12/2018
Fonctionnement
Rapport d'opération
Ce rapport décrit le résultat de l'interaction de la fonction avec la pile TCP/IP du module réseau.
Il n'est pertinent que si le rapport de communication a les valeurs suivantes :
16#00 (échange réussi)
 16#FF (message refusé)

Si ce rapport a une valeur égale à 16#00, le rapport d'opération est propre à chaque fonction. Il est
décrit dans les chapitres consacrés à ces fonctions.
Si le rapport de communication a pour valeur 16#FF, le rapport d'opération a les valeurs
suivantes :
Valeur
Rapport d'opération (octet de poids fort)
16#0B
Aucune ressource système : le nombre d'EF de communication simultanées
dépasse le nombre maximum autorisé par le processeur
16#0C
Module réseau arrêté
33002552 12/2018
39
Fonctionnement
Modèle client/serveur
Présentation
Le modèle client/serveur est constitué de deux entités. L'une d'elle sert de serveurrépondant aux
requêtes, l'autre sert de client et est à l'origine de la requête.
Le fonctionnement du modèle client/serveur est basé sur un protocole spécifique qui doit être
implémenté à l'une des extrémités de la connexion.
Une description de ce protocole est proposée dans les paragraphes qui suivent.
NOTE : Si vous développez votre propre application client/serveur, vous êtes responsable du test
et de la gestion des connexions.
Description
Le modèle fonctionne de la manière suivante :




40
L'application serveur écoute.
Une application cliente demande des services à l'application serveur.
L'application serveur accepte la requête.
Des échanges sont effectués entre les deux entités.
33002552 12/2018
Fonctionnement
Illustration
Illustration du fonctionnement du modèle client/serveur
33002552 12/2018
41
Fonctionnement
Exemples d'applications client/serveur
Présentation
Les connexions sont gérées par le programme d'application. Un client mettant fin à une connexion
sans respecter la séquence TCP (suite à une coupure secteur par exemple) sera toujours
considéré comme étant connecté tant qu'aucune autre donnée n'aura été envoyée ou qu'aucun
autre événement ne se sera produit.
Les paragraphes qui suivent proposent trois exemples significatifs qui devraient vous permettre de
mieux comprendre le fonctionnement de l'architecture.
Le côté client est représenté sous forme de diagramme de flux, tandis que le côté serveur est
représenté sous forme d'une séquence d'opérations étroitement liées aux événements du côté
client.
Le scénario de l'exemple 2 représente une connexion coupée côté client après FCT_RECEIVE (Sj)
car il n'y a pas de boucle de traitement SEND_RECEIVE.
42
33002552 12/2018
Fonctionnement
Exemple 1
Le diagramme ci-dessous décrit le fonctionnement d'une application serveur lors du traitement de
deux connexions demandées par deux clients.
33002552 12/2018
43
Fonctionnement
Exemple 2
Le diagramme ci-dessous décrit le fonctionnement d'une application serveur lors du traitement de
deux connexions demandées par le même client. La première déconnexion n'a pas été effectuée
en respectant la procédure TCP correcte (comme dans le cas d'une coupure secteur par exemple).
Le socket sera donc considéré comme étant toujours connecté tant que le client n'aura pas
effectué de nouvelle connexion.
44
33002552 12/2018
Fonctionnement
Exemple 3
Le diagramme ci-dessous décrit le fonctionnement d'une application serveur lors du traitement de
deux connexions demandées par le même client. La première déconnexion n'a pas été effectuée
en respectant la procédure TCP correcte (comme dans le cas d'une coupure secteur par exemple).
Le socket sera donc considéré comme étant toujours connecté tant qu'aucune donnée n'aura été
envoyée par le serveur.
33002552 12/2018
45
Fonctionnement
46
33002552 12/2018
EcoStruxure™ Control Expert
Modes de fonctionnement et performances
33002552 12/2018
Chapitre 6
Modes de fonctionnement et performances
Modes de fonctionnement et performances
Objet de ce chapitre
Ce chapitre tente de vous donner un aperçu des modes de fonctionnement, notions de base
requises pour la mise au point, et des caractéristiques de performances du module TSX ETY 5103
(module Ethernet qui prend en charge les fonctions TCP Open).
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Modes opératoires du module réseau
48
Performances
50
Mise au point et diagnostic
51
33002552 12/2018
47
Modes de fonctionnement et performances
Modes opératoires du module réseau
Vue d'ensemble
Le module TSX ETY 5103 présente 4 états de fonctionnement :




hors tension
exécution d'auto-tests
configuré
non configuré
Les auto-tests sont effectués sous tension.
Le module ne fonctionne pas avec la configuration par défaut.
La configuration doit être envoyée à l'automate via le socket du terminal et non via le réseau.
Si le module n'est pas correctement configuré, il ne peut pas traiter les sockets et un message de
refus est renvoyé aux fonctions TCP Open.
Envoi de la configuration au module
La configuration est envoyée au module dans les cas suivants :





48
lorsqu'une application est téléchargée,
lorsque l'automate est mis sous tension,
lorsque le module est connecté au rack et qu'il est sous tension,
en cas de redémarrage à chaud ou à froid,
en cas de réinitialisation de l'automate Premium.
33002552 12/2018
Modes de fonctionnement et performances
Mode de fonctionnement après configuration
AVERTISSEMENT
COMPORTEMENT INATTENDU DE L'APPLICATION - REDEMARRAGE A CHAUD OU A
FROID
Le programmeur doit tester les bits système %S0 et %S1 dans son application pour recréer les
connexions en cas de démarrage à chaud ou à froid. Le programmeur doit aussi tester le bit
système %S13 dans son application pour vérifier le premier balayage après une commande
STOP/RUN à l'aide de l'application logicielle de l'automate.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Une fois qu'une configuration a été définie, le module fonctionne de la façon suivante :
Etape
Action
1
Le module réinitialise la communication en cours.
Résultat : les échanges en cours sont interrompus, les connexions TCP Open
sont fermées et tous les sockets sont supprimés.
2
Le module se reconfigure lui-même.
3
Le module est prêt à traiter les fonctions de communication TCP Open de
l'application.
33002552 12/2018
49
Modes de fonctionnement et performances
Performances
Nombre de connexions simultanées
Le nombre maximum de connexions TCP/IP simultanées à un TSX ETY 5103 est de :


32 si l'octet de poids fort du paramètre INTE a pour valeur 00. Il peut y avoir 16 sockets
connectés (client) et 16 sockets d'écoute (serveur).
64 si l'octet de poids fort du paramètre INTE a pour valeur 01. Les 64 sockets peuvent être
utilisés au choix comme des sockets d'écoute (serveur) ou des sockets connectés (client).
Toutes les combinaisons sont possibles, hormis une exception : dans une application serveur,
il doit y avoir au moins un socket d'écoute.
Echanges de données
Le volume de données maximum qui peut être envoyé dans un cycle d'automate est de 240 octets.
Cette limitation est due au mécanisme de bus X utilisé pour le transfert des données entre le
module et le processeur.
Si vous voulez transférer un message de 8 kilo-octets, vous devez le scinder en blocs de
240 octets. Si vous souhaitez garantir que l'ordre d'envoi des blocs sera respecté pour permettre
la reconstitution intégrale du message, vous devez envoyer un bloc par cycle. Dans notre exemple,
35 cycles d'automate (8*10024/240) seront donc nécessaires. Un cycle d'automate de 50 ms
prend 1,75 s.
NOTE : Ces calculs se basent sur l'utilisation d'un seul socket. Si vous gérez plusieurs clients, vous
devez tenir compte du nombre de sockets connectés.
Pour un protocole de messagerie, une interface de niveau inférieur doit gérer le processus de
fragmentation. Dans ce cas, les performances dépendent du nombre de fonctions FCT_SEND
(voir page 81) ou FCT_RECEIVE (voir page 73) exécutées dans un même cycle d'automate.
Les performances peuvent être réduites si le module TSX ETY 5103 est déjà utilisé pour d'autres
tâches de communication (IO Scanning, Global Data, etc.).
50
33002552 12/2018
Modes de fonctionnement et performances
Mise au point et diagnostic
Ecran de mise au point
En mode connecté (en ligne) le logiciel Control Expert permet de mettre au point l'application grâce
à des écrans spécifiques.
L'écran de mise au point de module peut servir à cela. Soulignons néanmoins les points suivants :
Le nombre de connexions affichées inclut :
 les connexions à profil ouvert (TCP Open)
 les connexions à profil privé (adresse déclarée dans la configuration)


Les adresses IP des profils ouverts ne peuvent pas être affichées dans cet écran.
Tests des communications IP
La fenêtre de test des communications permet de tester les communications IP avec les
équipements client si l'adresse IP du client est déclarée en tant qu'équipement distant (utilisée par
le profil privé).
La liste des adresses IP configurées permet de sélectionner la station avec laquelle communiquer
grâce à l'activation d'une commande "ping" qui renvoie un état indiquant le retour de boucle ou le
dépassement de la temporisation du message.
33002552 12/2018
51
Modes de fonctionnement et performances
52
33002552 12/2018
EcoStruxure™ Control Expert
Avancé
33002552 12/2018
Partie III
Avancé
Avancé
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Avancé.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
7
FCT_ACCEPT : accepte une requête de connexion
55
8
FCT_BIND : relie un numéro de socket à une adresse IP et à un port
59
9
FCT_CLOSE : supprime le socket spécifié
63
10
FCT_CONNECT : établit une connexion avec une adresse IP
67
11
FCT_LISTEN : configuration d'une connexion en attente de socket
71
12
FCT_RECEIVE : récupère les données disponibles sur un socket
73
13
FCT_SELECT : multiplexe les requêtes sur les sockets
77
14
FCT_SEND : envoi de données à un socket spécifique
81
15
FCT_SETSOCKOPT : configure les options associées au socket
85
16
FCT_SHUTDOWN : désactive la transmission sur le socket
89
17
FCT_SOCKET : création d'un nouveau socket
93
33002552 12/2018
53
Avancé
54
33002552 12/2018
EcoStruxure™ Control Expert
FCT_ACCEPT
33002552 12/2018
Chapitre 7
FCT_ACCEPT : accepte une requête de connexion
FCT_ACCEPT : accepte une requête de connexion
Description
Description de la fonction
La fonction FCT_ACCEPT permet d'accepter une requête de connexion reçue par le socket
spécifié.
Cette requête de connexion provient d'un socket étranger.
Pour pouvoir appeler FCT_ACCEPT, il faut configurer un socket de sorte qu'il puisse recevoir une
requête de connexion en appelant FCT_LISTEN. La fonction FCT_ACCEPT :




extrait la première requête de connexion dans la file d'attente des connexions ;
crée un socket connecté ayant les mêmes propriétés que le socket d'origine ;
termine la connexion entre le socket étranger et le nouveau socket ;
renvoie un numéro pour le nouveau socket.
Ce nouveau numéro de socket permet de lire et d'écrire des données sur le socket étranger. Il ne
sert pas à accepter de nouvelles connexions. Le socket d'origine reste ouvert, prêt à accepter de
nouvelles connexions.
S'il n'y a aucune connexion en file d'attente, FCT_ACCEPT renvoie une erreur.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
33002552 12/2018
55
FCT_ACCEPT
Représentation en LD
Représentation en IL
Nombre de modules LD
FCT_ACCEPT Socket_Number, Clie_Index, Gest_Index, Management_Param,
Client_Address
Représentation en ST
FCT_ACCEPT(Module_Number, Socket_Number, Clie_Index, Gest_Index,
Management_Param, Client_Address);
56
33002552 12/2018
FCT_ACCEPT
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau
dans le rack 0.
 L'octet de poids faible est le numéro
d'emplacement du module réseau dans le
rack 0.
 L'octet de poids fort peut être utilisé pour
augmenter le nombre de sockets.
 00 : garantit une compatibilité
descendante totale avec les applications
créées avec une version 3.3 ou
antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à 64
sockets (la version du micrologiciel doit
être supérieure à 3.3).
Socket_Number
INT
Numéro du socket
Clie_Index
INT
Index du premier mot dans la matrice
Client_Address
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Client_Address
ARRAY [0... 3] OF Matrice de 4 mots contenant le numéro du
INT
socket de service, le numéro de port et
l'adresse IP du client :
 Client_Address[0] : numéro du socket
connecté
 Client_Address[1] : numéro de port du
client
 Client_Address[2] : mot de poids faible
de l'adresse IP du client
 Client_Address[3] : mot de poids fort de
l'adresse IP du client
33002552 12/2018
Commentaire
57
FCT_ACCEPT
Le tableau suivant décrit les paramètres d'E/S :
58
Paramètre
Type
Management_Param
ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 36)
INT
Le rapport d'opération peut afficher les valeurs
suivantes :
 16#00 : pas d'erreur
 16#09 : numéro de socket non valide
 16#16 : la fonction FCT_LISTEN doit être
appelée avant FCT_ACCEPT
 16#23 : pas de requête de connexion
Commentaire
33002552 12/2018
EcoStruxure™ Control Expert
FCT_BIND
33002552 12/2018
Chapitre 8
FCT_BIND : relie un numéro de socket à une adresse IP et à un port
FCT_BIND : relie un numéro de socket à une adresse IP et à
un port
Description
Description de la fonction
La fonction FCT_BIND permet d'affecter un numéro de port et une adresse Internet à un socket.
Un socket étant créé sans adresse, il ne peut pas être utilisé pour recevoir des données (à part les
requêtes de connexion) tant qu'aucune adresse ne lui a été affectée. L'adresse Internet est fixée
par le module réseau et correspond à son adresse IP locale. L'utilisateur n'est pas autorisé à
utiliser les numéros de port déjà utilisés par le module réseau. Il s'agit des numéros de port
suivants :










20 et 21 (ports FTP)
23 (port Telnet)
67 et 68 (ports BOOTP DHCP)
80 (port HTTP)
161 et 162 (ports SNMP)
502 (port Schneider Electric)
5 000 et 5 001 (ports spécifiques de module)
1 024 (ports TCP USER)
3 124 (port d'E/S)
7 400 à 8 400 (ports RTPS)
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
33002552 12/2018
59
FCT_BIND
Représentation en LD
Représentation en IL
LD Module_Number
FCT_BIND Socket_Number, Port_Number, Gest_Index, Management_Param
Représentation en ST
FCT_BIND(Module_Number, Socket_Number, Port_Number, Gest_Index,
Management_Param);
Description des paramètres
Le tableau ci-après décrit les paramètres d'entrée.
60
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau dans le
rack 0.
 L'octet de poids faible est le numéro d'emplacement
du module réseau dans le rack 0.
 L'octet de poids fort peut être utilisé pour augmenter
le nombre de sockets.
 00 : garantit une compatibilité descendante totale
avec les applications créées avec une
version 3.3 ou antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à 64 sockets (la
version du micrologiciel doit être supérieure
à 3.3).
Socket_Number
INT
Numéro du socket
33002552 12/2018
FCT_BIND
Paramètre
Type
Commentaire
Port_Number
INT
Numéro de port à affecter au socket.
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Le tableau ci-après décrit les paramètres d'entrée/sortie.
Paramètre
Type
Commentaire
Management_Param
ARRAY [0... 3]
OF INT
Matrice de gestion des fonctions (voir page 36)
Le rapport d'opération peut afficher les valeurs
suivantes :
 16#00 : pas d'erreur
 16#09 : numéro de socket non valide
 16#16 : le socket est déjà lié
 16#30 : le port spécifié est déjà utilisé
 16#37 : le numéro de port spécifié n'est pas
disponible
 16#41 : aucun routage vers l'hôte
Configuration des numéros de port au-delà de 32 K
Le paramètre de port est associé au type de données Entier. Pour utiliser des numéros de port
supérieurs à 15 bits (supérieurs à 32 K), vous devez utiliser le bloc fonction UINT_TO_INT pour
convertir le format Entier non signé (codé sur 16 bits) au format Entier. Utilisez le bloc
fonction UINT_TO_INT avant d'utiliser EF FCT_BIND ou FCT_CONNECT en présence d'un
numéro de port supérieur à 32 K.
Paramètre d'entrée :
Paramètre
Type de données
Signification
UINT_variable
UINT
valeur en entrée
Paramètre de sortie :
Paramètre
Type de données
Signification
ConvertedVariable
INT
valeur en sortie
33002552 12/2018
61
FCT_BIND
62
33002552 12/2018
EcoStruxure™ Control Expert
FCT_CLOSE
33002552 12/2018
Chapitre 9
FCT_CLOSE : supprime le socket spécifié
FCT_CLOSE : supprime le socket spécifié
Description
Description de la fonction
La fonction FCT_CLOSE permet de supprimer le socket spécifié.
NOTE : Si le numéro de socket n'est pas indiqué ou s'il est égal à 0, tous les sockets ouverts sont
supprimés.
Comme les sockets ont été ouverts lors de l'utilisation de la fonction FCT_SOCKET, via l'option
SO_LINGER, la fonction FCT_CLOSE n'est pas bloquée, même si les files d'attente n'ont pas
encore été envoyées ou n'ont pas fait l'objet d'un accusé de réception. On parle dans ce cas
d'abandon car le circuit virtuel du socket est immédiatement réinitialisé et toutes les données non
envoyées sont perdues.
Tout appel de la fonction FCT_RECEIVE de l'autre côté du circuit échouera et générera le message
d'erreur : connexion réinitialisée (16#36).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
33002552 12/2018
63
FCT_CLOSE
Représentation en LD
Représentation en IL
LD Module_Number
FCT_CLOSE Socket_Number, Gest_Index, Management_Param
Représentation en ST
FCT_CLOSE(Module_Number, Socket_Number, Gest_Index, Management_Param);
64
33002552 12/2018
FCT_CLOSE
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau
dans le rack 0.
 L'octet de poids faible est le numéro
d'emplacement du module réseau dans le
rack 0.
 L'octet de poids fort peut être utilisé pour
augmenter le nombre de sockets.
 00 : garantit une compatibilité
descendante totale avec les applications
créées avec une version 3.3 ou
antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à 64
sockets (la version du micrologiciel doit
être supérieure à 3.3).
Socket_Number
INT
Numéro de port à supprimer. Si
Socket_Number a pour valeur 0, tous les
sockets sont supprimés.
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Le tableau suivant décrit les paramètres d'E/S :
Paramètre
Type
Management_Param
ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 36)
INT
Le rapport d'opération peut afficher les valeurs
suivantes :
 16#00 : pas d'erreur
 16#16 : numéro de socket non valide
33002552 12/2018
Commentaire
65
FCT_CLOSE
66
33002552 12/2018
EcoStruxure™ Control Expert
FCT_CONNECT
33002552 12/2018
Chapitre 10
FCT_CONNECT : établit une connexion avec une adresse IP
FCT_CONNECT : établit une connexion avec une adresse IP
Description
Description de la fonction
La fonction FCT_CONNECT permet d'établir une connexion vers un port connu et une adresse
Internet.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation en LD
33002552 12/2018
67
FCT_CONNECT
Représentation en IL
LD Module_Number
FCT_CONNECT Socket_Number, Serv_Index, Gest_Index, Server_Address,
Management_Param
Représentation en ST
FCT_CONNECT(Module_Number, Socket_Number, Serv_Index, Gest_Index,
Server_Address, Management_Param);
Description des paramètres
Le tableau ci-après décrit les paramètres d'entrée.
68
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau
dans le rack 0.
 L'octet de poids faible est le numéro
d'emplacement du module réseau dans le
rack 0.
 L'octet de poids fort peut être utilisé pour
augmenter le nombre de sockets.
 00 : garantit une compatibilité
descendante totale avec les applications
créées avec une version 3.3 ou
antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à
64 sockets (la version du micrologiciel
doit être supérieure à 3.3).
Socket_Number
INT
Numéro du socket
Serv_Index
INT
Index du premier mot dans la matrice
Server_Address
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Server_Address
INT
Matrice de 3 mots contenant le numéro de port
et l'adresse IP du serveur
33002552 12/2018
FCT_CONNECT
Le tableau ci-après décrit les paramètres d'E/S.
Paramètre
Type
Management_Param
ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 36)
INT
Le rapport d'opération peut afficher les valeurs
suivantes :
 16#00 : bon fonctionnement
 16#09 : numéro de socket non valide
 16#16 : paramètre non valide
 16#20 : connexion interrompue
 16#24 : connexion en cours
 16#38 : socket déjà connecté
 16#3D : connexion refusée
 16#41 : aucun routage vers l'hôte
Commentaire
Configuration des numéros de port au-delà de 32 K
Le paramètre de port est associé au type de données Entier. Pour utiliser des numéros de port
supérieurs à 15 bits (supérieurs à 32 K), vous devez utiliser le bloc fonction UINT_TO_INT pour
convertir le format Entier non signé (codé sur 16 bits) au format Entier. Utilisez le bloc
fonction UINT_TO_INT avant d'utiliser EF FCT_BIND ou FCT_CONNECT en présence d'un
numéro de port supérieur à 32 K.
Paramètre d'entrée :
Paramètre
Type de données
Signification
UINT_variable
UINT
valeur en entrée
Paramètre de sortie :
Paramètre
Type de données
Signification
ConvertedVariable
INT
valeur en sortie
33002552 12/2018
69
FCT_CONNECT
70
33002552 12/2018
EcoStruxure™ Control Expert
FCT_LISTEN
33002552 12/2018
Chapitre 11
FCT_LISTEN : configuration d'une connexion en attente de socket
FCT_LISTEN : configuration d'une connexion en attente de
socket
Description
Description de la fonction
La fonction FCT_LISTEN permet de configurer le socket spécifié pour qu'il puisse recevoir les
connexions.
Les demandes de connexion sont mises en file d'attente sur le socket jusqu'à leur acceptation par
la fonction FCT_ACCEPT. La longueur définie pour la file d'attente est de 16. Si une requête de
connexion arrive et que la file d'attente est complète, le client qui l'a envoyée obtient une erreur
ECONNREFUSED(16#3D).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation en LD
33002552 12/2018
71
FCT_LISTEN
Représentation en IL
LD Module_Number
FCT_LISTEN Socket_Number, Gest_Index, Management_Param
Représentation en ST
FCT_LISTEN(Module_Number, Socket_Number, Gest_Index, Management_Param);
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau
dans le rack 0.
 L'octet de poids faible est le numéro
d'emplacement du module réseau dans le
rack 0.
 L'octet de poids fort peut être utilisé pour
augmenter le nombre de sockets.
 00 : garantit une compatibilité
descendante totale avec les applications
créées avec une version 3.3 ou
antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à 64
sockets (la version du micrologiciel doit
être supérieure à 3.3).
Socket_Number
INT
Numéro du socket
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Le tableau suivant décrit les paramètres d'E/S :
72
Paramètre
Type
Management_Param
ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 36)
INT
Le rapport d'opération peut afficher les valeurs
suivantes :
 16#00 : pas d'erreur
 16#09 : numéro de socket non valide
Commentaire
33002552 12/2018
Chapitre 12
FCT_RECEIVE : récupère les données disponibles sur un socket
FCT_RECEIVE : récupère les données disponibles sur un
socket
Description
Description de la fonction
La fonction FCT_RECEIVE recherche les données disponibles sur le socket. La longueur maximale
des données à lire est de 240 octets.
La fonction renvoie le nombre d'octets lus dans le socket. Vous devez toujours contrôler cette
valeur car c'est la seule façon de vérifier le nombre réel d'octets de données enregistrés dans la
mémoire tampon du client.
NOTE : FCT_RECEIVE ne renvoie pas de données hors bande.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation en LD
73
Représentation en IL
LD Module_Number
FCT_RECEIVE Socket_Number, Pbuf_Index, Gest_Index, Management_Param,
Received_Data
Représentation en ST
FCT_RECEIVE(Module_Number, Socket_Number, Pbuf_Index, Gest_Index,
Management_Param, Received_Data);
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau
dans le rack 0.
 L'octet de poids faible est le numéro
d'emplacement du module réseau dans le
rack 0.
 L'octet de poids fort peut être utilisé pour
augmenter le nombre de sockets.
 00 : garantit une compatibilité
descendante totale avec les applications
créées avec une version 3.3 ou
antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à 64
sockets (la version du micrologiciel doit
être supérieure à 3.3).
Socket_Number
INT
Numéro du socket
Pbuf_Index
INT
Index du premier mot dans la matrice
Received_Data
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Le tableau suivant décrit les paramètres de sortie :
74
Paramètre
Type
Received_Data
Commentaire
ARRAY [0... n] OF Matrice de 240 octets maximum contenant les
INT
données lues sur le socket.
Le tableau suivant décrit les paramètres d'E/S :
Paramètre
Type
Management_Param
ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 36)
INT
Le rapport d'opération peut afficher les valeurs
suivantes :
 16#00 : pas d'erreur
 16#09 : numéro de socket non valide
 16#23 : aucune donnée à lire
 16#36 : connexion réinitialisée par
l'homologue
 16#39 : socket non connecté (socket
d'écoute)
 16#3C : délai du maintien d'activité dépassé
pour cause d'interruption de connexion
 16#0E : longueur de la chaîne de caractères
à recevoir supérieure à 240 octets
Commentaire
Le quatrième mot de la matrice doit contenir le
nombre d'octets reçus si aucune erreur ne s'est
produite.
75
76
EcoStruxure™ Control Expert
FCT_SELECT
33002552 12/2018
Chapitre 13
FCT_SELECT : multiplexe les requêtes sur les sockets
FCT_SELECT : multiplexe les requêtes sur les sockets
Description
Description de la fonction
La fonction FCT_SELECT permet de multiplexer les requêtes d'E/S sur plusieurs sockets. Elle
indique les sockets ayant des événements à traiter à l'aide d'une matrice de nombres entiers.
Pour la révision du micrologiciel ETY 5103, version 3.3 ou inférieure :

Un numéro compris entre 1 et 32 est affecté aux descripteurs de socket :
 Des numéros compris entre 1 et 16 sont affectés aux sockets créés par la fonction de socket.
Il s'agit de sockets clients.
 Des numéros compris entre 17 et 32 sont affectés aux sockets créés par la fonction
d'acceptation. Il s'agit de sockets serveurs.

La matrice de la tâche MASK (Socket_Activity) permet de diagnostiquer l'état des sockets
d'écoute (serveurs) et connectés (clients).
 Perspective du serveur : tout mot de la matrice utilise les bits disponibles de la matrice pour
correspondre au socket d'écoute de l'étape initiale. La fonction d'acceptation génère un
numéro de socket différent pour localiser son bit associé dans le deuxième mot de la matrice,
qui indique l'état de la connexion du serveur.
 Perspective du client : le premier mot de la matrice indique l'état de la connexion du client.
Pour le micrologiciel ETY 5103, version supérieure à la révision 3.3 :




Vous pouvez utiliser jusqu'à 64 sockets d'écoute (serveur) ou connectés (client). Dans une
application serveur, au moins 1 socket doit être configuré comme socket d'écoute. C'est la
seule restriction stricte concernant le choix entre les sockets d'écoute et les sockets connectés.
Pour déterminer les sockets d'écoute, consultez le numéro de socket fourni comme sortie par
la fonction de socket.
Pour déterminer les sockets connectés, consultez le numéro de socket fourni comme sortie par
la fonction d'acceptation.
La matrice de la tâche MASK (Socket_Activity) permet de diagnostiquer l'état des sockets
d'écoute et connectés, qui sont maintenant combinés dans une matrice de 2 ou 4 mots (voir la
remarque ci-dessous). Vous devez utiliser la sortie de la fonction de socket ou d'acceptation
pour localiser le bit correspondant dans la matrice. Reportez-vous à Socket_Activity dans
le tableau Description des paramètres (voir page 79).
NOTE : pour les versions supérieures à 3.3, la structure Management_Param requiert un
paramètre de longueur.
33002552 12/2018
77
FCT_SELECT
Le champ de longueur n'est pas utilisé lorsque l'octet de poids fort du paramètre INTE est réglé
sur 00. S'il est réglé sur 01, vous devez régler la longueur sur 8. La longueur 8 vous permet de
visualiser les données associées aux 64 connexions. Si vous choisissez une valeur inférieure,
comme 4 par exemple, vous ne verrez que les données associées aux 32 premières connexions.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation en LD
Représentation en IL
LD Module_Number
FCT_SELECT Mask_Index, Gest_Index, Management_Param, Socket_Activity
Représentation en ST
FCT_SELECT(Module_Number, Mask_Index, Gest_Index, Management_Param,
Socket_Activity);
78
33002552 12/2018
FCT_SELECT
Description des paramètres
Le tableau ci-après décrit les paramètres d'entrée.
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau dans le
rack 0.
 L'octet de poids faible est le numéro d'emplacement
du module réseau dans le rack 0.
 L'octet de poids fort peut être utilisé pour augmenter
le nombre de sockets.
 00: garantit une compatibilité ascendante totale
avec les applications créées avec la version 3.3
ou une version antérieure du micrologiciel.
 01: il est possible d'utiliser jusqu'à 64 sockets (la
version du micrologiciel doit être supérieure
à 3.3).
Mask_Index
INT
Index du premier mot dans la matrice
Socket_Activity
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Le tableau ci-après décrit les paramètres d'E/S.
Paramètre
Type
Commentaire
Management_Param
ARRAY [0... 3]
OF INT
Matrice de gestion des fonctions (voir page 36)
Pour cette fonction, le rapport d'opération
renvoie toujours la valeur 16#00, qui indique
l'absence d'erreur.
33002552 12/2018
79
FCT_SELECT
Le tableau ci-après décrit les paramètres de sortie.
Paramètre
Type
Commentaire
Socket_Activity
MATRICE [0... 1]
DE INT
- ou MATRICE [0... 3]
DE INT (reportezvous à la
remarque dans la
section
Description de la
fonction
(voir page 77).)
Etat de chaque socket. Chaque bit ayant la
valeur 1 indique un événement sur le socket
correspondant à ce bit. Exemple :
Pour la version 3.3 ou une version antérieure :
 Si le bit 5 du premier mot a la valeur 1, le
socket 6 sera lu par la fonction
FCT_ACCEPT.
 Si le bit 3 du deuxième mot a la valeur 1, le
socket 20 sera lu par la fonction
FCT_RECEIVE.
Pour les versions postérieures à la version 3.3 :
 Si un bit a la valeur 1 sur un socket d'écoute,
un serveur est prêt à accepter cette
connexion. Si un bit a la valeur 1 sur un
socket connecté, les données sont prêtes à
être envoyées ou la communication a été
interrompue.
Perspective du client : dès qu'une connexion
client est établie, le bit correspondant de la
connexion (numéro de socket) est réglé sur 1
dans la matrice. Exemple : le socket 33 se
trouvera dans le premier bit (bit 0) du
troisième mot.
Perspective du serveur : la fonction d'écoute
ouvre un socket. Le bit correspondant à ce
numéro de socket est réglé sur 1 dans la
matrice. Exemple : le socket 3 se trouvera dans
le troisième bit (bit 2) du troisième mot. Ensuite,
la fonction d'acceptation renverra un numéro de
socket différent, dont le bit correspondant sera
réglé sur 1 dans la matrice.
NOTE : le numéro de socket de la fonction
d'écoute restera à 1 jusqu'à la fermeture du
socket.
80
33002552 12/2018
EcoStruxure™ Control Expert
FCT_SEND
33002552 12/2018
Chapitre 14
FCT_SEND : envoi de données à un socket spécifique
FCT_SEND : envoi de données à un socket spécifique
Description
Description de la fonction
La fonction FCT_SEND permet d'envoyer des données à un socket étranger. La longueur maximale
des données à envoyer est de 240 octets.
NOTE : il est impossible d'envoyer des données hors bande.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
33002552 12/2018
81
FCT_SEND
Représentation en LD
Représentation en IL
LD Module_Number
FCT_SEND Socket_Number, Pbuf_Index, Gest_Index,Data_to_Send,
Management_Param
Représentation en ST
FCT_SEND(Module_Number, Socket_Number, Pbuf_Index,
Gest_Index,Data_to_Send, Management_Param);
82
33002552 12/2018
FCT_SEND
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau
dans le rack 0.
 L'octet de poids faible est le numéro
d'emplacement du module réseau dans le
rack 0.
 L'octet de poids fort peut être utilisé pour
augmenter le nombre de sockets.
 00 : garantit une compatibilité
descendante totale avec les applications
créées avec une version 3.3 ou
antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à 64
sockets (la version du micrologiciel doit
être supérieure à 3.3).
Socket_Number
INT
Numéro du socket
Pbuf_Index
INT
Index du premier mot dans la matrice
Pbuf_Address
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Data_to_Send
ARRAY [0... n] OF Matrice de 120 mots maximum contenant les
INT
données à envoyer.
Le tableau suivant décrit les paramètres d'E/S :
Paramètre
Type
Management_Param
ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 36)
INT
Le compte rendu des opérations peut afficher
les valeurs suivantes :
 16#00 : pas d'erreur
 16#09 : numéro de socket non valide
 16#20 : communication interrompue
 16#23 : socket plein
 16#36 : connexion réinitialisée par
l'homologue
 16#39 : socket non connecté (socket
d'écoute)
 16#0E : longueur de la chaîne de caractères
à envoyer supérieure à 240 octets
Commentaire
Le quatrième mot de la matrice doit contenir le
nombre d'octets envoyés si aucune erreur ne
s'est produite.
33002552 12/2018
83
FCT_SEND
84
33002552 12/2018
EcoStruxure™ Control Expert
FCT_SETSOCKOPT
33002552 12/2018
Chapitre 15
FCT_SETSOCKOPT : configure les options associées au socket
FCT_SETSOCKOPT : configure les options associées au
socket
Description
Description de la fonction
La fonction FCT_SETSOCKOPT permet de configurer les options associées au socket spécifié.
Certaines options sont configurées automatiquement lorsque le socket est créé à l'aide de la
fonction FCT_SOCKET (voir page 93).
Voici les options disponibles :




DONT_ROUTE : indique que les données sortantes ne doivent pas être acheminées. Les
paquets dirigés vers des nœuds non connectés sont abandonnés.
RESET_DONT_ROUTE : réinitialise DONT_ROUTE.
KEEP_ALIVE : garantit le maintien d'activité de la connexion grâce à l'envoi régulier et
automatique de paquets sur le socket.
RESET_KEEP_ALIVE : réinitialise KEEP_ALIVE.
La sélection de ces options s'opère par l'affectation d'un numéro à la variable Option_Type.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
33002552 12/2018
85
FCT_SETSOCKOPT
Représentation en LD
Représentation en IL
LD Module_Number
FCT_SETSOCKOPT Socket_Number, Option_Type, Gest_Index, Management_Param
Représentation en ST
FCT_SETSOCKOPT(Module_Number, Socket_Number, Option_Type, Gest_Index,
Management_Param);
86
33002552 12/2018
FCT_SETSOCKOPT
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau
dans le rack 0.
 L'octet de poids faible est le numéro
d'emplacement du module réseau dans le
rack 0.
 L'octet de poids fort peut être utilisé pour
augmenter le nombre de sockets.
 00 : garantit une compatibilité
descendante totale avec les applications
créées avec une version 3.3 ou
antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à 64
sockets (la version du micrologiciel doit
être supérieure à 3.3).
Socket_Number
INT
Numéro du socket
Option_Type
INT
Type d'option à associer au socket. Voici les
valeurs qui peuvent être affectées à ce mot :
 1 pour DONT_ROUTE
 2 pour RESET_DONT_ROUTE
 3 pour KEEP_ALIVE
 4 pour RESET_KEEP_ALIVE
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Le tableau suivant décrit les paramètres d'E/S :
Paramètre
Type
Management_Param
ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 36)
INT
Le rapport d'opération peut afficher les valeurs
suivantes :
 16#00 : pas d'erreur
 16#09 : numéro de socket non valide
 16#16 : option non valide
Commentaire
Le quatrième mot de la matrice doit contenir le
nombre d'octets stockés en mémoire tampon.
33002552 12/2018
87
FCT_SETSOCKOPT
88
33002552 12/2018
EcoStruxure™ Control Expert
FCT_SHUTDOWN
33002552 12/2018
Chapitre 16
FCT_SHUTDOWN : désactive la transmission sur le socket
FCT_SHUTDOWN : désactive la transmission sur le socket
Description
Description de la fonction
La fonction FCT_SHUTDOWN permet de désactiver la transmission des envois ou des réceptions
sur le socket.
La fenêtre TCP n'est pas modifiée et les données entrantes seront acceptées (mais sans accusé
de réception) jusqu'à ce que la fenêtre soit pleine.
NOTE : La fonction ne ferme pas le socket et les ressources affectées au socket ne sont libérées
qu'à l'envoi de FCT_CLOSE. Néanmoins, n'essayez pas de réutiliser le socket après l'exécution de
la fonction FCT_SHUTDOWN.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
33002552 12/2018
89
FCT_SHUTDOWN
Représentation en LD
Représentation en IL
LD Module_Number
FCT_SHUTDOWN Socket_Number, Shutdown_Option, Gest_Index,
Management_Param
Représentation en ST
FCT_SHUTDOWN(Module_Number, Socket_Number, Shutdown_Option, Gest_Index,
Management_Param);
90
33002552 12/2018
FCT_SHUTDOWN
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau
dans le rack 0.
 L'octet de poids faible est le numéro
d'emplacement du module réseau dans le
rack 0.
 L'octet de poids fort peut être utilisé pour
augmenter le nombre de sockets.
 00 : garantit une compatibilité
descendante totale avec les applications
créées avec une version 3.3 ou
antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à 64
sockets (la version du micrologiciel doit
être supérieure à 3.3).
Socket_Number
INT
Numéro du socket
Shutdown_Option
INT
Option de désactivation de la transmission :
 0 : les réceptions ne sont plus autorisées sur
le socket
 1 : les envois ne sont plus autorisés sur le
socket et un message FIN est envoyé
 2 : les envois et les réceptions ne sont plus
autorisés sur le socket. Cette option revient
à appliquer les deux options précédentes.
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Le tableau suivant décrit les paramètres d'E/S :
Paramètre
Type
Management_Param
ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 36)
INT
Le rapport d'opération peut afficher les valeurs
suivantes :
 16#00 : pas d'erreur
 16#09 : numéro de socket non valide
 16#16 : argument non valide
 16#39 : socket non connecté
33002552 12/2018
Commentaire
91
FCT_SHUTDOWN
92
33002552 12/2018
EcoStruxure™ Control Expert
FCT_SOCKET
33002552 12/2018
Chapitre 17
FCT_SOCKET : création d'un nouveau socket
FCT_SOCKET : création d'un nouveau socket
Description
Description de la fonction
La fonction FCT_SOCKET permet de créer un socket et de renvoyer son numéro. Ce socket est une
entité de communication TCP/IP.
Il est créé en tant que socket STREAM TCP avec les options suivantes :




SO_LINGER sans temporisation. Cette option contrôle l'action à entreprendre lorsque des
données non envoyées sont mises en file d'attente sur un socket et qu'une fonction FCT_CLOSE
est exécutée.
NO_DELAY. L'algorithme de reconnaissance des retards est désactivé. Les données sont
immédiatement envoyées sur le réseau au lieu d'être conservées jusqu'à ce que la fenêtre soit
entièrement remplie.
KEEP_ALIVE. L'activité de la connexion est maintenue grâce à l'envoi régulier et automatique
de paquets sur le socket.
REUSEADDR. Autorise la réutilisation du port local lors de l'appel d'une fonction FCT_BIND.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
33002552 12/2018
93
FCT_SOCKET
Représentation en LD
Représentation en IL
Nombre de modules LD
FCT_SOCKET Gest_Index, Management_Param, Socket_Number
Représentation en ST
FCT_SOCKET(Module_Number, Gest_Index, Management_Param, Socket_Number);
94
33002552 12/2018
FCT_SOCKET
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Module_Number
INT
Numéro d'emplacement du module réseau
dans le rack 0.
 L'octet de poids faible est le numéro
d'emplacement du module réseau dans le
rack 0.
 L'octet de poids fort peut être utilisé pour
augmenter le nombre de sockets.
 00 : garantit une compatibilité
descendante totale avec les applications
créées avec une version 3.3 ou
antérieure du micrologiciel.
 01 : il est possible d'utiliser jusqu'à 64
sockets (la version du micrologiciel doit
être supérieure à 3.3).
Gest_Index
INT
Index du premier mot dans la matrice
Management_Param
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Socket_Number
INT
Numéro du socket créé si aucune erreur ne
s'est produite.
Le tableau suivant décrit les paramètres d'E/S :
Paramètre
Type
Management_Param
ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 36)
INT
Le rapport d'opération peut afficher les valeurs
suivantes :
 16#00 : pas d'erreur
 16#37 : le nombre maximum de sockets est
atteint.
33002552 12/2018
Commentaire
95
FCT_SOCKET
96
33002552 12/2018
EcoStruxure™ Control Expert
Bibliothèque de DFB
33002552 12/2018
Partie IV
Bibliothèque de DFB
Bibliothèque de DFB
33002552 12/2018
97
Bibliothèque de DFB
98
33002552 12/2018
EcoStruxure™ Control Expert
Bibliothèque de DFB
33002552 12/2018
Chapitre 18
Bibliothèque de DFB
Bibliothèque de DFB
Présentation
La bibliothèque de DFB de communication TCP pour automates Premium permet de transférer
des blocs de données entre une application d'automate et une application distante via une
connexion TCP/IP établie à l'initiative de l'application distante.
L'application distante est exécutée sur un équipement prenant en charge le profil de
communication TCP/IP.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Présentation de la bibliothèque de DFB
100
DFB TCP_CNX
101
DFB TCP_SEND
104
DFB TCP_RECEIVE
107
33002552 12/2018
99
Bibliothèque de DFB
Présentation de la bibliothèque de DFB
Présentation
La bibliothèque de DFB de communication comprend les éléments suivants :
le DFB TCP_CNX pour la gestion des connexions ;
 le DFB TCP_SEND pour la transmission de blocs de données (taille maximale de 8 ko) ;
 le DFB TCP_RECEIVE pour la réception de blocs de données (taille maximale de 8 ko) ;

NOTE : les DFB de communication TCP pour les automates Premium utilisent les services TCP
Open for Premium pour gérer les connexions TCP et échanger des flux d'octets sur ses
connexions.
Les blocs fonction utilisent les services de messagerie mis en œuvre dans le processeur Premium.
Par conséquent, tous les blocs de communication peuvent être exécutés sur plusieurs cycles
d'automate. L'échange UC/module d'un datagramme est effectué dans chaque cycle d'automate.
Maintenance des DFB
L'exécution des blocs fonction fait l'objet d'une maintenance explicite. Vous devez programmer la
maintenance d'un DFB tant que son bit ACTIVITY est actif.
NOTE : n'exécutez pas la même instance de DFB à plusieurs reprises durant un cycle d'automate.
La maintenance des DFB est obligatoire car tous les blocs fonction de communication sont
exécutés sur plusieurs cycles d'automate. Dès que le DFB est appelé, il est redémarré à chaque
cycle d'automate dès que son bit ACTIVITY est égal à 1.
100
33002552 12/2018
Bibliothèque de DFB
DFB TCP_CNX
Présentation
Le DFB TCP_CNX gère les connexions aux clients distants, ainsi que les modes de fonctionnement des connexions. Il est informé des interruptions des connexions par un DFB TCP_SEND
ou TCP_RECEIVE via l'état des mots de gestion. Il n'existe qu'une instance de DFB TCP_CNX
pour un modèle TSX ETY 110 WS/5103.
Paramètres d'entrée
Paramètre
Type
Description
RST
Bit
La configuration de cette entrée à 1 :
 interrompt les échanges en cours.
 ferme toutes les connexions.
Paramètres d'entrée/sortie
Paramètre
Type
Description
MANAGNT
Table de mots
Table de gestion commune à tous les DFB
33002552 12/2018
101
Bibliothèque de DFB
Paramètres de sortie
Paramètre
Type
Description
ERROR
Bit
Ce bit de sortie est réglé sur 1 lorsque l’échange ne
s'effectue pas correctement.
Le mot d'état indique le type de l'erreur survenue.
Données publiques internes
102
Paramètre
Type
Variables en
écriture/lecture
Description
DEVICE
Mot
E
Numéro de module
Numéro de l'emplacement physique du module
TSX ETY 110 ES/5103 dans le rack
PORT
Table de
mots
E
Port local numéro i.
Table de 16 ports de service locaux à écouter
(valeur signée ≥ 5010). La valeur 0 indique
une valeur non significative.
IPACCEPT
Mot
double
E
Adresse IP de la machine distante n°i
Table d'adresses IP quadri-octales de mots,
issue de la table 8. Machines distantes
autorisées à se connecter à l'automate. La
valeur 9 indique une valeur non significative.
EOM
Octet
E
Caractère de fin de message.
Ce paramètre définit la présence et la valeur
d'un caractère de fin de message à utiliser
dans les échanges de messages :
 EOM = 0 : aucun caractère de fin de
message
 EOM de 0x01 à 0xFF : valeur du caractère
de fin de message :
 ajoutée par le module pendant la
transmission
 vérifiée et supprimée par le module lors
de la réception
IPCNXi
Chaîne de L
caractères
Adresse IP de la machine distante n°i
Chaîne de caractères en lecture seule à utiliser
pour la maintenance exclusivement. Indique
l'adresse IP de la machine distante au format
aaa.bbb.ccc.ddd, connectée au port
associé à l'index i dans la configuration. La
valeur 0.0.0.0 indique qu'aucune machine
n'est connectée à ce port.
33002552 12/2018
Bibliothèque de DFB
Paramètre
Type
Variables en
écriture/lecture
Description
ACTIVITY
Bit
L
Ce bit de sortie est réglé sur 1 lorsque le DFB
est en cours et doit faire l'objet d'une
maintenance. Il est réglé sur 0 en cas de
redémarrage à chaud, de redémarrage à froid
ou de réinitialisation du DFB.
STATUS
Mot
L
Ce mot n'est pertinent que si le bit de sortie
ERROR est réglé sur 1. Il indique le code de
l'erreur survenue pendant l'échange. (Chaque
bit de mot réglé sur 1 signale une erreur.)
Fonctionnement
Le DFB TCP_CNX doit être appelé à chaque redémarrage de l'automate pour garantir une gestion
permanente des ports TCP.
L'écoute des ports configurés débute si les bits RST et ACTIVITY sont réglés sur 0. Ensuite, le bit
ACTIVITY reste à 1 jusqu'à ce que l'application permette au bit RST de revenir à 0.
Si la communication avec le module est incorrecte, le bit de sortie ERROR est réglé sur 1.
A tout moment, le réglage du bit RST (entrée prioritaire) sur 1 permet d'interrompre toutes les
connexions en cours ou en veille. Le bit ACTIVITY (échange terminé) est réglé sur 0 et le bit
ERROR, sur 1. Le mot d'état <TCP_CNX nom instance>.STATUS indique le type de l'erreur.
Lors d'un redémarrage à chaud ou à froid, le DFB TCP_CNX renvoie automatiquement le mode
d'écoute des ports configurés.
33002552 12/2018
103
Bibliothèque de DFB
DFB TCP_SEND
Présentation
Le DFB TCP_SEND permet d'envoyer un message de données à une application cliente distante
via une connexion TCP/IP. La taille maximale du message est de 8 ko.
Paramètres d'entrée
Paramètre
Type
Description
RST
Bit
La configuration de ce bit à 1 :
 interrompt l'échange en cours (si le bit ACTIVITY est
réglé sur 1).
 ferme la connexion.
 règle le bit d'information ACTIVITY sur 0 et le bit de
sortie ERROR sur 1.
Le code d'erreur est stocké dans le mot STATUS.
BUF
104
Table de
mots
Cette variable définit l'adresse du premier mot %MWi du
tampon pour envoyer le message.
33002552 12/2018
Bibliothèque de DFB
Paramètres d'entrée/sortie
Paramètre
Type
Description
MANAGNT
Table de mots
Table de gestion commune à tous les DFB
Paramètres de sortie
Paramètre
Type
Description
ERROR
Bit
Ce bit de sortie est réglé sur 1 lorsque l’échange ne
s'effectue pas correctement.
Le mot STATUS indique le type de l'erreur survenue.
Données publiques internes
Paramètre
Type
Variables en
écriture/lecture
Description
DEST
Mot
double
E
Cette variable définit l'adresse IP de la machine
distante sur laquelle le client est connecté au
port local.
Par défaut, DEST = 0. Le message est envoyé
à la seule station cliente distante connectée au
port de service local de l'automate.
PORT
Mot
E
Cette variable définit le numéro de port local
auquel le client distant est connecté.
SIZE
Mot
E
Cette variable définit la taille du message à
envoyer (de 0 à 8 192 octets).
ACTIVITY
Bit
L
Ce bit est réglé sur 1 lorsqu'un échange est en
cours. Il revient à 0 lorsque l'échange est
terminé.
INHIB
Bit
L
Ce bit permet d'inhiber l'avertissement d'erreur.
Le bit de sortie ERROR et le mot STATUS restent
à 0 (l'exécution du bloc n'est pas interrompue).
STATUS
Mot
L
Ce mot n'est significatif que si le bit de sortie
ERROR est réglé sur 1. Il indique le code de
l'erreur survenue pendant l'échange (chaque bit
de mot réglé sur 1 signale une erreur).
33002552 12/2018
105
Bibliothèque de DFB
Fonctionnement
Le transfert de données est lancé lorsque le DFB TCP_SEND est appelé, si les bits RST et
ACTIVITY sont réglés sur 0. Pendant l'échange, le bit ACTIVITY est réglé sur 1. A la fin de la
transmission, le bit ACTIVITY est réglé sur 0. De plus, si l'échange n'est pas correct, le bit de
sortie ERROR est réglé sur 1.
A tout moment, le réglage du bit RST (entrée prioritaire) sur 1 permet d'interrompre l'échange en
cours. Le bit ACTIVITY (échange terminé) est réglé sur 0 et le bit ERROR, sur 1. Le mot d'état
<TCP_SEND nom instance>.STATUS indique le type de l'erreur. Si la connexion est établie, elle
est fermée et le module attend la connexion entrante. Le DFB TCP_CNX (voir page 101) rétablit
la connexion au port de service TCP pour relancer l'envoi des messages.
Lorsqu'un message est envoyé, les opérations suivantes sont exécutées :
 Vérification des paramètres d'entrée (adresse IP de la machine distante, numéro du port local)
 Recherche de la connexion ouverte avec le client distant demandé
 Envoi du message par bloc de 240 octets (ajout du caractère de fin de message, le cas
échéant)
106
33002552 12/2018
Bibliothèque de DFB
DFB TCP_RECEIVE
Présentation
Le DFB TCP_RECEIVE permet de recevoir un message de données envoyé par une application
cliente distante via une connexion TCP/IP. La taille maximale du message est de 8 ko.
Paramètres d'entrée
Paramètre
Type
RST
Bit
Description
La configuration de ce bit à 1 :
 interrompt l'échange en cours (si le bit ACTIVITY est
réglé sur 1).
 ferme la connexion.
 règle le bit ACTIVITY sur 0 et le bit de sortie ERROR
sur 1.
Le code d'erreur est stocké dans le mot STATUS.
33002552 12/2018
107
Bibliothèque de DFB
Paramètres d'entrée/sortie
Paramètre
Type
Description
BUF
Table de mots
Ce paramètre d'entrée et de sortie définit l'adresse du
premier mot %MWi du tampon pour recevoir le
message.
MANAGNT
Table de mots
Table de gestion commune à tous les DFB
Paramètres de sortie
Paramètre
Type
Description
ERROR
Bit
Ce bit de sortie est réglé sur 1 lorsque l’échange ne
s'effectue pas correctement.
Le mot STATUS indique le type d'erreur survenue.
Données publiques internes
108
Paramètre
Type
Variables en
Description
écriture/lecture
FRM
Mot
double
E
Cette variable définit l'adresse IP de la machine distante sur
laquelle le client est connecté.
Par défaut, FRM = 0. Le DFB attend le message envoyé par
le seul client distant connecté au port de service local de
l'automate.
PORT
Mot
E
Cette variable définit le numéro du port local auquel le client
distant est connecté.
SIZE
Mot
E
Cette variable définit la taille du message à envoyer (de 0 à
8 192 octets).
ACTIVITY
Bit
L
Le DFB règle cette variable sur 0, une fois l'échange
terminé. Si le bit de sortie ERROR est réglé sur 0, le bit
ACTIVITY indique que le message a été reçu avec succès.
Toutefois, si le bit ERROR est réglé sur 1, le bit ACTIVITY
indique que l'échange est terminé mais que des erreurs se
sont produites.
INHIB
Bit
E
Cette variable permet d'inhiber l'avertissement d'erreur. Le
bit de sortie ERROR et le mot STATUS restent à 0 (l'exécution
du bloc n'est pas interrompue).
STATUS
Mot
L
Ce mot n'est significatif que si le bit de sortie ERROR est réglé
sur 1. Il indique le code de l'erreur survenue pendant
l'échange (chaque bit de mot réglé sur 1 signale une erreur).
LENGTH
Mot
L
Cette variable contient le nombre d'octets reçus si le bit de
sortie ERROR est réglé sur 0.
33002552 12/2018
Bibliothèque de DFB
Fonctionnement
Le transfert de données est lancé lorsque le DFB TCP_RECEIVE est appelé, si les bits RST et
ACTIVITY sont réglés sur 0. Pendant l'échange, le bit ACTIVITY est réglé sur 1. A la fin de la
transmission, le bit ACTIVITY est réglé sur 0. De plus, si l'échange n'est pas correct, le bit de
sortie ERROR est réglé sur 1.
A tout moment, le réglage du bit RST (entrée prioritaire) sur 1 permet d'interrompre l'échange en
cours. Le bit ACTIVITY (échange terminé) est réglé sur 0 et le bit ERROR, sur 1. Le mot d'état
<TCP_RECEIVE nom instance>.STATUS indique le type de l'erreur. Si la connexion est établie,
elle est fermée et le module attend la connexion entrante. Tous les messages dans les tampons
de réception du module sont perdus.
Lorsqu'un message est reçu, les opérations suivantes sont exécutées :
 Vérification des paramètres d'entrée (adresse IP de la machine distante, numéro du port local)
 Recherche de la connexion ouverte avec le client distant demandé
 Mise en file d'attente du bloc EF pour recevoir le message
Dès qu'un DFB est actif pour une connexion donnée, le module attend la réception du message et
les deux premiers octets reçus indiquent la longueur du message. Les données sont ensuite
transférées dans les mots de l'automate en trames de 240 octets.
Lorsque le message complet est copié sur l'automate :
Le DFB vérifie le caractère de fin de message (si cette option a été configurée).
 Les paramètres STATUS et LENGTH du DFB sont renseignés, et les bits ACTIVITY et ERROR
sont configurés pour l'application du module.

33002552 12/2018
109
Bibliothèque de DFB
110
33002552 12/2018
EcoStruxure™ Control Expert
Glossaire
33002552 12/2018
Glossaire
E
EN
EN correspond à ENable (activer) ; il s'agit d'une entrée de bloc facultative. Quand l'entrée EN est
activée, une sortie ENO est automatiquement définie.
Si EN = 0, le bloc n'est pas activé, son programme interne n'est pas exécuté et ENO est réglé sur 0.
Si EN = 1, le programme interne du bloc est exécuté et ENO est réglé sur 1. Si une erreur survient,
ENO reprend la valeur 0.
Si l'entrée EN n'est pas connectée, elle est automatiquement réglée sur 1.
ENO
ENO signifie Error NOtification (notification d'erreur). C'est la sortie associée à l'entrée facultative
EN.
Si ENO est réglé sur 0 (car EN = 0 ou en cas d'erreur d'exécution) :
les sorties du bloc fonction restent dans l'état qui était le leur lors du dernier cycle de scrutation
exécuté correctement ;
 la ou les sorties de la fonction, ainsi que les procédures, sont réglées sur 0.

I
INT
INT est l'abréviation du format single INTeger (entier simple codé sur 16 bits).
Les limites supérieure/inférieure sont les suivantes : - (2 puissance 15) à (2 puissance 15) - 1.
Exemple :
-32768, 32767, 2#1111110001001001, 16#9FA4.
33002552 12/2018
111
Glossaire
112
33002552 12/2018
EcoStruxure™ Control Expert
Index
33002552 12/2018
Index
D
TCP_SEND, 99
DFB, 99
disponibilité des instructions, 23
F
FCT_ACCEPT, 55, 55
FCT_BIND, 59, 59
FCT_CLOSE, 63, 63
FCT_CONNECT, 67, 67
FCT_LISTEN, 71, 71
FCT_RECEIVE, 73, 73
FCT_SELECT, 77, 77
FCT_SEND, 81, 81
FCT_SETSOCKOPT, 85, 85
FCT_SHUTDOWN, 89, 89
FCT_SOCKET, 93, 93
I
instructions
disponibilité, 23
T
TCP Open, instruction
FCT_ACCEPT, 55
FCT_BIND, 59
FCT_CLOSE, 63
FCT_CONNECT, 67
FCT_LISTEN, 71
FCT_RECEIVE, 73
FCT_SELECT, 77
FCT_SEND, 81
FCT_SETSOCKOPT, 85
FCT_SHUTDOWN, 89
FCT_SOCKET, 93
généralités, 53
TCP_CNX, 99
TCP_RECEIVE, 99
33002552 12/2018
113
Index
114
33002552 12/2018

Manuels associés