Matlab-Simulink-Stateflow-TargetLink建模指导手册.pdf
文本预览下载声明
Matlab/Simulink/Stateflow/TargetLink 建模指导手
册
第二版
1 引言
1.1 手册编写目的
编写本手册的目的是为了实现MATLAB/Simulink/Stateflow 开发出的模型与TargetLink
自动代码生成之间的无缝连接,即 MATLAB/Simulink/Stateflow 开发出的模型可以由
TargetLink 自动生成完备、准确和高效的代码。本手册描述的规则只适用于控制器的开发,
遵守本规则可以实现高效代码生成。
本手册讨论的问题包括 (但不限于)以下几个方面:
(1)为实现Targetlink 的代码生成,MATLAB/Simulink/Stateflow 的模型结构如何设计?
(2 )为建立条理清晰、结构完备、可读性好和转换方便的模型,应该采用何种建模风
格?
(3 )为实现高效代码生成,应该如何设置Targetlink 的代码生成选项?
(4 )如何遵守MISRA C 规则,实现模型和代码的可靠性和安全性问题。
应当注意的是本手册包含的建模规则并不能完全代替TargetLink 指导手册,非常欢迎用
户反馈使用中存在的问题,我们在今后的版本中进行回复和解答。
1.2 手册包含的主要内容
本手册可以从整体上分成2 个部分:
(1)与功能模块 (模型)开发相关的规则;
(2 )为实现模型向高效C 代码的转换,软件开发阶段应遵守的规则。
本手册的第 2~9 章主要阐述功能模块开发相关的规则。这些规则专门用来处理
Simulink/Stateflow 的建模问题。因为TargetLink 实现代码生成依赖于Simulink 的模型类型,
所以在建模过程中要首先考虑TargetLink 的代码实现问题。
第10~15 章主要阐述了TargetLink 代码生成过程中的选项如何设置。
1.3 规则的结构
本手册描述的规则采用相同的结构,主要包含以下内容:
(1)规则名;
(2 )规则的详细描述;
(3 )不遵守规则带来的后果;
(4 )为进一步解释规则所提供的一些背景信息;
(5 )可以进一步参考的文献资料;
(6 )一个或多个实例以进一步解释规则。
而且,手册中每一章或每一段可能包含引言,提供规则的背景信息,注意事项和简要的
总结。
2 模型结构方面的规则
本章的规则部分阐述了MATLAB/Simulink/Stateflow 的合理模型结构。本章阐述的模型
结构仅仅是提供一些范例,并不强制要求。本章主要介绍了进程块 (与实时要求相关)和组
件块 (与功能要求相关)。进程块和组件块确保了层次分明的模型结构,进而能够确定软件
的外部接口,软件模块之间的结构和软件模型。
2.1 进程块
进程块是根据实时性要求,由一些特殊子系统构成的应用程序,是软件的一部分。具有
相同实时性要求的一系列进程构成了一个操作系统任务,并按照预先设定的顺序执行。
2.1.1 进程块的实现
进程块必须以原子子系统的方式实现。建议采用特定的颜色为进程块着色,例如:(1)
用绿色标识进程块子系统;(2 )用绿色标识进程块输入端口;(3 )用红色标识进程块输出端
口。
目的
子系统封装,模型结构清晰。
解释
根据实时性要求,进程块作为原子单元以特定的时间间隔执行。
举例
进程块必须以原子子系统方式实现,并在模块参数对话框设定合适的选项参数,如图1
所示。
图1 正确的进程块
2.1.2 进程块的内容
应用程序算法必须采用进程块建立完整的模型。后期必须与目标模块建立端口的运算
不能在进程块外建模,只有Signal Attributes, Signal Routing, Sinks 和Sources 库的模块才能
在进程块外使用。
目的
合理的层次结构
解释
将控制功能放置在不同的进程块中,使得在不同系统任务中功能集成起来,因为进程块
由原子单元构成,这些原子单元不能进一步包含进程块。
举例
由3 个进程块构成的模型如图2
显示全部