exponenta event banner

close_system

Закрыть окно системы Simulink или диалоговое окно блока

Описание

close_system закрывает текущую систему или подсистему. Если текущая система является моделью верхнего уровня и была изменена, close_system возвращает ошибку.

Используйте gcs для определения текущей системы.

Примечание

Вы не можете использовать close_system в обратном вызове блока или меню для закрытия модели корневого уровня. Попытка закрыть модель корневого уровня в блоке или меню вызывает ошибку и прекращает выполнение обратного вызова.

пример

close_system(blockOrSys) закрывает указанную модель или подсистему или диалоговое окно блока указанного блока. Если модель была только загружена, то есть с load_system, этот синтаксис очищает модель от памяти.

close_system(sys,saveflag) позволяет указать, следует ли сохранять модель с ее текущим именем или закрывать ее без сохранения.

пример

close_system(sys,newsys) сохраняет модель в файл с указанным именем перед закрытием.

пример

close_system(sys,___,Name,Value) задает дополнительные параметры с использованием одного или нескольких Name,Value аргументы пары.

Примеры

свернуть все

Открытие модели vdp а затем закрыть его.

vdp
close_system

Открытие модели vdp.

vdp

В модели дважды щелкните блок Mu, чтобы открыть диалоговое окно блока.

Закрыть диалоговое окно блока

close_system('vdp/Mu');

Откройте модель, измените ее, сохраните модель с новым именем и закройте ее.

Открытие модели vdp и добавьте к нему блок.

vdp
block = add_block('vdp/Mu','vdp/Mu','MakeNameUnique','on');

Закройте модель, сохранив ее под новым именем.

close_system('vdp','myvdp');

Эта команда пытается сохранить vdp система в файл с именем 'max', но возвращает ошибку, поскольку 'max' - имя существующей функции MATLAB ®.

close_system('vdp','max','ErrorIfShadowed',true)

Откройте иерархию моделей, загрузите ссылочную модель, а затем закройте верхнюю модель, оставив ссылочную модель загруженной.

Откройте окно sldemo_mdlref_basic модель и загрузить ее ссылочную модель, sldemo_mdlref_counter.

open_system('sldemo_mdlref_basic')
load_system('sldemo_mdlref_counter')

Проверьте, какие модели загружены в память.

loadedModels = Simulink.allBlockDiagrams('model');
modelNames = get_param(loadedModels,'Name')
modelNames =

  2×1 cell array

    {'sldemo_mdlref_counter'}
    {'sldemo_mdlref_basic'  }

Закрыть sldemo_mdlref_basic при сохранении загруженной ссылочной модели.

close_system('sldemo_mdlref_basic',0,'closeReferencedModels',false)

Проверьте, какие модели загружены в память.

loadedModels = Simulink.allBlockDiagrams('model');
modelNames = get_param(loadedModels,'Name')
modelNames =

    'sldemo_mdlref_counter'

При закрытии верхней модели она удаляется из памяти. По умолчанию, поскольку они совместно используют окно, используя close_system на верхней модели также закрывает ссылочную модель и очищает ее из памяти. Настройка 'closeReferencedModels' кому false сохраняет ссылочную модель, sldemo_mdlref_counter, заряжен.

Входные аргументы

свернуть все

Имя модели, подсистемы или блока, диалоговое окно которого необходимо закрыть, указанное как символьный вектор, массив ячеек символьных векторов, строковый массив, дескриптор или массив дескрипторов. Не используйте расширение файла.

Пример: "vdp/Mu" 'vdp'

Имя закрываемой модели, указанное как символьный вектор, массив ячеек символьных векторов, строковый массив, дескриптор или массив дескрипторов. Не используйте расширение файла.

Опция для сохранения модели с использованием текущего имени файла, указанного как 0 для закрытия без сохранения или 1 чтобы сохранить, а затем закрыть. Если sys является массивом, можно указать один символ для применения ко всем моделям в массиве. Или можно предоставить числовой массив со значениями, которые соответствуют каждой модели в sys массив.

Сведения о правилах именования моделей см. в разделе Имена моделей.

Файл для сохранения, указанный как символьный вектор, массив ячеек символьных векторов или строковый массив. Можно указать имя модели в текущей папке или полный путь с расширением или без него.

При указании имени без расширения close_system сохраняет в формате, указанном в настройках Simulink ®. Возможные расширения модели: .slx и .mdl.

Сведения о правилах именования моделей см. в разделе Имена моделей.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: close_system('mymodel','newmodel','closeReferencedModels',false,'ErrorIfShadowed',true,'OverwriteIfChangedOnDisk',true,'SaveModelWorkspace',true)

Опция для закрытия всех ссылочных моделей при закрытии окна для верхней модели, указанной как разделенная запятыми пара, состоящая из 'closeReferencedModels' и true, false, 'on', или 'off'. Эта настройка не влияет на ссылочные модели, открытые в другом окне. Чтобы сохранить загруженные ссылочные модели, задайте для этого аргумента значение false.

Параметр для возврата ошибки, если новое имя уже используется по пути MATLAB или в рабочей области, указанной как разделенная запятыми пара, состоящая из 'ErrorIfShadowed' и true, false, 'on', или 'off'. Для получения этой ошибки необходимо использовать newsys для сохранения модели с новым именем. Сведения о теневых файлах см. в разделе Теневые файлы.

Опция перезаписи файла на диске при сохранении модели, даже если он был изменен с момента загрузки системы, заданная как разделенная запятыми пара, состоящая из 'OverwriteIfChangedOnDisk' и true, false, 'on', или 'off'. По умолчанию, если файл изменился на диске с момента загрузки модели, close_system отображает ошибку, препятствующую перезаписи изменений на диске.

Можно управлять отображением ошибки при сохранении модели, если файл был изменен на диске, с помощью настройки Simulink. На панели Файл модели (Model File) диалогового окна Настройки симулятора (Simulink Preferences) в разделе Уведомление об изменении (Change Notification) выберите Сохранить модель (Save the model). Эта настройка включена по умолчанию.

Опция для сохранения рабочего пространства модели при сохранении модели, заданной как разделенная запятыми пара, состоящая из 'SaveModelWorkspace' и true, false, 'on', или 'off'. Рабочее пространство модели DataSource должен быть MAT-файлом. Если источник данных не является MAT-файлом, при сохранении модели рабочая область не сохраняется. См. раздел Указание источника данных в рабочей области модели.

Вопросы совместимости

развернуть все

В R2019b изменилось поведение

Представлен до R2006a