Create and Deploy a Script with Simulink Compiler
In this example, you prepare a model to work with Simulink® Compiler™, develop and compile the script, and then deploy it as a standalone application.
Prepare the Model
Compiler uses rapid accelerator simulation targets to generate an executable to submit
a Simulink model. Simulink
Compiler only supports models which can run in rapid accelerator mode. To set the
simulation mode of the model to rapid accelerator, use the model parameter
SimulationInput object. To
enable simulation deployment of the model, your model must be supported by the Rapid
Accelerator mode correctly.
Compiler only supports
sim function syntax that takes
Simulink.SimulationInput object and returns
If callbacks are present in the model, they are called during the build time of the application. However, once the application or the script is deployed, these callbacks are not invoked.
Write the Script to Deploy
After preparing the model, write the script that you would like to deploy. In this example, we use a model and change one of the tunable parameters in the script.
In the MATLAB® Editor, create a function
deployedScript. This example uses
sldemo_suspn_3dof. In this function, create a
Simulink.SimulationInput object for the model,
and change the value of
Mb with the
Simulink.SimulationInput object. To ensure that the model runs in
rapid accelerator mode, set the
Rapid through the
setModelParameter method of the
Simulink.SimulationInput object or use the
simulink.compiler.configureForDeployment function as shown
The variables modified in the simulations can be in the base workspace or in the top
model workspace. If your model uses external input variables, that is, you can not use the
in.setExternalInput of the
Simulink.SimulationInput. External input variables must be in the
MATLAB workspace before packaging for deployment.
function deployedScript() in = Simulink.SimulationInput('sldemo_suspn_3dof'); in = in.setVariable('Mb', 1000); in = simulink.compiler.configureForDeployment(in); out = sim(in); end
Save the function as a
Compile Script for Deployment
Before compiling the script that you want to deploy, ensure that the files for the model
and script, in this case
sldemo_suspn_3dof and the
deployedScript.m, are included on the MATLAB search path. To compile
the script, use the
mcc command with the script name. To learn more about
mcc command, see
mcc -m deployedScript.m
Compiler automatically packages the dependencies in the model and the deployed
scripts. If the command
mcc cannot find a dependency, you might see errors.
If you see the error "Unable to resolve the name
Simulink.SimulationInput", check that the model is on the path.
If the dependent files are located in another directory, attach them by using the flag
-a. For example,
mcc -m scriptName.m -a myDataFile.dat.
Run the Deployed Script
Install MATLAB Runtime
To run the deployed executable, you need an appropriate runtime environment. To install the MATLAB Runtime, see https://www.mathworks.com/products/compiler/matlab-runtime.html.
Run the Deployed Application
You can run the deployed application only on the platform that the deployed application was developed on.
Run the deployed application from the Windows command prompt. Running the deployed application from the command prompt enables the application to print diagnostic messages in the command prompt when it encounters errors. These messages can be a helpful tool in troubleshooting the problem.