Сохраните модель

Можно сказать, что модель имеет несохраненные изменения, посмотрев на строку заголовка в Simulink® Редактор. Звездочка (также известная как грязный флаг) появляется в строке заголовка, когда модель имеет несохраненные изменения..

Чтобы программно определить, имеет ли модель несохраненные изменения, можно запросить значение параметра модели Dirty с get_param функция. Для примера эта команда сохраняет текущую систему (gcs) если грязно:

if strcmp(get_param(gcs,'Dirty'),'on')
	save_system;
end

Сохраните модель

Чтобы сохранить модель впервые, в редакторе Simulink, на вкладке Simulation, нажмите Save. Укажите местоположение и имя файла модели. Чтобы увидеть требования к именованию, смотрите Имена моделей.

Чтобы сохранить ранее сохраненную модель, выполните один из следующих процессов:

  • Чтобы сохранить модель с текущим именем файла, в редакторе Simulink, на вкладке Simulation, нажмите Save.

  • Чтобы сохранить содержимое верхней модели в новое имя или местоположение или изменить формат модели, в редакторе Simulink на вкладке Simulation выберите Save > Save As.

    Примечание

    Для получения дополнительной информации о формате SLX смотрите Обновление моделей до SLX.

  • Чтобы сохранить содержимое модели-ссылки в новое имя, местоположение или формат, откройте модель-ссылку как верхняя часть. Затем на вкладке Simulation выберите Save > Save As.

  • Чтобы сохранить верхнюю часть в формате, совместимом с более ранней версией Simulink, на вкладке Simulation выберите Save > Previous Version. См. «Экспорт модели в предыдущую версию Simulink».

Имена моделей

Имена файлов модели должны начинаться с буквы и могут содержать буквы, цифры и символ нижнего подчеркивания. Имя файла не должно быть следующим:

  • Ключевое слово языка (например if, for, end)

  • Зарезервированное имя: 'simulink', 'sl', 'sf'

  • MATLAB® программная команда

Общее количество символов в имени модели не должно быть больше определенного максимума, обычно 63 символов. Чтобы найти максимальную длину имени файла для вашей системы, используйте MATLAB namelengthmax команда.

Чтобы понять, как MATLAB определяет, какую функцию вызывать, когда вы задаете имя модели, смотрите Порядок приоритета функций.

Как Simulink сохраняет модели

Когда вы сохраняете модель, Simulink сохраняет блок-схему, свойства блоков и другую информацию, связанную с моделью, в файле модели.

Если у вас есть какие-либо предварительно сохраненные или постсохраненные коллбэки, они выполняются в этом порядке:

  1. Все блочные PreSaveFcn выполняются стандартные программы коллбэка, затем модель PreSaveFcn выполняется стандартная программа коллбэка.

  2. Simulink запишет файл модели.

  3. Все блочные PostSaveFcn выполняются стандартные программы коллбэка, затем модель PostSaveFcn выполняет.

В процессе сохранения Simulink поддерживает временную резервную копию (с именем modelname.bak), который он использует, чтобы восстановить модель в случае ошибки. Если ошибка возникает во время сохранения или во время любого коллбэка в процессе сохранения, Simulink:

  • Восстанавливает исходный файл

  • Запись содержимого, сохраненного до ошибки, в файл с именем modelname.err

  • Выдает сообщение об ошибке

При сохранении модели, загруженной из файла SLX, исходный файл SLX должен все еще присутствовать. Simulink выполняет инкрементальную загрузку и сохранение файлов SLX, поэтому, если исходный файл отсутствует во время сохранения, Simulink предупреждает, что не может полностью восстановить файл.

Сохранение моделей в формате файла SLX

Сохраните новые модели как SLX

Simulink сохраняет новые модели и библиотеки в формате SLX по умолчанию с расширением файла .slx. Формат SLX является сжатым пакетом, который соответствует стандарту взаимодействия Open Packaging Conventions (OPC). Формат SLX хранит информацию о модели с помощью Unicode® UTF-8 в XML и других международных форматах. Сохранение моделей Simulink в формате SLX:

  • Обычно уменьшает размер файла по сравнению с файлами MDL. Уменьшение размера файла между MDL и SLX варьируется в зависимости от модели.

  • Решает некоторые проблемы в предыдущих релизах с загрузкой и сохранением MDL- файлы, содержащих корейские и китайские символы.

  • Включает инкрементальную загрузку и сохранение. Simulink оптимизирует эффективность и использование памяти путем загрузки только необходимых частей модели и сохранения только измененных частей модели.

Формат файла для сохранения новых моделей и библиотек можно задать с помощью формата выбор File для новых моделей и библиотек.

Обновление моделей до SLX

При обновлении файла MDL до формата файла SLX файл содержит ту же информацию, что и файл MDL. Функции, которые работают с файлами MDL, такими как get_param и set_param, также работайте с форматом файла SLX. Если вы обновляете файл MDL до формата файла SLX, не меняя имя модели или местоположение, то Simulink создает файл резервной копии, переименовывая файл MDL (если файл доступен для записи).

Если вы сохраняете существующий файл MDL, нажав Save на вкладке Simulation, Simulink сохраняет вашу модель в формате MDL.

Чтобы сохранить существующий файл MDL в формате файла SLX:

  1. На вкладке Simulation выберите Save > Save As.

  2. Оставьте Save as type по умолчанию в SLX и нажмите Save.

    Simulink сохраняет модель в формате SLX и создает резервный файл путем переименования файла MDL (если файл доступен для записи) в mymodel.mdl. releasename, например, mymodel.mdl.R2010b.

В качестве альтернативы используйте save_system:

