DFB TCP_RECEIVE
(Traduction du document original anglais)
Présentation
Le DFB TCP_RECEIVE permet de recevoir un message de données envoyé par une application cliente distante via une connexion TCP/IP. La taille maximale du message est de 8 ko.
Paramètres d'entrée
Paramètre
Type
Description
RST
Bit
La configuration de ce bit à 1 :
  • interrompt l'échange en cours (si le bit ACTIVITY est réglé sur 1).
  • ferme la connexion.
  • règle le bit ACTIVITY sur 0 et le bit de sortie ERROR sur 1.
Le code d'erreur est stocké dans le mot STATUS.
Paramètres d'entrée/sortie
Paramètre
Type
Description
BUF
Table de mots
Ce paramètre d'entrée et de sortie définit l'adresse du premier mot %MWi du tampon pour recevoir le message.
MANAGNT
Table de mots
Table de gestion commune à tous les DFB
Paramètres de sortie
Paramètre
Type
Description
ERROR
Bit
Ce bit de sortie est réglé sur 1 lorsque l’échange ne s'effectue pas correctement.
Le mot STATUS indique le type d'erreur survenue.
Données publiques internes
Paramètre
Type
Variables en écriture/lecture
Description
FRM
Mot double
E
Cette variable définit l'adresse IP de la machine distante sur laquelle le client est connecté.
Par défaut, FRM = 0. Le DFB attend le message envoyé par le seul client distant connecté au port de service local de l'automate.
PORT
Mot
E
Cette variable définit le numéro du port local auquel le client distant est connecté.
SIZE
Mot
E
Cette variable définit la taille du message à envoyer (de 0 à 8 192 octets).
ACTIVITY
Bit
L
Le DFB règle cette variable sur 0, une fois l'échange terminé. Si le bit de sortie ERROR est réglé sur 0, le bit ACTIVITY indique que le message a été reçu avec succès. Toutefois, si le bit ERROR est réglé sur 1, le bit ACTIVITY indique que l'échange est terminé mais que des erreurs se sont produites.
INHIB
Bit
E
Cette variable permet d'inhiber l'avertissement d'erreur. Le bit de sortie ERROR et le mot STATUS restent à 0 (l'exécution du bloc n'est pas interrompue).
STATUS
Mot
L
Ce mot n'est significatif que si le bit de sortie ERROR est réglé sur 1. Il indique le code de l'erreur survenue pendant l'échange (chaque bit de mot réglé sur 1 signale une erreur).
LENGTH
Mot
L
Cette variable contient le nombre d'octets reçus si le bit de sortie ERROR est réglé sur 0.
Fonctionnement
Le transfert de données est lancé lorsque le DFB TCP_RECEIVE est appelé, si les bits RST et ACTIVITY sont réglés sur 0. Pendant l'échange, le bit ACTIVITY est réglé sur 1. A la fin de la transmission, le bit ACTIVITY est réglé sur 0. De plus, si l'échange n'est pas correct, le bit de sortie ERROR est réglé sur 1.
A tout moment, le réglage du bit RST (entrée prioritaire) sur 1 permet d'interrompre l'échange en cours. Le bit ACTIVITY (échange terminé) est réglé sur 0 et le bit ERROR, sur 1. Le mot d'état <TCP_RECEIVE nom instance>.STATUS indique le type de l'erreur. Si la connexion est établie, elle est fermée et le module attend la connexion entrante. Tous les messages dans les tampons de réception du module sont perdus.
Lorsqu'un message est reçu, les opérations suivantes sont exécutées :
Dès qu'un DFB est actif pour une connexion donnée, le module attend la réception du message et les deux premiers octets reçus indiquent la longueur du message. Les données sont ensuite transférées dans les mots de l'automate en trames de 240 octets.
Lorsque le message complet est copié sur l'automate :