Sie sind auf Seite 1von 114

Unity Pro

33002552 04/2015

Unity Pro
TCP Open
Bibliothque de blocs

33002552.13

04/2015

www.schneider-electric.com

Le prsent document comprend des descriptions gnrales et/ou des caractristiques techniques
des produits mentionns. Il ne peut pas tre utilis pour dfinir ou dterminer ladquation ou la
fiabilit de ces produits pour des applications utilisateur spcifiques. Il incombe chaque utilisateur
ou intgrateur de raliser lanalyse de risques complte et approprie, lvaluation et le test des
produits pour ce qui est de lapplication utiliser et de lexcution de cette application. Ni la socit
Schneider Electric ni aucune de ses socits affilies ou filiales ne peuvent tre tenues pour
responsables de la mauvaise utilisation des informations contenues dans le prsent document. Si
vous avez des suggestions, des amliorations ou des corrections apporter cette publication,
veuillez nous en informer.
Aucune partie de ce document ne peut tre reproduite sous quelque forme ou par quelque moyen
que ce soit, lectronique, mcanique ou photocopie, sans autorisation pralable de Schneider
Electric.
Toutes les rglementations de scurit pertinentes locales doivent tre observes lors de
linstallation et de lutilisation de ce produit. Pour des raisons de scurit et afin de garantir la
conformit aux donnes systme documentes, seul le fabricant est habilit effectuer des
rparations sur les composants.
Lorsque des quipements sont utiliss pour des applications prsentant des exigences techniques
de scurit, suivez les instructions appropries.
La non-utilisation du logiciel Schneider Electric ou dun logiciel approuv avec nos produits
matriels peut entraner des blessures, des dommages ou un fonctionnement incorrect.
Le non-respect de cette consigne peut entraner des lsions corporelles ou des dommages
matriels.
2015 Schneider Electric. Tous droits rservs.

33002552 04/2015

Table des matires


Consignes de scurit . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . .

Partie I Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Types de module et leur utilisation . . . . . . . . . . . . . . .
Types de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure dun FFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EN et ENO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 2

Disponibilit des blocs sur les diffrentes platesformes matrielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Disponibilit des blocs sur les diffrentes plates-formes matrielles .

Partie II Introduction TCP Open . . . . . . . . . . . . . . . . . . . .


Chapitre 3 Gnral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aspects et principes gnraux de TCP Open . . . . . . . . . . . . . . . . . . .

Chapitre 4 Avertissements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remarques et avertissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 5 Description du fonctionnement . . . . . . . . . . . . . . . . . .


Rgles de fonctionnement des EF TCP Open . . . . . . . . . . . . . . . . . .
Principe de fonctionnement dun socket . . . . . . . . . . . . . . . . . . . . . . .
Structure gnrale dune EF de communication TCP Open . . . . . . . .
Structure des paramtres de gestion TCP Open . . . . . . . . . . . . . . . .
Paramtres de gestion : rapports de communication et dopration . .
Modle client/serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemples dapplications client/serveur . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 6 Modes de fonctionnement et performances . . . . . . . .


Modes opratoires du module rseau . . . . . . . . . . . . . . . . . . . . . . . . .
Performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mise au point et diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Partie III Avanc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Chapitre 7 FCT_ACCEPT : accepte une requte de connexion . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 8 FCT_BIND : relie un numro de socket une adresse


IP et un port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33002552 04/2015

5
7
9
11
12
14
17
21
21
23
25
25
27
27
29
30
31
33
34
36
38
40
45
46
48
49
51
53
53
57
57

Chapitre 9 FCT_CLOSE : supprime le socket spcifi . . . . . . . . .


Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 10 FCT_CONNECT : tablit une connexion avec une


adresse IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 11 FCT_LISTEN : configuration dune connexion en


attente de socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 12 FCT_RECEIVE : rcupre les donnes disponibles


sur un socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 13 FCT_SELECT : multiplexe les requtes sur les


sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 14 FCT_SEND : envoi de donnes un socket spcifique


Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 15 FCT_SETSOCKOPT : configure les options associes


au socket. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 16 FCT_SHUTDOWN : dsactive la transmission sur le


socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 17 FCT_SOCKET : cration dun nouveau socket . . . . . .


Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Partie IV Bibliothque de DFB . . . . . . . . . . . . . . . . . . . . . . .


Chapitre 18 Bibliothque de DFB . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prsentation de la bibliothque de DFB. . . . . . . . . . . . . . . . . . . . . . . .
DFB TCP_CNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFB TCP_SEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DFB TCP_RECEIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61
61
65
65
69
69
73
73
77
77
81
81
85
85
89
89
93
93
97
99
100
101
104
107
111
113

33002552 04/2015

Consignes de scurit
Informations importantes
AVIS
Lisez attentivement ces instructions et examinez le matriel pour vous familiariser avec lappareil
avant de tenter de linstaller, de le faire fonctionner ou dassurer sa maintenance. Les messages
spciaux suivants que vous trouverez dans cette documentation ou sur lappareil ont pour but de
vous mettre en garde contre des risques potentiels ou dattirer votre attention sur des informations
qui clarifient ou simplifient une procdure.

33002552 04/2015

REMARQUE IMPORTANTE
Linstallation, lutilisation, la rparation et la maintenance des quipements lectriques doivent tre
assures par du personnel qualifi uniquement. Schneider Electric dcline toute responsabilit
quant aux consquences de lutilisation de ce matriel.
Une personne qualifie est une personne disposant de comptences et de connaissances dans le
domaine de la construction, du fonctionnement et de linstallation des quipements lectriques, et
ayant suivi une formation en scurit leur permettant didentifier et dviter les risques encourus.

33002552 04/2015

A propos de ce manuel
Prsentation
Objectif du document
Ce document dcrit les fonctions et blocs fonction de la bibliothque TCP Open.
Champ dapplication
Ce document est applicable Unity Pro 10.0 ou version ultrieure.

33002552 04/2015

33002552 04/2015

Unity Pro
Gnralits
33002552 04/2015

Partie I
Gnralits

Gnralits
Vue densemble
Ce sous-chapitre prsente des informations gnrales sur la bibliothque TCP Open.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre

33002552 04/2015

Titre du chapitre

Page

Types de module et leur utilisation

11

Disponibilit des blocs sur les diffrentes plates-formes matrielles

21

Gnralits

10

33002552 04/2015

Unity Pro
Types de module et leur utilisation
33002552 04/2015

Chapitre 1
Types de module et leur utilisation

Types de module et leur utilisation


Vue densemble
Ce chapitre dcrit les diffrents types de module et leur utilisation.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet

Page

Types de bloc

12

Structure dun FFB

14

EN et ENO

17

33002552 04/2015

11

Types de module et leur utilisation

Types de bloc
Types de bloc
Diffrents types de bloc sont utiliss dans Unity Pro. FFB est le terme gnrique pour tous les
types de bloc.
Une diffrence est faite entre les types de bloc suivants :
Fonction lmentaire (EF)
z les blocs fonction lmentaires (EFB)
z Blocs fonction drivs (DFB)
z Procdure
z

NOTE : les blocs fonction de mouvement ne sont pas disponibles sur la plate-forme Quantum.
Fonction lmentaire
Les fonctions lmentaires (EF) ne disposent pas dtat interne et possdent une seule sortie. Si
les valeurs des entres sont similaires, la valeur de la sortie est identique pour les excutions de
la fonction. Par exemple, laddition de deux valeurs donne le mme rsultat chaque excution
de la fonction.
Une fonction lmentaire est reprsente dans les langages graphiques (FBD et LD) sous la forme
dun rectangle avec des entres et une sortie. Les entres sont toujours reprsentes gauche
du rectangle et les sorties droite. Le nom de la fonction, cest--dire le type de fonction, est affich
au centre du rectangle.
Pour certaines fonctions lmentaires, il est possible daugmenter le nombre dentres.

ATTENTION
COMPORTEMENT INATTENDU DE LEQUIPEMENT
Pour Unity Pro V4.0 et les versions antrieures, nutilisez pas de liens pour connecter les sorties
des blocs fonction lorsque votre application repose sur des donnes de sortie persistantes dun
bloc EF.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages
matriels.
NOTE : avec Unity Pro V4.0 et les versions antrieures, la dsactivation dun EF (EN=0) entrane
la rinitialisation des liens associs ses entres/sorties. Pour transfrer ltat du signal, nutilisez
pas de lien. Une variable doit tre connecte la sortie de la fonction lmentaire et tre utilise
pour connecter lentre de llment. Avec Unity Pro V4.1 et les versions ultrieures, vous pouvez
maintenir les liens de sortie, mme si un EF est dsactiv en activant loption Maintenir les liens
de sortie sur les EF dsactivs (EN=0) par lintermdiaire du menu Outils Programme
Langues Commun.

12

33002552 04/2015

Types de module et leur utilisation

Bloc fonction lmentaire


Les blocs fonction lmentaires (EFB) possdent un tat interne. Si les valeurs des entres sont
identiques, les valeurs des sorties peuvent diffrer chaque excution du bloc fonction. Pour un
compteur, par exemple, la valeur de la sortie est incrmente.
Un bloc fonction lmentaire est reprsent dans les langages graphiques (FBD et LD) sous la
forme dun rectangle avec des entres et des sorties. Les entres sont toujours reprsentes
gauche du rectangle et les sorties droite. Le nom du bloc fonction, cest--dire le type de bloc
fonction, est affich au centre du rectangle. Le nom dinstance est affich au-dessus du rectangle.
Bloc fonction driv
Les blocs fonction drivs (DFB) ont les mmes caractristiques que les blocs fonction
lmentaires. Ils sont cependant crs par lutilisateur dans les langages de programmation FBD,
LD, IL et/ou ST.
Procdure
Les procdures correspondent des fonctions proposant plusieurs sorties. Elles ne disposent pas
dtat interne.
Lunique diffrence par rapport aux fonctions lmentaires est que les procdures peuvent avoir
plus dune sortie et quelles supportent des variables du type de donne VAR_IN_OUT.
Les procdures ne renvoient aucune valeur.
Les procdures sont un complment de la norme CEI 61131-3 et doivent tre actives de manire
explicite.
Visuellement, il nexiste aucune diffrence entre les procdures et les fonctions lmentaires.

ATTENTION
COMPORTEMENT INATTENDU DE LEQUIPEMENT
Pour Unity Pro V4.0 et les versions antrieures, nutilisez pas de liens pour connecter les sorties
des blocs fonction lorsque votre application repose sur des donnes de sortie persistantes dun
bloc EF.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages
matriels.
NOTE : avec Unity Pro V4.0 et les versions antrieures, la dsactivation dun EF (EN=0) entrane
la rinitialisation des liens associs ses entres/sorties. Pour transfrer ltat du signal, nutilisez
pas de lien. Une variable doit tre connecte la sortie de lEF et tre utilise pour connecter
lentre de llment. Avec Unity Pro V4.1 et les versions ultrieures, vous pouvez maintenir les
liens de sortie, mme si un EF est dsactiv en activant loption Maintenir les liens de sortie sur
les EF dsactivs (EN=0) par lintermdiaire du menu Outils Programme Langues
Commun.
33002552 04/2015

13

Types de module et leur utilisation

Structure dun FFB


Structure
Un FFB se compose dune opration (nom du FFB), des oprandes ncessaires lopration
(paramtres rels et formels) et dun nom dinstance pour les blocs fonction lmentaires ou
drivs.
Appel dun bloc fonction dans le langage de programmation FBD :

ATTENTION
COMPORTEMENT INATTENDU DE LAPPLICATION
Nappelez pas plusieurs fois la mme instance de bloc pendant un cycle dautomate.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages
matriels.

14

33002552 04/2015

Types de module et leur utilisation

Appel formel dun bloc fonction dans le langage de programmation ST :

Opration
Lopration dtermine la fonction qui doit tre excute par le FFB, par exemple registre
dcalage ou oprations de conversion.
Oprande
Loprande dtermine les lments sur lesquels porte lopration qui est excute. Dans les FFB,
il est constitu de paramtres formels et de paramtres rels.
Paramtres formels et rels
Des entres et des sorties permettent de transfrer les valeurs vers ou depuis un FFB. Ces entres
et ces sorties sont appeles paramtres formels .
Les paramtres formels sont lis des objets qui comprennent les tats courants du processus.
Ces objets sont appels paramtres rels .
Durant lexcution du programme, les valeurs sont transmises, par le biais des paramtres rels,
du processus au FFB, et renvoyes nouveau en sortie aprs le traitement.
Le type de donnes des paramtres rels doit correspondre au type de donnes des
entres/sorties (paramtres formels). La seule exception concerne les entres/sorties gnriques
dont le type de donnes est dtermin par le paramtre rel. On choisira un type de donnes
adapt pour le bloc fonction, si les paramtres rels sont constitus de valeurs littrales.

33002552 04/2015

15

Types de module et leur utilisation

Appel de FFB dans le langage IL/ST


Les FFB peuvent tre appels de deux manires dans les langages textuels IL et ST : formelle ou
informelle. Pour plus dinformations, consultez le Manuel de rfrence.
Exemple dun appel de fonction formel :
out:=LIMIT (MN:=0, IN:=var1, MX:=5);
Exemple dun appel de fonction informel :
out:=LIMIT (0, var1, 5);
NOTE : Les paramtres EN et la sortie ENO peuvent uniquement tre utiliss pour des appels
formels.
Variable VAR_IN_OUT
Les FFB sont souvent utiliss pour lire une variable en entre (variables dentre), la traiter et
gnrer les valeurs modifies de cette mme variable (variables de sortie).
Ce cas particulier dune variable dentre/de sortie est galement appel variable VAR_IN_OUT.
La relation entre la variable dentre et la variable de sortie est reprsente 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 :
z Une variable doit tre affecte toutes les entres VAR_IN_OUT.
z Aucune valeur littrale ou constante ne doit tre affecte aux entres/sorties VAR_IN_OUT.
Les limitations supplmentaires de ces langages graphiques (FBD et LD) sont les suivantes :
z Les liaisons graphiques permettent uniquement de relier des sorties VAR_IN_OUT des
entres VAR_IN_OUT.
z Seule une liaison graphique peut tre associe une entre/sortie VAR_IN_OUT.
z Des variables/composantes de variables diffrentes peuvent tre relies lentre
VAR_IN_OUT et la sortie VAR_IN_OUT. Dans un tel cas, la valeur de la variable/composante
de variable en entre est copie dans la variable/composante de variable en sortie.
z Il est interdit dutiliser des ngations au niveau des entres/sorties VAR_IN_OUT.
z Une combinaison de variable/adresse et de liaisons graphiques nest pas possible pour les
sorties VAR_IN_OUT.
16

33002552 04/2015

Types de module et leur utilisation

EN et ENO
Description
Une entre EN et une sortie ENO peuvent tre configures pour tous les FFB.
Si la valeur de EN est dj rgle sur 0 , lors de lappel de FFB, les algorithmes dfinis par FFB
ne sont pas excuts et ENO est rgl sur 0 .
Si la valeur de EN est dj rgle sur 1, lors de lappel de FFB, les algorithmes dfinis par FFB sont
excuts. Une fois les algorithmes excuts, la valeur de la sortie ENO est rgle sur 1 . Si
certaines conditions derreur sont dtectes durant lexcution de ces algorithmes, ENO est rgl
sur 0.
Si aucune valeur nest attribue la broche EN lappel du FFB, lalgorithme dfini par ce dernier
est excut (comme lorsque EN a la valeur 1 ). Reportez-vous la section Maintenir les liens
de sortie sur les EF dsactivs (voir Unity Pro, Modes de marche).
Une fois les algorithmes excuts, la valeur de ENO est rgle sur 1 , sinon la valeur de ENO est
rgle sur 0 .
Si la valeur de ENO est rgle sur 0 (car EN = 0 ou en raison dune condition derreur dtecte lors
de lexcution ou de lchec de lexcution des algorithmes) :
z Blocs fonction
z Traitement des paramtres EN/ENO avec des blocs fonction qui possdent (uniquement)
une liaison en tant que paramtre de sortie :

Si lentre EN de BlocFonction_1 est rgle sur 0 , la connexion de sortie OUT de


BlocFonction_1 conserve ltat quelle avait lors du dernier cycle correctement excut.
Traitement des paramtres EN/ENO avec des blocs fonction qui possdent une variable et
une liaison en tant que paramtres de sortie :

Si lentre EN de BlocFonction_1 est rgle sur 0 , la connexion de sortie OUT de


BlocFonction_1 conserve ltat quelle avait lors du dernier cycle correctement excut.
La variable OUT1 prsente sur la mme broche conserve son tat prcdent ou peut tre
modifie de manire externe sans incidence sur la connexion. La variable et la liaison sont
enregistres indpendamment lune de lautre.

33002552 04/2015

17

Types de module et leur utilisation


z

Fonctions/procdures

ATTENTION
COMPORTEMENT INATTENDU DE LEQUIPEMENT
Pour Unity Pro V4.0 et les versions antrieures, nutilisez pas de liens pour connecter les
sorties des blocs fonction lorsque votre application repose sur des donnes de sortie
persistantes dun bloc EF.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages
matriels.
NOTE : avec Unity Pro V4.0 et les versions antrieures, la dsactivation dun EF (EN=0)
entrane la rinitialisation des liens associs ses entres/sorties. Pour transfrer ltat du
signal, nutilisez pas de lien. Une variable doit tre connecte la sortie de lEF et tre utilise
pour connecter lentre de llment. Avec Unity Pro V4.1 et les versions ultrieures, vous
pouvez maintenir les liens de sortie, mme si un EF est dsactiv en activant loption Maintenir
les liens de sortie sur les EF dsactivs (EN=0) par lintermdiaire du menu Outils
Programme Langues Commun.
Comme spcifi dans la norme CEI 61131-3, les sorties de fonctions dsactives (entre EN
rgle sur 0 ) ne sont pas dfinies. (Cette caractristique sapplique galement aux
procdures.)
Voici une explication des tats des sorties dans un tel cas :
z Traitement des paramtres EN/ENO avec des fonctions/procdures qui possdent
(uniquement) une liaison en tant que paramtre de sortie :

Si lentre EN de Function/Procedure_1 est rgle sur 0, la connexion de sortie OUT de


Function/Procedure_1 est galement rgle sur 0.

18

33002552 04/2015

Types de module et leur utilisation


z

Traitement des paramtres EN/ENO avec des blocs fonction qui possdent une variable et
une liaison en tant que paramtres de sortie :

Si lentre EN de Function/Procedure_1 est rgle sur 0, la connexion de sortie OUT de


Function/Procedure_1 est galement rgle sur 0. La variable OUT1 prsente sur la
mme broche conserve son tat prcdent ou peut tre modifie de manire externe sans
incidence sur la connexion. La variable et la liaison sont enregistres indpendamment lune
de lautre.
Le comportement de la sortie des FFB ne dpend pas de la faon dont les FFB sont appels (sans
EN/ENO ou avec EN=1).
Appel de FFB conditionnel/inconditionnel
Un FFB peut tre appel de manire "conditionnelle" ou "inconditionnelle". La condition est tablie
en pr-connectant lentre EN.
z Entre EN connecte
appels conditionnels (le FFB est excut uniquement si EN = 1)
z Entre EN affiche, masque et marque comme TRUE, ou affiche et non occupe
appels inconditionnels (le FFB est trait indpendamment de lentre EN)
NOTE : pour les blocs fonction dsactivs (EN = 0) quips dune fonction dhorloge interne (par
exemple, le bloc fonction DELAY), le temps semble scouler, tant donn quil est calcul laide
dune horloge systme et quil est, par consquent, indpendant du cycle du programme et de la
libration du bloc.

ATTENTION
EQUIPEMENT DAPPLICATION IMPREVU
Ne dsactivez pas les blocs fonction quips dune fonction dhorloge interne en cours de
fonctionnement.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages
matriels.

33002552 04/2015

19

Types de module et leur utilisation

Remarque concernant les langages IL et ST


Les paramtres EN et la sortie ENO peuvent uniquement tre utiliss dans les langages textuels et
dans le cadre dun appel de FFB formel, par exemple :
MY_BLOCK (EN:=enable, IN1:=var1, IN2:=var2,
ENO=>error, OUT1=>result1, OUT2=>result2);
Laffectation de variables ENO doit tre effectue laide de loprateur =>.
Lentre EN et la sortie ENO ne peuvent pas tre utilises pour un appel informel.

20

33002552 04/2015

Unity Pro
Disponibilit des blocs
33002552 04/2015

Chapitre 2
Disponibilit des blocs sur les diffrentes plates-formes matrielles

Disponibilit des blocs sur les diffrentes plates-formes


matrielles
Disponibilit des blocs sur les diffrentes plates-formes matrielles
Introduction
Tous les blocs ne sont pas disponibles sur toutes les plates-formes matrielles. Les tableaux
suivants indiquent les blocs disponibles sur votre plate-forme matrielle.
Avanc
Disponibilit des blocs :
Nom de bloc

Type de bloc

M340

M580

Momentum

Premium

Quantum

FCT_ACCEPT

Procdure

FCT_BIND

Procdure

FCT_BIND_UINT

Procdure

FCT_CLOSE

Procdure

FCT_CONNECT

Procdure

FCT_CONNECT_UINT

Procdure

FCT_LISTEN

Procdure

FCT_RECEIVE

Procdure

FCT_SELECT

Procdure

FCT_SEND

Procdure

FCT_SETSOCKOPT

Procdure

FCT_SHUTDOWN

Procdure

FCT_SOCKET

Procdure

Lgende :
+

Disponible

Non disponible

33002552 04/2015

21

Disponibilit des blocs

22

33002552 04/2015

Unity Pro
Introduction TCP Open
33002552 04/2015

Partie II
Introduction TCP Open

Introduction TCP Open


Objet de cette partie
Cette partie prsente le service TCP Open, qui peut tre utilis avec les fonctions lmentaires
(EF) de Unity Pro.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre

33002552 04/2015

Titre du chapitre

Page

Gnral

25

Avertissements

27

Description du fonctionnement

29

Modes de fonctionnement et performances

45

23

Introduction TCP Open

24

33002552 04/2015

Unity Pro
Gnral
33002552 04/2015

Chapitre 3
Gnral

Gnral
Aspects et principes gnraux de TCP Open
Prsentation
TCP Open pour Premium propose un jeu de fonctions lmentaires (EF) et des blocs fonction
drivs (DFB) qui offrent des services TCP/IP via une application automatise sur les automates
Premium.
Les EF et les DBF TCP Open sont installs partir dun CD. Une fois installs dans Unity Pro, ils
apparaissent dans la bibliothque TCP Open, dans la famille Avanc.
Ces fonctions prdfinies peuvent tre utilises dans les applications TCP/IP client/serveur sans
que cela suppose une connaissance pralable des langages de programmation comme C ++ ou
Java.
La programmation seffectue directement travers lutilisation des EF et des DFB dans le langage
automatis souhait (ST, LD, FBD ou IL).
TCP Open est disponible sur les modules suivants :
z
z

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 lors de linstallation du CD.

33002552 04/2015

25

Gnral

26

33002552 04/2015

Unity Pro
Avertissements
33002552 04/2015

Chapitre 4
Avertissements

Avertissements
Remarques et avertissements
Vue densemble
La mise en uvre de services TCP/IP via les EF TCP Open est relativement simple. Il existe
nanmoins quelques conditions pralables cette mise en uvre, laquelle repose sur les mmes
principes de dveloppement quune application automatise standard.
Observations
Pour utiliser la bibliothque dEF TCP Open, vous devez avoir un minimum de connaissances sur
lutilisation des applications TCP/IP et le fonctionnement des systmes de sockets.
La mise en uvre de services client/serveur obit certaines rgles de programmation que vous
devez comprendre.

AVERTISSEMENT
FONCTIONNEMENT INATTENDU DE LEQUIPEMENT
La mise en uvre et la maintenance de TCP Open doivent tre effectues par un personnel
qualifi uniquement, disposant des comptences ncessaires pour grer les sockets. Ce
document ne doit pas tre considr comme suffisant pour former une personne sans
qualification au dveloppement de services TCP/IP.
Bien que toutes les prcautions raisonnables aient t prises pour garantir lexactitude et le
caractre incontestable des informations fournies dans le prsent document, Schneider Electric
ne saurait tre tenu responsable des ventuelles consquences dcoulant de lutilisation de ce
document.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matriels.

33002552 04/2015

27

Avertissements

Utilisation de la bibliothque de fonctions TCP Open V2.0


Si vous utilisez les DFB de la version V1 avec Unity V2.0, vous risquez de rencontrer le
dysfonctionnement suivant : lorsque le projet est compar la bibliothque, le message derreur
"Code objet diffrent" saffiche et vous tes invit mettre jour vos DFB. En raison dune erreur
de checksum, la mise jour des DFB gnrera toujours ce message lors des comparaisons
suivantes avec la bibliothque. Malgr cela, les DFB continuent fonctionner correctement et vous
pouvez les utiliser sans aucune restriction, que vous importiez le programme depuis Unity 1.0 ou
que vous utilisiez les DFB du CD.
Ce dysfonctionnement sera corrig dans une future version de TCP Open > V2.0.
Responsabilits
Schneider Electric nest pas responsable de :

AVERTISSEMENT
COMPORTEMENT INATTENDU DU SYSTEME
La conception dun systme TCP Open implique :
z De vrifier et de valider la conception de larchitecture du systme de communication (modes
et protocoles de fonctionnement client/serveur, performances, etc.),
z de vrifier la mise en uvre dEF appropries (ou de la rutilisation des exemples dEF inclus
dans le kit TCP Open),
z de tester et de valider les EF intgres dans larchitecture du systme de communication,
z de raliser une maintenance approprie et de grer les erreurs de diagnostic.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matriels.

28

33002552 04/2015

Unity Pro
Fonctionnement
33002552 04/2015

Chapitre 5
Description du fonctionnement

Description du fonctionnement
Objet de ce chapitre
Ce chapitre dcrit les principes qui rgissent le fonctionnement et la mise en uvre dun service
TCP/IP laide des EF prdfinies de TCP Open.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet

Page

Rgles de fonctionnement des EF TCP Open

30

Principe de fonctionnement dun socket

31

Structure gnrale dune EF de communication TCP Open

33

Structure des paramtres de gestion TCP Open

34

Paramtres de gestion : rapports de communication et dopration

36

Modle client/serveur

38

Exemples dapplications client/serveur

40

33002552 04/2015

29

Fonctionnement

Rgles de fonctionnement des EF TCP Open


Excution dune EF TCP Open
Les EF TCP Open sont excutes de faon asynchrone avec le cycle de lautomate. Chaque appel
dEF dclenche une transaction avec le module Ethernet concern (TSX ETY 5103 ou
TSX ETY 110WS).
La transaction dmarre la fin du cycle de lautomate et son excution complte peut prendre
plusieurs cycles. Par consquent, il est ncessaire de grer la squence des appels de faon ne
pas saturer le module ou demander une action alors que laction prcdente nest pas encore
termine.
Il est possible dappeler plusieurs services TCP/IP dans le mme cycle dautomate. Cependant, il
nest pas certain quils seront traits dans lordre chronologique des appels.
NOTE : Nous vous conseillons dattendre la fin de lexcution dune fonction avant de demander
un nouveau service sur le mme socket.
Par exemple, attendez que lEF FCT_SOCKET soit renvoye avant dappeler lEF FCT_BIND et
attendez que lEF FCT_BIND soit renvoye avant dappeler lEF FCT_LISTEN.
EF fournies
Le nombre de fonctions TCP Open fournies et leur mode dutilisation ont t dlibrment limits
pour simplifier la mise en uvre de ces services.
De plus, certains paramtres sont exigs par le module TSX ETY 5103. Ces limites sont dcrites
en dtail dans la description de la fonction FCT_SOCKET (voir page 93).

30

33002552 04/2015

Fonctionnement

Principe de fonctionnement dun socket


Introduction
Le socket est llment de base de la communication TCP. Cest lui qui transporte les donnes.
Les sockets fournis par la bibliothque de fonctions TCP/IP ne servent qu la gestion des flux et
la connexion entre deux quipements.
NOTE : Larchitecture TSX ETY 5103 Premium peut prendre en charge jusqu 64 sockets. Ils
peuvent tre utiliss comme sockets dcoute (serveur) ou comme sockets connects (client).
Dans une application serveur, au moins 1 socket doit tre configur comme socket dcoute. Cest
la seule restriction stricte concernant le nombre de connexions ct client et ct serveur.
Pour crer un socket, vous pouvez utiliser la fonction FCT_SOCKET (voir page 93) ou la fonction
FCT_ACCEPT (voir page 53). La fonction renvoie un numro qui sert accder au socket.
Etablissement dune connexion serveur
Le tableau suivant dcrit les diffrentes tapes mettre en uvre ct serveur pour tablir une
connexion.
Etape

Action

Crer un socket laide de la fonction FCT_SOCKET.

Associer le socket cr une adresse (numro de port et adresse IP) laide de la


fonction FCT_BIND (voir page 57).

Configurer le socket de sorte quil accepte les connexions laide de la fonction


FCT_LISTEN (voir page 69).
Remarque : Lautomate sert de serveur TCP : le socket initial coute et reoit les
appels de connexion du socket client.

Appliquer la fonction FCT_ACCEPT (voir page 53) ce socket pour crer un nouveau
socket qui tablira la connexion.
Remarque : Ce nouveau socket est alors connect au socket client et son numro
est renvoy par la fonction FCT_ACCEPT. Le socket initial est alors libr pour les
autres clients qui souhaitent se connecter au serveur.

Etablissement dune connexion client


Le tableau suivant dcrit les diffrentes tapes mettre en uvre ct client pour tablir une
connexion.
Etape

Action

Crer un socket laide du bloc fonction FCT_SOCKET. Le bloc renvoie un numro


de socket qui servira dans les blocs fonction suivants.

La fonction FCT_CONNECT permet dtablir une connexion avec un autre


quipement Ethernet en spcifiant son adresse IP et le port que vous utiliserez pour
la communication.

33002552 04/2015

31

Fonctionnement

Echange de donnes via une connexion TCP


Une fois la connexion tablie, les donnes peuvent tre transfres. Les transferts sont excuts
par les fonctions FCT_SEND (voir page 81) et FCT_RECEIVE (voir page 73). Le schma cidessous montre comment fonctionnent ces changes.

Gestion des sockets


Dautres fonctions peuvent tre utilises pour agir sur les sockets.
z
z
z
z

32

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 vnements sur les sockets.
FCT_SHUTDOWN (voir page 89) : dsactive la transmission sur le socket.
FCT_CLOSE (voir page 61) : libre le descripteur du socket lorsquil nest plus utilis.

33002552 04/2015

Fonctionnement

Structure gnrale dune EF de communication TCP Open


Prsentation
Les fonctions de communication sont traites de faon asynchrone par rapport au cycle de
lautomate. Une fonction lance au cours dun cycle sexcute sur plusieurs cycles successifs.
Les paramtres dune fonction de communication TCP Open sont les suivants :
z
z
z

Numro dinterface
Paramtres spcifiques
Paramtres de gestion

Numro dinterface
Le numro dinterface correspond au numro demplacement 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, larchitecture Premium divise cet entier en 2 octets.
z
z

Loctet de poids faible contient le numro demplacement des sockets.


Loctet de poids fort peut tre utilis pour augmenter le nombre de sockets de la faon suivante :
z 00 sert garantir une compatibilit descendante totale avec les applications cres avec une
version 3.3 ou antrieure du micrologiciel.
z 01 indique quil est possible dutiliser 64 sockets. La version du micrologiciel doit tre
suprieure 3.3 pour prendre en charge cette extension des sockets.

NOTE : Lorsque vous dfinissez la valeur de loctet de poids sur 01 (pour augmenter le nombre
de sockets 64), vrifiez que la version du micrologiciel TSXETY5103 est suffisante. Si vous
tentez de paramtrer ainsi loctet de poids fort avec une version 3.3 ou infrieure du micrologiciel,
le module entrera dans un cycle incessant de redmarrages et ne sera pas oprationnel.
Paramtres spcifiques
Ces paramtres sont spcifiques chaque fonction. Il peut y en avoir plusieurs, auquel cas ils sont
spars par des virgules. Ils sont dcrits dans les chapitres spcifiques chaque fonction.
Paramtres de gestion
Les paramtres de gestion sont reprsents par une matrice de 4 entiers galement appele Table
de gestion (voir page 34). Elle est identique celle des EF de communication standard ceci prs
que le numro dchange nest pas gr et la temporisation diffre.

33002552 04/2015

33

Fonctionnement

Structure des paramtres de gestion TCP Open


Prsentation
Les paramtres de gestion sont regroups dans une matrice de quatre entiers. Les valeurs
contenues dans la matrice servent contrler les fonctions de communication.
NOTE : Dans la documentation technique, ces paramtres sont galement dsigns par les
termes de table ou rapport de gestion.
Structure
Le tableau ci-dessous dcrit la structure des donnes de la table de gestion des fonctions de
communication :
Ordre des mots

Octet de poids fort

Octet de poids faible

Rserv

Bit dactivit

Rapport dopration

Rapport de communication

Rserv

Longueur

Bit dactivit
Ce bit indique ltat dexcution de la fonction de communication.
Il prend la valeur 1 lorsquil est lanc et revient 0 une fois lexcution termine.
Il sagit du premier bit du premier lment de la table.
Exemple : si la table de gestion a t dclare de la faon suivante :
Tab_Gest ARRAY [1..4] OF INT, le bit dactivit est le bit avec la notation Tab_Gest[1].0.
NOTE : Pour utiliser cette notation, Unity Pro doit tre en mode non CEI. Si tel nest pas le cas,
Tab_Gest[1].0 est inaccessible de cette faon.
Rapport dopration
Les rapports dopration sont dcrits dans Rapport dopration, page 37.
Rapport de communication
Les rapports de communication sont dcrits dans Rapport de communication, page 36.

34

33002552 04/2015

Fonctionnement

Longueur
Le paramtre 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 65). Avec FCT_SELECT,
le champ de longueur nest pas utilis si loctet de poids fort du paramtre INTE est dfini sur 00.
Si cet octet set dfini sur 01, vous devez rgler la longueur sur 8. La longueur 8 vous permet de
visualiser les donnes associes aux 64 connexions. Si vous choisissez une valeur infrieure,
comme 4 par exemple, vous ne verrez que les donnes associes aux 32 premires connexions.

33002552 04/2015

35

Fonctionnement

Paramtres de gestion : rapports de communication et dopration


Prsentation
Les rapports de communication et dopration font partie des paramtres de gestion.
NOTE : il est recommand de toujours tester les rapports de la fonction de communication la fin
de leur excution et avant leur prochaine activation. En cas de redmarrage froid, vous devez
systmatiquement vrifier que tous les paramtres 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 dactivit passe de 1
0.
Les rapports dont la valeur est comprise entre 16#01 et 16#FE concernent les erreurs dtectes
par le processeur qui a excut la fonction.
Les diffrentes valeurs de ce rapport sont rpertories dans le tableau suivant :
Valeur

Rapport de communication (octet de poids faible)

16#00

Echange russi

16#01

Arrt de lchange sur time-out