save_system mymodel mymodel.slx
Эта команда создает mymodel.slx, и если существующий файл mymodel.mdl доступно для записи, переименовано в mymodel.mdl. releasename.

Файлы SLX имеют приоритет над файлами MDL, поэтому, если оба существуют с таким же именем и вы не задаете расширение файла, вы загружаете файл SLX.

Проекты Simulink могут помочь вам перенести файлы в формат SLX. Для получения примера смотрите Преобразование из MDL в SLX в проекте и Сохранение истории ревизий.

Внимание

Если вы используете сторонние инструменты системы контроля версий, зарегистрируйте расширение файла модели .slx как двоичный формат файла. Если этого не сделать, эти сторонние программы могут повредить файлы SLX при их отправке.

В следующей таблице описаны операции с возможными вопросами совместимости при использовании файлов SLX.

Операции с возможными вопросами совместимости при использовании SLXЧто происходит Действие
Жестко закодированные ссылки на имена файлов с расширением .mdlСкрипты не могут найти или обработать модели, сохраненные с новым расширением файла, .slx.

Заставьте ваш код работать с обоими .mdl и .slx расширение.

Используйте такие функции, как which и what вместо имен файлов.

Сторонние инструменты системы контроля версий, которые по умолчанию принимают текстовый форматДвоичный формат файлов SLX может привести к повреждению файлов сторонними программами при их отправке.Зарегистрируйте .slx и .mdl расширения как двоичные форматы файлов с помощью сторонних инструментов системы контроля версий. Смотрите Register Model Files with Система Контроля Версий Tools.
Изменение кодировки символовНекоторые случаи улучшены, например, SLX решает некоторые проблемы в предыдущих релизах с загрузкой и сохранением MDL файлов, содержащих корейские и китайские символы. Однако совместное использование моделями между различными локалями остается проблематичным.См. файлы SLX и кодировки символов.

Формат содержимого в файлах MDL и SLX может быть изменен. Чтобы работать с данными моделями, используйте документированные функции (такие как get_param, find_system, и Simulink.MDLInfo).

Сохраните модели, которые имеют различные кодировки символов

Файлы MDL и кодировки символов

Когда вы сохраняете модель как файл MDL, текущая кодировка символов Simulink кодирует текст, хранящийся в файле модели. Это поведение может привести к повреждению данных, если модель содержит символы, которые не представимы в текущей кодировке. Если это так, модель сохраняется как model.mdl.err, где model - имя модели, оставив исходный файл модели без изменений. Simulink также отображает сообщение об ошибке, которое задает номер линии и столбца первого символа, который не может быть представлен.

Чтобы устранить эту проблему, либо:

Файлы SLX и символьные кодировки

Сохранение моделей Simulink в формате SLX обычно уменьшает размер файла и устраняет проблемы кодирования символов, потому что модели сохраняются с помощью UTF-8 кодировка.

Можно хотеть преобразовать файл MDL в файл SLX, если вы:

  • Загрузите и сохраните модели, которые имеют корейские или китайские символы.

  • Может быть полезным от сжатого файла модели.

Экспорт модели в предыдущую версию Simulink

Можно экспортировать модель, созданную с помощью последней версии программного обеспечения Simulink в формате, используемом более ранней версией. Например, можно поделиться моделью с коллегами, которые имеют доступ только к предыдущей версии Simulink.

Чтобы экспортировать модель в более раннем формате:

  1. В редакторе Simulink, на вкладке Simulation, нажмите Save. Это сохраняет копию в последней версии Simulink. Этот шаг избегает проблем совместимости.

  2. В редакторе Simulink Editor на вкладке Simulation выберите Save > Previous Version.

  3. В диалоговом окне Экспорт в предыдущую версию из списка Save as type выберите предыдущую версию, в которую нужно экспортировать модель. Список поддерживает семь лет предыдущих релизов.

  4. Нажмите Save.

При экспорте модели в формат предыдущей версии модель сохраняется в более раннем формате независимо от того, содержит ли модель блоки и функции, которые были введены после этой версии. Если модель содержит блоки или использует функции, которые постдатируют до более ранней версии, модель может не дать правильных результатов, когда вы запускаете ее в более ранней версии программного обеспечения Simulink. В сложение Simulink преобразует блоки, которые постдатируют более раннюю версию, в желтые, пустые, маскированные блоки Subsystem. Для примера, если вы используете save_system чтобы экспортировать модель в Release R2007b, и модель содержит блоки Polynomial, Simulink преобразует блоки Polynomial в желтые, пустые, маскированные Subsystem блоки. Simulink также удаляет из модели любую неподдерживаемую функциональность. Посмотрите save_system.

Сохраните из более ранней версии Simulink в другую более раннюю версию

Можно открыть модель, созданную в более ранней версии Simulink, и экспортировать эту модель в другую более раннюю версию. Чтобы предотвратить проблемы совместимости, используйте следующую процедуру:

  1. Используйте текущую версию Simulink, чтобы открыть модель, созданную в более ранней версии.

  2. Прежде чем вносить какие-либо изменения, сохраните модель в текущей версии, нажав Save на вкладке Simulation.

    После сохранения модели в текущей версии можно изменять и сбрасывать ее по мере необходимости.

  3. Сохраните модель в более ранней версии Simulink. На вкладке Simulation выберите Save > Previous Version.

  4. Запустите более раннюю версию Simulink и используйте ее, чтобы открыть модель, которую вы экспортировали в эту более раннюю версию.

  5. Сохраните модель в более ранней версии.

Теперь можно использовать модель в более ранней версии Simulink именно так, как можно было бы, если бы она была создана в этой версии.

Эти настройки Simulink могут помочь вам работать с моделями из более ранних версий:

См. также

Похожие темы