Contenido principal

TCP/IP Receive

Reciba datos de un host remoto a través de una red TCP/IP

  • TCP/IP Receive block

Bibliotecas:
Simulink Coder Support Package for BeagleBone Blue Hardware / Communication
Simulink Support Package for Android Devices / Communication
Simulink Support Package for LEGO MINDSTORMS EV3 Hardware
Simulink Support Package for Raspberry Pi Hardware / Network

Descripción

Reciba datos de un host remoto u otro hardware objetivo a través de una red. Cuando establezca el modo de conexión como servidor, deberá indicar el puerto local. El puerto local actúa como puerto de escucha del servidor TCP/IP. Cuando establezca el bloque como cliente, deberá indicar la dirección y el puerto remotos del servidor TCP/IP para poder recibir datos. El bloque acepta datos en el modo bloqueante y el modo no bloqueante. La salida del puerto Data contiene los datos solicitados en cada unidad de tiempo. El puerto Status contiene 0 o 1 para indicar si se han recibido los nuevos datos en la unidad de tiempo especificada. El valor 1 del puerto Status indica que los datos del puerto Data son válidos.

En el modo bloqueante, el modelo bloquea la ejecución mientras espera a que los datos solicitados estén disponibles.

blocking mode

En la unidad de tiempo 1, el bloque solicita cuatro valores de datos y el buffer de recepción de TCP/IP obtiene cuatro valores de datos. Se inicia la ejecución.

En la unidad de tiempo 2, el bloque solicita datos de nuevo, pero el buffer de recepción de TCP/IP solo obtiene tres valores de datos. La ejecución se pausa hasta que el buffer recibe el cuarto valor de datos o hasta que transcurre el tiempo de espera. A continuación, se reanuda la ejecución.

En la unidad de tiempo 3, el bloque solicita datos y el buffer obtiene cinco valores de datos. El bloque devuelve los primeros cuatro valores de datos y el resto se utiliza en el siguiente ciclo de recepción.

En el modo no bloqueante, el modelo se ejecuta de forma continua.

non blocking mode

En la unidad de tiempo 1, el bloque solicita datos y el buffer obtiene cuatro valores de datos. El bloque cambia el valor del puerto Status a 0, lo que indica que los nuevos datos solicitados están disponibles. En este momento, el puerto Data contiene los nuevos valores de datos recibidos. El bloque restablece el valor del puerto Data a 0.

En la unidad de tiempo 2, el bloque solicita datos de nuevo, pero el buffer solo obtiene tres valores. El bloque no puede devolver un valor de 3 porque el tamaño de los datos se ha especificado como 4. Por tanto, el bloque establece el valor del puerto Status en 1, lo que indica que no hay nuevos datos. Todos los valores del puerto Data pasan a 0. En este momento, el buffer tiene tres valores de datos. Sin embargo, durante esta fase, la ejecución no se detiene, al contrario que con el modo bloqueante.

En la unidad de tiempo 3, el buffer tiene cinco valores de datos y el bloque devuelve los primeros cuatro valores en el orden en que se recibieron y cambia el valor del puerto Status a 0. El resto de valores de datos se utiliza en el siguiente ciclo de recepción.

Puertos

Salida

expandir todo

El bloque produce como salida los datos como un arreglo [Nx1].

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

En este puerto se muestra el estado de los datos recibidos. El valor 1 indica que los datos se han recibido correctamente.

Tipos de datos: int8

Parámetros

expandir todo

Pestaña Main

Seleccione la opción para conectar el bloque como un servidor TCP/IP o un cliente TCP/IP.

Introduzca el número del puerto local que actúa como puerto de escucha del servidor TCP/IP. Este parámetro aparece solo cuando establece Connection mode como Server

Introduzca la dirección del servidor remoto desde el que se reciben datos. Este parámetro aparece solo cuando establece Connection mode como Client.

Introduzca el puerto remoto del servidor. Este parámetro aparece solo cuando establece Connection mode como Client.

Seleccione el tipo de datos que se va a recibir del host remoto.

Introduzca el tamaño de los datos que se van a recibir del host remoto.

Introduzca con qué frecuencia se van a recibir los datos.

Pestaña Advanced

Permita que se especifique manualmente el puerto IP local en el que se van a recibir los datos. Este parámetro aparece solo cuando establece Connection mode como Client.

Introduzca el puerto local del cliente en el que se van a recibir los datos. Este parámetro aparece solo cuando establece Connection mode como Client y selecciona la casilla Manually specify local IP port.

Seleccione esta opción para especificar si el bloque debe esperar hasta que reciba los datos. Cuando se selecciona esta casilla, se habilita el modo bloqueante.

Especifique el tiempo de espera del bloque para recibir los datos durante cada unidad de tiempo de simulación. Este campo no estará disponible si no ha seleccionado el parámetro Wait until data received. Si desea que el bloque espere indefinidamente hasta que reciba los datos, introduzca el valor ‘inf’ en este parámetro.