主要内容

生成和部署一个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为输出数据必须是数据集或结构随时间。改变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 Compiler用来生成可部署应用程序的文件。

  • MATLAB函数集M-files——应用程序用来控制应用程序用户界面的文件。

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

您可以使用MATLAB应用程序设计器来编译和部署应用程序deploytool.有关使用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(原始的Axes组件)必须更新为UIAxes2.如果你先添加顶部的坐标轴,UIAxes是指记录信号而且UIAxes2外部输入.你可以切换到设计视图以及在选中组件时验证哪个axis获得焦点浏览器组件

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

  5. 保存应用

使用修改后的App模拟模型

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

Baidu
map