汇聚博主多年工程经验的新书《Simulink嵌入式开发实战》现已上市,针对Simulink与MBD开发技术,形成了一套完整的知识体系和方法论。详细介绍和优惠链接可以参考博客《Simulink嵌入式开发实战》新书上市,感谢粉丝长期以来的支持!
文章目录
- [1 Simulink外观规范](#1 Simulink外观规范)
- [2 重点检查项详解](#2 重点检查项详解)
-
- [2.1 Check for display of block parameter](#2.1 Check for display of block parameter)
- [2.2 Check for unconnected signal lines and blocks](#2.2 Check for unconnected signal lines and blocks)
- [2.3 Check signal flow in model](#2.3 Check signal flow in model)
- [2.4 Check for consistency in model element names](#2.4 Check for consistency in model element names)
- [2.5 Mixing basic blocks and subsystems](#2.5 Mixing basic blocks and subsystems)
- [3 总结](#3 总结)
本文研究MAB建模规范中关于Simulink外观规范的条目和含义。Matlab版本为2026a。
1 Simulink外观规范
MAB建模规范中对模型的外观做了一些要求,主要目的是增强Simulink模型的可读性,便于项目上的review和评审。该部分配置位于Model Advisor → Modeling Standards for MAB → Simulink → Diagram Appearance,如下图所示。

该分类下条目较多,后文重点研究若干个对开发有较大帮助的检查项目。
2 重点检查项详解
2.1 Check for display of block parameter
该检查项用于检测模块的非默认参数是否被显示出来。例如下图示例中,在Gain模块中填写了一个参数,但是没有在模块外部显示这个参数。

在评审模型时就需要双击打开Gain模块的配置面板才可以看到。如果在模块的属性面板将其显性设置出来,就可以很直观地看到了,如下图所示。

在模块地外部也会显示出具体地放大倍数值,可以有效地帮助检查和评审模型。

2.2 Check for unconnected signal lines and blocks
该检查项用于检测没有被连接上的信号或者模块。在下图中,没有将输入的端口连接到Gain模块上。

此项有很高的检查价值,因为该错误会导致功能逻辑错误,以至于生成嵌入式代码时产生变量未被正确赋值。另外,通过模型诊断配置中,将未连接的信号配置为error,也可以规避此类问题,如下图所示。

2.3 Check signal flow in model
该检查项用于检测数据流是否从左向右以及从上到下。在下图的模型中,输入信号源在右侧,输出信号在左侧,且Gain模块的朝向是反的。

该检查项目为工程建模中的默认习惯,有助于更好地理解信号流向。
2.4 Check for consistency in model element names
该检查项用于检测信号标签名和端口名是否一致。在下图的模型中,Inport的名称为VehSpd_kph,但是与之相连的信号标签是VehSpd_mps。

此检查项有很高的工程价值,因为在开发中极易出现信号接错的问题,通过该检查项可以尽早规避。
2.5 Mixing basic blocks and subsystems
该检查项用于检测模型的同一层级是否同时使用基本模块和子系统。如下图所示,数据从输入Port经过Gain模块再流入子系统中,这里的Gain模块和子系统就处于同一层级。

该做法会混淆架构层和算法逻辑层,因此检查会报错。注意,Delay模块和From Goto等模块不受此规则影响。
3 总结
MAB检查的Simulink外观规范主要是为了规范模型样式,但是本文所说的几个重点项目也直接影响到了算法逻辑开发,应尽量遵守。