主要内容

生成和部署一个MATLAB应用程序SimAppTemplate对于一个模型

该示例向您展示如何使用simulink.compiler.genapp函数为模型生成MATLAB®应用程序,这是可部署的。通常,当一个Simulink®模型功能完整时,它通常用于运行多个不同输入和参数值的模拟。为了尝试用不同的输入和参数值对模型进行模拟,您可以生成一个MATLAB App。您也可以部署这个生成的App以便在MATLAB之外使用。

的用法simulink.compiler.genapp函数为模型生成启动应用程序f14,利用生成的app对模型参数进行调优和仿真,并在MATLAB app Designer中对app进行定制。

打开模型

simulink.compiler.example.AppGeneration命令在路径上加载示例项目。该项目包含本示例所需的所有文件,包括模型。打开模型f14

simulink.compiler.example.AppGeneration;open_system (“f14”

为模型生成MATLAB App

使用simulink.compiler.genapp函数生成一个应用程序f14模型。运行simulink.compiler.genapp函数使用模型名作为参数生成一个名为f14app.Simulink Compiler™使用一个默认模板来生成应用程序。生成的应用程序提供了调优参数和模拟应用程序生成的模型的能力。生成的应用程序还提供了模拟结果的图形。文件中生成的所有文件f14app目录中。

要生成应用程序,需要SaveFormat对于输出数据必须是随时间的数据集或结构。改变SaveFormatf14模型,在造型选项卡,转到模型设置.在数据导入/导出窗格中,改变格式数据集

simulink.compiler.genapp (“f14”“浏览器名称”“f14app”“模板”“SimAppTemplate”);

生成应用程序后,单击模拟模拟应用程序。

随着应用程序,将生成以下构件:

  • f14app.mlappfile——这个文件包含生成的应用程序的代码。在app Designer中打开这个文件进行编辑。

  • 默认的prefix——返回应用程序使用的默认值的函数,例如,模型名称,模型图像长宽比,模型图像文件和输入mat文件名。

  • 模型图片,(f14app_image.svg)——Simulink模型的图像。

  • 模拟中使用的输入(f14app_inputs.mat) - - -包含模型模拟中使用的所有输入的文件。

  • 应用程序标签文件setLabels.m——指定标签内容的文件。

  • 默认的Simulink logo (SimulinkLogo.png)——用作模型图像占位符的文件。

  • pragma.m指令文件——由Simulink编译器用来生成可部署应用程序的文件。

  • MATLAB函数集作为m文件——应用程序用来控制应用程序的用户界面的文件。

编译和部署生成的应用程序

您可以使用MATLAB App Designer来编译和部署应用程序deploytool.有关使用App Designer编译和部署的更多信息,请参见使用App Designer开发应用程序网络应用程序而且应用程序编译器

在本例中,我们编译应用程序世纪挑战集团命令,后跟应用程序名称。

mcc - m f14app

自定义生成的App

您还可以自定义生成的应用程序。要自定义应用程序,请使用应用程序设计器。生成的应用程序f14是通用的,但它允许您在应用程序设计器中方便地自定义它。在本节中,我们将用两个轴替换生成的应用程序中的一个轴。在应用程序设计器中打开生成的应用程序。

appdesigner (“f14app”);

定制的思想是用两个axis组件替换axis组件。要获得两个axis组件,请使用包含两行一列的网格,并将这两个组件放在网格单元格中(定制的应用程序,f14customapp作为这个示例项目文件的一部分,供您参考)。您可以遵循:

  1. 设计视图,选择并删除默认组件。

  2. 组件库在窗户的左边。从组件库,拖放一个网格布局以下组件容器部分代替了删除的Axes组件。在浏览器组件在右边,在检查选项卡下网格布局、更新ColumnWidth而且RowHeight属性“1 x”而且“1 x, x”,分别。这将更新网格,使其具有两个垂直单元格。对象中拖动两个axis组件常见的部分组件库把它们放在两个格子里。

  3. 外部输入引用UIAxes(原始的axis组件)必须更新为UIAxes2.如果你先加上顶轴,UIAxes是指记录信号而且UIAxes2外部输入.你可以切换到设计视图以及当组件被选中时,验证哪个axis获得焦点浏览器组件

  4. 现在找到并替换这些事件代码视图.使用查找和替换对话框,用uiaxis2或附加项替换uiaxis。完成替换之后,将以下行代码添加到cbkSimulate(应用程序、事件)函数。排在后面UIAxes应用程序SimulationHelper.UserInterface.clearGridAndLegend (app.UIAxes2)。

  5. 保存应用程序

使用修改后的App模拟模型

现在您已经修改了应用程序以显示两个轴,您可以使用该应用程序来模拟模型。然后可以编译和部署应用程序。要模拟应用程序,请单击负载输入MAT-file和选择externalInputs.mat的输入1附加一个外部输入信号f14模型。这激活外部输入下拉显示加载的信号,信号。RandomStickPosition在下拉列表框中。选择要显示在底部Axes组件中的加载信号。点击模拟.模拟完成后,更新两个axis组件。你可以观察加载的输入信号对上坐标轴的记录信号的影响。

Baidu
map