Моделируйте рабочие области

Моделируйте различия рабочей области из рабочего пространства MATLAB

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

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

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

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

  • Когда модель загружена, рабочая область инициализируется из источника данных.

    Источником данных может быть файл Model, MAT-файл, файл MATLAB или код MATLAB, сохраненный в файле модели. Для получения дополнительной информации см. раздел Источник данных.

  • Можно в интерактивном режиме перезагрузить и сохранить MAT-файл, файл MATLAB и источники данных кода MATLAB.

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

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

  • Когда вы храните переменный MATLAB и объекты параметров (такие как Simulink.Parameter) в рабочем пространстве модели применяются некоторые ограничения настраиваемости. Смотрите факторы и ограничения настраиваемости для других целей моделирования. В сложение, если вы храните AUTOSAR.Parameter объект в рабочем пространстве модели, генератор кода игнорирует класс памяти, который вы задаете для объекта.

Примечание

При разрешении ссылок на переменные, используемые в модели-ссылке, переменные модели-ссылки разрешаются так, как если бы родительская модель не существовала. Для примера предположим, модели-ссылки ссылка на переменную, которая задана как в рабочую область родительской модели, так и в рабочем пространстве MATLAB, но не в рабочую область ссылочной модели. В этом случае используется рабочее пространство MATLAB.

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

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

  • Большие модели с многими параметрами

  • Модели с параметрами, которые имеют большое количество элементов

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

Программно манипулируйте рабочим пространством модели

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

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

  • Присвоение значений переменным

  • Оценка выражений

  • Очистка рабочего пространства модели

  • Перезагрузка рабочего пространства модели из источника данных

  • Сохранение рабочего пространства модели в указанный MAT-файл или файл MATLAB

  • Сохранение рабочей области в MAT-файл или ФАЙЛ MATLAB, которые рабочая область определяет в качестве своего источника данных

См. также

Похожие темы