exponenta event banner

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

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

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

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

  1. Чтобы принять входной сигнал переменного размера, создайте функциональный блок MATLAB.

  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 ® нажмите кнопку Edit Data. В окне «Ports and Data Manager» выберите данные.uи установите соответствующий флажок Размер переменной.

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

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

См. также

|