UDP 通信建立
Simulink® Real-Time™ 库中为 UDP 通信提供的基础设施包含两个模块:UDP Send 模块和 UDP Receive 模块。这些模块位于 Simulink Real-Time 库中,可从 Simulink 库的 Simulink Real-Time 目录下获取。您也可以通过在 MATLAB® 命令行中输入以下命令访问它们:
slrealtimelib
这些模块位于库中的 IP 标题下。UDP Send 模块接受类型为 uint8 的向量作为输入。UDP Receive 模块输出一个 uint8 的向量。要将任意 Simulink 数据类型转换为该 uint8 向量,请使用 Byte Packing 模块。要将一组 uint8 向量转换回任意 Simulink 数据类型,请使用 Byte Unpacking 模块。
若您使用专用以太网端口进行 UDP 通信,请使用 Speedgoat 以太网配置工具来配置专用以太网板。有关详细信息,请参阅Troubleshoot Model Upgrade for R2020b。
要与大端架构系统通信,请使用 Byte Reversal/Change Endianess 模块。您的模型在运行 Simulink Real-Time 实时操作系统或 Microsoft® Windows® 操作系统的 80x86 架构计算机系统之间通信时,无需此模块。
这些模块在 Simulink 环境内部运行,同时也在 Simulink Real-Time 系统下运行的实时应用程序中工作。请谨慎处理在 Simulink 仿真与实时应用程序之间传输数据,或使用两个 Simulink 模型的情况。Simulink 模型并非实时模型,其运行速度可能比实时应用程序快数倍或慢数倍。设置 UDP Send 和 UDP Receive 模块的采样时间以及 Simulink 模型的采样时间,以便这些模块能够进行通信。
您无法为两个 UDP Receive 模块配置相同的本地端口。例如,两个 UDP Receive 模块不能具有相同的本地端口和不同的 IP 地址。
您无法为两个 UDP Send 模块配置相同的本地端口。例如,两个 UDP Send 模块不能具有相同的本地端口和不同的 IP 地址。