Структуры настройки параметров с Simulink Real-Time Explorer

Чтобы сократить количество переменных рабочей области, необходимо поддержать и избежать конфликтов по совпадению имен, можно сгруппировать тесно связанные параметры в структуры (см., Организуют Связанные Определения Параметров блоков в Структурах (Simulink)).

В этом примере первоначальная модель xpcosc имеет четыре параметра, которые среди них определяют форму выходной формы волны.

БлокПараметрПолевое выражение структурыНачальное значение

Signal Generator

Freq

spkp.sg_freq

20

Gain

Gain

spkp.g_gain

1000^2

Gain1

Gain

spkp.g1_gain

2*0.2*1000

Gain2

Gain

spkp.g2_gain

1000^2

Создайте структуру параметра

  1. Откройте xpcosc в рабочей папке.

  2. Откройте Tools> Model Explorer.

  3. Выберите узел Base Workspace.

  4. Нажмите кнопку Add Simulink Parameter.

  5. В столбце Name введите имя spkp.

  6. В поле Storage class выберите ExportedGlobal.

  7. В поле Value введите как одна строка:

    struct('sg_freq',20, 'g2_gain',1000^2, ...
         'g1_gain',2*0.2*1000, 'g_gain',1000^2)

    Значения полей копируют литеральные значения в диалоговых окнах. Чтобы изменить значения полей, в строке spkp, кликают по ячейке Value и нажимают кнопку Edit.

  8. Нажмите Apply.

  9. Сохраните модель как ex_slrt_osc_struct.

Замените параметры блоков на поля структуры параметра

  1. В блоке Signal Generator замените значение параметра Frequency с spkp.sg_freq.

  2. В блоке Gain замените значение параметра Gain с spkp.g_gain.

  3. В блоке Gain1 замените значение параметра Gain с spkp.g1_gain.

  4. В блоке Gain2 замените значение параметра Gain с spkp.g2_gain.

Настройки параметров в структуре параметра

  1. Создайте и загрузите модель на свой целевой компьютер.

  2. Откройте Tools> Simulink Real-Time.

  3. В свойствах приложения реального времени, установленных параметр Stop Time на Inf.

  4. Создайте и сконфигурируйте осциллограф хоста:

    1. В узле Иерархии модели щелкните правой кнопкой по модели и откройте View Signals.

    2. Добавьте осциллограф хоста ().

    3. Перетащите сигналы Integrator1 и Signal Generator к осциллографу.

    4. Запустите осциллограф ().

    5. Просмотрите осциллограф ().

  5. В узле Иерархии модели щелкните правой кнопкой по модели и откройте View Block Parameters.

  6. Откройте текстовое поле Values для spkp(1).g1_gain.

  7. Запустите приложение реального времени ().

  8. В текстовом поле Values для spkp(1).g1_gain измените значение на 800, щелкните вне поля и нажмите кнопку Apply parameter value(s) changes.

  9. Остановите приложение реального времени ().

Сохраните и загрузите структуру параметра

  1. В Model Explorer щелкните правой кнопкой по строке spkp.

  2. Нажмите Export selected и сохраните переменную как ex_slrt_osc_struct.mat.

Чтобы загрузить структуру параметра, когда вы откроете модель, добавьте команду load в коллбэк PreLoadFcn. Чтобы удалить структуру параметра из рабочей области, когда вы закроете модель, добавьте команду clear в коллбэк CloseFcn. Для получения дополнительной информации смотрите Образцовые Коллбэки (Simulink).

Похожие темы