Можно сказать, что модель имеет несохраненные изменения путем рассмотрения строки заголовка в Редакторе 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
для
конец
)
Зарезервированное имя: '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 и других международных форматах. Модели Saving 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:
На вкладке Simulation выберите Save> Save As.
Оставьте 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 . | Заставьте свой код работать с обоими Используйте функции как |
Инструменты управления из независимого источника, которые принимают текстовый формат по умолчанию | Двоичный формат файлов SLX может заставить сторонние программы повреждать файлы, когда вы представляете их. | Укажите .slx и .mdl расширения как форматы двоичного файла с независимым источником управляют инструментами. Смотрите Регистрируют Файлы Модели с Инструментами Системы контроля версий. |
Изменение кодировки символов | Некоторые случаи улучшены, e.g., 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.
Модели Saving Simulink в формате SLX обычно уменьшают размер файла и устраняют проблемы кодировки символов, потому что модели являются сохраненным использованием UTF-8
кодирование.
Вы можете хотеть преобразовать свой файл MDL в файл SLX если вы:
Загрузите и сохраните модели, которые имеют корейские или китайские символы.
Может извлечь выгоду из сжатого файла модели.
Можно экспортировать модель, созданную с последней версией программного обеспечения Simulink в формате, используемом более ранней версией. Например, можно совместно использовать модель с коллегами, у которых только есть доступ к предыдущей версии Simulink.
Экспортировать модель в более раннем формате:
В Редакторе Simulink, на вкладке Simulation, нажимают Save. Это сохраняет копию в последней версии Simulink. Этот шаг избегает проблем совместимости.
В Редакторе Simulink, на вкладке Simulation, выбирают Save> Previous Version.
В диалоговом окне Export to Previous Version, из списка Save as type, выбирают предыдущую версию, в которую можно экспортировать модель. Список поддерживает семь лет предыдущих релизов.
Нажмите Save.
Когда вы экспортируете модель в формат предыдущей версии, модель сохранена в более раннем формате, независимо от того, содержит ли модель блоки и функции, которые были введены после той версии. Если модель содержит блоки или использует функции, которые датируют более раннюю версию более поздним числом, сила модели не дают правильные результаты, когда вы запускаете его в более ранней версии программного обеспечения Simulink. Кроме того, Simulink преобразует блоки, которые датируют более раннюю версию более поздним числом в желтые, пустые, блоки Subsystem маскированные. Например, если вы используете save_system
экспортировать модель в Релиз R2007b и модель содержит блоки Polynomial, Simulink преобразует блоки Polynomial в желтые, пустые, блоки Subsystem маскированные. Simulink также удаляет любую неподдерживаемую функциональность из модели. Смотрите save_system
.
Можно открыть модель, созданную в более ранней версии Simulink и экспорта что модель к различной более ранней версии. Чтобы предотвратить проблемы совместимости, используйте следующую процедуру:
Используйте текущую версию Simulink, чтобы открыть модель, созданную с более ранней версией.
Прежде чем вы внесете любые изменения, сохраните модель в текущей версии путем нажатия на Save на вкладке Simulation.
После сохранения модели в текущей версии можно изменить и повторно сохранить его по мере необходимости.
Сохраните модель в более ранней версии Simulink. На вкладке Simulation выберите Save> Previous Version.
Запустите более раннюю версию Simulink и используйте ее, чтобы открыть модель, которую вы экспортировали в ту более раннюю версию.
Сохраните модель в более ранней версии.
Можно теперь использовать модель в более ранней версии Simulink, как вы могли, если это было создано в той версии.
Эти настройки Simulink могут помочь вам работать с моделями от более ранних версий: