生成和部署一个MATLAB应用程序SimAppTemplate
对于一个模型
此示例向您展示如何使用simulink.compiler.genapp
函数为模型生成MATLAB®应用程序,即可部署。通常,当一个Simulink®模型在功能上完成时,它通常用于运行多个不同输入和参数值的模拟。要尝试使用不同的输入和参数值对模型进行模拟,您可以生成一个MATLAB应用程序。您还可以部署这个生成的应用程序以在MATLAB之外使用。
的使用simulink.compiler.genapp
函数为模型生成初始应用程序f14
,使用生成的app对模型参数进行调优并进行仿真,在MATLAB app Designer中对app进行定制。
打开模型
的simulink.compiler.example.AppGeneration
命令在路径上加载示例项目。该项目包含此示例所需的所有文件,包括模型。打开模型f14
.
simulink.compiler.example.AppGeneration;open_system (“f14”)
为模型生成MATLAB应用程序
使用simulink.compiler.genapp
函数生成一个应用程序f14
模型。运行simulink.compiler.genapp
函数使用模型名作为参数生成一个名为f14app
.Simulink Compiler™使用默认模板来生成应用程序。生成的应用程序提供了调优参数和模拟应用程序生成的模型的能力。生成的应用程序还提供模拟结果的绘图。所有文件都生成到f14app
目录中。
要生成应用程序,请使用SaveFormat
为输出数据必须是数据集或结构随时间。改变SaveFormat
为f14
模型,在造型选项卡,转到模型设置.在数据导入/导出窗格中,改变格式来数据集
.
simulink.compiler.genapp (“f14”,“浏览器名称”,“f14app”,“模板”,“SimAppTemplate”);
生成应用程序后,单击模拟来模拟应用程序。
随着应用程序,将生成以下工件:
f14app.mlapp
file——这个文件包含生成的应用程序的代码。在app Designer中打开这个文件进行编辑。以
默认的
prefix——返回应用程序使用的默认值的函数,例如,模型名称,模型图像纵横比,模型图像文件和输入mat文件名。模型图像,(
f14app_image.svg
)——Simulink模型的图像。模拟中使用的输入(
f14app_inputs.mat
) --垫
包含模型模拟中使用的所有输入的文件。应用标签文件
setLabels.m
——指定标签内容的文件。默认的Simulink logo (
SimulinkLogo.png
——用作模型图像占位符的文件。pragma.m
指令文件——Simulink Compiler用来生成可部署应用程序的文件。MATLAB函数集M-files——应用程序用来控制应用程序用户界面的文件。
编译和部署生成的应用程序
您可以使用MATLAB应用程序设计器来编译和部署应用程序deploytool
.有关使用App Designer编译和部署的更多信息,请参见使用应用设计器开发应用程序,网络应用程序而且应用程序编译器.
在本例中,我们使用世纪挑战集团
命令,后跟应用程序名称。
MCC -m f14app
自定义生成的App
您还可以自定义生成的应用程序。要自定义应用程序,请使用应用程序设计器。生成的应用程序f14
它是通用的,但它允许你在应用设计器中轻松地自定义它。在本节中,我们将用两个轴替换生成的应用程序中的一个轴。在应用程序设计器中打开生成的应用程序。
appdesigner (“f14app”);
定制的思想是用两个axis组件替换axis组件。要获得两个axis组件,使用一个两行一列的网格,并将这两个组件放在网格单元格中(自定义应用程序,f14customapp
作为示例项目文件的一部分,以供参考)。你可以这样做:
在设计视图,选择并删除默认值轴组件。
去组件库在窗户的左边。从组件库,拖放一个网格布局的组件容器部分替换掉已删除的Axes组件。在浏览器组件在右边,在检查标签下的网格布局、更新
ColumnWidth
而且RowHeight
属性“1 x”
而且“1 x, x”
,分别。这将网格更新为具有两个垂直单元格。对象中拖动两个axis组件常见的部分组件库并将它们放在两个网格单元格中。外部输入引用
UIAxes
(原始的Axes组件)必须更新为UIAxes2
.如果你先添加顶部的坐标轴,UIAxes
是指记录信号
而且UIAxes2
来外部输入
.你可以切换到设计视图以及在选中组件时验证哪个axis获得焦点浏览器组件.现在找到并替换这些出现在代码视图.使用
查找和替换
对话框,替换uiaxis与UIAxes2或添加。完成替换后,将以下行代码添加到cbkSimulate(应用程序、事件)
函数。在for之后UIAxes
:应用程序
.SimulationHelper.UserInterface.clearGridAndLegend (app.UIAxes2)。
保存应用
.
使用修改后的App模拟模型
现在您已经修改了应用程序以显示两个轴,您可以使用该应用程序来模拟模型。然后,您可以编译和部署应用程序。要模拟应用程序,单击加载输入mat文件然后选择externalInputs.mat
的import 1上附加一个外部输入信号f14
模型。这就激活了外部输入
下拉显示加载信号,信号。RandomStickPosition
在下拉列表框下拉。选择要显示在底部Axes组件中的加载信号。点击模拟.模拟完成后,两个axis组件更新。您可以观察到加载的输入信号对顶部轴上的日志信号的影响。