1 / 11
文档名称:

从MatlabSimulink生成易读可重用代码.doc

格式:doc   大小:502KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

从MatlabSimulink生成易读可重用代码.doc

上传人:scuzhrouh 2020/11/21 文件大小:502 KB

下载得到文件列表

从MatlabSimulink生成易读可重用代码.doc

文档介绍

文档介绍:从Matlab Simulink生成易读可重用代码
by: 吴少风
MATLAB提供从MATLAB代码或simulink模型生成C/C++代码的功能。从MATLAB 2011b版开始,MATLAB将代码生成Coder作为单独模块发布。MATLAB每年更新两次,经过不断完善,新版本的Coder功能更强大。用MATLAB生成C/C++代码具有MATLAB Coder、Simulink Coder、Embedded Coder三个功能模块,MATLAB Coder从MATLAB 代码生成代码,Simulink Coder从Simulink模型生成代码,Embedded Coder结合MATLAB Coder和Simulink Coder,生成嵌入式代码。利用代码生成功能,可以快速从模型生成可靠的代码,应用越来越广泛。
要生成易于阅读、重用性好的代码,必须进行详细设置。文中内容以易读、可重用为目标,建立嵌入式代码生成的演示模型,了解Simulink代码生成相关工具,介绍详细设置步骤,最终生成容易阅读、可重用代码,供单处理器单任务实时嵌入式系统应用。文中的方法为严格控制生成代码的个人总结。以文档呈现,方便自己今后查看,也希望能为其他人提供一些方便。
简单示例
本部分搭建一个简单的PI控制器模型,示范模型建立、设置、生成代码的详细步骤。
新建嵌入式代码生成模型,MATLAB->simulink,New / Embedded Coder / Code Generation System。不选择一般simulink模板,可减少模型配置参数的设置。
搭建如Error! Reference source not ,保存文档,设置文件名。
图 1. 一个简单示例模型
点击工具栏图标 ,设置模型配置参数,应用并保存。对嵌入式应用,固定步长,离散,可调参数,ERT目标,C语言,设置基本固定,未设置的地方保持默认。
solver options: type -- Fixed step. solver -- Discrete.
optimization->signals and parameters:
Default parameter behavior -- tunable.
Pass reusable subsystem outputs as --输出较多选用structure reference.
hardware implementation: 按实际设hardware board, device, device details.
code generation:
System target , Language -- C, generate code only. code generation objectives.
comments: include comments, 默认全选,可按需要选择。
symbols: 命名规则设置,按各自代码规范设置。
interface: 设置整个模型生成代码的接口。
code interface package,可选择可重用,Pass root level I/O as,模型输入输出参数一般较多,一般选择结构体,structure reference,模型数据、输入、输出通过各自独立结构体传入参数;part of model data structure,一个结构体传入参数。也可选择不可重用。
configure model functions,点击进入,设置模型具体的C原型。get default configuration,可修改模型默认initialize/step函数名,及参数,各输入输出单独作为函数参数,这与结构体传参是矛盾的,不能同时设置。
code style: 设置代码风格。
Parentheses括号, -- Nominal(readability),按可读性优化。
Casting mode 强制转换方式,Nominal.
Code indentation 代码缩进, size -- 4.
Code placement: 代码放置,可设置变量定义或声明在单独文件还是和源代码放一起,头文件包含是< >还是" "。
Data type replacement: 数据类型替换。
设置模型中每一个基本模块的属性。
包括名称、值、数据类型、采样时间等。子模块或者引用模型等这类自定义模块,除了内部基本模块的属性外,还要设置各自的模块属性。模块中参数等值,必须按照设计配置;如果想使用可调参数,则将参数设置为变量,再设置变量值。生成代码模型中的模块名设置,最好遵循