概述
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控制算法建模规范解读(一)-命名规则的全部内容,希望文章能够帮你解决MAAB控制算法建模规范解读(一)-命名规则所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复