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

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

Смотрите также

Похожие темы