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 transitionFaux > Vraiest détectée.
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