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

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

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

Похожие темы