NOTE : lorsquune UC Modbus M340 envoie une requte DIFFUSION MODBUS,
ce code derreur saffiche mme si la diffusion a abouti.

16#05

Format du paramtre Management incorrect

16#06

Paramtres spcifiques incorrects

16#07

Module rseau manquant ou adresse incorrecte

16#0B

Aucune ressource systme : le nombre dEF de communication simultanes


dpasse le nombre maximum autoris par le processeur

16#0E

Longueur denvoi incorrecte

16#FF

Message refus
NOTE : la valeur OK est renvoye lorsquun TSX SCP ou un TSX SCY
envoie une requte MODBUS BROADCAST.

NOTE : cette fonction peut dtecter une erreur dans les paramtres avant dactiver lchange.
Dans ce cas, le bit dactivit reste 0 et le rapport est initialis avec les valeurs correspondant
lerreur.

36

33002552 04/2015

Fonctionnement

Rapport dopration
Ce rapport dcrit le rsultat de linteraction de la fonction avec la pile TCP/IP du module rseau.
Il nest pertinent que si le rapport de communication a les valeurs suivantes :
16#00 (change russi)
z 16#FF (message refus)
z

Si ce rapport a une valeur gale 16#00, le rapport dopration est propre chaque fonction. Il est
dcrit dans les chapitres consacrs ces fonctions.
Si le rapport de communication a pour valeur 16#FF, le rapport dopration a les valeurs
suivantes :
Valeur

Rapport dopration (octet de poids fort)

16#0B

Aucune ressource systme : le nombre dEF de communication simultanes


dpasse le nombre maximum autoris par le processeur

16#0C

Module rseau arrt

33002552 04/2015

37

Fonctionnement

Modle client/serveur
Prsentation
Le modle client/serveur est constitu de deux entits. Lune delle sert de serveurrpondant aux
requtes, lautre sert de client et est lorigine de la requte.
Le fonctionnement du modle client/serveur est bas sur un protocole spcifique qui doit tre
implment lune des extrmits de la connexion.
Une description de ce protocole est propose dans les paragraphes qui suivent.
NOTE : Si vous dveloppez votre propre application client/serveur, vous tes responsable du test
et de la gestion des connexions.
Description
Le modle fonctionne de la manire suivante :
z
z
z
z

38

Lapplication serveur coute.


Une application cliente demande des services lapplication serveur.
Lapplication serveur accepte la requte.
Des changes sont effectus entre les deux entits.

33002552 04/2015

Fonctionnement

Illustration
Illustration du fonctionnement du modle client/serveur

33002552 04/2015

39

Fonctionnement

Exemples dapplications client/serveur


Prsentation
Les connexions sont gres par le programme dapplication. Un client mettant fin une connexion
sans respecter la squence TCP (suite une coupure secteur par exemple) sera toujours
considr comme tant connect tant quaucune autre donne naura t envoye ou quaucun
autre vnement ne se sera produit.
Les paragraphes qui suivent proposent trois exemples significatifs qui devraient vous permettre de
mieux comprendre le fonctionnement de larchitecture.
Le ct client est reprsent sous forme de diagramme de flux, tandis que le ct serveur est
reprsent sous forme dune squence doprations troitement lies aux vnements du ct
client.
Le scnario de lexemple 2 reprsente une connexion coupe ct client aprs FCT_RECEIVE (Sj)
car il ny a pas de boucle de traitement SEND_RECEIVE.

40

33002552 04/2015

Fonctionnement

Exemple 1
Le diagramme ci-dessous dcrit le fonctionnement dune application serveur lors du traitement de
deux connexions demandes par deux clients.

33002552 04/2015

41

Fonctionnement

Exemple 2
Le diagramme ci-dessous dcrit le fonctionnement dune application serveur lors du traitement de
deux connexions demandes par le mme client. La premire dconnexion na pas t effectue
en respectant la procdure TCP correcte (comme dans le cas dune coupure secteur par exemple).
Le socket sera donc considr comme tant toujours connect tant que le client naura pas
effectu de nouvelle connexion.

42

33002552 04/2015

Fonctionnement

Exemple 3
Le diagramme ci-dessous dcrit le fonctionnement dune application serveur lors du traitement de
deux connexions demandes par le mme client. La premire dconnexion na pas t effectue
en respectant la procdure TCP correcte (comme dans le cas dune coupure secteur par exemple).
Le socket sera donc considr comme tant toujours connect tant quaucune donne naura t
envoye par le serveur.

33002552 04/2015

43

Fonctionnement

44

33002552 04/2015

Unity Pro
Modes de fonctionnement et performances
33002552 04/2015

Chapitre 6
Modes de fonctionnement et performances

Modes de fonctionnement et performances


Objet de ce chapitre
Ce chapitre tente de vous donner un aperu des modes de fonctionnement, notions de base
requises pour la mise au point, et des caractristiques 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 opratoires du module rseau

46

Performances

48

Mise au point et diagnostic

49

33002552 04/2015

45

Modes de fonctionnement et performances

Modes opratoires du module rseau


Vue densemble
Le module TSX ETY 5103 prsente 4 tats de fonctionnement :
z
z
z
z

hors tension
excution dauto-tests
configur
non configur

Les auto-tests sont effectus sous tension.


Le module ne fonctionne pas avec la configuration par dfaut.
La configuration doit tre envoye lautomate via le socket du terminal et non via le rseau.
Si le module nest 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 envoye au module dans les cas suivants :
z
z
z
z
z

lorsquune application est tlcharge,


lorsque lautomate est mis sous tension,
lorsque le module est connect au rack et quil est sous tension,
en cas de redmarrage chaud ou froid,
en cas de rinitialisation de lautomate Premium.

Mode de fonctionnement aprs configuration

AVERTISSEMENT
COMPORTEMENT INATTENDU DE LAPPLICATION - REDEMARRAGE A CHAUD OU A
FROID
Le programmeur doit tester les bits systme %S0 et %S1 dans son application pour recrer les
connexions en cas de dmarrage chaud ou froid. Le programmeur doit aussi tester le bit
systme %S13 dans son application pour vrifier le premier balayage aprs une commande
STOP/RUN laide de lapplication logicielle de lautomate.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matriels.

46

33002552 04/2015

Modes de fonctionnement et performances

Une fois quune configuration a t dfinie, le module fonctionne de la faon suivante :


Etape

Action

Le module rinitialise la communication en cours.


Rsultat : les changes en cours sont interrompus, les connexions TCP Open sont
fermes et tous les sockets sont supprims.

Le module se reconfigure lui-mme.

Le module est prt traiter les fonctions de communication TCP Open de


lapplication.

33002552 04/2015

47

Modes de fonctionnement et performances

Performances
Nombre de connexions simultanes
Le nombre maximum de connexions TCP/IP simultanes un TSX ETY 5103 est de :
z
z

32 si loctet de poids fort du paramtre INTE a pour valeur 00. Il peut y avoir 16 sockets
connects (client) et 16 sockets dcoute (serveur).
64 si loctet de poids fort du paramtre INTE a pour valeur 01. Les 64 sockets peuvent tre
utiliss au choix comme des sockets dcoute (serveur) ou des sockets connects (client).
Toutes les combinaisons sont possibles, hormis une exception : dans une application serveur,
il doit y avoir au moins un socket dcoute.

Echanges de donnes
Le volume de donnes maximum qui peut tre envoy dans un cycle dautomate est de 240 octets.
Cette limitation est due au mcanisme de bus X utilis pour le transfert des donnes entre le
module et le processeur.
Si vous voulez transfrer un message de 8 kilo-octets, vous devez le scinder en blocs de
240 octets. Si vous souhaitez garantir que lordre denvoi des blocs sera respect pour permettre
la reconstitution intgrale du message, vous devez envoyer un bloc par cycle. Dans notre exemple,
35 cycles dautomate (8*10024/240) seront donc ncessaires. Un cycle dautomate de 50 ms
prend 1,75 s.
NOTE : Ces calculs se basent sur lutilisation dun seul socket. Si vous grez plusieurs clients,
vous devez tenir compte du nombre de sockets connects.
Pour un protocole de messagerie, une interface de niveau infrieur doit grer le processus de
fragmentation. Dans ce cas, les performances dpendent du nombre de fonctions FCT_SEND
(voir page 81) ou FCT_RECEIVE (voir page 73) excutes dans un mme cycle dautomate.
Les performances peuvent tre rduites si le module TSX ETY 5103 est dj utilis pour dautres
tches de communication (IO Scanning, Global Data, etc.).

48

33002552 04/2015

Modes de fonctionnement et performances

Mise au point et diagnostic


Ecran Mise au point
En mode En ligne, le logiciel Unity Pro permet de mettre au point lapplication grce des crans
de mise au point spcifiques.
Lcran de mise au point du module peut servir cela. Soulignons nanmoins que :
z

le nombre de connexions affiches inclut :


z les connexions profil ouvert (TCP Open) ;
z les connexions profil priv (adresse dclare dans la configuration).

les adresses IP des profils ouverts ne peuvent pas tre affiches dans cet cran.

Tests des communications IP


La fentre de test des communications permet de tester les communications IP avec un
quipement client si ladresse IP du client est dclare en tant ququipement distant (utilis par le
profil priv).
La liste des adresses IP configures permet de slectionner la station avec laquelle communiquer
grce lactivation dune commande "ping"qui renvoie un tat indiquant le retour de boucle ou la
temporisation du message.

33002552 04/2015

49

Modes de fonctionnement et performances

50

33002552 04/2015

Unity Pro
Avanc
33002552 04/2015

Partie III
Avanc

Avanc
Vue densemble
Cette section dcrit les fonctions et blocs fonction lmentaires de la famille Avanc.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre

Titre du chapitre

Page

FCT_ACCEPT : accepte une requte de connexion

53

FCT_BIND : relie un numro de socket une adresse IP et un port

57

FCT_CLOSE : supprime le socket spcifi

61

FCT_CONNECT : tablit une connexion avec une adresse IP

65

11

FCT_LISTEN : configuration dune connexion en attente de socket

69

12

FCT_RECEIVE : rcupre les donnes disponibles sur un socket

73

13

FCT_SELECT : multiplexe les requtes sur les sockets

77

14

FCT_SEND : envoi de donnes un socket spcifique

81

15

FCT_SETSOCKOPT : configure les options associes au socket

85

16

FCT_SHUTDOWN : dsactive la transmission sur le socket

89

17

FCT_SOCKET : cration dun nouveau socket

93

10

33002552 04/2015

51

Avanc

52

33002552 04/2015

Unity Pro
FCT_ACCEPT
33002552 04/2015

Chapitre 7
FCT_ACCEPT : accepte une requte de connexion

FCT_ACCEPT : accepte une requte de connexion


Description
Description de la fonction
La fonction FCT_ACCEPT permet daccepter une requte de connexion reue par le socket
spcifi.
Cette requte de connexion provient dun socket tranger.
Pour pouvoir appeler FCT_ACCEPT, il faut configurer un socket de sorte quil puisse recevoir une
requte de connexion en appelant FCT_LISTEN. La fonction FCT_ACCEPT :
z
z
z
z

extrait la premire requte de connexion dans la file dattente des connexions ;


cre un socket connect ayant les mmes proprits que le socket dorigine ;
termine la connexion entre le socket tranger et le nouveau socket ;
renvoie un numro pour le nouveau socket.

Ce nouveau numro de socket permet de lire et dcrire des donnes sur le socket tranger. Il ne
sert pas accepter de nouvelles connexions. Le socket dorigine reste ouvert, prt accepter de
nouvelles connexions.
Sil ny a aucune connexion en file dattente, FCT_ACCEPT renvoie une erreur.
Les paramtres supplmentaires EN et ENO peuvent tre configurs.
Reprsentation en FBD

33002552 04/2015

53

FCT_ACCEPT

Reprsentation en LD

