La instrucción SOCKET_WRITE envía datos en un socket.
Detalles de la operación:
SOCKET_WRITE intenta enviar el número de bytes de datos solicitado que se haya especificado en el parámetro Longitud. Cuando finaliza la operación de envío, SOCKET_WRITE devuelve el número de bytes de datos escrito en el parámetro TxLength.
La salida se actualiza de forma así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_WRITE
Parámetros de SOCKET_WRITE
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 sockets devuelto de una instrucción SOCKET_CREATE o SOCKET_ACCEPT.
En el caso de los tipos de socket UDP y cliente TCP, copie el Controlador de socket devuelto a partir de una instrucción SOCKET_CREATE .
En el caso del tipo de socket servidor TCP, copie el Controlador de socket devuelto a partir de una instrucción SOCKET_ACCEPT.
Timeout
Entrada
UDINT
Tiempo de espera para instancias de SOCKET_WRITE. La instrucción devuelve un error si 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).
Dirección de destino UDP en la que se escriben los datos cuando no se ha ejecutado una instrucción SOCKET_OPEN desde que se creó el socket. En el caso del TCP, o cuando se ha ejecutado la instrucción SOCKET_OPEN para UDP, esta estructura no se usa y debe contener solo ceros. La conexión TCP y la instrucción SOCKET_OPEN para UDP transmiten toda la información de dirección remota.
Ejemplo para dirección IP de 192.168.2.100 y puerto 12000:
UDPAddr.IPAddress[0] = 192
UDPAddr.IPAddress[1] = 168
UDPAddr.IPAddress[2] = 2
UDPAddr.IPAddress[3] = 100
UDPAddr.Port = 12000
Utilice el tipo de datos SOCKADDR_CFG para definir DirecUDP.
Data
Entrada
USINT[1..1]
Una matriz utilizada para almacenar los datos escribe en la instancia de socket respectiva mediante el uso de la instrucción SOCKET_WRITE.
El tamaño de la matriz de datos debe ser >= (Offset + Length).
La matriz de datos puede ser mayor que Length de SOCKET_WRITE.
Length
Entrada
UINT
Número de bytes de datos que se escribirán:
máximo de 256 bytes.
Offset
Entrada
UNIT
Offset en una matriz de Datos. La escritura de datos a partir de la SOCKET_WRITE comienza desde esta ubicación.
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.