FCT_RECEIVE : récupère les données disponibles sur un socket
(Traduction du document original anglais)
Description de la fonction
La fonction FCT_RECEIVE recherche les données disponibles sur le socket. La longueur maximale des données à lire est de 240 octets.
La fonction renvoie le nombre d'octets lus dans le socket. Vous devez toujours contrôler cette valeur car c'est la seule façon de vérifier le nombre réel d'octets de données enregistrés dans la mémoire tampon du client.
NOTE : FCT_RECEIVE ne renvoie pas de données hors bande.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation en LD
Représentation en IL
LD Module_Number
FCT_RECEIVE Socket_Number, Pbuf_Index, Gest_Index, Management_Param, Received_Data
Représentation en ST
FCT_RECEIVE(Module_Number, Socket_Number, Pbuf_Index, Gest_Index, Management_Param, Received_Data);
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Module_Number
Numéro d'emplacement du module réseau dans le rack 0.
  • L'octet de poids faible est le numéro d'emplacement du module réseau dans le rack 0.
  • L'octet de poids fort peut être utilisé pour augmenter le nombre de sockets.
    • 00 : garantit une compatibilité descendante totale avec les applications créées avec une version 3.3 ou antérieure du micrologiciel.
    • 01 : il est possible d'utiliser jusqu'à 64 sockets (la version du micrologiciel doit être supérieure à 3.3).
Socket_Number
Numéro du socket
Pbuf_Index
Index du premier mot dans la matrice Received_Data
Gest_Index
Index du premier mot dans la matrice Management_Param
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Received_Data
ARRAY [0... n] OF INT
Matrice de 240 octets maximum contenant les données lues sur le socket.
Le tableau suivant décrit les paramètres d'E/S :
Paramètre
Type
Commentaire
Management_Param
ARRAY [0... 3] OF INT
Le rapport d'opération peut afficher les valeurs suivantes :
  • 16#00 : pas d'erreur
  • 16#09 : numéro de socket non valide
  • 16#23 : aucune donnée à lire
  • 16#36 : connexion réinitialisée par l'homologue
  • 16#39 : socket non connecté (socket d'écoute)
  • 16#3C : délai du maintien d'activité dépassé pour cause d'interruption de connexion
  • 16#0E : longueur de la chaîne de caractères à recevoir supérieure à 240 octets
Le quatrième mot de la matrice doit contenir le nombre d'octets reçus si aucune erreur ne s'est produite.