Type de contribution : FAQ, ID de la contribution : 51101016, Date de la contribution : 09/09/2011
(0)
Évaluer

Comment transmettre des données avec une longueur de télégramme variable via le protocole TCP et les recevoir dans une station S7-300 avec un CP Industrial Ethernet ?

  • Contribution
  • Concerne le/les produits(s)

Description
Pour pouvoir transférer des données avec un S7-300 via une liaison TCP configurée dans NetPro, vous devez appeler les fonctions suivantes dans le programme S7 :

  • FC5 "AG_SEND" pour envoyer des données
  • FC6  "AG_RECV" pour recevoir des données

La transmission de données via le protocole TCP se fait sous forme de flux de données. Aucune information sur la longueur de la trame ou sur le début et la fin de la trame n'est transmise. L'application d'émission fournit les données à la liaison TCP. Les données sont alors transmises par le protocole TCP octet par octet sous forme de flux de données transparent.
L'application de réception doit alors évaluer le flux de données pour reconnaître où le message commence et où il finit dans le flux de données.
L'émetteur définit une structure de message qui doit pouvoir être interprétée par le récepteur. Cette structure de message se compose des données utiles, dans cet exemple des caractères ASCII, et d'un caractère de contrôle comme par exemple CR (Carriage Return). C'est par ce caractère de contrôle que la fin du message est indiquée.

Description du programme S7
Cet exemple de programme montre comment une station S7-300 peut recevoir des données de longueur variable via le protocole TCP. Pour cela, le bloc fonctionnel FB103 "AG_RECV_TCP_xVAR" est à votre disposition.
Le FB103 "AG_RECV_TCP_xVAR" appelle en interne la fonction FC6 "AG_RECV" pour recevoir des données de longueur variable via le protocole TCP.
La durée du bloc fonctionnel FB103 "AG_RECV_TCP_xVAR" est optimisée. Le bloc peut recevoir un nombre programmable d'octets, représentant exclusivement des caractères ASCII au cours d'un cycle. L'utilisateur peut adapter le nombre maximal d'octets qui peuvent être reçus dans un cycle avec le FC6 "AG_RECV"

Vous trouverez, ci-dessous, une description détaillée du programme S7.

NET_receive_TCP_variable_data_en.pdf ( 312 KB )

Téléchargement du programme S7
Le projet STEP7 contient un programme exemple pour l'appel du bloc fonctionnel FB103 "AG_RECV_TCP_xVAR". Il a été créé avec STEP7 V5.5.

TCP_xVAR.zip ( 46 KB )