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 usanSOCKET_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 usanSOCKET_OPEN, debe especificarse la dirección de destino cada vez que se usaSOCKET_WRITEpara enviar datos.
- Si se usaSOCKET_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 conSOCKET_WRITE.
- Es posible que se devuelva una operaciónSOCKET_OPENantes 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_OPENdevuelve 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

Parámetro | Tipo de parámetro | Tipo de datos | Descripción |
|---|---|---|---|
Execute | Entrada | BOOL | Habilitar bloque de instrucción.
|
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:
Ejemplo de dirección IP de 192.168.2.100 y puerto 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.
FiltroDeRecepEnUDP deshabilitado:
|
Done | Salida | BOOL | Indica si la operación está completa.
La salida se actualiza de forma síncrona desde la exploración del programa. |
Busy | Salida | BOOL |
La salida se actualiza de forma síncrona desde la exploración del programa. |
Error | Salida | BOOL | Indica que se ha producido un 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 lógica de escalera SOCKET_OPEN

Ejemplo de texto estructurado SOCKET_OPEN

Resultados: TCP

Resultados - UDP

Entregue su opinión