关键词不能为空

当前您在: 主页 > 英语 >

从Matlab Simulink生成易读可重用代码

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-02 11:24
tags:

-

2021年2月2日发(作者:内容的英文)


实用标准




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


C oder



Simulink


模型生成 代码,


Embedded


Coder


结合


MATLAB Coder



Simulink Coder

< br>,


生成嵌入式代码。


利用代码生成功能,


可以快速从模


型生成可靠的代码,应用越来越广泛。



要生成易于阅读、重用性好的代码,


必须进行详细设置。


文中内容以易读、


可重用为目


标,建立嵌入式 代码生成的演示模型,了解


Simulink


代码生成相关工具 ,介绍详细设置步


骤,最终生成容易阅读、


可重用代码,供单处 理器单任务实时嵌入式系统应用。文中的方法


为严格控制生成代码的个人总结。


以文档呈现,


方便自己今后查看,


也希望能为其 他人提供


一些方便。




1.



简单示例



本部分搭建一个简单的


PI


控制器模型,示范模型建立、设置、生成代码的详细步骤。



1)



新建嵌入 式代码生成模型,


MATLAB->simulink



New


/


Embedded


Coder


/


Code Generation System


。不选择一般


simul ink


模板,可减少模型配置参数的设置。



文案大全



实用标准



2)



搭建如


错误


!


未找到引用源。


所示简易模型, 保存文档,设置文件名。






1.


一个简单示例模型



3)



点击工具栏图标



,设置模型配置参数 ,应用并保存。对嵌入式应用,固定步


长,离散,可调参数,


E RT


目标,


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


file


--


,


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


< p>
一个结构体传入参数。也可选择不可重用。



?



configure


model


functions


,点 击进入,设置模型具体的


C


原型。


ge t


default configuration


,可修改模 型默认


initialize/step


函数名,及参数,


各输入输出单独作为函数参数,这与结构体传参是矛盾的,不能同时设置。

< br>


?



code style:


设置代码风格。



?



Parentheses


括号,



-- Nominal(readability)


,按可读性优化。



?



Casting mode


强制转换方式,


Nominal.



?



Code indentation


代码缩进,



size -- 4.


?



Code placement:


代码放置,可设置变量定义 或声明在单独文件还是和源代码


放一起,头文件包含是


< head.h >


还是





?



Data type replacement:


数据类型替换。



4)



设置模型中每一个基本模块的属性。



包括名称、值、数据类型、采样时间等。子模块或者引用模型等这类自定义模块,除了


内 部基本模块的属性外,还要设置各自的模块属性。模块中参数等值,必须按照设计配置;


如果想使用可调参数,


则将参数设置为变量,


再设置变量值。< /p>


生成代码模型中的模块名设置,


最好遵循目标语言的命名规则,< /p>


因为生成代码中的一些名称可以从模块名继承。


嵌入式应用


大多无浮点单元,定点数据的设置在模块属性的代码生成栏。



文案大全



实用标准



将图



1


中各模块可按如下方式设置:



?



inport

,点击模块下方名称,设置模块名,将其设置为


In


;双击 模块进入模块属


性设置,


main


栏设 置编号,


编号会体现在子系统或引用模型上;


signal a ttributes


设置数据类型为定点数,


16b

< p>
字长


10b


小数部分


fi xdt(1,16,10)



其它模块设置方

< br>法类似。



?



view->model data



弹出


model data


窗口。


simulink


提供的


model data


窗口,


用于显示当前层 级下的所有输入输出、信号、


状态、


参数,

并将对应属性罗列成表


格,而且表格可编辑部分属性。



?



Kp


增益 模块,


双击模块,


输出数据类型设置为同输入,


参数数据类型设置为从


Gain


继承,


Gain


设置为


Kp




?




model data


窗口,


参数栏,


Kp


模块,


值变为


Kp



其后出现


create...


链接字样。


点击弹出


create


new


data

< br>窗口,值选择


ter


,位置选择


Base


Workspace


,创建,弹出

< br>ter:


Kp


属性窗口,设置值为

10


,数


据类型为定点数


fixd t(1,16,10)


,存储类型选择


ExportedGlo bal


,确定。



?



Ki


增益 模块,使用设置


Kp


的方法将


simu link


参数属性值设为


1




?



File->Model


properties


,弹出模型属性窗口,选择数据栏,将数据定义到数据


字典,


选择或新建一个数据字典文件,


应用。


建立在基本工作 区的数据迁移到数据


字典保存。


后面该模型新建参数等数据,< /p>


基本工作区的位置将被数据字典代替。



存在基本工作区的数据,关闭


MATLAB


不会自动保存,因此 一些模型也采用脚本


配置。


位置也可选择模型工作区,


但保存到模型工作区的参数,


有效的存储类型会


受到限制。



文案大全



实用标准



?



unit delay


单位延时,初始条件设为


0


,状态名称按实际意义设置。



?



Outport


,数据类型可选自动。




信号名称,


可到


model data


窗口统一设置,


该窗口中选中信号,


模 型区会用颜色标记


对应标记。没有设置名称的信号,按照内部规则生成代码。

< p>


模型相关设置,


simulink


还提供


model explorer


图形界面统一 管理。点击图标


打开。




5)



设置完成后,启用


Advisor


检查模型设置。选择检查项目,运行检查,修改不符


合的项目。



analysis -> model advisor


,针对模型,可选项目包括


MIS RA



ISO26262


等。选中


by task


,右侧点击


run selected checks




analysis -> data type design -> fixed point tool


,进入设置后,左侧选择项目,右


侧运行 检查。



code -> C/C++ code -> code generation advisor


,针对生成代码,可选项目有空


间效率、执行效率、可追踪性、安全预警、


MISRA C: 2012 guidelines


等。



检查项目可能会弹出一些警告,


是之前手动设置的,


这时选择 忽略。


比如内联参数有效


率,但想要用可调参数,就只能忽略检 查时的警告。



6)



点击图标


,编译模型生成代码。完成后可查看报告。




文案大全



实用标准





算法代码如下:




数据定义如下:



文案大全



实用标准





2.



Simulink


生成代码相关工具



在“


1


简单示例”一节,介绍了代码生 成的详细过程。其中一些常用的工具及菜单,现


罗列于表



1


中。





1.


常用工具及菜单



图标



名称



Library



工具栏图标



Browser


ModelConfig


模型配置参数,模型仿真、生成代码所依赖的



uration


Parameters





Mode Data


-Mode Data


可以在此处集中编辑。



View----


列表显示当前层级模型的信号、

< p>
参数、


状态等,


工具栏图标



全局规则。



基本模块库,搭建模型的基本元素所在库。



最方便的位置



功能



文案大全



实用标准



树状结构的模型管理器,包括数据、配置、子


Model



工具栏图标



Explorer


单独包含数据数据、配置等元素。



Model



工具栏图标



Advisor


Code



Generation


Advisor


Model


根据选 定项,针对代码生成设置,进行检查,


Advisor----




提供建议。用户根据建议修改自己的模型。



下拉





Fixed-Point



Tool


Design



-


可以根据建议修改自己的模型。



Analysis


建议。用户根据建议修改自己的模型。



根据选定项,针对模型设计,进行检查,提供


模块等。从树状结构可以看出,每一个模 型都


---- - data Type


针对定点数设计,进行检验,提供建议。用户


Fixed- Point Tool


根据配置,编译模型生成代码。图标下拉栏还



Build Model


工具栏图标



有:编译备选子系统,嵌入式代码快速向导。


快速向导按步骤生 成新配置,


并依次生成代码。




Run


工具栏图标



模型仿真运行。一般首先会用仿真验证模型。







文案大全


-


-


-


-


-


-


-


-



本文更新与2021-02-02 11:24,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/599326.html

从Matlab Simulink生成易读可重用代码的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文