Чтобы сократить количество переменных рабочей области, необходимо обеспечить и избежать конфликтов по совпадению имен, можно сгруппировать тесно связанные параметры в структуры. Смотрите Организуют Связанные Определения Параметров блоков в Структурах.
В этом примере, первоначальной модели slrt_ex_osc
имеет четыре параметра, которые определяют форму выходной формы волны.
Блок | Параметр | Полевое выражение структуры | Начальное значение |
---|---|---|---|
| Freq |
| 20 |
| Gain |
| 1000^2 |
| Gain |
| 2*0.2*1000 |
| Gain |
| 1000^2 |
Открытая модель slrt_ex_osc
, и сохраните копию модели к рабочей папке.
Откройте Базовое рабочее пространство в Model Explorer. На вкладке Modeling нажмите Base Workspace.
Нажмите Add Simulink Parameter .
В столбце Name введите имя spkp
.
В поле Storage class выберите ExportedGlobal
.
В поле Value введите как одна линия:
struct('sg_freq',20, 'g2_gain',1000^2, ... 'g1_gain',2*0.2*1000, 'g_gain',1000^2)
Значения полей копируют литеральные значения в диалоговых окнах. Изменить значения полей, в строке spkp
, кликните по ячейке Value и нажмите Edit
.
Нажмите Apply.
Сохраните модель как slrt_ex_osc_struct
. На вкладке Simulation, от Save, нажимают Save As.
В Signal Generator
блокируйте, замените значение параметра Frequency с spkp.sg_freq
.
В Gain
блокируйте, замените значение параметра Gain с spkp.g_gain
.
В Gain1
блокируйте, замените значение параметра Gain с spkp.g1_gain
.
В Gain2
блокируйте, замените значение параметра Gain с spkp.g2_gain
.
В Model Explorer щелкните правой кнопкой по строке spkp
.
Нажмите Export selected и сохраните переменную как slrt_ex_osc_struct.mat
.
Чтобы загрузить структуру параметра, когда вы откроете модель, добавьте a load
команда к PreLoadFcn
'callback'. Чтобы удалить структуру параметра из рабочей области, когда вы закроете модель, добавьте a clear
команда к CloseFcn
'callback'. Для получения дополнительной информации смотрите Коллбэки Модели.
Если вы не завершились, шаги в Создают Структуру Параметра, Параметры блоков Замены с Полями Структуры Параметра, и Сохраняют и Структура Параметра Загрузки, можно запустить при помощи завершенной модели. Чтобы открыть модель, в командном окне MATLAB, введите:
open_system(fullfile(matlabroot, 'toolbox', 'slrealtime', ... 'examples', 'slrt_ex_osc_struct')); load(fullfile(matlabroot, 'toolbox', 'slrealtime', ... 'examples', 'slrt_ex_osc_struct.mat'));
Создайте и загрузите модель на свой целевой компьютер.
Открытый Simulink Real-Time Explorer. Во вкладке Real-Time нажмите Prepare> SLRT Explorer.
Установите приложение реального времени Stop Time на Inf
.
Кликните по вкладке Parameters.
Запустите приложение реального времени.
Откройте Инспектора Данных моделирования и просмотрите сигналы из приложения реального времени.
В текстовом поле Values для spkp(1).g1_gain
, измените значение в 800
и нажмите Enter.
Наблюдайте изменение в сигналах в Инспекторе Данных моделирования.
Остановите приложение реального времени.