控制策略模型建模规范(模型与模块)

本部分对模型和模块的外观特性进行约定

4.1. 背景色约定


模块

背景色

Simulink设置值

Atomic Unit/Subsystem

绿色

Green

Inport

绿色

Green

Outport

红色

Red

标定量

灰色

Gray

监控变量

灰色

Gray

Constant

灰色

Gray

引用公共函数

黄色

Yellow


4.2. 模型中允许使用的数据类型

Simulink supports all built-in numeric MATLAB® data types except int64 and uint64.


Name

Description

Inherit: Inherit from Parent value

Use data type of Settings/Parent value.

Inherit: Inherit via back propagation

Use data type of the driving block.

double

Double-precision floating point

single

Single-precision floating point

int8

Signed 8-bit integer

uint8

Unsigned 8-bit integer

int16

Signed 16-bit integer

uint16

Unsigned 16-bit integer

int32

Signed 32-bit integer

uint32

Unsigned 32-bit integer

boolean

Boolean (1 = true; 0 = false)

fixdt(1,16)

fixed point fixdt(1,16).

fixdt(1,16,0)

fixed point fixdt(1,16,0).

fixdt(1,16,2^0,0))

fixed point fixdt(1,16,2^0,0).

Enum:

enumerated data type

Bus:

bus object


4.3. 模型注释

在模型中的关键算法必须进行注释,注释必须写在注释区域,注释文字不影响仿真和代码生成,注释需遵循以下原则:
• 加框
• 加阴影
• 英文
• 字体字号:Arial,常规,10

本地化的语言应该仅用于具有描述、注释性质的区域,如模块的descriptive fields 。


4.4. 模型组织结构

对模型进行层级结构划分有利于提高模型的可读性、可维护性。一般在进行逻辑系统建模时,进行层级结构划分时,会用到下面的一些模块:
• Subsystem
• Atomic Subsystem
• Stateflow
模型中所有的层级应该和控制系统具备的各个功能及其结构保持一一对应的关系,并保证可读性、良好的工作流,可以被测试验证,可以生成代码。
在建模时推荐按照如下方式进行层级划分:
• 顶层
• 触发层(非必须)
• 结构层
• 数据层
顶层是体现模型总体外貌特征最外层,包括模型整体输入和输入输出变量定义和逻辑控制部分。触发层表明了各个子模块的触发时序,如果有必要还要设置其优先级,并用注释方式表达出来。结构层主要显示模型运算逻辑框架,是进一步的功能划分,在其中的各个子系统模块建议设置为原子子系统。数据层由“基本模块”构成,为模型最底层,用于表示数据传递顺序和数据运算过程。
每个模型以library的方式创建,并使用层级管理,便于后续的版本更新管理。一般由三个层级组成:
• 第一层级:集成的模块,命名:xxxx_yyyy (模块缩写名_项目代号缩写)
• 第二层级:功能子系统,命名:xxxx_zzzz(模块缩写名_子系统功能缩写)
• 第三层级:细分子系统,命名:根据子系统特性和功能命名
• 第四层级:根据需要增加该层级

猜你喜欢

转载自blog.csdn.net/lm393485/article/details/88894911