文档

生成代码和模拟模型与仿真软件项目API金宝app

这个例子展示了如何将文件添加到一个新项目,项目设置快捷键,生成代码,并利用模型模拟。模型在这个例子演示基于模型设计的一些原则(MBD)。

这个示例还展示了如何使用API来执行许多项目操作的仿真软件项目。金宝app

管理一个基于模型的设计与仿真软件项目金宝app

示例模型提供一个控制器,相机位置固定一个直流电机跟踪一个绿色的球。

MBD的方法会导致控制器建模操作:

  • 模式植物:植物是一个旋转的直流电机重新定位相机。

  • 模型控制器:设计使用PID控制器对定位角位置反馈直流电机。

  • 高级球模型跟踪调度:调度程序检查的有效性绿球的位置和饱和的参考角度。调度程序处理的实例没有球在屏幕上跟踪。

设计和仿真软件项目有以下部分(金宝app文件夹)。

植物——植物提供了:

  • 模型与连续时间动态系统,使用基本的仿真软件模块。金宝app

  • 模型与线性时不变(LTI)系统使用LTI系统块。

  • 仿真数据的导入和导出的工作区

  • 加载参数的基本工作空间使用数据字典和模型回调。

控制器——控制器提供了:

  • 使用基本的模型与离散时间动态系统仿真软件。金宝app

  • 模型与离散时间动态系统,使用PID控制器。

  • 执行信号使用PWM转换子系统的饱和度。

球跟踪——球跟踪提供了:

  • 基本的跟踪算法。

  • 《终结者》和地面块作为占位符。

  • 混合动力控制器产生电机使用Stateflow参考角度。

利用——利用提供顶级全系统的仿真。

创建一个模型项目,金宝app添加文件

1。从空白的项目模板创金宝app建一个模型项目,然后关闭该项目。

从仿真软件开始创建这个项目页面:金宝app

  • 在命令窗口中,类型金宝app

  • 从一开始选择空白的项目模板页面。

  • 创建modelBasedDesignCodeGenProject项目。

使用仿真软件项目API来创建这个项目,在命令窗口中,类型:金宝app

checkForProject =存在(”。/ ModelBasedDesignCodeGen ModelBasedDesignCodeGenProject.prj”);如果(checkForProject ~ = 2) proj_modelBasedDesignCodeGen =金宝app Simulink.createFromTemplate (“blank_project.sltx”,“名字”,“modelBasedDesignCodeGenProject”,“文件夹”,”。/ ModelBasedDesignCodeGen ');其他的proj_templateCodeGen = 金宝appsimulinkproject (”。/ ModelBasedDesignCodeGen ModelBasedDesignCodeGenProject.prj”);结束
初始化:项目路径建立工作文件夹识别跟踪的项目文件

2。将示例文件复制到文件夹内的仿真软件项目。金宝app在命令窗口中,输入:

拷贝文件(fullfile (matlabroot,“工具箱”,“环球套票”,“rtwdemos”,“slproject_codegen_demo”),fullfile (pwd),“f”);

3所示。关闭仿真软件的仿真软金宝app件项目项目窗口。

关闭这个项目使用仿真软件项目API,在命令窗口中,类型:金宝app

关闭(sim金宝appulinkproject);
关闭项目模型清算:项目路径关闭工作文件夹

4所示。打开项目的选择最近的模型项目金宝app列表。

打开这个项目使用仿真软件项目API,在命令窗口中,类型:金宝app

金宝appsimulinkproject (fullfile (”。/ ModelBasedDesignCodeGen ModelBasedDesignCodeGenProject.prj”));
初始化:项目路径建立工作文件夹识别跟踪的项目文件

5。现有的文件添加到项目中,单击项目文件视图按钮并选择所有文件视图

6。选择文件夹ball_tracking,控制器,利用,植物,公用事业公司的图标,右键单击一个文件夹,并选择将文件夹添加到项目文件(包括孩子)

将这些文件添加到项目使用仿真软件项目API,在命令窗口中,类型:金宝app

proj_modelBasedDesignCodeGen = 金宝appsimulinkproject;如果(checkForProject ~ = 2) addFolderIncludingChildFiles (proj_modelBasedDesignCodeGen“ball_tracking”);目录(proj_modelBasedDesignCodeGen“ball_tracking”);addFolderIncludingChildFiles (proj_modelBasedDesignCodeGen“控制器”);目录(proj_modelBasedDesignCodeGen“控制器”);addFolderIncludingChildFiles (proj_modelBasedDesignCodeGen“利用”);目录(proj_modelBasedDesignCodeGen“利用”);addFolderIncludingChildFiles (proj_modelBasedDesignCodeGen“植物”);目录(proj_modelBasedDesignCodeGen“植物”);addFolderIncludingChildFiles (proj_modelBasedDesignCodeGen“公用事业”);目录(proj_modelBasedDesignCodeGen“公用事业”);结束

7所示。选择工作文件夹,右键单击图标的文件夹,并选择项目路径>添加到项目路径(包括子文件夹)。如果你选择这个文件夹添加到路径,生成的文件(工件)模拟项目路径和代码生成。如果你选择不包括在项目中生成的文件,依赖分析视图不显示这些文件。

将这个文件夹添加到项目路径使用仿真软件项目API,在命令窗口中,类型:金宝app

如果(checkForProject ~ = 2)目录(proj_modelBasedDesignCodeGen‘工作’);结束

8。更容易使仿真软件项目,为金宝app项目定义和设置属性的捷径。点击所有文件视图并选择项目文件视图。打开公用事业公司文件夹节点。

9。选择的文件clean_up_project.m,generate_controller_code.m,set_up_project.m的图标,右键单击一个文件,并选择添加快捷方式>一般。选择快捷方式管理视图。

10。设置当前工作文件夹,设置模拟缓存文件夹,打开项目时和其他运行安装脚本:

  • 选择set_up_project.m脚本。

  • 右键单击该文件。

  • 选择设置快捷键操作>启动

这个设置脚本添加到项目启动使用仿真软件项目API,在命令窗口中,类型:金宝app

如果(checkForProject ~ = 2) addStartupFile (proj_modelBasedDesignCodeGen fullfile (pwd,“/工具/ set_up_project.m”));结束

11。设置恢复以前的设置和运行其他清理脚本当你关闭项目:

  • 选择clean_up_project.m脚本。

  • 右键单击该文件。

  • 选择设置快捷键操作>关闭

将这个清理脚本添加到项目关闭使用仿真软件项目API,在命令窗口中,类型:金宝app

如果(checkForProject ~ = 2) addShutdownFile (proj_modelBasedDesignCodeGen fullfile (pwd,“/工具/ clean_up_project.m”));结束

12。关闭项目。当你重新打开该项目,项目运行仿真软件金宝app启动快捷方式。

使用仿真软件项目API来完成这些操作,在命令窗口中,类型:金宝app

关闭(sim金宝appulinkproject);金宝appsimulinkproject (fullfile (”。/ ModelBasedDesignCodeGen ModelBasedDesignCodeGenProject.prj”));运行(“set_up_project”);
运行:/ tmp / Bdoc17b_748982_13915 / publish_examples2 / tpdda2196c / ex97559686 / ModelBasedDesignCodeGen /工具/ clean_up_project。项目模型m关闭清算:项目路径关闭工作文件夹初始化:项目路径建立工作文件夹识别跟踪的项目文件Running: /tmp/Bdoc17b_748982_13915/publish_examples2/tpdda2196c/ex97559686/ModelBasedDesignCodeGen/utilities/set_up_project.m

控制器从依赖分析视图生成代码

1。打开依赖关系分析视图。

2。点击分析。金宝app仿真软件项目分析文件依赖项目并更新视图的依赖关系。

3所示。使用变焦按钮来放大地图的依赖关系。使用箭头键或click-drag用鼠标滚轮的移动地图。

4所示。选择MBDController.slx地图上的依赖模型。右键单击并选择模型开放

5。当模型在仿真软件,单击金宝app构建按钮为模型生成代码。或者,使用generate_controller_code快捷方式在项目来生成代码。

evalc (“rtwbuild (“MBDController”)”);

6。观察到的内容工作文件夹没有出现在依赖性分析的观点。这个设置简化视图显示在模型文件和m脚本文件的依赖关系。

bdclose所有;运行(“clean_up_project”);关闭(sim金宝appulinkproject);清晰的所有;
运行:/ tmp / Bdoc17b_748982_13915 / publish_examples2 / tpdda2196c / ex97559686 / ModelBasedDesignCodeGen /工具/ clean_up_project。项目模型m关闭清算:项目路径关闭工作文件夹

另请参阅

addFile,addFolderIncludingChildFiles,目录,addReference,addShortcut,addLabel,关闭,createCategory,createLabel,removeLabel (detachLabelFromFile),出口,findCategory,findFile,findLabel,findLabelDefinition findLabel(重命名),isLoaded,listModifiedFiles,listRequiredFiles,refreshSourceControl,重新加载,removeCategory,removeFile,removeLabel,removePath,removeReference,removeShortcut

更多的信息

相关的例子

这个主题有帮助吗?