Данные модели - это объекты и переменные, создаваемые в рабочих пространствах, таких как базовое рабочее пространство или словарь данных. Данные модели включают:
Числовые значения параметров блока, например Simulink.Parameter объекты и переменные MATLAB ®
Сигналы, такие как Simulink.Signal объекты
Типы данных
Наборы конфигурации модели
Моделирование входных и выходных данных
Данные модели можно хранить, разделять и совместно использовать в расположении, соответствующем конструкции. Выбор складов может зависеть от:
Ваши цели моделирования.
Архитектура модели (ссылочные модели, подсистемы и другие стратегии секционирования) и структура компонентов.
Типы используемых данных.
Данные моделирования - это набор входных данных, используемых для управления моделированием, и набор выходных данных, генерируемых моделированием. Например, переменные можно использовать для хранения входных данных, получаемых при моделировании с помощью блоков Inport. Моделирование может экспортировать выходные данные, например, через блоки Outport, блоки To Workspace и регистрируемые сигналы.
Данные моделирования для текущей сессии MATLAB можно хранить в базовой рабочей области. Чтобы навсегда сохранить эти данные моделирования, сохраните их в MAT-файле или файле сценария. Дополнительные сведения о загрузке, генерации и хранении данных моделирования см. в разделах Сравнение методов загрузки сигналов и Экспорт данных моделирования.
Проектные данные - это набор переменных, которые используются для задания параметров блока и характеристик сигнала в модели. Например, проектные данные включают числовые переменные MATLAB, объекты данных параметров и сигналов, объекты типов данных и объекты шины.
Проектные данные можно хранить в базовом рабочем пространстве, рабочих пространствах модели или в разделе «Конструкторские данные» словаря данных. Для постоянного хранения локальных проектных данных с моделью используйте рабочие пространства модели. Для совместного использования конструкторских данных между моделями используйте словари данных или базовую рабочую область. Словари данных постоянно хранят данные, и вы можете управлять областью данных, чтобы установить владельца, разделить данные на разделы, чтобы облегчить удобочитаемость и обслуживание, а также отслеживать изменения. При использовании базовой рабочей области для постоянного хранения данных их необходимо сохранить в MAT-файле или файле сценария.
Наборы конфигурации представляют собой наборы параметров конфигурации модели. По умолчанию наборы конфигурации находятся в файле модели, поэтому не требуется сохранять наборы отдельно от модели. Однако эти наборы нельзя использовать совместно с другими моделями.
Для совместного использования наборов конфигурации между моделями необходимо создать Simulink.ConfigSet объекты. Каждый объект представляет собой автономный набор конфигурации. Эти объекты можно сохранить в основной рабочей области или в разделе Конфигурации словаря данных. При использовании словарей данных можно определить объем каждого набора конфигурации, сравнить различные наборы конфигурации и отслеживать изменения. Словарь данных по своей природе секционирует наборы конфигурации из других видов данных.
В таблице показаны методы, которые можно использовать для хранения, секционирования и управления конструкторскими данными и наборами конфигурации.
| Сценарий моделирования | Описание сценария | Склады и методы |
|---|---|---|
Быстрое создание прототипов и экспериментирование моделей | При использовании Simulink ® требуется создать временные данные, например переменные для задания числовых параметров блока. Вы хотите экспериментировать с методами моделирования. Нет необходимости постоянно сохранять создаваемые данные. | Сохраните данные в базовой рабочей области, чтобы можно было быстро создавать и изменять данные. |
Автономная модель | Имеется одна модель, которая не зависит от других систем для данных. Модель стоит особняком, потому что она не является частью более крупной системы. | Сохранение данных в рабочей области модели для улучшения переносимости модели. Словарь данных используется для хранения данных, которые невозможно сохранить в рабочей области модели. Либо сохраните все данные модели в словаре данных. При использовании словаря данные можно разделить с помощью словарей, на которые имеются ссылки. |
Автономная иерархия ссылочных моделей | Имеется иерархия ссылочных моделей, которая не зависит от других систем для данных. Иерархия выделяется отдельно, поскольку она не является частью более крупной системы. | Храните данные локальной модели в каждой рабочей области модели. Храните данные, совместно используемые моделями, например объекты шины и наборы конфигурации, в словаре данных. Свяжите все модели в иерархии со словарем. Примеры см. в разделах Перенос ссылочной иерархии модели для использования словаря и Использование словаря данных для управления данными для топливной системы управления. |
Система компонентов | Одна или несколько групп поддерживают компоненты системы моделей. Компонент - это отдельная модель или иерархия ссылочных моделей, которая представляет часть более крупной системы. | Сохранение данных локальной модели в рабочих пространствах модели. Храните данные, совместно используемые моделями в компонентах, например объекты шины и наборы конфигурации, в словаре данных. Свяжите все модели в компоненте со словарем. Используйте дополнительные словари для хранения данных, совместно используемых компонентами. Пример см. в разделе Данные раздела для иерархии ссылок на модели с использованием словарей данных. |
Выберите любое из следующих расположений для хранения данных:
Базовое рабочее пространство MATLAB. Используйте базовую рабочую область для хранения переменных во время эксперимента с временными моделями.
Рабочее пространство модели. Рабочее пространство модели используется для постоянного хранения данных, локальных для модели.
Словарь данных. Словари данных используются для постоянного хранения глобальных данных, совместного использования данных моделями и отслеживания изменений, внесенных в данные.
На диаграмме показаны возможности и преимущества каждого склада.
| Способность | Базовое рабочее пространство | Рабочее пространство модели | Словарь данных |
|---|---|---|---|
| Связь между моделями данных | неявный | неявный | ✓ |
| Унифицированный интерфейс для определения данных | ✓ | ✓ | ✓ |
| Зависимость модели от данных | ✓ | ✓ | ✓ |
| Сравнение ввода данных | ✓ | ✓ | ✓ |
| Постоянство ввода данных | ✓ | ✓ | |
| Варианты устранения отсутствующей переменной | ✓ | ✓ | Дополнительные опции |
| Общие данные | ✓ | ✓ | |
| Группировка данных | ✓ | ||
| Отслеживание изменений для записей данных | ✓ | ||
| Отслеживание изменений для наборов конфигурации | ✓ | ||
| Объединение и выверка ввода данных | ✓ | ||
| Хранение и разделение вспомогательных данных | ✓ | ||
| Увязка требований | ✓ |
Сведения о том, как модели взаимодействуют с рабочими пространствами и переменными рабочей области, см. в разделе Разрешение символов.
Используйте базовую рабочую область для временного хранения данных:
Пока вы учитесь использовать Simulink
Когда необходимо быстро создавать переменные во время экспериментов с методами моделирования
При отсутствии необходимости постоянного хранения данных
Для создания переменных в базовом рабочем пространстве можно использовать командную строку MATLAB или Обозреватель моделей. Все открытые модели могут использовать данные, созданные в базовом рабочем пространстве.
При использовании переменных для задания числовых параметров блока в модели можно программно изменять значения параметров во время моделирования с помощью команд в командной строке. Для программного изменения значений параметров, хранящихся в рабочей области модели или словарях данных, необходимо использовать функциональные интерфейсы для этих хранилищ.
Для постоянного хранения базовых данных рабочей области перед окончанием сессии MATLAB можно сохранить данные в MAT-файле или файле сценария. Во время более поздней сессии можно загрузить данные из файла. Однако при внесении изменений в данные в базовой рабочей области необходимо снова сохранить данные в файле. Вместо этого следует использовать рабочее пространство модели или словарь данных для постоянного хранения данных.
Рабочее пространство модели используется для хранения данных, используемых только в связанной модели. Эти данные могут включать:
Постоянные параметры, например числовые переменные, используемые для задания значений параметров блока.
Объекты данных, такие как Simulink.Signal и Simulink.Parameter объекты, которые используются для управления характеристиками сигналов и параметров. Однако сигнальные объекты в рабочем пространстве модели могут использовать только Auto класс хранения. Если вы храните AUTOSAR.Parameter в рабочей области модели генератор кода игнорирует класс хранения, указанный для объекта.
Simulink.NumericType объекты, используемые для указания типов данных. Однако нельзя использовать объект в качестве псевдонима типа данных. Необходимо установить IsAlias свойство для false.
Аргументы модели.
Можно улучшить переносимость модели и установить владение данными, сохранив данные в рабочей области модели. В этом случае файл модели постоянно сохраняет данные.
В иерархии ссылок на модель каждая рабочая область модели действует как уникальное пространство имен. Поэтому можно использовать одно и то же имя переменной в нескольких рабочих пространствах модели. Затем для каждой модели можно назначить уникальное значение переменной.
Для управления данными рабочего пространства модели можно использовать обозреватель моделей. Также можно использовать командную строку или сценарии совместно с программным интерфейсом рабочего пространства модели.
Дополнительные сведения об использовании рабочих областей модели для хранения локальных данных см. в разделе Рабочие области модели.
Словарь данных - это автономный файл, в котором постоянно хранятся данные. Используйте словари данных вместо основной рабочей области для секционирования данных, отслеживания изменений, управления доступом и совместного использования данных. При связывании модели со словарем данных можно по-прежнему использовать переменные в базовой рабочей области путем настройки доступа либо из модели, либо из словаря.
Как и в случае рабочих областей модели, словари данных можно использовать для непосредственного связывания данных с моделью. Эту связь можно использовать для определения объема данных и определения владельца.
При использовании словарей можно разделить данные, сохранив их в дополнительных словарях. Однако каждая статья в словаре должна иметь уникальное имя. Каждый словарь должен управляться как отдельный файл.
Словарь данных используется для хранения данных, совместно используемых несколькими моделями или системными компонентами. Эти данные могут включать:
Числовые переменные, используемые несколькими моделями для задания значений параметров блока.
Simulink.AliasType и Simulink.NumericType объекты, используемые для указания типов данных в нескольких моделях одновременно.
Объекты данных, включая сигнальные объекты (например, Simulink.Signal), которые используют класс хранения, отличный от Auto. При наличии лицензии Simulink Coder™ эти объекты могут представлять сигналы и настраиваемые параметры, которые отображаются как глобальные переменные в сгенерированном коде.
Simulink.Bus объекты, используемые для определения сигнальных интерфейсов между ссылочными моделями.
Simulink.ConfigSet объекты, используемые для поддержания однородности параметров конфигурации в нескольких моделях.
Определения перечисляемых типов, которые сохраняются с помощью Simulink.data.dictionary.EnumTypeDefinition объекты.
Для управления данными словаря можно использовать Обозреватель моделей. Кроме того, можно использовать командную строку или сценарии в сочетании с программным интерфейсом словаря данных.
Основные сведения о словарях данных см. в разделе Что такое словарь данных?.
Если предполагается создать код C из модели (Simulink Coder), учтите эти соображения.
Если применяется класс хранения, отличный от Auto к сигнальному объекту (например, Simulink.Signal) для управления отображением сигнала или состояния блока в сгенерированном коде невозможно сохранить объект в рабочей области модели. Сохраните объект в основной рабочей области или словаре данных. Дополнительные сведения о классах хранения для сигналов и состояний см. в разделе Конфигурация генерации кода C для элементов интерфейса модели (Simulink Coder).
Если применяется класс хранения, отличный от Auto к объекту параметра (например, Simulink.Parameter) можно сохранить объект в базовой рабочей области, рабочей области модели или словаре данных. Однако при сохранении объекта в рабочей области модели генератор кода предполагает, что параметр принадлежит содержащей его модели. Дополнительные сведения см. в разделе Влияние создания кода на склад для объектов параметров (Simulink Coder).