Определите, где хранить переменные и объекты для моделей Simulink

Model data являются объектами и переменными, которые вы создаете в рабочих областях, таких как базовое рабочее пространство или словарь данных. Данные модели включают:

  • Числовые значения для параметров блоков, таких как Simulink.Parameter объекты и MATLAB® переменные

  • Сигналы, такие как Simulink.Signal объекты

  • Типы данных

  • Моделируйте наборы настроек

  • Входные и выходные данные симуляции

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

  • Ваши цели моделирования.

  • Архитектура модели (модели-ссылки, подсистемы и другие стратегии разбиения) и структура компонента.

  • Типы данных, которые вы используете.

Типы данных

  • Simulation data - это набор входных данных, которые вы используете для управления симуляцией, и набор выхода данных, которые генерирует симуляция. Например, можно использовать переменные, чтобы хранить входные данные, которые симуляция получает через блоки Inport. Симуляция может экспортировать выходные данные, например, через блоки Outport, блоки To Workspace и записанные сигналы.

    Можно хранить данные моделирования для текущего сеанса работы с MATLAB в базовом рабочем пространстве. Чтобы навсегда сохранить эти данные моделирования, сохраните их в MAT-файле или файле скрипта. Для получения дополнительной информации о загрузке, генерации и хранении данных моделирования, смотрите Сравнение Методов Загрузки Сигналов и Экспорт Данных моделирования.

  • Design data - это набор переменных, которые вы используете, чтобы задать параметры блоков и характеристики сигналов в модели. Для примера проекта данные включают числовые Переменный MATLAB, объекты данных о параметрах и сигналах, объекты типа данных и объекты шины.

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

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

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

Сохраните данные для своего проекта

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

Сценарий моделированияОписание сценарияМеста хранения и методов

Быстрое прототипирование и экспериментирование с моделью

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

Вы хотите экспериментировать с техниками моделирования. Вам не нужно постоянно хранить создаваемые данные.

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

Автономная модель

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

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

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

Автономная иерархия ссылочных моделей

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

Сохраните локальные данные модели в каждом рабочем пространстве модели.

Сохраните данные, которые модели используют, такие как объекты шины и конфигурации модели, в словаре данных. Связать все модели иерархии со словарем.

Для получения примеров смотрите Миграция иерархии Модели-ссылки на использование словаря и Использование словаря данных для управления данными для системы управления топливом.

Система компонентов

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

Сохраните локальные данные модели в рабочих пространствах модели.

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

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

Для получения примера смотрите Данные разделов для иерархии Модели-ссылки с использованием словарей данных.

Места хранения

Выберите любое из следующих местоположений для хранения данных:

  • Базовое рабочее пространство MATLAB. Используйте базовое рабочее пространство для хранения переменных во время эксперимента с временными моделями.

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

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

На графике показаны возможности и преимущества каждого склада.

СпособностьБазовое рабочее пространствоРабочее пространство моделиСловарь данных
Связь данные-модельнеявныйнеявный
Унифицированный интерфейс для определения данных
Данные модели
Сравнение ввода данных
Устойчивость ввода данных 
Возможности исправления отсутствующей переменнойДополнительные опции
Разделяемые данные 
Группировка данных  
Отслеживание изменений для вводов данных  
Отслеживание изменений для конфигураций модели  
Объединение и выверка ввода данных  
Хранение и разбиение вспомогательных данных  
Связь с требованиями  

Для получения информации о том, как модели взаимодействуют с рабочими областями и переменными рабочей области, смотрите Разрешение символа.

Временные данные: Базовое рабочее пространство

Используйте базовое рабочее пространство, чтобы временно хранить данные:

  • Пока вы учитесь использовать Simulink

  • Когда вам нужно быстро создать переменные во время экспериментов с техниками моделирования

  • Когда вам не нужно хранить данные постоянно

Чтобы создать переменные в базовом рабочем пространстве, можно использовать командную строку MATLAB или Model Explorer. Все открытые модели могут использовать данные, которые вы создаете в базовом рабочем пространстве.

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

Чтобы навсегда хранить данные базового рабочего пространства перед завершением Сеанса работы с MATLAB, можно сохранить данные в MAT-файле или файле скрипта. Во время более позднего сеанса можно загрузить данные из файла. Однако, если вы вносите изменения в данные в базовом рабочем пространстве, необходимо снова сохранить данные в файл. Рассмотрите использование вместо этого рабочего пространства модели или словаря данных для постоянного хранения данных.

Локальные данные: Рабочее пространство модели

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

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

  • Объекты данных, такие как Simulink.Signal и Simulink.Parameter объекты, которые вы используете для управления характеристиками сигнала и параметра. Однако объекты сигнала в рабочем пространстве модели могут использовать только Auto класс памяти. Если вы храните AUTOSAR.Parameter объект в рабочем пространстве модели, генератор кода игнорирует класс памяти, который вы задаете для объекта.

  • Simulink.NumericType объекты, которые используются для задания типов данных. Однако вы не можете использовать объект как псевдоним типа данных. Вы должны задать IsAlias свойство к false.

  • Моделируйте аргументы.

Можно улучшить переносимость модели и установить владение данными путем хранения данных в рабочем пространстве модели. В этом случае файл модели постоянно хранит данные.

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

Можно использовать Обозреватель моделей (Model Explorer), чтобы управлять данными рабочего пространства модели. Также можно использовать командную строку или скрипты в сочетании с программным интерфейсом рабочего пространства модели.

Дополнительные сведения об использовании рабочих пространств модели для хранения локальных данных см. в разделе Рабочие пространства модели.

Глобальные и разделяемые данные: словарь данных

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

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

Когда вы используете словари, можно разделить данные путем хранения их в дополнительных словарях-ссылках. Однако каждая статья в словаре должна использовать уникальное имя. Вы должны управлять каждым словарем как отдельным файлом.

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

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

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

  • Объекты данных, включая сигнальные объекты (такие как Simulink.Signal), которые используют класс памяти, отличный от Auto. Если у вас есть лицензия Simulink Coder™, эти объекты могут представлять сигналы и настраиваемые параметры, которые появляются как глобальные переменные в сгенерированном коде.

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

  • Simulink.ConfigSet объекты, которые вы используете для поддержания однородности параметров конфигурации в нескольких моделях.

  • Перечисленные определения типов, которые хранятся с помощью Simulink.data.dictionary.EnumTypeDefinition объекты.

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

Основные сведения о словарях данных см. в разделе «Что такое словарь данных?».

Факторы по генерации кода

Если вы намерены сгенерировать код С из модели (Simulink Coder), примите эти факторы во внимание.

  • Если вы применяете класс памяти кроме Auto к объекту сигнала (такому как Simulink.Signal), чтобы контролировать внешний вид сигнала или состояния блока в сгенерированном коде, вы не можете хранить объект в рабочем пространстве модели. Сохраните объект в базовом рабочем пространстве или словаре данных. Для получения дополнительной информации о классах памяти для сигналов и состояний смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Simulink Coder).

  • Если вы применяете класс памяти кроме Auto к объекту параметра (такому как Simulink.Parameter), можно хранить объект в базовом рабочем пространстве, рабочем пространстве модели или словаре данных. Однако, если вы храните объект в рабочем пространстве модели, генератор кода принимает, что содержащая его модель владеет параметром. Для получения дополнительной информации смотрите Влияние Генерации кода Места хранения для Объектов параметра (Simulink Coder).

Похожие темы