Мастер создания объектов данных для генерации кода с использованием объектов данных

Чтобы задать опции генерации кода для сигнальных линий, параметров блоков и состояний в модели, можно использовать объекты данных, которые вы храните в рабочей области или словаре данных. Основные сведения об объектах данных см. в разделе Объекты данных.

Мастер объектов данных позволяет создавать объекты данных для:

  • Новые или существующие модели, которые не используют объекты данных.

  • Существующие модели, к которым вы добавили сигнальные линии или блоки.

В этом примере показано, как использовать мастер объектов данных для создания и конфигурации объектов данных для генерации кода из встроенного пакета Simulink.

Создание объектов данных

Откройте пример модели rtwdemo_configinterface.

open_system('rtwdemo_configinterface')

Модель создает числовые переменные в базовом рабочем пространстве. Блоки в модели используют эти переменные, чтобы задать значения параметров (такие как параметр Gain блока Gain). Некоторые сигналы и состояния блока в модели имеют явные имена, такие как input1.

На вкладке Моделирования, в разделе Проекта, нажмите Данные Мастер объектов.

В мастере объектов данных нажмите кнопку Найти. Мастер предлагает создание Simulink.Parameter объекты для замены переменных и создания Simulink.Signal объекты для представления сигналов и состояний.

Мастер находит только сигналы, параметры, хранилища данных и состояния, чей класс памяти установлен на Auto. Для примера, если вы используете диалоговое окно Signal Свойств, чтобы задать класс памяти кроме Auto для сигнальной линии мастер не предлагает объект данных.

Щелкните Выбрать все (Select All).

Нажмите кнопку Создать. Объекты данных появляются в базовом рабочем пространстве.

Для получения дополнительной информации об опциях, которые можно выбрать в мастере объектов данных, см. раздел «Создание объектов данных для модели с помощью мастера объектов данных».

Установите класс памяти для объектов данных

Классы памяти определяют, как сгенерированный код использует переменные для представления сигналов, параметров и состояний. Для объектов данных из встроенного пакета Simulink, класс памяти по умолчанию Auto. Чтобы задать классы памяти для новых объектов данных, используйте Model Explorer.

Откройте Model Explorer.

На панели иерархия модели выберите Базовое рабочее пространство.

На панели «Содержимое» в раскрывающемся списке «Представление столбца» выберите Storage Class.

Выберите все новые объекты данных. Для примера выберите объект input1, удерживая нажатой сдвиг и выбирая объект X.

Установите свойство StorageClass для всех объектов данных, которые нужно ExportToFile. Чтобы изменить класс памяти для всех выбранных объектов, в столбце StorageClass щелкните любой из объектов. В раскрывающемся списке выберите ExportToFile. Внесенное изменение распространяется на все выбранные объекты.

Задайте HeaderFile свойство для всех объектов как myExportedHdrFile.h.

В модели установите параметры конфигурации > Генерация кода > Системный целевой файл ert.tlc. С помощью этой настройки генератор кода чтит классы памяти, такие как ExportToFile.

Сгенерируйте и смотрите код

Сгенерируйте код из модели.

### Starting build procedure for: rtwdemo_configinterface
### Successful completion of code generation for: rtwdemo_configinterface

Build Summary

Top model targets built:

Model                    Action          Rebuild Reason                                    
===========================================================================================
rtwdemo_configinterface  Code generated  Code generation information file does not exist.  

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 8.7161s

В отчете о генерации кода просмотрите сгенерированный файл myExportedHdrFile.h. Файл содержит extern объявления для глобальных переменных, которые соответствуют объектам данных.

/* Exported data declaration */
/* Declaration for custom storage class: ExportToFile */
extern real_T X;

Просмотрите файл rtwdemo_configinterface.c. Файл содержит определения глобальных переменных. Код присваивает числовые значения для переменных, которые соответствуют объектам параметра.

/* Exported data definition */

/* Definition for custom storage class: ExportToFile */
real_T X;

См. также

|

Похожие темы