Разделение определений кода из данных модели специфичных и функциональных настроек

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

Используя Embedded Coder Dictionary, чтобы задать ваш код, вы можете:

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

  • Примените определения кода в отображении значения по умолчанию для вашей модели.

  • Сконфигурируйте код для многих различных элементов в вашей модели.

  • Выберите, как применить ваши определения с гибкостью.

  • Сконфигурируйте сгенерированный код для многоуровневых моделей.

  • Используйте одну модель, чтобы сгенерировать код, который сконфигурирован по-другому для различных вычислительных платформ.

Управляйте техническими требованиями кода в одном месте

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

  • Просмотрите и сравните определения кода и их свойства.

  • Найдите и зафиксируйте технические требования кода, которые не соответствуют требованиям.

  • Измените много определений кода быстро, когда стандарты программного интерфейса изменятся.

Примените определения элементам модели с гибкостью

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

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

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

Сгенерируйте стандартизированный код от многоуровневых моделей

Разделение определений кода из вашей модели означает, что можно стандартизировать код, сгенерированный из многих моделей путем совместного использования одного набора определений кода. Поскольку определения в вашем Словаре Embedded Coder являются отдельными от ваших элементов модели, можно совместно использовать определения путем хранения Словаря Embedded Coder в словаре данных Simulink за пределами модели. Рисунок показывает пример двух моделей, совместно использующих словарь. На рисунке:

  • modelA.slx и modelB.slx отдельные модели, которые генерируют код.

  • Каждая модель соединена со словарем данных Simulink®, в этом случае, словарями является modelA.sldd и modelB.sldd.

  • Отдельный словарь данных Simulink, CodeDefinitions.sldd, содержит определения интерфейса кода.

  • Словари для моделей, modelA.sldd и modelB.sldd, сошлитесь на словарь CodeDefinitions.sldd.

  • Для modelA и modelB, категории элементов модели сопоставлены с определениями кода в CodeDefinitions.sldd. Обе модели генерируют код, который отражает технические требования в определениях.

Model A linked to Dictionary A and model B linked to Dictionary B. Dictionary A and Dictionary B linked to the dictionary CodeDefinitions.sldd

Сохранить ваши определения кода в разделяемом словаре данных Simulink:

  1. Создайте автономный словарь данных Simulink. В этом словаре создайте определения кода, чтобы совместно использовать с многоуровневыми моделями.

  2. Из каждой модели, с которой вы хотите совместно использовать определения кода, создайте и соедините словарь данных Simulink для данных проектирования модели специфичных.

  3. Из каждого словаря данных модели специфичного сошлитесь на словарь, который содержит разделяемые определения кода.

Для моделей, которые соединены со словарем, можно сконфигурировать отображение по умолчанию. В разделяемом Словаре Embedded Coder, таком как CodeDefinitions.sldd, можно установить определение значения по умолчанию словаря кода для категории данных модели или функций. Модели, которые соединены со словарем, используют определение по умолчанию, чтобы сгенерировать код для связанной категории данных или функций. Можно применить определения интерфейса кода соединенным моделям по умолчанию, не изменяя отдельные модели.

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

Сгенерируйте код для других платформ

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

  • Обеспечьте словарь определений кода, которые задают поведение интерфейса кода для платформы.

  • Модели сопоставляют элементы модели с определениями в словаре для платформы.

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

Например, можно совместно использовать Словарь Embedded Coder с моделями для целевой платформы встроенного в реальном времени (ERT). Для каждой из моделей обеспечьте разделение словаря AUTOSAR с определениями для платформы AUTOSAR. Сконфигурировать модели для платформы ERT:

  1. Задайте основанный на ERT системный конечный файл для моделей.

  2. Создайте определения интерфейса кода в разделяемом Словаре Embedded Coder.

  3. Для каждой модели, в редакторе Отображений Кода, категориях карты элементов модели и отдельных элементов модели к определениям в Словаре Embedded Coder.

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

Сконфигурировать модели для цели генерации кода AUTOSAR:

  1. Задайте системный конечный файл AUTOSAR-based.

  2. Создайте определения кода в словарях AUTOSAR.

  3. В редакторе Отображений Кода сопоставьте элементы модели и категории к определениям в словаре AUTOSAR.

Когда вы задаете системный конечный файл AUTOSAR-based, модели используют отображение кода AUTOSAR.

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

Похожие темы