Reprsentation en IL
Nombre de modules LD
FCT_ACCEPT Socket_Number, Clie_Index, Gest_Index, Management_Param,
Client_Address
Reprsentation en ST
FCT_ACCEPT(Module_Number, Socket_Number, Clie_Index, Gest_Index,
Management_Param, Client_Address);

54

33002552 04/2015

FCT_ACCEPT

Description des paramtres


Le tableau suivant dcrit les paramtres dentre :
Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau dans le


rack 0.
z Loctet de poids faible est le numro
demplacement du module rseau dans le rack
0.
z Loctet de poids fort peut tre utilis pour
augmenter le nombre de sockets.
z 00 : garantit une compatibilit descendante
totale avec les applications cres avec une
version 3.3 ou antrieure du micrologiciel.
z 01 : il est possible dutiliser jusqu 64
sockets (la version du micrologiciel doit tre
suprieure 3.3).

Socket_Number

INT

Numro 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 dcrit les paramtres de sortie :


Paramtre

Type

Commentaire

Client_Address

ARRAY [0... 3]
OF INT

Matrice de 4 mots contenant le numro du socket


de service, le numro de port et ladresse IP du
client :
z Client_Address[0] : numro du socket
connect
z Client_Address[1] : numro de port du client
z Client_Address[2] : mot de poids faible de
ladresse IP du client
z Client_Address[3] : mot de poids fort de
ladresse IP du client

33002552 04/2015

55

FCT_ACCEPT

Le tableau suivant dcrit les paramtres dE/S :


Paramtre

Type

Management_Param ARRAY [0... 3]


OF INT

56

Commentaire
Matrice de gestion des fonctions (voir page 34)
Le rapport dopration peut afficher les valeurs
suivantes :
z 16#00 : pas derreur
z 16#09 : numro de socket non valide
z 16#16 : la fonction FCT_LISTEN doit tre
appele avant FCT_ACCEPT
z 16#23 : pas de requte de connexion

33002552 04/2015

Unity Pro
FCT_BIND
33002552 04/2015

Chapitre 8
FCT_BIND : relie un numro de socket une adresse IP et un port

FCT_BIND : relie un numro de socket une adresse IP et


un port
Description
Description de la fonction
La fonction FCT_BIND permet daffecter un numro de port et une adresse Internet un socket.
Un socket tant cr sans adresse, il ne peut pas tre utilis pour recevoir des donnes ( part les
requtes de connexion) tant quaucune adresse ne lui a t affecte. Ladresse Internet est fixe
par le module rseau et correspond son adresse IP locale. Lutilisateur nest pas autoris
utiliser les numros de port dj utiliss par le module rseau. Il sagit des numros de port
suivants :
z
z
z
z
z
z
z
z
z
z

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 spcifiques de module)
1 024 (ports TCP USER)
3 124 (port dE/S)
7 400 8 400 (ports RTPS)

Les paramtres supplmentaires EN et ENO peuvent tre configurs.


Reprsentation en FBD

33002552 04/2015

57

FCT_BIND

Reprsentation en LD

Reprsentation en IL
LD Module_Number
FCT_BIND Socket_Number, Port_Number, Gest_Index, Management_Param
Reprsentation en ST
FCT_BIND(Module_Number, Socket_Number, Port_Number, Gest_Index,
Management_Param);
Description des paramtres
Le tableau ci-aprs dcrit les paramtres dentre.

58

Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau dans le rack 0.


z Loctet de poids faible est le numro demplacement du
module rseau dans le rack 0.
z Loctet de poids fort peut tre utilis pour augmenter le
nombre de sockets.
z 00 : garantit une compatibilit descendante totale
avec les applications cres avec une version 3.3
ou antrieure du micrologiciel.
z 01 : il est possible dutiliser jusqu 64 sockets (la
version du micrologiciel doit tre suprieure 3.3).

33002552 04/2015

FCT_BIND

Paramtre

Type

Commentaire

Socket_Number

INT

Numro du socket

Port_Number

INT

Numro de port affecter au socket.

Gest_Index

INT

Index du premier mot dans la matrice


Management_Param

Le tableau ci-aprs dcrit les paramtres dentre/sortie.


Paramtre

Type

Commentaire

Management_Param

ARRAY [0... 3]
OF INT

Matrice de gestion des fonctions (voir page 34)


Le rapport dopration peut afficher les valeurs
suivantes :
z 16#00 : pas derreur
z 16#09 : numro de socket non valide
z 16#16 : le socket est dj li
z 16#30 : le port spcifi est dj utilis
z 16#37 : le numro de port spcifi nest pas
disponible
z 16#41 : aucun routage vers lhte

Configuration des numros de port au-del de 32 K


Le paramtre de port est associ au type de donnes Entier. Pour utiliser des numros de port
suprieurs 15 bits (suprieurs 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 dutiliser EF FCT_BIND ou FCT_CONNECT en prsence dun
numro de port suprieur 32 K.
Paramtre dentre :
Paramtre

Type de donnes

Signification

UINT_variable

UINT

valeur en entre

Paramtre

Type de donnes

Signification

ConvertedVariable

INT

valeur en sortie

Paramtre de sortie :

33002552 04/2015

59

FCT_BIND

60

33002552 04/2015

Unity Pro
FCT_CLOSE
33002552 04/2015

Chapitre 9
FCT_CLOSE : supprime le socket spcifi

FCT_CLOSE : supprime le socket spcifi


Description
Description de la fonction
La fonction FCT_CLOSE permet de supprimer le socket spcifi.
NOTE : Si le numro de socket nest pas indiqu ou sil est gal 0, tous les sockets ouverts sont
supprims.
Comme les sockets ont t ouverts lors de lutilisation de la fonction FCT_SOCKET, via loption
SO_LINGER, la fonction FCT_CLOSE nest pas bloque, mme si les files dattente nont pas
encore t envoyes ou nont pas fait lobjet dun accus de rception. On parle dans ce cas
dabandon car le circuit virtuel du socket est immdiatement rinitialis et toutes les donnes non
envoyes sont perdues.
Tout appel de la fonction FCT_RECEIVE de lautre ct du circuit chouera et gnrera le message
derreur : connexion rinitialise (16#36).
Les paramtres supplmentaires EN et ENO peuvent tre configurs.
Reprsentation en FBD

33002552 04/2015

61

FCT_CLOSE

Reprsentation en LD

Reprsentation en IL
LD Module_Number
FCT_CLOSE Socket_Number, Gest_Index, Management_Param
Reprsentation en ST
FCT_CLOSE(Module_Number, Socket_Number, Gest_Index, Management_Param);
Description des paramtres
Le tableau suivant dcrit les paramtres dentre :

62

Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau


dans le rack 0.
z Loctet de poids faible est le numro
demplacement du module rseau dans le
rack 0.
z Loctet de poids fort peut tre utilis pour
augmenter le nombre de sockets.
z 00 : garantit une compatibilit
descendante totale avec les applications
cres avec une version 3.3 ou
antrieure du micrologiciel.
z 01 : il est possible dutiliser jusqu 64
sockets (la version du micrologiciel doit
tre suprieure 3.3).

33002552 04/2015

FCT_CLOSE

Paramtre

Type

Commentaire

Socket_Number

INT

Numro de port supprimer. Si


Socket_Number a pour valeur 0, tous les
sockets sont supprims.

Gest_Index

INT

Index du premier mot dans la matrice


Management_Param

Le tableau suivant dcrit les paramtres dE/S :


Paramtre

Type

Management_Param

ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 34)


INT
Le rapport dopration peut afficher les valeurs
suivantes :
z 16#00 : pas derreur
z 16#16 : numro de socket non valide

33002552 04/2015

Commentaire

63

FCT_CLOSE

64

33002552 04/2015

Unity Pro
FCT_CONNECT
33002552 04/2015

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 dtablir une connexion vers un port connu et une adresse
Internet.
Les paramtres supplmentaires EN et ENO peuvent tre configurs.
Reprsentation en FBD

33002552 04/2015

65

FCT_CONNECT

Reprsentation en LD

Reprsentation en IL
LD Module_Number
FCT_CONNECT Socket_Number, Serv_Index, Gest_Index, Server_Address,
Management_Param
Reprsentation en ST
FCT_CONNECT(Module_Number, Socket_Number, Serv_Index, Gest_Index,
Server_Address, Management_Param);

66

33002552 04/2015

FCT_CONNECT

Description des paramtres


Le tableau ci-aprs dcrit les paramtres dentre.
Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau dans


le rack 0.
z Loctet de poids faible est le numro
demplacement du module rseau dans le
rack 0.
z Loctet de poids fort peut tre utilis pour
augmenter le nombre de sockets.
z 00 : garantit une compatibilit descendante
totale avec les applications cres avec
une version 3.3 ou antrieure du
micrologiciel.
z 01 : il est possible dutiliser jusqu
64 sockets (la version du micrologiciel doit
tre suprieure 3.3).

Socket_Number

INT

Numro 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 numro de port et


ladresse IP du serveur

Le tableau ci-aprs dcrit les paramtres dE/S.


Paramtre

Type

Management_Param

ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 34)


INT
Le rapport dopration peut afficher les valeurs
suivantes :
z 16#00 : bon fonctionnement
z 16#09 : numro de socket non valide
z 16#16 : paramtre non valide
z 16#20 : connexion interrompue
z 16#24 : connexion en cours
z 16#38 : socket dj connect
z 16#3D : connexion refuse
z 16#41 : aucun routage vers lhte

33002552 04/2015

Commentaire

67

FCT_CONNECT

Configuration des numros de port au-del de 32 K


Le paramtre de port est associ au type de donnes Entier. Pour utiliser des numros de port
suprieurs 15 bits (suprieurs 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 dutiliser EF FCT_BIND ou FCT_CONNECT en prsence dun
numro de port suprieur 32 K.
Paramtre dentre :
Paramtre

Type de donnes

Signification

UINT_variable

UINT

valeur en entre

Paramtre de sortie :

68

Paramtre

Type de donnes

Signification

ConvertedVariable

INT

valeur en sortie

33002552 04/2015

Unity Pro
FCT_LISTEN
33002552 04/2015

Chapitre 11
FCT_LISTEN : configuration dune connexion en attente de socket

FCT_LISTEN : configuration dune connexion en attente


de socket
Description
Description de la fonction
La fonction FCT_LISTEN permet de configurer le socket spcifi pour quil puisse recevoir les
connexions.
Les demandes de connexion sont mises en file dattente sur le socket jusqu leur acceptation par
la fonction FCT_ACCEPT. La longueur dfinie pour la file dattente est de 16. Si une requte de
connexion arrive et que la file dattente est complte, le client qui la envoye obtient une erreur
ECONNREFUSED(16#3D).
Les paramtres supplmentaires EN et ENO peuvent tre configurs.
Reprsentation en FBD

33002552 04/2015

69

FCT_LISTEN

Reprsentation en LD

Reprsentation en IL
LD Module_Number
FCT_LISTEN Socket_Number, Gest_Index, Management_Param
Reprsentation en ST
FCT_LISTEN(Module_Number, Socket_Number, Gest_Index, Management_Param);
Description des paramtres
Le tableau suivant dcrit les paramtres dentre :

70

Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau


dans le rack 0.
z Loctet de poids faible est le numro
demplacement du module rseau dans le
rack 0.
z Loctet de poids fort peut tre utilis pour
augmenter le nombre de sockets.
z 00 : garantit une compatibilit
descendante totale avec les applications
cres avec une version 3.3 ou
antrieure du micrologiciel.
z 01 : il est possible dutiliser jusqu 64
sockets (la version du micrologiciel doit
tre suprieure 3.3).

33002552 04/2015

FCT_LISTEN

Paramtre

Type

Commentaire

Socket_Number

INT

Numro du socket

Gest_Index

INT

Index du premier mot dans la matrice


Management_Param

Le tableau suivant dcrit les paramtres dE/S :


Paramtre

Type

Management_Param

ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 34)


INT
Le rapport dopration peut afficher les valeurs
suivantes :
z 16#00 : pas derreur
z 16#09 : numro de socket non valide

33002552 04/2015

Commentaire

71

FCT_LISTEN

72

33002552 04/2015

Unity Pro
FCT_RECEIVE
33002552 04/2015

Chapitre 12
FCT_RECEIVE : rcupre les donnes disponibles sur un socket

FCT_RECEIVE : rcupre les donnes disponibles sur un


socket
Description
Description de la fonction
La fonction FCT_RECEIVE recherche les donnes disponibles sur le socket. La longueur maximale
des donnes lire est de 240 octets.
La fonction renvoie le nombre doctets lus dans le socket. Vous devez toujours contrler cette
valeur car cest la seule faon de vrifier le nombre rel doctets de donnes enregistrs dans la
mmoire tampon du client.
NOTE : FCT_RECEIVE ne renvoie pas de donnes hors bande.
Les paramtres supplmentaires EN et ENO peuvent tre configurs.
Reprsentation en FBD

33002552 04/2015

73

FCT_RECEIVE

Reprsentation en LD

Reprsentation en IL
LD Module_Number
FCT_RECEIVE Socket_Number, Pbuf_Index, Gest_Index, Management_Param,
Received_Data
Reprsentation en ST
FCT_RECEIVE(Module_Number, Socket_Number, Pbuf_Index, Gest_Index,
Management_Param, Received_Data);

74

33002552 04/2015

FCT_RECEIVE

Description des paramtres


Le tableau suivant dcrit les paramtres dentre :
Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau dans le


rack 0.
z Loctet de poids faible est le numro
demplacement du module rseau dans le rack
0.
z Loctet de poids fort peut tre utilis pour
augmenter le nombre de sockets.
z 00 : garantit une compatibilit descendante
totale avec les applications cres avec une
version 3.3 ou antrieure du micrologiciel.
z 01 : il est possible dutiliser jusqu 64
sockets (la version du micrologiciel doit tre
suprieure 3.3).

Socket_Number

INT

Numro 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 dcrit les paramtres de sortie :


Paramtre

Type

Received_Data

ARRAY [0... n] OF Matrice de 240 octets maximum contenant les


INT
donnes lues sur le socket.

33002552 04/2015

Commentaire

75

FCT_RECEIVE

Le tableau suivant dcrit les paramtres dE/S :


Paramtre

Type

Management_Param

ARRAY [0... 3] OF Matrice de gestion des fonctions (voir page 34)


INT
Le rapport dopration peut afficher les valeurs
suivantes :
z 16#00 : pas derreur
z 16#09 : numro de socket non valide
z 16#23 : aucune donne lire
z 16#36 : connexion rinitialise par
lhomologue
z 16#39 : socket non connect (socket
dcoute)
z 16#3C : dlai du maintien dactivit dpass
pour cause dinterruption de connexion
z 16#0E : longueur de la chane de caractres
recevoir suprieure 240 octets

Commentaire

Le quatrime mot de la matrice doit contenir le


nombre doctets reus si aucune erreur ne sest
produite.

76

33002552 04/2015

Unity Pro
FCT_SELECT
33002552 04/2015

Chapitre 13
FCT_SELECT : multiplexe les requtes sur les sockets

FCT_SELECT : multiplexe les requtes sur les sockets


Description
Description de la fonction
La fonction FCT_SELECT permet de multiplexer les requtes dE/S sur plusieurs sockets. Elle
indique les sockets ayant des vnements traiter laide dune matrice de nombres entiers.
Pour la rvision du micrologiciel ETY 5103, version 3.3 ou infrieure :
z

Un numro compris entre 1 et 32 est affect aux descripteurs de socket :


z Des numros compris entre 1 et 16 sont affects aux sockets crs par la fonction de socket.
Il sagit de sockets clients.
z Des numros compris entre 17 et 32 sont affects aux sockets crs par la fonction
dacceptation. Il sagit de sockets serveurs.

La matrice de la tche MASK (Socket_Activity) permet de diagnostiquer ltat des sockets


dcoute (serveurs) et connects (clients).
z Perspective du serveur : tout mot de la matrice utilise les bits disponibles de la matrice pour
correspondre au socket dcoute de ltape initiale. La fonction dacceptation gnre un
numro de socket diffrent pour localiser son bit associ dans le deuxime mot de la matrice,
qui indique ltat de la connexion du serveur.
z Perspective du client : le premier mot de la matrice indique ltat de la connexion du client.

Pour le micrologiciel ETY 5103, version suprieure la rvision 3.3 :


z

z
z
z

Vous pouvez utiliser jusqu 64 sockets dcoute (serveur) ou connects (client). Dans une
application serveur, au moins 1 socket doit tre configur comme socket dcoute. Cest la
seule restriction stricte concernant le choix entre les sockets dcoute et les sockets connects.
Pour dterminer les sockets dcoute, consultez le numro de socket fourni comme sortie par
la fonction de socket.
Pour dterminer les sockets connects, consultez le numro de socket fourni comme sortie par
la fonction dacceptation.
La matrice de la tche MASK (Socket_Activity) permet de diagnostiquer ltat des sockets
dcoute et connects, qui sont maintenant combins dans une matrice de 2 ou 4 mots (voir la
remarque ci-dessous). Vous devez utiliser la sortie de la fonction de socket ou dacceptation
pour localiser le bit correspondant dans la matrice. Reportez-vous Socket_Activity dans
le tableau Description des paramtres (voir page 79).

NOTE : pour les versions suprieures 3.3, la structure Management_Param requiert un


paramtre de longueur.

33002552 04/2015

77

FCT_SELECT

Le champ de longueur nest pas utilis lorsque loctet de poids fort du paramtre INTE est rgl
sur 00. Sil est rgl sur 01, vous devez rgler la longueur sur 8. La longueur 8 vous permet de
visualiser les donnes associes aux 64 connexions. Si vous choisissez une valeur infrieure,
comme 4 par exemple, vous ne verrez que les donnes associes aux 32 premires connexions.
Les paramtres supplmentaires EN et ENO peuvent tre configurs.
Reprsentation en FBD

Reprsentation en LD

Reprsentation en IL
LD Module_Number
FCT_SELECT Mask_Index, Gest_Index, Management_Param, Socket_Activity
Reprsentation en ST
FCT_SELECT(Module_Number, Mask_Index, Gest_Index, Management_Param,
Socket_Activity);

78

33002552 04/2015

FCT_SELECT

Description des paramtres


Le tableau ci-aprs dcrit les paramtres dentre.
Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau dans le rack 0.


z Loctet de poids faible est le numro demplacement du
module rseau dans le rack 0.
z Loctet de poids fort peut tre utilis pour augmenter le
nombre de sockets.
z 00: garantit une compatibilit ascendante totale
avec les applications cres avec la version 3.3 ou
une version antrieure du micrologiciel.
z 01: il est possible dutiliser jusqu 64 sockets (la
version du micrologiciel doit tre suprieure 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-aprs dcrit les paramtres dE/S.


Paramtre

Type

Commentaire

Management_Param

ARRAY [0... 3]
OF INT

Matrice de gestion des fonctions (voir page 34)


Pour cette fonction, le rapport dopration renvoie
toujours la valeur 16#00, qui indique labsence
derreur.

33002552 04/2015

79

FCT_SELECT

Le tableau ci-aprs dcrit les paramtres de sortie.


Paramtre

Type

Socket_Activity MATRICE [0... 1] DE INT


- ou MATRICE [0... 3] DE INT
(reportez-vous la
remarque dans la section
Description de la fonction
(voir page 77).)

Commentaire
Etat de chaque socket. Chaque bit ayant la
valeur 1 indique un vnement sur le socket
correspondant ce bit. Exemple :
Pour la version 3.3 ou une version antrieure :
z Si le bit 5 du premier mot a la valeur 1, le
socket 6 sera lu par la fonction FCT_ACCEPT.
z Si le bit 3 du deuxime mot a la valeur 1, le
socket 20 sera lu par la fonction
FCT_RECEIVE.
Pour les versions postrieures la
version 3.3 :
z Si un bit a la valeur 1 sur un socket dcoute,
un serveur est prt accepter cette connexion.
Si un bit a la valeur 1 sur un socket connect,
les donnes sont prtes tre envoyes ou la
communication a t interrompue.
Perspective du client : ds quune connexion
client est tablie, le bit correspondant de la
connexion (numro de socket) est rgl sur 1
dans la matrice. Exemple : le socket 33 se
trouvera dans le premier bit (bit 0) du
troisime mot.
Perspective du serveur : la fonction dcoute
ouvre un socket. Le bit correspondant ce
numro de socket est rgl sur 1 dans la matrice.
Exemple : le socket 3 se trouvera dans le
troisime bit (bit 2) du troisime mot. Ensuite, la
fonction dacceptation renverra un numro de
socket diffrent, dont le bit correspondant sera
rgl sur 1 dans la matrice.
NOTE : le numro de socket de la fonction
dcoute restera 1 jusqu la fermeture du
socket.

80

33002552 04/2015

Unity Pro
FCT_SEND
33002552 04/2015

Chapitre 14
FCT_SEND : envoi de donnes un socket spcifique

FCT_SEND : envoi de donnes un socket spcifique


Description
Description de la fonction
La fonction FCT_SEND permet denvoyer des donnes un socket tranger. La longueur maximale
des donnes envoyer est de 240 octets.
NOTE : il est impossible denvoyer des donnes hors bande.
Les paramtres supplmentaires EN et ENO peuvent tre configurs.
Reprsentation en FBD

33002552 04/2015

81

FCT_SEND

Reprsentation en LD

Reprsentation en IL
LD Module_Number
FCT_SEND Socket_Number, Pbuf_Index, Gest_Index,Data_to_Send,
Management_Param
Reprsentation en ST
FCT_SEND(Module_Number, Socket_Number, Pbuf_Index,
Gest_Index,Data_to_Send, Management_Param);

82

33002552 04/2015

FCT_SEND

Description des paramtres


Le tableau suivant dcrit les paramtres dentre :
Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau dans le


rack 0.
z Loctet de poids faible est le numro
demplacement du module rseau dans le rack
0.
z Loctet de poids fort peut tre utilis pour
augmenter le nombre de sockets.
z 00 : garantit une compatibilit descendante
totale avec les applications cres avec une
version 3.3 ou antrieure du micrologiciel.
z 01 : il est possible dutiliser jusqu 64
sockets (la version du micrologiciel doit tre
suprieure 3.3).

Socket_Number

INT

Numro 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
donnes envoyer.

Le tableau suivant dcrit les paramtres dE/S :


Paramtre

Type

Management_Param ARRAY [0... 3]


OF INT

Commentaire
Matrice de gestion des fonctions (voir page 34)
Le compte rendu des oprations peut afficher les
valeurs suivantes :
z 16#00 : pas derreur
z 16#09 : numro de socket non valide
z 16#20 : communication interrompue
z 16#23 : socket plein
z 16#36 : connexion rinitialise par
lhomologue
z 16#39 : socket non connect (socket
dcoute)
z 16#0E : longueur de la chane de caractres
envoyer suprieure 240 octets
Le quatrime mot de la matrice doit contenir le
nombre doctets envoys si aucune erreur ne
sest produite.

33002552 04/2015

83

FCT_SEND

84

33002552 04/2015

Unity Pro
FCT_SETSOCKOPT
33002552 04/2015

Chapitre 15
FCT_SETSOCKOPT : configure les options associes au socket

FCT_SETSOCKOPT : configure les options associes au


socket
Description
Description de la fonction
La fonction FCT_SETSOCKOPT permet de configurer les options associes au socket spcifi.
Certaines options sont configures automatiquement lorsque le socket est cr laide de la
fonction FCT_SOCKET (voir page 93).
Voici les options disponibles :
z
z
z
z

DONT_ROUTE : indique que les donnes sortantes ne doivent pas tre achemines. Les
paquets dirigs vers des nuds non connects sont abandonns.
RESET_DONT_ROUTE : rinitialise DONT_ROUTE.
KEEP_ALIVE : garantit le maintien dactivit de la connexion grce lenvoi rgulier et
automatique de paquets sur le socket.
RESET_KEEP_ALIVE : rinitialise KEEP_ALIVE.

La slection de ces options sopre par laffectation dun numro la variable Option_Type.
Les paramtres supplmentaires EN et ENO peuvent tre configurs.
Reprsentation en FBD

33002552 04/2015

85

FCT_SETSOCKOPT

Reprsentation en LD

Reprsentation en IL
LD Module_Number
FCT_SETSOCKOPT Socket_Number, Option_Type, Gest_Index, Management_Param
Reprsentation en ST
FCT_SETSOCKOPT(Module_Number, Socket_Number, Option_Type, Gest_Index,
Management_Param);

86

33002552 04/2015

FCT_SETSOCKOPT

Description des paramtres


Le tableau suivant dcrit les paramtres dentre :
Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau


dans le rack 0.
z Loctet de poids faible est le numro
demplacement du module rseau dans le
rack 0.
z Loctet de poids fort peut tre utilis pour
augmenter le nombre de sockets.
z 00 : garantit une compatibilit
descendante totale avec les applications
cres avec une version 3.3 ou
antrieure du micrologiciel.
z 01 : il est possible dutiliser jusqu 64
sockets (la version du micrologiciel doit
tre suprieure 3.3).

Socket_Number

INT

Numro du socket

Option_Type

INT

Type doption associer au socket. Voici les


valeurs qui peuvent tre affectes ce mot :
z 1 pour DONT_ROUTE
z 2 pour RESET_DONT_ROUTE
z 3 pour KEEP_ALIVE
z 4 pour RESET_KEEP_ALIVE

Gest_Index

INT

Index du premier mot dans la matrice


Management_Param

Le tableau suivant dcrit les paramtres dE/S :


Paramtre

Type

Commentaire

Management_Param

ARRAY [0... 3]
OF INT

Matrice de gestion des fonctions (voir page 34)


Le rapport dopration peut afficher les valeurs
suivantes :
z 16#00 : pas derreur
z 16#09 : numro de socket non valide
z 16#16 : option non valide
Le quatrime mot de la matrice doit contenir le
nombre doctets stocks en mmoire tampon.

33002552 04/2015

87

FCT_SETSOCKOPT

88

33002552 04/2015

Unity Pro
FCT_SHUTDOWN
33002552 04/2015

Chapitre 16
FCT_SHUTDOWN : dsactive la transmission sur le socket

FCT_SHUTDOWN : dsactive la transmission sur le socket


Description
Description de la fonction
La fonction FCT_SHUTDOWN permet de dsactiver la transmission des envois ou des rceptions
sur le socket.
La fentre TCP nest pas modifie et les donnes entrantes seront acceptes (mais sans accus
de rception) jusqu ce que la fentre soit pleine.
NOTE : La fonction ne ferme pas le socket et les ressources affectes au socket ne sont libres
qu lenvoi de FCT_CLOSE. Nanmoins, nessayez pas de rutiliser le socket aprs lexcution de
la fonction FCT_SHUTDOWN.
Les paramtres supplmentaires EN et ENO peuvent tre configurs.
Reprsentation en FBD

33002552 04/2015

89

FCT_SHUTDOWN

Reprsentation en LD

Reprsentation en IL
LD Module_Number
FCT_SHUTDOWN Socket_Number, Shutdown_Option, Gest_Index,
Management_Param
Reprsentation en ST
FCT_SHUTDOWN(Module_Number, Socket_Number, Shutdown_Option, Gest_Index,
Management_Param);

90

33002552 04/2015

FCT_SHUTDOWN

Description des paramtres


Le tableau suivant dcrit les paramtres dentre :
Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau


dans le rack 0.
z Loctet de poids faible est le numro
demplacement du module rseau dans le
rack 0.
z Loctet de poids fort peut tre utilis pour
augmenter le nombre de sockets.
z 00 : garantit une compatibilit
descendante totale avec les applications
cres avec une version 3.3 ou
antrieure du micrologiciel.
z 01 : il est possible dutiliser jusqu 64
sockets (la version du micrologiciel doit
tre suprieure 3.3).

Socket_Number

INT

Numro du socket

Shutdown_Option

INT

Option de dsactivation de la transmission :


z 0 : les rceptions ne sont plus autorises sur

le socket
z 1 : les envois ne sont plus autoriss sur le

socket et un message FIN est envoy


z 2 : les envois et les rceptions ne sont plus

autoriss sur le socket. Cette option revient


appliquer les deux options prcdentes.
Gest_Index

INT

Index du premier mot dans la matrice


Management_Param

Le tableau suivant dcrit les paramtres dE/S :


Paramtre

Type

Commentaire

Management_Param

ARRAY [0... 3]
OF INT

Matrice de gestion des fonctions (voir page 34)


Le rapport dopration peut afficher les valeurs
suivantes :
z 16#00 : pas derreur
z 16#09 : numro de socket non valide
z 16#16 : argument non valide
z 16#39 : socket non connect

33002552 04/2015

91

FCT_SHUTDOWN

92

33002552 04/2015

Unity Pro
FCT_SOCKET
33002552 04/2015

Chapitre 17
FCT_SOCKET : cration dun nouveau socket

FCT_SOCKET : cration dun nouveau socket


Description
Description de la fonction
La fonction FCT_SOCKET permet de crer un socket et de renvoyer son numro. Ce socket est une
entit de communication TCP/IP.
Il est cr en tant que socket STREAM TCP avec les options suivantes :
z

z
z

SO_LINGER sans temporisation. Cette option contrle laction entreprendre lorsque des
donnes non envoyes sont mises en file dattente sur un socket et quune fonction FCT_CLOSE
est excute.
NO_DELAY. Lalgorithme de reconnaissance des retards est dsactiv. Les donnes sont
immdiatement envoyes sur le rseau au lieu dtre conserves jusqu ce que la fentre soit
entirement remplie.
KEEP_ALIVE. Lactivit de la connexion est maintenue grce lenvoi rgulier et automatique
de paquets sur le socket.
REUSEADDR. Autorise la rutilisation du port local lors de lappel dune fonction FCT_BIND.

Les paramtres supplmentaires EN et ENO peuvent tre configurs.


Reprsentation en FBD

33002552 04/2015

93

FCT_SOCKET

Reprsentation en LD

Reprsentation en IL
Nombre de modules LD
FCT_SOCKET Gest_Index, Management_Param, Socket_Number
Reprsentation en ST
FCT_SOCKET(Module_Number, Gest_Index, Management_Param, Socket_Number);
Description des paramtres
Le tableau suivant dcrit les paramtres dentre :

94

Paramtre

Type

Commentaire

Module_Number

INT

Numro demplacement du module rseau


dans le rack 0.
z Loctet de poids faible est le numro
demplacement du module rseau dans le
rack 0.
z Loctet de poids fort peut tre utilis pour
augmenter le nombre de sockets.
z 00 : garantit une compatibilit
descendante totale avec les applications
cres avec une version 3.3 ou
antrieure du micrologiciel.
z 01 : il est possible dutiliser jusqu 64
sockets (la version du micrologiciel doit
tre suprieure 3.3).

Gest_Index

INT

Index du premier mot dans la matrice


Management_Param

33002552 04/2015

FCT_SOCKET

Le tableau suivant dcrit les paramtres de sortie :


Paramtre

Type

Commentaire

Socket_Number

INT

Numro du socket cr si aucune erreur ne


sest produite.

Le tableau suivant dcrit les paramtres dE/S :


Paramtre

Type

Commentaire

Management_Param

ARRAY [0... 3]
OF INT

Matrice de gestion des fonctions (voir page 34)


Le rapport dopration peut afficher les valeurs
suivantes :
z 16#00 : pas derreur
z 16#37 : le nombre maximum de sockets est
atteint.

33002552 04/2015

95

FCT_SOCKET

96

33002552 04/2015

Unity Pro
Bibliothque de DFB
33002552 04/2015

Partie IV
Bibliothque de DFB

Bibliothque de DFB

33002552 04/2015

97

Bibliothque de DFB

98

33002552 04/2015

Unity Pro
Bibliothque de DFB
33002552 04/2015

Chapitre 18
Bibliothque de DFB

Bibliothque de DFB
Prsentation
La bibliothque de DFB de communication TCP pour automates Premium permet de transfrer
des blocs de donnes entre une application dautomate et une application distante via une
connexion TCP/IP tablie linitiative de lapplication distante.
Lapplication distante est excute sur un quipement prenant en charge le profil de
communication TCP/IP.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet

Page

Prsentation de la bibliothque de DFB

100

DFB TCP_CNX

101

DFB TCP_SEND

104

DFB TCP_RECEIVE

107

33002552 04/2015

99

Bibliothque de DFB

Prsentation de la bibliothque de DFB


Prsentation
La bibliothque de DFB de communication comprend les lments suivants :
le DFB TCP_CNX pour la gestion des connexions ;
z le DFB TCP_SEND pour la transmission de blocs de donnes (taille maximale de 8 ko) ;
z le DFB TCP_RECEIVE pour la rception de blocs de donnes (taille maximale de 8 ko) ;
z

NOTE : les DFB de communication TCP pour les automates Premium utilisent les services TCP
Open for Premium pour grer les connexions TCP et changer des flux doctets sur ses
connexions.
Les blocs fonction utilisent les services de messagerie mis en uvre dans le processeur Premium.
Par consquent, tous les blocs de communication peuvent tre excuts sur plusieurs cycles
dautomate. Lchange UC/module dun datagramme est effectu dans chaque cycle dautomate.
Maintenance des DFB
Lexcution des blocs fonction fait lobjet dune maintenance explicite. Vous devez programmer la
maintenance dun DFB tant que son bit ACTIVITY est actif.
NOTE : nexcutez pas la mme instance de DFB plusieurs reprises durant un cycle dautomate.
La maintenance des DFB est obligatoire car tous les blocs fonction de communication sont
excuts sur plusieurs cycles dautomate. Ds que le DFB est appel, il est redmarr chaque
cycle dautomate ds que son bit ACTIVITY est gal 1.

100

33002552 04/2015

Bibliothque de DFB

DFB TCP_CNX
Prsentation
Le DFB TCP_CNX gre 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 ltat des mots de gestion. Il nexiste quune instance de DFB TCP_CNX
pour un modle TSX ETY 110 WS/5103.

Paramtres dentre
Paramtre

Type

Description

RST

Bit

La configuration de cette entre 1 :


z interrompt les changes en cours.
z ferme toutes les connexions.

Paramtres dentre/sortie
Paramtre

Type

Description

MANAGNT

Table de mots

Table de gestion commune tous les DFB

33002552 04/2015

101

Bibliothque de DFB

Paramtres de sortie
Paramtre

Type

Description

ERROR

Bit

Ce bit de sortie est rgl sur 1 lorsque lchange ne seffectue


pas correctement.
Le mot dtat indique le type de lerreur survenue.

Donnes publiques internes

102

Paramtre

Type

Variables en
Description
criture/lecture

DEVICE

Mot

Numro de module
Numro de lemplacement physique du module
TSX ETY 110 ES/5103 dans le rack

PORT

Table de
mots

Port local numro i.


Table de 16 ports de service locaux couter
(valeur signe 5010). La valeur 0 indique une
valeur non significative.

IPACCEPT

Mot double

Adresse IP de la machine distante n i


Table dadresses IP quadri-octales de mots,
issue de la table 8. Machines distantes
autorises se connecter lautomate. La
valeur 9 indique une valeur non significative.

EOM

Octet

Caractre de fin de message.


Ce paramtre dfinit la prsence et la valeur dun
caractre de fin de message utiliser dans
les changes de messages :
z EOM = 0 : aucun caractre de fin de
message
z EOM de 0x01 0xFF : valeur du caractre de
fin de message :
z ajoute par le module pendant la
transmission
z vrifie et supprime par le module lors de
la rception

