FCT_SELECT : multiplexe les requêtes sur les sockets
(Traduction du document original anglais)
Description de la fonction
La fonction FCT_SELECT permet de multiplexer les requêtes d'E/S sur plusieurs sockets. Elle indique les sockets ayant des événements à traiter à l'aide d'une matrice de nombres entiers.
Pour la révision du micrologiciel ETY 5103, version 3.3 ou inférieure :
Pour le micrologiciel ETY 5103, version supérieure à la révision 3.3 :
NOTE : pour les versions supérieures à 3.3, la structure Management_Param requiert un paramètre de longueur.
Le champ de longueur n'est pas utilisé lorsque l'octet de poids fort du paramètre INTE est réglé sur 00. S'il est réglé sur 01, vous devez régler la longueur sur 8. La longueur 8 vous permet de visualiser les données associées aux 64 connexions. Si vous choisissez une valeur inférieure, comme 4 par exemple, vous ne verrez que les données associées aux 32 premières connexions.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation en LD
Représentation en IL
LD Module_Number
FCT_SELECT Mask_Index, Gest_Index, Management_Param, Socket_Activity
Représentation en ST
FCT_SELECT(Module_Number, Mask_Index, Gest_Index, Management_Param, Socket_Activity);
Description des paramètres
Le tableau ci-après 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é ascendante totale avec les applications créées avec la version 3.3 ou une version antérieure du micrologiciel.
    • 01: il est possible d'utiliser jusqu'à 64 sockets (la version du micrologiciel doit être supérieure à 3.3).
Mask_Index
Index du premier mot dans la matrice Socket_Activity
Gest_Index
Index du premier mot dans la matrice Management_Param
Le tableau ci-après décrit les paramètres d'E/S.
Paramètre
Type
Commentaire
Management_Param
ARRAY [0... 3] OF INT
Pour cette fonction, le rapport d'opération renvoie toujours la valeur 16#00, qui indique l'absence d'erreur.
Le tableau ci-après décrit les paramètres de sortie.
Paramètre
Type
Commentaire
Socket_Activity
MATRICE [0... 1] DE INT
- ou -
MATRICE [0... 3] DE INT (reportez-vous à la remarque dans la section Description de la fonction.)
Etat de chaque socket. Chaque bit ayant la valeur 1 indique un événement sur le socket correspondant à ce bit. Exemple :
Pour la version 3.3 ou une version antérieure :
  • Si le bit 5 du premier mot a la valeur 1, le socket 6 sera lu par la fonction FCT_ACCEPT.
  • Si le bit 3 du deuxième mot a la valeur 1, le socket 20 sera lu par la fonction FCT_RECEIVE.
Pour les versions postérieures à la version 3.3 :
  • Si un bit a la valeur 1 sur un socket d'écoute, un serveur est prêt à accepter cette connexion. Si un bit a la valeur 1 sur un socket connecté, les données sont prêtes à être envoyées ou la communication a été interrompue.
Perspective du client : dès qu'une connexion client est établie, le bit correspondant de la connexion (numéro de socket) est réglé sur 1 dans la matrice. Exemple : le socket 33 se trouvera dans le premier bit (bit 0) du troisième mot.
Perspective du serveur : la fonction d'écoute ouvre un socket. Le bit correspondant à ce numéro de socket est réglé sur 1 dans la matrice. Exemple : le socket 3 se trouvera dans le troisième bit (bit 2) du troisième mot. Ensuite, la fonction d'acceptation renverra un numéro de socket différent, dont le bit correspondant sera réglé sur 1 dans la matrice.
NOTE : le numéro de socket de la fonction d'écoute restera à 1 jusqu'à la fermeture du socket.