TCP/IP Receive
Reciba datos de un host remoto a través de una red TCP/IP
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.
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.
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.