По умолчанию оптимизация генерации кода устраняет устройство хранения данных для параметров модели и большинства сигналов, которые не участвуют в интерфейсе функции точки входа. Чтобы сделать параметры настраиваемыми и связанные сигналы доступными, идентифицируйте их путем явной настройки.
В 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), чтобы сравнить результаты симуляции модели и сгенерированного кода .