一,简介
本文是个人对姜辛(mathworks)在网上发布的工具SimAssist的使用心得。此工具版权归姜工所有。若转载,但请保留此段。
%%软件下载地址见姜工的这篇有道云笔记。若提示过期,请至此处下载最新版本。有道云笔记的文章是姜工发布的说明文档,本文基本参考这里。
https://note.youdao.com/ynoteshare/index.html?id=a417ec0f08651694fb31928168bb010c本文只使用了部分有按钮的工具的在某些具体工作情况下我的操作,完整请参照姜工的文档。(姜工写的是英文文档。部分姜工文档我翻译为了中文,因为只翻译了一部分,不知道什么时候有心情(指不那么懒)才继续,所以就不放出来了,发布为了私密文档)
姜工链接里的simport和SimRead我暂时没用过,用过我在写使用后记吧。
二,综述
主界面如图:
本文只描述了工具栏上有按钮的功能,其他需要在界面输入命令的功能暂未描述,有空再添加。
此工具上面带按钮的部分的功能:
1,向后继承:将字符串从前面继承到后面(主要是用于线和接口块)。
2,向前继承:将字符串从后面的继承前面。
3,列对齐:将选择的模块基于相连的模块(或中心模块)上下对齐(左右对齐本功能不管)。
4,自动设置:对模块自动进行一些设置(本人未使用过,本文不提及,请查看姜工的文档自行发掘)
5,格式刷:类似word、excel,将一个模块的某些属性刷给另外一个/多个模块。
6,名字显/隐藏:对多个模块显示/隐藏名字。
7,切观测量状态:切换信号是观测量/不是观测量。’
8,命名标准化:基于其自带的一个词典,批量修改选中的信号/模块名。
9,搜索选中的模块中的特定属性,批量修改模块属性(可以是不同种类的模块)
三,下载与安装
1,下载
从姜工的有道云笔记上的链接下载:
直接的下载链接/百度云网盘/短网址(短网址已失效)。
若在使用中提示过期,请访问此网址从有道云笔记的链接下载最新版。
2,解压
下载后的小工具是一个压缩包,请用任意的解压工具解压。下载后的软件和解压后的软件如图:
3.安装(注:下方添加目录的部分,如果懒得做可以跳过添加目录部分,下方添加快捷方式的步骤,我增加了添加目录的代码段。)
请打开MATLAB主界面,选择设置路径,如图:
然后点“添加并包含子文件夹”。
然后找到 Simassist所在路径,并点击“选择文件夹”
然后路径就被你添加进来了。
3,打开
将MATLAB的工作路径切换到SimAssist的工作路径并将左侧的"whichtorun.m"拖到右侧执行。
然后主界面就打开了,请用并感谢姜辛姜工吧。
四,举个例子
1,bus接口的搭建
(1)假设的场景
新的项目/老项目更改了需求,需要增加大量新的接口,需要增加的信号名已经确定,在excel列表中存在,且目前不存在逻辑,所有这些接口暂时需要接地。但手动一个个增加接口并粘贴信号名太麻烦了,且这些信号都是用bus连接的。
(2)使用到的功能:
excel
simulink 中signalbuilder的导入excel表格数据功能。
Simulink的Match Hight和Align Top功能。
SimAssist的信号向前向后、自动对齐列、加标定量、命名标准化。
DBC文件(包含信号的描述等)
(3)操作
1)做信号名的excel表
类似这样的(时间连续,是增加或者不变就行,数据随意,别空着,反正这个不重要,我们需要的只是信号名)
2)simulink中用signalbuilder导入信号:
先插入一个Signal builder
插入后如图所示
双击打开打开后,选择从文件导入(File-Import from file),如图。
然后选择刚才的表格
接着给想导入的信号打勾。然后选择替换掉已存在的数据(Replace existing dataset),之后选择"确认选择(confirm selection)",然后点OK。
3)加bus
类似上面,插入一个bus creator,把他的接口数量调整的和signal builder一致。
然后使用Match Hight和Align Top功能,调整大小:
先调整其中一个的大小,使得信号之前有足够的空间,例如我调整了Signal builder。
两个都选中,在Signal builder上点右键,依次选择Match Hight和Align Top(快捷键:右键-A-E,右键-A-T)
然后按ctrl连接他俩
4) 用小工具把信号名继承过来:
打开小工具,点击这个图标让他悬浮于其他窗口上方。
选择信号发生器和总线生成器之间的线,点击向后继承,如图,信号名就被继承过来了。
复制一份bus creater.这几个信号,有的给常数,有的接地,有的给信号接口:
删除掉复制出来的bus creater和signalbuilder。然后移动左边的让两边的线对接。接着选上下对齐(这两步是为了保持上面的信号名)。
接着选下面三部分,然后点向左继承,注意别选带名字的线。
可以看到,此时名字已经被继承过来了,且name3,被继承到常数块里,作为参数,你可以写到数据文件里作为标定量。接着我们选择这四个信号,点增加观测量,注意,之后这些观测量请自行定义:
接着我们选择这些块,然后,点ctrl+G,打包成一个子系统。然后如上面炮制使用上下对齐。我们将其命名为Signal_in.
然后我们引出来之后连一个bus selector,接着选中之后点向右继承,可以看到他自动选择了我bus里所有的信号。接着给他连四个goto。然后选中goto,之后选向右继承。
再点一下向左继承,出现四个goto对应的from。接着就可以把相应的from拖给相应的子系统了。
接着我们选择所有块,选择命名标准化,signal_in被标准化了.
接着我们全选,然后选小工具的扩展,点search
接着点Type里的Goto,然后点Property中的TagVisibility.然后再Value下方的值里 输入Global,接着选Apply,再打开就会发现所有的Goto的TagVisibility都变成Global的了(只是演示,推荐使用Local的,方便信号溯源)
最后我们可以再次调整子系统的大小、bus select的大小,全部选中之后上下对齐,结果如图。
2,格式刷:
我将其中一个绿色的Goto,改成了Local的类型。我要让另外一个GOto模块也变成Local,操作如下。选中绿色的块。点格式刷,格式刷变色,接着选中要变成local的块。再点一次格式刷,则被选中的块也变成Local的了
五,一些说明
如果有不明白的,可以点上面的望远镜,会跳转到那篇云笔记上。
六,参考资料
姜辛姜工本人的云笔记: 文章是姜工发布的说明文档,本文基本参考这里。
https://note.youdao.com/ynoteshare/index.html?id=a417ec0f08651694fb31928168bb010c