Сконфигурируйте параметр модели как глобальную переменную для настройки в течение времени выполнения

По умолчанию оптимизация генерации кода устраняет устройство хранения данных для параметров модели и большинства сигналов, которые не участвуют в интерфейсе функции точки входа. Чтобы сделать параметры настраиваемыми и связанными сигналами доступный, идентифицируйте их путем конфигурирования их явным образом.

В BasicRollMode подсистема модели rtwdemo_roll, сконфигурируйте параметр управления ПИДом, чтобы появиться в коде как глобальная переменная, значение которой можно настроить.

  1. Откройте BasicRollMode подсистема.

  2. Откройте Model Data Editor, На вкладке Modeling, нажмите Model Data Editor.

  3. В Model Data Editor выберите вкладку Parameters.

  4. В поле фильтра введите IntGain. Model Data Editor показывает строку, которая соответствует параметру Gain и строке, которая соответствует переменной рабочей области.

  5. В столбце Source нажмите IntGain. Тот блок Gain кажется подсвеченным в диаграмме модели.

  6. В столбце Value, рядом с intGain, кликните по кнопке действий (кнопка с тремя вертикальными точками) и выберите Explore.

  7. Преобразуйте переменную рабочего пространства модели в объект параметра. В Model Explorer щелкните правой кнопкой по intGain и выберите Convert to parameter object.

  8. В панели Dialog, на вкладке Code Generation, нажимают Configure in Coder App.

  9. В редакторе Отображений Кода, на вкладке Parameters, изменяют настройки Storage Class для intGain к Model default, который указывает, что объект параметра препятствует тому, чтобы оптимизация генерации кода устранила устройство хранения данных для переменной. С этой установкой объект использует класс памяти, заданный в редакторе Отображений Кода как значение по умолчанию данных для категории Model parameters.

  10. Сохраните модель и регенерируйте код.

    Минимизируйте окно отчета генерации кода для исследования позже в этом примере.

  11. В Представлении кода:

    • Ищите intGain.

    • В rtwdemo_roll.c, установите свой курсор на меню замещающего знака по P в подсвеченном коде P.intGain. В редакторе моделей заметьте, что Представление кода подсвечивает блок, соответствующий сгенерированному коду.

    • Видеть определение объекта параметра для intGain в rtwdemo_roll_data.c, кликните по коду определения в диалоговом окне.

Код, который вы генерируете из модели, хранит объект параметра в памяти. Поскольку вы оставили настройки класса памяти по умолчанию в Коде, Сопоставляющем Редактор для категории набор Model parameters к Default, генератор кода определяет формат устройства хранения данных, например, как поля структур.

Затем используйте модель тестовой обвязки и программное обеспечение в цикле (SIL) симуляция, чтобы сравнить результаты симуляции модели и сгенерированного кода.