По умолчанию оптимизация генерации кода устраняет устройство хранения данных для параметров модели и большинства сигналов, которые не участвуют в интерфейсе функции точки входа. Чтобы сделать параметры настраиваемыми и связанными сигналами доступный, идентифицируйте их путем конфигурирования их явным образом.
В BasicRollMode
подсистема модели rtwdemo_roll
, сконфигурируйте параметр управления ПИДом, чтобы появиться в коде как глобальная переменная, значение которой можно настроить.
Откройте BasicRollMode
подсистема.
Откройте Model Data Editor, На вкладке Modeling, нажмите Model Data Editor.
В Model Data Editor выберите вкладку Parameters.
В поле фильтра введите IntGain
. Model Data Editor показывает строку, которая соответствует параметру Gain и строке, которая соответствует переменной рабочей области.
В столбце Source нажмите IntGain
. Тот блок Gain кажется подсвеченным в диаграмме модели.
В столбце Value, рядом с intGain
, кликните по кнопке действий (кнопка с тремя вертикальными точками) и выберите Explore.
Преобразуйте переменную рабочего пространства модели в объект параметра. В Model Explorer щелкните правой кнопкой по intGain
и выберите Convert to parameter object
.
В панели Dialog, на вкладке Code Generation, нажимают Configure in Coder App.
В редакторе Отображений Кода, на вкладке Parameters, изменяют настройки Storage Class для intGain
к Model default
, который указывает, что объект параметра препятствует тому, чтобы оптимизация генерации кода устранила устройство хранения данных для переменной. С этой установкой объект использует класс памяти, заданный в редакторе Отображений Кода как значение по умолчанию данных для категории Model parameters.
Сохраните модель и регенерируйте код.
Минимизируйте окно отчета генерации кода для исследования позже в этом примере.
В Представлении кода:
Ищите intGain
.
В rtwdemo_roll.c
, установите свой курсор на меню замещающего знака по P
в подсвеченном коде P.intGain
. В редакторе моделей заметьте, что Представление кода подсвечивает блок, соответствующий сгенерированному коду.
Видеть определение объекта параметра для intGain
в rtwdemo_roll_data.c
, кликните по коду определения в диалоговом окне.
Код, который вы генерируете из модели, хранит объект параметра в памяти. Поскольку вы оставили настройки класса памяти по умолчанию в Коде, Сопоставляющем Редактор для категории набор Model parameters к Default
, генератор кода определяет формат устройства хранения данных, например, как поля структур.
Затем используйте модель тестовой обвязки и программное обеспечение в цикле (SIL) симуляция, чтобы сравнить результаты симуляции модели и сгенерированного кода.