文章目录
前言
常规布线
远距离快速布线
多端口快速布线
布线自动整理
翻转模块布线
跨系统布线
Stateflow布线
布线颜色
分析和应用
总结
前言
见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》
见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug》
见《【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug》
见《【研发日记】Matlab/Simulink技能解锁(四)——在Simulink Debugger窗口调试》
常规布线
常规的布线方式,例如拖拽鼠标左键链接port、拖拽鼠标右键多分支连线等。这些技能对于开发人员来说是比较基础的,所以不再本文赘述。
远距离快速布线
如果两个要连线的port距离比较远,那么使用常规的鼠标拖拽方式就比较难以操作。快速布线的方法,只需要分别点击两个要链接的port即可,示例如下:
Tips:如果要连线的两个port步进距离远,而且还跨越了其他模块,那么还可以选择使用Goto和From这对模块。
多端口快速布线
如果两组要连接的port数量非常对,那么一个一个手动连接也是很费时费力的。快速布线的方法,只需要使用Ctrl分别点击两个模块即可,示例如下:
Tips:如果连线的一边不是一个模块,而是多可模块,那么把点击模块变成框选即可。
布线自动整理
如果哪个连线在设计修改时变得曲折凌乱,常规的做法是使用鼠标拖动整理,但是这种方法会比较比较慢,尤其是面对大量的连线需要整理时会非常费劲。快速布线的技巧是使用“自动整理”按钮,让连线变得简洁整齐,示例如下:
Tips:如果需要整理的连线不是一根,而是多根,那么用框选选中之后一键“自动整理”即可。
翻转模块布线
Simulink中信号或数据传输的方向默认是从左向右的,所以各个模块的初始状态都是左进右出。但是如果模型中有带反馈逻辑的环形结构,那么模块在各个传输方向上的链接就会非常繁杂。使用技巧把模块翻转后载进行连线,就能有效提高Simulink布线的质量,示例如下:
Tips:如果模块是放置在竖向连线上,还可以用旋转方式把模块的输入输出端口放在上下两边。
跨系统布线
如果模型中有大量信号或者数据需要跨越多个或多层子系统进行传输,这时上文讲到的远距离快速连线和多根线快速连线技巧就不能用了。常规的做法是在每个子系统的中都建立起对应的输入输出端口,然后逐个端口进行连线。这种方法显然会使得Simulink模型非常庞杂,而且工程师费时费力。这时候合成接口的布线技巧就可以派上用场了,示例如下:
Tips:这个技巧适合用在Simulink模型设计之初就创建组合接口;
Tips:这个技巧适合用在Simulink模型设计后期整理的时候创建组合接口;
Tips:如果一组信号的相同的数据类型适合选用Mux和DeMux创建虚拟向量,能使Simulink模型进一步精简。具体虚拟向量和虚拟总线的异同可翻阅《【研发日记】Matlab/Simulink开箱报告(十)——Signal Routing模块模块》
Stateflow布线
Stateflow中常规的连线方式是一根根弧形的连线,每个连线上插入了状态转换的条件和附加动作等信息。个人认为这种布线方式感官上不是很清晰明了,所以介绍另外一种借助“结点”的布线技巧,能让所有的连线以横平竖直的方式呈现,示例如下:
Tips:如果一条状态转换路径被多个结点分割,那么各个转换条件之间是“逻辑与”的关系,并且各个条件在前和在后实现的逻辑会有所不同。
布线颜色
Simulink中普通的连线默认都是黑色,如果在一个平面内存在有大量的连线,特别是这些连线还有交叉的时候,Simulink的开发和维护将会特别头疼。所以介绍一个给连线填加颜色的技巧,示例如下:
Tip1:一些特殊的颜色已经被Simulink赋予了特殊的含义,例如红色表示有错误。所以自定义的颜色,需要尽量避开这些特殊颜色。
Tip2:如果有连线需要设置成同一种颜色,可以使用“格式刷”按钮,快速将一根连线的颜色复制给其他连线。
分析和应用
布线技巧在Simulink模型开发中的应用非常频繁,尤其是应用于大型项目的开发时作用非常明显,例如一些整车控制软件,车路协同项目等等。项目中把这些布线技巧用起来后,不仅能提高复杂模型的可读性,也有利于降低模型的复杂度,不仅能提高工程师开发的效率,也能降低后期维护的难度。这些布线技巧适用于软件开发的整个工程周期中,包括早期模型搭建阶段,以及后期迭代优化阶段。
总结
以上就是本人在Simulink中布线时,一些个人理解和分析的总结,主要介绍了几中高效的布线技巧,并分析了这几种布线技巧的特点和适用场景。
后续还会分享另外几个最近解锁的Matlab/Simulink新技能,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。
另外,上述例程使用的Demo工程,可以到笔者的主页查找和下载。
版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!