Симуляция модели экспорта функций тестирования с использованием входной матрицы

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

  • Создайте временные векторы, которые задают время вызова функции.

  • Создайте матрицу, которая добавляет входные данные в временные векторы.

  • Запустите симуляцию.

Чтобы создать модель в этом примере, см., Создают модель экспорта функций.

Создайте входы вызова функции и входы данных

Создайте временные векторы, указывающие, когда происходят события для блоков function-call корневого уровня Inport и векторов данных для блоков Inport данных корневого уровня.

  1. Для вызова функции Inport блоках 1 и 2, создайте векторы-столбцы с временными шагами 0.1 и 0.01. В MATLAB® Командное окно, введите

    t1 = [0:0.1:10]';
    t2 = [0:0.01:10]';
    • Этот временной вектор должен быть монотонно увеличен и иметь двойной тип данных.

    • Если задан шаг расчета для Inport блока вызова функции, значения в соответствующем временном векторе должны быть целочисленными, кратными заданному значению.

    • Чтобы задать несколько вызовов функций в установленный временной шаг, повторите значение времени соответственно. Для примера, чтобы задать три события в t = 0,1 и 2 события в t = 0,5, перечислите 0,1 три раза и 0,5 раза в вашем временном векторе, t1 = [0.1 0.1 0.1 0.5 0.5]'.

    • Чтобы использовать непериодические шаги расчета, установите Sample time блока Inport равным -1 и обеспечивают неоднородный временной вектор, например t1 = [0, 0.1, 0.2, 0.4, 0.8].

  2. Создайте матрицу с временными шагами и значениями данных для данных Inport блочных 3.

    sine_data = sin(0:0.01:10)';
    d3 = [t2,sine_data];

    В вход данных может использоваться любой поддерживаемый формат, как описано в Формах Входных Данных.

В следующей таблице приведены дополнительные сведения для определения временного вектора t.

Шаг расчета для внутреннего набора блоков Trigger Port равный:

Function-Call корневого уровня Inport блок с унаследованным шагом расчета (-1)

Function-Call корневого уровня Inport блок с дискретным шагом расчета

triggered

Недекретизация вектор-столбец.

Выполнение подсистемы вызова функций выполняется в моменты времени, заданные вектором-столбцом. Шаги расчета могут быть периодическим или апериодическим.

Если вы задаете пустую матрицу ([]), подсистема вызова функций не выполняется.

Недекретизация вектор-столбец. Каждый элемент в векторе-столбце должен быть целым числом, кратным шагу расчета, заданному блоком Inport.

Выполнение подсистемы вызова функций выполняется в моменты времени, заданные вектором-столбцом.

Кроме того, задайте пустую матрицу ([]) и подсистема вызова функций выполняется один раз в каждый шаг расчета, заданный блоком Inport.

periodic

Строение не разрешено

Пустая матрица ([]).

Подсистема вызова функций выполняется в моменты времени, заданные вызывающим его блоком Inport.

Симулируйте модель экспорта функций

Симулируйте модель экспорта функций, чтобы протестировать и наблюдать ее поведение перед генерацией кода.

  1. Импортируйте время и данные из рабочего пространства MATLAB.

    На вкладке Modeling выберите Model Settings. В диалоговом окне Параметров конфигурации выберите панель Data Import/Export и установите параметр Input равным t1, t2, d3.

    t1 и t2 Векторы-столбцы содержат время события для блоков Inport вызова функции 1 и 2. d3 - таблица значений входа от времени для блока Inport данных 3.

  2. Запустите симуляцию.

  3. Постройте график результатов. В Командном Окне MATLAB введите.

    plot(yout.time, yout.signals(1).values)
    hold
    plot(yout.time, yout.signals(2).values)

  4. Изменение t1 предоставлять события каждый 0.5 секунд (0.5 - целое число, кратное шагу расчета 0.1 задается в Inport блока 1).

    t1 = [0:0.5:10]';
  5. Перезапустите симуляцию.

После тестирования модели можно сгенерировать код для функций. См. «Генерация кода для модели экспорта функций».

См. также

Блоки

Похожие темы