SOCKET_CREATE

Crée une instance du socket et renvoie un numéro d'instance qui est utilisé comme entrée dans toutes les opérations de socket suivantes.
Détails de l'opération :
  • Instructions de socket prennent en charge la communication en duplex intégral avec les appareils distants.
  • Les connexions UDP prennent en charge un maximum de huit paquets de datagrammes UDP en file d'attente. La file d'attente contient les paquets les plus récents.
  • Les contrôleurs
    Micro820
    L20E de la révision 9 ou plus prennent en charge jusqu'à huit instances de socket. Les instances de socket prennent en charge les sockets UDP et TCP :
    • Utilisez les huit instances pour les connexions aux clients TCP.
    • Utilisez les huit instances pour écouter les connexions TCP entrantes, puis acceptez huit connexions d'autres appareils.
    • Exécutez les opérations serveur et client TCP.
    • Exécutez les opérations TCP et UDP.
  • Pour accepter les connexions TCP entrantes, sur le même port, créez une instance de socket.
  • Perte de connexion TCP :
    • Le programme d'application de l'utilisateur doit détecter la perte de connexion TCP et gérer l'événement. En fonction de l'application de l'utilisateur, envisagez l'option de défaut du contrôleur.
      • Défaut du contrôleur.
      • Essayez de rétablir la connexion.
  • Pour rétablir la communication avec un autre appareil :
    • Supprimez l'instance de socket pour la connexion perdue.
    • Si la connexion est un client TCP, créez une instance de socket avec SOCKET_CREATE, puis exécutez SOCKET_OPEN sur l'appareil cible.
    • Si la connexion est un serveur TCP, créez une instance de socket avec SOCKET_CREATE, puis exécutez SOCKET_ACCEPT pour attendre une autre connexion de l'appareil distant.
  • Messages de l'application pour les connexions TCP :
    • Une connexion TCP est un flux d'octets entre deux applications. Le protocole de l'application détermine les formats de message.
    • Les messages peuvent avoir une taille fixe ou variable.
Langages pris en charge : Diagramme de bloc de fonctions, diagramme de schéma à relais et texte structuré.
Cette instruction s'applique aux contrôleurs
Micro820
L20E,
Micro850
L50E et
Micro870
L70E.
SOCKET_CREATE
SOCKET_CREATE
Paramètres SOCKET_CREATE
Paramètre
Type de paramètre
Type de données
Description
Execute
Entrée
BOOL
Activation du bloc d'instruction.
  • TRUE : Front montant détecté, démarre le bloc d'instruction à condition que la dernière opération soit terminée.
  • FALSE : Aucun front montant détecté.
Type
Entrée
USINT
Spécifiez le type de socket :
  • Protocole TCP (Transmission Control Protocol)
  • Protocole UDP (User Datagram Protocol)
SockAddr
Entrée
SOCKADDR_CFG
Spécifie la configuration d'adresse du socket.
Module EtherNet/IP pour choisir le numéro de port local ; SockAddr défini sur 0.
Indiquez le numéro de port local sur lequel une application écoute et reçoit, ou :
  • Les éléments du tableau doivent tous être 0.
  • Pour les opérations de client TCP, spécifiez 0, sauf si vous souhaitez un numéro de port local spécifique.
  • Pour la communication de serveur TCP, spécifiez le numéro de port pour accepter des demandes de connexions entrantes.
  • Pour UDP, spécifiez un numéro de port local pour recevoir des datagrammes sur un port spécifique.
Plage de ports locaux : De 1 à 65535.
Une erreur se produit si le numéro de port local est déjà utilisé par le contrôleur
Micro820
L20E ou
Micro850
L50E.
Le contrôleur utilise les numéros de port suivants :
Ports TCP :
  • EtherNet/IP : 44818
  • ModbusTCP : 502
  • Serveur DHCP : 67
  • Client DHCP : 68
Ports UDP :
  • EtherNet/IP : 2222
  • Serveur DHCP : 67
  • Client DHCP : 68
Timeout
Entrée
UDINT
Indique le temps dépassé pour l'inactivité du socket.
Si une instance de socket ne reçoit pas de demandes dans le délai d'inactivité spécifié dans le paramètre de temps dépassé, l'instance de socket est supprimée.
Si une demande est envoyée après la suppression de l'instance de socket, l'erreur « Socket instance not supported » (Instance de socket non prise en charge) est renvoyée.
Le bloc d'instruction renvoie une erreur si la valeur de temps dépassé est inférieure à la valeur minimale.
Définissez le délai d’expiration pour qu'il soit supérieur à l'intervalle le plus long entre des opérations de socket. Si le délai d’expiration d'inactivité est trop court, des instances de socket peuvent expirer. Plage du paramètre Timeout : 1 000 à 86 400 000 millisecondes.
Définissez Temporisation sur 0 pour utiliser la valeur par défaut de 300 000 (5 minutes).
Done
Sortie
BOOL
Indique la fin de l'opération.
  • TRUE : L'opération s'est terminée avec succès.
  • FALSE : L'opération est en cours ou a rencontré une condition d’erreur.
Busy
Sortie
BOOL
  • TRUE : L'opération n'est pas terminée.
  • FALSE : L'opération est terminée.
Error
Sortie
BOOL
Indique qu’une erreur s’est produite.
  • TRUE : Une erreur a été détectée.
  • FALSE : Aucune erreur.
Status
Sortie
SOCK_STATUS
L'état est défini à l'aide du type de données SOCK_STATUS qui contient les informations sur ErrorID, SubErrorID et StatusBits.
Instance
Sortie
UDINT
Contient un gestionnaire de socket.
Utilisez le paramètre Instance pour les instructions Socket ultérieures.

Exemples SOCKET_CREATE

Exemple de diagramme de bloc de fonctions SOCKET_CREATE
Exemple de diagramme de bloc de fonctions SOCKET_CREATE
Exemple de langage à relais SOCKET_CREATE
Exemple de schéma à relais SOCKET_CREATE
Exemple de texte structuré SOCKET_CREATE
Exemple de texte structuré SOCKET_CREATE
Résultats - Client TCP
Résultats - Client TCP
Résultats - Serveur TCP
Résultats - Serveur TCP
Résultats - UDP
Résultats - UDP
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal