Instructions de socket

Utilisez le protocole de sockets pour les communications Ethernet avec les appareils qui ne prennent pas en charge Modbus TCP et EtherNet/IP. Les sockets prennent en charge le client, le serveur, le protocole TCP et le protocole UDP. Les applications types incluent la communication avec des imprimantes, les lecteurs de code-barres et les PC.
Comportement de l'instruction Socket de la Modification en mode Exécuter (Run Mode Change, RMC) :
  • Si une opération de suppression est effectuée sur une instruction SOCKET_OPEN, SOCKET_ACCEPT, SOCKET_READ ou SOCKET_WRITE en mode RMC, l'instance de Socket sera supprimée.
  • En mode RMC, tout changement apporté à une entrée SOCKET_READ pendant une opération à l'état BUSY entraîne une erreur, et le paquet reçu est ignoré. Les paramètres d'entrée SOCKET_READ sont : Longueur, Décalage, Taille du tableau de données, Variable du tableau de données.
  • SOCKET_READ est la seule instruction de SOCKET qui prend en charge l'ajout ou la modification des opérations en mode RMC.
  • Si les paramètres Ethernet IP sont modifiés à l'aide du mode RMC, toutes les instances de Socket créées sont supprimées, de la même manière qu'avec SOCKET_DELETEALL.
Traitement de l'instruction et mises à jour de la sortie pour les instructions de socket :
  • Asynchrone : Instructions correspondantes où toutes les sorties sont mises à jour de manière asynchrone avec les scrutations du programme utilisateur. Par exemple, une analyse de schéma à relais. Une sortie asynchrone ne peut pas être utilisée pour détecter un front de déclenchement. Les paramètres d'une sortie asynchrone ne sont pas forcés et peuvent être mis à jour à la fin des instructions de socket correspondantes.
  • Synchrone : Instructions correspondantes où toutes les sorties sont mises à jour de manière synchrone avec les scrutations du programme utilisateur. Les paramètres d'une sortie synchrone sont forcés et ne peuvent pas être modifiés à la fin d'une instruction de socket correspondante.
  • Hybride : Instructions correspondantes où quelques sorties sont mises à jour de manière synchrone avec l'analyse du programme utilisateur. Les autres sorties sont mises à jour de manière asynchrone avec l'analyse du programme utilisateur.
  • Exécution immédiate d'une instruction : L'instruction termine la fonction souhaitée avant de passer à l'instruction suivante.
  • Exécution non immédiate d'une instruction : L'instruction nécessite plusieurs analyses du programme pour terminer la fonction souhaitée. Les instructions réalisent une capture des paramètres d'entrée lorsqu'une transition
    Faux > Vrai
    est détectée.
Instructions de socket
Instruction
Description
Client TCP
Serveur TCP
UDP avec ouverture
UDP sans ouverture
Traitement des instructions
Mise à jour de la sortie des instructions
Accepte une demande de connexion TCP à partir d'une destination à distance et renvoie une instance de socket utilisée pour envoyer et recevoir des données sur la connexion nouvellement créée.
NON
OUI
NON
NON
Non immédiat
Hybride
Crée une instance du support et renvoie un numéro d'instance qui utilise les opérations de support suivantes.
OUI
OUI
OUI
OUI
Immédiat
Synchrone
Supprime une instance de socket créée. Les connexions TCP sont fermées avant la suppression.
OUI
OUI
OUI
OUI
Non immédiat
Synchrone
Supprime toutes les instances de socket créées.
OUI
OUI
OUI
OUI
Non immédiat
Synchrone
Renvoie des informations sur le socket, comme des codes d'erreur et des états d'exécution.
OUI
OUI
OUI
OUI
Immédiat
Synchrone
Les connexions TCP s'ouvrent avec l'adresse de destination indiquée.
Les connexions UDP associent une adresse IP de destination et un numéro de port au support indiqué.
OUI
NON
OUI
NON
Non immédiat
Synchrone
Lit des données sur un socket. Tente de recevoir le nombre d'octets spécifié et renvoie le nombre d'octets reçus.
OUI
OUI
OUI
OUI
Non immédiat
Hybride
Envoie des données sur un socket. Tente d'envoyer le nombre d'octets demandé et renvoie le nombre d'octets envoyés.
OUI
OUI
OUI
OUI
Non immédiat
Hybride
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal