这个例子说明了如何使用项目API来操作文件创建一个新的项目和自动化项目任务。它涵盖了如何以编程方式创建一个空白的项目,添加文件和文件夹,设置项目路径,定义项目的快捷方式,生成代码,并模拟线束模型。
项目帮助您管理和共享文件和设置,找到所需的文件,并与源代码控制交互举办大型设计。
该示例模型提供控制器,其定位固定在DC马达,其磁道的绿球的照相机。
该MBD方法导致模拟控制器操作:
模型厂:该厂是直流电机,其旋转以重新定位的相机。
模型控制器:该设计采用PID控制器上用于DC马达定位的角位置的反馈。
模型高层球跟踪调度程序:调度器检查绿球的位置和基准角度的饱和度的有效性。调度处理的屏幕追踪无球的情况下。
设计和项目具有以下文件夹。
厂- 该工厂提供:
模型与使用基本Simulink模块连续时间动态系统。万博1manbetx
模型与线性时变(LTI),其使用线性时不变系统块系统。
导入和模拟数据的出口和从工作区
的参数到基础工作区使用数据字典和模型回调加载。
调节器- 控制器提供:
模型与使用基本Simulink模块离散时间动态系统。万博1manbetx
模型与使用PID控制器块离散时间动态系统。
信号饱和的强制使用的PWM转换子系统。
跟踪球- 球追踪提供:
基本的球跟踪算法。
终结者和地面块用作占位符。
产生马达参考甲混合动力控制器角使用状态流。
线束- 该线束提供完整的系统的顶层仿真。
1。创建一个空白的项目。在家选项卡,单击新>项目>空白项目。
另外,创建此项目并使用currentProject获取项目对象操作在命令窗口中的项目:
matlab.project.createProject('modelBasedDesignCodeGenProject');proj_modelBasedDesignCodeGen = currentProject
proj_modelBasedDesignCodeGen =项目与属性:名称: “modelBasedDesignCodeGenProject” SourceControlIntegration: “” RepositoryLocation: “” SourceControlMessages:[1×0字符串]只读:0顶层:1个依赖关系:[1×1向图]分类:[1×1 matlab.project] .Category文件:[1×0 matlab.project.ProjectFile]快捷方式:[1×0 matlab.project.Shortcut] ProjectPath:[1×0 matlab.project.PathFolder] ProjectReferences:[1×0 matlab.project.ProjectReference] StartupFiles:[1×0字符串] ShutdownFiles:[1×0字符串]描述: “” RootFolder: “C:\工作空间\ modelBasedDesignCodeGenProject” SimulinkCodeGenFolder: “万博1manbetx” SimulinkCacheFolder: “” ProjectStartupFolder: “C:\工作空间\ modelBasedDesignCodeGenProject”
2。示例文件复制到项目中的文件夹。
另外,在命令窗口中,键入:
的CopyFile(完整文件(matlabroot,'工具箱','RTW','rtwdemos','slproject_codegen_demo')...完整文件(PWD),'F');
3。现有文件添加到项目:
点击项目文件视图按钮,然后选择所有文件查看。
选择文件夹ball_tracking
,调节器
,吊带
,厂
和公用事业
,用鼠标右键单击该图标为一个文件夹,并选择将文件夹添加到项目(包括子文件)。
另外,这些文件添加到程序在命令窗口中的项目:
addFolderIncludingChildFiles(proj_modelBasedDesignCodeGen,'ball_tracking');让addpath(proj_modelBasedDesignCodeGen,'ball_tracking');addFolderIncludingChildFiles(proj_modelBasedDesignCodeGen,“控制器”);让addpath(proj_modelBasedDesignCodeGen,“控制器”);addFolderIncludingChildFiles(proj_modelBasedDesignCodeGen,“安全带”);让addpath(proj_modelBasedDesignCodeGen,“安全带”);addFolderIncludingChildFiles(proj_modelBasedDesignCodeGen,'厂');让addpath(proj_modelBasedDesignCodeGen,'厂');addFolderIncludingChildFiles(proj_modelBasedDesignCodeGen,“公用事业”);让addpath(proj_modelBasedDesignCodeGen,“公用事业”);
4。选择工作
文件夹,右键单击一个文件夹的图标,然后选择项目路径>添加到项目路径(包括子文件夹)。如果您选择这个文件夹添加到路径,从仿真和代码生成生成的文件(工件)可在项目路径上。如果您选择不包括在项目中生成的文件中,依赖图不显示这些文件。
另外,该文件夹添加到在命令窗口中的项目路径:
让addpath(proj_modelBasedDesignCodeGen,'工作');
5。为了使项目更容易,定义和设置属性为项目的快捷方式。在里面档视图中选择项目标签。打开公用事业
文件夹节点。
6。选择文件clean_up_project.m
,generate_controller_code.m
和set_up_project.m
,用鼠标右键单击该图标为一个文件,并选择创建快捷方式。
7。要设置当前工作文件夹,设置仿真缓存文件夹,当你打开该项目运行其他安装脚本:
选择set_up_project.m
脚本。
用鼠标右键单击该文件。
选择在启动时运行。
另外,添加此设置脚本从命令窗口工程启动:
addStartupFile(proj_modelBasedDesignCodeGen,完整文件(PWD,'/utilities/set_up_project.m'));
8。要恢复以前的设置,当你关闭该项目运行其他清理脚本:
选择clean_up_project.m
脚本。
用鼠标右键单击该文件。
选择在关机时运行。
另外,加入清理脚本从命令窗口工程关机程序:
addShutdownFile(proj_modelBasedDesignCodeGen,完整文件(PWD,'/utilities/clean_up_project.m'));
9。重新打开该项目运行启动捷径。
另外,重新加载项目,并运行set_up_project
在命令行窗口:
重载(proj_modelBasedDesignCodeGen);跑('set_up_project');
1。在项目选项卡,单击依赖分析仪在项目运行上的所有文件的相关性分析。
依赖关系图中显示了您的项目结构和文件的依赖性。它显示了文件如何相互关联。图中的每个项表示一个文件,并且每个箭头是依赖。
的内容工作
文件夹不会出现在依赖关系图。这种设置简化了看法,表示在模型文件的依赖关系和.M
脚本文件。
一个。检查属性窗格中的有关项目的有用信息,如所需的产品和问题文件的权限。s manbetx 845
湾使用放大按钮可以放大到依赖地图。使用箭头键或单击并拖动鼠标滚轮在地图上走动。
C。将鼠标悬停在依赖箭头来检查依赖型。例如,MATLAB脚本和职能正在由模型回调运行。
2。选择MBDController.slx
模型的依赖地图上。右键单击该模型并选择打开。
3。当模型在Simulink打开后,点击万博1manbetx建立按钮以生成用于模型的代码。或者,使用generate_controller_code
快捷的项目生成代码。
另外,生成在命令窗口中型号代码。对于这个例子的目的,将写入权限MBDController.slxc
然后生成的模型代码:
fileattrib('MBDController.slxc','+ W');EVALC('rtwbuild(' 'MBDController' ')');
4。从工程窗口关闭项目。
另外,关闭该项目并运行clean_up_project
在命令行窗口:
跑('clean_up_project');关闭(proj_modelBasedDesignCodeGen);
添加文件
,addFolderIncludingChildFiles
,让addpath
,addReference
,addShortcut
,addLabel
,关
,createCategory
,createLabel
,出口
,findCategory
,的FindFile
,findLabel
,isLoaded
,listModifiedFiles
,listRequiredFiles
,refreshSourceControl
,重装
,removeCategory
,removeFile
,removeLabel
,removePath
,removeReference
,removeShortcut
创建一个新项目从文件夹中(万博1manbetxSimulink的)
从模型创建项目(万博1manbetxSimulink的)