Чтобы изменить поведение модели, можно настроить параметры блока Simulink ® Desktop Real-Time™ при условии, что параметры являются настраиваемыми. Параметры блока можно изменить с помощью диалогового окна параметров блока, блоков панели управления и языка MATLAB ®. Можно создать настраиваемые глобальные параметры, используя переменные MATLAB в качестве выражений значений.
В обычном режиме или режиме ускорения Simulink переносит новые значения в моделируемую модель. Во внешнем режиме Simulink передает новые значения приложению реального времени, работающему в режиме ядра.
Simulink Desktop Real-Time определяет два вида настраиваемых параметров: параметры блока и глобальные параметры.
Параметр блока - это константное выражение, на которое можно ссылаться в диалоговом окне Блок Simulink или с помощью API MATLAB. Параметры блока настраиваются, если для параметра Поведение параметра по умолчанию (Default parameter behavior) задано значение Tunable на панели Оптимизация (Optimization). При использовании API MATLAB параметр блока определяется по имени параметра и пути блока в иерархии модели.
Предположим, что для параметра «Амплитуда» блока генератора сигналов установлено значение 5/2. Изменить амплитуду генератора сигналов во время моделирования можно путем настройки параметра Amplitude в блоке Signal Generator.
Настраиваемый глобальный параметр - это переменная MATLAB, на которую создается ссылка в диалоговом окне блока Simulink. Можно настроить глобальный параметр или объект с помощью диалогового окна блока, блоков панели мониторинга, инспектора свойств, обозревателя моделей, редактора данных модели или языка MATLAB. При использовании API MATLAB настраиваемый глобальный параметр определяется только по имени переменной.
Предположим, что параметру Amplitude назначается переменная A со значением 4.57. Можно изменить амплитуду генератора сигнала во время моделирования, настроив значение A в рабочей области MATLAB и обновление моделирования.
Чтобы повысить эффективность выполнения, откройте диалоговое окно Параметры конфигурации (Configuration Parameters) и установите для параметра Поведение параметра по умолчанию (Default parameter behavior) значение Inlined на панели «Создание кода» > «Оптимизация».
По умолчанию невозможно настроить встроенные параметры блока. Однако можно создать настраиваемую глобальную переменную путем ссылки на переменную MATLAB или Simulink.Parameter в диалоговом окне блока. Чтобы сделать переменную или объект настраиваемыми, примените класс хранения, отличный от Auto к нему.
Дополнительные сведения о встроенных параметрах см. в разделе Поведение параметров по умолчанию (Simulink Coder).
Во внешнем режиме Simulink Desktop Real-Time подключает модель Simulink к приложению реального времени. Блок-схема становится пользовательским интерфейсом для приложения реального времени. Можно изменить значение параметра в диалоговом окне блока или заменить значение переменной MATLAB и настроить переменную в окне команд.
При изменении значения параметра в модели Simulink и нажатии кнопки ОК модуль Simulink Desktop в реальном времени передает данные в приложение реального времени и изменяет параметр блока. Можно изменить только те параметры, которые не изменяют структуру модели. При изменении структуры необходимо перекомпилировать модель.
При изменении значения настраиваемого глобального параметра поручите Simulink перенести данные из переменной MATLAB в приложение реального времени, выполнив одно из следующих действий:
Нажатие клавиш Ctrl + D.
В редакторе Simulink на вкладке Отладка щелкните Обновить модель (Update Model).
С помощью пакетного режима можно настроить несколько параметров и применить все настроенные параметры одновременно вместо настройки одного параметра. В этом примере используется модель sldrtex_model. Чтобы открыть эту модель, в окне команды MATLAB введите:
open_system(docpath(fullfile(docroot,'toolbox',... 'sldrt','examples','sldrtex_model')))
Открытая модель sldrtex_model.
В редакторе Simulink на вкладке Desktop Real-Time нажмите кнопку Run in Real Time.
На вкладке Рабочий стол в реальном времени щелкните Подготовка > Пакетный режим. Редактор остается в пакетном режиме до тех пор, пока не будет снова нажата кнопка Пакетный режим.
Чтобы задать значения параметров, можно задать значения, щелкнув каждый блок или используя Редактор данных модели (Model Data Editor) в базовом рабочем пространстве.
На вкладке Desktop Real-Time (Рабочий стол в реальном времени) выберите Prepare (Подготовка) > Signal Table (Таблица сигналов).
В редакторе данных модели перейдите на вкладку Параметры (Parameters). Измените значения параметров в редакторе данных модели в базовом рабочем пространстве.
На вкладке Рабочий стол в режиме реального времени выберите «Подготовка» > «Обновить все параметры».
Чтобы остановить моделирование до его завершения, на вкладке Рабочий стол в реальном времени нажмите кнопку Остановить.
В режиме реального времени Simulink Desktop можно использовать команду MATLAB language set_param для изменения значений параметров блока и настраиваемых глобальных параметров. В этом примере используется модель sldrtex_model. Чтобы открыть эту модель, в окне команды MATLAB введите:
open_system(docpath(fullfile(docroot,'toolbox',... 'sldrt','examples','sldrtex_model')))
При использовании значения параметра литерального блока доступ к параметру осуществляется по пути непустого блока и имени параметра. Например, для изменения амплитуды генератора сигнала:
model = 'sldrtex_model'; sgname = [model '/Signal Generator']; set_param(sgname, 'Amplitude', '4.57')
При замене параметра блока настраиваемым глобальным параметром доступ к параметру осуществляется по имени переменной. Предположим, что для параметра «Амплитуда» задано значение переменной A. Для изменения амплитуды генератора сигналов:
A = 4.57 set_param('sldrtex_model','SimulationCommand','update')