主要内容

本页采用了机器翻译。点击此处可查看英文原文。

UDP 与可变长度信号

UDP 子库不直接支持可变大小的信号。UDP Send 模块的输入端口仅接受固定长度的信号。

若要通过 UDP 发送可变大小的信号,请确定预计连接到该模块的固定大小输入信号的最大元素个数。使用第二个输入 Length 来指定要通过 UDP 发送的该输入信号的元素个数。

此示例配置了 MATLAB Function 模块,使其能够接收可变长度的信号,并将该信号映射到固定长度的输出信号。它输出相关元素的数量。您可以将固定长度的输出信号和元素个数输出到 UDP Send 模块的输入端。

  1. 要接收可变大小的输入信号,请创建一个 MATLAB Function 模块。MATLAB Function 模块的输入会继承其大小,该大小可以是可变的。

  2. MATLAB Function 模块中,输入如下所示的代码。在此代码中,可变大小输入信号的最大大小为 9

    function [y,y_length] = fcn(u)
    %#codegen
    y = uint8(zeros(9,1));
    y_length = length(u);
    for a = 1:y_length
        y(a) = u(a);
    end
  3. 指定输出 y 的最大大小。

    1. 打开 Symbols 窗格。在 Modeling 选项卡的 Design 部分中,点击 Symbols Pane

    2. 右键点击变量 y,然后点击 Inspect 以打开“属性检查器”。

    3. 将输入信号的最大大小输入到 y 的相应 Size 属性中。例如,大小值是 9

  4. MATLAB Function 模块提供一个可变大小的信号源。

The slrt_ex_udp_eml model includes a MATLAB Function block.

另请参阅

|