MAAB控制算法建模规范解读(一)-命名规则
来源:互联网 发布:电脑看淘宝直播 编辑:程序博客网 时间:2024/06/05 18:54
MAAB控制算法建模规范
MAAB(Mathworks Automotive AdvisoryBoard)是制定Matlab,Simulink,Stateflow以及Emmbedded Coder使用规范的组织。MAAB控制算法建模规范正式这个组织的重要的输出物,主要适用于汽车行业的基于模型的控制策略开发。
随着汽车控制软件越来越复杂,控制策略的开发已经由手写代码切换到了基于模型的开发。在模型开发过程中,开发模型的质量很大程度上取决于工程师的个人的能力和经验,往往在一个项目中不同工程师开发出来的模型质量良莠不齐,风格各异。在此背景下,MAAB控制算法建模规范应运而生。此规范的目的主要有以下方面:
1.可读性
提高模型的可读性,提高功能分析的可读性,防止模块之间的连接错误,必要的注释,统一的模型风格等
2. 提高模型的可复用性
3. 仿真与验证
保证系统能正确地仿真,保证系统易于测试
4.代码生成
提高代码生成效率,确保代码的鲁棒性
本文的介绍基于文档《Control Algorithm Modeling Guidelines Using Matlab,Simulink and Stateflow Version3.0》,根据文档的结构,主要从以下几个方面介绍建模规范:命名规则,模型架构,模型配置选项,Simulink规则,Stateflow规则,枚举数据类型使用规则。
一、命名规
此命名规范适用以下模块的命名:子系统名称、输入输出系统名称、信号线名称
和模块名称,以及对话框中的文本语言描述。
ID:标题
ar_0001:文件名
推荐级别
强制性
范围
MAAB
适用的Matlab版本
所有Matlab版本
前提条件
无
目的
描述
格式
文件名=名称.扩展名
名称:不能以数字开头,不能有空格
扩展名:不能有空格,扩展名不能有下划线
唯一性
主项目路径下文件不能重名。
允许使用的字符
名称可使用字符
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 _
扩展名可使用字符
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
下划线
名称
●可以使用下划线将名称分割成不同部分
●不能连续出现两个下划线
●不能以下划线开头
●不能以下划线结尾
扩展名
● 扩展名中不能使用下划线
正确例子
Test2.slx te_st.slx
错误例子
2test.slx(错误原因:名称以数字开头)
test.sl x(错误原因:扩展名有空格)
ID:标题
ar_0002:目录名
推荐级别
强制性
范围
MAAB
适用的Matlab版本
所有Matlab版本
前提条件
无
目的
描述
格式
目录名=名称
名称:不能以数字开头,不能有空格
唯一性
主项目路径下文件不能重名。
允许使用的字符
名称可使用字符
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 _
下划线
名称
●可以使用下划线将名称分割成不同部分
●不能连续出现两个下划线
●不能以下划线开头
●不能以下划线结尾
ID:标题
jc_0201:子系统名称
推荐级别
强烈推荐
范围
MAAB
适用的Matlab版本
所有Matlab版本
前提条件
无
目的
增加可读性
描述
格式
名称:
●不能以数字开头
●不能有空格
●不允许回车
允许使用的字符
名称可使用字符
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 _
下划线
名称
●可以使用下划线将名称分割成不同部分
●不能连续出现两个下划线
●不能以下划线开头
●不能以下划线结尾
ID:标题
jc_0211:输入输出模块名称
推荐级别
强烈推荐
范围
MAAB
适用的Matlab版本
所有Matlab版本
前提条件
无
目的
增加可读性
描述
格式
名称:
●不能以数字开头
●不能有空格
●不允许回车
允许使用的字符
名称可使用字符
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 _
下划线
名称
●可以使用下划线将名称分割成不同部分
●不能连续出现两个下划线
●不能以下划线开头
●不能以下划线结尾
ID:标题
jc_0221:信号线名称
推荐级别
强烈推荐
范围
MAAB
适用的Matlab版本
所有Matlab版本
前提条件
无
目的
增加可读性
描述
格式
名称:
●不能以数字开头
●不能有空格
●不能有控制字符
●不允许回车
允许使用的字符
名称可使用字符
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 _
下划线
名称
●可以使用下划线将名称分割成不同部分
●不能连续出现两个下划线
●不能以下划线开头
●不能以下划线结尾
ID:标题
na_0030: Simulink总线名称
推荐级别
强烈推荐
范围
MAAB
适用的Matlab版本
所有Matlab版本
前提条件
无
目的
增加可读性
描述
格式
名称:
●不能以数字开头
●不能有空格
●不允许回车
允许使用的字符
名称可使用字符
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 _
下划线
名称
●可以使用下划线将名称分割成不同部分
●不能连续出现两个及以上的下划线
●不能以下划线开头
●不能以下划线结尾
ID:标题
jc_0231:模块名称
推荐级别
强烈推荐
范围
MAAB
适用的Matlab版本
所有Matlab版本
前提条件
无
目的
增加可读性
描述
格式
名称:
●不能以数字开头
●不能有空格
●不能有双字节字符
●允许回车
允许使用的字符
名称可使用字符
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 _
下划线
名称
●可以使用下划线将名称分割成不同部分
●不能连续出现两个下划线
●不能以下划线开头
●不能以下划线结尾
ID:标题
na_0014: Simulink和Stateflow中的本地语言的使用
推荐级别
强烈推荐
范围
JMAAB
适用的Matlab版本
所有Matlab版本
前提条件
无
目的
增加可读性
描述
本地语言必须在描述区域使用,并且这些区域的内容不会影响到代码生成以及仿真。
Simulink例子
● 模块属性对话框中的描述区域
● 直接在模型中的文本描述
Stateflow例子
● 状态和状态图属性中的描述区域
● 使用‘Add Note’描述
以及其他方式的描述区域。
- MAAB控制算法建模规范解读(一)-命名规则
- 3GPP规范命名规则解读
- 3GPP规范命名规则解读
- CSS命名规范(规则)
- Java命名规范(命名规则)
- 命名规范(一)
- 【命名规范】图片命名规则
- 命名规范,编码规则(Android版)
- CSS规范 - 命名规则
- CSS规范 - 命名规则
- 我的开发规范一——项目命名规则
- C#命名规范(一)
- CSS命名规范和规则
- 前端规范之命名规则
- iOS编码规范、命名规则
- DIV+CSS规范命名规则
- 前端开发CSS命名规范-命名规则
- 解读JDO规范之ORM(一)
- 数据库视频总结
- 文章标题
- spring
- Fragment学习
- 电路稳定性(cir.pas/c/cpp)(栈的应用)
- MAAB控制算法建模规范解读(一)-命名规则
- linux 学习笔记
- java图书管理系统
- SQL Sevrer存储过程
- C语言乘法口诀表,100-200间素数,1000-2000的闰年。
- 解决:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
- CCF Markdown
- UE4之Event Dispatchers讲解
- 【bzoj4318】【OSU!】期望dp——维护多个期望值递推