exponenta event banner

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

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

  • Настройки параметров конфигурации

  • Определения интерфейса кода, такие как классы хранения

  • Сопоставления кодов, определяющие определения кодов для категорий данных и функций модели

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

Общий доступ к настройкам генерации кода для нескольких моделей

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

Параметры конфигурации модели

Параметры конфигурации управляют параметрами всей модели, включая параметры генерации кода, такие как системный целевой файл, целевой язык и пользовательские файлы кода. Параметры конфигурации модели сохраняются в наборе конфигурации. Параметры создания кода на панели Создание кода (Code Generation) и ссылки на страницы подокен создания кода см. в разделе Параметры конфигурации модели: Создание кода (Model Configuration Parameters: Code Generation). Для некоторых систем, включающих несколько моделей, требуется, чтобы многие настройки параметров конфигурации были согласованы между моделями. Например, при создании кода для ссылочной иерархии модели модели в иерархии должны иметь одинаковые настройки для многих параметров генерации кода. В этом типе системы совместно используйте один набор конфигурации с моделями.

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

Определения интерфейса кода

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

  • Классы хранения

  • Разделы памяти

  • Шаблоны настройки функций

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

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

Сопоставления кодов

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

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

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

Модели шаблонов

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

При создании модели путем создания экземпляра шаблона новая модель не связывается со словарем данных. Если предварительно настроенные параметры в шаблонной модели зависят от общих данных, хранящихся в словаре данных, необходимо настроить связь и ссылки на словарь для каждой новой модели.

Шаблонные проекты

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

Программные конфигурации

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

Выберите способ выполнения кода с учетом необходимости настройки моделей. Этот код можно выполнить в:

  • Сценарий. Настроить модели можно в любое время, запустив сценарий вручную.

  • Обратный вызов модели. Обратный вызов использует код для настройки модели при каждом вызове обратного вызова. Например, можно использовать PreLoadFcn обратный вызов, который выполняется при каждом открытии модели. См. раздел Обратные вызовы модели.

  • Ярлык проекта. Ярлык может создавать модель и копировать настройки в модель. См. раздел Что можно сделать с помощью быстрых ссылок на проекты?.

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

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