Создайте объекты данных для генерации кода с мастером объекта данных

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

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

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

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

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

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

Откройте модель rtwdemo_configinterface в качестве примера.

open_system('rtwdemo_configinterface')

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

На вкладке Modeling, в соответствии с Проектом, нажимают Data Object Wizard.

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

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

Нажмите Select All.

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

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

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

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

Откройте Model Explorer.

В панели Иерархии модели выберите Base Workspace.

В панели Содержимого, от выпадающего Представления Столбца списка, выбирают 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;

Смотрите также

|

Похожие темы