SOCKET_WRITE

L’instruction SOCKET_WRITE envoie des données sur un socket.
Détails de l'opération :
  • SOCKET_WRITE tente d'envoyer le nombre requis d'octets de données spécifié dans le paramètre Length. Lorsque l'opération d'envoi se termine, SOCKET_WRITE renvoie le nombre d'octets de données écrit dans le paramètre TxLength.
  • La sortie est mise à jour de manière asynchrone par la scrutation du programme.
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_WRITE
SOCKET_WRITE
Paramètres SOCKET_WRITE
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é.
Instance
Entrée
UDINT
Copiez le gestionnaire de socket renvoyé depuis une instruction SOCKET_CREATE ou SOCKET_ACCEPT.
  • Pour les types de socket de client UDP et TCP, copiez le gestionnaire de socket renvoyé depuis une instruction SOCKET_CREATE.
  • Pour le type de socket de serveur TCP, copiez le gestionnaire de socket renvoyé depuis une instruction SOCKET_ACCEPT.
Timeout
Entrée
UDINT
Temps dépassé pour les instances SOCKET_WRITE. L'instruction renvoie une erreur si la valeur du délai d’expiration est inférieure à la valeur minimale.
Plage du paramètre Timeout : 1 000 à 1 800 000 millisecondes. Définissez le délai d’expiration sur 0 pour utiliser la valeur par défaut de 10 000 (10 secondes).
UDPAddr
Entrée
L'adresse de destination UDP sur laquelle les données sont écrites lorsqu'une instruction SOCKET_OPEN n'a pas été exécutée depuis la création du socket. Pour TCP, ou lorsque l'instruction SOCKET_OPEN a été exécutée pour UDP, cette structure n'est pas utilisée et doit contenir des zéros. La connexion TCP et l'instruction SOCKET_OPEN pour UDP véhiculent toutes les informations de l'adresse distante.
Exemple d'adresse UDPAddr 192.168.2.100 et de port 12000 :
UDPAddr.IPAddress[0] = 192
UDPAddr.IPAddress[1] = 168
UDPAddr.IPAddress[2] = 2
UDPAddr.IPAddress[3] = 100
UDPAddr.Port = 12000
Utilisez le type de données SOCKADDR_CFG pour définir UDPAddr.
Data
Entrée
USINT[1..1]
Tableau utilisé pour stocker l'écriture de données dans les instances de socket respectives à l'aide de l'instruction SOCKET_WRITE.
  • La taille du tableau de données doit être >= (Offset + Length).
  • Le tableau de données peut être plus grand que le paramètre Length SOCKET_WRITE.
Length
Entrée
UINT
Le nombre d'octets de données à écrire.
Le maximum est 256 octets.
Offset
Entrée
UNIT
Décalage dans un tableau de données. L'écriture de données à partir de SOCKET_WRITE commence depuis cet emplacement.
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.
La sortie est mise à jour de manière synchrone par l'analyse du programme.
Busy
Sortie
BOOL
  • TRUE : L'opération n'est pas terminée.
  • FALSE : L'opération est terminée.
La sortie est mise à jour de manière synchrone par l'analyse du programme.
Error
Sortie
BOOL
Indique qu’une erreur s’est produite.
  • TRUE : Une erreur a été détectée.
  • FALSE : Aucune erreur.
La sortie est mise à jour de manière synchrone par l'analyse du programme.
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.
La sortie est mise à jour de manière synchrone par l'analyse du programme.
TxLength
Sortie
UNIT
Le nombre d'octets de données écrites.

Exemples SOCKET_WRITE

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