IPCNXi

Chane de
caractres

Adresse IP de la machine distante n i


Chane de caractres en lecture seule utiliser
pour la maintenance exclusivement. Indique
ladresse IP de la machine distante au format
aaa.bbb.ccc.ddd, connecte au port associ
lindex i dans la configuration. La valeur
0.0.0.0 indique quaucune machine nest
connecte ce port.

33002552 04/2015

Bibliothque de DFB

Paramtre

Type

Variables en
Description
criture/lecture

ACTIVITY

Bit

Ce bit de sortie est rgl sur 1 lorsque le DFB est


en cours et doit faire lobjet dune maintenance. Il
est rgl sur 0 en cas de redmarrage chaud,
de redmarrage froid ou de rinitialisation du
DFB.

STATUS

Mot

Ce mot nest pertinent que si le bit de sortie


ERROR est rgl sur 1. Il indique le code de
lerreur survenue pendant lchange. (Chaque bit
de mot rgl sur 1 signale une erreur.)

Fonctionnement
Le DFB TCP_CNX doit tre appel chaque redmarrage de lautomate pour garantir une gestion
permanente des ports TCP.
Lcoute des ports configurs dbute si les bits RST et ACTIVITY sont rgls sur 0. Ensuite, le bit
ACTIVITY reste 1 jusqu ce que lapplication permette au bit RST de revenir 0.
Si la communication avec le module est incorrecte, le bit de sortie ERROR est rgl sur 1.
A tout moment, le rglage du bit RST (entre prioritaire) sur 1 permet dinterrompre toutes les
connexions en cours ou en veille. Le bit ACTIVITY (change termin) est rgl sur 0 et le bit
ERROR, sur 1. Le mot dtat <TCP_CNX nom instance>.STATUS indique le type de lerreur.
Lors dun redmarrage chaud ou froid, le DFB TCP_CNX renvoie automatiquement le mode
dcoute des ports configurs.

33002552 04/2015

103

Bibliothque de DFB

DFB TCP_SEND
Prsentation
Le DFB TCP_SEND permet denvoyer un message de donnes une application cliente distante
via une connexion TCP/IP. La taille maximale du message est de 8 ko.

Paramtres dentre
Paramtre

Type

Description

RST

Bit

La configuration de ce bit 1 :
z interrompt lchange en cours (si le bit ACTIVITY est
rgl sur 1).
z ferme la connexion.
z rgle le bit dinformation ACTIVITY sur 0 et le bit de
sortie ERROR sur 1.
Le code derreur est stock dans le mot STATUS.

BUF

104

Table de
mots

Cette variable dfinit ladresse du premier mot %MWi du


tampon pour envoyer le message.

33002552 04/2015

Bibliothque de DFB

Paramtres dentre/sortie
Paramtre

Type

Description

MANAGNT

Table de mots

Table de gestion commune tous les DFB

Paramtres de sortie
Paramtre

Type

Description

ERROR

Bit

Ce bit de sortie est rgl sur 1 lorsque lchange ne


seffectue pas correctement.
Le mot STATUS indique le type de lerreur survenue.

Donnes publiques internes


Paramtre

Type

Variables en
criture/lecture

Description

DEST

Mot
double

Cette variable dfinit ladresse IP de la machine


distante sur laquelle le client est connect au
port local.
Par dfaut, DEST = 0. Le message est envoy
la seule station cliente distante connecte au
port de service local de lautomate.

PORT

Mot

Cette variable dfinit le numro de port local


auquel le client distant est connect.

SIZE

Mot

Cette variable dfinit la taille du message


envoyer (de 0 8 192 octets).

ACTIVITY

Bit

Ce bit est rgl sur 1 lorsquun change est en


cours. Il revient 0 lorsque lchange est
termin.

INHIB

Bit

Ce bit permet dinhiber lavertissement derreur.


Le bit de sortie ERROR et le mot STATUS restent
0 (lexcution du bloc nest pas interrompue).

STATUS

Mot

Ce mot nest significatif que si le bit de sortie


ERROR est rgl sur 1. Il indique le code de
lerreur survenue pendant lchange (chaque
bit de mot rgl sur 1 signale une erreur).

33002552 04/2015

105

Bibliothque de DFB

Fonctionnement
Le transfert de donnes est lanc lorsque le DFB TCP_SEND est appel, si les bits RST et
ACTIVITY sont rgls sur 0. Pendant lchange, le bit ACTIVITY est rgl sur 1. A la fin de la
transmission, le bit ACTIVITY est rgl sur 0. De plus, si lchange nest pas correct, le bit de
sortie ERROR est rgl sur 1.
A tout moment, le rglage du bit RST (entre prioritaire) sur 1 permet dinterrompre lchange en
cours. Le bit ACTIVITY (change termin) est rgl sur 0 et le bit ERROR, sur 1. Le mot dtat
<TCP_SEND nom instance>.STATUS indique le type de lerreur. Si la connexion est tablie, elle
est ferme et le module attend la connexion entrante. Le DFB TCP_CNX (voir page 101) rtablit
la connexion au port de service TCP pour relancer lenvoi des messages.
Lorsquun message est envoy, les oprations suivantes sont excutes :
z Vrification des paramtres dentre (adresse IP de la machine distante, numro du port local)
z Recherche de la connexion ouverte avec le client distant demand
z Envoi du message par bloc de 240 octets (ajout du caractre de fin de message, le cas
chant)

106

33002552 04/2015

Bibliothque de DFB

DFB TCP_RECEIVE
Prsentation
Le DFB TCP_RECEIVE permet de recevoir un message de donnes envoy par une application
cliente distante via une connexion TCP/IP. La taille maximale du message est de 8 ko.

Paramtres dentre
Paramtre

Type

RST

Bit

Description
La configuration de ce bit 1 :
z interrompt lchange en cours (si le bit ACTIVITY est

rgl sur 1).


z ferme la connexion.
z rgle le bit ACTIVITY sur 0 et le bit de sortie ERROR

sur 1.
Le code derreur est stock dans le mot STATUS.

33002552 04/2015

107

Bibliothque de DFB

Paramtres dentre/sortie
Paramtre

Type

Description

BUF

Table de mots

Ce paramtre dentre et de sortie dfinit ladresse du


premier mot %MWi du tampon pour recevoir le message.

MANAGNT

Table de mots

Table de gestion commune tous les DFB

Paramtres de sortie
Paramtre

Type

Description

ERROR

Bit

Ce bit de sortie est rgl sur 1 lorsque lchange ne seffectue pas


correctement.
Le mot STATUS indique le type derreur survenue.

Donnes publiques internes

108

Paramtre

Type

Variables en
Description
criture/lecture

FRM

Mot
double

Cette variable dfinit ladresse IP de la machine


distante sur laquelle le client est connect.
Par dfaut, FRM = 0. Le DFB attend le message envoy
par le seul client distant connect au port de service
local de lautomate.

PORT

Mot

Cette variable dfinit le numro du port local auquel le


client distant est connect.

SIZE

Mot

Cette variable dfinit la taille du message envoyer


(de 0 8 192 octets).

ACTIVITY

Bit

Le DFB rgle cette variable sur 0, une fois lchange


termin. Si le bit de sortie ERROR est rgl sur 0, le bit
ACTIVITY indique que le message a t reu avec
succs. Toutefois, si le bit ERROR est rgl sur 1, le bit
ACTIVITY indique que lchange est termin mais que
des erreurs se sont produites.

INHIB

Bit

Cette variable permet dinhiber lavertissement derreur.


Le bit de sortie ERROR et le mot STATUS restent 0
(lexcution du bloc nest pas interrompue).

STATUS

Mot

Ce mot nest significatif que si le bit de sortie ERROR est


rgl sur 1. Il indique le code de lerreur survenue
pendant lchange (chaque bit de mot rgl sur 1
signale une erreur).

LENGTH

Mot

Cette variable contient le nombre doctets reus si le bit


de sortie ERROR est rgl sur 0.

33002552 04/2015

Bibliothque de DFB

Fonctionnement
Le transfert de donnes est lanc lorsque le DFB TCP_RECEIVE est appel, si les bits RST et
ACTIVITY sont rgls sur 0. Pendant lchange, le bit ACTIVITY est rgl sur 1. A la fin de la
transmission, le bit ACTIVITY est rgl sur 0. De plus, si lchange nest pas correct, le bit de
sortie ERROR est rgl sur 1.
A tout moment, le rglage du bit RST (entre prioritaire) sur 1 permet dinterrompre lchange en
cours. Le bit ACTIVITY (change termin) est rgl sur 0 et le bit ERROR, sur 1. Le mot dtat
<TCP_RECEIVE nom instance>.STATUS indique le type de lerreur. Si la connexion est tablie,
elle est ferme et le module attend la connexion entrante. Tous les messages dans les tampons
de rception du module sont perdus.
Lorsquun message est reu, les oprations suivantes sont excutes :
z Vrification des paramtres dentre (adresse IP de la machine distante, numro du port local)
z Recherche de la connexion ouverte avec le client distant demand
z Mise en file dattente du bloc EF pour recevoir le message
Ds quun DFB est actif pour une connexion donne, le module attend la rception du message et
les deux premiers octets reus indiquent la longueur du message. Les donnes sont ensuite
transfres dans les mots de lautomate en trames de 240 octets.
Lorsque le message complet est copi sur lautomate :
z Le DFB vrifie le caractre de fin de message (si cette option a t configure).
z Les paramtres STATUS et LENGTH du DFB sont renseigns, et les bits ACTIVITY et ERROR
sont configurs pour lapplication du module.

33002552 04/2015

109

Bibliothque de DFB

110

33002552 04/2015

Unity Pro
Glossaire
33002552 04/2015

Glossaire
E
EN
EN correspond ENable (activer) ; il sagit dune entre de bloc facultative. Quand lentre EN est
active, une sortie ENO est automatiquement dfinie.
Si EN = 0, le bloc nest pas activ, son programme interne nest pas excut et ENO est rgl sur 0.
Si EN = 1, le programme interne du bloc est excut et ENO est rgl sur 1. Si une erreur survient,
ENO reprend la valeur 0.
Si lentre EN nest pas connecte, elle est automatiquement rgle sur 1.
ENO
ENO signifie Error NOtification (notification derreur). Cest la sortie associe lentre facultative
EN.
Si ENO est rgl sur 0 (car EN = 0 ou en cas derreur dexcution) :
les sorties du bloc fonction restent dans ltat qui tait le leur lors du dernier cycle de scrutation
excut correctement ;
z la ou les sorties de la fonction, ainsi que les procdures, sont rgles sur 0.
z

I
INT
INT est lacronyme du format single INTeger (entier simple) (cod sur 16 bits).
Les limites suprieure/infrieure sont les suivantes : - (2 puissance 15) (2 puissance 15) - 1.
Exemple :
-32768, 32767, 2#1111110001001001, 16#9FA4.

33002552 04/2015

111

Glossaire

112

33002552 04/2015

Unity Pro
Index
33002552 04/2015

Index
D

TCP_SEND, 99

DFB, 99
disponibilit des instructions, 21

F
FCT_ACCEPT, 53, 53
FCT_BIND, 57, 57
FCT_CLOSE, 61, 61
FCT_CONNECT, 65, 65
FCT_LISTEN, 69, 69
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, 21

T
TCP Open, instruction
FCT_ACCEPT, 53
FCT_BIND, 57
FCT_CLOSE, 61
FCT_CONNECT, 65
FCT_LISTEN, 69
FCT_RECEIVE, 73
FCT_SELECT, 77
FCT_SEND, 81
FCT_SETSOCKOPT, 85
FCT_SHUTDOWN, 89
FCT_SOCKET, 93
gnralits, 51
TCP_CNX, 99
TCP_RECEIVE, 99
33002552 04/2015

113

Index

114

33002552 04/2015

Das könnte Ihnen auch gefallen