天天看点

Matlab模型开发之——从建模规范开启旅程3 模型结构

前言:

之前给自己埋的作业,最后一篇终于来了。这章节内容不多,前两节才是建模规范的精华。MAAB4中介绍了一下模型的一般结构,这里就是翻译?总结?了一下。

指路前两篇:

Matlab模型开发之——从建模规范开启旅程1 Simulink_gaoxuexidan0307的博客-CSDN博客_mab建模规范

Matlab模型开发之——从建模规范开启旅程2 Stateflow_gaoxuexidan0307的博客-CSDN博客

一个功能模块,在结构上基本可以划分为功能层、时间计划层、控制流层、数据流层。

功能层:广泛的功能划分,也就是功能模块的顶层。就是模型的最外层哈,不多介绍。

时间计划层:用来使用触发子模块或函数调用子模块指示过程计时,一般用于功能中含有多个独立的子功能的情况。各个模块之间有明显数据流向,或没有先后执行顺序要求,不宜搭建时间计划层。

 一般存在时序调度的时候会用到。

时间计划层示例:

Matlab模型开发之——从建模规范开启旅程3 模型结构

控制流层:控制层的排列是一个用于表达一个函数中所有输入处理、中间处理和输出处理的层。在控制流层中,水平方向表明具有不同意义的处理,具有相同意义的模块是垂直排列的。控制流层可以与具有函数的模块共存。控制流层可能存在需要独立生成代码的函数子模块。

为规范化,输入处理及输出处理包括数据类型转换、数据单位换算等,不包括算法及逻辑处理。

控制流层示例:这是MAAB4中推荐的分块方式

Matlab模型开发之——从建模规范开启旅程3 模型结构

数据流层:也就是功能模块的底层,由基本模块构成

一个复杂数据流层示例:

Matlab模型开发之——从建模规范开启旅程3 模型结构

 注意:

  1. 一个结构层(功能层或时间计划层)和数据流层不应混合在同一层中。(层次结构划分清晰)
  2. 应避免为了节省图的空间而将模块集合成子系统,模块图中的每一个子系统应代表实现模型或子模型的目的所需要的一个功能单元。根据行为变量或时间计划,模块也可以组合在一起。

继续阅读