exponenta event banner

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

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

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

Чтобы управлять внешним видом элементов модели в создаваемом коде, следует применить определения кода к элементам с помощью редактора Сопоставления кодов (Code Mappings). Настройте поведение генерации кода по умолчанию для категории элементов модели, выбрав определение кода в сопоставлении по умолчанию для категории. Настройте отдельные элементы данных, сопоставив их с определениями кода в редакторе сопоставлений кода.

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

При создании определений в словаре Embedded Coder Dictionary решите, где хранить определения, изучив способ их использования. В этой таблице перечислены места хранения определений кода и способы использования словарей данных Simulink ®.

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

Сведения об использовании словаря встроенного кодера и его ограничениях в отношении определений генерации кода см. в разделе Словарь встроенного кодера.

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

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

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

Если требуется использовать одно и то же определение генерации кода в редакторе сопоставлений кода и в объектах данных, не требуется сохранять одну копию определения в словаре встроенного кодера и другую копию в пакете. Вместо этого сохраните определение в пакете (с помощью конструктора пользовательских классов хранения данных). Затем настройте один или несколько словарей встроенного кодера для ссылки на определение в пакете. При использовании этого метода при необходимости внесения изменений в определение изменения вносятся только в одном месте - в пакете.

Чтобы создать определение создания кода в пакете с помощью конструктора пользовательских классов хранения, см. раздел Создание классов хранения с помощью конструктора пользовательских классов хранения. Затем, чтобы настроить Embedded Coder Dictionary для обращения к пакету, см. раздел Определения генерации кода в пакете.

Дополнительные сведения о сохранении определений в пакетах и словарях см. в разделе Перенос определений пакетов в словарь встроенного кодера для использования в сопоставлениях кода.

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

При определении класса хранения в словаре Embedded Coder Dictionary можно указать, могут ли пользователи сопоставлять класс хранения с параметрами, сигналами или параметрами и сигналами. Чтобы ограничить использование класса хранения, свойство Data Initialization должно иметь значение Auto или None. Затем в Инспекторе свойств в разделе «Допустимое использование» выберите «Параметры», «Сигналы» или «Параметры и сигналы». Дополнительные сведения см. в разделе Словарь встроенного кодера.

Развертывание определений создания кода для пользователей

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

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

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

  1. Представление словаря встроенного кодера с помощью coder.Dictionary объект. Объект используется для доступа к разделам словаря «Классы хранения», «Разделы памяти» и «Шаблоны настройки функций». При наличии пакета определений кода используйте coder.Dictionary объект для загрузки и обновления пакета в словаре.

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

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

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

См. также

|

Связанные темы