Matlab Simulink Stateflow控制算法建模规范 中文.docx
- 文档编号:4563029
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:21
- 大小:21.45KB
Matlab Simulink Stateflow控制算法建模规范 中文.docx
《Matlab Simulink Stateflow控制算法建模规范 中文.docx》由会员分享,可在线阅读,更多相关《Matlab Simulink Stateflow控制算法建模规范 中文.docx(21页珍藏版)》请在冰豆网上搜索。
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版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab Simulink Stateflow控制算法建模规范 中文 Stateflow 控制 算法 建模 规范