В этом примере показано, как настроить атрибуты состояния блока Discrete FIR Filter с помощью Model Data Editor. Model Data Editor позволяет вам смотреть и отредактировать элементы данных в списке, который можно отсортировать, сгруппировать, и фильтр. Для получения дополнительной информации об использовании Model Data Editor смотрите Configure Data Properties при помощи Model Data Editor.
Рассмотрите простую модель, которая содержит блок Discrete FIR Filter.
Используя API отображений редактора или кода Отображений Кода, можно сконфигурировать состояние Discrete FIR Filter, чтобы появиться в сгенерированном коде как отдельная глобальная переменная. Это сделано путем объявления класса памяти состояния как ExportedGlobal
. Для получения дополнительной информации о том, как сгенерированный код хранит внутренние состояния, смотрите Как Хранилища Сгенерированного кода Внутренний Сигнал, состояние и Данные о Параметре (Simulink Coder). Для получения дополнительной информации о классах памяти и как применить их к состояниям, смотрите Настройку генерации кода C для Элементов Интерфейса модели (Simulink Coder).
Откройте Model Data Editor. На вкладке Modeling нажмите Model Data Editor.
Под вкладкой States введите Name как myState
. В приложении кодера, набор Storage Class к ExportedGlobal
. Можно альтернативно установить флажок Resolve, который требует, чтобы имя состояния решило к объекту сигнала Simulink®.
Этот пример конфигурирует модель, чтобы сгенерировать код только. Откройте Параметры конфигурации путем нажатия кнопки настройки в редакторе Simulink. В панели Code Generation выберите Generate code only. Нажмите Apply.
В панели Report выберите Create code generation report и Open report automatically. Нажмите Apply. Эти настройки создают отчет и автоматически открывают отчет в веб-браузере.
Чтобы инициировать сборку, нажмите кнопку модели сборки в редакторе Simulink или нажмите Ctrl+B. Процесс сборки записывает файлы отчета генерации кода в html
подпапка папки сборки. Затем процесс сборки автоматически открывает окно веб-браузера MATLAB® и отображает отчет генерации кода. Используя этот отчет, можно просмотреть и анализировать сгенерированный код. Для получения дополнительной информации о сгенерированном отчете см. Отчеты для Генерации кода (Simulink Coder).
В custom_state_attributes.h
файл, вы видите, что состояние фильтра объявляется как внешняя переменная, поскольку классом памяти является ExportedGlobal
.
Если вы изменяете класс памяти и восстанавливаете модель, вы видите, что сгенерированный код отражает изменение. Со способностью настроить атрибуты состояния, можно оптимизировать и настроить, как состояние появляется в сгенерированном коде.