Schneider Electric EcoStruxure™ Control Expert - TCP Open, Bibliothèque de blocs Mode d'emploi
Ajouter à Mes manuels114 Des pages
▼
Scroll to page 2
of
114
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