SOCKET_OPEN

L'instruction SOCKET_OPEN établit la connexion pour l'adresse de destination spécifiée pour les connexions TCP (Transmission Control Protocol). Pour les connexions UDP (User Datagram Protocol), associe une adresse IP de destination et un numéro de port au socket spécifié.
Détails de l'opération :
  • Pour les connexions UDP (User Datagram Protocol) utilisant
    SOCKET_OPEN
    , l'adresse IP et le numéro de port ne sont pas nécessaires à chaque envoi de données.
  • Pour les connexions UDP n'utilisant pas
    SOCKET_OPEN
    , l'adresse de destination doit être spécifiée à chaque utilisation de
    SOCKET_WRITE
    pour l'envoi de données.
  • Lors de l'utilisation de
    SOCKET_READ
    , outre les données reçues, l'adresse de l'émetteur est renvoyée. L'adresse de l'émetteur peut être utilisée pour envoyer une réponse avec
    SOCKET_WRITE
    .
  • Une opération
    SOCKET_OPEN
    peut être renvoyée avant la période de temps dépassé sans création d'une connexion TCP (Transmission Control Protocol). Cela peut se produire si l'appareil de destination est en cours d’exécution, mais qu'il n'écoute pas les connexions sur le numéro de port spécifié.
    SOCKET_OPEN
    renvoie une erreur avant l’expiration du délai.
  • Les sorties sont mises à jour de manière synchrone 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_OPEN
SOCKET_OPEN
Paramètres SOCKET_OPEN
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 à partir du gestionnaire de socket renvoyé depuis un bloc de fonctions SOCKET_CREATE.
Timeout
Entrée
UDINT
Temps dépassé pour le bloc de fonctions SOCKET_OPEN.
Le bloc de fonctions renvoie une erreur si la valeur de temps dépassé 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).
DestAddr
Entrée
L'adresse de la connexion de destination.
Une connexion est requise entre l'adresse IP et le numéro de port de l'hôte distant.
Les adresses IP suivantes ne sont pas prises en charge par DestAddr :
  • Adresse IP de réponse
  • Adresse de boucle
  • 0.0.0.0
  • Diffuse l'adresse (uniquement pris en charge pour TCP), adresses d'exception :
  • Adresse multicast de classe D (224.x.x.x)
  • Adresse de liaison locale (169.254.x.x)
Exemple d'adresse IP 192.168.2.100 et de port 12000 :
  • DestAddr.IPAddress[0]=192
  • DestAddr.IPAddress[1]=168
  • DestAddr.IPAddress[2]=2
  • DestAddr.IPAddress[3]=100
  • DestAddr.Port = 12000
EnUDPRxFilter
Entrée
BOOL
Pour le socket UDP, lorsque vous utilisez SOCKET_OPEN et Enable EnUDPRxFilter, un filtre de paquets pour l'adresse IP et le numéro de port spécifiés n'est pas requis à chaque lecture de données.
  • Un socket UDP avec ouverture est créé. DestAddr comme IP 192.168.1.157 / Port 161. EnUDPRxFilter Enable, exécutez Socket_Read.
  • Lorsque le contrôleur reçoit des données de la DestAddr (192.168.1.157 / 161), Socket_Read termine l'opération. Si le contrôleur reçoit des données d'une autre adresse IP ou d'un autre port, Socket_Read ignore ce paquet et attend un paquet DestAddr.
EnUDPRxFilter désactivé :
  • Exécutez SOCKET_READ. Le contrôleur reçoit des données sur la configuration du port UDP, SOCKET_READ termine l'opération.
  • L'application vérifie si le paquet entrant arrive de l'appareil attendu.
  • L'application gère le filtrage en fonction du paramètre de sortie SOCKET_READ, UDPAddr.
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 une erreur.
  • 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.

Exemples SOCKET_OPEN

Exemple de diagramme de bloc de fonctions SOCKET_OPEN
Exemple de diagramme de bloc de fonctions SOCKET_OPEN
Exemple de langage à relais SOCKET_OPEN
Exemple de schéma à relais SOCKET_OPEN
Exemple de texte structuré SOCKET_OPEN
Exemple de texte structuré SOCKET_OPEN
Résultats - TCP
Résultats - 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