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