MAAB控制算法建模规范解读(一)-命名规则

来源:互联网 发布:电脑看淘宝直播 编辑:程序博客网 时间:2024/06/05 18:54


MAAB控制算法建模规范


MAABMathworks 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: SimulinkStateflow中的本地语言的使用

推荐级别

强烈推荐

范围

JMAAB

适用的Matlab版本

所有Matlab版本

前提条件

目的

增加可读性

描述

本地语言必须在描述区域使用,并且这些区域的内容不会影响到代码生成以及仿真。

Simulink例子

  模块属性对话框中的描述区域

       

  直接在模型中的文本描述

       

 

Stateflow例子

  状态和状态图属性中的描述区域

      

 

  使用‘Add Note’描述

 

以及其他方式的描述区域。