In addition to the protected model file (.slxp
), you can include
additional files in the protected model package. Some ways to deliver the protected
model package are:
Provide the .slxp
file and other supporting files as
separate files.
Combine the files into a ZIP or other container file.
Combine the files by using a manifest. For more information, see Export Files in a Manifest (Simulink).
Provide the files in some other standard or proprietary format specified by the receiver.
Whichever approach you use to deliver a protected model, include information on how to retrieve the original files.
You can create a harness model when you create your protected model. The harness model contains a Model block that references the protected model. A third-party can use the Model block to reference your protected model.
Referenced models can use object definitions or tunable parameters that are defined in the MATLAB® base workspace. These variables are not saved with the model. When you protect a model, you must obtain the definitions of required base workspace entities and ship them with the model.
The following base workspace variables must be saved to a MAT-file:
Global tunable parameter
Global data store
The following objects used by a signal that connects to a root-level model Inport or Outport:
Simulink.Signal
Simulink.Bus
Simulink.Alias
Simulink.NumericType
that is an
alias
To determine the required base workspace definitions and save them to a MAT-file, see Protected Models for Model Reference (Simulink). Before executing the protected model as a part of a third-party model, the receiver of the protected model must load the MAT-file.
Referenced models can use data definitions from a data dictionary, which are not saved with the model. When you protect a model that uses a data dictionary, package and ship the data dictionary with the protected model.
A protected model file (.slxp
) consists of the derived files
that support the options that you selected when you created the protected model. The
derived files are unpacked when you or a third-party use the protected model in
simulation. You do not need to package these derived files with the protected
model.
If you created a protected model for simulation only and the referencing model is
in Normal
mode, after simulation, the
model
.mexext
file
is placed in the build folder. The derived files that are unpacked depends on the
support that you enabled when creating the protected model.
Protected Model Derived Files
Supported Functionality | Derived Files |
---|---|
Created a protected model for simulation only and the referencing
model is in Normal mode | The
model .mexext
file is placed in the build folder. |
Created protected model for simulation only and referencing model
is in Accelerator or Rapid
Accelerator mode. | These files are unpacked in the
For the protected model report, these additional files are unpacked (but not in the build folder):
|
Created protected model with code generation support. | These files are unpacked in the
|
Specified a Top model code interface
(requires Embedded
Coder® license) and enabled code generation support when
creating protected model. | These files are unpacked in the
For the protected model report, after building your model these files are unpacked (in addition to the preceding files):
|
Created protected model with HDL code generation support (requires HDL Coder™ license). | The files are unpacked in the
|
The
slprj/sim/
model/
*
files are deleted after they are used.