exponenta event banner

Рабочие пространства модели

Различия в рабочей области модели из рабочей области MATLAB

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

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

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

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

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

    Источником данных может быть файл модели, 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-файл, назначенный рабочей областью в качестве источника данных

См. также

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