UDP и сигналы переменного размера

Simulink® Real-Time™ UDP не поддерживает непосредственно сигналы переменного размера. Входной порт UDP Send блока принимает только сигналы фиксированного размера.

Чтобы послать сигналы переменного размера через UDP, определите максимальное количество элементов массива входного сигнала фиксированного размера, который вы ожидаете соединить с блоком. Используйте второй вход, Length, для определения количества элементов этого входного сигнала для передачи через UDP.

Этот пример конфигурирует блок MATLAB Function, чтобы принять сигнал переменного размера и преобразует этот сигнал в выходной сигнал фиксированного размера. В нем указывается количество соответствующих элементов. Можно вывести выходной сигнал фиксированного размера и количество элементов на входы блока UDP Send.

  1. Чтобы принять входной сигнал переменного размера, создайте блок 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. В MATLAB® Function Editor, нажмите кнопку Edit Data. В Ports and Data Manager выберите данные u, а затем установите соответствующий флажок Variable size.

  4. Выберите данные y и введите размер входного сигнала данных переменного размера в соответствующий параметр Size. В данном примере значение размера 9.

  5. Предоставьте источник сигнала переменного размера для блока MATLAB Function.

См. также

|