Model Names

Model file names must start with a letter and can contain letters, numbers,
and underscores. The file name must not be:

A language keyword (e.g., if, for,
end)

A reserved name: 'simulink', 'sl',
'sf'

A MATLAB® software command

The total number of characters in the model name must not be greater than a certain
maximum, usually 63 characters. To find out whether the maximum for your system is greater
than 63 characters, use the MATLAB
namelengthmax command.

Note

Copying and pasting blocks whose names follow numeric order (Gain1, Gain2, and so
on) creates names that follow standard sorting order conventions for ASCII characters.
This sorting order can result in a sequence of numbers on the block names that is hard
to understand. If the numbering scheme is important to you, name your blocks explicitly
such that copying and pasting them creates names that follow a typical reading order. To
do so, use a leading zero in the block names, for example Gain001, Gain002, and so
on.

To understand how MATLAB determines which function to call when you specify a model name, see Function Precedence Order (MATLAB).

What Happens When You Save a Model?

Simulink saves the model (block diagram) and block properties
in the model file.

If you have any pre- or post-save functions, they execute in
this order:

During the save process, Simulink maintains a
temporary backup copy (named modelname.bak)
for restoring in case of an error. If an error occurs during saving
or during any callback during the save process, Simulink:

Restores the original file

Writes any content saved before the error occurred
in a file named modelname.err

Issues an error message

When saving a model loaded from an SLX file, the original SLX
file must still be present. Simulink performs incremental loading
and saving of SLX files, so if the original file is missing at save-time, Simulink warns
that it cannot reconstruct the file fully.

Save Models in the SLX File Format

Save New Models as SLX

Simulink saves new models and libraries in the SLX format
by default, with file extension .slx. SLX is a
compressed package that conforms to the Open Packaging Conventions
(OPC) interoperability standard. SLX stores model information using Unicode® UTF-8
in XML and other international formats. Saving Simulink models
in the SLX format:

Typically reduces file size compared to MDL. The file
size reduction between MDL and SLX varies depending on the model.

Upgrade Models to SLX

If you upgrade an MDL file to SLX file format, the file contains
the same information as the MDL file, and you always have a backup
file. All functionality and APIs that currently exist for working
with models, such as the get_param and set_param commands,
are also available when using the SLX file format. If you upgrade
an MDL file to SLX file format without changing the model name or
location, then Simulink creates a backup file by renaming the
MDL (if writable).

If you save an existing MDL file by clicking Save on the
Simulation tab, Simulink respects the file’s current format and saves your model in MDL
format.

Caution

If you use third-party source control tools, be sure to register
the model file extension .slx as a binary file
format. If you do not, these third-party tools might corrupt SLX files
when you submit them.

Some cases are improved, e.g., SLX solves some problems in
previous releases with loading and saving MDL files containing Korean
and Chinese characters. However, sharing models between different
locales remains problematic.

Save Models with Different Character Encodings

MDL Files and Character Encodings

When you save a model, the current character encoding is used
to encode the text stored in the model file. With MDL files, this
can lead to model corruption if you save a model whose original encoding
differs from current encoding.

If you change character encoding, it is possible to introduce
characters that cannot be represented in the current encoding. If
this is the case, the model is saved as model.mdl.err,
where model is the model name, leaving
the original model file unchanged. Simulink also displays an
error message that specifies the line and column number of the first
character which cannot be represented.

Use a text editor to find the character in the .err file
at the position specified by the save error message.

Find and delete the corresponding character in the
open model and resave the model.

Repeat this process until you are able to save the
model without error.

It’s possible that your model’s original encoding
can represent all the text changes made in the current session, albeit
incorrectly. For example, suppose you open a model whose original
encoding is A in a session whose current encoding is B. Further suppose
that you edit the model to include a character that has different
encodings in A and B and then save the model. If in addition the encoding
for x in B is the same as the encoding for y in A, and if you insert
x in the model while B is in effect, save the model, and then reopen
the model with A in effect the Simulink software will display
x as y. To alert you to the possibility of such corruptions, a warning
message appears whenever you save a model in which the current and
original encoding differ but the original encoding can encode, possibly
incorrectly, all of the characters to be saved in the model file.

Use SLX if you are loading and saving models with
Korean or Chinese characters

Use SLX if you would benefit from a compressed model
file

Whether you use SLX or MDL, Simulink can detect
and warn if models contain characters unsupported in the current locale.
For SLX, you can use the Model Advisor to help you, see Check model for foreign characters.

Export a Model to a Previous Simulink Version

You can export (save) a model created with the latest version
of the Simulink software in a format used by an earlier version.
For example, to share a model with colleagues who only have access
to a previous version of the Simulink product.

To export a model in an earlier format:

In the Simulink Editor, on the Simulation tab, click
Save. This saves a copy in the latest version of Simulink. This step avoids compatibility problems.

In the Simulink Editor, on the Simulation tab, select Save > Previous Version.

In the Export to Previous Version dialog box, from the Save as
type list, select the previous version to which to export the model. The
list supports 7 years of previous releases.

Click Save.

When you export a model to a previous version’s format,
the model is saved in the earlier format, regardless of whether the
model contains blocks and features that were introduced after that
version. If the model does contain blocks or use features that postdate
the earlier version, the model might not give correct results when
you run it in the earlier version of Simulink software. In addition, Simulink converts
blocks that postdate an earlier version into yellow empty masked Subsystem blocks.
For example, if you use save_system to export
a model to Release R2007b, and the model contains Polynomial blocks, Simulink converts
the Polynomial blocks into yellow empty masked Subsystem blocks. Simulink also
removes any unsupported functionality from the model. See save_system.

Save from One Earlier Simulink Version to Another

You can open a model created in an earlier version of Simulink and
export that model to a different earlier version. To prevent compatibility
problems, use the following procedure if you need to save a model
from one earlier version to another earlier version.

Use the current version of Simulink to open the
model created with the earlier version.

Before you make any changes, save the model in the current version by clicking
Save on the Simulation tab.

After saving the model in the current version, you can change and resave it as
needed.

Save the model in the earlier version of Simulink. On the Simulation tab, select Save > Previous Version.

Start the earlier Simulink version and use it
to open the model that you exported to that earlier version.

Save the model in the earlier version.

You can now use the model in the earlier version of Simulink exactly
as you could if it had been created in that version.

See also the Simulink preferences that can help you work
with models from earlier versions: