TCP/IP Receive
通过 TCP/IP 网络从远程主机接收数据
库:
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
描述
通过网络从远程主机/另一个目标硬件接收数据。当您将连接模式设置为服务器时,您必须提供本地端口。本地端口充当 TCP/IP 服务器的侦听端口。将模块设置为客户端时,必须提供 TCP/IP 服务器的远程地址和远程端口来接收数据。该模块在阻塞模式或非阻塞模式下接受数据。数据端口输出包含每个时间步的请求数据。状态端口包含 0 或 1 以指示是否收到指定时间步的新数据。状态端口值 1 表示来自数据端口的数据有效。
在阻塞模式下,模型在等待请求的数据可用时会阻止执行。
在第 1 个时间步,该模块请求四个数据值,TCP/IP 接收缓冲区获取四个数据值。执行运行。
在第 2 个时间步,模块再次请求数据,但 TCP/IP 接收缓冲区仅获取三个数据值。执行暂停,直到缓冲区收到第四个数据值或达到超时设定值。然后,执行将继续。
在第 3 个时间步,模块会请求数据,并且缓冲区会接收五个数据值。该模块返回前四个数据值,其余的数据值用于下一个接收周期。
在非阻塞模式下,模型将连续运行。
在第 1 个时间步,模块请求数据,缓冲区获取四个数据值。该模块将状态端口值更改为 0,表示新请求的数据可用。此时,数据端口包含新收到的数据值。该模块将数据端口值重置为 0。
在第 2 个时间步,模块再次请求数据,但缓冲区仅获取三个值。该模块无法返回值 3,因为数据大小指定为 4。因此,该模块将状态端口值设置为 1,表示没有新数据。数据端口上的所有值都变为 0。此时,缓冲区有三个数据值。然而,在此阶段,与阻塞模式不同,执行不会停止。
在第 3 个时间步,缓冲区有五个数据值,该模块按接收顺序返回前四个数据值,并将状态端口值更改为 0。其余的数据值将用于下一个接收周期。