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