Можно определить, что модель имеет несохраненные изменения, посмотрев на строку заголовка в редакторе Simulink ® Editor. Звездочка (также известная как грязный флаг) появляется в строке заголовка, когда модель имеет несохраненные изменения..
![]()
Чтобы программно определить, имеются ли в модели несохраненные изменения, можно запросить значение параметра модели. 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.
Чтобы сохранить содержимое ссылочной модели в новом имени, расположении или формате, откройте ссылочную модель в качестве модели верхнего уровня. Затем на вкладке Моделирование выберите Сохранить > Сохранить как.
Чтобы сохранить верхнюю модель в формате, совместимом с более ранней версией Simulink, на вкладке «Моделирование» выберите «Сохранить» > «Предыдущая версия». См. раздел Экспорт модели в предыдущую версию Simulink.
Имена файлов модели должны начинаться с буквы и могут содержать буквы, цифры и знаки подчеркивания. Имя файла не должно быть:
Ключевое слово языка (например, if, for, end)
Зарезервированное имя: 'simulink', 'sl', 'sf'
Программная команда MATLAB ®
Общее количество символов в имени модели не должно превышать определенного максимума, обычно 63 символа. Чтобы найти максимальную длину имени файла для системы, используйте MATLAB namelengthmax команда.
Сведения о том, как MATLAB определяет, какую функцию следует вызывать при указании имени модели, см. в разделе Порядок приоритетности функций.
При сохранении модели Simulink сохраняет блок-схему, свойства блока и другую информацию, связанную с моделью, в файле модели.
При наличии каких-либо обратных вызовов перед или после сохранения они выполняются в следующем порядке:
Все блоки PreSaveFcn выполнение процедур обратного вызова, затем модель PreSaveFcn выполняется подпрограмма обратного вызова.
Simulink записывает файл модели.
Все блоки PostSaveFcn выполнение процедур обратного вызова, затем модель PostSaveFcn выполняется.
Во время процесса сохранения Simulink сохраняет временную резервную копию (с именем ), который он использует для восстановления модели в случае ошибки. Если во время сохранения или обратного вызова в процессе сохранения возникает ошибка, Simulink:modelname.bak
Восстановление исходного файла
Запись содержимого, сохраненного до возникновения ошибки, в файл с именем modelname.err
Выдает сообщение об ошибке
При сохранении модели, загруженной из файла SLX, должен присутствовать исходный файл SLX. Simulink выполняет инкрементную загрузку и сохранение SLX-файлов, поэтому, если исходный файл отсутствует во время сохранения, Simulink предупреждает, что не может полностью восстановить файл.
Simulink сохраняет новые модели и библиотеки в формате SLX по умолчанию с расширением файла .slx. Формат SLX представляет собой сжатый пакет, соответствующий стандарту совместимости Open Packaging Conventions (OPC). Формат SLX хранит информацию о модели с помощью Unicode ® UTF-8 в формате XML и других международных форматах. Сохранение моделей Simulink в формате SLX:
Обычно размер файла уменьшается по сравнению с файлами MDL. Уменьшение размера файла между MDL и SLX зависит от модели.
Решает некоторые проблемы предыдущих выпусков с загрузкой и сохранением MDL-файлов, содержащих корейские и китайские символы.
Включает инкрементную загрузку и сохранение. Simulink оптимизирует производительность и использование памяти, загружая только необходимые части модели и сохраняя только измененные части модели.
Можно указать формат файла для сохранения новых моделей и библиотек с помощью настройки Simulink Формат файла для новых моделей и библиотек.
При обновлении файла MDL до формата SLX файл содержит ту же информацию, что и файл MDL. Функции, работающие с файлами MDL, например get_param и set_param, также работает с форматом файла SLX. При обновлении файла MDL до формата SLX без изменения имени или расположения модели Simulink создает файл резервной копии путем переименования файла MDL (если файл доступен для записи).
Если сохранить существующий файл MDL, щелкнув Сохранить (Save) на вкладке Моделирование (Simulation), Simulink сохранит модель в формате MDL.
Чтобы сохранить существующий файл MDL в формате SLX, выполните следующие действия.
На вкладке Моделирование выберите Сохранить > Сохранить как.
Оставьте тип по умолчанию Сохранить как SLX и нажмите кнопку Сохранить.
Simulink сохраняет модель в формате SLX и создает файл резервной копии путем переименования файла MDL (если файл доступен для записи) в mymodel.mdl., например, releasenamemymodel.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. | Заставьте свой код работать с обоими Использовать такие функции, как |
| Сторонние средства управления версиями, использующие текстовый формат по умолчанию | Двоичный формат SLX-файлов может привести к повреждению файлов сторонними средствами при их отправке. | Зарегистрируйте .slx и .mdl расширения в двоичных форматах с помощью сторонних средств управления версиями. См. раздел Регистрация файлов модели с помощью средств управления версиями. |
| Изменение кодировки символов | Некоторые случаи улучшаются, например, SLX решает некоторые проблемы в предыдущих версиях с загрузкой и сохранением файлов MDL, содержащих корейские и китайские символы. Однако совместное использование моделей между различными языками остается проблематичным. | См. раздел Файлы SLX и кодировки символов. |
Формат содержимого файлов MDL и SLX может быть изменен. Для работы с данными модели используйте документированные функции (например, get_param, find_system, и Simulink.MDLInfo).
При сохранении модели в виде файла MDL текущая кодировка символов Simulink кодирует текст, хранящийся в файле модели. Такое поведение может привести к повреждению данных, если модель содержит символы, которые не могут быть представлены в текущей кодировке. Если это так, модель сохраняется как model.mdl.err, где model является именем модели, оставляя исходный файл модели без изменений. Simulink также отображает сообщение об ошибке, указывающее номер строки и столбца первого символа, который не может быть представлен.
Чтобы устранить эту проблему, выполните одно из следующих действий:
Сохраните модель в формате SLX (см. раздел Сохранение моделей в формате файла SLX).
Изменить текущую кодировку Simulink на UTF-8 с помощью slCharacterEncoding и повторно сохраните модель в виде файла MDL.
Сохранение моделей Simulink в формате SLX обычно уменьшает размер файла и устраняет проблемы кодирования символов, поскольку модели сохраняются с помощью UTF-8 кодировка.
Возможно, потребуется преобразовать файл MDL в файл SLX, если:
Загрузка и сохранение моделей с корейскими или китайскими символами.
Может быть полезен сжатый файл модели.
Модель, созданную с помощью последней версии программного обеспечения Simulink, можно экспортировать в формате, используемом более ранней версией. Например, можно поделиться моделью с коллегами, имеющими доступ только к предыдущей версии Simulink.
Чтобы экспортировать модель в более раннем формате, выполните следующие действия.
В редакторе Simulink на вкладке Simulation нажмите кнопку Save. Копия сохраняется в последней версии Simulink. Этот шаг позволяет избежать проблем совместимости.
В редакторе Simulink на вкладке «Моделирование» выберите «Сохранить» > «Предыдущая версия».
В диалоговом окне Экспорт в предыдущую версию (Export to Previous Version) в списке Тип сохранения (Save as type) выберите предыдущую версию для экспорта модели. Список поддерживает семь лет предыдущих выпусков.
Нажмите кнопку Сохранить.
При экспорте модели в формат предыдущей версии модель сохраняется в более раннем формате независимо от того, содержит ли модель блоки и элементы, которые были введены после этой версии. Если модель содержит блоки или использует элементы, датирующие более раннюю версию, при запуске в более ранней версии программного обеспечения Simulink модель может не дать правильных результатов. Кроме того, Simulink преобразует блоки, имеющие более раннюю версию, в желтые, пустые маскированные блоки подсистемы. Например, при использовании save_system чтобы экспортировать модель в Release R2007b, и модель содержит полиномиальные блоки, Simulink преобразует полиномиальные блоки в желтые, пустые маскированные блоки подсистемы. Simulink также удаляет все неподдерживаемые функциональные возможности из модели. Посмотрите save_system.
Можно открыть модель, созданную в более ранней версии Simulink, и экспортировать ее в другую более раннюю версию. Чтобы предотвратить проблемы совместимости, выполните следующие действия.
Используйте текущую версию Simulink, чтобы открыть модель, созданную с более ранней версией.
Прежде чем вносить какие-либо изменения, сохраните модель в текущей версии, щелкнув Сохранить (Save) на вкладке Моделирование (Simulation).
После сохранения модели в текущей версии ее можно изменить и сохранить по мере необходимости.
Сохраните модель в более ранней версии Simulink. На вкладке Моделирование выберите Сохранить > Предыдущая версия.
Запустите более раннюю версию Simulink и используйте ее для открытия модели, экспортированной в более раннюю версию.
Сохраните модель в более ранней версии.
Теперь модель можно использовать в более ранней версии Simulink точно так же, как если бы она была создана в этой версии.
Эти настройки Simulink могут помочь в работе с моделями более ранних версий: