logo资料库

matlab代码生成规范MAAB_v3.0中文翻译版.pdf

第1页 / 共140页
第2页 / 共140页
第3页 / 共140页
第4页 / 共140页
第5页 / 共140页
第6页 / 共140页
第7页 / 共140页
第8页 / 共140页
资料共140页,剩余部分请下载后查看
使用 MATLAB 控制算法的建模®,仿真软 件®,Stateflow® 版本 3.0 MathWorks 汽车咨询委员会(MAAB)
使用 MATLAB 控制算法的建模®,仿真软件®,STATEFLOW® ............................................................. 1 1. 历史 ..................................................................................................................................................... 6 2. 介绍 ..................................................................................................................................................... 7 2.1. 动机 ............................................................................................................................................................. 7 2.2. 笔记 3.0 版本 .............................................................................................................................................. 7 2.3. 指南模板 ..................................................................................................................................................... 7 2.3.1. 指导ID: .................................................................................................................................. 8 2.3.2. 指导方针标题: ....................................................................................................................... 8 2.3.3. 优先级: ................................................................................................................................... 8 2.3.4. 范围: ....................................................................................................................................... 9 2.3.5. MATLAB® 版本 ....................................................................................................................... 9 2.3.6. 先决条件: ............................................................................................................................... 9 2.3.7. 描述: ..................................................................................................................................... 10 2.3.8. 理由是: ................................................................................................................................. 10 2.3.9. 最后的改变: ......................................................................................................................... 10 2.4. 文档使用 ................................................................................................................................................... 10 2.4.1. 指导交互语义 ....................................................................................................................... 10 2.4.2. 蒙面子系统和可读性规则。 ................................................................................................ 11 3. 软件环境 ........................................................................................................................................... 12 3.1. 一般的指导方针 ....................................................................................................................................... 12 3.1.1. na_0026:一致的软件环境 .................................................................................................... 12 3.1.2. na_0027:只使用标准库块。 ................................................................................................. 12 4. 命名约定 ........................................................................................................................................... 14 4.1. 一般的指导方针 ....................................................................................................................................... 14 4.1.1. ar_0001:文件名 .................................................................................................................... 14 4.1.2. ar_0002:目录名 .................................................................................................................... 15 4.1.3. na_0035:采用命名约定。 .................................................................................................... 15 4.2. 模型内容的指导方针 .............................................................................................................................. 16 4.2.1. jc_0201:子系统名称的可用字符。 ...................................................................................... 16 4.2.2. jc_0211: Inport 块和Outport 块的可用字符。 ..................................................................... 17 4.2.3. jc_0221:用于信号线名称的可用字符。 ............................................................................... 17 4.2.4. na_0030:用于模拟总线名称的可用字符。 .......................................................................... 18 4.2.5. jc_0231:用于块名称的可用字符。 ...................................................................................... 19 4.2.6. na_0014:在Simulink 和Stateflow中使用本地语言。 .......................................................... 19 5. 模型架构 ........................................................................................................................................... 22 5.1. 动态仿真模块® 和 STATEFLOW® 分区 ................................................................................................... 22 5.1.1. na_0006:混合使用Simulink 和Stateflow的指导原则。 ...................................................... 22 5.1.2. na_0007:使用流程图、真值表和状态机的指南。............................................................... 28 5.2. 子系统的层次结构 .................................................................................................................................. 28 5.2.1. db_0143:模型级别上类似的块类型。 ................................................................................. 28 5.2.2. db_0144:使用的子系统 ........................................................................................................ 30 5.2.3. db_0040:模型层次结构 ........................................................................................................ 31 5.2.4. na_0037:使用单变量条件。 ................................................................................................. 31 5.2.5. na_0020:对不同子系统的输入数量。 ................................................................................. 32 5.2.6. na_0036:默认的变体 ............................................................................................................ 32
5.3. J-MAAB 模型架构分解 .......................................................................................................................... 33 5.3.1. jc_0301:控制器模型 ............................................................................................................. 33 5.3.2. jc_0311:顶层/根级别。 ........................................................................................................ 34 5.3.3. jc_0321:触发层 ..................................................................................................................... 35 5.3.4. jc_0331:结构层 ..................................................................................................................... 35 5.3.5. jc_0341:数据流层 ................................................................................................................. 36 6. 模型配置选项 .................................................................................................................................... 38 6.1.1. jc_0011:布尔数据类型的优化参数。................................................................................... 38 6.1.2. jc_0021:模型诊断设置 ......................................................................................................... 38 7. 动态仿真模块 .................................................................................................................................... 40 7.1. 外观图 ....................................................................................................................................................... 40 7.1.1. na_0004:仿真软件模型的外观 ............................................................................................. 40 7.1.2. db_0043: Simulink 字体和字体大小。 .................................................................................. 41 7.1.3. db_0042: Simulink 模型中的端口块。 .................................................................................. 41 7.1.4. na_0005:在Simulink 模型中,端口块的名称可见性。 ....................................................... 42 7.1.5. jc_0081:端口块的图标显示。 .............................................................................................. 43 7.1.6. jm_0002:块调整.................................................................................................................... 44 7.1.7. db_0142:块名称的位置。 .................................................................................................... 45 7.1.8. jc_0061:显示块名称。 ......................................................................................................... 46 7.1.9. db_0146:触发、启用、条件子系统。 ................................................................................. 46 7.1.10. db_0140:显示基本块参数。 ............................................................................................... 47 7.1.11. db_0032:仿真软件信号 ...................................................................................................... 48 7.1.12. db_0141: Simulink 模型中的信号流。 ................................................................................ 49 7.1.13. jc_0171:在使用Goto 和From 块时保持信号流。 ............................................................. 50 7.1.14. na_0032:使用合并块。 ...................................................................................................... 51 7.1.15. jm_0010: Simulink 模型中的端口块名称。 ........................................................................ 51 7.1.16. jc_0281:触发端口块的命名和启用端口块。 ..................................................................... 52 7.2. 信号 ........................................................................................................................................................... 53 7.2.1. na_0008:在信号上显示标签。 ............................................................................................. 53 7.2.2. na_0009:信号标签的输入与传播。 ..................................................................................... 54 7.2.3. db_0097:信号和总线的标签位置。 ..................................................................................... 55 7.2.4. db_0081:未连接信号、块输入和块输出。 .......................................................................... 55 7.3. 块使用 ....................................................................................................................................................... 56 7.3.1. na_0003: If 条件块中的简单逻辑表达式。 .......................................................................... 56 7.3.2. na_0002:适当地执行基本逻辑和数值运算。 ...................................................................... 57 7.3.3. jm_0001:禁止在控制器内的Simulink标准块。................................................................... 59 7.3.4. hd_0001:禁止仿真软件下沉 ................................................................................................. 60 7.3.5. na_0011: Goto 和From blocks 的范围。 .............................................................................. 61 7.3.6. jc_0141:使用开关块。 ......................................................................................................... 62 7.3.7. jc_0121:使用求和块。 ......................................................................................................... 63 7.3.8. jc_0131:使用关系运算符块。 .............................................................................................. 64 7.3.9. jc_0161:使用数据存储读/写/内存块。 ................................................................................ 65 7.4. 块的参数 ................................................................................................................................................... 66 7.4.1. db_0112:索引 ....................................................................................................................... 66 7.4.2. na_0010:将数据流分组到信号中。 ..................................................................................... 66 7.4.3. db_0110:基本块中的可调参数。 ......................................................................................... 67 7.5. 仿真软件模式 ........................................................................................................................................... 68 7.5.1. na_0012:使用Switch 和if - else 动作子系统。 .................................................................... 68
7.5.2. db_0114: if结构的Simulink 模式。 ..................................................................................... 69 7.5.3. db_0115:用于案例构造的Simulink 模式。 .......................................................................... 70 7.5.4. na_0028:使用if - else 动作子系统来替换多个开关。 ......................................................... 71 7.5.5. db_0116:用逻辑块构建逻辑结构的Simulink模式。 ........................................................... 72 7.5.6. db_0117:矢量信号的Simulink模式。 .................................................................................. 73 7.5.7. jc_0351:初始化的方法 ......................................................................................................... 75 7.5.8. jc_0111:子系统的方向 ......................................................................................................... 77 8. STATEFLOW ................................................................................................................................... 79 8.1. 图表的外观 ............................................................................................................................................... 79 8.1.1. db_0123:Stateflow港口名称 ................................................................................................. 79 8.1.2. db_0129:Stateflow过渡的外观 ............................................................................................. 79 8.1.3. db_0137:状态机中的状态。 ................................................................................................. 81 8.1.4. db_0133:使用流程图的模式。 ............................................................................................. 81 8.1.5. db_0132:转换流程图 ............................................................................................................ 82 8.1.6. jc_0501:状态块中的条目格式。 .......................................................................................... 83 8.1.7. jc_0511:从图形函数中设置返回值。................................................................................... 84 8.1.8. jc_0531:缺省转换的位置。 .................................................................................................. 85 8.1.9. jc_0521:从图形函数中使用返回值。................................................................................... 86 8.2. STATEFLOW 数据和操作 .......................................................................................................................... 87 8.2.1. na_0001:位Stateflow运营商 ................................................................................................ 87 8.2.2. jc_0451:在状态流中使用unary - on 无符号整数。 ............................................................. 89 8.2.3. na_0013:状态流中的比较操作。 ......................................................................................... 89 8.2.4. db_0122: Stateflow和Simulink 接口信号和参数。 .............................................................. 90 8.2.5. db_0125:内部信号和局部辅助变量的范围。 ...................................................................... 91 8.2.6. jc_0481:在状态流中的浮点数使用硬相等比较。 ................................................................ 92 8.2.7. jc_0491:在单个状态流范围内重用变量。 ........................................................................... 93 8.2.8. jc_0541:在Stateflow中使用可调参数。 .............................................................................. 95 8.2.9. db_0127:在状态流中的MATLAB 命令。 ............................................................................. 95 8.2.10. 在Stateflow jm_0011:指针 .................................................................................................. 97 8.3. 事件 ........................................................................................................................................................... 97 8.3.1. db_0126:事件的范围 ............................................................................................................ 97 8.3.2. jm_0012:事件广播 ................................................................................................................ 98 8.4. 状态模式 ................................................................................................................................................... 99 8.4.1. db_0150:状态机模式。 ........................................................................................................ 99 8.4.2. db_0151:转换操作的状态机模式。 ................................................................................... 100 8.5. 流程图的模式 ......................................................................................................................................... 101 8.5.1. db_0148:用于条件的流程图。 ........................................................................................... 101 8.5.2. db_0149:条件动作的流程图模式。 ................................................................................... 103 8.5.3. db_0134:如果构造是流程图模式。 ................................................................................... 104 8.5.4. db_0159:案例结构的流程图模式。 ................................................................................... 106 8.5.5. db_0135:循环结构的流程图模式。 ................................................................................... 108 8.6. 状态表结构 ............................................................................................................................................. 109 8.6.1. na_0038:状态流程图中的级别。 ....................................................................................... 109 8.6.2. na_0039:在状态流程图中使用Simulink。 ......................................................................... 110 8.6.3. na_0040:每个容器的状态数。 ........................................................................................... 111 8.6.4. na_0041:函数类型的选择。 ............................................................................................... 111 8.6.5. na_0042: Simulink 函数的位置。 ....................................................................................... 112 9. 枚举数据 ......................................................................................................................................... 114
9.1.1. na_0033:枚举类型使用 ...................................................................................................... 114 9.1.2. na_0031:默认枚举值的定义。 ........................................................................................... 114 10. MATLAB 函数 .............................................................................................................................. 115 10.1. MATLAB 函数出现............................................................................................................................. 115 10.1.1. na_0018:嵌套if/else 和case语句的数量。 ...................................................................... 115 10.1.2. na_0019:限制变量的名字................................................................................................. 115 10.1.3. na_0025:MATLAB 函数头 ................................................................................................. 116 10.2. MATLAB 函数数据和操作。 ............................................................................................................ 117 10.2.1. na_0034: MATLAB 函数块输入/输出设置。 .................................................................... 117 10.2.2. na_0024:全局变量 ............................................................................................................ 117 10.3. MATLAB 函数模式............................................................................................................................. 118 10.3.1. na_0022:用于开关/ Case 语句的推荐模式。 ................................................................... 118 10.4. MATLAB 函数使用............................................................................................................................. 119 10.4.1. na_0016: MATLAB 函数的源代码行。 ............................................................................. 119 10.4.2. na_0017:被称为函数级的数量。 ..................................................................................... 120 10.4.3. na_0021:字符串 ................................................................................................................ 120 11. 附录 A:自动化工具的建议。 ........................................................................................................ 122 12. 附录 B:指导写作 ........................................................................................................................... 123 13. 附录 C:流程图参考 ....................................................................................................................... 124 14. 过时的规则 .................................................................................................................................... 131 14.1. 在 2.2 版本中删除 ................................................................................................................................ 131 14.2. 在 3.0 版本中删除 ................................................................................................................................ 131 15. 术语表 ........................................................................................................................................... 132
1.历史 日期 改变 02.04.2001 初始文档版本,版本 1.00。 04.27.2007 2.00 版本更新版本 07.30.2011 2.20 版本更新版本 08.31.2012 3.0 版本更新版本
2.介绍 2.1. 动机 MAAB 指导方针是项目成功和团队合作的重要基础——无论是在内部还是在与合作伙伴或分包商 合作时。遵守指导方针是实现这一目标的一个关键先决条件。  系统集成没有问题  经过良好定义的接口。  模型、代码和文档的统一外观。  可重用模型  可读模式  没有交换模型  一个简单的、有效的过程  专业文档  可以理解的演讲  快速软件更改  与分包商合作  将研究或开发项目移交给产品开发。 2.2. 笔记 3.0 版本 本文档的当前版本 3.0,支持 MATLAB 通过 R2011b 发布 R2007b。版本 3.0 参考了 NASA Orion 风 格指南(http://www.mathworks.com/aerospacedefense/standards/nasa.html)。从 NASA 的猎户座指南中 引用的规则被标注为“See also”字段,它提供了原始的规则编号。 2.3. 指南模板 指南描述使用以下模板记录。希望创建额外指导方针的公司被鼓励使用相同的模板。 ID:标题 XX_nnnn:指南的标题(独特,简短) 优先级 强制/强烈推荐/推荐的。 范围 MAAB, NA-MAAB, J-MAAB,特定公司(可选本地公司使用) MATLAB® 版本 所有 RX,RY,RZ RX 和更早 RX,后来 RX 在变化中 先决条件 指向指导方针的链接,这是本指南的先决条件(ID+标题) 描述 指南的说明(文字、图片) 基本原理 动机的指导方针 最后一次改 变 最后更改的版本号。 注意:此模板的元素是必需的最小必需项目,以进行适当的理解和交换指导方针。在这个模板中添 加项目或供应商字段是可能的,只要它们的含义与现有的任何字段不重叠。事实上,如果它们有助 于集成其他指导原则模板并导致更广泛地接受核心模板本身,甚至会鼓励这些添加。
2.3.1. 指导 ID:  准则 ID 是用两个小写字母(表示规则的起源)和一个四位数,用下划线隔开的。  一旦新指南有了 ID, ID 就不会被更改。  该 ID 用于引用指导方针。  这两个字母的前缀 na, jp, jc 和 eu 是为将来的 MAAB 委员会规则保留的。  遗留前缀、db、jm、hd 和 ar 都是保留的。  没有新的规则将用这些遗留前缀编写。 2.3.2. 指导方针标题:  标题应该是一个简短而独特的应用指南领域的描述(例如,名字的长度)。  标题用于先决条件字段和定制的检查工具。  标题文本应该出现链接到指南的超链接。 注意:标题不应该是指南内容的冗余简短描述。指南的描述可能会随着时间而改变,但是标题应该 保持稳定。 2.3.3. 优先级: 每条指导方针都必须按照下列优先次序进行评价:  强制性的  强烈推荐  推荐 优先级描述了指导方针的重要性,并确定了违规的后果。 强制性的  所有公司都同意的指 导方针是绝对必要 的。  所有公司都遵循的准 则是 100%。 强烈 推荐 定义  商定的指导方针是一 种良好的实践,但是 遗留模型妨碍了公司 100%地遵守该准则。  模型应尽可能符合这 些准则;但是,不需要 100%的遵从性。 推荐  建议改进模型图的外 观,但对运行模型并 不重要。  符合要求的准则,但 不需要。
分享到:
收藏