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