生成代码和模拟模型与仿真软件项目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
更多的信息
相关的例子
从文件夹中创建一个新项目(金宝app模型)
从模型中创建一个项目(金宝app模型)