Description de la fonction
La fonction FCT_BIND permet d'affecter un numéro de port et une adresse Internet à un socket.
Un socket étant créé sans adresse, il ne peut pas être utilisé pour recevoir des données (à part les requêtes de connexion) tant qu'aucune adresse ne lui a été affectée. L'adresse Internet est fixée par le module réseau et correspond à son adresse IP locale. L'utilisateur n'est pas autorisé à utiliser les numéros de port déjà utilisés par le module réseau. Il s'agit des numéros de port suivants :
-
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 spécifiques de module)
-
1 024 (ports TCP USER)
-
3 124 (port d'E/S)
-
7 400 à 8 400 (ports RTPS)
Les paramètres supplémentaires et peuvent être configurés.
LD Module_Number
FCT_BIND Socket_Number, Port_Number, Gest_Index, Management_Param
FCT_BIND(Module_Number, Socket_Number, Port_Number, Gest_Index, Management_Param);
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.
|
Socket_Number
|
|
Numéro du socket
|
Port_Number
|
|
Numéro de port à affecter au socket.
|
Gest_Index
|
|
Index du premier mot dans la matrice Management_Param
|
Le tableau ci-après décrit les paramètres d'entrée/sortie.
Paramètre
|
Type
|
Commentaire
|
Management_Param
|
ARRAY [0... 3] OF
|
Le rapport d'opération peut afficher les valeurs suivantes :
-
16#00 : pas d'erreur
-
16#09 : numéro de socket non valide
-
16#16 : le socket est déjà lié
-
16#30 : le port spécifié est déjà utilisé
-
16#37 : le numéro de port spécifié n'est pas disponible
-
16#41 : aucun routage vers l'hôte
|
Configuration des numéros de port au-delà de 32 K
Le paramètre de port est associé au type de données Entier. Pour utiliser des numéros de port supérieurs à 15 bits (supérieurs à 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 d'utiliser EF FCT_BIND ou FCT_CONNECT en présence d'un numéro de port supérieur à 32 K.
Paramètre d'entrée :
Paramètre
|
Type de données
|
Signification
|
UINT_variable
|
UINT
|
valeur en entrée
|
Paramètre de sortie :
Paramètre
|
Type de données
|
Signification
|
ConvertedVariable
|
INT
|
valeur en sortie
|