Matlab Simulink Stateflow控制算法建模要求规范 中文.docx

上传人:b****8 文档编号:13105588 上传时间:2023-06-11 格式:DOCX 页数:29 大小:708.53KB
下载 相关 举报
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第1页
第1页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第2页
第2页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第3页
第3页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第4页
第4页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第5页
第5页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第6页
第6页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第7页
第7页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第8页
第8页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第9页
第9页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第10页
第10页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第11页
第11页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第12页
第12页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第13页
第13页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第14页
第14页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第15页
第15页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第16页
第16页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第17页
第17页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第18页
第18页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第19页
第19页 / 共29页
Matlab Simulink Stateflow控制算法建模要求规范 中文.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Matlab Simulink Stateflow控制算法建模要求规范 中文.docx

《Matlab Simulink Stateflow控制算法建模要求规范 中文.docx》由会员分享,可在线阅读,更多相关《Matlab Simulink Stateflow控制算法建模要求规范 中文.docx(29页珍藏版)》请在冰点文库上搜索。

Matlab Simulink Stateflow控制算法建模要求规范 中文.docx

MatlabSimulinkStateflow控制算法建模要求规范中文

Matlab/Simulink/Stateflow控制算法建模规范

3.0版

Mathworks汽车咨询委员会

(MAAB)

1修订历史

日期

修订

2001.02.04

初始版本1.0版发布

2007.04.27

更新版本2.0版发布

2011.07.30

更新版本3.0版发布

2012.08.31

更新版本4.0版发布

 

2介绍

2.1动机

MAAB建模规范无论是在组织内部还是在与合作伙伴和分包商合作时都是项目成功与团队协作的重要基础。

遵守建模规范是实现以下目标的重要前提:

●无问题的系统集成

●明确定义的界面

●统一的模型外观、编码及文件编制

●可重用模型

●可读的模型

●无问题的模型交换

●简单高效的过程

●专业的文件编制

●清晰易懂的展示

●快速的软件变更

●与分包商的合作

●将研究或重建项目移交给产品开发

2.2对3.0版的批注

本规范的现行版本3.0版支持MATLAB算法,包括其R2007b至R2011b版。

3.0版参考了《美国国家航空航天局猎户座指南》中的部分规则。

参考的规则均在“参见”部分中标明了该规则在《美国国家航空航天局猎户座指南》中的编号。

2.3规范模板

规范描述采用下列模板出具。

建议想要附加其他规范的公司也采用下列模板进行添加。

ID:

标题

XX_nnnn:

规范的标题(须唯一且简短)

优先级

强制要求/强烈建议/建议之一

适用范围

MAAB,NA-MAAB,J-MAAB,特定公司(本地公司可选使用)

MATLAB版本

全部

RX,RY,RZ

RX及其之前的版本

RX及其之后的版本

RX至RY的版本

前提

到规范的链接,这是本规范的前提(ID+标题)

描述

对规范的描述(文本,图像)

理由

制定规范的动机

最终更改

最终更改版本编号

注:

本模板的各项元素是为使规范得到合理的理解与交流所必须提供的最小项。

允许对本模板的项目或卖主部分进行补充,只要补充的部分不与原有部分在意义上重合即可。

事实上,如果上述补充能有助于整合其他规范模板并促使核心模板本身达到更广泛的接收度,这样的补充是受到鼓励的。

2.3.1规范ID

●规范的ID由两个小写字母(表示规则的出处)和四位数字组成,中间用一段下划线隔开。

●一旦一份新规范有了ID,该ID将不再改变。

●ID用来指代相应的规范。

●以“na”、“jp”、“jc”、“eu”开头的ID预留给未来的MAAB规范使用。

●保留以“db”、“jm”、“hd”、“ar”开头的ID。

●新规则的ID不得以上述字母开头。

2.3.2规范标题

●规范的标题应对该规范的应用领域进行简短且唯一的描述(例如,名字的长度)。

●规范的标题适用于前提条件部分及定制检测工具。

●规范的标题应与到该规范的超链接同时写出。

注:

标题不应为对规范内容的多余的简要描述。

对规范内容的描述未来可能发生改变,但规范的标题始终不得更改。

2.3.3优先级

每条规范都须根据下列优先顺序进行评级:

●强制要求

●强烈建议

●建议

优先级描述该规范的重要程度并决定违反该规范的后果严重程度:

强制要求

强烈建议

建议

定义

●所有公司一致认定为绝对必不可少的规范

●所有公司都100%遵守的规范

●被一致认定为良好做法,但遗留模型阻碍了公司对该规范100%的遵守

●模型须以可能的最大程度遵守该规范,但并未要求对其100%的遵守

●为改进模型图的外观建议遵守的规范,但该规范对于模型的运行并非起决定作用

●如果遵守会更好,但并非必要的规范

后果

如果违反了该规范

●必要的项目出现缺失

●模型无法正常工作

●质量和外观劣化

●可能对可维修性、可携带型及可重用性产生不利影响

●外观可能与其他项目不一致

豁免政策

如果有意地忽略该规范

●原因须备有文件证明

2.3.4适用范围

适用范围可以是以下三者之一:

MAAB(MathWorks汽车咨询委员会)

J-MAAB(日本MAAB)

NA-MAAB(北美MAAB)

“MAAB”是一个与MathsWorks紧密合作的汽车制造商及供应商的团队。

MAAB包括两个子团队,即日本MAAB及北美MAAB。

“J-MAAB”是MAAB的子团队,包括与MathsWorks紧密合作的日本汽车制造商及供应商。

J-MAAB规则的适用范围为日本当地。

“NA-MAAB”是MAAB的子团队,包括与MathsWorks紧密合作的美国及欧洲的汽车制造商及供应商。

该规则是美国及欧洲当地的规则。

覆盖范围为美国和欧洲。

2.3.5MATLAB版本

本规范适用于MATLAB及Simulink所有版本的产品。

如果一条规则仅适用于MATLAB的某一个或某几个版本,则适用版本的信息应在MATLAB版本部分进行说明,说明格式为下列格式中的一种:

●全部:

MATLAB的所有版本

●RX,RY,RZ:

MATLAB的某一特定版本

●RX及其之前的版本:

RX发布之前的MATLAB版本

●RX及其之后的版本:

RX发布之后直至现行版本发布期间的MATLAB版本

●RX至RY的版本:

RX至RY之间的MATLAB版本

2.3.6前提

●该部分是到其他规范的链接,链接的规范均为本规范的前提(逻辑关联)。

●每个链接须注明相应规范的ID(为了一致性)和标题(为了可读性)。

“前提”部分不应包括任何其他文本。

2.3.7描述

●该部分包括对规范的详细描述。

●如有需要,可添加图像和表格。

注:

如果正式表达(数学符号、正规表达式、语法图及精确数值/范围)可用,应使用正式表达对规范进行清楚明白的描述并指定一项自动检测。

此外,为了日常参考,还须提供一份人性化的、可理解的、非正式的描述。

2.3.8理由

规范的建议可出于以下一种或多种原因:

●可读性:

易于理解的算法

●可读的模型

●统一的模型外观、编码及文件编制

●清洁的界面

●专业的文件编制

●工作流:

高效的发展进程及工作流

●易于维护

●迅速的改型设计

●可重复使用的部件

●无问题的模型交换

●模型可携带型

●模拟:

高效的模拟与分析

●模拟速率

●模拟内存

●模型检测

●验证&确认:

有能力对模型及生成的代码就下列因素进行验证和确认:

●需求的可追溯性

●测试

●无问题的系统集成

●清洁的界面

●代码生成:

生成对内嵌系统有效的代码

●快速的软件变更

●生成的代码的稳健性

2.3.9最终更改

“最终更改部分”包括文件版本编号。

2.4文件使用

以下段落提供的信息是关于使用本文件作为参考以及参照本文件编写具体项目的规范文件的。

附件A中可以找到关于对本规范进行自动校核的信息。

2.4.1规范交互作用语义

本文件的起始段“命名规范与模型架构”提供了适用于各种模型的基本规范。

其后的“Simulink与Stateflow”部分提供上述环境中的具体规则。

某些规范是依赖于其他规范的,模板中自始至终都对其作了明确说明。

2.4.2隐匿的子系统及可读性规则

如果用户没有查看模型内部隐匿子系统的内容,则关于可读性的规范不再适

3软件环境

3.1总则

3.1.1na_0026:

一致的软件环境

ID:

标题

na_0026:

一致的软件环境

优先级

建议

适用范围

北美MAAB

MATLAB版本

见“描述”

前提

描述

在软件开发过程中,建议在整个项目中始终使用一致的软件开发环境。

此处所说的软件包括但不仅限于:

●MATLAB

●Simulink

●CCompiler(供模拟)

●CCompiler(供目标硬件)

理由

可读性

□工作流

□模拟

□验证&确认

代码生成

参见

jh_0042:

必需的软件

最终更改

3.00版

3.1.2na_0027:

仅有标准库模块的使用

ID:

标题

na_0027:

仅有标准库模块的使用

优先级

建议

适用范围

北美MAAB

MATLAB版本

全部

前提

描述

公司在开发模型时应指定Simulink的一个子集以供使用。

模块列表可包括由公司或第三方开发的自定义模块库。

模型应仅由这些模块构成。

开发过程中可使用非兼容性模块。

如果使用了非兼容性模块,须用一种颜色/图标和/或注释进行标记。

这些非兼容性模块在用于生成生产代码之前必须移除。

理由

可读性

□工作流

模拟

验证&确认

代码生成

参见

hyl_0201:

只使用标准库模块

最终更改

3.00版

4命名规范

4.1总则

4.1.1ar_0001:

文件名

ID:

标题

ar_0001:

文件名

优先级

强制要求

适用范围

MAAB

MATLAB版本

全部

前提

描述

文件名应符合以下约束条件:

形式

文件名=文件名称.扩展

名称:

无前导位数,无空格符号

扩展:

无空格符号

唯一性

□上级项目目录内的所有文件名

□不得与C/C++或MATLAB关键词冲突

允许的字符

名称:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_

扩展:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

下划线

名称:

●可使用下划线分离各个部分

●不得连续使用一个以上的下划线

●不得以下划线开头

●不得以下划线结尾

扩展:

不得使用下划线

理由

可读性

工作流

模拟

□验证&确认

代码生成

最终更改

3.00版

4.1.2ar_0002:

目录名

ID:

标题

ar_0002:

目录名

优先级

强制要求

适用范围

MAAB

MATLAB版本

全部

前提

描述

目录名应符合以下约束条件:

形式

目录名=名称

名称:

无前导位数,无空格符号

唯一性

上级项目目录内的所有文件名

允许的字符

名称:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_

下划线

名称:

●可使用下划线分离各个部分

●不得连续使用一个以上的下划线

●不得以下划线开头

●不得以下划线结尾

理由

可读性

工作流

模拟

□验证&确认

代码生成

最终更改

1.00版

4.1.3na_0035:

命名规范的采用

ID:

标题

na_0035:

命名规范的采用

优先级

建议

适用范围

北美MAAB

MATLAB版本

全部

前提

描述

建议采用命名规范。

命名规范为模块、信号、参数和数据类型的命名提供了规范。

命名规范经常涉及下列问题:

●符合程序设计语言及下游工具

〇长度

〇符号的使用

●可读性

〇使用下划线

〇使用大写字母

●编码信息

〇使用“有意义”的名称

〇标准的缩写和简称

〇数据类型

〇工程单位

〇数据谱系关系

〇存储器类型

理由

可读性

工作流

模拟

□验证&确认

代码生成

最终更改

3.00版

4.2模型内容规范

4.2.1jc_0201:

子系统名称可用字符

ID:

标题

jc_0201:

子系统名称可用字符

优先级

强烈建议

适用范围

MAAB

MATLAB版本

全部

前提

描述

所有子系统模块的名称均应符合以下约束条件:

形式

名称:

●不得以数字开头

●不得出现空白间隔

●不得出现回车符

允许的字符

名称:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_

下划线

名称:

●可使用下划线分离各个部分

●不得连续使用一个以上的下划线

●不得以下划线开头

●不得以下划线结尾

理由

可读性

□工作流

□模拟

□验证&确认

□代码生成

最终更改

2.20版

4.2.2jc_0211:

输入模块与输出模块名称可用字符

ID:

标题

jc_0211:

输入模块与输出模块名称可用字符

优先级

强烈建议

适用范围

MAAB

MATLAB版本

全部

前提

描述

所有输入模块与输出模块的名称均应符合以下约束条件:

形式

名称:

●不得以数字开头

●不得出现空白间隔

●不得出现回车符

允许的字符

名称:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_

下划线

名称:

●可使用下划线分离各个部分

●不得连续使用一个以上的下划线

●不得以下划线开头

●不得以下划线结尾

理由

可读性

□工作流

□模拟

□验证&确认

□代码生成

最终更改

2.20版

4.2.3jc_0221:

信号线名称可用字符

ID:

标题

jc_0221:

信号线名称可用字符

优先级

强烈建议

适用范围

MAAB

MATLAB版本

全部

前提

描述

所有信号线名称均应符合以下约束条件:

形式

名称:

●不得以数字开头

●不得出现空白间隔

●不得出现回车符

允许的字符

名称:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_

下划线

名称:

●可使用下划线分离各个部分

●不得连续使用一个以上的下划线

●不得以下划线开头

●不得以下划线结尾

理由

可读性

□工作流

□模拟

□验证&确认

□代码生成

最终更改

2.20版

4.2.4na_0030:

Simulink公交车名称可用字符

ID:

标题

na_0030:

Simulink公交车名称可用字符

优先级

强烈建议

适用范围

北美MAAB

MATLAB版本

全部

前提

描述

所有Simulink公交车名称均应符合以下约束条件:

形式

名称:

●不得以数字开头

●不得出现空白间隔

●不得出现回车符

允许的字符

名称:

abcdefghIjklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_

下划线

名称:

●可使用下划线分离各个部分

●不得连续使用一个以上的下划线

●不得以下划线开头

●不得以下划线结尾

理由

可读性

□工作流

□模拟

□验证&确认

□代码生成

参见

jh_0040:

Simulink公交车名称可用字符

最终更改

3.00版

4.2.5jc_0231:

模块名称可用字符

ID:

标题

jc_0231:

模块名称可用字符

优先级

强烈建议

适用范围

MAAB

MATLAB版本

全部

前提

jc_0201:

子系统名称可用字符

描述

所有模块名称均应符合以下约束条件:

形式

名称:

●不得以数字开头

●不得出现空白间隔

●不得出现回车符

允许的字符

名称:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_

注:

本规则不适用于子系统模块。

理由

可读性

□工作流

□模拟

□验证&确认

□代码生成

最终更改

2.00版

4.2.6na_0014:

使用Simulink及Stateflow的本地语言

ID:

标题

na_0014:

使用Simulink及Stateflow的本地语言

优先级

强烈建议

适用范围

日本MAAB

MATLAB版本

全部

前提

描述

本地语言只能在描述字段使用。

描述字段是不影响代码生成及模拟的文本切入点。

描述字段示例包括

Simulink示例:

●模块属性的描述字段

●直接进入模型的文本注释

Stateflow示例

●图表或状态参数的描述字段

●使用“添加注释”添加的注释

注:

如果一个模型包含关于不同字符编码系统的本地语言,可能会出现Simulink无法打开该模型的状况;因此,当跨越国界进行模型交换时应留意本地字符的使用,这是非常重要的。

理由

可读性

□工作流

□模拟

□验证&确认

□代码生成

最终更改

2.00版

5模型架构

基本模块

本文件使用“基本模块”指代基础Simulink库中的模块。

基本模块举例:

5.1Simulink®与Stateflow®分区

5.1.1na_0006:

Simulink与Stateflow混合使用规范

ID:

标题

na_0006:

Simulink与Stateflow混合使用规范

优先级

强烈建议

适用范围

MAAB

MATLAB版本

全部

前提

描述

选择使用Simulink或者Stateflow来为控制算法函数的给定部分建模,应根据建模反应的性质来决定。

●如果函数主要包含复杂的逻辑运算,使用Stateflow图表。

●如果当前时间执行的控制函数取决于过去和现在逻辑关系的结合,则应使用Stateflow来实现模态逻辑。

●如果函数主要包含数值运算,使用Simulink特征。

详情:

●如果函数的主要性质是逻辑性的,但要进行一些简单的数值计算来支持这一逻辑,则使用Stateflow动作语言执行简单的数值函数。

●如果函数的主要性质是数值性的,但要进行一些简单的逻辑运算来支持这一数值,则使用Simulink模块执行简单的逻辑运算。

●如果函数的主要性质是逻辑性的,但必须进行一些复杂的数值计算来支持这一逻辑,则使用Simulink子系统来进行数值计算。

Stateflow软件应调用函数来执行该子系统。

如果当前时间执行的控制函数取决于过去和现在逻辑关系的结合,则应使用Stateflow产品来实现模态逻辑。

(如果有必要储存逻辑条件测试的结果,比如储存一个标志,这是存在模态逻辑的一个指标,应采用Stateflow软件建模。

错误

正确

●应使用Simulink来执行包含多次赋值状态的数值表达式,例如,差分方程,积分,导数和过滤。

错误

正确

理由

可读性

工作流

模拟

验证&确认

代码生成

最终更改

2.00版

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2