如何优雅地搭建Simulink模型?

[复制链接]
查看11 | 回复0 | 2017-1-1 14:24:48 | 显示全部楼层 |阅读模式
2017/1/9更新
新版本的JMAAB对于模型架构的规定更加详细,建议阅读。
==============================================================
先看看MAAB建模规范,对于模型的层次划分、信号与模块的使用方式均有说明,对于MAAB的介绍可见IndustryStandards,里面有下载链接。有兴趣的可以自己下下来看,总共136页。这个文档我打印了好几次,总是迷之遗失,然后我再打一份放在手头备用。(另一个类似的文档是SAEJ670:汽车动力学术语)
dSPACE也有一份规范叫dSPACEModelingGuidelines3.0,如果要用TargetLink,还是应该参考一下。
==============================================================
以下简单的说明MAAB建议相关企业强制使用的模型架构:
依据是否存在触发层,将模型架构分为TypeA和TypeB两类,主要包括顶层、触发层、结构层和数据流层

顶层规定模型总体的输入输出(相当于模型的对外接口,也是在自动代码生成后与底层软件聚集成的借口),建议通过注释对实现的功能进行描述

触发层通过触发子系统或函数调用子系统说明调用时序

结构层说明子模块之间的关系,注意,这一层中的子模块必须是原子子系统


数据流层:这一层才是具体的计算,包括加减乘除之类的。

==============================================================其他与模型可读性相关的一些规范
7.1.3.db_0042:PortblockinSimulinkmodels
InaSimulinkmodel,theportscomplywiththefollowingrules:
?Inportsshouldbeplacedontheleftsideofthediagram,buttheycanbe
movedintopreventsignalcrossings.
?Outportsshouldbeplacedontherightside,buttheycanbemovedinto
preventsignalcrossings.
?DuplicateInportscanbeusedatthesubsystemlevelifrequired,butshould
beavoided,ifpossible.
oDonotuseduplicateInportsattherootlevel.


Notesontheincorrectmodel
?Inport2shouldbemovedinsoitdoesnotcrossthefeedbacklooplines.
?Outport1shouldbemovedtotherighthandsideofthediagram.

7.1.12.db_0141:SignalflowinSimulinkmodels
?Signalflowinamodelisfromlefttoright.
?Exception:Feedbackloops
?Sequentialblocksorsubsystemsarearrangedfromlefttoright.
?Exception:Feedbackloops
?Parallelblocksorsubsystemsarearrangedfromtoptobottom.

7.1.13.jc_0171:MaintainingsignalflowwhenusingGotoandFromblocks
Visualdepictionofsignalflowmustbemaintainedbetweensubsystems.
?UseofGotoandFromblocksisallowedif:
?Atleastonesignallineisusedbetweenconnectedsubsystems.
?Subsystemsconnectedinafeed-forwardandfeedbackloophaveat
leastonesignallineforeachdirection.
?UsingGotoandFromblockstocreatebusesorconnectinputstomergeblocks
areexceptionstothisrule.



==============================================================
懒得粘了,Mathworks公司又不给我发工资,再加几个图示意一下就完事了
if-else架构

Switch架构:

模型初始化




子系统的方向

Incorrect

if-elseflow实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行