Структуры настройки параметров с 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. Откройте Базовое рабочее пространство в Model Explorer. На вкладке Modeling нажмите Base Workspace..

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

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

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

  6. В поле Value введите как одна линия:

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

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

  7. Нажмите Apply.

  8. Сохраните модель как ex_slrt_osc_struct. На вкладке Simulation, от Save, нажимают Save As.

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

  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. Открытый Simulink Real-Time Explorer. Во вкладке Real-Time нажмите Prepare> SLRT Explorer.

  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 'callback'. Чтобы удалить структуру параметра из рабочей области, когда вы закроете модель, добавьте clear команда к CloseFcn 'callback'. Для получения дополнительной информации смотрите Коллбэки Модели (Simulink).

Похожие темы