当模型内容不断增长后,管理模型会变得复杂起来。挺难记住那么多文件,和他们之间的关系。比如前面几期,我们又用了m文件去管理变量,又创建了复用组件给主模型去进行引用,这些操作都会产生新的文件。想象一下,假如有人直接把这样一个工程交给你,然后这个模型工作接下来的任务就交给你来做了,那会不会很乱?
这一期就跟着Demo:Set Up a File Management System来学习一下可以通过什么样的手段能够快速地弄清楚文件的层级关系及联系,拥有一个更好地文件管理系统:
如上,Demo模型中包含了这么多文件。假如此前我没有参与过这个模型的创建,但是需要我来维护或者开发这么一个模型,怎样熟悉和更好地管理这些文件呢?
Demo这里是使用一个脚本,这些文件添加到project里。
这里我们换个只用鼠标的简单方法试试,点击Simulink,选择窗间Blank Project,将模型创建至此前项目的根目录:
然后一般会出现工程设置向导,按照指引,第一步将想要纳入到一个project内的文件和文件夹添加到project路径:
下一步会询问,打开和关闭该工程时的一些操作:
比如我们这里,设置一运行模型就会运行几个m文件,对一些需要赋值的参数进行赋值,然后启动主模型;关闭工程的时候,运行clear all,将所有的变量从workspce中清除,不影响下次的运行。(当然这里我是已经知道这些文件的作用和关系了,假如不知道,直接跳过即可)
这时我们的项目目录内就有一个设置好的project文件了,我们试着打开它:
可以看到,进入和退出时的操作就如同我们设计的一样去自动化地去运行了。一个project设置一次,使用时就可以节省大量的载入和清除操作的时间了。
回到一开始的主题,假如文件建的太多了,不大清楚文件之间的关系怎么办?点击Project的依存关系分析器:
点击分析后,可以看到文件目录中的所有文件被分析出了一个依存关系树,可以清晰地看出来脚本和模型之间什么关系,模型与模型之间什么样的层级关系,哪些脚本是独立的:
使用Model Instances和Model Hierarchy则可以清晰地将模型文件或模型的关系展示出来:
也可以直接在这个关系图里打开各个模型,直接双击即可:
如上,project中的依存关系分析器,可以当做一个高级文件管理器去使用,非常方便。
建模的时候,如果一开始就好好地使用模型引用功能、模型数据集中管理方法等,并有较好的文件命名规则,配合project功能,就能够清晰高效的进行模型开发和管理。