SOCKET_OPEN

La instrucción SOCKET_OPEN abre la conexión con la dirección de destino especificada para conexiones de protocolo de control de transmisión (TCP). En el caso de las conexiones de protocolo de datagramas de usuario (UDP), asocia una dirección IP de destino y un número de puerto al socket especificado.
Detalles de las operaciones:
  • En el caso de las conexiones de protocolo de datagramas de usuario (UDP) que usan
    SOCKET_OPEN
    , no requieren la dirección IP y el número de puerto cada vez que se envían datos.
  • En el caso de las conexiones UDP que no usan
    SOCKET_OPEN
    , debe especificarse la dirección de destino cada vez que se usa
    SOCKET_WRITE
    para enviar datos.
  • Si se usa
    SOCKET_READ
    , además de recibir datos, también se obtiene la dirección del remitente. La dirección del remitente puede utilizarse para enviar una respuesta con
    SOCKET_WRITE
    .
  • Es posible que se devuelva una operación
    SOCKET_OPEN
    antes del período de tiempo de espera, sin que se cree una conexión de protocolo de control de transmisión (TCP). Esto podría ocurrir si el dispositivo de destino se estuviera ejecutando, pero no escuchase las conexiones en el número de puerto especificado.
    SOCKET_OPEN
    devuelve un error antes del período de tiempo de espera.
  • Las salidas se actualizan de forma síncrona desde la exploración del programa.
Idiomas compatibles: Diagrama de bloque de funciones, diagrama de lógica de escalera y texto estructurado.
Esta instrucción se aplica a los controladores L20E, L50E y L70E.
SOCKET_OPEN
SOCKET_OPEN
Parámetros de SOCKET_OPEN
Parámetro
Tipo de parámetro
Tipo de datos
Descripción
Execute
Entrada
BOOL
Habilitar bloque de instrucción.
  • CIERTO: Se ha detectado un flanco ascendente, inicia el bloque de instrucciones con la condición previa de que la última operación esté completa.
  • FALSO: No se ha detectado un flanco ascendente.
Instance
Entrada
UDINT
Copie el Controlador de socket devuelto a partir de un bloque de funciones SOCKET_CREATE.
Timeout
Entrada
UDINT
Tiempo de espera para el bloque de funciones SOCKET_OPEN.
El bloque de funciones devuelve un error cuando el valor de tiempo de espera es inferior al valor mínimo.
Rango de tiempo de espera: 1.000-1.800.000 milisegundos
Establezca el Tiempo de espera en 0 si desea utilizar el valor predeterminado 10.000 (10 segundos).
DestAddr
Entrada
Dirección de la conexión de destino.
Requiere conexión entre la dirección IP y el número de puerto del host remoto.
Las direcciones IP siguientes no son compatibles para DirecDest:
  • Dirección IP automática
  • Dirección de bucle invertido
  • 0.0.0.0
  • Dirección de difusión (solo compatible con TCP), direcciones de excepción:
  • Dirección de multidifusión de clase D (224.x.x.x)
  • Dirección de vínculo local (169.254.x.x)
Ejemplo de dirección IP de 192.168.2.100 y puerto 12000:
  • DirecciónIPDest[0]=192
  • DirecciónIPDest[1]=168
  • DirecciónIPDest[2]=2
  • DirecciónIPDest[3]=100
  • PuertoDirecciónDest = 12000
EnUDPRxFilter
Entrada
BOOL
En el caso del socket UDP, cuando se usan SOCKET_OPEN y Habilitar EnUDPRxFilter, para leer los datos no se necesita cada vez un filtro de paquete para una dirección IP y un número de puerto concretos.
  • Se crea un socket UDP con Abrir. DirecDest como IP 192.168.1.157 / puerto 161. FiltroDeRecepEnUDP habilitado: Lleve a cabo una Socket_Read.
  • Cuando el controlador recibe datos de DirecDest (192.168.1.157 / 161), Socket_Read completa la operación satisfactoriamente. Si el controlador recibe datos desde cualquier otra IP o puerto, socket_Read omite ese paquete y espera el paquete DirecDest.
FiltroDeRecepEnUDP deshabilitado:
  • lleve a cabo una SOCKET_READ. El controlador recibe los datos sobre la configuración del puerto UDP y SOCKET_READ completa la operación satisfactoriamente.
  • La aplicación comprueba si el paquete de entrada procede del dispositivo previsto.
  • La aplicación gestiona el filtrado según el parámetro de salida DirecUDP de SOCKET_READ.
Done
Salida
BOOL
Indica si la operación está completa.
  • CIERTO: Operación completada correctamente.
  • FALSO: La operación está en curso o se produjo una condición de error.
La salida se actualiza de forma síncrona desde la exploración del programa.
Busy
Salida
BOOL
  • CIERTO: La operación no está completa.
  • FALSO: La operación ha finalizado.
La salida se actualiza de forma síncrona desde la exploración del programa.
Error
Salida
BOOL
Indica que se ha producido un error.
  • CIERTO: Se ha detectado un error.
  • FALSO: No hay error.
La salida se actualiza de forma síncrona desde la exploración del programa.
Status
Salida
SOCK_STATUS
El estado se define utilizando el Tipo de datos SOCK_STATUS que contiene información de ErrorID, SubErrorID y StatusBits.
La salida se actualiza de forma síncrona desde la exploración del programa.

Ejemplos de SOCKET_OPEN

Ejemplo de diagrama de bloque de funciones SOCKET_OPEN
Ejemplo de diagrama de bloque de funciones SOCKET_OPEN
Ejemplo de diagrama de lógica de escalera SOCKET_OPEN
Ejemplo de diagrama de lógica de escalera SOCKET_OPEN
Ejemplo de texto estructurado SOCKET_OPEN
Ejemplo de texto estructurado SOCKET_OPEN
Resultados: TCP
Resultados: TCP
Resultados - UDP
Resultados - UDP
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal