Задайте классы памяти, разделы памяти и шаблоны функций для программной архитектуры

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

Создайте определения кода для использования в редакторе отображений кода

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

Чтобы создать определения кода, которые вы и другие пользователи можете использовать в редакторе Отображений Кода, используйте Словарь Embedded Coder.

Когда вы создаете определения в Словаре Embedded Coder, решаете, где сохранить определения путем рассмотрения, как вы намереваетесь использовать их. Эта таблица приводит, где сохранить определения кода и как использовать Simulink® словари данных.

Использование определенийМестоположение для определений кодаИспользование словаря данных
Многоуровневые модели — совместное использование набора определений кода, чтобы стандартизировать кодСловарь данных Simulink, на который ссылаются все модели, или непосредственно или через промежуточное звено, сослался на словариСоедините каждую модель со словарем данных, который задает определения кода, или непосредственно или через промежуточную ссылку словаря.
Одна модель — моделирующий сгенерированный код при помощи одной моделиЛокальный Словарь Embedded Coder моделиМожно опционально соединить модель со словарем данных, который содержит другие данные. Если вы соединяете модель со словарем, который содержит другие определения кода, модель может также использовать те определения кода.

Чтобы использовать Словарь Embedded Coder и для его ограничений относительно определений генерации кода, см. Словарь Embedded Coder.

Создайте определения кода для внешних объектов данных

Чтобы создать определения для объектов данных, которые вы храните в базовом рабочем пространстве или в словаре данных Simulink, используйте Custom Storage Class Designer, чтобы создать определение в пакете. Для этих объектов данных вы применяете настройки генерации кода к объекту данных вместо того, чтобы применить их в отображении модели. Когда элемент в модели использует объект данных и его настройки генерации кода, отображение кода для элемента отражает спецификацию объекта данных. Для получения дополнительной информации смотрите, Создают Классы памяти при помощи Данных о Custom Storage Class Designer и Управлении и Функционального Размещения в Памяти Вставкой Прагм.

Используйте определения пакета кода в словарях Embedded Coder

Если вы хотите использовать то же определение генерации кода в редакторе Отображений Кода и в объектах данных, вы не должны хранить одну копию определения в Словаре Embedded Coder и другую копию в пакете. Вместо этого сохраните определение в пакете (при помощи Custom Storage Class Designer). Затем сконфигурируйте один или несколько Словарей Embedded Coder, чтобы обратиться к определению в пакете. С этим методом, когда это необходимо, чтобы внести изменения в определение, вы вносите изменения только в одном месте, пакете.

Чтобы создать определение генерации кода в пакете при помощи Custom Storage Class Designer, смотрите, Создают Классы памяти при помощи Custom Storage Class Designer. Затем чтобы сконфигурировать Словарь Embedded Coder, чтобы относиться к пакету, смотрите, Обращаются к Определениям Генерации кода в Пакете.

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

Ограничьте использование отображений класса памяти кода

При определении класса памяти в Словаре Embedded Coder можно задать, могут ли пользователи сопоставить класс памяти с параметрами, сигналами, или параметрами и сигналами. Чтобы ограничить использование класса памяти, свойство Data Initialization должно быть установлено в Auto или None. Затем в Property Inspector, под Allowed Usage, выбирают Parameters, Signals, или Parameters и Signals. Для получения дополнительной информации смотрите Embedded Coder Dictionary.

Разверните определения генерации кода пользователям

В крупной организации с многоуровневыми моделями и пользователями, можно совместно использовать определения генерации кода путем хранения их во взаимно доступном месте. Процесс совместного использования определений кода называется deployment. Для получения дополнительной информации смотрите, Развертывают Определения Генерации кода.

Взаимодействуйте с определениями генерации кода программно

Можно создать и взаимодействовать с определениями кода при помощи API Словаря Embedded Coder.

  1. Представляйте Словарь Embedded Coder при помощи coder.Dictionary объект. Используйте объект получить доступ к разделам словаря: Классы памяти, Разделы Памяти и Функциональные Шаблоны настройки. Если у вас есть пакет определений кода, используйте coder.Dictionary возразите, чтобы загрузить и обновить пакет в словаре.

  2. Представляйте раздел словаря при помощи coder.dictionary.Section объект. Используйте раздел для определений кода доступа.

  3. Представляйте определение кода при помощи coder.dictionary.Entry объект. Используйте запись, чтобы взаимодействовать с определением кода и его свойствами.

Можно также использовать функции такой как coder.dictionary.copy и coder.dictionary.move выполнять операции на Словарях Embedded Coder. Для получения дополнительной информации смотрите, Создают Определения Кода Программно.

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

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте